/* PeraFix shared design tokens. Existing information architecture is preserved. */
[data-pf-design]{--pf-surface:#fff;--pf-ink:#002048;--pf-accent:#005bff;--pf-soft:#f4f8ff;--pf-border:#e2eaf5;--pf-radius:20px;--pf-shadow:0 8px 28px -20px #00204840;font-size:16px}
[data-pf-design] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #005bff;outline-offset:4px}
[data-pf-design] :is(.pf-container,.directory-wrap,.pf-catalogue .wrap,.trade-main){width:min(1280px,calc(100% - 48px));margin-inline:auto}
[data-pf-design] :is(.directory-card,.directory-detail-card,.directory-contact,.trade-card,.license-plan,.pf-catalog-card,.pf-catalogue .panel){border-color:var(--pf-border);border-radius:var(--pf-radius);box-shadow:var(--pf-shadow);min-width:0}
[data-pf-design] :is(.directory-card h2,.directory-detail-card h2,.trade-card h2,.license-plan h2,.pf-catalog-card strong){overflow-wrap:anywhere}
[data-pf-design] :is(.directory-search input,.directory-search select,.trade-filters input,.trade-filters select,.pf-catalogue input){min-height:48px;font-size:16px;border-radius:14px;border-color:#cedaeb}
[data-pf-design] :is(.directory-pagination button,.trade-pagination a,.trade-button,.pf-btn,.pf-catalogue .cta){min-height:44px}
[data-pf-design="directory"] :is(.directory-hero,.directory-detail-hero){padding-block:48px;min-height:0}
[data-pf-design="directory"] :is(.directory-hero h1,.directory-detail-hero h1){font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-.035em;max-width:850px;margin-block:20px}
[data-pf-design="directory"] .directory-hero-note{border-radius:20px;padding:24px;border:1px solid var(--pf-border);background:#fff;box-shadow:var(--pf-shadow)}
[data-pf-design="directory"] :is(.directory-card p,.directory-fine,.directory-count,.directory-status){font-size:14px;line-height:1.65}
[data-pf-design="directory"] .directory-card{transition:border-color .18s,box-shadow .18s;background:#fff}
[data-pf-design="directory"] .directory-card:hover{border-color:#a8c5f4;box-shadow:0 12px 28px -20px #005bff66}
[data-pf-design="technical"] .pf-catalogue :is(.crumbs,.pf-filter,[data-count],.pf-catalog-card small,.pf-facts dt){font-size:14px}
[data-pf-design="technical"] .pf-catalogue .grid{gap:20px}
[data-pf-design="technical"] .pf-catalogue .pf-catalog-card{padding:24px;min-height:120px;background:#fff;border-radius:20px}
[data-pf-design="technical"] .pf-catalogue .pf-catalog-card:hover{border-color:#87b4ff;box-shadow:0 12px 32px -22px #005bff88}
[data-pf-design="technical"] .pf-catalogue .pf-catalog-card strong{font-size:18px}
[data-pf-design="technical"] .pf-catalogue .hero{padding-block:48px}
[data-pf-design="technical"] .pf-catalogue .lead{font-size:16px}
[data-pf-design="trade"] .trade-card{background:#fff}
[data-pf-design="trade"] .trade-card-body{padding:20px}
[data-pf-design="trade"] .trade-card h2{line-height:1.4;font-size:18px}
[data-pf-design="trade"] .trade-detail-link{display:inline-flex;align-items:center;min-height:44px}
[data-pf-design="commerce"] .license-plan{padding:28px}
[data-pf-design="commerce"] :is(.license-feature,.license-plan p,.license-plan li){font-size:16px;line-height:1.65}
@media(max-width:600px){
 [data-pf-design] :is(.pf-container,.directory-wrap,.pf-catalogue .wrap,.trade-main){width:calc(100% - 40px)}
 [data-pf-design="directory"] :is(.directory-hero,.directory-detail-hero){padding-block:32px}
 [data-pf-design="technical"] .pf-catalogue .hero{padding-block:32px}
 [data-pf-design="technical"] .pf-catalogue .pf-catalog-card{padding:20px;min-height:100px}
 [data-pf-design="commerce"] .license-plan{padding:24px}
}
@media(prefers-reduced-motion:reduce){[data-pf-design] :is(.directory-card,.pf-catalog-card){transition:none}}

/* Existing page families share geometry, not their data or interactions. */
[data-pf-design] :is(.directory-wrap,.pf-catalogue .wrap,.trade-main){max-width:1280px}
[data-pf-design="directory"] :is(.directory-hero p,.directory-card-summary){font-size:16px;line-height:1.7}
[data-pf-design="directory"] :is(.directory-card-tags span,.directory-card-location,.directory-reset){font-size:14px}
[data-pf-design="directory"] .directory-card-top>div:last-child{min-width:0}
[data-pf-design="directory"] .directory-card-link{border-radius:12px;font-size:14px;min-height:44px}
[data-pf-design="directory"].pfw-site.directory-body .directory-hero .directory-hero-note strong{color:#002048}
[data-pf-design="directory"].pfw-site.directory-body .directory-hero .directory-hero-note p{color:#52657b;font-size:14px}
[data-pf-design="content"].pfw-site.pfw-features .hero h1{color:#fff}
[data-pf-design="content"].pfw-site.pfw-features main>.hero{background:linear-gradient(120deg,#061a35,#08284e)!important;color:#fff}
[data-pf-design="content"].pfw-features .hero-grid>div:first-child>p{color:#dce8fa}
[data-pf-design="content"].pfw-features .hero-grid>div:first-child>.eyebrow{color:#9fc5ff}
[data-pf-design="content"].pfw-site.pfw-features .hero-grid>div:first-child small{color:#c4d5eb}
[data-pf-design="technical"]:not(:has(.pf-catalogue)) main>section:first-of-type{min-height:0;padding-block:64px}
[data-pf-design="technical"]:not(:has(.pf-catalogue)) h1{font-size:clamp(32px,4vw,52px);line-height:1.13;max-width:900px;margin-inline:auto}
[data-pf-design="technical"]:not(:has(.pf-catalogue)) main>section:has(a.group h2){max-width:1328px;padding-block:40px;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
[data-pf-design="technical"]:not(:has(.pf-catalogue)) main>section:has(a.group h2)>div{max-width:1328px;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
[data-pf-design="technical"] main>section a.group:has(h2){border:1px solid var(--pf-border);border-radius:20px;padding:28px;box-shadow:var(--pf-shadow);color:var(--pf-ink);background:#fff;min-width:0}
[data-pf-design="technical"] main>section a.group h2{font-size:24px;line-height:1.3;letter-spacing:-.025em;margin-top:24px;color:var(--pf-ink)}
[data-pf-design="technical"] main>section a.group p{font-size:16px;line-height:1.7}
[data-pf-design="technical"] .pk-search{max-width:1280px;width:calc(100% - 48px);border:1px solid var(--pf-border);border-radius:20px;box-shadow:var(--pf-shadow);padding:24px}
[data-pf-design="technical"] .pk-search :is(input,button){min-height:48px;font-size:16px;border-radius:12px}
[data-pf-design="technical"] .pk-search small{font-size:14px;line-height:1.6}
[data-pf-design="trade"] .trade-hero,[data-pf-design="commerce"] .trade-hero{padding-block:48px}
[data-pf-design="trade"] :is(.trade-hero h1,.trade-detail h1),[data-pf-design="commerce"] .trade-hero h1{font-size:clamp(32px,4vw,48px);line-height:1.15;letter-spacing:-.035em}
[data-pf-design="trade"] .trade-card img{aspect-ratio:4/3;object-fit:cover;width:100%}
[data-pf-design="trade"] .trade-card :is(p,small){font-size:14px}
[data-pf-design="commerce"] :is(.license-feature,.license-notice,.license-faq details){border-radius:20px;border-color:var(--pf-border)}
[data-pf-design="commerce"] .license-faq summary{min-height:44px;font-size:16px;line-height:1.6}
[data-pf-design="commerce"] :is(.checkout-layout,.page-intro,.breadcrumbs){max-width:1280px;margin-inline:auto}
[data-pf-design="commerce"] .checkout-layout>.checkout-main{min-width:0}
[data-pf-design="commerce"] .panel{border-radius:20px;border-color:var(--pf-border);box-shadow:var(--pf-shadow)}
[data-pf-design="commerce"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;min-height:44px;border-radius:12px}
[data-pf-design="content"] main :is(article,.feature-card,.feature-panel){border-color:var(--pf-border);border-radius:20px;box-shadow:var(--pf-shadow);min-width:0}
[data-pf-design="content"] main :is(h1,h2,h3){text-wrap:balance;overflow-wrap:break-word}
[data-pf-design="content"] main h1{font-size:clamp(32px,4vw,52px);line-height:1.14;letter-spacing:-.035em}
[data-pf-design="content"] main :is(p,li){line-height:1.75}
[data-pf-design="legal"] :is(main,.policy-top){max-width:1000px;margin-inline:auto}
[data-pf-design="legal"] :is(.policy-section,.policy-hero){border-color:var(--pf-border);border-radius:20px}
[data-pf-design="legal"] main :is(p,li){font-size:16px;line-height:1.85;overflow-wrap:break-word}
[data-pf-design="legal"] main h1{font-size:clamp(30px,4vw,44px);line-height:1.18;letter-spacing:-.03em}
[data-pf-design="legal"] main h2{font-size:24px;line-height:1.4;scroll-margin-top:120px}
[data-pf-design="legal"] main :is(a,button):focus-visible{outline-offset:3px}
[data-pf-design="member"] :is(.login,.panel,.card){border-color:var(--pf-border);border-radius:20px;box-shadow:var(--pf-shadow)}
[data-pf-design="member"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;min-height:44px}
[data-pf-design="member"] :is(.button,.icon-button,.submit){min-height:44px}
[data-pf-design="member"] .shell{min-width:0}
@media(max-width:600px){
 [data-pf-design="technical"]:not(:has(.pf-catalogue)) main>section:first-of-type{padding-block:36px}
 [data-pf-design="technical"]:not(:has(.pf-catalogue)) main>section:has(a.group h2){grid-template-columns:minmax(0,1fr);padding:24px 20px;gap:16px}
 [data-pf-design="technical"]:not(:has(.pf-catalogue)) main>section:has(a.group h2)>div{grid-template-columns:minmax(0,1fr);padding-inline:0;gap:16px}
 [data-pf-design="technical"] main>section a.group:has(h2){padding:24px}
 [data-pf-design="technical"] .pk-search{width:calc(100% - 40px);padding:20px}
 [data-pf-design="trade"] .trade-hero,[data-pf-design="commerce"] .trade-hero{padding-block:32px}
 [data-pf-design="legal"] main{width:calc(100% - 40px)}
 [data-pf-design="legal"] :is(.policy-section,.policy-hero){padding:24px 20px}
}
