:root{--navy:#0A1F44;--navy-2:#122a5c;--red:#B22234;--red-deep:#8f1a29;--gold:#C6982F;--gold-soft:#dcbd6b;--cream:#FAF6EC;--parchment:#F3ECD9;--paper:#fff;--line:rgba(10,31,68,.14);--muted:#5b6472}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:"Public Sans",system-ui,sans-serif;color:var(--navy);background-color:var(--cream);background-image:radial-gradient(rgba(10,31,68,.05) 1px,transparent 1.4px);background-size:22px 22px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--red-deep);text-decoration:none;border-bottom:1px solid rgba(178,34,52,.35)}
a:hover{color:var(--red)}
.wrap{max-width:520px;margin:0 auto;background:var(--paper);min-height:100vh;box-shadow:0 0 0 1px rgba(10,31,68,.06),0 24px 60px -30px rgba(10,31,68,.45);overflow:hidden}
.flagbar{height:6px;display:flex}.flagbar i{flex:1}
.flagbar i:nth-child(1){background:var(--red)}.flagbar i:nth-child(2){background:var(--paper)}.flagbar i:nth-child(3){background:var(--navy)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
header{padding:16px 20px 12px}
.head-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:10px;border-bottom:none}
.brand:hover{color:inherit}
.brand svg{flex:0 0 40px;width:40px;height:40px;filter:drop-shadow(0 3px 6px rgba(10,31,68,.25))}
.wordmark{font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--navy);line-height:1.05}
.wordmark b{color:var(--red)}
.wordmark span{display:block;font-weight:600;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-top:2px}
.cartbtn{border:1.5px solid var(--line);border-radius:11px;background:var(--paper);padding:9px 13px;font-size:16px;color:var(--navy);font-weight:700}
.cartbtn b{color:var(--red);font-size:13px}
.trust{margin-top:10px;font-size:12px;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.trust b{color:var(--navy)}.trust .star{color:var(--gold)}.trust .dot{color:var(--line)}
.site-nav{display:flex;gap:7px;margin-top:12px}
.navchip{flex:1;text-align:center;font-size:12px;font-weight:700;padding:9px 8px;border-radius:10px;border:1.5px solid var(--line);color:var(--navy);background:var(--paper)}
.navchip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.navchip:hover{border-color:var(--gold);color:var(--navy)}
.navchip.on:hover{color:#fff}
.shop-hero{padding:18px 20px 14px;text-align:center;background:var(--parchment);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.shop-hero h1{font-family:"Fraunces";font-weight:900;font-size:clamp(24px,6.4vw,30px);margin-top:6px;line-height:1.05}
.shop-hero .sub{font-size:12.5px;color:var(--muted);margin-top:6px}
.search{width:100%;max-width:420px;height:48px;margin:14px auto 0;display:block;border:1.5px solid var(--line);border-radius:11px;padding:0 15px;font-family:inherit;font-size:16px;color:var(--navy);background:var(--paper)}
.search:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(198,152,47,.18)}
.chips{display:flex;gap:7px;overflow-x:auto;padding:12px 2px 2px;-webkit-overflow-scrolling:touch}
.chip{flex:0 0 auto;border:1.5px solid var(--line);background:var(--paper);color:var(--navy);border-radius:999px;padding:7px 14px;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.chip.anniv{border-color:var(--red);color:var(--red-deep);font-weight:800}
.chip.anniv.on{background:linear-gradient(180deg,#c8283a,#a41d2e);color:#fff;border-color:transparent}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px 16px 26px}
.card{border:1px solid var(--line);border-radius:13px;background:var(--paper);overflow:hidden;border-bottom:1px solid var(--line);transition:transform .14s,box-shadow .14s;position:relative}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(10,31,68,.45);color:inherit}
.cimg{aspect-ratio:1/1;background:var(--parchment);position:relative}
.cimg img{width:100%;height:100%;object-fit:cover;display:block}
.noimg{display:flex;align-items:center;justify-content:center;height:100%}
.noimg svg{width:44%;height:44%;opacity:.8}
.pz{position:absolute;top:8px;left:8px;background:var(--gold);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 8px}
.ct{font-size:12.5px;font-weight:600;color:var(--navy);line-height:1.35;padding:9px 11px 2px;min-height:40px}
.cp{font-family:"Fraunces";font-weight:900;font-size:15.5px;color:var(--red-deep);padding:2px 11px 11px}
.noresults{text-align:center;color:var(--muted);padding:30px 20px;font-weight:600}
.backlink{display:inline-block;margin:14px 20px 0;font-size:13px;font-weight:700}
.pdp{padding-bottom:26px}
.pdp-grid{padding:12px 20px 0}
.pgal img#mainimg{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block}
.noimg.big{aspect-ratio:1/1;border-radius:14px;border:1px solid var(--line);background:var(--parchment)}
.thumbs{display:flex;gap:8px;margin-top:8px}
.thumb{width:64px;height:64px;object-fit:cover;border-radius:9px;border:2px solid var(--line);cursor:pointer}
.thumb.on,.thumb:hover{border-color:var(--gold)}
.pcat{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:14px}
.pinfo h1{font-family:"Fraunces";font-weight:900;font-size:clamp(19px,5.4vw,24px);line-height:1.15;margin-top:4px}
.pprice{font-family:"Fraunces";font-weight:900;font-size:26px;color:var(--red-deep);margin-top:8px}
.pshort{font-size:13.5px;color:#3f4756;margin-top:8px;line-height:1.55}
.persbox{margin-top:14px;background:var(--parchment);border:1.5px dashed var(--gold);border-radius:12px;padding:12px 13px}
.persbox label{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.persbox input{width:100%;height:46px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-family:inherit;font-size:16px;color:var(--navy);background:var(--paper)}
.persbox input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(198,152,47,.18)}
.pershint{font-size:11px;color:var(--muted);margin-top:6px}
.qtyrow{display:flex;align-items:center;gap:12px;margin-top:14px;font-weight:700;font-size:13px}
.qtyrow button{width:38px;height:38px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);font-size:18px;font-weight:800;color:var(--navy);cursor:pointer}
.qtyrow b{font-size:16px;min-width:20px;text-align:center}
.addbtn,.buybtn,.paybtn,.orderbtn{width:100%;border:none;cursor:pointer;font-family:"Fraunces";font-weight:900;font-size:18px;color:#fff;padding:15px;border-radius:12px;margin-top:12px}
.addbtn{background:linear-gradient(180deg,var(--navy-2),var(--navy));box-shadow:0 10px 22px -10px rgba(10,31,68,.7)}
.buybtn,.paybtn{background:linear-gradient(180deg,#c8283a,#a41d2e);box-shadow:0 12px 26px -10px rgba(178,34,52,.65)}
.orderbtn{background:linear-gradient(180deg,var(--navy-2),var(--navy))}
.addbtn:hover,.buybtn:hover,.paybtn:hover,.orderbtn:hover{filter:brightness(1.07)}
.addbtn.added{background:#1a7a4f}
button[disabled]{opacity:.5;cursor:not-allowed}
.mrows{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mrow{display:flex;justify-content:space-between;gap:10px;padding:10px 13px;font-size:12.5px;border-top:1px solid var(--line)}
.mrow:first-child{border-top:none}
.mrow span{color:var(--muted);font-weight:600}
.pdesc{margin-top:14px;font-size:13px;color:#3f4756}
.pdesc summary{font-weight:800;color:var(--navy);cursor:pointer;font-size:13.5px;padding:6px 0}
.pdesc p{margin:8px 0}
.cartpage{padding:6px 20px 30px}
.cartpage h1{font-family:"Fraunces";font-weight:900;font-size:26px;margin-top:12px}
.citem{display:flex;gap:12px;border:1px solid var(--line);border-radius:13px;padding:10px;margin-top:12px;background:var(--paper);align-items:center}
.citem img{width:64px;height:64px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.citem .ci-t{font-size:12.5px;font-weight:700;line-height:1.3}
.citem .ci-pers{font-size:11px;color:var(--gold);font-weight:600}
.citem .ci-p{font-family:"Fraunces";font-weight:900;color:var(--red-deep);font-size:14px}
.citem .ci-x{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.citem .ci-q{display:flex;align-items:center;gap:8px}
.citem .ci-q button{width:28px;height:28px;border-radius:8px;border:1.5px solid var(--line);background:var(--paper);font-weight:800;cursor:pointer;color:var(--navy)}
.citem .rm{border:none;background:none;color:var(--muted);font-size:11px;cursor:pointer;text-decoration:underline}
.fulfill{margin-top:18px;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.fulfill label{display:flex;gap:10px;align-items:flex-start;padding:13px;cursor:pointer;border-top:1px solid var(--line);font-size:13px}
.fulfill label:first-child{border-top:none}
.fulfill input{margin-top:3px}
.fulfill b{display:block;font-size:13.5px}
.fulfill small{color:var(--muted)}
.totals{margin-top:16px;font-size:14px}
.totals .trow{display:flex;justify-content:space-between;padding:5px 2px}
.totals .grand{font-family:"Fraunces";font-weight:900;font-size:20px;color:var(--navy);border-top:2px solid var(--line);margin-top:6px;padding-top:10px}
.cust{margin-top:16px}
.cust input{width:100%;height:48px;border:1.5px solid var(--line);border-radius:11px;padding:0 14px;font-family:inherit;font-size:16px;color:var(--navy);background:var(--paper);margin-top:10px}
.cust input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(198,152,47,.18)}
.paynote{font-size:11.5px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.5}
.empty{padding:40px 10px;text-align:center;color:var(--muted);font-weight:600}
.errline{color:var(--red);font-size:12.5px;font-weight:700;margin-top:10px;text-align:center;min-height:16px}
.thanks{padding:40px 24px;text-align:center}
.thanks .big{font-size:52px}
.thanks h1{font-family:"Fraunces";font-weight:900;font-size:28px;margin-top:8px}
.thanks p{font-size:14px;color:#3f4756;margin-top:10px;line-height:1.6}
footer{background:var(--navy);color:var(--cream);text-align:center;padding:26px 20px 30px;margin-top:26px}
footer .foot-mark{font-family:"Fraunces";font-weight:900;font-size:18px;color:#fff}
footer p{font-size:12px;color:#c4cad6;margin-top:5px;line-height:1.5}
footer a{color:var(--gold-soft);border-bottom-color:rgba(220,189,107,.4)}
.foot-links{margin-top:10px;font-weight:600;font-size:12.5px}
.foot-powered{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin-top:10px}
@media(min-width:520px){.wrap{margin:26px auto;min-height:0;border-radius:18px}}
@media(min-width:1000px){
.wrap{max-width:1100px;margin:34px auto;border-radius:22px}
header{padding:20px 34px 14px}
.site-nav{max-width:430px}
.grid{grid-template-columns:repeat(4,1fr);gap:16px;padding:22px 30px 34px}
.pdp-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;padding:18px 34px 0;align-items:start}
.pcat{margin-top:0}
.cartpage{max-width:640px;margin:0 auto}
.shop-hero{padding:26px 34px 18px}
}
