/* Aon Apparel — preview-only additions on top of the design system.
   Everything here is a candidate for the WooCommerce child theme; nothing
   overrides a token, it only composes existing ones.
   Created 2026-08-06 for the ours-vs-Custom-Ink canvas board. */

.lucide{width:20px;height:20px;stroke-width:1.75;flex:none}
.aon-nav__aside .lucide,.aon-actions__note .lucide,.aon-header__phone .lucide,
.aon-hero__proof-line .lucide,.trust__item .lucide{width:14px;height:14px;stroke-width:2}
body{margin:0;overflow-x:hidden;background:var(--surface-page)}

/* ---- trust bar under the header ---- */
.trust{background:var(--surface-card);border-bottom:var(--border-hairline) solid var(--line-soft)}
.trust__inner{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3) var(--sp-6);padding-block:var(--sp-4)}
@media (min-width:900px){.trust__inner{grid-template-columns:repeat(4,1fr)}}
.trust__item{display:flex;flex-direction:column;gap:2px}
.trust__t{font-size:var(--fs-300);font-weight:var(--fw-bold);color:var(--text-strong)}
.trust__d{font-size:var(--fs-200);color:var(--text-muted);line-height:var(--lh-normal)}

/* ---- hero dates strip ---- */
.dates{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-5);font-size:var(--fs-300);color:var(--text-body)}
.dates b{color:var(--text-strong)}
.dates__sep{color:var(--line)}

/* ---- category tiles ---- */
.cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
@media (min-width:760px){.cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4)}}
.cat{display:flex;flex-direction:column;background:var(--surface-card);border:var(--border-hairline) solid var(--line-soft);border-radius:var(--radius-card);overflow:hidden;text-decoration:none;color:inherit;transition:border-color .12s,transform .12s}
.cat:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.cat--utility{border-style:dashed;background:transparent}
.cat__ph{aspect-ratio:4/3;background:var(--surface-photo);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cat__ph img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.cat__b{padding:var(--sp-3) var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:2px}
.cat__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}
.cat__n{font-size:var(--fs-400);font-weight:var(--fw-bold);color:var(--text-strong)}
.cat__c{font-size:var(--fs-200);color:var(--text-subtle);font-variant-numeric:tabular-nums;white-space:nowrap}
.cat__p{font-size:var(--fs-200);color:var(--action-text);font-weight:var(--fw-semibold)}
.cat__s{font-size:var(--fs-200);color:var(--text-muted)}

/* ---- timeline (1b's dates, not ranges) ---- */
.tl{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-3);margin-top:var(--sp-6)}
.tl__step{position:relative;padding-top:var(--sp-5)}
.tl__step::before{content:"";position:absolute;top:5px;left:0;width:11px;height:11px;border-radius:50%;background:var(--action-bg)}
.tl__step--last::before{background:var(--surface-card);border:2px solid var(--action-bg)}
.tl__step::after{content:"";position:absolute;top:10px;left:14px;right:0;height:1px;background:var(--line)}
.tl__step:last-child::after{display:none}
.tl__d{font-size:var(--fs-300);font-weight:var(--fw-bold);color:var(--text-strong)}
.tl__t{font-size:var(--fs-200);color:var(--text-muted);line-height:var(--lh-normal)}
@media (max-width:760px){.tl{grid-template-columns:1fr 1fr}.tl__step::after{display:none}}

/* ---- shop / partner band ---- */
.shop{display:grid;gap:var(--sp-6);align-items:center}
@media (min-width:900px){.shop{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--sp-8)}}
.shop__photo{border-radius:var(--radius-card);overflow:hidden;border:var(--border-hairline) solid var(--line-soft);background:var(--surface-sunken)}
.shop__photo img{display:block;width:100%;height:auto}
.shop__cap{font-size:var(--fs-100);color:var(--text-muted);padding:var(--sp-2) var(--sp-3);background:var(--surface-card);border-top:var(--border-hairline) solid var(--line-soft)}

/* ---- two decoration methods ---- */
.methods{display:grid;gap:var(--sp-4)}
@media (min-width:760px){.methods{grid-template-columns:1fr 1fr;gap:var(--sp-5)}}
.method__photo{aspect-ratio:16/9;border-radius:var(--radius-card);overflow:hidden;background:var(--surface-sunken);border:var(--border-hairline) solid var(--line-soft)}
.method__photo img{width:100%;height:100%;object-fit:cover}

/* ---- honest placeholder ---- */
.ph{background:repeating-linear-gradient(135deg,var(--sand-100),var(--sand-100) 10px,var(--sand-50) 10px,var(--sand-50) 20px);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-subtle);font:var(--fs-100)/1.5 var(--font-mono);padding:var(--sp-4)}

/* ---- footer ---- */
.foot{background:var(--surface-ink);color:var(--text-on-ink-muted);font-size:var(--fs-200)}
.foot__inner{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-6);align-items:center;justify-content:space-between;padding-block:var(--sp-5)}
.foot b{color:var(--text-on-ink)}

/* ---- footer v2 (columns) ---- */
.foot2{display:grid;gap:var(--sp-6);padding-block:var(--sp-7) var(--sp-5);line-height:1.7}
@media (min-width:760px){.foot2{grid-template-columns:1.4fr 1fr 1fr}}
.foot2 p{margin:0}
.foot2 a{color:var(--text-on-ink-muted);text-decoration:none}
.foot2 a:hover{color:var(--text-on-ink)}
.foot2__brand{font-weight:var(--fw-black);font-size:var(--fs-500);color:var(--text-on-ink);margin:0 0 var(--sp-2)}
.foot2__h{font-weight:var(--fw-bold);color:var(--text-on-ink);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--fs-100);margin:0 0 var(--sp-2)}
.foot2__base{border-top:1px solid rgba(255,255,255,.14);padding-block:var(--sp-4);font-size:var(--fs-100)}

/* ---- FAQ accordion ---- */
.faq{border-top:var(--border-hairline) solid var(--line-soft);padding-block:var(--sp-3)}
.faq:last-child{border-bottom:var(--border-hairline) solid var(--line-soft)}
.faq summary{cursor:pointer;font-weight:var(--fw-bold);color:var(--text-strong);font-size:var(--fs-400);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:var(--fs-600);color:var(--text-muted);line-height:1}
.faq[open] summary::after{content:"−"}
.faq p{margin:var(--sp-3) 0 0;color:var(--text-body);font-size:var(--fs-300);line-height:var(--lh-normal);max-width:66ch}

/* ---- PLP ---- */
.plp{display:grid;gap:var(--sp-6)}
@media (min-width:1000px){.plp{grid-template-columns:230px minmax(0,1fr);gap:var(--sp-8)}}
.crumb{font-size:var(--fs-200);color:var(--text-muted);padding-block:var(--sp-4)}
.crumb a{color:var(--text-muted);text-decoration:none}
.crumb a:hover{color:var(--action-text)}
.rail__h{font-size:var(--fs-100);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--sp-2)}
.rail__g{padding-block:var(--sp-4);border-top:var(--border-hairline) solid var(--line-soft)}
.rail__g:first-child{border-top:0;padding-top:0}
.note{font-size:var(--fs-100);color:var(--text-subtle);line-height:var(--lh-normal);margin-top:var(--sp-4)}

/* ---- PDP ---- */
.pdp{display:grid;gap:var(--sp-6)}
@media (min-width:900px){.pdp{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--sp-8);align-items:start}}
.gal{border:var(--border-hairline) solid var(--line-soft);border-radius:var(--radius-card);background:var(--surface-photo);overflow:hidden}
.gal img{display:block;width:100%;height:auto}
.seg{display:inline-flex;border:var(--border-hairline) solid var(--line);border-radius:var(--radius-control);overflow:hidden}
.seg button{appearance:none;border:0;background:var(--surface-card);padding:10px 18px;font:var(--fw-semibold) var(--fs-300)/1 var(--font-core);color:var(--text-body);cursor:pointer}
.seg button+button{border-left:var(--border-hairline) solid var(--line)}
.seg button[aria-pressed="true"]{background:var(--action-bg);color:var(--action-fg)}
.run{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-2)}
.run__c{display:flex;flex-direction:column;gap:4px;align-items:center}
.run__l{font-size:var(--fs-100);font-weight:var(--fw-bold);letter-spacing:var(--tracking-caps);color:var(--text-muted)}
.run__i{width:100%;text-align:center;padding:8px 4px;border:var(--border-hairline) solid var(--line);border-radius:var(--radius-control);font:var(--fw-bold) var(--fs-400)/1 var(--font-core);font-variant-numeric:tabular-nums;background:var(--surface-card);color:var(--text-strong)}

/* ---- V2 (2026-08-06 evening): compact hero ---- */
.aon-hero--compact .aon-hero__inner{padding-block:var(--sp-7) var(--sp-7)}
.aon-hero--compact h1{font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.06}
.aon-hero__proof--compact{align-self:center}
.aon-hero__proof-photo--compact img{max-height:300px;object-fit:contain}
.heroanchor{display:flex;align-items:baseline;gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap}
.heroanchor__qty{font-size:var(--fs-300);font-weight:var(--fw-semibold);color:var(--text-muted)}
.heroanchor__price{font-size:var(--fs-900,2.6rem);font-weight:var(--fw-black);color:var(--text-strong);font-variant-numeric:tabular-nums;line-height:1}
.heroanchor__unit{font-size:var(--fs-300);color:var(--action-text);font-weight:var(--fw-semibold)}

/* ---- V2 category tiles: label BELOW the card, composite cutout inside ---- */
.cats2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5) var(--sp-4)}
@media (min-width:760px){.cats2{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cat2{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit}
.cat2__card{display:block;aspect-ratio:15/11;border-radius:var(--radius-card);background:var(--surface-sunken);overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}
.cat2__card img{width:100%;height:100%;object-fit:contain;padding:6%}
.cat2:hover .cat2__card{transform:translateY(-2px);box-shadow:0 6px 18px rgba(31,26,18,.08)}
.cat2__n{margin-top:var(--sp-3);font-size:var(--fs-400);font-weight:var(--fw-bold);color:var(--text-strong)}
.cat2__s{font-size:var(--fs-200);color:var(--text-muted)}
.cat2:hover .cat2__n{color:var(--action-text)}

/* ---- V2 brand wordmark tiles ---- */
.brandtiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
@media (min-width:760px){.brandtiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
.brandtile{display:flex;align-items:center;justify-content:center;padding:var(--sp-5) var(--sp-3);background:var(--surface-card);border:var(--border-hairline) solid var(--line-soft);border-radius:var(--radius-card);font-size:var(--fs-400);color:var(--text-strong);opacity:.82;white-space:nowrap}

/* ---- header search dropdown (assets/search.js builds the markup) ---- */
.aon-header__search{position:relative}
.aon-search__results{position:absolute;z-index:60;top:calc(100% + 6px);left:0;right:0;max-height:min(70vh,420px);overflow-y:auto;background:var(--surface-card);border:var(--border-hairline) solid var(--line);border-radius:var(--radius-card);box-shadow:0 12px 32px rgba(17,17,17,.14)}
.aon-search__results[hidden]{display:none}
.aon-search__hit{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);text-decoration:none;color:inherit;border-bottom:var(--border-hairline) solid var(--line-soft)}
.aon-search__hit:last-child{border-bottom:0}
.aon-search__hit:hover,.aon-search__hit.is-active{background:var(--surface-page)}
.aon-search__hit img{width:40px;height:40px;object-fit:contain;background:var(--surface-photo);border-radius:var(--radius-control);flex:none}
.aon-search__meta{display:flex;flex-direction:column;min-width:0;flex:1}
.aon-search__name{font-size:var(--fs-300);font-weight:var(--fw-semibold);color:var(--text-strong)}
.aon-search__meta small{font-size:var(--fs-200);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aon-search__price{font-size:var(--fs-300);font-weight:var(--fw-bold);color:var(--text-strong);white-space:nowrap;text-align:right;display:flex;flex-direction:column;flex:none}
.aon-search__price small{font-size:var(--fs-100);font-weight:var(--fw-regular);color:var(--text-muted)}
.aon-search__empty{margin:0;padding:var(--sp-4);font-size:var(--fs-300);color:var(--text-muted)}

/* ---- file input (quote artwork upload) ----
   .aon-input sets a fixed control height with no vertical padding, which leaves
   the native file button top-aligned; flex re-centres it without touching the
   shared control token. */
.aon-input[type=file]{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer}
.aon-input[type=file]::file-selector-button{margin-right:var(--sp-3);padding:6px var(--sp-3);border:var(--border-hairline) solid var(--line);border-radius:var(--radius-control);background:var(--surface-page);font-family:var(--font-core);font-size:var(--fs-200);font-weight:var(--fw-semibold);color:var(--text-strong);cursor:pointer}
.aon-input[type=file]::file-selector-button:hover{border-color:var(--line-strong)}

/* ---- V2 mobile pass ---- */
@media (max-width:759px){
  .aon-utility__list span{display:none}
  .aon-header__inner{flex-wrap:wrap;row-gap:var(--sp-2)}
  .aon-header__search{order:3;flex-basis:100%}
  .aon-header__phone{display:none}
  .aon-nav__inner{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .aon-nav__inner::-webkit-scrollbar{display:none}
  .aon-nav__link{white-space:nowrap}
  .aon-nav__aside{display:none}
  .aon-hero__inner{grid-template-columns:1fr;gap:var(--sp-5)}
  .aon-hero--compact .aon-hero__inner{padding-block:var(--sp-5)}
  .heroanchor__price{font-size:2.1rem}
  .aon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
  .foot__inner{flex-direction:column;align-items:flex-start}
  .run{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:899px){
  .est{position:static;order:-1}
}

/* ---- quote flow ---- */
.steps{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-6)}
.step{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-size:var(--fs-300);font-weight:var(--fw-semibold);background:var(--surface-sunken);color:var(--text-muted)}
.step--on{background:var(--action-bg);color:var(--action-fg)}
.step__n{opacity:.75;font-variant-numeric:tabular-nums}
.qf{display:grid;gap:var(--sp-6)}
@media (min-width:900px){.qf{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--sp-6);align-items:start}}
.est{position:sticky;top:calc(var(--header-h) + var(--sp-4))}
.est__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding-block:var(--sp-2);font-size:var(--fs-300)}
.est__row b{font-variant-numeric:tabular-nums}
.est__tot{border-top:var(--border-hairline) solid var(--line-soft);margin-top:var(--sp-2);padding-top:var(--sp-3)}
.est__tot b{font-size:var(--fs-700);font-weight:var(--fw-black);color:var(--text-strong)}
.drop{border:2px dashed var(--line);border-radius:var(--radius-card);padding:var(--sp-8);text-align:center;color:var(--text-muted);background:var(--surface-card)}

/* ---- standing-promo price display (2026-08-08) — struck list + engine promo ---- */
.aon-strike{font-size:.72em;font-weight:var(--fw-regular);color:var(--text-muted);text-decoration:line-through;margin-right:6px;font-variant-numeric:tabular-nums}
.aon-promo-note{display:inline-block;font-size:var(--fs-100);font-weight:var(--fw-semibold);color:var(--action-text);letter-spacing:.02em}

/* ---- guarantee band + review cards (2026-08-08) ---- */
.aon-guarantee{display:flex;gap:var(--sp-3);align-items:baseline;background:var(--surface-sunken);border:var(--border-hairline) solid var(--line-soft);border-radius:var(--radius-card);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-300);color:var(--text-body);line-height:var(--lh-normal)}
.aon-guarantee b{color:var(--text-strong)}
.aon-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4);margin-top:var(--sp-4)}
.aon-review{background:var(--surface-card);border:var(--border-hairline) solid var(--line-soft);border-radius:var(--radius-card);padding:var(--sp-4) var(--sp-5)}
.aon-review__stars{color:#d9a441;font-size:var(--fs-300);letter-spacing:2px}
.aon-review__text{margin:var(--sp-2) 0;font-size:var(--fs-300);color:var(--text-body);line-height:var(--lh-normal)}
.aon-review__who{font-size:var(--fs-200);color:var(--text-muted)}

/* ---- Aon Design Studio (studio.html) ---- */
.studio{display:grid;gap:var(--sp-6);align-items:start}
@media(min-width:960px){.studio{grid-template-columns:minmax(0,1fr) 360px}}
.studio__stage{position:relative;background:var(--surface-photo);border:var(--border-hairline) solid var(--line-soft);border-radius:var(--radius-card);overflow:hidden}
.studio__stage canvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab}
.studio__stage canvas.is-dragging{cursor:grabbing}
.studio__hint{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);background:color-mix(in srgb,var(--surface-card) 88%,transparent);border:var(--border-hairline) dashed var(--line);border-radius:var(--radius-card);padding:var(--sp-3) var(--sp-5);font-size:var(--fs-300);color:var(--text-muted);pointer-events:none;text-align:center}
.stw{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--sp-3)}
.stw button{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0;position:relative}
.stw button[aria-pressed="true"]{border-color:var(--action-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--action-bg) 35%,transparent)}
.stw__name{font-size:var(--fs-200);color:var(--text-muted);margin-top:var(--sp-1)}
.studio__row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}
.studio__slider{display:grid;grid-template-columns:86px 1fr 54px;gap:var(--sp-3);align-items:center;margin-top:var(--sp-3);font-size:var(--fs-200);color:var(--text-muted)}
.studio__slider input[type=range]{width:100%;accent-color:var(--action-bg)}
.studio__slider output{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-body)}
.studio__inks{display:flex;flex-wrap:wrap;gap:6px}
.studio__inks button{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0}
.studio__inks button[aria-pressed="true"]{border-color:var(--action-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--action-bg) 35%,transparent)}
.studio__presets{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-2)}
