/* Shared component geometry; page layout and semantic status colours stay local. */
:root{--component-card-radius:16px;--component-inner-radius:12px;--component-control-radius:10px}
body :is(.card,.shop-card,.recovery-card,.material-card,.material-guide-card,.cart-model,.cart-total,.cart-delivery,.contact-intro,.contact-channel,.pickup-card,.library-intro,.library-contact,.advisor,.advisor-result,.portal-heading,.customer-welcome,.order-preview,.hero-panel,.order-section,.final-cta,.cart-empty,.process-grid>li,.library-grid>article){border-radius:var(--component-card-radius)!important}
body :is(.library #uebersicht,.library #vergleich,#order-detail .order-progress-card){border-radius:var(--component-card-radius)!important}
body :is(.choice-card,.library-shortcuts>a,.customer-shortcuts>a,.admin-quicklinks>a,.order-next-grid>div,.order-progress li,.coupon-box,.product-note,.layer-selection){border-radius:var(--component-inner-radius)!important}
body :is(.btn,.header-menu-toggle,.portal-menu-toggle){border-radius:var(--component-control-radius)!important}
body :is(.header-menu-toggle,.portal-menu-toggle){box-sizing:border-box;min-height:44px;padding:10px 14px!important;border:1px solid #cbd9e5!important;background:#edf2f7!important;color:#345770!important;font-size:14px!important;font-weight:600;line-height:1.4;white-space:nowrap;flex-shrink:0}
body :is(.header-menu-toggle,.portal-menu-toggle)::after{content:'';display:inline-block;vertical-align:middle;width:14px;height:12px;margin-left:10px;border-block:2px solid currentColor;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat;box-sizing:border-box}
body .header-menu-toggle{gap:0!important}
body .header-menu-toggle>span[aria-hidden=true]{display:none}
body :is(.header-menu-toggle,.portal-menu-toggle):hover,body :is(.header-menu-toggle,.portal-menu-toggle)[aria-expanded=true]{background:#dfe8f0!important;border-color:#9eb5c7!important}
body :is(.header-menu-toggle,.portal-menu-toggle):focus-visible{outline:3px solid #567f9e;outline-offset:3px}
body details>summary{position:relative;box-sizing:border-box;cursor:pointer;min-height:44px!important;padding:12px 32px 12px 0!important;list-style:none!important;font-size:14px!important;font-weight:600;line-height:1.5!important;color:#426783!important}
body details>summary::-webkit-details-marker{display:none}
body details>summary::marker{content:''}
body details>summary::before{content:none!important}
body details>summary::after{content:''!important;position:absolute!important;left:auto!important;right:8px!important;top:18px!important;width:7px!important;height:7px!important;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s;line-height:1}
body details[open]>summary::after{transform:rotate(225deg)}
body details>summary:hover{color:#263f53!important}
body details>summary:focus-visible{outline:3px solid #567f9e;outline-offset:3px;border-radius:6px}
@media(prefers-reduced-motion:reduce){body details>summary::after{transition:none}}

/* Consistent mobile spacing across public pages, customer accounts and admin. */
@media(max-width:700px){
 body main .btn{min-height:48px;padding:12px 16px;line-height:1.45;white-space:normal;text-align:center;gap:8px;max-width:100%;box-sizing:border-box}
 body main :is(p,ul,ol,dl)+:is(.btn,button[type="submit"]){margin-top:12px}
 body main :is(.btn,button[type="submit"])+:is(p,small){margin-top:14px;line-height:1.6}
 body main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea)+.btn{margin-top:12px}
 body main details+ .btn{margin-top:16px}
 body main :is(.hero-actions,.quote-actions,.user-actions,.order-controls,.invoice-toolbar,.privacy-tools,.terms-tools){gap:12px;row-gap:12px;flex-wrap:wrap}
 body main :is(p,ul,ol,dl)+:is(.hero-actions,.quote-actions,.user-actions,.order-controls){margin-top:20px}
 body main :is(.form-group,.auth-field)>label{margin-bottom:8px;line-height:1.5}
 body main :is(.form-group,.auth-field)>:is(small,.form-help){margin-top:8px;line-height:1.6}
 body main details[open]>summary{margin-bottom:10px}
 body main details[open]>:is(p,div,ul,ol):last-child{margin-bottom:14px}
 body main .hero-text .hero-actions{margin-top:24px}
 body main .home-upload-body .upload-alternative{margin-top:12px;min-height:44px;align-content:center}
 body main .home-upload-body .upload-details{margin-top:16px}
 body main .checkout-terms{margin-block:18px}
 body main #checkout{margin-top:8px}
 body main .overview-note{margin-block:16px}
 body main .wizard-actions{gap:12px}
 body main .contact-channel .btn,body main .pickup-whatsapp{margin-top:16px}
 body main .calculator-toggle+.calculator-help{margin-top:12px;margin-bottom:18px}
 body main .calculator-rates{margin-block:24px}
}
