
*{box-sizing:border-box}
:root{
  --green:#2F6B3F; --green-dark:#24552F; --green-soft:#E3EDD9;
  --orange:#E8833A; --orange-dark:#DB7428; --orange-light:#F09A55; --orange-text:#B4561A; --star:#E07B2E;
  --cream:#F6EFE2; --card:#FFFBF4; --border:#E7DCC8; --border2:#D9CDB8;
  --text:#2B2620; --text-soft:#4A433A; --text-soft2:#3D372F; --muted:#6B6257; --muted2:#7A7064;
  --sand:#EADFCB; --peach:#FBE3CF; --footer-bg:#24402B; --footer-text:#E3EDD9;
  --font-head: "Trebuchet MS","Segoe UI",ui-rounded,system-ui,sans-serif;
  --font-body: "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-head);margin:0}
p{margin:0}
input,select,textarea,button{font-family:inherit}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--orange-text)}
img{max-width:100%}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* hover helpers (override inline base styles) */
.hov-green:hover{background:var(--green-dark) !important;color:#FFFBF4 !important}
.hov-orange:hover{background:var(--orange-dark) !important;color:#2B2620 !important}
.hov-orange-light:hover{background:var(--orange-light) !important;color:#2B2620 !important}
.hov-no-color:hover{color:#2B2620 !important}
.hov-cat-card:hover{border-color:var(--green) !important;color:#2B2620 !important}
.hov-pill-dog:hover{background:#FFFBF4 !important;color:var(--green) !important}
.hov-pill-cat:hover{background:#FFFBF4 !important;color:var(--orange-text) !important}
.hov-quiz-opt:hover{border-color:var(--green) !important;background:var(--green-soft) !important}
.hov-border-green:hover{border-color:var(--green) !important}

/* skip-link for accessibility */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--green);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:100}
.skip-link:focus{left:0}

/* cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(43,38,32,.45);z-index:60;opacity:0;pointer-events:none;transition:opacity .2s}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#FFFBF4;display:flex;flex-direction:column;box-shadow:-20px 0 50px -20px rgba(0,0,0,.35);z-index:61;transform:translateX(100%);transition:transform .25s ease;}
body.cart-open .cart-overlay{opacity:1;pointer-events:auto}
body.cart-open .cart-drawer{transform:translateX(0)}
body.cart-open{overflow:hidden}

/* cookie banner */
.cookie-banner{position:fixed;left:16px;bottom:16px;z-index:70;width:min(520px,calc(100% - 32px));background:#FFFBF4;border:1px solid var(--border);border-radius:24px;padding:22px;box-shadow:0 24px 60px -20px rgba(43,38,32,.45);display:none;flex-direction:column;gap:14px}
.cookie-banner.show{display:flex}
.cookie-banner[data-view="settings"] .cookie-main{display:none !important}
.cookie-banner:not([data-view="settings"]) .cookie-settings{display:none !important}
.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#F6EFE2;border-radius:14px;padding:12px 14px}
.toggle-switch{width:44px;height:24px;flex:none;border-radius:99px;background:#D9CDB8;position:relative;transition:background .15s}
.toggle-switch .knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#FFFBF4;transition:left .15s}
.toggle-switch[aria-pressed="true"]{background:var(--green)}
.toggle-switch[aria-pressed="true"] .knob{left:22px}

/* faq */
.faq-item .faq-a{display:none;padding:0 20px 18px;font-size:15px;line-height:1.65;color:var(--text-soft)}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-sign{content:"−"}

/* responsive helpers for header nav on small screens */
.site-nav{display:flex;gap:4px;flex:1 1 520px;overflow-x:auto;order:3;-ms-overflow-style:none;scrollbar-width:thin}

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