*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:132px;}
body{margin:0;background:#F4EBDD;color:#241C12;font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;}
input,button,textarea,select{font-family:inherit;}
::placeholder{color:#A59683;}
[hidden]{display:none !important;}

/* ---- Animations ---- */
@keyframes mlSlideRight{from{transform:translateX(40px);}to{transform:translateX(0);}}
@keyframes mlFadeUp{from{transform:translateY(16px);opacity:0;}to{transform:translateY(0);opacity:1;}}
@keyframes mlPop{from{transform:scale(.97);}to{transform:scale(1);}}
@keyframes mlFade{from{opacity:0;}to{opacity:1;}}
@keyframes mlPulse{0%{box-shadow:0 0 0 0 rgba(142,30,30,.55);}70%{box-shadow:0 0 0 9px rgba(142,30,30,0);}100%{box-shadow:0 0 0 0 rgba(142,30,30,0);}}
@keyframes mlSc1{0%{opacity:0;}3%{opacity:1;}29%{opacity:1;}33%{opacity:0;}100%{opacity:0;}}
@keyframes mlSc2{0%,33%{opacity:0;}36%{opacity:1;}62%{opacity:1;}66%{opacity:0;}100%{opacity:0;}}
@keyframes mlSc3{0%,66%{opacity:0;}69%{opacity:1;}96%{opacity:1;}100%{opacity:0;}}
@keyframes mlDrop{0%,3%{opacity:0;transform:translateY(-72px) rotate(-8deg) scale(.92);}5%{opacity:1;transform:translateY(-60px) rotate(-5deg) scale(1);}13%{opacity:1;transform:translateY(0) rotate(0) scale(1);}15%{transform:translateY(3px) scaleX(1.12) scaleY(.84);}17%{transform:translateY(-3px) scale(1);}19%{transform:translateY(0) scale(1);}30%{opacity:1;transform:translateY(0) scale(1);}33%{opacity:0;transform:translateY(0) scale(1);}100%{opacity:0;transform:translateY(-72px) scale(.92);}}
@keyframes mlCartBob{0%,13%{transform:translateY(0);}15%{transform:translateY(4px);}18%{transform:translateY(0);}100%{transform:translateY(0);}}
@keyframes mlPop1{0%,16%{opacity:0;transform:scale(.4) translateY(8px);}19%{opacity:1;transform:scale(1) translateY(-4px);}28%{opacity:1;transform:scale(1) translateY(-12px);}32%{opacity:0;transform:scale(1) translateY(-16px);}100%{opacity:0;}}
@keyframes mlCoinA{0%,35%{opacity:0;transform:translate(0,6px) scale(.7) rotate(0);}38%{opacity:1;transform:translate(8px,2px) scale(1) rotate(40deg);}47%{transform:translate(98px,-28px) scale(1) rotate(220deg);}54%{opacity:1;transform:translate(180px,0) scale(.9) rotate(360deg);}57%{opacity:0;transform:translate(202px,12px) scale(.55) rotate(410deg);}100%{opacity:0;transform:translate(0,6px) scale(.7);}}
@keyframes mlCoinB{0%,41%{opacity:0;transform:translate(0,10px) scale(.6) rotate(0);}44%{opacity:1;transform:translate(8px,4px) scale(.9) rotate(-30deg);}53%{transform:translate(92px,-32px) scale(.9) rotate(-220deg);}60%{opacity:1;transform:translate(178px,2px) scale(.8) rotate(-340deg);}63%{opacity:0;transform:translate(196px,12px) scale(.5) rotate(-380deg);}100%{opacity:0;transform:translate(0,10px) scale(.6);}}
@keyframes mlHouseBob{0%,53%{transform:translateY(0) scale(1);}56%{transform:translateY(-7px) scale(1.06);}59%{transform:translateY(0) scale(1);}61%{transform:translateY(-3px) scale(1.02);}63%{transform:translateY(0) scale(1);}100%{transform:translateY(0) scale(1);}}
@keyframes mlGift{0%,56%{opacity:0;transform:translateY(6px) scale(.3);}60%{opacity:1;transform:translateY(-12px) scale(1);}64%{opacity:1;transform:translateY(-22px) scale(1);}66%{opacity:0;transform:translateY(-28px) scale(1);}100%{opacity:0;}}
@keyframes mlBoxIn{0%,68%{opacity:0;transform:translateX(78px) translateY(-4px) scale(.9);}71%{opacity:1;transform:translateX(36px) translateY(-2px) scale(1);}80%{transform:translateX(0) translateY(0) scale(1);}82%{transform:translateX(0) translateY(4px) scaleX(1.06) scaleY(.92);}84%{transform:translateX(0) translateY(0) scale(1);}96%{opacity:1;transform:translateX(0) scale(1);}100%{opacity:0;}}
@keyframes mlDogIn{0%,81%{opacity:0;transform:translateY(24px) scale(.85);}84%{opacity:1;transform:translateY(0) scale(1);}87%{transform:translateY(-15px) scale(1.04);}90%{transform:translateY(0) scale(1);}93%{transform:translateY(-8px) scale(1.02);}95%{transform:translateY(0) scale(1);}96%{opacity:1;}100%{opacity:0;}}
@keyframes mlTail{0%{transform:rotate(-26deg);}50%{transform:rotate(18deg);}100%{transform:rotate(-26deg);}}
@keyframes mlHeartFloat{0%,84%{opacity:0;transform:translateY(0) scale(.4);}88%{opacity:1;transform:translateY(-8px) scale(1);}96%{opacity:1;transform:translateY(-32px) scale(1);}100%{opacity:0;transform:translateY(-44px) scale(.9);}}
@keyframes mlHeartFloat2{0%,86%{opacity:0;transform:translateY(0) scale(.4);}90%{opacity:1;transform:translateY(-8px) scale(.85);}97%{opacity:1;transform:translateY(-28px) scale(.85);}100%{opacity:0;transform:translateY(-40px) scale(.8);}}
@keyframes mlDotA{0%,29%{width:22px;background-color:#C8932F;}33%,100%{width:8px;background-color:#E2D2B4;}}
@keyframes mlDotB{0%,33%{width:8px;background-color:#E2D2B4;}36%,62%{width:22px;background-color:#C8932F;}66%,100%{width:8px;background-color:#E2D2B4;}}
@keyframes mlDotC{0%,66%{width:8px;background-color:#E2D2B4;}69%,96%{width:22px;background-color:#C8932F;}100%{width:8px;background-color:#E2D2B4;}}

/* ---- Hover states (from style-hover in the design) ---- */
.link-nav:hover{color:#8A6018 !important;}
.btn-dark:hover{background:#3A2D1B !important;}
.btn-gold:hover{background:#C9963B !important;}
.btn-outline-dark:hover{border-color:#B8842A !important;color:#8A6018 !important;}
.pill-cat:hover{border-color:#B8842A !important;color:#8A6018 !important;}
.card-prod{transition:transform .2s ease,box-shadow .2s ease;}
.card-prod:hover{transform:translateY(-4px);box-shadow:0 26px 44px -24px rgba(40,28,10,.5) !important;}
.variant-un:hover{border-color:#B8842A !important;}
.foot-link:hover{color:#fff !important;}
.admin-link:hover{color:#C8932F !important;}
.x-remove:hover{color:#8E1E1E !important;}
.shelter-un:hover{border-color:#C8932F !important;}
.pay-un:hover{border-color:#B8842A !important;}
.gold-link:hover{color:#B8842A !important;}
.mail-link:hover{color:#B8842A !important;text-decoration:underline !important;}
.btn-admin-back:hover{background:rgba(231,199,126,.12) !important;}
.btn-danger-outline:hover{background:#FBEAEA !important;}
.btn-edit:hover{border-color:#B8842A !important;color:#8A6018 !important;}
