:root { --orange:#F96537; --orange-deep:#EA5029; --navy:#12203E; --cream:#FDF0E0; --white:#FFFFFF; --gold:#C9A227; }
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:'Nunito', system-ui, sans-serif; font-weight:500; font-size:17px; color:var(--navy); background:var(--white); line-height:1.6; }
a { color:inherit; }
img { max-width:100%; display:block; }
.wrap { max-width:1100px; margin:0 auto; padding:0 20px; }
.o { color:var(--orange); }
header { padding:14px 0; border-bottom:3px solid var(--navy); }
header .wrap { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.brand { font-family:'Fredoka', sans-serif; font-weight:700; font-size:28px; letter-spacing:.5px; text-decoration:none; display:flex; align-items:center; gap:8px; }
.brand img { width:44px; height:44px; }
nav a { font-weight:800; font-size:15px; margin-left:22px; text-decoration:none; }
nav a:hover { color:var(--orange); }
h1 { font-family:'Fredoka', sans-serif; font-weight:700; font-size:clamp(28px, 5vw, 42px); line-height:1.15; text-wrap:balance; }
h2 { font-family:'Fredoka', sans-serif; font-weight:700; font-size:26px; margin:0 0 10px; }
.intro { text-align:center; padding:34px 0 18px; }
.intro p { max-width:620px; margin:10px auto 0; }
.filters { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; padding:10px 0 26px; }
.chip { font-family:'Fredoka', sans-serif; font-weight:600; font-size:16px; padding:7px 16px; border:3px solid var(--navy); border-radius:999px; background:var(--white); cursor:pointer; color:var(--navy); }
.chip[aria-pressed="true"] { background:var(--navy); color:var(--white); }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:22px; padding-bottom:56px; }
.card { position:relative; display:block; text-decoration:none; background:var(--white); border:3px solid var(--navy); border-radius:20px; box-shadow:0 6px 0 var(--navy); overflow:hidden; transition:transform .1s; }
.card:hover { transform:translateY(-2px); }
.card .ph { aspect-ratio:3/4; background:var(--cream); }
.card .ph img { width:100%; height:100%; object-fit:cover; }
.card .info { padding:12px 14px 14px; }
.card .t { font-weight:800; font-size:16px; line-height:1.3; }
.card .m { font-size:14px; opacity:.85; margin-top:3px; }
.card .p { font-family:'Fredoka', sans-serif; font-weight:700; font-size:22px; color:var(--orange); margin-top:6px; }
.badge { position:absolute; top:12px; left:12px; background:var(--gold); color:var(--navy); font-family:'Fredoka', sans-serif; font-weight:700; font-size:14px; padding:4px 12px; border-radius:999px; border:2px solid var(--navy); }
.sold .ph { opacity:.45; }
.stamp { position:absolute; top:38%; left:50%; transform:translate(-50%,-50%) rotate(-12deg); font-family:'Fredoka', sans-serif; font-weight:700; font-size:34px; color:var(--orange-deep); border:4px solid var(--orange-deep); border-radius:12px; padding:2px 16px; background:rgba(255,255,255,.85); }
.band { background:var(--cream); padding:44px 0; }
.boxes { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.box { background:var(--white); border:3px solid var(--navy); border-radius:20px; box-shadow:0 6px 0 var(--orange); padding:22px; }
.crumb { font-size:14px; padding:16px 0 8px; }
.crumb a { text-decoration:none; font-weight:800; }
.item { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:34px; padding:6px 0 50px; }
.main { border:3px solid var(--navy); border-radius:20px; overflow:hidden; background:var(--cream); aspect-ratio:3/4; }
.main img { width:100%; height:100%; object-fit:contain; }
.thumbs { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.thumbs button { width:72px; height:96px; border:3px solid var(--navy); border-radius:12px; overflow:hidden; padding:0; background:var(--cream); cursor:pointer; }
.thumbs button[aria-current="true"] { border-color:var(--orange); }
.thumbs img { width:100%; height:100%; object-fit:cover; }
.price { font-family:'Fredoka', sans-serif; font-weight:700; font-size:36px; color:var(--orange); margin:8px 0 4px; }
.facts { list-style:none; margin:12px 0 18px; }
.facts li { padding:6px 0; border-bottom:2px dashed rgba(18,32,62,.18); }
.facts b { display:inline-block; min-width:110px; }
.auth { background:var(--cream); border:3px solid var(--gold); border-radius:16px; padding:16px 18px; margin:0 0 18px; }
.auth h2 { font-size:20px; }
.btn { display:inline-block; background:var(--orange); color:var(--white); font-family:'Fredoka', sans-serif; font-weight:600; font-size:19px; letter-spacing:.5px; padding:13px 32px; border-radius:999px; border:3px solid var(--navy); box-shadow:0 5px 0 var(--navy); text-decoration:none; }
.btn:hover { background:var(--orange-deep); }
.small { font-size:14px; opacity:.85; margin-top:12px; }
.desc { margin:0 0 18px; }
footer { background:var(--navy); color:var(--white); text-align:center; padding:34px 20px; font-size:15px; }
footer .tag { font-family:'Fredoka', sans-serif; font-weight:600; font-size:24px; margin-bottom:8px; }
footer a { color:var(--cream); }
p { text-wrap:pretty; }
@media (max-width:760px) {
  nav a { margin-left:12px; font-size:14px; }
  nav a:first-child { display:none; }
  .grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
  .card .p { font-size:19px; }
  .card .t { font-size:15px; }
  .item, .boxes { grid-template-columns:1fr; }
}
