/* Shared mechanics, individual palettes and component selection defined per site. */
body.pg-site { --pg-space:clamp(56px,6.1vw,88px); --pg-radius:20px; --pg-shadow:0 24px 54px -24px color-mix(in srgb,var(--pg-deep) 30%,transparent),0 3px 10px color-mix(in srgb,var(--pg-deep) 5%,transparent); }
html:has(body.pg-site) { scroll-padding-top:100px; scroll-padding-bottom:112px; }
.pg-site .pg-section { padding-top:var(--pg-space) !important; padding-bottom:var(--pg-space) !important; }
.pg-site .pg-section:not(.pg-hero) h2 { line-height:1.22; text-wrap:balance; }
.pg-site .pg-section h1,.pg-site .pg-section h2,.pg-site .pg-section h3 { overflow-wrap:break-word; }
.pg-site a[href^='mailto:'],.pg-site .lrec-articles-blog-card h2 { overflow-wrap:anywhere; }
.pg-site .pg-section .s-title-group { margin-bottom:32px; }
/* A banner is a new row, never a sibling column that shrinks the content. */
.pg-site .pg-section:has(> .pg-ribbon) { display:block !important; }
.pg-site .pg-section > .pg-ribbon { box-sizing:border-box; flex:none; }
.pg-site .pg-card { border-radius:var(--pg-radius) !important; box-shadow:var(--pg-shadow); overflow:clip; transition:transform .24s ease,box-shadow .24s ease; }
.pg-site .s-grid-section-cell-content { height:100%; }
.pg-site .s-grid-section-cell-container { border-radius:var(--pg-radius); }
.pg-site .s-grid-section-cell-container.s-bg-light-text { background-color:var(--pg-deep) !important; }
.pg-site[data-premium-site='limbergerepeinturepro'] .s-feature-list-section.s-no-bg .s-title-group .s-subtitle { color:var(--pg-deep) !important; }
.pg-site .s-section.s-no-bg .s-title-group .s-subtitle { color:var(--pg-deep) !important; }
.pg-site .s-section.s-no-bg .s-title-group .s-subtitle :where(p,h1,h2,h3,h4,h5,h6,span,strong,em) { color:inherit !important; }
.pg-site[data-premium-site='limbergererecyclage'] .s-mhi.s-info-box { border-radius:var(--pg-radius); box-shadow:var(--pg-shadow); box-sizing:border-box; }
.pg-site .s-grid-section-cell { padding:12px !important; }
.pg-site .s-ecommerce-card-view-card { box-sizing:border-box !important; padding-bottom:20px; border:1px solid color-mix(in srgb,var(--pg-deep) 10%,transparent); }
.pg-site .s-ecommerce-card-view-card-description { padding:18px; }
.pg-site .s-accordion-item { margin-bottom:14px; border:1px solid color-mix(in srgb,var(--pg-deep) 12%,transparent); }
.pg-site .s-common-button,.pg-site .s-email-form-button { box-sizing:border-box !important; min-height:48px !important; padding:13px 22px !important; border-radius:12px !important; line-height:1.45 !important; box-shadow:0 6px 18px color-mix(in srgb,var(--pg-deep) 15%,transparent); max-width:100%; white-space:normal !important; }
.pg-site .s-common-button:hover { transform:translateY(-2px); box-shadow:0 12px 24px color-mix(in srgb,var(--pg-deep) 20%,transparent); }
.pg-site :where(a,button,input,textarea,select):focus-visible { outline:3px solid var(--pg-accent); outline-offset:4px; }
.pg-site .s-navbar-desktop { box-shadow:0 8px 24px color-mix(in srgb,var(--pg-deep) 8%,transparent); }
.pg-site .s-navbar-desktop .s-nav-logo-wrapper { padding-block:12px; }
.pg-site .s-navbar-desktop .s-nav-link-container > a { min-height:44px; display:inline-flex; align-items:center; }
.pg-site .s-navbar-desktop-normal .s-logo-image.image1 img { max-height:105px !important; object-fit:contain; }
.pg-site .pg-hero { padding-block:80px !important; }
body.pg-site #s-content .s-section.pg-section.pg-hero { padding-top:120px !important; padding-bottom:72px !important; }
.pg-site .pg-hero.s-bg-light-text { background-color:var(--pg-deep) !important; }
.pg-site .pg-hero .s-rva-media img { max-height:390px; width:auto !important; object-fit:contain; margin-inline:auto; filter:drop-shadow(0 16px 26px rgba(0,0,0,.12)); }
.pg-site .pg-hero .s-element-image img { max-height:320px; width:auto !important; object-fit:contain; margin-inline:auto; }
.pg-site .s-email-form { padding:28px; border-radius:var(--pg-radius); box-shadow:var(--pg-shadow); border:1px solid color-mix(in srgb,var(--pg-deep) 14%,transparent); }
.pg-site .s-email-form input:not([type=checkbox]):not([type=radio]),.pg-site .s-email-form textarea,.pg-site .s-email-form select { border-radius:9px !important; min-height:46px !important; font-size:16px !important; }
.pg-site .pg-ribbon { position:relative; display:flex; align-items:center; width:100%; padding:16px 0; margin-top:var(--pg-space); margin-bottom:calc(-1 * var(--pg-space)); background:var(--pg-soft); color:var(--pg-deep); border-block:1px solid color-mix(in srgb,var(--pg-accent) 17%,transparent); font:700 14px/1.4 system-ui,sans-serif; overflow:hidden; clear:both; }
.pg-ribbon-window { overflow:hidden; flex:1; min-width:0; mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }
.pg-ribbon-track { display:flex; width:max-content; animation:pg-marquee 44s linear infinite; }
.pg-ribbon-group { display:flex; flex-shrink:0; gap:40px; padding-right:40px; align-items:center; }
.pg-ribbon-item { display:flex; align-items:center; gap:40px; white-space:nowrap; }
.pg-ribbon-item::after { content:''; height:5px; width:5px; border-radius:50%; background:var(--pg-accent); }
.pg-ribbon-toggle { flex:0 0 44px; height:44px; margin:0 16px 0 12px; background:white; color:var(--pg-deep); border:1px solid color-mix(in srgb,var(--pg-accent) 25%,white); border-radius:50%; font:16px system-ui,sans-serif; cursor:pointer; }
.pg-motion-paused .pg-ribbon-track { animation-play-state:paused; }
.pg-mobilebar,.pg-drawer,.pg-scrim,.pg-added-actions { display:none; }
@keyframes pg-marquee { to { transform:translateX(-50%); } }
@media (hover:hover) and (pointer:fine) {
 .pg-site .pg-card:hover { transform:translateY(-4px); box-shadow:0 28px 54px -20px color-mix(in srgb,var(--pg-deep) 34%,transparent); }
 .pg-ribbon:hover .pg-ribbon-track { animation-play-state:paused; }
}
@media (max-width:900px) {
 body.pg-site { --pg-space:56px; }
 body.pg-site.pg-has-menu:not([data-premium-site='videmaison17']) { padding-top:88px !important; }
 .pg-site.pg-has-menu .lim17-native-header,.pg-site.pg-has-menu .crc-generated-site-header { display:none !important; }
 .pg-site.pg-has-menu .s-navbar-mobile-header,.pg-site.pg-has-menu .s-navbar-desktop,.pg-site.pg-has-menu .s-navbar-desktop-fixed,.pg-site.pg-has-menu .s-navbar-desktop-normal { display:none !important; }
 .pg-site .pg-mobilebar { display:flex; position:fixed; inset:0 0 auto; min-height:68px; height:68px; z-index:10020; align-items:center; justify-content:space-between; gap:16px; padding:10px 16px; background:rgba(255,255,255,.97); border-bottom:1px solid color-mix(in srgb,var(--pg-deep) 10%,transparent); box-shadow:0 6px 24px color-mix(in srgb,var(--pg-deep) 7%,transparent); backdrop-filter:blur(12px); box-sizing:border-box; }
 .pg-mobile-brand { display:flex; align-items:center; gap:10px; min-width:0; color:var(--pg-deep); font:700 14px system-ui,sans-serif; text-decoration:none; }
 .pg-mobile-brand img { width:auto !important; max-width:170px; height:44px !important; object-fit:contain; margin:0; }
 .pg-menu-toggle { display:grid; place-content:center; gap:5px; width:46px; height:46px; flex-shrink:0; background:var(--pg-soft); border:1px solid color-mix(in srgb,var(--pg-deep) 12%,transparent); border-radius:12px; cursor:pointer; padding:11px; }
 .pg-menu-toggle span { display:block; width:22px; height:2px; margin:0; background:var(--pg-deep); transition:transform .18s ease,opacity .18s ease; }
 .pg-menu-open .pg-menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
 .pg-menu-open .pg-menu-toggle span:nth-child(2) { opacity:0; }
 .pg-menu-open .pg-menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
 .pg-site .pg-drawer:not([hidden]) { display:block; position:fixed; inset:78px 12px auto; padding:16px; z-index:10030; max-height:calc(100dvh - 96px - env(safe-area-inset-bottom,0px)); overflow:auto; overscroll-behavior:contain; border-radius:20px; border:1px solid color-mix(in srgb,var(--pg-deep) 12%,white); background:#fff; box-shadow:0 24px 56px color-mix(in srgb,var(--pg-deep) 24%,transparent); color:var(--pg-deep); font:600 15px/1.5 system-ui,sans-serif; box-sizing:border-box; }
 .pg-drawer a,.pg-drawer summary { display:flex; align-items:center; min-height:46px; padding:11px 13px; margin-bottom:5px; border-radius:10px; color:var(--pg-deep); text-decoration:none; background:var(--pg-soft); box-sizing:border-box; overflow-wrap:anywhere; cursor:pointer; }
 .pg-drawer a:hover { text-decoration:none; filter:brightness(.97); }
 .pg-drawer summary { justify-content:space-between; }
 .pg-drawer summary::after { content:'+'; font-size:20px; }
 .pg-drawer details[open]>summary::after { content:'−'; }
 .pg-drawer summary::-webkit-details-marker { display:none; }
 .pg-drawer details>div { margin:4px 0 14px 10px; padding-left:9px; border-left:2px solid color-mix(in srgb,var(--pg-accent) 23%,white); }
 .pg-drawer details a { background:white; font-size:13px; }
 .pg-drawer .pg-menu-cta { background:var(--pg-deep); color:white; justify-content:center; }
 .pg-site.pg-menu-open { overflow:hidden; }
 .pg-menu-open .pg-scrim { display:block; position:fixed; inset:68px 0 0; background:color-mix(in srgb,var(--pg-deep) 36%,transparent); z-index:10010; }
 .pg-site .pg-hero { padding-top:32px !important; padding-bottom:48px !important; min-height:0 !important; }
 body.pg-site #s-content .s-section.pg-section.pg-hero { padding-top:32px !important; padding-bottom:48px !important; }
 body.pg-site #s-content .pg-hero img { max-width:min(220px,58vw) !important; max-height:190px !important; width:auto !important; height:auto !important; object-fit:contain; }
 .pg-site .pg-hero>.container { min-height:0 !important; }
 .pg-site .pg-hero .s-rva-media { margin-bottom:26px !important; }
 .pg-site .pg-hero .s-rva-media img { max-width:min(230px,62vw) !important; max-height:230px; height:auto !important; object-fit:contain; }
 .pg-site .pg-hero .s-element-image img { max-width:min(290px,74vw) !important; max-height:240px; }
 .pg-site .pg-hero h1 { font-size:clamp(30px,7.2vw,40px) !important; line-height:1.18 !important; }
 .pg-site .pg-hero h1 :where(span,strong,em) { font-size:inherit !important; line-height:inherit !important; }
 body.pg-site #s-content .pg-section.pg-hero h1 { font-size:clamp(30px,7.2vw,40px) !important; line-height:1.18 !important; }
 body.pg-site #s-content .pg-section.pg-hero h1 :where(span,strong,em) { font-size:inherit !important; line-height:inherit !important; }
 .pg-site .pg-section:not(.pg-hero) h2 { font-size:clamp(26px,6.3vw,34px) !important; line-height:1.23 !important; }
 .pg-site .pg-section:not(.pg-hero) h2 :where(span,strong,em) { font-size:inherit !important; line-height:inherit !important; }
 .pg-site .pg-section .s-font-body { line-height:1.65; }
 .pg-site .s-grid-section-cell { padding:10px !important; }
 .pg-site .s-common-button,.pg-site .s-email-form-button { min-height:48px !important; font-size:14px !important; }
 .pg-site #s-new-mobile-actions-wrapper,.pg-site .pg-added-actions { position:fixed !important; inset:auto 12px calc(12px + env(safe-area-inset-bottom,0px)) !important; width:min(480px,calc(100% - 24px)) !important; margin:0 auto !important; padding:7px !important; border:1px solid color-mix(in srgb,var(--pg-deep) 17%,white) !important; border-radius:24px !important; background:rgba(255,255,255,.97) !important; box-shadow:0 12px 36px color-mix(in srgb,var(--pg-deep) 22%,transparent) !important; z-index:10000 !important; height:auto !important; box-sizing:border-box; backdrop-filter:blur(12px); }
 .pg-site #s-new-mobile-actions-wrapper .s-mobile-actions,.pg-site .pg-added-actions { display:flex !important; gap:5px; align-items:stretch; }
 .pg-site #s-new-mobile-actions-wrapper .s-mobile-actions::after { display:none; }
 .pg-site .s-mobile-actions-item,.pg-site .pg-added-actions>a { width:auto !important; flex:1; display:flex !important; flex-direction:column; align-items:center; justify-content:center; min-height:54px; border-radius:17px; text-decoration:none; padding:6px 2px !important; margin:0 !important; color:var(--pg-deep); font:700 11px/1.35 system-ui,sans-serif; gap:4px; box-sizing:border-box; }
 .pg-site .s-mobile-actions-item[href^='tel:'],.pg-site .pg-added-actions>a[href^='tel:'],.pg-site[data-premium-site='zimmer-tex'] .s-mobile-actions-item:nth-child(2) { background:var(--pg-deep); color:white; }
 .pg-site .s-mobile-actions-item-icon { height:18px; line-height:18px; }
 .pg-site .s-mobile-actions-item-icon i { display:none; }
 .pg-site .s-mobile-actions-item-icon svg,.pg-site .pg-added-actions svg { width:18px; height:18px; }
 .pg-site .s-mobile-actions-item-text { color:inherit; font:inherit; }
 .pg-site .s-footer-section,.pg-site .site-footer,.pg-site .lim17-site-footer,.pg-site .crc-generated-site-footer { padding-bottom:calc(124px + env(safe-area-inset-bottom,0px)) !important; }
 .pg-site footer { padding-bottom:calc(124px + env(safe-area-inset-bottom,0px)) !important; }
 body.pg-site #crcpro-consent-reopen { bottom:calc(96px + env(safe-area-inset-bottom,0px)) !important; }
 .pg-site.pg-menu-open #crcpro-consent-reopen { visibility:hidden; }
 .pg-site.pg-menu-open #s-new-mobile-actions-wrapper,.pg-site.pg-consent-open #s-new-mobile-actions-wrapper,.pg-site.pg-keyboard-open #s-new-mobile-actions-wrapper,.pg-site.pg-menu-open .pg-added-actions,.pg-site.pg-consent-open .pg-added-actions,.pg-site.pg-keyboard-open .pg-added-actions { visibility:hidden; pointer-events:none; }
 .pg-site .pg-ribbon { font-size:13px; padding-block:12px; }
 .pg-site .s-email-form { padding:20px; }
 body.pg-site [class*='contact-heading'] h2 { font-size:clamp(28px,6.5vw,36px) !important; line-height:1.2 !important; }
 body.pg-site #s-content .s-blog-title h1 { font-size:clamp(30px,7.2vw,38px) !important; line-height:1.2 !important; text-wrap:balance; }
 body.pg-site #s-content .s-blog-title h1 :where(p,span,strong,em,.s-rich-text-wrapper) { font-size:inherit !important; line-height:inherit !important; }
}
/* 15 October: full-width contact flow and balanced mobile branding. */
@media(max-width:900px) {
 .pg-site .pg-mobilebar { height:88px; min-height:88px; display:grid; grid-template-columns:46px minmax(0,1fr) 46px; gap:8px; padding:10px 12px; }
 .pg-mobilebar::before { content:''; width:46px; }
 .pg-site .pg-mobile-brand { justify-self:center; justify-content:center; max-width:100%; }
 .pg-site .pg-mobile-brand img { height:64px !important; max-width:min(208px,calc(100vw - 132px)); }
 .pg-site .pg-drawer:not([hidden]) { top:98px; max-height:calc(100dvh - 116px - env(safe-area-inset-bottom,0px)); }
 .pg-site .pg-scrim { top:88px; }
 .pg-site .s-contact-section { display:block !important; }
 .pg-site .s-contact-section > .container,.pg-site .s-contact-section > .avs-contact-wrap { box-sizing:border-box; width:calc(100% - 32px) !important; max-width:720px; margin-inline:auto !important; padding-inline:0 !important; }
 .pg-site .s-contact-section > .avs-contact-wrap { margin-top:28px !important; }
 .pg-site .avs-contact-form { width:100%; min-width:0; box-sizing:border-box; }
 .pg-site .avs-contact-grid { grid-template-columns:minmax(0,1fr); }
 .pg-site .avs-field input[type=file] { width:100%; min-width:0; font-size:12px; padding:10px 6px; }
 .pg-site .avs-contact-form button[type=submit] { width:100%; white-space:normal; line-height:1.4; padding:14px 18px; height:auto; }
 body.pg-site #s-content .pg-hero .s-rva-media,body.pg-site #s-content .pg-hero .s-element-image { text-align:center !important; }
 body.pg-site #s-content .pg-hero img { display:block; margin-inline:auto !important; }
 .pg-site .s-store-section .s-title-group { margin-bottom:28px !important; }
 .pg-site .s-store-section .s-ecommerce:empty,.pg-site .s-store-section .s-ecommerce-content:empty { margin:0 !important; min-height:0 !important; }
}
body.pg-site.cookie_policy .body { box-sizing:border-box; width:100%; overflow-wrap:anywhere; }
.pg-site .legal-nav,.pg-site .legal-links { flex-wrap:wrap; }
.pg-site .legal-card { overflow-wrap:anywhere; }
@media(max-width:640px) {
 body.pg-site.cookie_policy .body { padding:32px 20px !important; }
 .pg-site .s-blog-post-body,.pg-site .s-blog-post-content { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
 html:has(body.pg-site) { scroll-behavior:auto !important; }
 .pg-site .pg-ribbon-track { animation:none; }
 .pg-site .pg-ribbon-group+.pg-ribbon-group { display:none; }
 .pg-site .pg-ribbon-window { overflow-x:auto; mask-image:none; padding-inline:20px; }
 .pg-site .pg-ribbon-toggle { display:none; }
 .pg-site .pg-card,.pg-site .s-common-button,.pg-site .pg-menu-toggle span { transition:none; }
 .pg-site .pg-card:hover,.pg-site .s-common-button:hover { transform:none; }
}

body:has(#crcpro-consent-layer) .s-cookie-notification-bar { display:none !important; }

@media(max-width:900px){body.pg-site #s-content .pg-hero .pg-logo-wrapper{margin-inline:auto!important;text-align:center!important;float:none!important;max-width:100%!important;width:100%!important;box-sizing:border-box}body.pg-site #s-content .pg-hero .s-ratio-box{height:auto!important;padding-bottom:0!important}body.pg-site #s-content .pg-hero .s-ratio-box img{position:relative!important;inset:auto!important}}

body.pg-site[data-premium-site="videmaison17"]{--pg-accent:#8b552f;--pg-deep:#382a24;--pg-soft:#f7f1e7;--pg-radius:20px;}
body.pg-site { --wrap:min(1160px,calc(100% - 64px)); }
.pg-site .nav { min-height:76px; }
.pg-site .nav-links a { min-height:44px; }
.pg-site h1 { font-size:clamp(3rem,5.8vw,5.4rem); line-height:1.02; letter-spacing:-.035em; text-wrap:balance; }
.pg-site h2 { line-height:1.14; text-wrap:balance; }
.pg-site .hero.pg-hero { padding:0 0 60px !important; }
.pg-site .hero-inner { min-height:0; padding:72px 0; gap:64px; }
.pg-site .hero-logo { width:136px; border-radius:16px; }
.pg-site .hero-photo,.pg-site .hero-badge,.pg-site .split>img { border-radius:20px; box-shadow:var(--pg-shadow); }
.pg-site .hero-photo.secondary { border-width:6px; }
.pg-site .trust-row { margin-top:0; gap:22px; }
.pg-site .stat,.pg-site .service-pill { padding:26px; border:1px solid rgba(70,49,32,.12); }
.pg-site .grid { gap:26px; }
.pg-site .card { border:1px solid rgba(70,49,32,.1); }
.pg-site .card-body { padding:28px; display:flex; flex-direction:column; align-items:flex-start; flex:1; }
.pg-site .card-body>.button { margin-top:auto; }
.pg-site .service-strip { gap:20px; }
.pg-site .button { border-radius:12px; min-height:48px; }
.pg-site .section-heading { margin-bottom:36px; }
.pg-site .reveal,.pg-site .reveal.is-visible { opacity:1; transform:none; transition:none; }
.pg-site .page-hero.pg-hero { padding-block:72px !important; }
.pg-site .page-hero .section-inner { padding-block:0; }
.pg-site input:not([type=checkbox]):not([type=radio]),.pg-site select,.pg-site textarea { border-radius:10px; min-height:48px; font-size:16px; }
@media(max-width:900px) {
 body.pg-site { --wrap:min(640px,calc(100% - 40px)); }
 .pg-site.pg-has-menu>.site-header { display:none; }
 .pg-site main { padding-top:88px; }
 .pg-site .hero.pg-hero { padding:0 0 48px !important; }
 .pg-site .hero-inner { padding:36px 0; gap:36px; }
 .pg-site .hero h1 { font-size:clamp(34px,9vw,44px) !important; line-height:1.08 !important; }
 .pg-site .hero-logo { width:160px; margin:0 auto 22px; }
 .pg-site .hero-kicker { font-size:11px; letter-spacing:.08em; }
 .pg-site .hero-actions { gap:10px; margin-top:24px; }
 .pg-site .hero-visual { min-height:330px; }
 .pg-site .trust-row { gap:16px; }
 .pg-site .stat { min-height:0; padding:22px; }
 .pg-site .card-body { padding:24px; }
 .pg-site .grid { gap:24px; }
 .pg-site .page-hero.pg-hero { padding-block:48px !important; }
 .pg-site .pg-mobile-brand img { border-radius:9px; }
}

@media(max-width:900px){.pg-site .pg-mobile-brand span{display:none}.pg-site .pg-mobile-brand img{width:auto;max-width:100%}}
