:root{
  --bg:#FBFAF5; --ink:#1F2A1F; --green-dark:#22351F; --green:#2F4A33; --green-mid:#3D5E40;
  --green-light:#4F7A4A; --cream:#F3EDE0; --cream-border:#E6DFCF; --tan-border:#E0D5BC;
  --tan-border2:#D9CFB8; --sand:#E8DCC2; --sand2:#EFE6D2; --muted:#4A5347; --muted2:#5A6357;
  --footer-bg:#1A2918; --footer-text:#C9D3BE; --gold:#B08A3E; --font-serif:Georgia,'Times New Roman',serif;
  --font-sans:'Segoe UI',Manrope,system-ui,sans-serif;
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--green-light)}
input,select,textarea,button{font-family:inherit}
input[type=range]{accent-color:var(--green)}
::selection{background:var(--sand)}
img{max-width:100%;display:block}
button{font-family:inherit}

.serif{font-family:var(--font-serif)}

.btn-fill{background:var(--green);color:#FBFAF5;border:none;padding:16px 26px;border-radius:999px;font-weight:700;font-size:16px;cursor:pointer;display:inline-block;text-decoration:none;text-align:center}
.btn-fill:hover{background:var(--green-mid);color:#FBFAF5}
.btn-fill-sm{background:var(--green);color:#fff;border:none;padding:10px 16px;border-radius:999px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;display:inline-block}
.btn-fill-sm:hover{background:var(--green-light);color:#fff}
.btn-outline{background:transparent;color:var(--green);border:1.5px solid var(--green);padding:16px 26px;border-radius:999px;font-weight:700;font-size:16px;cursor:pointer;display:inline-block;text-decoration:none;text-align:center}
.btn-outline:hover{background:var(--green);color:#FBFAF5}
.btn-outline-sm{background:transparent;color:var(--green);border:1.5px solid var(--green);padding:13px 22px;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;display:inline-block;text-decoration:none}
.btn-outline-sm:hover{background:var(--green);color:#FBFAF5}
.btn-chip{position:relative;background:var(--cream);color:var(--green-dark);border:1px solid var(--tan-border);padding:10px 16px;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.btn-chip:hover{background:var(--sand);color:var(--green-dark)}

.nav-link{background:none;border:none;padding:10px 12px 12px;font-size:15px;font-weight:600;cursor:pointer;color:#4A5347;border-bottom:2px solid transparent;text-decoration:none;display:inline-block;white-space:nowrap}
.nav-link:hover{color:var(--green-light)}
.nav-link-active{color:#22351F!important;border-bottom-color:var(--green-light)!important}

.card-hover{transition:box-shadow .15s ease,transform .15s ease}
.card-hover:hover{box-shadow:0 14px 30px rgba(34,53,31,.12);transform:translateY(-2px)}

.footer-link{text-align:left;background:none;border:none;padding:0;color:var(--footer-text);cursor:pointer;font-size:14px;text-decoration:none;display:block}
.footer-link:hover{color:#fff}

.pill{padding:9px 14px;border-radius:999px;border:1.5px solid var(--green);background:transparent;color:var(--green);font-weight:600;font-size:14px;cursor:pointer}
.pill-lg{padding:12px 22px;border-radius:999px;border:1.5px solid var(--green);background:transparent;color:var(--green);font-weight:700;font-size:15px;cursor:pointer}
.pill.active,.pill-lg.active{background:var(--green);color:#FBFAF5}
.pill:hover,.pill-lg:hover{background:var(--sand)}
.pill.active:hover,.pill-lg.active:hover{background:var(--green-mid);color:#FBFAF5}

.text-link{background:none;border:none;color:var(--green);font-weight:700;font-size:15px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;display:inline-block}
.text-link:hover{color:var(--green-light)}

.ship-opt,.pay-opt{text-align:left;display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:14px;border:1.5px solid var(--tan-border2);background:transparent;cursor:pointer;font-size:15px;color:var(--ink);width:100%}
.ship-opt.active,.pay-opt.active{background:#fff;border-color:var(--green)}

.container{max-width:1200px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:900px;margin:0 auto;padding:0 24px}
.container-article{max-width:780px;margin:0 auto;padding:0 24px}

.img-ph{position:relative;overflow:hidden;background:repeating-linear-gradient(135deg,#E8DCC2 0 10px,#EFE6D2 10px 20px)}
.img-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

@media (max-width:640px){
  .hide-mobile{display:none}
}
