/* ============================================================
   shop-info.css (leg L23): delivery, terms, privacy, contact.
   Section E of designs/shop-till-2026-11-13/till.css, copied rule for rule, then the few rules this build needs that the
   pack does not draw (marked "L23 build"). Loads after shop.css on the four information pages.
   ============================================================ */
.info{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:start;padding:40px 0 88px}
.prose{max-width:62ch}
.prose h2{margin:36px 0 10px;font-size:26px;line-height:1.1;letter-spacing:-.02em}
.prose h2:first-child{margin-top:0}
.prose p{margin-bottom:14px;font-size:18px;line-height:1.55}
.facts{margin:0 0 30px;border-top:2px solid var(--ink)}
.facts div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 24px;padding:18px 0;border-bottom:2px solid var(--ink)}
.facts dt{font-size:19px;font-weight:700}
.facts dt small{display:block;margin-top:2px;font-size:16px;font-weight:400;color:var(--ink-soft)}
.facts dd{font-family:Montserrat,Figtree,sans-serif;font-style:italic;font-weight:900;font-size:30px;line-height:1;letter-spacing:-.015em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.side-links{position:sticky;top:24px;padding:24px 26px 12px;background:var(--white);border-top:6px solid var(--ink)}
.side-links h2{margin-bottom:8px;font-size:19px}
.side-links ul{margin:0;padding:0;list-style:none}
.side-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;border-top:1px solid rgba(6,32,26,.2);font-weight:700}
.side-links a::after{content:"";flex:none;width:26px;height:5px;background:var(--gold);transform:skewX(-30deg);transition:width .25s var(--ease)}
.side-links a:hover::after{width:40px}
.contact-form{max-width:640px}
.contact-form .actions{margin-top:6px;padding-left:6px}
.trap{position:absolute;left:-9999px}
.range-links{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:26px;padding-left:6px}

/* L23 build: the empty slot of a terms or privacy heading. The pack draws it as a dashed box with one line of words (the
   specimen's own box is monospace grey scaffolding, so the box here is the kit's: a dashed ink hairline, Figtree). */
.info-slot{display:grid;place-items:center;min-height:150px;margin:0 0 6px;padding:18px;border:2px dashed rgba(6,32,26,.32);color:var(--ink-soft);font-size:16px;font-weight:600;line-height:1.4;text-align:center}
.info-status{margin:0 0 22px}
/* L23 build: the delivery figures fill in from Settings at run time (no figure is ever in the built page). Until then, or if
   they cannot be read, the quiet grey block of the price loading state (till.css block A) stands in. */
.facts div[hidden]{display:none}
.info-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.facts dd.is-loading span.info-bar{display:inline-block;width:4.2ch;height:.9em;background:rgba(6,32,26,.12);vertical-align:baseline}
/* L23 build: the contact form's busy state and the sent state. */
.contact-form[aria-busy=true] .btn{opacity:.6;cursor:progress}
.contact-form .form-error{margin:0 0 18px}
.contact-form .field .hint[hidden]{display:none}
.contact-sent{padding-top:0}
.contact-sent[hidden],.contact-form[hidden]{display:none}
@media (max-width:980px){
  .info{grid-template-columns:1fr;gap:34px}
  .side-links{position:static}
}
@media (max-width:700px){
  .info{padding:26px 0 56px}
  .facts dd{font-size:26px}
  .info-slot{min-height:96px}
  .contact-form .actions{flex-direction:column;align-items:stretch;padding-left:0}
  .contact-form .actions .btn{width:calc(100% - 12px);margin-left:6px}
}

/* L94 (design pass L91): G3 (S16). A link inside the wording of an information page looks like a link. */
.info .prose p a,.info .prose li a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.info .prose p a:hover,.info .prose li a:hover{text-decoration-color:var(--gold)}
