/* CAVE FP 1.5 — safe visual redesign. Existing application logic remains untouched. */
:root{
  --bg:#f4efe7;
  --card:#fffdfa;
  --line:#d9cebd;
  --muted:#71685d;
  --gold:#a97932;
  --dark:#18130f;
  --wine:#661f2b;
  --shadow:0 18px 55px rgba(45,31,16,.09);
}
html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 100% 0,rgba(207,174,111,.20),transparent 31rem),
    radial-gradient(circle at 0 42%,rgba(102,31,43,.055),transparent 28rem),
    var(--bg);
  color:var(--dark);
}
.topbar{
  padding-left:max(20px,env(safe-area-inset-left));
  padding-right:max(20px,env(safe-area-inset-right));
  background:rgba(244,239,231,.86);
  border-bottom:1px solid rgba(169,121,50,.18);
  box-shadow:0 8px 34px rgba(39,28,16,.04);
}
.topbar h1{letter-spacing:-.035em;font-weight:500}
.eyebrow{color:var(--wine);letter-spacing:.22em}
.card{border-color:rgba(169,121,50,.22);box-shadow:var(--shadow);overflow:hidden}
.hero{
  min-height:215px;
  padding:31px;
  background:
    linear-gradient(112deg,rgba(19,14,11,.98),rgba(53,39,25,.91)),
    radial-gradient(circle at 80% 20%,rgba(199,155,83,.32),transparent 32%);
  border:1px solid rgba(216,179,111,.23);
}
.hero:before{content:"PRIVATE CELLAR";position:absolute;opacity:.07;font:700 44px Georgia,serif;letter-spacing:.08em;transform:rotate(-8deg);right:38px}
.hero{position:relative}
.count{font-size:72px;letter-spacing:-.055em;color:#fffaf1;text-shadow:0 8px 30px rgba(0,0,0,.28)}
.hero-sub{color:#d8cbb9;max-width:24rem}
.round-add{background:linear-gradient(145deg,#d3ad6c,#a87832);box-shadow:0 16px 32px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.5)}
.mini{padding:18px}.mini strong{font-family:Georgia,serif;font-weight:500;font-size:25px}
.search{box-shadow:0 11px 35px rgba(45,31,16,.055);border-color:rgba(169,121,50,.24)}
.section-head h2{font-size:24px;font-weight:500;letter-spacing:-.025em}
.wine-row{border:1px solid rgba(169,121,50,.20);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.wine-row:active{transform:scale(.985)}
.bottle-icon{background:linear-gradient(160deg,#f1e8dc,#e5d7c4);border:1px solid rgba(169,121,50,.18)}
.wine-copy strong{font-family:Georgia,serif;font-size:16px;font-weight:600}
.chip{background:#f0e4d1;color:#5f4624;border:1px solid rgba(169,121,50,.20)}
.bottom-nav{background:rgba(255,253,249,.91);border-top-color:rgba(169,121,50,.22);box-shadow:0 -10px 30px rgba(39,28,16,.05)}
.bottom-nav button.active{color:var(--wine)}
.bottom-nav button.active svg{filter:drop-shadow(0 3px 7px rgba(102,31,43,.18))}
input,select,textarea{background:#fffdf9;border-color:#d8cbb9;box-shadow:inset 0 1px 2px rgba(31,21,12,.025)}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(169,121,50,.18);border-color:#af8242}
.primary{background:linear-gradient(145deg,#211914,#120e0b);box-shadow:0 12px 28px rgba(23,17,12,.19)}
.secondary{background:#eee4d7;border:1px solid rgba(169,121,50,.18)}
.text-btn{color:var(--wine)}
.photo,.file-pick{background:linear-gradient(145deg,#fcfaf6,#f3ede4);border-color:#bfa77f}
.location-box,.info,.qr-hint{background:#f5eee4}
.location-preview{background:linear-gradient(145deg,#201812,#100c09);border:1px solid rgba(211,173,108,.21)}
.rack-card{background:rgba(255,253,250,.97)}
.rack-slot.occupied{background:linear-gradient(145deg,#ede2d2,#dfcfb9);border-color:#b99864}
.detail{padding:0 0 25px}
.detail>img,.detail-placeholder{border-radius:0;margin-bottom:25px;background:linear-gradient(160deg,#eee3d5,#dfcfbc)}
.detail>h2,.detail>p,.detail>.detail-grid,.detail>.back-photo,.detail>button{margin-left:22px;margin-right:22px}
.auth-card{border-top:5px solid var(--gold)}
.logo{background:linear-gradient(145deg,#271d16,#100c09);border:1px solid rgba(208,169,101,.38);box-shadow:0 13px 38px rgba(30,20,12,.22)}
.toast{background:#1b1410;border:1px solid rgba(211,173,108,.27)}
@media (prefers-color-scheme:dark){
 :root{--bg:#17120f;--card:#211a15;--line:#45372b;--muted:#b3a697;--dark:#f7efe4;--gold:#d0a35c;--wine:#d38b93}
 html,body{background:#17120f;color:var(--dark)}
 body{background:radial-gradient(circle at 100% 0,rgba(130,87,36,.25),transparent 32rem),#17120f}
 .topbar{background:rgba(23,18,15,.88);border-bottom-color:#45372b}
 .card,.search,.icon-btn,input,select,textarea{background:#211a15;color:#f7efe4;border-color:#45372b}
 .wine-row{background:#211a15}.bottle-icon,.detail-placeholder{background:#30251e}.chip,.secondary{background:#33271e;color:#e7cfaa}.bottom-nav{background:rgba(28,22,18,.93)}
 .photo,.file-pick,.location-box,.info,.qr-hint{background:#2b211a}.rack-slot.free{background:#251d18}.rack-slot.occupied{background:#3a2c21}
}
@media(max-width:560px){
 main{padding-left:14px;padding-right:14px}.topbar{padding-left:16px;padding-right:16px}.hero{min-height:195px;padding:24px}.count{font-size:64px}.hero:before{font-size:30px;right:10px}.bottom-nav{gap:29px}.wine-row{padding:11px}
}
