/* Shared refinements approved after the architect/designer review. */:root{--selected:#676767}.header .desktop-nav a:hover,.header .nav-trigger[aria-expanded=true],.header .is-current,.header a[aria-current],.catalogue-shell .catalogue-sidebar a[aria-current],.catalogue-shell .catalogue-sidebar a:hover,.mega-primary button[aria-expanded=true],.mega .menu-link[data-preview-active=true],.mobile-menu .is-current{color:var(--selected)}.header .menu-toggle{min-width:44px;min-height:44px;justify-content:center;padding:10px}.selection-header{font-size:12px;white-space:nowrap;margin-left:14px}.selection-header span{display:inline-flex;align-items:center;justify-content:center;min-width:23px;min-height:23px;border:1px solid #aaa;border-radius:50%;margin-left:3px}.header .utility{gap:16px}.header .desktop-nav{gap:18px}.product-summary>p,.parquet-thickness-facts p{font-size:15px;line-height:1.65}.credit,.note,.parquet-picker p,.parquet-picker .note,.parquet-product-overview .credit,.finish-swatch span,.parquet-picker .finish-swatch span{font-size:12px;line-height:1.5}.collection-card>p:not(.eyebrow),.product-card>p:not(.eyebrow){font-size:14px;line-height:1.55}.catalogue-shell .catalogue-sidebar a{font-size:14px}.mega:not(:has([data-subnav][aria-expanded=true])){right:auto;width:min(420px,100vw);height:auto;min-height:0;max-height:calc(100dvh - var(--header));padding-bottom:24px}.mega:not(:has([data-subnav][aria-expanded=true])) .mega-content{display:block}.mega:not(:has([data-subnav][aria-expanded=true])) .mega-primary{border:0;padding-right:24px;min-height:0;overflow:visible}.mega:not(:has([data-subnav][aria-expanded=true])) .mega-secondary,.mega:not(:has([data-subnav][aria-expanded=true])) .mega-visuals{display:none}.mega:not(:has([data-subnav][aria-expanded=true])) .mega-all{margin-top:26px}.mega .mega-content{grid-template-columns:minmax(205px,22%) minmax(300px,1fr) minmax(300px,31%)}.selectable-card{min-width:0;display:flex;flex-direction:column;align-items:stretch}.selectable-card>.collection-card,.selectable-card>.product-card{flex:1;display:block}.material-facts{font-size:12px;line-height:1.45;margin:12px 0 0;border-top:1px solid #ddd}.material-facts>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid #e5e5e5}.material-facts dt{color:#666}.material-facts dd{margin:0;overflow-wrap:anywhere}.save-material{font:inherit;font-size:13px;text-align:left;background:transparent;border:0;border-bottom:1px solid #aaa;padding:12px 0;min-height:44px;cursor:pointer}.save-material[aria-pressed=true]{color:#555}.save-material:focus-visible{outline:2px solid #333;outline-offset:3px}.selection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:0 0 18px}.selection-actions a{font-size:13px}.selection-notice{position:fixed;bottom:20px;right:20px;z-index:70;background:#202020;color:white;padding:12px 18px;font-size:14px;max-width:min(410px,calc(100vw - 40px));box-shadow:0 4px 24px #0002}.selection-notice:empty{display:none}.selection-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:24px}.selection-toolbar p{flex:1 1 300px}.selection-empty{padding:24px 0}.project-tabs{display:flex;flex-wrap:wrap;gap:12px 30px;padding:8px 0 20px;border-bottom:1px solid #ddd}.project-tabs a{padding:8px 0}.project-tabs a[aria-current]{border-bottom:2px solid #222}.project-tabs span{font-size:12px;color:#666;margin-left:5px}.partner-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 30px;margin:28px 0 60px}.partner-project-grid article{min-width:0}.partner-project-grid img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.partner-project-grid h2{font-size:25px;margin:8px 0 12px}.partner-project-grid .eyebrow{margin-top:16px}.partner-project-grid p{font-size:15px;line-height:1.6}.partner-project-grid .credit,.project-source{font-size:12px;color:#626262}.project-material-links{display:flex;flex-wrap:wrap;gap:12px}.project-material-links a{font-size:14px}.showroom-address{font-size:20px;line-height:1.5;max-width:34ch}.contact-layout .eyebrow{margin-top:22px}.brief-form .form-grid input,.brief-form .form-grid select,.brief-form textarea{font-size:16px}.brief-form fieldset{padding:24px 0}.brief-form legend{font-size:19px}.brief-form label{font-size:14px}.brief-form .choices label{min-height:44px}.brief-form [data-enquiry-selection] h2{font-size:22px}.brief-form [data-enquiry-selection] li{padding:5px 0}.brief-form [data-enquiry-result]{display:flex;gap:18px;flex-wrap:wrap}.brief-form [data-enquiry-result][hidden]{display:none}.collections-jump{display:inline-block;padding:12px 0;margin-bottom:16px;font-size:14px;border-bottom:1px solid #777}.match-reason{font-size:13px;color:#555}.executive-showcase figcaption{margin-top:10px;font-size:14px;line-height:1.4}
@media(min-width:901px) and (max-width:1250px){.header .brand img{width:155px}.header .desktop-nav,.header .utility{gap:12px}.header .desktop-nav a,.header .nav-trigger,.header .utility a{font-size:12px}.selection-header{font-size:11px;margin-left:8px}.header{gap:12px}}
@media(max-width:900px){.selection-header{margin-left:auto;font-size:12px}.header .language-switch{margin-left:10px}.header .menu-toggle{margin-left:0}.selection-toolbar{align-items:flex-start}.material-facts>div{grid-template-columns:80px minmax(0,1fr)}}
@media(max-width:600px){.partner-project-grid{grid-template-columns:1fr;gap:34px}.selection-toolbar .button{font-size:13px}.selection-actions{gap:12px}.comparison-scroll th,.comparison-scroll td{padding:10px}.showroom-address{font-size:18px}.selection-header{font-size:0}.selection-header span{font-size:12px}.selection-header:before{content:'Solicită o ofertă';font-size:11px}.header .brand img{max-width:175px}.material-facts{font-size:12px}}
@media print{.header,.footer,.nav-shade,.mega,.mobile-menu,.selection-header,.selection-card-actions,.selection-toolbar .button,.selection-notice,.skip{display:none!important}.wrap{width:100%;margin:0;padding:0}.selection-card,.comparison-scroll tr{break-inside:avoid}.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.selection-card img{max-height:180px;object-fit:contain}.comparison-scroll{overflow:visible}.comparison-scroll table{min-width:0}.page-intro{padding:12px 0}.selection-card h2{font-size:15px}body{font-size:11px}}.search-destinations{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.parquet-overview .product-summary>p:not(.product-material){font-size:15px;line-height:1.6}.parquet-overview .credit,.parquet-project-example figcaption,.parquet-colour-picker>.note,.parquet-colour-picker .finish-swatch span{font-size:12px;line-height:1.5}.parquet-specifications p{font-size:14px;line-height:1.55}.parquet-specifications .parquet-spec-note{font-size:12px}.document-preview{margin-bottom:60px}.document-controls{display:flex;gap:20px;align-items:end;flex-wrap:wrap;margin:20px 0}.document-controls label{font-size:13px;display:grid;gap:8px}.document-controls input,.document-controls select{font:inherit;min-height:44px;padding:10px;border:1px solid #bbb;background:transparent;max-width:100px}.document-controls[aria-label]{justify-content:space-between}.document-controls a,.document-controls span{font-size:14px}.document-page{display:block;width:100%;max-width:1100px;height:auto;margin:auto;border:1px solid #ddd;background:white}
@media(min-width:360px) and (max-width:600px){.selection-header{font-size:11px}.selection-header:before{content:none}}
@media(max-width:480px){.collection-grid:has(.selectable-card),.product-grid:has(.selectable-card){grid-template-columns:1fr}.selectable-card .collection-image{aspect-ratio:16/10}.selectable-card .collection-image img{width:100%;height:100%;object-fit:cover}.selectable-card .material-facts>div{grid-template-columns:minmax(100px,32%) minmax(0,1fr)}.selectable-card .save-material{margin-top:10px}}
@media(max-width:359px){.header{gap:8px}.header .brand img{width:115px;max-width:115px}.header .language-switch{margin-left:0}.selection-header{margin-left:auto}}/* Novacolor project flow: project cards → gallery → applied materials. */.partner-projects,.partner-project-detail{max-width:1240px;margin-inline:auto;padding-top:24px;padding-bottom:48px}.partner-project-heading{margin:0 0 22px}.partner-project-heading h1,.project-detail-heading h1{margin:0 0 12px;}.partner-project-heading p,.project-detail-heading p{font-size:15px;color:#666;margin:0}.partner-project-grid{gap:32px 28px;margin:24px 0 32px}.partner-project-grid h2{font-size:22px;margin:7px 0}.partner-project-grid h2 span{float:right}.partner-project-grid .eyebrow{font-size:13px;margin:12px 0 0;text-transform:none}.partner-project-grid .project-card-materials{font-size:14px;color:#666;margin:0}.partner-project-grid .project-source{font-size:12px;margin:8px 0 0}.partner-project-card{display:block}.partner-project-card:hover h2{color:#676767}.partner-project-grid article{scroll-margin-top:80px}.project-detail-back{margin-bottom:22px;font-size:14px}.project-detail-heading{margin-bottom:24px}.partner-gallery-frame{position:relative;background:#f0f0ee;display:flex;align-items:center;justify-content:center;height:min(62vh,650px)}.partner-gallery-frame img{display:block;width:100%;height:100%;object-fit:contain}.partner-gallery-frame button{position:absolute;top:50%;transform:translateY(-50%);left:12px;width:44px;height:48px;border:0;background:rgba(255,255,255,.9);color:#222;font-size:34px;cursor:pointer}.partner-gallery-frame button[data-project-step="1"]{left:auto;right:12px}.partner-gallery-count{text-align:center;color:#666;font-size:13px;margin:10px 0 0}.partner-project-description{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;margin:26px 0}.partner-project-description p{font-size:15px;line-height:1.65}.partner-project-description .eyebrow,.partner-project-description .credit{font-size:12px;color:#666}.partner-project-description h2{font-size:21px;margin-top:0}.project-detail-material{display:block;padding:12px 0;border-bottom:1px solid #ddd;font-size:15px}.partner-project-description .text-link{font-size:14px}
@media(max-width:760px){.partner-project-description{grid-template-columns:1fr;gap:22px}.partner-gallery-frame{height:auto;aspect-ratio:4/3}.partner-projects,.partner-project-detail{padding-top:18px}.partner-project-grid{gap:28px}.project-tabs{gap:8px 20px}.partner-project-grid h2{font-size:21px}}
@media(max-width:480px){.catalogue-shell.zumtobel-catalogue .collection-grid:has(.selectable-card){grid-template-columns:1fr}.catalogue-shell.zumtobel-catalogue .collection-image img{object-fit:contain}}.paint-variant-links{display:grid;margin-top:16px}.paint-variant-links a{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:12px 0;border-top:1px solid #ddd;font-size:15px}.paint-variant-links a:hover{color:#676767}.paint-family-card .collection-image{overflow:hidden}/* Selection first; project navigation is secondary. */.catalogue-shell .project-sidebar{display:flex;flex-direction:column;gap:28px}.catalogue-shell .project-sidebar .catalogue-material-filters{order:-1;margin:0;padding:0 0 24px;border-top:0;border-bottom:1px solid #ddd}.catalogue-shell .project-sidebar .catalogue-material-filters>summary{font-size:13px;font-weight:600;letter-spacing:.06em;color:#666;margin-bottom:14px}.catalogue-shell .project-sidebar a{color:#777;font-weight:400}.catalogue-shell .project-sidebar .catalogue-material-filters a{font-size:16px;line-height:1.5;padding-block:10px}.catalogue-shell .project-sidebar a[aria-current="page"],.catalogue-shell .project-sidebar a[data-current-branch-link],.catalogue-shell .project-sidebar a:hover,.catalogue-shell .project-sidebar a:focus-visible{color:#171717}.catalogue-shell .project-sidebar a[aria-current="page"]{font-weight:600}.catalogue-shell .project-sidebar>details:not(.catalogue-material-filters)>summary{color:#777;font-size:13px;font-weight:500}.catalogue-shell .project-sidebar .catalogue-material-filters a[aria-current="page"] span{color:#171717}/* One continuous rail per sidebar list; current marker occupies that same rail. */.catalogue-shell .project-sidebar a{position:relative;margin-block:0;padding-left:14px;box-shadow:inset 1px 0 #dededb}.catalogue-shell .project-sidebar .catalogue-subcategories{border-left:0;padding-left:14px}.catalogue-shell .project-sidebar .catalogue-subcategories a{padding-left:14px}.catalogue-shell .project-sidebar a[aria-current="page"]{padding-left:14px;box-shadow:inset 2px 0 #171717}.catalogue-shell .project-sidebar a[aria-current="page"]::before{display:none}.catalogue-shell .project-sidebar .catalogue-material-filters{order:1}.catalogue-shell .project-sidebar .catalogue-material-filters[data-primary-choice]{order:-1}/* Stable primary navigation; all secondary choices live with catalogue content. */.catalogue-shell .project-sidebar .project-primary-label{font-size:14px;line-height:22px;color:#777;margin:0 0 18px}.catalogue-shell .project-sidebar .project-primary-list>a{display:flex;align-items:center;min-height:52px;padding:6px 14px;font-size:14px;line-height:20px}.catalogue-shell .project-sidebar .project-primary-list>a[aria-current]{font-weight:550}.project-catalogue-heading{min-height:114px}
@media(max-width:760px){.project-primary-list{display:flex;overflow-x:auto;gap:0;width:100%;padding-bottom:4px}.catalogue-shell .project-sidebar .project-primary-label{display:none}.catalogue-shell .project-sidebar .project-primary-list>a{flex:0 0 auto;min-height:44px;max-width:210px;padding:8px 14px;box-shadow:inset 0 -1px #dededb}.catalogue-shell .project-sidebar .project-primary-list>a[aria-current]{box-shadow:inset 0 -2px #171717}.project-catalogue-heading{min-height:0}}/* The same choice rows across projects and manufacturer catalogues. */.catalogue-shell .project-sidebar .project-primary-list>a{justify-content:space-between;gap:12px}.catalogue-shell .project-sidebar .project-primary-list>a>span{flex-shrink:0;font-size:12px}.catalogue-shell .project-sidebar .project-primary-list>.eyebrow{color:#777;font-size:12px;margin:18px 0 8px}
@media(max-width:760px){.catalogue-shell .project-sidebar{min-width:0;max-width:100%}.catalogue-shell .project-sidebar .project-primary-list>[data-project-branch]{display:flex!important}.project-primary-list>.eyebrow{display:none}
}/* Stable first paint: no cross-document overlays, slide or scroll animation. */html{scrollbar-gutter:stable;scroll-behavior:auto}/* Remove the old manufacturer-only divider/margins from choices moved into content. *//* Overview and catalogue routes share the same starting position. */.project-contextbar~.direction-overview.catalogue-shell{padding-top:26px}
@media(max-width:760px){.direction-overview .catalogue-results,.direction-overview .direction-introduction{display:block}.direction-overview .project-sidebar{grid-row:auto}
}
@media(max-width:760px){.project-contextbar{display:block;min-height:78px}.project-contextbar .project-back{display:block;margin-bottom:8px}.project-contextbar>div{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.catalogue-shell .catalogue-layout{gap:24px}.catalogue-shell .project-sidebar .project-primary-list>a{height:56px;min-height:56px}
}/* Partner references belong to the material/section, not a global portfolio. */.section-project-entry{display:inline-block;font-size:14px;margin-top:16px;padding:6px 0;border-bottom:1px solid #ccc;color:#555}.section-project-entry:hover{color:#171717;border-color:#171717}.section-partner-projects{padding-top:36px;padding-bottom:48px;border-top:1px solid #ddd;margin-top:40px;scroll-margin-top:80px}.section-partner-projects>header h2{margin:0 0 8px;}.section-partner-projects>header p{font-size:15px;color:#666;margin:0}.section-partner-projects .partner-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.section-partner-projects h3{margin:7px 0}.section-partner-projects .partner-project-grid img{aspect-ratio:3/2}
@media(max-width:760px){.section-partner-projects .partner-project-grid{grid-template-columns:1fr}.section-partner-projects{margin-top:28px;padding-top:24px}}/* Education uses the same square banner dimensions as the office overview. */.direction-introduction .education-showcase img,.direction-introduction .horeca-showcase img,.direction-introduction .hygiene-showcase img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}.hygiene-showcase figure:last-child img{object-position:right center}/* Shared overview order: introduction, photographs, then category selection. */.direction-introduction:has(>.executive-showcase,>.hotel-showcase) .direction-guidance{display:none}
@media(min-width:761px){.project-contextbar~.direction-overview.catalogue-shell:has(.executive-showcase,.hotel-showcase){height:calc(100svh - 116px);min-height:500px;padding-top:18px;padding-bottom:24px}.direction-overview:has(.executive-showcase,.hotel-showcase) .catalogue-layout,
 .direction-overview:has(.executive-showcase,.hotel-showcase) .catalogue-results{height:100%;min-height:0}.direction-introduction:has(>.executive-showcase,>.hotel-showcase){display:flex;flex-direction:column;height:100%;min-height:0}.direction-introduction:has(>.executive-showcase,>.hotel-showcase)>header{flex:0 0 150px;max-width:none;margin:0;min-height:0}.direction-introduction:has(>.executive-showcase,>.hotel-showcase) h1{margin:0 0 10px;}.direction-introduction:has(>.executive-showcase,>.hotel-showcase) .direction-description{margin:0}.direction-introduction:has(>.executive-showcase,>.hotel-showcase) .section-project-entry{margin-top:8px;padding:4px 0;font-size:13px}.direction-introduction>.executive-showcase,.direction-introduction>.hotel-showcase{flex:1;min-height:0;height:auto}.direction-introduction>.executive-showcase,.direction-introduction .hotel-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;height:100%;min-height:0}.direction-introduction .executive-showcase figure,.direction-introduction .hotel-triptych figure{height:100%;min-height:0}.direction-introduction .executive-showcase figure>a{display:block;min-height:0;height:100%}.direction-introduction .executive-showcase img,.direction-introduction .hotel-triptych img{width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:cover}
}
@media(min-width:761px) and (max-width:1100px){.direction-introduction:has(>.executive-showcase,>.hotel-showcase)>header{flex-basis:165px}
}
@media(max-width:760px){.direction-introduction .executive-showcase,.direction-introduction .hotel-triptych{display:grid;grid-template-columns:1fr;gap:12px}.direction-introduction .executive-showcase img,.direction-introduction .hotel-triptych img{width:100%;height:auto;max-height:none;aspect-ratio:1/1;object-fit:cover}
}/* Readable choice rows shared by every internal catalogue. */.catalogue-results>.project-catalogue-heading{min-height:0;max-width:none;margin:0 0 18px}.catalogue-results>.project-catalogue-heading h1{margin:0 0 10px}.catalogue-results>.project-catalogue-heading .lede{margin:0}.catalogue-results>.project-catalogue-heading .section-project-entry{margin-top:8px;padding:4px 0;font-size:13px}.flooring-catalogue .floor-search{margin-top:12px;margin-bottom:14px}.flooring-catalogue .floor-search-row label{font-size:12px;gap:4px}.flooring-catalogue .floor-search-row input,.flooring-catalogue .floor-search-row select{padding:8px 0;min-height:40px}.flooring-catalogue .floor-search-row .button{min-height:40px;padding:8px 18px}.flooring-catalogue .floor-technical{margin-top:8px;font-size:13px}

@media(max-width:760px){.catalogue-results>.project-catalogue-heading{margin-bottom:18px}
}/* In room selectors, span is the label and small is the count. *//* Open text choices: only the selected text becomes black. *//* Projects stay beside the title as a text link without a filled button. */main header:has(>.section-project-entry){position:relative}main header:has(>.section-project-entry)>h1{padding-right:140px}main header>.section-project-entry{position:absolute;right:0;top:0;display:inline-flex;align-items:center;gap:12px;min-height:44px;margin:0!important;padding:8px 0!important;border:0;background:transparent;color:#171717;font-size:16px!important;font-weight:400;line-height:24px;text-decoration:none}main header>.section-project-entry:hover{background:transparent;color:#171717;border:0}main header>.section-project-entry:focus-visible{outline:1px solid #777;outline-offset:3px}
@media(max-width:760px){main header:has(>.section-project-entry)>h1{padding-right:0}main header>.section-project-entry{position:static;margin-top:8px!important}
}
/* The project action uses the full content width, not the reading-width limit. */main header:has(>.section-project-entry){max-width:none;width:100%;box-sizing:border-box}

@media(min-width:761px){.project-contextbar~.direction-overview.catalogue-shell:has(.executive-showcase,.hotel-showcase){padding-top:26px}main header.wrap:has(>.section-project-entry){padding-top:26px}main header.wrap>.section-project-entry{right:var(--gutter);top:26px}
}

@media(max-width:760px){main header>.section-project-entry{display:flex;width:max-content;margin-left:auto!important}}

/* A compact basket for a single quotation, without product comparison. */
.selection-toolbar [hidden]{display:none}
.basket-list{border-top:1px solid #ddd}
.basket-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #ddd}
.basket-product{display:flex;align-items:center;gap:20px;min-width:0}
.basket-product img{width:96px;height:96px;object-fit:cover;flex:none}
.basket-product h2{font-size:18px;line-height:25px;margin:0 0 6px}
.basket-product p{font-size:14px;line-height:20px;margin:0;color:#666}
.basket-item>button{flex:none;font-size:14px;min-height:44px;background:transparent;border:0}
@media(max-width:480px){.basket-item{gap:12px;flex-wrap:wrap}.basket-product{gap:14px}.basket-product img{width:72px;height:72px}.basket-item>button{margin-left:86px;padding:0}}

/* Essential contact details, shared by the modal and direct-link fallback. */
.contact-open{overflow:hidden}
.contact-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1px solid #ddd;background:#fafafa;color:#171717;overflow:auto}
.contact-dialog::backdrop{background:rgba(0,0,0,.35)}
.contact-dialog h2,.contact-card h1{font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-.025em;margin:0 40px 26px 0}
.contact-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}
.contact-details{margin:0 0 14px;display:grid;gap:20px}
.contact-details dt{font-size:13px;color:#666;margin:0 0 6px}
.contact-details dd{font-size:18px;line-height:1.45;margin:0;overflow-wrap:anywhere}
.contact-phone>summary{display:flex;align-items:center;gap:12px;width:fit-content;min-height:44px;list-style:none;cursor:pointer}
.contact-phone>summary::-webkit-details-marker{display:none}
.contact-phone-chevron{flex:none}
.contact-phone[open] .contact-phone-chevron{transform:rotate(180deg)}
.contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 4px}
.contact-channels a{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #d0d0d0;font-size:14px;line-height:1.4}
.contact-channels svg{flex:none}
.contact-channels a:hover{background:#eee;border-color:#777}
.contact-dialog .text-link,.contact-card .text-link{font-size:14px}
.contact-dialog :focus-visible,.contact-card :focus-visible{outline:1px solid #777;outline-offset:4px}
.contact-page{min-height:calc(100svh - 56px);display:grid;place-items:center;padding:32px 16px}
.contact-card{width:min(100%,480px);padding:32px;border:1px solid #ddd}
@media(max-width:480px){.contact-dialog,.contact-card{padding:26px 24px}.contact-details dd{font-size:17px}}

/* Shared social links in Contacte and the site footer. */
.cv-social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.cv-social-links a{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:50%;background:#595959;color:#fff}
.cv-social-links svg{display:block}
.cv-social-links a:hover{background:#171717}
.cv-social-links a:focus-visible{outline:2px solid #171717;outline-offset:4px}
.footer .cv-social-links{margin-top:0}

/* Quotation: the complete desktop form shares one screen. */
main:has(.quote-form) .page-intro{padding-top:8px;padding-bottom:18px}
main:has(.quote-form) .page-intro h1{font-size:32px;margin-bottom:8px}
main:has(.quote-form) .page-intro .lede{font-size:15px;line-height:1.45}
.quote-shell{padding-top:20px;padding-bottom:20px;min-height:0}
.quote-form{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;row-gap:14px}
.quote-form>[data-enquiry-selection]{grid-column:1/-1}
.quote-form>[data-enquiry-selection]:empty{display:none}
.quote-form fieldset{min-width:0;padding:14px 0 0;margin:0}
.quote-form legend{font-size:17px;padding-right:16px}
.quote-form .form-grid{gap:8px 18px}
.quote-form label{font-size:13px;line-height:1.4}
.quote-form .form-grid input,.quote-form .form-grid select,.quote-form textarea{font-size:16px;min-height:42px;padding:9px 10px;margin:5px 0 8px}
.quote-form textarea{height:64px;min-height:64px;resize:vertical}
.quote-form .note{font-size:12px;line-height:1.4;margin:2px 0 10px}
.quote-form .choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 16px;margin-top:6px}
.quote-form .choices label{min-height:32px;display:flex;align-items:center;gap:8px}
.quote-form .choices input{flex:none}
.quote-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:8px 24px;align-items:center;border-top:1px solid #ddd;padding-top:14px}
.quote-actions .note{margin:0;max-width:68ch}
.quote-buttons{display:flex;gap:16px;align-items:center}
.quote-buttons .button{min-height:44px;padding:10px 20px;white-space:nowrap}
.quote-form [hidden]{display:none!important}
.quote-form [data-enquiry-status]:empty{display:none}
.quote-form [data-enquiry-status],.quote-form [data-enquiry-result]{grid-column:1/-1;margin:0;font-size:13px}
.quote-selection{font-size:13px}
.quote-selection summary{cursor:pointer;padding:4px 0}
.quote-selection ul{max-height:100px;overflow:auto;padding-left:20px;margin:6px 0}
.quote-form [data-enquiry-selection] li{padding:2px 0}
@media(max-width:760px){
 main:has(.quote-form) .project-contextbar{min-height:0;padding-top:10px;padding-bottom:10px}
 main:has(.quote-form) .project-contextbar .project-back{margin-bottom:4px}
 main:has(.quote-form) .page-intro{padding-top:6px;padding-bottom:12px}
 main:has(.quote-form) .page-intro h1{font-size:26px}
 main:has(.quote-form) .page-intro .lede{font-size:13px}
 .quote-shell{padding-top:14px;padding-bottom:16px}
 .quote-form{grid-template-columns:1fr;gap:10px}
 .quote-steps{font-size:14px;font-weight:500}
 .quote-form fieldset{padding:0;border:0}
 .quote-form legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .quote-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
 .quote-form .choices{gap:3px 10px}
 .quote-actions{grid-template-columns:1fr;padding-top:10px;gap:10px}
 .quote-buttons{justify-content:space-between}
 .quote-buttons>[data-quote-next]{margin-left:auto}
 .quote-form [data-enquiry-result]{gap:8px}
 .quote-form [data-enquiry-result] .button{min-height:40px;padding:8px 12px}
}

.quote-form.is-prepared>[data-quote-step],.quote-form.is-prepared>.quote-steps,.quote-form.is-prepared .quote-buttons,.quote-form.is-prepared .quote-storage-note{display:none!important}
.quote-form.is-prepared .quote-actions{border:0;padding-top:6px;gap:20px}
.quote-form.is-prepared [data-enquiry-status]{font-size:16px;max-width:70ch}

.quote-form input:not([type=radio]):not([type=checkbox]){min-height:42px;padding:9px 10px;margin:5px 0 8px}

body:has(.quote-form){overflow-anchor:none}

/* Sitewide checkbox: black mark, transparent control and choice row. */
input[type="checkbox"]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;vertical-align:middle;width:16px;height:16px;min-width:16px;padding:0;border:1px solid #999;border-radius:0;background:transparent;color:#000;cursor:pointer;flex-shrink:0}
input[type="checkbox"]::before{content:"";width:4px;height:8px;border:solid #000;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg);visibility:hidden}
input[type="checkbox"]:checked{border-color:#171717;background:transparent}
input[type="checkbox"]:checked::before{visibility:visible}
input[type="checkbox"]:focus-visible{outline:2px solid #171717;outline-offset:3px}
input[type="checkbox"]:disabled{opacity:.45;cursor:default}
.choices label:has(input:checked){background:transparent}
@media(forced-colors:active){input[type="checkbox"]{appearance:auto;-webkit-appearance:auto}input[type="checkbox"]::before{display:none}}

/* Quotation choices match the approved material selector reference. */
.quote-form .choices{gap:7px 16px}
.quote-form .choices label{min-height:44px;padding:10px 12px;gap:10px;border:0;border-radius:24px;background:#fff;color:#666;font-size:14px;line-height:20px}
.quote-form .choices label:has(input:checked){background:#fff;color:#171717}
.quote-form .choices input[type="checkbox"]{width:18px;height:18px;min-width:18px;margin:0;border:1px solid #8b8b8b;border-radius:5px;background:transparent}
.quote-form .choices input[type="checkbox"]:checked{background:#171717;border-color:#171717}
.quote-form .choices input[type="checkbox"]::before{border-color:#fff}
@media(max-width:760px){.quote-form .choices{gap:7px 10px}}
@media(forced-colors:active){.quote-form .choices input[type="checkbox"]{appearance:auto;-webkit-appearance:auto}.quote-form .choices input[type="checkbox"]::before{display:none}}

/* Prepared enquiry: editorial hierarchy and restrained text actions. */
.quote-form.is-prepared .quote-actions{display:block;padding-top:8px}
.quote-form .quote-confirmation[data-enquiry-result]{display:block;max-width:920px;margin:0}
.quote-confirmation-header{display:grid;grid-template-columns:180px minmax(0,1fr);gap:40px;align-items:end;padding-bottom:24px;border-bottom:1px solid var(--line)}
.quote-confirmation .quote-confirmation-label{font-size:12px;line-height:18px;color:#666;margin:0 0 10px}
.quote-confirmation h2{font-size:32px;font-weight:500;line-height:1.2;letter-spacing:-.025em;margin:0;outline:none}
.quote-confirmation dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:32px;margin:0}
.quote-confirmation dt{font-size:12px;line-height:18px;color:#666;margin:0 0 8px}
.quote-confirmation dd{font-size:18px;line-height:26px;color:#171717;margin:0;overflow-wrap:anywhere}
.quote-confirmation .quote-confirmation-note{font-size:15px;line-height:1.6;color:#666;max-width:65ch;margin:22px 0}
.quote-confirmation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 36px}
.quote-confirmation .quote-action{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid #bbb;border-radius:0;box-shadow:none;background:transparent;color:#666;font:inherit;font-size:15px;line-height:24px;text-decoration:none;cursor:pointer}
.quote-confirmation .quote-action-primary{color:#171717;border-bottom-color:#171717}
.quote-confirmation .quote-action:hover{color:#171717;border-bottom-color:#171717;background:transparent}
.quote-confirmation .quote-action:focus-visible{outline:1px solid #171717;outline-offset:5px}
.quote-form.is-prepared [data-enquiry-status]:not(:empty){font-size:13px;color:#666;margin-top:18px}
@media(max-width:760px){
 .quote-confirmation-header{grid-template-columns:1fr;gap:20px;padding-bottom:20px}
 .quote-confirmation dl{grid-template-columns:100px minmax(0,1fr);gap:20px}
 .quote-confirmation dd{font-size:16px;line-height:24px}
 .quote-confirmation h2{font-size:28px}
 .quote-confirmation .quote-confirmation-note{font-size:14px;margin:18px 0}
 .quote-confirmation-actions{column-gap:24px;row-gap:10px}
 .quote-confirmation .quote-action{font-size:14px}
}

/* Project basket prompts follow the site's quiet architectural typography. */

/* Basket requests already have a material selection: contact details only. */
.quote-form-basket>[data-enquiry-selection]{grid-column:auto}
.quote-form-basket>[data-quote-step="1"],.quote-form-basket>.quote-steps{display:none!important}
.quote-form-basket .form-grid label:has([name="name"]){grid-column:1/-1}
.quote-basket-summary h2{font-size:17px;line-height:24px;font-weight:500;margin:0 0 12px}
.quote-basket-summary ul{list-style:none;margin:0 0 12px;padding:0;max-height:220px;overflow:auto}
.quote-form .quote-basket-summary li{padding:8px 0;border-bottom:1px solid #ddd;font-size:14px;line-height:20px}
.quote-basket-summary li span{display:block;color:#666;font-size:12px}
.quote-basket-summary>a{font-size:14px}
.quote-form-basket.is-prepared>[data-enquiry-selection]{display:none}
@media(max-width:760px){.quote-basket-summary ul{max-height:100px}.quote-form-basket legend{position:static;width:auto;height:auto;clip-path:none;margin-bottom:12px}}

/* One quotation draft across all product families. */
.request-header{font-size:13px;margin-left:16px;font-weight:500}
.request-header span[hidden]{display:none}
.request-return{color:#171717;font-weight:500;max-width:100%;white-space:normal}
.quote-draft-form{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px 48px}
.quote-materials{min-width:0}
.quote-materials-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
.quote-materials-heading h2{font-size:17px;font-weight:500;line-height:24px;margin:0}
.quote-materials-heading .note{margin:0}
.quote-draft-form [data-request-items]{max-height:330px;overflow:auto;overscroll-behavior:contain;padding-right:6px}
.quote-material-row{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(120px,160px);gap:8px 16px;align-items:start;padding:12px 0;border-bottom:1px solid #ddd}
.quote-material-photo{display:block}
.quote-material-photo img{display:block;width:64px;height:74px;object-fit:cover}
.quote-material-description{min-width:0}
.quote-material-description h3{font-size:16px;line-height:22px;font-weight:500;margin:0}
.quote-material-description h3 a{color:#171717}
.quote-material-description p{font-size:12px;line-height:18px;color:#666;margin:4px 0 6px}
.quote-material-row select{width:100%;min-width:0;font:inherit;font-size:13px;background:transparent;border:1px solid #ddd;padding:7px 8px;min-height:36px;margin-top:4px}
.quote-quantity{display:grid;grid-template-columns:1fr;gap:4px}
.quote-draft-form .quote-quantity input{width:100%;min-width:0;font-size:14px;min-height:36px;padding:7px 8px;margin:4px 0 0}
.quote-remove{grid-column:2/-1;justify-self:end;border:0;background:none;padding:4px 0;color:#666;font:inherit;font-size:12px;cursor:pointer;min-height:32px}
.quote-remove:hover{color:#171717}
.quote-contact-fields legend{position:static;width:auto;height:auto;clip-path:none;font-weight:500}
.quote-contact-fields .quote-name,.quote-contact-fields .quote-callback{grid-column:1/-1}
.quote-draft-form .quote-contact-fields legend{margin-bottom:20px}
.quote-draft-form .quote-contact-fields .quote-name input{margin-top:10px}
.quote-contact-fields [data-request-help] textarea{display:block;width:100%}
.quote-empty p{font-size:16px;margin:8px 0}
.quote-empty nav{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:20px;font-size:14px}
.quote-empty nav a{border-bottom:1px solid #aaa;padding-bottom:6px}
[data-legacy-candidate]:not(:empty){border-top:1px solid #ddd;margin-top:16px;padding-top:12px;font-size:14px}
.quote-draft-form.is-prepared>.quote-materials,.quote-draft-form.is-prepared>.quote-contact-fields{display:none}
.quote-delivery-channels{display:grid;grid-template-columns:minmax(0,360px);gap:24px;margin-bottom:20px}
.quote-delivery-channels .quote-action{display:grid;grid-template-columns:1fr auto;align-content:start;gap:2px 8px}
.quote-delivery-channels small{grid-column:1/-1;font-size:11px;line-height:16px;color:#666;font-weight:400}
.quote-copy-fallback{margin-top:20px;font-size:13px}
.quote-copy-fallback summary{cursor:pointer;color:#666}
.quote-form .quote-copy-fallback textarea{width:100%;height:160px;margin-top:12px;font-size:13px}
@media(max-width:900px){.quote-draft-form{column-gap:24px}.quote-material-row{grid-template-columns:48px minmax(0,1fr)}.quote-material-photo img{width:48px;height:60px}.quote-quantity{grid-column:2;grid-template-columns:1fr 1fr}.quote-remove{grid-column:2}.header .request-header{margin-left:8px}}
@media(max-width:760px){.quote-draft-form{grid-template-columns:1fr;gap:20px}.quote-materials-heading .note{font-size:11px}.quote-draft-form [data-request-items]{max-height:210px}.quote-material-row{padding:8px 0}.quote-contact-fields legend{margin-bottom:10px}.quote-delivery-channels{grid-template-columns:minmax(0,1fr);gap:16px}.quote-draft-form .quote-actions{gap:12px}.quote-draft-form .quote-buttons .button{width:100%}}
@media(max-width:600px){.header .request-header{font-size:11px;margin-left:auto;white-space:nowrap}.header .request-header:before{content:none}.header .request-header span{font-size:10px;min-width:18px;min-height:18px;margin-left:2px}.header .brand img{max-width:130px}.header .language-switch{margin-left:6px}.header{column-gap:8px}.header .menu-toggle{min-width:32px;padding:6px}}
.quote-draft-form .quote-quantity{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.quote-draft-form .quote-material-row label{display:block;line-height:18px}
.quote-draft-form .quote-quantity label{text-align:right}
.quote-draft-form .quote-quantity :is(input,select){text-align:start}
.quote-draft-form .quote-materials-heading .note,.quote-draft-form .quote-remove{color:#171717;font-size:13px;line-height:18px}
.quote-form.quote-draft-form .quote-quantity :is(input,select){display:block;width:100%;min-width:0;height:42px;min-height:42px;box-sizing:border-box;font-size:14px;line-height:20px;padding:9px 10px;margin:4px 0 0}
@media(max-width:380px){.header .language-switch{display:none}.header .brand img{max-width:116px}.header .request-header{font-size:10px}.header .menu-toggle{min-width:28px;padding:4px}.header{column-gap:6px}.quote-materials-heading{gap:8px}.quote-materials-heading h2{font-size:16px}}

.product-offer-action{display:flex;align-items:center;margin:0 0 18px}
.product-offer-action .button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:34px;padding:7px 12px;background:#171717;color:#fff;border:1px solid #171717;font-size:12px;font-weight:500;line-height:18px;letter-spacing:0;white-space:nowrap}
.product-offer-action .button:hover{background:#333;color:#fff}.product-offer-action .button:focus-visible{outline:2px solid #171717;outline-offset:4px}
.nc-palette-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:start;margin-bottom:14px}
.nc-palette-identity>.eyebrow{display:none}.nc-palette-identity .nc-selection{margin-bottom:0}
.product-offer-tools{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:3px}
.product-offer-tools .product-offer-action{margin:0}.nc-support-actions{display:flex;flex-direction:column;align-items:flex-end;gap:0}
.nc-support-actions .text-link{min-height:28px;padding:4px 0;border:0;background:transparent;color:#666;font:inherit;font-size:11px;line-height:20px;text-align:right;white-space:nowrap}
.nc-support-actions .text-link:hover{color:#171717}.nc-support-actions [hidden]{display:none}
@media(max-width:1100px){.nc-palette-top{grid-template-columns:1fr}.product-offer-tools{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:8px 20px;padding-top:0}.nc-support-actions{align-items:flex-start}.nc-support-actions .text-link{text-align:left}}
@media(max-width:640px){.product-offer-action .button{min-height:36px;padding:8px 12px}.nc-palette-top{gap:10px;margin-bottom:12px}.nc-support-actions .text-link{min-height:30px}}

/* Shared return/breadcrumb bar: retain its original space and stay below the header. */
.project-contextbar{text-transform:uppercase}
@media screen{
 .project-contextbar{box-shadow:0 6px 12px -8px rgba(0,0,0,.22)}
 /* Composite the fixed bar independently of the scrolling content (including WebKit momentum scroll). */
 .project-contextbar.is-fixed{position:fixed;top:var(--header);left:0;right:0;width:100%;z-index:27;background:var(--paper);transform:translateZ(0);backface-visibility:hidden;transition:none;overflow-anchor:none}
 .project-contextbar-spacer{overflow-anchor:none}
 /* Keep the sticky header and fixed context bar aligned during macOS elastic overscroll. */
 html:has(.project-contextbar.is-fixed),body:has(.project-contextbar.is-fixed){overscroll-behavior-y:none}
 html:has(.project-contextbar.is-fixed){scroll-padding-top:calc(var(--header) + var(--contextbar-height,60px) + 16px)}
}
@media screen and (min-width:761px){
 main:has(>.project-contextbar.is-fixed) .catalogue-shell .catalogue-sidebar{top:calc(var(--header) + var(--contextbar-height,60px) + 24px);max-height:calc(100dvh - var(--header) - var(--contextbar-height,60px) - 48px)}
}
@media print{.project-contextbar-spacer{display:none}}

/* Shared material-to-request journey: visible receipt and an explicit way back. */
.quote-added-notice{grid-column:1/-1;margin:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:500}
.quote-material-row.is-just-added{border-left:2px solid var(--ink);padding-left:12px}
.quote-draft-form .quote-buttons{display:flex;align-items:center;justify-content:flex-end;gap:16px 24px;flex-wrap:wrap}
.quote-continue{font-size:13px;white-space:nowrap}
@media(max-width:760px){.quote-draft-form .quote-buttons{justify-content:space-between;width:100%}.quote-draft-form .quote-buttons .button{width:auto}.quote-added-notice{font-size:13px}}

/* The selected material, add action and next step stay together. */
.product-offer-action{flex-direction:column;align-items:flex-start;gap:8px}
.product-offer-action .product-offer-selection{margin:0;font-size:13px;line-height:20px;font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.product-offer-action .product-offer-note{margin:0;max-width:64ch;font-size:12px;line-height:18px;font-weight:400;color:#666}
@media(max-width:760px){
 main header.collection-intro>.product-offer-action>.product-offer-note{max-width:calc(100% - 110px)}
}

/* Selected material and a populated request share one visual accent. */
.product-offer-action.is-selection-ready [data-request-material]{background:#741f35;border-color:#741f35;color:#fff}
.product-offer-action.is-selection-ready .product-offer-selection{color:#741f35}
/* Original text entry and round badge; RAL 3003 Ruby Red; screen sample from the owner's Nortek reference. */
.header .request-header{color:#7f241f}
.header .request-header.has-materials [data-selection-count]{position:relative;background:#7f241f;border-color:#7f241f;color:#fff}
.header .request-header.has-materials [data-selection-count]::before,
.header .request-header.has-materials [data-selection-count]::after{content:"";position:absolute;inset:-1px;border:1px solid #7f241f;border-radius:50%;pointer-events:none;opacity:0;animation:request-count-wave 2.4s ease-out infinite}
.header .request-header.has-materials [data-selection-count]::after{animation-delay:1.2s}
@keyframes request-count-wave{0%{transform:scale(1);opacity:.45}75%,100%{transform:scale(1.85);opacity:0}}
@media(prefers-reduced-motion:reduce){.header .request-header.has-materials [data-selection-count]::before,.header .request-header.has-materials [data-selection-count]::after{animation:none;content:none}}

/* Make the return action distinct from the breadcrumb trail. */
.project-contextbar .project-back{font-weight:700}

/* Submission receipt: native modal focus/escape behavior, shared quotation typography. */
.quote-success-dialog{box-sizing:border-box;width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:52px 44px 40px;border:0;background:#fff;color:#242424;text-align:center;box-shadow:0 20px 70px #0003;overflow:auto}
.quote-success-dialog::backdrop{background:rgb(0 0 0 / .42)}
.quote-success-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;font:300 30px/1 Arial,sans-serif;cursor:pointer}
.quote-success-icon{display:block;width:96px;height:96px;margin:0 auto 24px;color:#72aa50}
.quote-success-dialog h2{font-size:clamp(28px,3vw,38px);line-height:1.2;font-weight:400;margin:0 0 16px}
.quote-success-dialog #quote-success-note{max-width:44ch;font-size:16px;line-height:26px;margin:0 auto 12px}
.quote-success-reference{font-size:13px;line-height:20px;color:#666;margin:0 0 30px}
.quote-success-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quote-success-actions .button{justify-content:center;box-sizing:border-box;min-height:48px;padding:12px 16px;font:inherit;font-size:15px;line-height:22px;white-space:normal;text-decoration:none;cursor:pointer}
.quote-success-actions .quote-success-continue{background:#242424;border:1px solid #242424;color:white}
/* Existing global body .button uses important; keep only this secondary action quiet. */
body .quote-success-dialog .quote-success-actions .quote-success-view{background:#f0efec!important;border:1px solid #d3d0ca!important;color:#242424!important}
.quote-success-dialog :focus-visible{outline:2px solid #242424;outline-offset:4px}
@media(max-width:600px){.quote-success-dialog{padding:48px 24px 28px}.quote-success-icon{width:76px;height:76px;margin-bottom:22px}.quote-success-actions{grid-template-columns:1fr;gap:10px}.quote-success-reference{margin-bottom:24px}}
