/* Kodak hall theme for kodakgp.com. Same tokens as play.kodakgp.com
   (src/styles.css @theme). Loaded last on every page; see DESIGN.md. */
:root{
  --k-bg:#0c0a08;--k-surface:#16120e;--k-surface-2:#201a14;--k-line:#2c241a;
  --k-oak:#3b2616;--k-oak-light:#6b4528;
  --k-brass:#b8892f;--k-brass-hi:#f1d892;--k-brass-lo:#6e4f17;--k-gold:#cfa646;--k-gold-soft:#ead39a;
  --k-felt:#123a2a;--k-felt-hi:#1d5a40;--k-blood:#9e1f1b;--k-crimson:#c8281e;--k-ivory:#f2ead9;--k-muted:#b5ab98;
  --k-display:"Cinzel","Trajan Pro",Georgia,serif;
  --k-sans:"Inter","Manrope",system-ui,sans-serif;
  --k-num:"Barlow Condensed","Inter",system-ui,sans-serif;
  /* remap the store's legacy roles onto hall materials */
  --ink:var(--k-bg);--paper:var(--k-ivory);--muted:var(--k-muted);
  --line:rgba(207,166,70,.18);--red:var(--k-blood);--red2:var(--k-gold);--green:#7fb38f;
}
html,body{background:var(--k-bg);color:var(--k-ivory)}
body{font-family:var(--k-sans);
  background:
    radial-gradient(110% 70% at 50% -10%,rgba(241,216,146,.07),transparent 55%),
    radial-gradient(80% 60% at 100% 100%,rgba(158,31,27,.06),transparent 50%),
    var(--k-bg)!important}
body.secondary-page{background:var(--k-bg)}
h1,h2,.mast-copy h1,.secondary-hero h1,.section-head h2,.quote-intro h2,dialog h2,.secondary-section h2{
  font-family:var(--k-display)!important;letter-spacing:.01em!important;font-weight:700}
h3,.method-grid h3,.secondary-card h3,.rails-vault h3,.step strong,summary{font-family:var(--k-display)!important;letter-spacing:.03em!important}
.rate-number strong,.lot>b,.estimate strong{font-family:var(--k-num)!important;letter-spacing:0!important;font-variant-numeric:tabular-nums}
h1 span,h2 span,.mast-copy h1 span{color:var(--k-gold)!important;
  background:linear-gradient(180deg,var(--k-brass-hi),var(--k-gold) 55%,var(--k-brass));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.secondary-kicker,.section-kicker,.eyebrow,.strip-inner b,.method-grid article>span{color:var(--k-gold-soft)!important;letter-spacing:.2em}

/* buttons: brass primary, oak ghost */
.button{border-radius:10px;font-family:var(--k-sans);letter-spacing:.08em;text-transform:uppercase;
  transition:transform .12s cubic-bezier(.25,1,.5,1),filter .15s,box-shadow .2s,border-color .2s}
.button:active{transform:translateY(1px) scale(.985)}
.button-red,.quote-card>.button{color:#1a1204!important;border:1px solid var(--k-brass-lo)!important;text-shadow:0 1px 0 rgba(255,240,200,.45);
  background:linear-gradient(180deg,var(--k-brass-hi),var(--k-gold) 42%,var(--k-brass) 70%,var(--k-brass-lo))!important;
  box-shadow:inset 0 1px 0 rgba(255,248,220,.55),inset 0 -2px 0 rgba(80,55,10,.35),0 8px 20px -10px rgba(207,166,70,.7)}
.button-red:hover,.quote-card>.button:hover{filter:brightness(1.07) saturate(1.05)}
.button b{color:inherit}
.button-line{background:linear-gradient(180deg,#2a2118,var(--k-surface-2));border-color:rgba(184,137,47,.32);box-shadow:inset 0 1px 0 rgba(241,216,146,.07)}
.button-line:hover{border-color:rgba(207,166,70,.6);background:linear-gradient(180deg,#30261b,#231c15)}

/* panels: oak + brass frame, no flat offset shadows */
.rate-board,.secondary-card,.secondary-hero-aside,.rails-vault .card,dialog,.legal-note{
  border-radius:14px;border:1px solid rgba(184,137,47,.32)!important;
  background:linear-gradient(180deg,rgba(241,216,146,.045),transparent 35%),repeating-linear-gradient(92deg,rgba(0,0,0,.07) 0 2px,transparent 2px 9px),linear-gradient(180deg,#221911,#16110c)!important;
  box-shadow:inset 0 1px 0 rgba(241,216,146,.1),0 22px 50px -24px rgba(0,0,0,.85)!important}
.secondary-aside .secondary-card:first-child{border-color:rgba(207,166,70,.55)!important}
.rate-board{background:radial-gradient(120% 90% at 50% 0%,rgba(255,236,180,.10),transparent 55%),repeating-linear-gradient(45deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px),linear-gradient(180deg,var(--k-felt-hi),var(--k-felt))!important}
.quote-card{border-radius:14px;background:linear-gradient(180deg,#f6efdf,#ebe0c8);color:#1a140c;
  box-shadow:0 0 0 1px var(--k-brass-lo),0 0 0 4px rgba(184,137,47,.55),0 26px 60px -26px rgba(0,0,0,.9)!important}
.quote-card input:focus,.quote-card select:focus{outline-color:var(--k-brass)}
.form-top output{color:var(--k-blood)}

/* catalog lots: chip-rack tiles with sheen */
.catalog{border-radius:14px;overflow:hidden;border-color:rgba(184,137,47,.3);background:rgba(184,137,47,.2)}
.lot{background:linear-gradient(180deg,rgba(241,216,146,.04),transparent 40%),var(--k-surface);overflow:hidden}
.lot:before{transition:opacity .2s}
.lot:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(115deg,transparent 35%,rgba(255,240,200,.09) 50%,transparent 65%);transform:translateX(-60%);transition:opacity .2s,transform .6s cubic-bezier(.25,1,.5,1)}
.lot:hover:after{opacity:1;transform:translateX(60%)}
.lot:hover,.lot.selected{background:linear-gradient(180deg,rgba(241,216,146,.07),transparent 50%),#231b13}
.lot.selected{outline-color:var(--k-gold)}
.lot.selected:before{background:linear-gradient(90deg,var(--k-brass-lo),var(--k-brass-hi),var(--k-brass-lo))}
.lot strong,.lot i em,.custom-mark,.custom-row a{color:var(--k-gold)!important}

.strip,.method,.secondary-page .nav nav{background:linear-gradient(180deg,#1a130d,#130e0a)}
.strip{border-color:rgba(184,137,47,.25)}
.step-number{border-color:var(--k-brass);color:var(--k-gold-soft);border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#3a2c18,#1a130c);box-shadow:inset 0 1px 0 rgba(241,216,146,.25)}
.payment-callout{border-left-color:var(--k-brass);background:rgba(184,137,47,.09)}
.toast{background:var(--k-ivory);color:#1a140c;border-radius:10px;box-shadow:0 0 0 1px var(--k-brass-lo)}
a:hover{color:var(--k-gold-soft)}
:focus-visible{outline:2px solid var(--k-gold)!important;outline-offset:3px}
details summary b{color:var(--k-gold)}
@media(prefers-reduced-motion:reduce){.lot:after{display:none}}
.order-cta-sticky{background:linear-gradient(180deg,#1f1810,#120d09)!important;border-top:1px solid rgba(184,137,47,.4)!important}
.order-cta-sticky a{color:#1a1204!important;border-radius:10px;background:linear-gradient(180deg,var(--k-brass-hi),var(--k-gold) 42%,var(--k-brass) 70%,var(--k-brass-lo))!important;box-shadow:inset 0 1px 0 rgba(255,248,220,.55),0 8px 20px -10px rgba(207,166,70,.7)}
.order-cta-sticky button{background:transparent!important;color:var(--k-ivory)!important;border-color:rgba(184,137,47,.35)!important}
