/* Shared component colours follow each independent visual theme. */
body { background:var(--paper); color:var(--ink); }
h1,h2,h3 { overflow-wrap:anywhere; }
button,input,select,textarea { color:inherit; }
.site-header { background:var(--paper); border-color:var(--line); }
.wordmark,.nav-links a,.nav-links a[aria-current="page"],.bag-link,.menu-toggle { color:var(--ink); }
.nav-links a:hover,.nav-links a[aria-current="page"] { border-color:var(--olive); }
.bag-link,.menu-toggle { border-color:var(--line); background:var(--white); }
.bag-count,.selection-bar a span { background:var(--olive); color:var(--white); }
.brand-mark { color:var(--olive); border-color:var(--olive); }
.brand-mark::before,.brand-mark::after { background:var(--olive); }
.eyebrow,.path-icon,.channel-icon,.step-number { color:var(--olive); }
.intro,.page-intro,.micro-copy,.section-heading>p:last-child,.path-card>p,.channel-card p,.guidance-card p,.product-code,.product-description,.summary-foot,.breadcrumbs,.step p,.step-card p,.field small,.filter-field label { color:var(--muted); }
.section,.path-card,.channel-card,.guidance-card,.step-card,.benefit-card,.product-card,.catalog-toolbar,.selection-bar,.empty-state,.order-form,.order-sidebar,.form-block,.summary-item,.summary-total,.sidebar-next,.faq-list details,.faq-list summary,footer,.page-hero,.note-grid,.product-specs,.product-specs dt,.product-specs dd { border-color:var(--line); }
.muted,.inline-note,.notice,.product-media,.product-monogram,.guidance-card,.benefit-card,.empty-state { background:var(--soft); color:var(--ink); }
.path-card,.channel-card,.product-card,.catalog-toolbar,.order-form,.step-card { background:var(--white); color:var(--ink); }
.path-card.trade { background:var(--olive); border-color:var(--olive); color:var(--white); }
.trade .eyebrow,.trade .path-icon,.trade .feature-list,.trade .feature-list li,.trade>p { color:var(--white); }
.trade .path-icon { border-color:currentColor; }
.feature-list li::before { color:currentColor; }
.button { border-radius:var(--radius); }
.button.primary { background:var(--olive); border-color:var(--olive); color:var(--white); }
.button.primary:hover { background:var(--olive-dark); border-color:var(--olive-dark); color:var(--white); }
.button.secondary { border-color:var(--line); color:var(--ink); background:transparent; }
.button.secondary:hover { background:var(--soft); border-color:var(--olive); }
.button.light { background:var(--lemon); border-color:var(--lemon); color:var(--olive-dark); }
.button.light:hover { background:var(--sage); border-color:var(--sage); color:var(--ink); }
.text-link,.text-button,.footer-links button { color:var(--ink); }
.selection-bar,.order-sidebar { background:var(--sage); color:var(--ink); }
.selection-bar p,.sidebar-label,.summary-total,.summary-total strong,.summary-item,.summary-item small,.summary-item span { color:var(--ink); }
.summary-item small { display:block; color:var(--muted); }
.field input,.field select,.field textarea,.filter-field input,.filter-field select,.request-text { background:var(--white); border-color:var(--line); color:var(--ink); }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:.85; }
.field label,.filter-field label { color:var(--ink); }
.field label span,.form-error { color:var(--error); }
.check-row input { accent-color:var(--olive); }
.form-block .block-heading span { background:var(--soft); color:var(--olive); border-color:var(--line); }
.remove-item { color:var(--ink); border-color:var(--line); background:var(--white); }
.product-price,.product-specs,.step h3,.step-card h3,.benefit-card h3 { color:var(--ink); }
.product-monogram { border-color:var(--line); }
.product-image-label,.step-owner { color:var(--muted); }
.contact-band { background:var(--olive); color:var(--white); }
.contact-band .eyebrow,.contact-band p,.contact-band h2,.contact-band .button.secondary { color:var(--white); }
.contact-band .button.secondary { border-color:var(--white); }
.contact-band .button.secondary:hover { background:transparent; text-decoration:underline; }
dialog { background:var(--white); color:var(--ink); border-color:var(--line); }
.dialog-head { border-color:var(--line); }
.dialog-close { background:var(--soft); color:var(--ink); border-color:var(--line); }
.request-meta,.recipient-line,.request-text,.policy-copy { color:var(--ink); }
.notice { border-color:var(--line); }
.toast { background:var(--ink); color:var(--paper); }
:focus-visible { outline-color:var(--olive); }
::selection { background:var(--lemon); color:var(--olive-dark); }
.theme-hero { padding-block:70px; }
.theme-hero h1 { margin:0; }
.theme-hero .intro { max-width:560px; margin:26px 0; }
.theme-hero .micro-copy { max-width:540px; }
.theme-hero svg { max-width:100%; }
.order-section { background:var(--paper); }
.step,.step-card,.summary-items,.status-line { border-color:var(--line); }
.step-number,.channel-icon { background:var(--soft); border-color:var(--line); }
.check-row,.guidance-card li,.sidebar-next ol { color:var(--muted); }
.product-monogram { color:var(--olive); }
#message-preview { background:var(--white); color:var(--ink); }
input:hover,select:hover,textarea:hover { border-color:var(--olive); }
.form-error { background:var(--soft); border-color:var(--error); }
@media(max-width:800px) { .nav-links { background:var(--white); border-color:var(--line); }.nav-links a { color:var(--ink); }.nav-links a[aria-current="page"] { background:var(--soft); }.theme-hero { padding-block:46px; } }

.apparel-variants {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;} .apparel-variants .field {min-width:0;} .apparel-variants select {width:100%;min-width:0;} .apparel-variants label:only-child {grid-column:1/-1;}
.apparel-variants .field + .field:not(.field-grid .field){margin-top:0}
.company-profile-content{padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink)}
.company-profile-content h2{margin-bottom:18px;font-size:32px;overflow-wrap:anywhere}
.company-description{max-width:850px;white-space:pre-line;color:var(--muted)}
.company-details{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px 24px;margin:24px 0 0}
.company-details dt{font-size:12px;font-weight:650;color:var(--muted)}
.company-details dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}
[data-company-legal-name]{max-width:400px;overflow-wrap:anywhere;margin-top:12px}
