:root {
  --ctd-accent: #cf632f;
  --ctd-accent-dark: #a94a25;
  --ctd-accent-soft: #f3d8c8;
}

.ctd-button:hover {
  background: var(--ctd-accent-dark);
  border-color: var(--ctd-accent-dark);
}

.ctd-cta .ctd-eyebrow {
  color: #f8dece;
}

.ctd-cta p:not(.ctd-eyebrow) {
  color: #f8e3d9;
}

.ctd-price-card.featured {
  background: var(--ctd-accent);
}

.ctd-price-card.featured .ctd-button {
  border-color: #f6d8c8;
}

.ctd-redesign.ctd-workspace {
  min-height: 100vh;
  background: var(--ctd-dark);
}

.ctd-redesign.ctd-workspace .ctd-header,
.ctd-redesign.ctd-workspace .ctd-topbar,
.ctd-redesign.ctd-workspace .ctd-footer {
  display: none;
}

.ctd-flash {
  margin: 18px auto 0;
  border: 1px solid var(--ctd-line);
  padding: 13px 18px;
  font-size: .83rem;
  background: rgba(255, 255, 255, .6);
}

.ctd-flash.flash-success,
.ctd-flash-success {
  border-color: #9bbda5;
  background: #edf7ef;
  color: #285b38;
}

.ctd-flash.flash-error,
.ctd-flash-error {
  border-color: #d49b7f;
  background: #fff0e9;
  color: #7c321d;
}

.ctd-flash.flash-info,
.ctd-flash-info {
  border-color: #a8b9c1;
  background: #edf5f8;
  color: #2e4f5b;
}

.ctd-feature-hero,
.ctd-location-hero {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 52px;
  align-items: stretch;
  margin-bottom: 68px;
}

.ctd-feature-hero-copy,
.ctd-location-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ctd-feature-hero-copy h2,
.ctd-location-hero-copy h2 {
  font-size: clamp(2rem, 3.7vw, 3.5rem);
  margin-top: 14px;
}

.ctd-feature-hero-copy p,
.ctd-location-hero-copy p {
  max-width: 570px;
  font-size: .95rem;
  line-height: 1.85;
  margin-top: 21px;
}

.ctd-feature-hero-copy .ctd-actions,
.ctd-location-hero-copy .ctd-actions {
  margin-top: 28px;
}

.ctd-page-image {
  width: 100%;
  height: 100%;
  min-height: 340px;
  display: block;
  object-fit: cover;
  background: #252b28;
}

.ctd-image-card {
  overflow: hidden;
  background: #252b28;
  min-height: 340px;
}

.ctd-image-card figcaption {
  padding: 11px 16px;
  color: #dce3da;
  background: #252b28;
  font-size: .62rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ctd-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.ctd-feature-grid .ctd-card {
  min-height: 190px;
}

.ctd-feature-grid .ctd-card h2 {
  font-size: 1.35rem;
}

.ctd-location-list,
.ctd-legal-list {
  display: grid;
  gap: 13px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.ctd-location-list li,
.ctd-legal-list li {
  position: relative;
  padding-left: 19px;
  color: var(--ctd-muted);
  font-size: .87rem;
  line-height: 1.7;
}

.ctd-location-list li::before,
.ctd-legal-list li::before {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  left: 0;
  top: .65em;
  border-radius: 50%;
  background: var(--ctd-accent);
}

.ctd-iframe-card {
  border: 1px solid var(--ctd-line);
  padding: 10px;
  background: #fff;
}

.ctd-iframe-frame {
  display: block;
  width: 100%;
  min-height: 1050px;
  height: 1050px;
  border: 0;
  background: #fff;
  overflow: hidden;
}

/* The calculator reports its result height with postMessage after a search. */
.calculator-embed-card.is-expanded .ctd-iframe-frame { min-height: 1050px; height: 1050px; }

.ctd-calculator-note {
  border-left: 2px solid var(--ctd-accent);
  padding-left: 17px;
  margin-top: 25px;
  font-size: .82rem;
  line-height: 1.8;
}

.ctd-workflow-card {
  align-self: start;
  background: var(--ctd-dark);
  color: #fff;
}

.ctd-workflow-card h2 {
  color: #fff;
}

.ctd-workflow-card p {
  color: #c0c9c0;
}

.ctd-workflow-card .ctd-micro {
  color: #b5c0b6;
}

.ctd-legal-card h2 {
  font-size: 1.45rem;
  margin-bottom: 14px;
}

.ctd-legal-copy {
  margin-top: 24px;
}

.ctd-legal-copy p {
  max-width: 760px;
  font-size: .9rem;
  line-height: 1.9;
}

@media (max-width: 800px) {
  .ctd-feature-hero,
  .ctd-location-hero {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 46px;
  }

  .ctd-feature-hero-copy h2,
  .ctd-location-hero-copy h2 {
    font-size: 2rem;
  }

  .ctd-feature-grid {
    grid-template-columns: 1fr;
  }

  .ctd-page-image,
  .ctd-image-card {
    min-height: 260px;
  }

  .ctd-iframe-frame {
    min-height: 560px;
  }
}

.ctd-redesign figure {
  margin: 0;
}

.ctd-form-error {
  margin-top: 14px !important;
  padding: 10px 13px;
  border-left: 2px solid var(--ctd-accent);
  background: var(--ctd-accent-soft);
  color: #71351f !important;
  font-size: .82rem;
}

html[data-theme="dark"] .ctd-public {
  --ctd-ink: #eff3ed;
  --ctd-muted: #abb7ad;
  --ctd-paper: #121715;
  --ctd-soft: #202824;
  --ctd-line: #3b463e;
}

html[data-theme="dark"] .ctd-public .ctd-header {
  background: rgba(18, 23, 21, .97);
  border-bottom-color: var(--ctd-line);
}

html[data-theme="dark"] .ctd-public .ctd-nav a,
html[data-theme="dark"] .ctd-public .ctd-brand-caption,
html[data-theme="dark"] .ctd-public .ctd-language,
html[data-theme="dark"] .ctd-public .ctd-theme {
  color: #c7d0c7;
}

html[data-theme="dark"] .ctd-public .ctd-nav-panel {
  background: var(--ctd-paper);
}

html[data-theme="dark"] .ctd-public .ctd-footer {
  background: #1c2420;
}

html[data-theme="dark"] .ctd-public .ctd-footer-grid > div:not(.ctd-footer-brand) > a {
  color: #b8c4ba;
}

html[data-theme="dark"] .ctd-public .ctd-footer-bottom {
  color: #9eaa9f;
  border-color: var(--ctd-line);
}

html[data-theme="dark"] .ctd-public .ctd-card,
html[data-theme="dark"] .ctd-public .ctd-form-card {
  background: rgba(255, 255, 255, .035);
  border-color: var(--ctd-line);
}

html[data-theme="dark"] .ctd-public .ctd-form input,
html[data-theme="dark"] .ctd-public .ctd-form select,
html[data-theme="dark"] .ctd-public .ctd-form textarea {
  background: #18201c;
  border-color: #556258;
  color: var(--ctd-ink);
}

html[data-theme="dark"] .ctd-public .ctd-form-error {
  color: #ffd9c6 !important;
  background: #482519;
}

html[data-theme="dark"] .ctd-public .ctd-topbar {
  background: #0d110f;
}

@media (max-width: 800px) {
  .ctd-redesign .ctd-form-card {
    width: 100%;
  }
}

.ctd-business-details {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 16px !important;
  color: var(--ctd-ink) !important;
  font-size: .76rem !important;
  line-height: 1.55 !important;
  font-weight: 600;
}

html[data-theme="dark"] .ctd-public .ctd-business-details {
  color: #d8e0d7 !important;
}

/* Admin remake: strong contrast, compact panels and a coherent dark workspace. */
.ctd-redesign.ctd-workspace { background:#0d1210 !important; color:#eef2ec !important; }
.ctd-redesign.ctd-workspace .admin-shell { grid-template-columns:252px minmax(0,1fr); gap:0; }
.ctd-redesign.ctd-workspace .admin-shell.centered { grid-template-columns:1fr; place-items:center; padding:28px; }
.ctd-redesign.ctd-workspace .admin-card { width:min(100%, 430px); padding:34px; border:1px solid #344239; border-radius:3px; background:#151c18; box-shadow:0 20px 60px rgba(0,0,0,.28); }
.ctd-redesign.ctd-workspace .admin-card h1 { color:#f4f6f2; font-size:2.1rem; letter-spacing:-.06em; }
.ctd-redesign.ctd-workspace .admin-card input { width:100%; border:1px solid #435247; background:#18211b; color:#edf2ed; padding:12px 13px; font:inherit; }
.ctd-redesign.ctd-workspace .admin-card input::placeholder { color:#8f9e92; }
.ctd-redesign.ctd-workspace .admin-card .cta-button { width:100%; }
.ctd-redesign.ctd-workspace .admin-sidebar { margin:0; padding:28px 20px 22px; height:100vh; top:0; background:#141b17; border-right:1px solid #2f3b33; }
.ctd-redesign.ctd-workspace .admin-brand { color:#eef2ec; padding:2px 5px 21px; border-bottom:1px solid #2f3b33; }
.ctd-redesign.ctd-workspace .admin-brand-kicker { color:#aab8ac; font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; }
.ctd-redesign.ctd-workspace .admin-brand strong { display:block; margin-top:7px; font-size:1.25rem; letter-spacing:-.04em; }
.ctd-redesign.ctd-workspace .admin-brand-meta { display:block; margin-top:9px; color:#8f9e92; font-size:.73rem; line-height:1.55; }
.ctd-redesign.ctd-workspace .admin-sidebar-section { margin-top:7px; }
.ctd-redesign.ctd-workspace .admin-sidebar-label { color:#728177; font-size:.62rem; letter-spacing:.16em; }
.ctd-redesign.ctd-workspace .admin-nav { gap:3px; }
.ctd-redesign.ctd-workspace .admin-nav a { display:flex; align-items:center; min-height:42px; padding:0 11px; color:#aebbb0 !important; border-left:2px solid transparent; font-size:.8rem; }
.ctd-redesign.ctd-workspace .admin-nav a:hover { color:#fff !important; background:#1e2922; }
.ctd-redesign.ctd-workspace .admin-nav a.active { color:#fff !important; background:#222f26; border-left-color:var(--ctd-accent); }
.ctd-redesign.ctd-workspace .admin-sidebar-note { margin-top:auto; padding:16px 12px; border:1px solid #344239; background:#1a231d; }
.ctd-redesign.ctd-workspace .admin-sidebar-note span { color:#cf632f; font-size:.61rem; letter-spacing:.16em; }
.ctd-redesign.ctd-workspace .admin-sidebar-note strong { color:#d7e0d6; font-size:.74rem; line-height:1.55; }
.ctd-redesign.ctd-workspace .admin-content { padding:40px 48px 70px; background:#0d1210; }
.ctd-redesign.ctd-workspace .admin-page-head { align-items:flex-end; margin-bottom:30px; }
.ctd-redesign.ctd-workspace .admin-page-head h1 { color:#f4f6f2; font-size:clamp(2.5rem,4.5vw,4.6rem); font-weight:500; letter-spacing:-.07em; }
.ctd-redesign.ctd-workspace .admin-page-head p { color:#94a397; font-size:.85rem; line-height:1.75; }
.ctd-redesign.ctd-workspace .admin-page-head .eyebrow,.ctd-redesign.ctd-workspace .admin-block-head .eyebrow { color:#cf632f; }
.ctd-redesign.ctd-workspace .admin-surface { padding:25px; border:1px solid #2e3a32; border-radius:3px; background:#151c18; box-shadow:none; }
.ctd-redesign.ctd-workspace .admin-kpi { padding:18px; border:1px solid #2e3a32; border-radius:2px; background:#1b241e; }
.ctd-redesign.ctd-workspace .admin-kpi span,.ctd-redesign.ctd-workspace .admin-kpi small { color:#8fa094; }
.ctd-redesign.ctd-workspace .admin-kpi strong { color:#f0f4ef; font-size:2.15rem; }
.ctd-redesign.ctd-workspace .admin-section-block { border-top:1px solid #2e3a32; padding-top:25px; }
.ctd-redesign.ctd-workspace .admin-block-head h2 { color:#edf1ec; font-size:1.35rem; }
.ctd-redesign.ctd-workspace .admin-table th { color:#839187; border-bottom-color:#344038; font-size:.64rem; }
.ctd-redesign.ctd-workspace .admin-table td { color:#d9e1da; border-bottom-color:#29352d; font-size:.8rem; }
.ctd-redesign.ctd-workspace .admin-table td small { color:#829085; }
.ctd-redesign.ctd-workspace .admin-inline-badge { border:1px solid #506256; background:#202b23; color:#cbd8cc; }
.ctd-redesign.ctd-workspace .admin-status-form select,.ctd-redesign.ctd-workspace .admin-product-form input,.ctd-redesign.ctd-workspace .admin-product-form textarea,.ctd-redesign.ctd-workspace .admin-product-form select { color:#edf2ed; background:#18211b; border:1px solid #435247; }
.ctd-redesign.ctd-workspace .admin-form-section { border-top-color:#2e3a32; }
.ctd-redesign.ctd-workspace .admin-form-section h2,.ctd-redesign.ctd-workspace .admin-settings-workspace h2 { color:#edf2ed; }
.ctd-redesign.ctd-workspace .admin-form-section label > span,.ctd-redesign.ctd-workspace .admin-product-form label > span { color:#a7b4a8; }
.ctd-redesign.ctd-workspace .admin-form-footer { border-top-color:#2e3a32; }
.ctd-redesign.ctd-workspace .ghost-button { color:#dce5dd !important; border-color:#4a5b4d; background:#1b241e; }
.ctd-redesign.ctd-workspace .ghost-button:hover { color:#fff !important; border-color:var(--ctd-accent); }

@media (max-width:800px) {
  .ctd-redesign.ctd-workspace .admin-shell { display:block; }
  .ctd-redesign.ctd-workspace .admin-sidebar { position:relative; width:100%; height:auto; min-height:0; border-right:0; border-bottom:1px solid #2f3b33; }
  .ctd-redesign.ctd-workspace .admin-sidebar-note { display:none; }
  .ctd-redesign.ctd-workspace .admin-nav { display:flex; overflow-x:auto; gap:4px; padding-bottom:2px; }
  .ctd-redesign.ctd-workspace .admin-nav a { white-space:nowrap; }
  .ctd-redesign.ctd-workspace .admin-content { padding:28px 20px 52px; }
  .ctd-redesign.ctd-workspace .admin-page-head { align-items:flex-start; flex-direction:column; }
  .ctd-redesign.ctd-workspace .admin-page-head h1 { font-size:3rem; }
  .ctd-redesign.ctd-workspace .admin-surface { padding:17px; }
}

/* Shop catalogue: an editorial product list instead of boxed cards. */
.shop-toolbar-tools { display:flex; flex-direction:column; align-items:flex-end; gap:16px; min-width:min(100%, 480px); }
.shop-list { padding-top:28px; padding-bottom:44px; }
.shop-list-head { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:28px; border-bottom:1px solid var(--ctd-ink); padding:0 0 9px; color:var(--ctd-muted); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; }
.shop-list-head span:last-child { text-align:right; }
.shop-row { display:grid; grid-template-columns:150px minmax(0,1fr) 150px; gap:28px; align-items:center; border-bottom:1px solid var(--ctd-line); padding:20px 0; }
.shop-row-image { display:grid; place-items:center; width:150px; height:126px; background:#eef0ec; overflow:hidden; }
.shop-row-image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.shop-row-mark { color:#28312b; font-size:2.2rem; font-weight:900; font-style:italic; letter-spacing:-.12em; }
.shop-row-mark span { color:var(--ctd-accent); font-weight:400; margin-left:3px; }
.shop-row-meta { display:flex; flex-wrap:wrap; gap:12px; color:var(--ctd-muted); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.shop-row-meta span+span { border-left:1px solid var(--ctd-line); padding-left:12px; }
.shop-row-info h2 { font-size:1.28rem; letter-spacing:-.03em; margin-top:9px; }
.shop-row-info h2 a:hover { color:var(--ctd-accent); }
.shop-row-info p { max-width:600px; color:var(--ctd-muted); font-size:.78rem; line-height:1.65; margin-top:7px; }
.shop-row-purchase { display:flex; flex-direction:column; align-items:flex-end; text-align:right; }
.shop-row-purchase strong { font-size:1.12rem; font-weight:600; }
.shop-row-purchase small { color:var(--ctd-muted); font-size:.62rem; line-height:1.5; margin-top:4px; }
.shop-row-link { color:var(--ctd-ink); font-size:.68rem; margin-top:17px; text-decoration:underline; text-underline-offset:3px; }
.shop-row-link:hover { color:var(--ctd-accent); }
.shop-note { padding-top:30px; }

@media (max-width:800px) {
  .shop-toolbar-tools { align-items:flex-start; width:100%; min-width:0; }
  .shop-list { padding-top:20px; }
  .shop-list-head { display:none; }
  .shop-row { grid-template-columns:88px minmax(0,1fr); gap:16px; align-items:start; padding:17px 0; }
  .shop-row-image { width:88px; height:88px; }
  .shop-row-info h2 { font-size:1.05rem; margin-top:6px; }
  .shop-row-info p { font-size:.74rem; line-height:1.55; }
  .shop-row-purchase { grid-column:2; align-items:flex-start; text-align:left; border-top:1px solid var(--ctd-line); padding-top:11px; margin-top:2px; }
  .shop-row-link { margin-top:10px; }
}

.ctd-cart-link { display:inline-flex; align-items:center; gap:7px; color:var(--ctd-ink); font-size:.72rem; font-weight:700; }
.ctd-cart-link span:first-child { display:grid; place-items:center; width:20px; height:20px; border:1px solid currentColor; font-size:.5rem; line-height:1; }
.ctd-cart-link b { display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; border-radius:999px; background:var(--ctd-accent); color:#fff; font-size:.62rem; }
.shop-page { background:var(--ctd-paper); }
.shop-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; padding-top:60px; padding-bottom:27px; border-bottom:1px solid var(--ctd-line); }
.shop-toolbar h1 { margin-top:11px; font-size:clamp(2.3rem,4vw,4rem); font-weight:500; letter-spacing:-.06em; }
.shop-toolbar h1 + p { max-width:640px; margin-top:12px; font-size:.88rem; line-height:1.75; }
.shop-categories { display:flex; align-items:center; gap:19px; flex-wrap:wrap; justify-content:flex-end; }
.shop-categories a { color:var(--ctd-muted); font-size:.76rem; padding-bottom:5px; border-bottom:1px solid transparent; }
.shop-categories a:hover,.shop-categories a.is-active { color:var(--ctd-accent); border-bottom-color:currentColor; }
.shop-conditions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:18px; }
.shop-conditions span { color:var(--ctd-muted); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; }
.shop-conditions a { color:var(--ctd-muted); font-size:.68rem; }
.shop-conditions a:hover,.shop-conditions a.is-active { color:var(--ctd-accent); }
.shop-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-top:28px; padding-bottom:40px; }
.shop-card { border:1px solid var(--ctd-line); background:rgba(255,255,255,.3); min-width:0; }
.shop-card-media { display:flex; position:relative; min-height:255px; align-items:center; justify-content:center; overflow:hidden; background:#242a26; color:#fff; }
.shop-card-media img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.shop-card-mark { font-size:4.3rem; font-weight:900; font-style:italic; letter-spacing:-.12em; color:#edf1eb; }
.shop-card-mark span { color:var(--ctd-accent); font-weight:400; margin-left:4px; }
.shop-card-index { position:absolute; top:16px; left:17px; color:#aab6aa; font-size:.64rem; letter-spacing:.16em; }
.shop-card-category { position:absolute; bottom:16px; left:17px; color:#bec8bf; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; }
.shop-card-condition { position:absolute; right:17px; bottom:14px; padding:4px 7px; border:1px solid rgba(231,239,231,.35); color:#eef3ed; background:rgba(15,20,17,.48); font-size:.58rem; letter-spacing:.04em; }
.shop-card-copy { display:flex; flex-direction:column; justify-content:space-between; min-height:174px; padding:21px 19px 18px; }
.shop-card-copy h2 { font-size:1.3rem; letter-spacing:-.03em; }
.shop-card-copy h2 a:hover { color:var(--ctd-accent); }
.shop-card-copy p { font-size:.79rem; line-height:1.75; margin-top:9px; }
.shop-card-bottom { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:22px; border-top:1px solid var(--ctd-line); padding-top:13px; }
.shop-card-bottom strong { font-size:1.15rem; font-weight:600; }
.shop-card-bottom span { color:var(--ctd-muted); font-size:.64rem; }
.shop-note { padding-top:44px; padding-bottom:88px; }
.shop-note-inner { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; border-top:1px solid var(--ctd-line); padding-top:28px; }
.shop-note h2 { font-size:2rem; margin-top:13px; }
.shop-note p:not(.ctd-eyebrow) { max-width:550px; font-size:.84rem; line-height:1.8; margin-top:13px; }
.shop-note p a { color:var(--ctd-accent); text-decoration:underline; }
.product-layout { display:grid; grid-template-columns:1fr 1fr; gap:74px; padding-top:65px; padding-bottom:92px; }
.product-layout .ctd-breadcrumb { margin-bottom:25px; }
.product-media { min-height:500px; position:relative; display:grid; place-items:center; background:#242a26; color:#fff; overflow:hidden; border:1px solid #303a33; }
.product-media img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.product-media .shop-card-mark { font-size:6rem; }
.product-media-label { position:absolute; bottom:20px; left:20px; color:#b9c4b9; font-size:.62rem; letter-spacing:.16em; }
.product-copy { padding:43px 0 0 10px; max-width:580px; }
.product-copy .ctd-eyebrow { color:var(--ctd-accent); }
.product-copy h1 { font-size:clamp(2.5rem,4.5vw,4.5rem); margin-top:15px; }
.product-price { color:var(--ctd-ink); font-size:1.65rem; font-weight:600; margin-top:21px; }
.product-price small { color:var(--ctd-muted); font-size:.68rem; font-weight:500; }
.product-price-net { color:var(--ctd-muted); font-size:.68rem; margin-top:3px; }
.product-description { max-width:470px; font-size:.94rem; line-height:1.9; margin-top:23px; }
.product-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:30px; border-top:1px solid var(--ctd-line); border-bottom:1px solid var(--ctd-line); padding:17px 0; }
.product-meta span { display:flex; flex-direction:column; gap:4px; }
.product-meta span { border-left:2px solid var(--ctd-accent); padding-left:12px; }
.product-meta strong { font-size:.77rem; }
.product-meta small { color:var(--ctd-muted); font-size:.68rem; line-height:1.5; }
.product-buy { margin-top:28px; border-top:1px solid var(--ctd-line); padding-top:22px; }
.product-buy label { display:block; font-size:.74rem; font-weight:700; margin-bottom:7px; }
.product-buy>div { display:flex; gap:11px; }
.product-buy>div .ctd-button { flex:1; }
.product-buy input { width:76px; border:1px solid #bfc5bb; background:#fafbf8; padding:13px; font:inherit; }
.product-buy button:disabled { opacity:.45; cursor:not-allowed; }
.product-copy>.ctd-text-link { margin-top:23px; }
.related-products { padding-bottom:90px; }
.related-products .shop-grid { padding-top:0; }
.cart-layout,.checkout-layout { display:grid; grid-template-columns:1fr 340px; gap:65px; padding-top:60px; padding-bottom:100px; align-items:start; }
.cart-lines { border-top:1px solid var(--ctd-line); }
.cart-line { display:grid; grid-template-columns:72px 1fr auto 88px auto; gap:18px; align-items:center; border-bottom:1px solid var(--ctd-line); padding:18px 0; }
.cart-line-mark { width:72px; height:72px; display:grid; place-items:center; background:#242a26; color:#eff3ed; font-size:.85rem; font-weight:900; font-style:italic; }
.cart-line-mark i { color:var(--ctd-accent); font-style:normal; margin-left:2px; }
.cart-line-copy h2 { font-size:1.1rem; }
.cart-line-copy h2:hover { color:var(--ctd-accent); }
.cart-line-copy p { font-size:.68rem; color:var(--ctd-muted); margin-top:6px; }
.cart-line-price { display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.cart-line-price strong { font-size:.98rem; }
.cart-line-price span { color:var(--ctd-muted); font-size:.64rem; }
.cart-quantity { color:var(--ctd-muted); font-size:.62rem; display:flex; flex-direction:column; gap:5px; }
.cart-quantity input { width:63px; border:1px solid #bfc5bb; padding:9px 8px; background:#fafbf8; font:inherit; }
.cart-remove { border:0; background:none; padding:0; color:var(--ctd-muted); font-size:.63rem; cursor:pointer; text-decoration:underline; }
.cart-lines>form>.ctd-text-link { margin-top:22px; background:none; border:0; color:var(--ctd-ink); cursor:pointer; }
.cart-summary { background:var(--ctd-dark); color:#fff; padding:27px 25px; position:sticky; top:118px; }
.cart-summary .ctd-eyebrow { color:#acb8ad; }
.cart-summary h2 { margin-top:11px; font-size:1.6rem; }
.cart-summary>div { display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid #3e4940; padding:14px 0; font-size:.76rem; }
.cart-summary>div span { color:#b6c0b6; }
.cart-summary>div strong { font-weight:600; }
.cart-summary .cart-total { border-bottom:0; padding-top:21px; font-size:.9rem; }
.cart-summary .ctd-button { width:100%; margin-top:12px; }
.cart-secure { color:#aeb8ae; font-size:.66rem; line-height:1.7; margin-top:18px; }
.shop-empty { padding:48px 0 65px; border-bottom:1px solid var(--ctd-line); }
.shop-empty h2 { font-size:2.1rem; margin-top:14px; }
.shop-empty p:not(.ctd-eyebrow) { font-size:.87rem; margin-top:13px; }
.shop-empty .ctd-button { margin-top:26px; }
.checkout-layout .ctd-form-card { padding:30px; }
.checkout-layout .cart-summary { position:static; }
.order-success { padding-top:100px; padding-bottom:140px; max-width:830px; }
.order-success h1 { max-width:700px; font-size:clamp(2.8rem,6vw,5.4rem); margin-top:17px; }
.order-success>p:not(.ctd-eyebrow) { max-width:550px; font-size:1rem; line-height:1.8; margin-top:25px; }
.order-status { display:inline-flex; flex-direction:column; gap:3px; margin-top:28px; border-left:2px solid var(--ctd-accent); padding-left:15px; }
.order-status span { color:var(--ctd-muted); font-size:.64rem; text-transform:uppercase; letter-spacing:.15em; }
.order-status strong { font-size:.9rem; }
.order-success .ctd-button { margin-top:32px; }
html[data-theme="dark"] .shop-card { background:rgba(255,255,255,.035); }
html[data-theme="dark"] .product-buy input,html[data-theme="dark"] .cart-quantity input { background:#18201c; border-color:#556258; color:var(--ctd-ink); }

@media (max-width:800px) {
  .ctd-cart-link span:nth-child(2) { display:none; }
  .shop-toolbar { align-items:flex-start; flex-direction:column; padding-top:42px; }
  .shop-categories { justify-content:flex-start; gap:14px; }
  .shop-conditions { justify-content:flex-start; margin-top:14px; }
  .shop-grid { grid-template-columns:1fr; gap:16px; padding-top:20px; }
  .shop-card-media { min-height:230px; }
  .shop-note-inner { align-items:flex-start; flex-direction:column; gap:24px; }
  .product-layout { grid-template-columns:1fr; gap:20px; padding-top:33px; padding-bottom:58px; }
  .product-copy { padding:0; }
  .product-media { min-height:330px; }
  .product-copy h1 { font-size:2.8rem; }
  .product-meta { grid-template-columns:1fr; }
  .cart-layout,.checkout-layout { grid-template-columns:1fr; gap:30px; padding-top:35px; padding-bottom:60px; }
  .cart-line { grid-template-columns:56px 1fr auto; gap:12px; }
  .cart-line-mark { width:56px; height:56px; }
  .cart-line-price { align-items:flex-start; grid-column:2; }
  .cart-quantity { grid-column:3; grid-row:1 / span 2; }
  .cart-remove { grid-column:2; justify-self:start; }
  .cart-summary { position:static; }
  .checkout-layout .ctd-form-card { padding:22px; }
  .order-success { padding-top:63px; padding-bottom:90px; }
}

.admin-products-table td strong { display:block; }
.admin-products-table td small { display:block; color:var(--ctd-muted); margin-top:4px; font-size:.68rem; }
.admin-condition { display:inline-flex; align-items:center; padding:5px 8px; border:1px solid #435247; color:#cbd8cc; background:#202b23; font-size:.66rem; white-space:nowrap; }
.admin-condition-used { border-color:#b5683b; color:#f1c8af; background:#39261d; }
.admin-condition-like_new { border-color:#637768; color:#d6e4d6; background:#28362b; }
.admin-table-actions { display:flex; align-items:center; gap:12px; white-space:nowrap; }
.admin-table-actions form { margin:0; }
.text-button { border:0; background:none; color:var(--ctd-accent); cursor:pointer; padding:8px 0; font:inherit; font-size:.74rem; font-weight:700; }
.admin-product-form { padding:31px; }
.admin-product-form .admin-field-grid { max-width:920px; }
.admin-product-form textarea { width:100%; resize:vertical; border:1px solid #bfc5bb; background:#fafbf8; color:var(--ctd-ink); padding:12px 13px; font:inherit; font-size:.86rem; }
.admin-product-form .check-field { display:flex; flex-direction:row; align-items:center; gap:9px; }
.admin-product-form .check-field input { width:16px; height:16px; accent-color:var(--ctd-accent); }
.admin-help { margin-top:14px; color:var(--ctd-muted); font-size:.76rem; line-height:1.7; }
html[data-theme="dark"] .admin-product-form textarea { background:#18201c; border-color:#556258; color:var(--ctd-ink); }
@media (max-width:800px) { .admin-product-form { padding:22px; } .admin-table-actions { align-items:flex-start; flex-direction:column; gap:2px; } }

/* Language switcher: compact controls with real, inline flag artwork. */
.ctd-language-switcher { display:flex; align-items:center; gap:4px; }
.ctd-language-switcher form { margin:0; }
.ctd-language-flag { display:inline-flex; align-items:center; justify-content:center; gap:5px; width:auto; min-width:47px; height:31px; padding:4px 6px; border:1px solid transparent; border-radius:3px; background:transparent; color:var(--ctd-ink); cursor:pointer; font:inherit; font-size:.62rem; font-weight:700; letter-spacing:.05em; line-height:1; transition:border-color .2s ease, background .2s ease, color .2s ease; }
.ctd-language-code { display:inline-block; }
.ctd-flag-icon { display:block; flex:none; width:23px; height:15px; border-radius:2px; box-shadow:0 0 0 1px rgba(24,31,27,.16); }
.ctd-language-flag:hover,.ctd-language-flag.is-active { border-color:var(--ctd-line); background:rgba(207,99,47,.08); }
.ctd-language-flag:focus-visible { outline:2px solid var(--ctd-accent); outline-offset:2px; }
html[data-theme="dark"] .ctd-language-flag { color:#e6eee6; }
.ctd-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ctd-form .pickup-fields[hidden]{display:none!important}
@media (max-width:800px){
 .ctd-topbar .ctd-container{justify-content:center!important;text-align:center!important}
 .ctd-topbar .ctd-container>span{display:none!important}
 .ctd-topbar .ctd-container>span:first-child{display:block!important}
 .ctd-header .ctd-nav-row{min-height:76px!important;padding:12px 18px!important;gap:12px!important}
 .ctd-brand{flex:0 0 auto!important;max-width:none!important;display:inline-flex!important;align-items:center!important}
 .ctd-monogram{font-size:2.35rem!important;line-height:1!important}
 .ctd-brand-caption{font-size:.48rem!important;letter-spacing:.14em!important;line-height:1.35!important;white-space:nowrap!important}
 .ctd-menu-button{flex:0 0 42px!important;margin-left:auto!important}
}
/* Honeypot field stays in the form for spam detection but takes no visual space. */
.ctd-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.ctd-honeypot input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
