/*
Theme Name: Perde
Description: A portable multilingual curtain catalogue and enquiry theme
Version: 1.2.0
Requires PHP: 8.0
Text Domain: perde
*/
@font-face{font-family:Inter;src:url('assets/inter.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter-bold.woff2') format('woff2');font-style:normal;font-weight:600 900;font-display:swap}
:root{--ground:#f8f7f4;--surface:#fff;--ink:#141619;--muted:#4a4e55;--forest:#1e4d3b;--action:#095e59;--action-hover:#0c706a;--soft:#e9eeea;--error:#a32727;--line:#b8c2bc;--radius:14px;--space:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.6 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--forest);color:var(--surface)}a{color:var(--forest);text-underline-offset:.22em;text-decoration-thickness:1.5px}a:hover{color:var(--action-hover)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4{margin:0 0 20px;line-height:1.16;letter-spacing:-.035em;font-weight:750;text-wrap:balance}h1{font-size:clamp(2rem,5.2vw,3.4rem);font-weight:800;line-height:1.08;max-width:24ch}h2{font-size:clamp(1.5rem,3.2vw,2.25rem);max-width:30ch}h3{font-size:1.25rem;letter-spacing:-.02em}p{margin:0 0 22px;max-width:70ch}ol,ul{padding-left:1.3em}li{margin-bottom:8px}.container{max-width:1232px;margin:0 auto;padding-inline:16px}.section{padding-block:96px}.section.compact{padding-block:32px 64px}.lead{font-size:clamp(1.05rem,1.7vw,1.18rem);line-height:1.65;max-width:60ch}.muted{color:var(--muted)}.button,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:var(--action);color:var(--surface);border:0;border-radius:var(--radius);font-weight:700;text-decoration:none;text-align:center;line-height:1.4;transition:background .2s ease,transform .2s ease;cursor:pointer}.button:hover,button[type=submit]:hover{background:var(--action-hover);color:var(--surface);transform:translateY(-2px)}.button:active,button[type=submit]:active{transform:translateY(0)}.button.secondary{background:var(--soft);color:var(--forest)}.button:disabled,button:disabled{opacity:.55;cursor:wait;transform:none}.text-link{font-weight:650}.actions{display:flex;align-items:center;gap:18px 28px;flex-wrap:wrap;margin-block:28px}.actions a:not(.button){min-height:44px;display:inline-flex;align-items:center}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--action);outline-offset:4px}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--ink);color:var(--surface);padding:16px}.skip-link:focus{top:8px}.site-header{background:var(--ground);position:sticky;top:0;z-index:30}.header-inner{min-height:76px;display:flex;align-items:center;gap:22px}.wordmark{font-size:28px;font-weight:800;letter-spacing:-.04em;text-decoration:none;color:var(--ink);white-space:nowrap}.wordmark span{color:var(--forest)}.main-navigation{display:flex;gap:22px;align-items:center;margin-left:auto}.main-navigation>a,.catalog-menu>summary{color:var(--ink);font-size:15px;font-weight:550;text-decoration:none;min-height:44px;display:flex;align-items:center}.catalog-menu>summary{cursor:pointer;list-style:none}.catalog-menu>summary::-webkit-details-marker{display:none}.catalog-menu>summary:after{content:'+';margin-left:8px;font-size:18px;font-weight:400}.catalog-menu[open]>summary:after{content:'−'}.catalog-dropdown{position:absolute;top:70px;left:max(16px,calc((100vw - 1200px)/2));right:max(16px,calc((100vw - 1200px)/2));background:var(--surface);border-radius:var(--radius);box-shadow:0 18px 40px #14161924;padding:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px 26px}.catalog-dropdown a{padding:10px 0;text-decoration:none;font-weight:600}.language-switch{display:flex;gap:4px;align-items:center}.language-switch a{padding:10px 7px;text-decoration:none;min-height:44px;font-size:13px;color:var(--muted);font-weight:600}.language-switch a[aria-current=page]{color:var(--forest);text-decoration:underline;text-decoration-thickness:2px}.header-request{font-size:14px;padding:10px 16px;min-height:44px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:72px;padding-top:54px;padding-bottom:64px;align-items:start}.hero-copy>.lead{color:var(--muted)}.hero-image{margin:36px 0 0;overflow:hidden}.hero-image img{width:100%;height:300px;object-fit:cover;object-position:center 50%;border-radius:var(--radius);animation:curtain-settle 1.1s cubic-bezier(.16,1,.3,1) both}.hero-image figcaption{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px}.hero-image figcaption a{color:inherit}.hero-calculator{background:var(--surface);border-radius:22px;padding:30px}.hero-calculator h2{font-size:1.45rem;margin-bottom:20px;letter-spacing:-.025em}.section-title{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-bottom:32px}.section-title>p{color:var(--muted);padding-top:4px}.catalog-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:end;margin-bottom:28px}.catalog-filter .field{margin:0}.result-count{font-size:14px;white-space:nowrap;padding-bottom:12px;margin:0;color:var(--muted);font-variant-numeric:tabular-nums}.catalog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px}.catalog-item{padding-block:26px 30px;min-width:0}.catalog-item h3{margin-bottom:12px}.catalog-item h3 a{color:var(--ink);text-decoration:none}.catalog-item h3 a:hover{color:var(--action)}.catalog-item p{font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:14px}.catalog-item .text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.empty-state{background:var(--soft);padding:24px;border-radius:var(--radius)}[hidden]{display:none!important}.service-band{background:var(--soft);padding-block:72px}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.service-links{display:flex;flex-direction:column;gap:10px}.service-links a{min-height:44px;padding:10px 0;font-size:18px;font-weight:650;text-decoration:none}.editorial{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:88px;align-items:start}.article-content{min-width:0;max-width:74ch}.article-content h2{font-size:clamp(1.45rem,2.6vw,1.9rem);margin-top:48px;margin-bottom:18px}.article-content h2:first-child{margin-top:0}.article-content h3{margin-top:32px}.article-content p,.article-content li{color:var(--muted)}.article-content strong{color:var(--ink)}.article-content table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.article-content th,.article-content td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.reading-aside{background:var(--soft);padding:28px;border-radius:var(--radius);position:sticky;top:112px;display:flex;flex-direction:column;gap:14px}.reading-aside h2{font-size:1.3rem;letter-spacing:-.02em;margin-bottom:8px}.reading-aside a{min-height:44px;display:flex;align-items:center;font-size:15px}.breadcrumbs{padding-top:24px;color:var(--muted);font-size:13px}.breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:0;padding:0}.breadcrumbs li{margin:0;display:flex;align-items:center;gap:12px}.breadcrumbs li+li:before{content:'/';color:var(--muted)}.breadcrumbs a{color:var(--muted);min-height:36px;display:inline-flex;align-items:center}.breadcrumbs [aria-current=page]{max-width:55ch}.page-heading{padding-block:44px 38px}.page-heading h1{max-width:28ch}.page-heading .lead{color:var(--muted);max-width:66ch}.crosslink{padding:40px;margin-block:20px 72px;background:var(--soft);border-radius:var(--radius)}.crosslink h2{font-size:1.6rem;max-width:45ch}.crosslink p{color:var(--muted)}.crosslink .actions{margin-bottom:0}.request-section{background:var(--surface);padding-block:80px;scroll-margin-top:75px}.request-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.request-grid>div:first-child{max-width:42ch}.request-grid>div:first-child p{color:var(--muted)}.perde-form,.perde-calculator{width:100%;min-width:0}.perde-form label,.perde-calculator label,.field label{display:block;font-size:14px;font-weight:650;margin-bottom:7px;line-height:1.5}.field{margin-bottom:18px}.perde-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.perde-form select,.perde-form textarea,.perde-calculator input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.perde-calculator select,.field input,.field select{width:100%;min-height:48px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:11px 12px;line-height:1.4;caret-color:var(--action);max-width:100%}.perde-form textarea{min-height:114px;resize:vertical}.perde-form input[type=checkbox],.perde-form input[type=radio]{width:18px;height:18px;accent-color:var(--action);vertical-align:middle;margin:4px 8px 4px 0;flex:none}.perde-form label:has(input[type=checkbox]){font-size:13px;font-weight:450;display:flex;align-items:flex-start;gap:4px;line-height:1.6;margin:18px 0}.perde-form small,.perde-calculator small,.field small,.perde-form .description,.perde-calculator .description{font-size:12px;color:var(--muted);line-height:1.6;display:block;margin-top:7px}.perde-form fieldset,.perde-calculator fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}.perde-form legend,.perde-calculator legend{font-weight:700;margin-bottom:14px}.perde-form .form-grid,.perde-form .perde-grid,.perde-calculator .form-grid,.perde-calculator .perde-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.perde-form .wide,.perde-form .full{grid-column:1/-1}.notice,.perde-notice{background:var(--soft);padding:18px;border-radius:10px;margin:20px 0;line-height:1.6}.notice.error,.perde-error-summary{background:#fff1ed;color:var(--error)}.field-error,.perde-error{color:var(--error)!important;font-size:13px;line-height:1.5;margin-top:7px}.perde-form [aria-invalid=true]{border-color:var(--error)!important}.perde-calculator output,.perde-calculator .calc-result,.perde-calculator .perde-result{display:block;font-size:1.1rem;background:var(--soft);padding:18px;border-radius:10px;margin:20px 0;font-weight:650;font-variant-numeric:tabular-nums}.perde-calculator p{font-size:14px;line-height:1.6}.perde-calculator button{width:100%}.perde-form button[type=submit]{min-width:200px}.site-footer{background:var(--ground);padding-top:64px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px;padding-bottom:40px}.footer-grid>div>p{color:var(--muted);font-size:14px;margin-top:18px;max-width:30ch}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer-grid h2{font-size:16px;letter-spacing:0;margin-bottom:12px}.footer-grid nav a{font-size:14px;min-height:36px;display:inline-flex;align-items:center;text-decoration:none}.footer-close{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:24px;font-size:12px;color:var(--muted)}.footer-close p{margin:0}.footer-close a{color:var(--muted)}.mobile-actions{display:none}@keyframes curtain-settle{from{clip-path:inset(0 0 0 7%);transform:scale(1.02)}to{clip-path:inset(0);transform:scale(1)}}
@media(min-width:1600px){.container{max-width:1332px}.hero{gap:92px}.hero-image img{height:340px}}
@media(max-width:1100px){.header-inner{gap:14px}.main-navigation{gap:15px}.header-request{display:none}.hero{gap:36px}.request-grid,.editorial{gap:48px}.split{gap:48px}.catalog-dropdown{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.header-inner{min-height:68px;flex-wrap:wrap;gap:12px}.wordmark{font-size:25px}.menu-toggle{display:inline-flex;min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:var(--soft);color:var(--forest);font-weight:650;margin-left:auto}.main-navigation{width:100%;order:5;display:flex;flex-wrap:wrap;gap:8px 22px;margin:0;padding-bottom:16px}.js .main-navigation:not(.is-open){display:none}.catalog-menu{position:static}.catalog-dropdown{position:static;box-shadow:none;padding:8px 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;background:transparent}.catalog-menu[open]{width:100%}.catalog-dropdown a{font-size:14px;min-height:44px}.language-switch{gap:0}.language-switch a{padding:10px 6px}.hero{padding-top:30px;gap:30px;grid-template-columns:1.05fr 1fr}.hero-calculator{padding:22px}.hero-image img{height:230px}.hero .actions{display:block}.hero .actions .text-link{margin-top:12px}.hero .button{padding-inline:16px;font-size:14px}.section{padding-block:64px}.section-title{gap:26px}.catalog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.catalog-filter{grid-template-columns:1fr 1fr}.result-count{grid-column:1/-1;padding:0}.split,.request-grid{gap:36px}.editorial{grid-template-columns:minmax(0,1.7fr) minmax(180px,1fr);gap:30px}.reading-aside{padding:22px}.footer-grid{gap:32px}.crosslink{padding:28px;margin-inline:16px}.request-section{padding-block:64px}}
@media(max-width:600px){body{font-size:16px}.container{padding-inline:20px}h1{font-size:2.3rem;max-width:19ch}h2{font-size:1.65rem;letter-spacing:-.025em}.header-inner{gap:8px;padding-inline:16px}.language-switch a{font-size:12px;padding-inline:5px}.hero{grid-template-columns:1fr;gap:32px;padding-top:30px;padding-bottom:36px}.hero h1{font-size:2.5rem}.hero .lead{font-size:1.05rem}.hero .actions{display:flex;gap:10px 20px;margin-block:24px}.hero .actions .text-link{margin:0}.hero .button{font-size:14px}.hero-image{margin-top:26px}.hero-image img{height:240px;border-radius:10px}.hero-image figcaption{font-size:11px}.hero-calculator{padding:24px 20px;border-radius:16px}.section{padding-block:54px}.section-title{display:block;margin-bottom:24px}.section-title>p{padding:0}.catalog-filter{grid-template-columns:1fr;gap:16px}.catalog-list{grid-template-columns:1fr;gap:0}.catalog-item{padding-block:20px 24px;background:var(--surface);padding-inline:20px;margin-bottom:12px;border-radius:12px}.catalog-item h3{font-size:1.2rem}.catalog-item p{font-size:14px}.service-band{padding-block:48px}.split,.editorial,.request-grid{grid-template-columns:1fr;gap:30px}.service-links{gap:0}.service-links a{font-size:17px;min-height:52px}.editorial .reading-aside{position:static}.page-heading{padding-block:30px 20px}.page-heading h1{font-size:2.1rem;max-width:24ch}.page-heading .lead{font-size:1.03rem}.breadcrumbs{font-size:12px;padding-top:14px}.section.compact{padding-block:20px 36px}.crosslink{padding:24px;margin-inline:20px;margin-bottom:48px}.crosslink h2{font-size:1.45rem}.crosslink .actions{gap:6px 20px}.request-section{padding-block:48px}.request-grid>div:first-child{max-width:none}.perde-form .form-grid,.perde-form .perde-grid{grid-template-columns:1fr;gap:0}.perde-form button[type=submit]{width:100%}.article-content h2{margin-top:38px}.reading-aside{padding:24px}.site-footer{padding-top:46px;padding-bottom:76px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-grid>div{grid-column:1/-1}.footer-grid>div>p{max-width:45ch}.footer-grid nav a{min-height:40px}.footer-close{flex-direction:column;align-items:flex-start;gap:8px;padding-top:10px}.mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--surface);padding:6px 12px calc(6px + env(safe-area-inset-bottom));z-index:25;box-shadow:0 -4px 20px #14161912;gap:6px}.mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:46px;text-decoration:none;font-size:13px;font-weight:650;border-radius:9px}.mobile-actions a:first-child{background:var(--action);color:var(--surface)}html{scroll-padding-top:86px}.request-section{scroll-margin-top:68px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.language-switch a{min-width:44px;text-align:center;font-size:14px}
.hero-image figcaption{font-size:13px}
@media(min-width:601px) and (max-width:800px){.hero .actions .text-link{display:flex;width:max-content;margin-top:12px}}

.type-diagram{margin:0 0 20px}.type-diagram img{width:100%;height:auto;aspect-ratio:32/21;background:var(--soft);border-radius:12px;object-fit:contain}.type-diagram figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:9px}.detail-diagram{max-width:760px;margin-bottom:32px}.detail-diagram .diagram-note{font-size:14px;color:var(--muted);margin-top:14px}.catalog-item .type-diagram{margin-bottom:22px}.comparison-scroll{overflow-x:auto;max-width:100%;border-radius:12px;background:var(--surface);padding:16px}.comparison-scroll table{border-collapse:collapse;width:100%;min-width:560px;text-align:left}.comparison-scroll th,.comparison-scroll td{padding:14px 18px;vertical-align:top}.comparison-scroll thead{background:var(--soft)}.comparison-scroll tbody tr:nth-child(even){background:var(--ground)}.comparison-scroll th{font-weight:700}.comparison-scroll:focus-visible{outline:3px solid var(--action);outline-offset:4px}@media(max-width:600px){.type-diagram img{border-radius:8px}.type-comparison h2{font-size:1.5rem}.comparison-scroll{padding:10px}.comparison-scroll th,.comparison-scroll td{padding:12px;font-size:14px}}

.type-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:28px 40px}.type-overview a{display:block}.type-overview img{transition:transform .2s ease}.type-overview a:hover img{transform:translateY(-2px)}@media(max-width:800px){.type-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media(max-width:420px){.type-overview{grid-template-columns:1fr}}

/* Grouped native catalogue navigation */
.catalog-dropdown-grouped{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;scroll-padding:12px}.catalog-menu-group{min-width:0}.catalog-menu-group h2{font-size:17px;letter-spacing:-.01em;line-height:1.4;max-width:none;margin:0 0 10px}.catalog-menu-group h2>a{color:var(--ink);font-size:inherit}.catalog-menu-group ul{list-style:none;padding:0;margin:0}.catalog-menu-group li{margin:0}.catalog-dropdown-grouped a{display:flex;align-items:center;min-height:44px;padding:8px 4px;overflow-wrap:anywhere;font-size:14px;line-height:1.4}.catalog-menu[open]>summary:after{content:'−'}
@media(max-width:800px){.catalog-dropdown-grouped{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);padding:12px 4px 20px}.catalog-menu-group:last-child{grid-column:1/-1}.catalog-menu-group:last-child ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}}
@media(max-width:600px){.catalog-dropdown-grouped{grid-template-columns:1fr;max-height:60vh;max-height:60dvh;gap:24px}.catalog-menu-group:last-child{grid-column:auto}.catalog-menu-group:last-child ul{grid-template-columns:1fr}.catalog-menu-group h2{margin-bottom:6px}.catalog-dropdown-grouped a{font-size:15px}}

/* A single joined typographic brand, without a decorative suffix. */
.wordmark{display:inline-block;font-size:clamp(23px,2.3vw,30px);font-weight:800;letter-spacing:-.045em;line-height:1.1;white-space:nowrap;font-kerning:normal}.wordmark .wordmark-second{color:var(--action);font-weight:550;letter-spacing:-.05em}.wordmark:hover .wordmark-second{color:var(--forest)}.wordmark:focus-visible{outline:3px solid var(--action);outline-offset:6px}
