/*
Theme Name: Bonitas
Theme URI: https://bonitas.example
Description: Premium Bonitas franchise and brand website.
Version: 1.0.0
*/
:root{
  --red:#e50914;--red2:#ff2b32;--yellow:#ffd21a;--cream:#fff9e9;--ink:#3a2419;
  --green:#20a44b;--white:#fff;--line:rgba(58,36,25,.12);--shadow:0 20px 60px rgba(50,26,12,.12);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Nunito",sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:
radial-gradient(circle at 10% 15%,rgba(255,210,26,.10),transparent 28%),
radial-gradient(circle at 90% 60%,rgba(229,9,20,.06),transparent 28%)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.site-header{position:fixed;z-index:1000;top:14px;left:50%;transform:translateX(-50%);width:min(1320px,calc(100% - 36px));height:82px;padding:8px 14px 8px 18px;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-radius:24px;box-shadow:0 15px 50px rgba(53,25,10,.10);display:flex;align-items:center;gap:28px}
.brand{width:135px;flex:0 0 135px}.brand img{width:100px;height:62px;object-fit:contain;object-position:center;border-radius:10px;mix-blend-mode:multiply}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:31px;flex:1;font-weight:800;font-size:14px}
.desktop-nav a{position:relative;padding:30px 0;transition:.25s}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--red)}
.desktop-nav a:after{content:"";position:absolute;left:50%;bottom:19px;width:0;height:3px;background:var(--yellow);border-radius:9px;transition:.25s;transform:translateX(-50%)}
.desktop-nav a:hover:after,.desktop-nav a.active:after{width:24px}
.whatsapp-btn{background:var(--yellow);color:#22190c;padding:14px 22px;border-radius:999px;font-weight:900;white-space:nowrap;box-shadow:0 10px 24px rgba(255,210,26,.25);transition:.25s}
.whatsapp-btn:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(255,210,26,.35)}
.menu-btn{display:none;border:0;background:transparent;width:46px;height:46px;border-radius:14px}
.menu-btn span{display:block;height:3px;width:24px;background:var(--red);margin:5px auto;border-radius:5px}
.mobile-menu{position:fixed;z-index:999;top:105px;right:18px;width:min(320px,calc(100% - 36px));padding:18px;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-radius:22px;box-shadow:var(--shadow);display:none;flex-direction:column;gap:4px}
.mobile-menu.open{display:flex}.mobile-menu a{padding:14px 15px;font-weight:800;border-radius:13px}.mobile-menu a:hover{background:var(--cream);color:var(--red)}
.section{position:relative;padding:110px max(5vw,24px)}
.hero{min-height:760px;padding-top:155px;background:linear-gradient(115deg,#fffdf8 0%,#fff6d6 48%,#fff 100%);display:grid;grid-template-columns:42% 58%;align-items:center;overflow:hidden}
.hero-glow{position:absolute;border-radius:50%;filter:blur(4px);opacity:.55;pointer-events:none}.glow-one{width:460px;height:460px;background:rgba(255,210,26,.25);left:-170px;top:210px}.glow-two{width:560px;height:560px;background:rgba(229,9,20,.08);right:-170px;top:80px}
.hero-copy{position:relative;z-index:3;padding-left:5vw;max-width:610px}.eyebrow,.kicker{font-size:12px;letter-spacing:2.6px;font-weight:900;color:var(--red)}
.hero h1{font-family:"Baloo 2",sans-serif;font-size:clamp(60px,6vw,92px);line-height:.86;margin:18px 0 24px;letter-spacing:-3px}
.hero h1 span{color:var(--red)}.hero h1 strong{color:#2b1b13}
.hero p{font-size:18px;line-height:1.65;max-width:480px;margin:0 0 30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 22px;border-radius:999px;font-weight:900;font-size:14px;border:1px solid transparent;transition:transform .25s,box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-4px)}.btn-red{background:var(--red);color:white;box-shadow:0 14px 30px rgba(229,9,20,.25)}.btn-yellow{background:var(--yellow);color:#251a0d;box-shadow:0 14px 30px rgba(255,210,26,.24)}.btn-outline{border-color:var(--red);color:var(--red);background:#fff}.btn-outline:hover{background:var(--red);color:#fff}
.micro-proof{margin-top:20px;font-size:13px;font-weight:700;opacity:.8}.stars{color:#f7b900;letter-spacing:2px;margin-right:8px}
.hero-product{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:520px}
.hero-product img{width:min(850px,100%);filter:drop-shadow(0 35px 30px rgba(68,35,10,.18));transform:translateX(-3%) rotate(-1deg);animation:heroFloat 5s ease-in-out infinite}
.product-ring{position:absolute;width:600px;height:340px;background:radial-gradient(ellipse,rgba(255,210,26,.24),transparent 68%);border-radius:50%;filter:blur(8px)}
.float-chip{position:absolute;font-size:34px;animation:chipFloat 4s ease-in-out infinite}.chip-a{top:10%;right:10%}.chip-b{bottom:18%;left:8%;animation-delay:1s}.chip-c{top:23%;left:4%;animation-delay:1.8s}
.hero-wave{position:absolute;bottom:-1px;left:-2%;width:104%;height:80px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}
.promise-strip{position:relative;z-index:5;margin-top:-8px;padding:24px 6vw;background:#fff;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;box-shadow:0 -10px 40px rgba(50,26,12,.04)}
.promise{display:flex;align-items:center;gap:14px;padding:14px 18px;border-right:1px solid var(--line)}.promise:last-child{border:0}.promise-icon{width:50px;height:50px;border:2px solid rgba(229,9,20,.25);color:var(--red);border-radius:50%;display:grid;place-items:center;font-size:21px;font-weight:900;flex:0 0 50px}.promise b{display:block;font-size:15px}.promise small{display:block;margin-top:4px;opacity:.65}
.section-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:center}.about{background:#fff}
.about-copy h2,.section-heading h2,.contact h2{font-family:"Baloo 2",sans-serif;font-size:clamp(45px,5vw,70px);line-height:.95;margin:14px 0 20px;letter-spacing:-2px}.about-copy h2 span,.section-heading h2 span,.contact h2 span{color:var(--red)}.about-copy p{font-size:17px;line-height:1.75;color:#6d584d;max-width:500px}.text-link{display:inline-flex;gap:9px;margin-top:10px;color:var(--red);font-weight:900}
.story-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story-card{background:linear-gradient(145deg,#fffdf8,#fff7dc);border:1px solid rgba(255,210,26,.28);padding:28px 22px;border-radius:24px;box-shadow:0 15px 40px rgba(65,36,13,.06);transition:.3s}.story-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(65,36,13,.12)}.story-card span{font-size:34px;color:var(--red)}.story-card h3{font-size:18px;margin:17px 0 8px}.story-card p{font-size:13px;line-height:1.6;color:#705d52}
.flavours{background:var(--cream);text-align:center}.section-heading{max-width:780px;margin:0 auto 46px;text-align:center}.section-heading p{color:#735f53;line-height:1.6}.flavour-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(7,1fr);gap:14px;align-items:end}.flavour-card{position:relative;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);border-radius:25px;padding:22px 12px 20px;min-height:255px;transition:transform .35s,box-shadow .35s;overflow:hidden}.flavour-card:hover{transform:translateY(-12px) rotateX(2deg);box-shadow:0 25px 45px rgba(75,35,10,.15)}.flavour-card:after{content:"";position:absolute;inset:auto -20% -50px;height:110px;background:radial-gradient(ellipse,rgba(255,210,26,.18),transparent 65%)}.scoop{width:112px;height:112px;margin:0 auto 28px;border-radius:50% 50% 45% 48%;box-shadow:inset -14px -18px 25px rgba(0,0,0,.12),inset 12px 8px 20px rgba(255,255,255,.18),0 16px 18px rgba(54,30,12,.16);position:relative}.scoop:before{content:"";position:absolute;width:82%;height:14px;left:9%;bottom:-7px;background:rgba(60,31,16,.18);filter:blur(5px);border-radius:50%}.chocolate{background:radial-gradient(circle at 30% 25%,#8b4c25,#4b2112 70%)}.strawberry{background:radial-gradient(circle at 30% 25%,#ff9ba9,#ed4160 70%)}.pista{background:radial-gradient(circle at 30% 25%,#d9ee98,#79a83b 70%)}.mango{background:radial-gradient(circle at 30% 25%,#ffe178,#f2a20e 70%)}.butterscotch{background:radial-gradient(circle at 30% 25%,#ffd49a,#b66c31 70%)}.vanilla{background:radial-gradient(circle at 30% 25%,#fff9db,#e7d5a0 70%)}.currant{background:radial-gradient(circle at 30% 25%,#a75ad5,#5c227d 70%)}.topping{position:absolute;top:18px;right:18px;font-size:13px;color:#a46b17}.flavour-card h3{font-size:15px;margin:0 0 6px}.flavour-card p{font-size:11px;opacity:.62;margin:0}
.flavours>.btn{margin-top:35px}
.heat{max-width:1280px;margin:70px auto;border-radius:36px;overflow:hidden;display:grid;grid-template-columns:45% 55%;align-items:center;min-height:430px;background:linear-gradient(135deg,#b8000a,#ef1822 55%,#ff4146);color:#fff;box-shadow:var(--shadow)}
.heat:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(255,210,26,.18),transparent 30%);pointer-events:none}.heat-art{height:100%;min-height:430px;position:relative;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 55%)}.mini-scoop{position:absolute;width:180px;height:180px;border-radius:50%;box-shadow:inset -20px -22px 30px rgba(0,0,0,.18),0 22px 30px rgba(40,0,0,.2)}.mini-pink{background:#ff8fa3;left:23%;top:22%;transform:rotate(-12deg)}.mini-choco{background:#66331e;left:44%;top:29%;transform:rotate(13deg)}.mini-cup{position:absolute;bottom:18%;left:40%;background:var(--yellow);color:var(--red);font-family:"Baloo 2";font-size:27px;font-weight:900;padding:18px 25px;border-radius:12px;transform:rotate(-6deg);box-shadow:0 18px 30px rgba(0,0,0,.2)}.heat-copy{padding:55px 70px}.kicker.light{color:var(--yellow)}.heat-copy h2{font-family:"Baloo 2";font-size:clamp(48px,5vw,76px);line-height:.92;margin:15px 0}.heat-copy h2 span{color:var(--yellow)}.heat-copy p{font-size:18px;max-width:470px;line-height:1.6;margin-bottom:28px}
.gallery{background:#fff}.gallery-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:130px;gap:15px}.gallery-tile{border-radius:24px;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 15px 35px rgba(50,25,10,.08);transition:transform .35s,filter .35s}.gallery-tile:hover{transform:scale(1.025);filter:saturate(1.12)}.tile-a{grid-column:span 4;grid-row:span 2;background:linear-gradient(145deg,#ff9ba9,#7e273b)}.tile-b{grid-column:span 5;grid-row:span 3;background:linear-gradient(145deg,#5b2a18,#d58c3c)}.tile-c{grid-column:span 3;grid-row:span 2;background:linear-gradient(145deg,#f5d55a,#dca20a)}.tile-d{grid-column:span 4;grid-row:span 2;background:linear-gradient(145deg,#b9db70,#638f2f)}.tile-e{grid-column:span 3;grid-row:span 2;background:linear-gradient(145deg,#fff4c8,#c9a15c)}.tile-f{grid-column:span 5;grid-row:span 1;background:linear-gradient(145deg,#ef3c48,#791017)}.gallery-note{text-align:center;color:#8b766b;font-size:12px;margin-top:18px}
.reviews{background:#fffaf0;text-align:center}.review-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;text-align:left;box-shadow:0 14px 35px rgba(50,25,10,.06);transition:.3s}.review-card:hover{transform:translateY(-7px)}.review-stars{color:#f2b500;letter-spacing:4px}.review-card p{font-size:16px;line-height:1.7}.review-card b{font-size:12px;color:#79665c}
.reviews>.btn{margin-top:28px}
.outlets{padding-top:50px}.outlet-card{max-width:1280px;margin:auto;background:linear-gradient(120deg,#d8000b,#ef2630);color:#fff;border-radius:36px;padding:55px 70px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;overflow:hidden;box-shadow:0 30px 80px rgba(155,0,0,.2)}.outlet-copy h2{font-family:"Baloo 2";font-size:clamp(46px,5vw,70px);line-height:.95;margin:14px 0}.outlet-copy h2 span{color:var(--yellow)}.outlet-copy p{max-width:560px;line-height:1.7;color:#ffe9e9}.outlet-visual{min-height:250px;position:relative;display:grid;place-items:center}.store-icon{font-size:150px;filter:drop-shadow(0 20px 20px rgba(0,0,0,.18));animation:heroFloat 4s ease-in-out infinite}.store-sign{position:absolute;background:var(--yellow);color:var(--red);padding:8px 22px;font-family:"Baloo 2";font-size:27px;font-weight:900;border-radius:10px;transform:rotate(-6deg);bottom:30px}.contact-cards{max-width:1280px;margin:18px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.contact-cards>div{border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff;display:grid;grid-template-columns:45px 1fr;column-gap:10px;align-items:center}.contact-cards span{grid-row:span 2;width:40px;height:40px;border-radius:50%;background:#fff1f1;color:var(--red);display:grid;place-items:center;font-size:20px}.contact-cards b{font-size:14px}.contact-cards small{color:#78645a;margin-top:4px}
.contact-panel{max-width:1100px;margin:auto;border:1px solid rgba(229,9,20,.12);border-radius:30px;padding:50px;display:flex;justify-content:space-between;gap:30px;align-items:center;background:linear-gradient(135deg,#fff,#fff8df);box-shadow:var(--shadow)}.contact-panel p{max-width:650px;line-height:1.7;color:#735f53}
.footer{background:#d80610;color:#fff;padding:55px max(5vw,24px) 20px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}.footer-brand img{width:125px;height:75px;object-fit:contain;object-position:center;border-radius:10px;mix-blend-mode:screen}.footer a,.footer div:not(.copyright){display:block;margin:10px 0;color:#fff;opacity:.92}.footer b{font-size:14px}.footer p{line-height:1.6}.socials{display:flex!important;gap:10px}.socials span{width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-weight:900}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.25);padding-top:18px;margin-top:10px;font-size:12px;display:flex;justify-content:space-between;gap:15px;opacity:.9}
.floating-wa{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border:0;border-radius:50%;background:#20c567;color:#fff;font-size:24px;z-index:900;box-shadow:0 14px 30px rgba(0,0,0,.2);cursor:pointer;transition:.25s}.floating-wa:hover{transform:scale(1.1) rotate(8deg)}
.progress{position:fixed;z-index:2000;top:0;left:0;width:100%;height:4px;background:transparent}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--yellow),var(--red))}
.cursor-glow{position:fixed;z-index:0;pointer-events:none;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,26,.12),transparent 65%);transform:translate(-50%,-50%);opacity:0;transition:opacity .2s}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal-right{opacity:0;transform:translateX(60px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal-left{opacity:0;transform:translateX(-60px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.in-view{opacity:1;transform:none}
@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(1deg)}}@keyframes chipFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(10deg)}}
@media(max-width:1100px){.desktop-nav{gap:18px}.header-cta{display:none}.hero{grid-template-columns:45% 55%}.flavour-grid{grid-template-columns:repeat(4,1fr)}.promise-strip{grid-template-columns:repeat(2,1fr)}.promise:nth-child(2){border:0}.footer{grid-template-columns:2fr 1fr 1fr}}
@media(max-width:800px){.site-header{height:70px;top:10px}.brand{width:105px;flex-basis:105px}.brand img{width:92px;height:58px}.desktop-nav{display:none}.menu-btn{display:block;margin-left:auto}.hero{min-height:auto;padding:130px 18px 80px;display:flex;flex-direction:column;align-items:stretch}.hero-copy{padding:0 8px;text-align:left}.hero h1{font-size:clamp(56px,15vw,82px);letter-spacing:-2px}.hero p{font-size:16px}.hero-product{min-height:330px;margin-top:10px}.hero-product img{width:112%;transform:none}.product-ring{width:100%;height:250px}.hero-wave{height:50px}.float-chip{font-size:25px}.promise-strip{grid-template-columns:repeat(2,1fr);padding:18px;gap:8px}.promise{padding:14px 8px;border:0}.promise-icon{width:42px;height:42px;flex-basis:42px;font-size:17px}.promise b{font-size:12px}.promise small{font-size:10px}.section{padding:80px 18px}.section-grid{grid-template-columns:1fr;gap:35px}.story-cards{grid-template-columns:1fr}.story-card{display:grid;grid-template-columns:55px 1fr;padding:20px}.story-card span{grid-row:span 2}.story-card h3{margin:0 0 4px}.story-card p{margin:0}.flavour-grid{grid-template-columns:repeat(2,1fr);gap:12px}.flavour-card{min-height:220px}.scoop{width:95px;height:95px}.heat{margin:20px 18px 60px;grid-template-columns:1fr;border-radius:28px}.heat-art{min-height:260px}.heat-copy{padding:40px 28px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.tile-a,.tile-b,.tile-c,.tile-d,.tile-e,.tile-f{grid-column:span 1;grid-row:span 1}.tile-b{grid-column:span 2}.outlet-card{grid-template-columns:1fr;padding:40px 26px;border-radius:28px}.outlet-visual{min-height:220px}.contact-cards{grid-template-columns:1fr 1fr}.contact-panel{padding:35px 25px;display:block}.contact-panel .btn{margin-top:10px}.review-grid{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr;padding-top:40px}.footer-brand{grid-column:1/-1}.copyright{grid-column:1/-1;display:block}.copyright span{display:block;margin-top:7px}}
@media(max-width:480px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.hero-product{min-height:250px}.promise-strip{grid-template-columns:1fr 1fr}.promise{display:block;text-align:center}.promise-icon{margin:0 auto 7px}.flavour-card{padding:18px 8px}.flavour-card h3{font-size:13px}.flavour-card p{font-size:9px}.scoop{width:80px;height:80px;margin-bottom:22px}.heat-copy h2{font-size:48px}.contact-cards{grid-template-columns:1fr}.footer{grid-template-columns:1fr}.floating-wa{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal,.reveal-right,.reveal-left{opacity:1;transform:none}}

/* Premium franchise section */
.franchise{max-width:1280px;margin:80px auto 0;padding:105px 5vw;border-radius:40px;overflow:hidden;background:
radial-gradient(circle at 88% 15%,rgba(255,210,26,.22),transparent 25%),
radial-gradient(circle at 10% 90%,rgba(229,9,20,.10),transparent 30%),
linear-gradient(135deg,#fffdf8,#fff4cf);box-shadow:0 30px 90px rgba(65,34,12,.10)}
.franchise-content{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;z-index:2}
.franchise-copy h2{font-family:"Baloo 2",sans-serif;font-size:clamp(52px,5.5vw,82px);line-height:.88;letter-spacing:-2.5px;margin:15px 0 22px}
.franchise-copy h2 span{color:var(--red)}
.franchise-copy p{max-width:600px;font-size:17px;line-height:1.75;color:#6e594d}
.franchise-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-franchise-link{display:inline-flex;align-items:center;margin-left:8px;color:var(--red);font-size:13px;font-weight:900;border-bottom:2px solid var(--yellow);padding-bottom:3px;transition:.25s}
.hero-franchise-link:hover{transform:translateX(4px)}
.franchise-card-wrap{display:grid;place-items:center;perspective:1200px}
.franchise-card{width:min(430px,100%);min-height:380px;border-radius:34px;position:relative;overflow:hidden;background:linear-gradient(145deg,#d8000b,#ff2932 58%,#b40008);box-shadow:0 30px 65px rgba(130,0,10,.25);transform:rotate(2deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.franchise-card:hover{transform:rotate(0deg) translateY(-10px) rotateX(2deg)}
.franchise-card:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 50% 15%,rgba(255,210,26,.34),transparent 28%),radial-gradient(circle at 80% 90%,rgba(255,255,255,.14),transparent 25%)}
.franchise-badge{position:absolute;top:28px;left:28px;background:var(--yellow);color:var(--red);border-radius:14px;padding:10px 17px;font-family:"Baloo 2";font-weight:900;font-size:19px;line-height:.8;transform:rotate(-4deg);box-shadow:0 12px 20px rgba(0,0,0,.16)}
.franchise-badge small{font:900 9px "Nunito";letter-spacing:1.5px}
.franchise-cup{position:absolute;right:45px;top:62px;font-size:170px;filter:drop-shadow(0 25px 20px rgba(0,0,0,.22));animation:heroFloat 4.5s ease-in-out infinite}
.franchise-card-text{position:absolute;left:32px;right:32px;bottom:30px;color:#fff;display:flex;flex-direction:column;gap:7px}
.franchise-card-text span{color:var(--yellow);font-size:12px;font-weight:900;letter-spacing:2px}
.franchise-card-text b{font-family:"Baloo 2";font-size:30px;line-height:.95;max-width:310px}
.franchise-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:45px;position:relative;z-index:2}
.franchise-point{display:flex;gap:15px;padding:22px;background:rgba(255,255,255,.72);border:1px solid rgba(229,9,20,.08);border-radius:20px;backdrop-filter:blur(8px)}
.franchise-point>span{font-family:"Baloo 2";font-size:27px;color:var(--red);line-height:1}
.franchise-point b{display:block;font-size:14px}.franchise-point small{display:block;color:#786258;line-height:1.45;margin-top:5px}
.franchise-note{text-align:center;color:#8a7569;font-size:11px;margin:22px auto 0;max-width:900px}
.franchise-orbit{position:absolute;border:1px dashed rgba(229,9,20,.13);border-radius:50%;pointer-events:none}.orbit-one{width:360px;height:360px;right:-140px;top:30px}.orbit-two{width:520px;height:520px;left:-300px;bottom:-240px}
@media(max-width:800px){
  .franchise{margin:45px 18px 0;padding:70px 24px;border-radius:30px}
  .franchise-content{grid-template-columns:1fr;gap:35px}
  .franchise-actions{flex-direction:column;align-items:stretch}
  .franchise-actions .btn{width:100%}
  .hero-franchise-link{margin:10px 0 0}
  .franchise-card{min-height:320px}
  .franchise-cup{font-size:135px;right:24px}
  .franchise-points{grid-template-columns:1fr}
}
/* =========================================================
   BONITAS HERO - FINAL DESKTOP LAYOUT
   IMAGE LEFT + CONTENT RIGHT
========================================================= */

.hero-inner {
    position: relative !important;

    width: min(1280px, calc(100% - 80px)) !important;
    max-width: 1280px !important;

    min-height: 720px !important;
    height: 720px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 70px !important;
}


/* =========================================================
   LEFT SIDE - PRODUCT IMAGE
========================================================= */

.hero-visual {
    position: relative !important;

    order: 1 !important;

    flex: 0 0 55% !important;

    width: 55% !important;
    max-width: 650px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;
}


.hero-product {
    display: block !important;

    width: 100% !important;
    max-width: 620px !important;

    height: auto !important;

    margin: 0 !important;

    object-fit: contain !important;

    filter:
        drop-shadow(
            0 25px 35px
            rgba(58, 36, 25, 0.18)
        );

    animation:
        bonitasHeroFloat 5s ease-in-out infinite;
}


/* =========================================================
   RIGHT SIDE - TEXT
========================================================= */

.hero-copy {
    position: relative !important;

    order: 2 !important;

    flex: 0 0 40% !important;

    width: 40% !important;
    max-width: 540px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    align-self: center !important;
}


/* Heading */

.hero-copy h1 {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}


/* Description */

.hero-copy p {
    margin-left: 0 !important;
    margin-right: 0 !important;

    max-width: 500px !important;
}


/* Buttons */

.hero-actions {
    display: flex !important;

    justify-content: flex-start !important;
    align-items: center !important;

    flex-wrap: wrap !important;

    gap: 16px !important;
}


/* =========================================================
   IMAGE FLOAT
========================================================= */

@keyframes bonitasHeroFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }

}


/* =========================================================
   DESKTOP POSITION
========================================================= */

@media (min-width: 901px) {

    .hero-inner {
        min-height: 720px !important;
        height: 720px !important;
    }

    .hero-visual {
        transform: translateX(-15px);
    }

    .hero-copy {
        transform: translateX(10px);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .hero-inner {
        width: calc(100% - 40px) !important;

        height: auto !important;
        min-height: 0 !important;

        padding-top: 100px !important;
        padding-bottom: 80px !important;

        flex-direction: column !important;

        gap: 35px !important;
    }

    .hero-visual {
        order: 1 !important;

        width: 100% !important;
        max-width: 600px !important;

        flex: none !important;

        transform: none !important;
    }

    .hero-copy {
        order: 2 !important;

        width: 100% !important;
        max-width: 650px !important;

        flex: none !important;

        text-align: center !important;

        transform: none !important;
    }

    .hero-copy p {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero-actions {
        justify-content: center !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .hero-inner {
        width: calc(100% - 28px) !important;

        padding-top: 70px !important;
        padding-bottom: 60px !important;

        gap: 25px !important;
    }

    .hero-product {
        width: 100% !important;
        max-width: 430px !important;
    }

    .hero-copy {
        width: 100% !important;
    }

}
/* =========================================================
   BONITAS HERO — IMAGE LEFT + CONTENT RIGHT
   FINAL OVERRIDE
========================================================= */

.hero {
    position: relative !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, 0.95fr) !important;

    align-items: center !important;

    width: 100% !important;

    min-height: 720px !important;

    padding-left: clamp(40px, 7vw, 120px) !important;
    padding-right: clamp(40px, 7vw, 120px) !important;

    column-gap: clamp(40px, 6vw, 90px) !important;
}


/* =========================================
   IMAGE — LEFT
========================================= */

.hero-product {
    grid-column: 1 !important;
    grid-row: 1 !important;

    order: 1 !important;

    width: 100% !important;
    max-width: 650px !important;

    margin: 0 !important;
    padding: 0 !important;

    justify-self: center !important;
    align-self: center !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}


.hero-product img {
    display: block !important;

    width: 100% !important;
    max-width: 620px !important;

    height: auto !important;

    margin: 0 !important;

    object-fit: contain !important;

    filter:
        drop-shadow(
            0 25px 35px
            rgba(58, 36, 25, 0.18)
        );

    animation: bonitasHeroFloat 5s ease-in-out infinite;
}


/* =========================================
   TEXT — RIGHT
========================================= */

.hero-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;

    order: 2 !important;

    width: 100% !important;
    max-width: 560px !important;

    margin: 0 !important;
    padding: 0 !important;

    justify-self: start !important;
    align-self: center !important;

    text-align: left !important;
}


/* Heading */

.hero-copy h1 {
    margin-top: 0 !important;
}


/* Description */

.hero-copy p {
    margin-left: 0 !important;
    margin-right: 0 !important;

    max-width: 520px !important;
}


/* Buttons */

.hero-copy .hero-actions {
    display: flex !important;

    justify-content: flex-start !important;
    align-items: center !important;

    flex-wrap: wrap !important;

    gap: 16px !important;
}


/* =========================================
   IMAGE FLOAT
========================================= */

@keyframes bonitasHeroFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .hero {
        display: flex !important;

        flex-direction: column !important;

        align-items: center !important;
        justify-content: center !important;

        min-height: auto !important;

        padding:
            100px 28px
            80px !important;

        gap: 35px !important;
    }


    .hero-product {
        order: 1 !important;

        width: 100% !important;
        max-width: 600px !important;
    }


    .hero-copy {
        order: 2 !important;

        width: 100% !important;
        max-width: 650px !important;

        text-align: center !important;
    }


    .hero-copy p {
        margin-left: auto !important;
        margin-right: auto !important;
    }


    .hero-copy .hero-actions {
        justify-content: center !important;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .hero {
        padding:
            80px 18px
            60px !important;

        gap: 25px !important;
    }


    .hero-product {
        max-width: 430px !important;
    }


    .hero-copy {
        max-width: 100% !important;
    }

}
/* =========================================================
   BONITAS INNER PAGES
========================================================= */

.bonitas-page {
    background: var(--bonitas-cream);
    min-height: 70vh;
}


/* PAGE HERO */

.page-hero {
    position: relative;

    padding:
        150px 20px
        80px;

    text-align: center;

    background:
        radial-gradient(
            circle at 10% 40%,
            rgba(255, 210, 26, 0.20),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 20%,
            rgba(229, 9, 20, 0.08),
            transparent 30%
        ),
        var(--bonitas-cream);
}


.page-hero .kicker {
    display: block;

    margin-bottom: 15px;

    color: var(--bonitas-red);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 3px;

    text-transform: uppercase;
}


.page-hero h1 {
    margin: 0;

    color: var(--bonitas-brown);

    font-size:
        clamp(42px, 7vw, 82px);

    line-height: 0.95;

    font-weight: 900;
}


.page-divider {
    width: 60px;
    height: 5px;

    margin:
        25px auto 0;

    border-radius: 999px;

    background: var(--bonitas-yellow);
}


/* PAGE CONTENT */

.page-content {
    padding:
        80px 20px
        110px;

    background: #ffffff;
}


.page-content .container {
    max-width: 1100px;
}


.page-content p {
    font-size: 18px;

    line-height: 1.8;

    color: var(--bonitas-brown);
}


/* MOBILE */

@media (max-width: 768px) {

    .page-hero {
        padding:
            120px 20px
            60px;
    }

    .page-content {
        padding:
            60px 20px
            80px;
    }

}
/* =================================
   HEADER CLICK / LAYER FIX
================================= */

.site-header {
    position: relative;
    z-index: 9999;
}

.site-header .brand,
.site-header .desktop-nav,
.site-header .desktop-nav a,
.site-header .header-cta,
.site-header .menu-btn {
    position: relative;
    z-index: 10000;
    pointer-events: auto;
}

.desktop-nav {
    position: relative;
    z-index: 10000;
}

.desktop-nav a {
    cursor: pointer;
}

/* Keep homepage decorative elements behind header */
.hero::before,
.hero::after,
.hero-bg,
.hero-decoration,
.cursor-glow {
    z-index: 0;
}

.site-header {
    isolation: isolate;
}
/* =================================
   FLOATING WHATSAPP BUTTON
================================= */

.floating-wa {
    position: fixed;
    right: 28px;
    bottom: 24px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #25D366;
    color: #ffffff;

    border-radius: 50%;

    z-index: 99999;

    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.18);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.floating-wa:hover {
    transform: translateY(-4px) scale(1.06);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.24);
}

.floating-wa svg {
    width: 32px;
    height: 32px;

    display: block;
}

@media (max-width: 768px) {

    .floating-wa {
        width: 54px;
        height: 54px;

        right: 18px;
        bottom: 18px;
    }

    .floating-wa svg {
        width: 29px;
        height: 29px;
    }
}
/* =================================
   FRANCHISE SECTION
================================= */

.franchise-section {
    width: 100%;
    padding: 110px 0;
    background:
        radial-gradient(
            circle at 15% 50%,
            rgba(255, 210, 26, 0.13),
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 40%,
            rgba(229, 9, 20, 0.06),
            transparent 30%
        ),
        var(--bonitas-white);

    overflow: hidden;
}


.franchise-inner {
    min-height: 620px;

    display: grid;
    grid-template-columns: 1fr 0.9fr;

    align-items: center;

    gap: 80px;

    padding: 65px 95px;

    border-radius: 34px;

    background:
        linear-gradient(
            135deg,
            #fffdf6 0%,
            #fff8df 100%
        );

    box-shadow:
        0 25px 70px rgba(58, 36, 25, 0.08);

    position: relative;

    overflow: hidden;
}


/* subtle decorative circle */

.franchise-inner::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: -120px;
    top: -120px;

    border: 1px solid rgba(229, 9, 20, 0.12);

    border-radius: 50%;

    pointer-events: none;
}


/* =================================
   LEFT CONTENT
================================= */

.franchise-content {
    position: relative;
    z-index: 2;

    max-width: 650px;
}


.franchise-content .section-eyebrow {
    display: block;

    margin-bottom: 18px;

    color: var(--bonitas-red);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 4px;

    text-transform: uppercase;
}


.franchise-content h2 {
    margin: 0 0 24px;

    color: var(--bonitas-brown);

    font-size: clamp(52px, 5vw, 82px);

    line-height: 0.98;

    letter-spacing: -3px;

    font-weight: 900;
}


.franchise-content h2 span {
    color: var(--bonitas-red);
}


.franchise-content p {
    max-width: 620px;

    margin: 0 0 34px;

    color: #725f55;

    font-size: 18px;

    line-height: 1.8;
}


/* =================================
   BUTTONS
================================= */

.franchise-buttons {
    display: flex;

    align-items: center;

    gap: 14px;

    flex-wrap: wrap;
}


.franchise-buttons .btn {
    min-height: 58px;

    padding: 0 27px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 12px;

    border-radius: 999px;

    font-size: 16px;

    font-weight: 800;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


.franchise-buttons .btn-red {
    background: var(--bonitas-red);

    color: #ffffff;

    box-shadow:
        0 12px 25px rgba(229, 9, 20, 0.22);
}


.franchise-buttons .btn-red:hover {
    transform: translateY(-3px);

    box-shadow:
        0 18px 32px rgba(229, 9, 20, 0.28);
}


.franchise-buttons .btn-outline {
    background: #ffffff;

    color: var(--bonitas-red);

    border: 1.5px solid var(--bonitas-red);
}


.franchise-buttons .btn-outline:hover {
    background: var(--bonitas-red);

    color: #ffffff;

    transform: translateY(-3px);
}


/* =================================
   RIGHT VISUAL
================================= */

.franchise-visual {
    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    z-index: 2;
}


.franchise-card {
    width: min(100%, 520px);

    aspect-ratio: 1 / 0.92;

    position: relative;

    padding: 38px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    overflow: hidden;

    border-radius: 36px;

    background:
        linear-gradient(
            145deg,
            #e50914 0%,
            #ff202b 55%,
            #ff3c42 100%
        );

    box-shadow:
        0 28px 50px rgba(229, 9, 20, 0.25);

    transform: rotate(2deg);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


.franchise-card:hover {
    transform:
        rotate(0deg)
        translateY(-8px);

    box-shadow:
        0 35px 65px rgba(229, 9, 20, 0.30);
}


/* =================================
   BADGE
================================= */

.franchise-badge {
    width: 135px;

    padding: 12px 16px;

    display: flex;

    flex-direction: column;

    background: var(--bonitas-yellow);

    color: var(--bonitas-red);

    border-radius: 15px;

    box-shadow:
        0 8px 15px rgba(0, 0, 0, 0.12);

    transform: rotate(-3deg);
}


.franchise-badge strong {
    font-size: 20px;

    line-height: 1;

    font-weight: 900;
}


.franchise-badge small {
    margin-top: 5px;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 2px;
}


/* =================================
   ICE CREAM ICON
================================= */

.franchise-icon {
    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -58%);

    font-size: 125px;

    filter:
        drop-shadow(
            0 15px 15px rgba(0, 0, 0, 0.18)
        );
}


/* =================================
   CARD TEXT
================================= */

.franchise-card-content {
    position: relative;

    z-index: 2;
}


.franchise-card-content > span {
    display: block;

    margin-bottom: 8px;

    color: var(--bonitas-yellow);

    font-size: 14px;

    font-weight: 900;

    letter-spacing: 3px;
}


.franchise-card-content h3 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(28px, 3vw, 42px);

    line-height: 1.05;

    font-weight: 900;

    letter-spacing: -1px;
}


/* =================================
   MOBILE
================================= */

@media (max-width: 900px) {

    .franchise-section {
        padding: 70px 0;
    }


    .franchise-inner {
        grid-template-columns: 1fr;

        gap: 55px;

        padding: 55px 35px;

        text-align: center;
    }


    .franchise-content {
        max-width: 100%;
    }


    .franchise-content p {
        margin-left: auto;
        margin-right: auto;
    }


    .franchise-buttons {
        justify-content: center;
    }


    .franchise-visual {
        width: 100%;
    }


    .franchise-card {
        width: min(100%, 500px);
    }

}


@media (max-width: 600px) {

    .franchise-section {
        padding: 45px 0;
    }


    .franchise-inner {
        width: calc(100% - 24px);

        padding: 40px 22px;

        border-radius: 25px;

        gap: 40px;
    }


    .franchise-content .section-eyebrow {
        font-size: 10px;

        letter-spacing: 2.5px;
    }


    .franchise-content h2 {
        font-size: 48px;

        letter-spacing: -2px;
    }


    .franchise-content p {
        font-size: 15px;

        line-height: 1.65;
    }


    .franchise-buttons {
        flex-direction: column;

        width: 100%;
    }


    .franchise-buttons .btn {
        width: 100%;
    }


    .franchise-card {
        padding: 25px;

        border-radius: 25px;
    }


    .franchise-badge {
        width: 110px;

        padding: 10px 12px;
    }


    .franchise-badge strong {
        font-size: 17px;
    }


    .franchise-icon {
        font-size: 90px;
    }


    .franchise-card-content h3 {
        font-size: 27px;
    }

}
/* =================================
   WHY BONITAS
================================= */

.why-bonitas {
    width: 100%;
    background: #ffffff;
    padding: 58px 0;
    position: relative;
}

.why-bonitas-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
}

.why-item {
    min-height: 96px;

    display: flex;
    align-items: center;

    gap: 22px;

    padding: 0 35px;

    border-right: 1px solid #e7e2de;
}

.why-item:last-child {
    border-right: none;
}

.why-icon {
    width: 76px;
    height: 76px;

    flex: 0 0 76px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 3px solid #f4c5c9;

    border-radius: 50%;

    color: var(--bonitas-red);

    font-size: 29px;
    font-weight: 800;
}

.why-text h3 {
    margin: 0 0 7px;

    color: var(--bonitas-brown);

    font-size: 20px;
    line-height: 1.2;

    font-weight: 800;
}

.why-text p {
    margin: 0;

    color: #8b7b73;

    font-size: 17px;
    line-height: 1.4;
}


/* =================================
   OUR STORY
================================= */

.story-section {
    padding: 100px 0 115px;

    background:
        radial-gradient(
            circle at 10% 30%,
            rgba(255, 210, 26, 0.12),
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 40%,
            rgba(229, 9, 20, 0.06),
            transparent 30%
        ),
        #ffffff;
}

.story-container {
    max-width: 1180px;
}


/* heading */

.story-heading {
    text-align: center;

    margin-bottom: 45px;
}

.story-heading .section-eyebrow {
    display: block;

    margin-bottom: 12px;

    color: var(--bonitas-red);

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 3px;
}

.story-heading h2 {
    margin: 0;

    color: var(--bonitas-brown);

    font-size: clamp(38px, 4vw, 58px);

    line-height: 1;

    font-weight: 900;

    letter-spacing: -2px;
}

.story-heading h2 span {
    color: var(--bonitas-red);
}

.story-heading p {
    max-width: 650px;

    margin: 15px auto 0;

    color: #8b7b73;

    font-size: 14px;

    line-height: 1.6;
}


/* accordion cards */

.story-accordion {
    display: flex;

    flex-direction: column;

    gap: 5px;
}

.story-card {
    position: relative;

    padding: 25px 30px;

    min-height: 104px;

    border: 1px solid #f0d58a;

    border-radius: 17px;

    background:
        linear-gradient(
            100deg,
            #fffdf4,
            #fff8df
        );

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.story-card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 12px 30px rgba(58, 36, 25, 0.08);

    background: #fff9e8;
}

.story-card-top {
    display: flex;

    align-items: center;

    gap: 15px;
}

.story-plus {
    width: 20px;
    height: 20px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--bonitas-brown);

    font-size: 17px;
    font-weight: 700;
}

.story-card h3 {
    margin: 0;

    color: var(--bonitas-brown);

    font-size: 16px;

    font-weight: 800;
}

.story-card p {
    margin: 10px 0 0 35px;

    color: #8b7b73;

    font-size: 12px;

    line-height: 1.5;
}


/* =================================
   MOBILE
================================= */

@media (max-width: 1000px) {

    .why-bonitas-inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .why-item {
        border-right: none;
        padding: 10px 20px;
    }

}


@media (max-width: 600px) {

    .why-bonitas {
        padding: 40px 0;
    }

    .why-bonitas-inner {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .why-item {
        min-height: 80px;
        padding: 10px 5px;
    }

    .why-icon {
        width: 62px;
        height: 62px;
        flex-basis: 62px;
        font-size: 24px;
    }

    .why-text h3 {
        font-size: 18px;
    }

    .why-text p {
        font-size: 14px;
    }

    .story-section {
        padding: 70px 0 80px;
    }

    .story-heading {
        margin-bottom: 30px;
    }

    .story-card {
        padding: 22px 18px;
    }

    .story-card p {
        margin-left: 35px;
    }

}
/* =================================
   DISCOVER BONITAS
================================= */

.discover-bonitas {
    position: relative;

    padding: 105px 0 115px;

    background:
        radial-gradient(
            circle at 5% 50%,
            rgba(255, 213, 40, 0.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 95% 50%,
            rgba(255, 35, 45, 0.05),
            transparent 30%
        ),
        #ffffff;

    overflow: hidden;
}


.discover-container {
    width: min(1550px, calc(100% - 140px));

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(420px, 0.9fr)
        minmax(650px, 1.4fr);

    gap: 70px;

    align-items: center;
}


/* =================================
   LEFT CONTENT
================================= */

.discover-content {
    max-width: 620px;
}


.discover-eyebrow {
    display: block;

    margin-bottom: 25px;

    color: #ed0713;

    font-size: 14px;

    font-weight: 900;

    letter-spacing: 4px;
}


.discover-content h2 {
    margin: 0 0 32px;

    color: #422719;

    font-size: clamp(55px, 5vw, 82px);

    line-height: 0.97;

    letter-spacing: -3px;

    font-weight: 900;
}


.discover-content h2 span {
    color: #ed0713;
}


.discover-content p {
    max-width: 610px;

    margin: 0 0 38px;

    color: #806d63;

    font-size: 18px;

    line-height: 1.9;
}


.discover-link {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    color: #ed0713;

    font-size: 18px;

    font-weight: 900;

    text-decoration: none;

    transition:
        gap 0.3s ease,
        transform 0.3s ease;
}


.discover-link span {
    font-size: 25px;

    transition:
        transform 0.3s ease;
}


.discover-link:hover {
    gap: 18px;
}


.discover-link:hover span {
    transform: translateX(5px);
}


/* =================================
   CARDS
================================= */

.discover-cards {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 22px;
}


.discover-card {
    position: relative;

    min-height: 285px;

    padding: 30px 28px;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    border: 1px solid #f5d879;

    border-radius: 27px;

    background:
        linear-gradient(
            145deg,
            #fffdf7,
            #fff7dc
        );

    box-shadow:
        0 20px 45px rgba(71, 42, 25, 0.07);

    text-decoration: none;

    overflow: hidden;

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease,
        border-color 0.4s ease;
}


.discover-card::before {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    right: -70px;
    top: -70px;

    border-radius: 50%;

    background:
        rgba(255, 211, 35, 0.10);

    transition:
        transform 0.5s ease;
}


.discover-card:hover {
    transform:
        translateY(-10px);

    border-color: #ed0713;

    box-shadow:
        0 28px 55px rgba(71, 42, 25, 0.12);
}


.discover-card:hover::before {
    transform: scale(1.5);
}


/* =================================
   ICON
================================= */

.discover-icon {
    position: absolute;

    top: 28px;
    left: 28px;

    width: 52px;
    height: 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    font-size: 34px;

    z-index: 2;
}


.discover-icon.heart {
    color: #ed0713;

    font-family: Arial, sans-serif;

    font-size: 48px;

    line-height: 1;
}


/* =================================
   CARD TEXT
================================= */

.discover-card h3 {
    position: relative;

    margin: 0 0 14px;

    color: #422719;

    font-size: 23px;

    font-weight: 800;

    z-index: 2;
}


.discover-card p {
    position: relative;

    margin: 0;

    color: #806d63;

    font-size: 15px;

    line-height: 1.7;

    z-index: 2;
}


/* =================================
   MOBILE
================================= */

@media (max-width: 1100px) {

    .discover-container {
        width: min(92%, 900px);

        grid-template-columns: 1fr;

        gap: 55px;
    }

    .discover-content {
        max-width: 700px;
    }

}


@media (max-width: 700px) {

    .discover-bonitas {
        padding: 75px 0 85px;
    }

    .discover-container {
        width: calc(100% - 40px);
    }

    .discover-content h2 {
        font-size: 52px;

        letter-spacing: -2px;
    }

    .discover-content p {
        font-size: 16px;

        line-height: 1.7;
    }

    .discover-cards {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .discover-card {
        min-height: 230px;
    }

}


@media (max-width: 480px) {

    .discover-content h2 {
        font-size: 44px;
    }

    .discover-eyebrow {
        font-size: 11px;

        letter-spacing: 3px;
    }

}
/* =================================
   SUMMER VIBES PROMO
================================= */

.summer-vibes-section {
    width: 100%;

    padding: 80px 20px 90px;

    display: flex;

    justify-content: center;
    align-items: center;

    background:
        radial-gradient(
            circle at 8% 50%,
            rgba(255, 210, 26, 0.08),
            transparent 30%
        ),
        radial-gradient(
            circle at 92% 50%,
            rgba(229, 9, 20, 0.05),
            transparent 30%
        ),
        #ffffff;
}


/* =================================
   MAIN CARD
================================= */

.summer-vibes-card {
    position: relative;

    width: min(100%, 640px);

    min-height: 400px;

    padding: 55px 60px;

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 30px;

    overflow: hidden;

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            #d9000d 0%,
            #ed0713 45%,
            #ff3941 100%
        );

    box-shadow:
        0 25px 55px rgba(120, 20, 20, 0.18);

    transition:
        transform 0.5s ease,
        box-shadow 0.5s ease;
}


.summer-vibes-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 32px 70px rgba(120, 20, 20, 0.25);
}


/* =================================
   DECORATIVE GLOW
================================= */

.summer-vibes-card::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    left: -100px;
    bottom: -100px;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.06);
}


.summer-vibes-card::after {
    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    right: -90px;
    top: -90px;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.04);
}


/* =================================
   LEFT VISUAL
================================= */

.summer-vibes-visual {
    position: relative;

    min-height: 280px;

    display: flex;

    align-items: center;
    justify-content: center;
}


/* ICE CREAM STYLE CIRCLES */

.summer-circle {
    position: absolute;

    border-radius: 50%;

    box-shadow:
        0 15px 25px rgba(70, 20, 10, 0.15);
}


.summer-pink {
    width: 90px;
    height: 90px;

    background:
        linear-gradient(
            145deg,
            #ff9aad,
            #ff718b
        );

    transform:
        translate(-28px, -35px);
}


.summer-brown {
    width: 90px;
    height: 90px;

    background:
        linear-gradient(
            145deg,
            #71391f,
            #522817
        );

    transform:
        translate(25px, 10px);
}


/* =================================
   BONITAS TAG
================================= */

.summer-bonitas-tag {
    position: absolute;

    left: 50%;

    bottom: 25px;

    transform:
        translateX(-50%)
        rotate(-6deg);

    padding: 12px 18px;

    border-radius: 5px;

    background:
        #ffd21a;

    color:
        #e50914;

    font-size: 13px;

    font-weight: 900;

    letter-spacing: 0.5px;

    box-shadow:
        0 8px 15px rgba(70, 20, 10, 0.15);

    z-index: 3;
}


/* =================================
   RIGHT CONTENT
================================= */

.summer-vibes-content {
    position: relative;

    z-index: 2;

    color: #ffffff;
}


.summer-eyebrow {
    display: block;

    margin-bottom: 14px;

    color: #ffd21a;

    font-size: 8px;

    font-weight: 900;

    letter-spacing: 3px;
}


.summer-vibes-content h2 {
    margin: 0 0 18px;

    color: #ffffff;

    font-size: clamp(38px, 4vw, 52px);

    line-height: 0.88;

    letter-spacing: -1px;

    font-weight: 900;
}


.summer-vibes-content h2 span {
    color: #ffd21a;
}


.summer-vibes-content p {
    max-width: 230px;

    margin: 0 0 22px;

    color: rgba(255, 255, 255, 0.92);

    font-size: 11px;

    line-height: 1.5;
}


/* =================================
   BUTTON
================================= */

.summer-btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 11px 18px;

    border-radius: 30px;

    background:
        #ffd21a;

    color:
        #3a2419;

    font-size: 9px;

    font-weight: 900;

    text-decoration: none;

    box-shadow:
        0 8px 18px rgba(60, 30, 10, 0.15);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.summer-btn:hover {
    transform: translateY(-3px);

    box-shadow:
        0 12px 25px rgba(60, 30, 10, 0.25);
}


/* =================================
   MOBILE
================================= */

@media (max-width: 700px) {

    .summer-vibes-section {
        padding:
            60px 18px
            70px;
    }


    .summer-vibes-card {
        width: 100%;

        min-height: auto;

        padding: 45px 30px;

        grid-template-columns: 1fr;

        gap: 20px;

        text-align: center;
    }


    .summer-vibes-visual {
        min-height: 190px;
    }


    .summer-vibes-content {
        display: flex;

        flex-direction: column;

        align-items: center;
    }


    .summer-vibes-content h2 {
        font-size: 48px;
    }


    .summer-vibes-content p {
        max-width: 280px;
    }

}


@media (max-width: 420px) {

    .summer-vibes-card {
        padding: 35px 22px;
    }


    .summer-vibes-content h2 {
        font-size: 42px;
    }


    .summer-vibes-visual {
        min-height: 160px;
    }

}
/* =================================
   HOMEPAGE FRANCHISE SECTION
================================= */

.franchise-home-section {
    width: 100%;
    padding: 70px 20px 75px;

    display: flex;
    justify-content: center;

    background:
        radial-gradient(
            circle at 5% 50%,
            rgba(255, 210, 26, 0.10),
            transparent 30%
        ),
        radial-gradient(
            circle at 95% 50%,
            rgba(229, 9, 20, 0.06),
            transparent 30%
        ),
        #ffffff;
}


.franchise-home-card {
    position: relative;

    width: min(100%, 960px);

    padding: 65px 95px 55px;

    display: grid;

    grid-template-columns: 1.05fr 0.95fr;

    column-gap: 55px;
    row-gap: 35px;

    border-radius: 28px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #fffdf7 0%,
            #fff9e7 55%,
            #fff2b9 100%
        );

    box-shadow:
        0 25px 65px rgba(61, 35, 20, 0.10);
}


/* Decorative circles */

.franchise-home-card::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    left: -150px;
    bottom: -150px;

    border-radius: 50%;

    border: 1px solid rgba(229, 9, 20, 0.10);
}


.franchise-home-card::after {
    content: "";

    position: absolute;

    width: 240px;
    height: 240px;

    right: -100px;
    top: -100px;

    border-radius: 50%;

    border: 1px solid rgba(229, 9, 20, 0.10);
}


/* =================================
   LEFT CONTENT
================================= */

.franchise-home-content {
    position: relative;
    z-index: 2;
}


.franchise-home-eyebrow {
    display: block;

    margin-bottom: 15px;

    color: #ed0713;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 3px;
}


.franchise-home-content h2 {
    margin: 0 0 25px;

    color: #422719;

    font-size: clamp(48px, 5vw, 68px);

    line-height: 0.94;

    letter-spacing: -2px;

    font-weight: 900;
}


.franchise-home-content h2 span {
    color: #ed0713;
}


.franchise-home-content p {
    max-width: 470px;

    margin: 0 0 28px;

    color: #806d63;

    font-size: 14px;

    line-height: 1.75;
}


/* =================================
   BUTTONS
================================= */

.franchise-home-buttons {
    display: flex;

    align-items: center;

    gap: 10px;

    flex-wrap: wrap;
}


.franchise-primary-btn,
.franchise-secondary-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding: 0 20px;

    border-radius: 30px;

    font-size: 11px;

    font-weight: 900;

    text-decoration: none;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;
}


.franchise-primary-btn {
    color: #ffffff;

    background: #ed0713;

    box-shadow:
        0 10px 22px rgba(229, 9, 20, 0.20);
}


.franchise-primary-btn:hover {
    transform: translateY(-3px);

    box-shadow:
        0 15px 28px rgba(229, 9, 20, 0.28);
}


.franchise-secondary-btn {
    color: #ed0713;

    background: #ffffff;

    border: 1px solid #ed0713;
}


.franchise-secondary-btn:hover {
    color: #ffffff;

    background: #ed0713;

    transform: translateY(-3px);
}


/* =================================
   RIGHT VISUAL
================================= */

.franchise-home-visual {
    position: relative;

    min-height: 285px;

    display: flex;

    align-items: center;

    justify-content: center;

    z-index: 2;
}


.franchise-red-card {
    position: relative;

    width: 285px;
    height: 285px;

    padding: 22px;

    border-radius: 25px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #ff202a 0%,
            #ed0713 70%,
            #d9000d 100%
        );

    box-shadow:
        0 22px 35px rgba(120, 20, 20, 0.18);

    transform: rotate(2deg);

    transition:
        transform 0.5s ease,
        box-shadow 0.5s ease;
}


.franchise-red-card:hover {
    transform:
        rotate(0deg)
        translateY(-8px);

    box-shadow:
        0 30px 50px rgba(120, 20, 20, 0.25);
}


/* =================================
   BADGE
================================= */

.franchise-badge {
    position: absolute;

    top: 20px;
    left: 20px;

    padding: 9px 13px;

    border-radius: 9px;

    background: #ffd21a;

    color: #ed0713;

    font-size: 12px;

    font-weight: 900;

    line-height: 1;
}


.franchise-badge small {
    display: block;

    margin-top: 3px;

    font-size: 7px;

    letter-spacing: 1px;
}


/* =================================
   ICE CREAM
================================= */

.franchise-cone {
    position: absolute;

    top: 70px;
    left: 50%;

    transform: translateX(-50%);

    font-size: 75px;

    filter:
        drop-shadow(
            0 12px 10px rgba(80, 20, 10, 0.16)
        );
}


/* =================================
   VISUAL TEXT
================================= */

.franchise-visual-text {
    position: absolute;

    left: 22px;
    right: 22px;

    bottom: 22px;
}


.franchise-visual-text span {
    display: block;

    margin-bottom: 7px;

    color: #ffd21a;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: 2px;
}


.franchise-visual-text strong {
    display: block;

    color: #ffffff;

    font-size: 23px;

    line-height: 1.05;

    font-weight: 900;
}


/* =================================
   MINI CARDS
================================= */

.franchise-mini-cards {
    position: relative;

    grid-column: 1 / -1;

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;

    z-index: 2;
}


.franchise-mini-card {
    display: flex;

    gap: 12px;

    min-height: 82px;

    padding: 16px;

    border-radius: 15px;

    background:
        rgba(255, 255, 255, 0.78);

    border: 1px solid rgba(230, 215, 190, 0.65);
}


.franchise-mini-card > strong {
    color: #ed0713;

    font-size: 17px;

    font-weight: 900;
}


.franchise-mini-card h3 {
    margin: 0 0 5px;

    color: #422719;

    font-size: 11px;

    font-weight: 900;
}


.franchise-mini-card p {
    margin: 0;

    color: #806d63;

    font-size: 9px;

    line-height: 1.5;
}


/* =================================
   DISCLAIMER
================================= */

.franchise-disclaimer {
    position: relative;

    grid-column: 1 / -1;

    margin: -15px 0 0;

    text-align: center;

    color: #9b8b82;

    font-size: 8px;

    z-index: 2;
}


/* =================================
   TABLET
================================= */

@media (max-width: 900px) {

    .franchise-home-card {
        padding: 55px 45px 45px;

        grid-template-columns: 1fr;

        text-align: center;
    }

    .franchise-home-content p {
        margin-left: auto;
        margin-right: auto;
    }

    .franchise-home-buttons {
        justify-content: center;
    }

    .franchise-home-visual {
        min-height: 300px;
    }

    .franchise-mini-cards {
        text-align: left;
    }

}


/* =================================
   MOBILE
================================= */

@media (max-width: 650px) {

    .franchise-home-section {
        padding: 55px 16px 65px;
    }

    .franchise-home-card {
        padding: 45px 22px 35px;

        border-radius: 22px;

        row-gap: 28px;
    }

    .franchise-home-content h2 {
        font-size: 46px;

        letter-spacing: -1.5px;
    }

    .franchise-home-content p {
        font-size: 13px;
    }

    .franchise-red-card {
        width: 255px;
        height: 255px;
    }

    .franchise-mini-cards {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .franchise-mini-card {
        min-height: auto;
    }

}


/* =================================
   SMALL MOBILE
================================= */

@media (max-width: 420px) {

    .franchise-home-content h2 {
        font-size: 40px;
    }

    .franchise-red-card {
        width: 230px;
        height: 230px;
    }

    .franchise-visual-text strong {
        font-size: 20px;
    }

}
/* =================================
   CUSTOMER REVIEWS
================================= */

.customer-reviews-section {
    position: relative;

    width: 100%;

    padding: 90px 20px 100px;

    background:
        radial-gradient(
            circle at 8% 45%,
            rgba(255, 210, 26, 0.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 50%,
            rgba(229, 9, 20, 0.05),
            transparent 28%
        ),
        #fff9e9;

    overflow: hidden;
}


.customer-reviews-container {
    width: min(100%, 1050px);

    margin: 0 auto;

    display: flex;

    flex-direction: column;

    align-items: center;
}


/* =================================
   HEADING
================================= */

.customer-reviews-heading {
    text-align: center;

    margin-bottom: 38px;
}


.customer-reviews-eyebrow {
    display: block;

    margin-bottom: 13px;

    color: #ed0713;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 3px;
}


.customer-reviews-heading h2 {
    margin: 0;

    color: #422719;

    font-size: clamp(38px, 4vw, 52px);

    line-height: 1.05;

    letter-spacing: -1.5px;

    font-weight: 900;
}


.customer-reviews-heading h2 span {
    color: #ed0713;
}


/* =================================
   REVIEW GRID
================================= */

.customer-reviews-grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;
}


/* =================================
   REVIEW CARD
================================= */

.customer-review-card {
    position: relative;

    min-height: 142px;

    padding: 24px 21px;

    display: flex;

    flex-direction: column;

    border: 1px solid #e4e0dc;

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 15px 35px rgba(60, 35, 20, 0.05);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


.customer-review-card:hover {
    transform: translateY(-7px);

    border-color: #ffd21a;

    box-shadow:
        0 22px 45px rgba(60, 35, 20, 0.10);
}


/* =================================
   STARS
================================= */

.review-stars {
    margin-bottom: 14px;

    color: #f4b400;

    font-size: 12px;

    letter-spacing: 2px;

    line-height: 1;
}


/* =================================
   REVIEW TEXT
================================= */

.customer-review-card p {
    margin: 0 0 17px;

    color: #4f3a30;

    font-size: 13px;

    line-height: 1.65;
}


/* =================================
   REVIEW SOURCE
================================= */

.review-source {
    display: block;

    margin-top: auto;

    color: #806d63;

    font-size: 9px;

    font-weight: 700;
}


/* =================================
   BUTTON
================================= */

.customer-reviews-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin-top: 25px;

    min-height: 42px;

    padding: 0 22px;

    border: 1px solid #ed0713;

    border-radius: 30px;

    background: transparent;

    color: #ed0713;

    font-size: 10px;

    font-weight: 900;

    text-decoration: none;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.customer-reviews-button:hover {
    background: #ed0713;

    color: #ffffff;

    transform: translateY(-3px);

    box-shadow:
        0 10px 22px rgba(229, 9, 20, 0.18);
}


/* =================================
   TABLET
================================= */

@media (max-width: 850px) {

    .customer-reviews-section {
        padding: 75px 20px 85px;
    }

    .customer-reviews-grid {
        grid-template-columns: 1fr;
        max-width: 600px;
    }

    .customer-review-card {
        min-height: 150px;
    }

}


/* =================================
   MOBILE
================================= */

@media (max-width: 480px) {

    .customer-reviews-section {
        padding: 65px 16px 75px;
    }

    .customer-reviews-heading {
        margin-bottom: 30px;
    }

    .customer-reviews-heading h2 {
        font-size: 36px;
    }

    .customer-review-card {
        padding: 22px 20px;
    }

}
/* =========================================
   BONITAS FOOTER
========================================= */

.site-footer {
    background: #ed0714;
    color: #ffffff;
    padding: 55px 5% 0;
    margin-top: 0;
}

.footer-inner {
    max-width: 1650px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 70px;
    align-items: start;
}

/* BRAND */

.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    margin-bottom: 20px;
}

.footer-logo img {
    width: 90px;
    height: auto;
    display: block;
}

.footer-brand p {
    margin: 0;
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
}


/* FOOTER COLUMNS */

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-column h4 {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
}

.footer-column a {
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 4px;
    transition: opacity 0.25s ease,
                transform 0.25s ease;
}

.footer-column a:hover {
    color: #ffffff;
    opacity: 0.75;
    transform: translateX(3px);
}


/* SOCIAL */

.footer-social {
    align-items: flex-start;
}

.social-links {
    display: flex;
    align-items: center;
    gap: 10px;
}

.social-icon {
    width: 32px !important;
    height: 32px;
    border: 1px solid rgba(255,255,255,0.7);
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1;
    margin: 0 !important;
    transition: all 0.25s ease;
}

.social-icon:hover {
    background: #ffffff;
    color: #ed0714 !important;
    opacity: 1 !important;
    transform: translateY(-2px);
}


/* FOOTER BOTTOM */

.footer-bottom {
    max-width: 1650px;
    margin: 45px auto 0;
    padding: 18px 0 22px;
    border-top: 1px solid rgba(255,255,255,0.28);
}

.footer-bottom p {
    margin: 0;
    color: #ffffff;
    font-size: 12px;
    font-weight: 400;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .footer-inner {
        grid-template-columns: 1.5fr 1fr 1fr;
        gap: 40px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .site-footer {
        padding: 45px 25px 0;
    }

    .footer-inner {
        grid-template-columns: 1fr 1fr;
        gap: 35px 25px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-column h4 {
        margin-bottom: 12px;
    }

    .footer-column a {
        font-size: 13px;
    }

    .footer-bottom {
        margin-top: 35px;
    }

}


/* SMALL MOBILE */

@media (max-width: 420px) {

    .footer-inner {
        grid-template-columns: 1fr;
    }

    .footer-brand {
        grid-column: auto;
    }

}
/* =========================================
   READY FOR YOUR NEXT SCOOP CTA
========================================= */

.contact-cta-section {
    width: 100%;
    padding: 10px 6% 70px;
    background: #ffffff;
}

.contact-cta-card {
    width: 100%;
    max-width: 1650px;
    min-height: 430px;

    margin: 0 auto;
    padding: 70px 75px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 60px;

    border-radius: 46px;

    border: 1px solid rgba(237, 7, 20, 0.18);

    background:
        radial-gradient(
            circle at 15% 15%,
            rgba(255, 222, 90, 0.14),
            transparent 35%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(255, 90, 90, 0.08),
            transparent 35%
        ),
        linear-gradient(
            120deg,
            #fffdf8 0%,
            #fff9e4 55%,
            #fffdf8 100%
        );

    box-shadow:
        0 25px 60px rgba(60, 35, 25, 0.10);

    box-sizing: border-box;
}


/* CONTENT */

.contact-cta-content {
    flex: 1;
    min-width: 0;
}


/* SMALL LABEL */

.contact-cta-label {
    display: block;

    margin-bottom: 25px;

    color: #ed0714;

    font-size: 16px;
    font-weight: 800;

    letter-spacing: 4px;

    text-transform: uppercase;
}


/* HEADING */

.contact-cta-content h2 {
    margin: 0 0 30px;

    color: #422719;

    font-size: clamp(52px, 5.4vw, 88px);

    font-weight: 800;

    line-height: 1.02;

    letter-spacing: -4px;
}

.contact-cta-content h2 span {
    color: #ed0714;
}


/* DESCRIPTION */

.contact-cta-content p {
    max-width: 1050px;

    margin: 0;

    color: #786258;

    font-size: 22px;

    line-height: 1.8;
}


/* BUTTON AREA */

.contact-cta-action {
    flex-shrink: 0;
}


/* BUTTON */

.contact-cta-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 265px;

    padding: 23px 34px;

    border-radius: 50px;

    background: #ed0714;

    color: #ffffff !important;

    text-decoration: none !important;

    font-size: 18px;

    font-weight: 800;

    white-space: nowrap;

    box-shadow:
        0 18px 35px rgba(237, 7, 20, 0.22);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;
}


.contact-cta-button:hover {
    background: #d90612;

    color: #ffffff !important;

    transform: translateY(-4px);

    box-shadow:
        0 25px 45px rgba(237, 7, 20, 0.30);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .contact-cta-card {
        padding: 60px 50px;

        flex-direction: column;

        align-items: flex-start;

        min-height: auto;
    }

    .contact-cta-action {
        margin-top: 10px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .contact-cta-section {
        padding: 10px 20px 50px;
    }

    .contact-cta-card {
        padding: 42px 28px;

        border-radius: 30px;

        gap: 30px;
    }

    .contact-cta-label {
        font-size: 12px;

        letter-spacing: 3px;

        margin-bottom: 18px;
    }

    .contact-cta-content h2 {
        font-size: 45px;

        line-height: 1;

        letter-spacing: -2px;

        margin-bottom: 22px;
    }

    .contact-cta-content p {
        font-size: 16px;

        line-height: 1.7;
    }

    .contact-cta-button {
        width: 100%;

        min-width: 0;

        padding: 18px 25px;

        font-size: 16px;
    }

}
/* =========================================
   OUR OUTLETS
========================================= */

.outlets {
    width: 100%;
    padding: 100px 20px 110px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(255, 224, 120, 0.10),
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 70%,
            rgba(255, 150, 150, 0.08),
            transparent 35%
        ),
        #ffffff;

    box-sizing: border-box;
}


/* =========================================
   HEADING
========================================= */

.outlets-heading {
    text-align: center;

    max-width: 900px;

    margin: 0 auto 55px;
}

.outlets-heading .kicker {
    display: block;

    margin-bottom: 12px;

    color: #ed0714;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 3px;

    text-transform: uppercase;
}


.outlets-heading h2 {
    margin: 0;

    color: #422719;

    font-size: clamp(42px, 4vw, 64px);

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -2px;
}


.outlets-heading h2 span {
    color: #ed0714;
}


.outlets-heading p {
    margin: 18px 0 0;

    color: #8a756c;

    font-size: 14px;
}


/* =========================================
   OUTLET LIST
========================================= */

.outlets-list {
    width: 100%;

    max-width: 640px;

    margin: 0 auto;
}


/* =========================================
   OUTLET CARD
========================================= */

.outlet-card {
    display: grid;

    grid-template-columns: 70px 1fr 140px;

    align-items: center;

    gap: 25px;

    min-height: 115px;

    padding: 25px 35px;

    margin-bottom: 2px;

    background:
        linear-gradient(
            135deg,
            #ed0714,
            #f51d2b
        );

    border-radius: 18px;

    color: #ffffff;

    box-sizing: border-box;

    box-shadow:
        0 15px 35px rgba(237, 7, 20, 0.13);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.outlet-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 22px 45px rgba(237, 7, 20, 0.20);
}


/* =========================================
   NUMBER
========================================= */

.outlet-number {
    font-size: 13px;

    font-weight: 700;

    color: #ffffff;
}


/* =========================================
   INFO
========================================= */

.outlet-info h3 {
    margin: 0 0 10px;

    color: #ffffff;

    font-size: 15px;

    font-weight: 700;
}


.outlet-info p {
    margin: 0;

    color: rgba(255, 255, 255, 0.82);

    font-size: 11px;

    line-height: 1.6;
}


/* =========================================
   DIRECTIONS
========================================= */

.outlet-direction {
    justify-self: end;

    color: #ffffff !important;

    text-decoration: none !important;

    font-size: 11px;

    font-weight: 700;

    white-space: nowrap;

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}


.outlet-direction:hover {
    color: #ffffff !important;

    opacity: 0.75;

    transform: translateX(4px);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .outlets {
        padding: 75px 20px 80px;
    }


    .outlets-heading {
        margin-bottom: 40px;
    }


    .outlets-heading h2 {
        font-size: 42px;

        letter-spacing: -1.5px;
    }


    .outlets-list {
        max-width: 100%;
    }


    .outlet-card {
        grid-template-columns: 45px 1fr;

        gap: 12px 15px;

        padding: 22px 20px;

        min-height: auto;
    }


    .outlet-direction {
        grid-column: 2;

        justify-self: start;

        margin-top: 3px;
    }

}
/* =====================================================
   FIND BONITAS NEAR YOU
===================================================== */

.find-outlets {
    width: 100%;
    padding: 80px 5vw 90px;
    box-sizing: border-box;

    background:
        radial-gradient(
            circle at 8% 30%,
            rgba(255, 221, 111, 0.14),
            transparent 30%
        ),
        radial-gradient(
            circle at 92% 65%,
            rgba(255, 160, 170, 0.12),
            transparent 32%
        ),
        #fff;
}


/* =====================================================
   MAIN RED CARD
===================================================== */

.find-outlets-main {
    width: 100%;
    max-width: 1540px;

    min-height: 430px;

    margin: 0 auto;

    padding: 70px 85px;

    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: space-between;

    position: relative;
    overflow: hidden;

    border-radius: 42px;

    background:
        linear-gradient(
            135deg,
            #e8000b 0%,
            #ef101b 55%,
            #f52632 100%
        );

    box-shadow:
        0 30px 70px rgba(224, 0, 15, 0.18);
}


/* =====================================================
   SUBTLE DECORATION
===================================================== */

.find-outlets-main::before {
    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    right: 180px;
    top: -170px;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,0.08);
}


.find-outlets-main::after {
    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    left: -100px;
    bottom: -150px;

    border-radius: 50%;

    background: rgba(255,255,255,0.04);
}


/* =====================================================
   CONTENT
===================================================== */

.find-outlets-content {
    width: 62%;

    position: relative;
    z-index: 2;
}


.find-outlets-kicker {
    display: block;

    margin-bottom: 18px;

    color: #ffd21a;

    font-size: 14px;

    font-weight: 800;

    letter-spacing: 3px;

    text-transform: uppercase;
}


.find-outlets-content h2 {
    margin: 0 0 22px;

    color: #fff;

    font-size: clamp(48px, 5vw, 78px);

    line-height: 1.03;

    font-weight: 800;

    letter-spacing: -3px;
}


.find-outlets-content h2 span {
    color: #ffd21a;
}


.find-outlets-content p {
    max-width: 690px;

    margin: 0 0 30px;

    color: rgba(255,255,255,0.94);

    font-size: 17px;

    line-height: 1.65;
}


/* =====================================================
   YELLOW BUTTON
===================================================== */

.find-outlets-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 17px 28px;

    border-radius: 50px;

    background: #ffd21a;

    color: #26170f !important;

    text-decoration: none !important;

    font-size: 15px;

    font-weight: 800;

    box-shadow:
        0 12px 30px rgba(0,0,0,0.12);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;
}


.find-outlets-btn:hover {
    transform: translateY(-3px);

    background: #ffe04d;

    color: #26170f !important;

    box-shadow:
        0 18px 35px rgba(0,0,0,0.18);
}


/* =====================================================
   ICE CREAM VISUAL
===================================================== */

.find-outlets-visual {
    width: 35%;

    height: 360px;

    display: flex;

    align-items: center;
    justify-content: center;

    position: relative;

    z-index: 2;
}


.outlet-icecream {
    width: 280px;
    height: 320px;

    position: relative;
}


/* =====================================================
   SCOOPS
===================================================== */

.icecream-scoop {
    position: absolute;

    width: 105px;
    height: 105px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            #fff5cf,
            #f8d99b 55%,
            #e8b86d
        );

    box-shadow:
        inset -8px -10px 15px rgba(190,120,50,0.12),
        0 10px 20px rgba(0,0,0,0.08);
}


.scoop-1 {
    left: 85px;
    top: 35px;
}


.scoop-2 {
    left: 35px;
    top: 70px;
}


.scoop-3 {
    right: 35px;
    top: 70px;
}


/* =====================================================
   ICE CREAM CONE
===================================================== */

.icecream-cone {
    position: absolute;

    width: 105px;
    height: 145px;

    left: 87px;
    top: 120px;

    background:
        linear-gradient(
            135deg,
            #f4d39b,
            #d99d57
        );

    clip-path: polygon(
        8% 0,
        92% 0,
        65% 100%,
        35% 100%
    );

    filter:
        drop-shadow(
            0 10px 12px rgba(0,0,0,0.12)
        );
}


/* cone pattern */

.icecream-cone::before {
    content: "";

    position: absolute;

    inset: 10px;

    background:
        repeating-linear-gradient(
            45deg,
            transparent 0 12px,
            rgba(140,80,30,0.18) 13px 15px
        );

    clip-path: polygon(
        5% 0,
        95% 0,
        65% 100%,
        35% 100%
    );
}


/* =====================================================
   BONITAS TAG
===================================================== */

.bonitas-tag {
    position: absolute;

    right: -15px;
    bottom: 25px;

    padding: 15px 28px;

    border-radius: 12px;

    background: #ffd21a;

    color: #e9000d;

    font-size: 24px;

    font-weight: 900;

    letter-spacing: 1px;

    transform: rotate(-5deg);

    box-shadow:
        0 12px 20px rgba(0,0,0,0.12);
}


/* =====================================================
   INFORMATION CARDS
===================================================== */

.outlet-info-grid {
    width: 100%;
    max-width: 1540px;

    margin: 22px auto 0;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 16px;
}


.outlet-info-card {
    min-height: 100px;

    padding: 22px;

    display: flex;

    align-items: center;

    gap: 18px;

    box-sizing: border-box;

    border: 1px solid #e8e2df;

    border-radius: 22px;

    background: #fff;

    text-decoration: none !important;

    color: #422719 !important;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


.outlet-info-card:hover {
    transform: translateY(-4px);

    border-color: #ffd1d4;

    box-shadow:
        0 15px 35px rgba(50,30,20,0.08);
}


/* =====================================================
   ICON
===================================================== */

.outlet-info-icon {
    width: 48px;
    height: 48px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fff0f1;

    color: #ed0714;

    font-size: 23px;

    font-weight: 700;
}


.whatsapp-symbol {
    font-size: 24px;
}


/* =====================================================
   CARD TEXT
===================================================== */

.outlet-info-card h3 {
    margin: 0 0 6px;

    color: #422719;

    font-size: 16px;

    font-weight: 700;
}


.outlet-info-card p {
    margin: 0;

    color: #8a756c;

    font-size: 13px;

    line-height: 1.4;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1000px) {

    .find-outlets-main {
        padding: 60px 55px;
    }

    .find-outlets-content {
        width: 60%;
    }

    .find-outlets-content h2 {
        font-size: 52px;
    }

    .find-outlets-visual {
        width: 38%;
        transform: scale(0.85);
    }

    .outlet-info-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 700px) {

    .find-outlets {
        padding: 60px 20px 70px;
    }


    .find-outlets-main {
        min-height: auto;

        padding: 50px 28px;

        flex-direction: column;

        align-items: flex-start;

        border-radius: 30px;
    }


    .find-outlets-content {
        width: 100%;
    }


    .find-outlets-content h2 {
        font-size: 45px;

        letter-spacing: -1.5px;
    }


    .find-outlets-content p {
        font-size: 15px;
    }


    .find-outlets-visual {
        width: 100%;

        height: 280px;

        margin-top: 20px;
    }


    .outlet-info-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .outlet-info-card {
        min-height: 90px;
    }

}
/* =====================================================
   BONITAS — IRRESISTIBLE FLAVOURS
===================================================== */

.flavours-section {
    width: 100%;

    padding: 90px 40px 85px;

    box-sizing: border-box;

    background: #fff7e5;

    overflow: hidden;
}


/* =====================================================
   HEADER
===================================================== */

.flavours-header {
    max-width: 850px;

    margin: 0 auto 48px;

    text-align: center;
}


.flavours-kicker {
    display: block;

    margin-bottom: 12px;

    color: #ed0714;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 3px;

    text-transform: uppercase;
}


.flavours-header h2 {
    margin: 0;

    color: #422719;

    font-size: clamp(48px, 5vw, 70px);

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -2.5px;
}


.flavours-header h2 span {
    color: #ed0714;
}


.flavours-header p {
    max-width: 700px;

    margin: 22px auto 0;

    color: #806e65;

    font-size: 14px;

    line-height: 1.6;
}


/* =====================================================
   FLAVOUR GRID
===================================================== */

.flavours-grid {
    width: 100%;

    max-width: 1420px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(7, 1fr);

    gap: 14px;

    align-items: stretch;
}


/* =====================================================
   CARD
===================================================== */

.flavour-card {
    min-width: 0;

    min-height: 286px;

    padding: 18px 14px 20px;

    position: relative;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    box-sizing: border-box;

    border: 1px solid rgba(255,255,255,0.9);

    border-radius: 24px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #ffffff 60%,
            #fff4cf 100%
        );

    box-shadow:
        0 10px 25px rgba(85,55,30,0.04);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


.flavour-card:hover {
    transform: translateY(-8px);

    box-shadow:
        0 20px 38px rgba(85,55,30,0.12);
}


/* =====================================================
   DECORATIONS
===================================================== */

.flavour-decoration {
    position: absolute;

    top: 17px;

    right: 15px;

    color: #ad6a12;

    font-size: 11px;

    letter-spacing: 4px;

    line-height: 1;
}


/* =====================================================
   FLAVOUR CIRCLE
===================================================== */

.flavour-circle {
    width: 126px;

    height: 126px;

    flex-shrink: 0;

    margin-top: 4px;

    margin-bottom: 24px;

    border-radius: 50%;

    position: relative;

    box-shadow:
        inset -12px -15px 20px rgba(0,0,0,0.12),
        inset 10px 10px 18px rgba(255,255,255,0.18),
        0 13px 17px rgba(70,45,30,0.18);
}


/* =====================================================
   FLAVOUR COLORS
===================================================== */

.flavour-circle.chocolate {
    background:
        radial-gradient(
            circle at 35% 28%,
            #8d4f2b 0%,
            #673319 55%,
            #48220f 100%
        );
}


.flavour-circle.strawberry {
    background:
        radial-gradient(
            circle at 35% 28%,
            #ff8ca3 0%,
            #ef5875 55%,
            #d62d50 100%
        );
}


.flavour-circle.pista {
    background:
        radial-gradient(
            circle at 35% 28%,
            #d7ed91 0%,
            #a6ce62 50%,
            #659331 100%
        );
}


.flavour-circle.mango {
    background:
        radial-gradient(
            circle at 35% 28%,
            #ffdf78 0%,
            #f9bf32 50%,
            #dc9200 100%
        );
}


.flavour-circle.butterscotch {
    background:
        radial-gradient(
            circle at 35% 28%,
            #f4ca91 0%,
            #d99a5b 55%,
            #a8662d 100%
        );
}


.flavour-circle.vanilla {
    background:
        radial-gradient(
            circle at 35% 28%,
            #fffbe0 0%,
            #f4eac0 55%,
            #d9ca94 100%
        );
}


.flavour-circle.blackcurrant {
    background:
        radial-gradient(
            circle at 35% 28%,
            #a95bd0 0%,
            #843db0 50%,
            #55217b 100%
        );
}


/* =====================================================
   CARD TEXT
===================================================== */

.flavour-card h3 {
    width: 100%;

    margin: 0 0 8px;

    color: #422719;

    font-size: 15px;

    line-height: 1.2;

    font-weight: 700;
}


.flavour-card p {
    width: 100%;

    margin: 0;

    color: #9a8980;

    font-size: 10px;

    line-height: 1.4;
}


/* =====================================================
   BUTTON
===================================================== */

.flavours-button-wrap {
    display: flex;

    justify-content: center;

    margin-top: 42px;
}


.flavours-view-button {
    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding: 15px 27px;

    border: 1.5px solid #ed0714;

    border-radius: 50px;

    background: transparent;

    color: #ed0714 !important;

    text-decoration: none !important;

    font-size: 13px;

    font-weight: 700;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


.flavours-view-button span {
    font-size: 18px;

    line-height: 1;

    transition:
        transform 0.3s ease;
}


.flavours-view-button:hover {
    background: #ed0714;

    color: #ffffff !important;

    transform: translateY(-3px);
}


.flavours-view-button:hover span {
    transform: translateX(5px);
}


/* =====================================================
   LARGE TABLET
===================================================== */

@media (max-width: 1200px) {

    .flavours-grid {
        grid-template-columns:
            repeat(4, 1fr);

        max-width: 900px;

        gap: 16px;
    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 800px) {

    .flavours-section {
        padding: 75px 25px;
    }

    .flavours-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 560px) {

    .flavours-section {
        padding: 65px 18px;
    }


    .flavours-header {
        margin-bottom: 35px;
    }


    .flavours-header h2 {
        font-size: 43px;

        letter-spacing: -1.5px;
    }


    .flavours-header p {
        font-size: 13px;
    }


    .flavours-grid {
        grid-template-columns:
            repeat(2, 1fr);

        gap: 12px;
    }


    .flavour-card {
        min-height: 260px;

        padding: 16px 10px 18px;

        border-radius: 20px;
    }


    .flavour-circle {
        width: 105px;

        height: 105px;

        margin-bottom: 20px;
    }


    .flavour-card h3 {
        font-size: 13px;
    }


    .flavour-card p {
        font-size: 9px;
    }

}


/* =====================================================
   VERY SMALL MOBILE
===================================================== */

@media (max-width: 360px) {

    .flavours-grid {
        grid-template-columns: 1fr;
    }

}
/* =========================================================
   CONTACT / FINAL CTA
========================================================= */

.contact.section {
    width: min(1320px, calc(100% - 80px));
    margin: 70px auto 90px;

    min-height: 430px;

    padding: 62px 60px;

    box-sizing: border-box;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;

    border: 1px solid rgba(239, 7, 20, 0.18);
    border-radius: 46px;

    background:
        radial-gradient(
            circle at 15% 25%,
            rgba(255, 250, 220, 0.95),
            transparent 40%
        ),
        radial-gradient(
            circle at 85% 70%,
            rgba(255, 225, 215, 0.45),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fffdf4 48%,
            #fff7df 100%
        );

    box-shadow:
        0 25px 55px rgba(65, 40, 25, 0.08);

    overflow: hidden;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.contact-copy {
    flex: 1 1 auto;
    max-width: 850px;

    position: relative;
    z-index: 2;
}


.contact-copy .kicker {
    display: block;

    margin-bottom: 24px;

    color: #ed0714;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;

    text-transform: uppercase;
}


.contact-copy h2 {
    margin: 0;

    max-width: 850px;

    color: #422719;

    font-size: clamp(55px, 5vw, 76px);

    line-height: 0.98;

    letter-spacing: -3px;

    font-weight: 800;
}


/* Red word */

.contact-copy h2 span {
    color: #ed0714;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.contact-copy p {
    max-width: 900px;

    margin: 30px 0 0;

    color: #806e65;

    font-size: 18px;

    line-height: 1.75;
}


/* =========================================================
   RIGHT CTA
========================================================= */

.contact-card {
    flex: 0 0 auto;

    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* Hide the old contact links */

.contact-card a {
    display: none;
}


/* Create CTA button */

.contact-card::before {
    content: "Start an Enquiry →";

    display: flex;

    align-items: center;
    justify-content: center;

    min-width: 280px;
    height: 82px;

    padding: 0 34px;

    box-sizing: border-box;

    border-radius: 50px;

    background: #ed0714;

    color: #ffffff;

    font-size: 18px;
    font-weight: 800;

    white-space: nowrap;

    box-shadow:
        0 20px 35px rgba(237, 7, 20, 0.22);

    cursor: pointer;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.contact-card:hover::before {
    transform: translateY(-4px);

    box-shadow:
        0 25px 42px rgba(237, 7, 20, 0.28);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .contact.section {
        width: min(92%, 1320px);

        padding: 55px 50px;

        gap: 35px;
    }


    .contact-copy h2 {
        font-size: clamp(48px, 5vw, 65px);
    }


    .contact-card::before {
        min-width: 245px;
        height: 72px;

        font-size: 16px;
    }

}


/* =========================================================
   MOBILE / SMALL TABLET
========================================================= */

@media (max-width: 800px) {

    .contact.section {
        width: calc(100% - 36px);

        margin: 50px auto 70px;

        padding: 45px 30px;

        min-height: auto;

        flex-direction: column;

        align-items: flex-start;

        gap: 35px;

        border-radius: 32px;
    }


    .contact-copy {
        max-width: 100%;
    }


    .contact-copy h2 {
        max-width: 100%;

        font-size: clamp(42px, 9vw, 60px);

        line-height: 1;

        letter-spacing: -2px;
    }


    .contact-copy p {
        margin-top: 24px;

        font-size: 16px;

        line-height: 1.6;
    }


    .contact-card {
        width: 100%;

        justify-content: flex-start;
    }


    .contact-card::before {
        min-width: 0;

        width: 100%;

        height: 66px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .contact.section {
        width: calc(100% - 24px);

        padding: 38px 24px;

        border-radius: 28px;
    }


    .contact-copy .kicker {
        font-size: 11px;

        letter-spacing: 2.5px;

        margin-bottom: 18px;
    }


    .contact-copy h2 {
        font-size: 43px;

        line-height: 1.02;

        letter-spacing: -1.5px;
    }


    .contact-copy p {
        font-size: 15px;
    }


    .contact-card::before {
        height: 62px;

        font-size: 16px;
    }

}
/* =========================================
   BONITAS FLAVOUR GRID
========================================= */

.bonitas-flavour-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    width: 100%;
}


/* =========================================
   FLAVOUR CARD
========================================= */

.bonitas-flavour-card {
    background: #fffaf0 !important;
    border: 1px solid #eee3cf !important;
    border-radius: 28px !important;
    padding: 28px 24px 30px !important;

    min-height: 430px;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;

    box-shadow: 0 8px 25px rgba(74, 45, 25, 0.07);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


/* CARD HOVER */

.bonitas-flavour-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 45px rgba(74, 45, 25, 0.14);
    border-color: #e5322d !important;
}


/* =========================================
   IMAGE CIRCLE
========================================= */

.bonitas-flavour-image {
    width: 180px !important;
    height: 180px !important;

    min-width: 180px;
    min-height: 180px;

    background: #fff0bd !important;
    border-radius: 50% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden;

    margin: 0 auto 25px !important;
}


/* ACTUAL PRODUCT IMAGE */

.bonitas-flavour-image img {
    width: 150px !important;
    height: 150px !important;

    object-fit: contain !important;

    transition: transform 0.4s ease;
}


/* IMAGE HOVER */

.bonitas-flavour-card:hover .bonitas-flavour-image img {
    transform: scale(1.08);
}


/* =========================================
   FLAVOUR NAME
========================================= */

.bonitas-flavour-name {
    font-size: 23px !important;
    line-height: 1.2 !important;

    font-weight: 800 !important;

    margin: 0 0 12px !important;

    color: #442719 !important;

    transition: color 0.3s ease;
}


.bonitas-flavour-card:hover .bonitas-flavour-name {
    color: #e5322d !important;
}


/* =========================================
   DESCRIPTION
========================================= */

.bonitas-flavour-description {
    font-size: 15px !important;
    line-height: 1.6 !important;

    color: #76695e !important;

    margin: 0 0 24px !important;
}


/* =========================================
   BUTTON
========================================= */

.bonitas-flavour-button {
    margin-top: auto !important;

    background: #e5322d !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 999px !important;

    padding: 13px 23px !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    text-decoration: none !important;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}


.bonitas-flavour-button:hover {
    background: #c92722 !important;
    color: #ffffff !important;

    transform: translateY(-3px);

    box-shadow: 0 8px 20px rgba(229, 50, 45, 0.25);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 900px) {

    .bonitas-flavour-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}


@media (max-width: 600px) {

    .bonitas-flavour-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .bonitas-flavour-card {
        min-height: 410px;
        padding: 25px 20px 28px !important;
    }

    .bonitas-flavour-image {
        width: 160px !important;
        height: 160px !important;

        min-width: 160px;
        min-height: 160px;
    }

    .bonitas-flavour-image img {
        width: 135px !important;
        height: 135px !important;
    }

}
/* =========================================================
   BONITAS HERO — NEW PRODUCT IMAGE
   DESKTOP: IMAGE LEFT / CONTENT RIGHT
========================================================= */

.hero {
    position: relative !important;
    width: 100% !important;
    min-height: 720px !important;

    display: grid !important;
    grid-template-columns: 56% 44% !important;

    align-items: center !important;

    padding-top: 140px !important;
    padding-left: clamp(30px, 5vw, 80px) !important;
    padding-right: clamp(30px, 5vw, 80px) !important;

    column-gap: 20px !important;

    overflow: hidden !important;
}


/* =========================================================
   NEW HERO IMAGE
========================================================= */

.hero-product {
    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: 720px !important;

    min-height: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: relative !important;

    z-index: 2 !important;
}


/* NEW IMAGE */

.hero-product img {
    display: block !important;

    width: 100% !important;
    max-width: 700px !important;

    height: auto !important;

    margin: 0 !important;

    object-fit: contain !important;

    transform: none !important;

    filter:
        drop-shadow(
            0 25px 35px
            rgba(58, 36, 25, 0.16)
        );

    animation: bonitasNewHeroFloat 5s ease-in-out infinite;

    border: none !important;
}


/* =========================================================
   HERO TEXT — RIGHT
========================================================= */

.hero-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: 540px !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;
    z-index: 5 !important;

    text-align: left !important;
}


/* Heading */

.hero-copy h1 {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}


/* Paragraph */

.hero-copy p {
    max-width: 500px !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Buttons */

.hero-actions {
    display: flex !important;

    justify-content: flex-start !important;
    align-items: center !important;

    flex-wrap: wrap !important;

    gap: 14px !important;
}


/* =========================================================
   IMAGE FLOAT
========================================================= */

@keyframes bonitasNewHeroFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }

}


/* =========================================================
   REMOVE OLD RING
========================================================= */

.hero-product .product-ring {
    display: none !important;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1200px) {

    .hero-product {
        max-width: 760px !important;
        transform: translateX(-20px) !important;
    }

    .hero-product img {
        max-width: 740px !important;
    }

    .hero-copy {
        transform: translateX(5px) !important;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .hero {
        min-height: auto !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: center !important;

        padding:
            115px 25px
            70px !important;

        gap: 35px !important;
    }


    .hero-product {
        order: 1 !important;

        width: 100% !important;
        max-width: 650px !important;

        transform: none !important;
    }


    .hero-product img {
        width: 100% !important;
        max-width: 650px !important;
    }


    .hero-copy {
        order: 2 !important;

        width: 100% !important;
        max-width: 650px !important;

        text-align: center !important;

        transform: none !important;
    }


    .hero-copy p {
        margin-left: auto !important;
        margin-right: auto !important;
    }


    .hero-actions {
        justify-content: center !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .hero {
        padding:
            90px 16px
            55px !important;

        gap: 25px !important;
    }


    .hero-product {
        width: 100% !important;
        max-width: 500px !important;
    }


    .hero-product img {
        width: 100% !important;
        max-width: 500px !important;
    }


    .hero-copy {
        width: 100% !important;
    }


    .hero-copy h1 {
        font-size: clamp(52px, 15vw, 72px) !important;
    }

}
/* =========================================================
   BONITAS — WHY BONITAS
   CENTER EACH FEATURE INSIDE ITS COLUMN
========================================================= */

.why-bonitas {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 35px 20px !important;
}

.why-bonitas .why-bonitas-inner {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 !important;

    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
}

/* EACH COLUMN */
.why-bonitas .why-item {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 90px !important;

    margin: 0 !important;
    padding: 0 25px !important;

    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-right: 1px solid #e8ddd6 !important;
}

.why-bonitas .why-item:last-child {
    border-right: none !important;
}

/* ICON */
.why-bonitas .why-icon {
    width: 78px !important;
    height: 78px !important;
    min-width: 78px !important;
    min-height: 78px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;

    line-height: 1 !important;
    text-align: center !important;

    flex-shrink: 0 !important;
}

/* TEXT — IMPORTANT: DON'T LET IT STRETCH */
.why-bonitas .why-text {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;

    margin: 0 0 0 18px !important;
    padding: 0 !important;
}

.why-bonitas .why-text h3 {
    margin: 0 0 5px !important;
    padding: 0 !important;
    white-space: nowrap !important;
}

.why-bonitas .why-text p {
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .why-bonitas .why-bonitas-inner {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .why-bonitas .why-item {
        padding: 15px 20px !important;
    }

    .why-bonitas .why-item:nth-child(2) {
        border-right: none !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .why-bonitas {
        padding: 25px 16px !important;
    }

    .why-bonitas .why-bonitas-inner {
        grid-template-columns: 1fr !important;
    }

    .why-bonitas .why-item {
        justify-content: flex-start !important;
        padding: 12px 5px !important;
        border-right: none !important;
        border-bottom: 1px solid #e8ddd6 !important;
    }

    .why-bonitas .why-item:last-child {
        border-bottom: none !important;
    }

    .why-bonitas .why-icon {
        width: 70px !important;
        height: 70px !important;
        min-width: 70px !important;
        min-height: 70px !important;
    }

    .why-bonitas .why-text {
        margin-left: 18px !important;
    }

    .why-bonitas .why-text h3,
    .why-bonitas .why-text p {
        white-space: normal !important;
    }
}
/* Remove vertical bars from Why Bonitas section */
.why-bonitas .why-item {
    border-right: none !important;
}
/* =========================================================
   BONITAS — FRANCHISE HOME SECTION
   MATCH WIDTH WITH OTHER HOMEPAGE SECTIONS
========================================================= */

.franchise-home-section {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 80px 30px !important;
}

/* Main franchise card */
.franchise-home-section .franchise-home-card {
    width: 100% !important;
    max-width: 1200px !important;
    min-height: 520px !important;

    margin: 0 auto !important;
    padding: 55px 60px 35px !important;

    box-sizing: border-box !important;

    display: grid !important;
    grid-template-columns: 1fr 0.8fr !important;
    grid-template-rows: auto auto auto !important;

    column-gap: 70px !important;
    row-gap: 35px !important;

    position: relative !important;
}

/* LEFT CONTENT */
.franchise-home-section .franchise-home-content {
    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: 520px !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* RIGHT VISUAL */
.franchise-home-section .franchise-home-visual {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* RED CARD */
.franchise-home-section .franchise-red-card {
    width: 100% !important;
    max-width: 360px !important;
    min-height: 300px !important;

    margin: 0 auto !important;
}

/* BUTTONS */
.franchise-home-section .franchise-home-buttons {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

/* BOTTOM MINI CARDS */
.franchise-home-section .franchise-mini-cards {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;

    width: 100% !important;
    max-width: none !important;

    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;

    margin: 0 !important;
}

/* DISCLAIMER */
.franchise-home-section .franchise-disclaimer {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;

    width: 100% !important;
    margin: 0 !important;

    text-align: center !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .franchise-home-section {
        padding: 60px 25px !important;
    }

    .franchise-home-section .franchise-home-card {
        max-width: 760px !important;

        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto auto auto !important;

        padding: 45px 40px 30px !important;

        row-gap: 30px !important;
    }

    .franchise-home-section .franchise-home-content {
        grid-column: 1 !important;
        grid-row: 1 !important;

        max-width: 600px !important;
    }

    .franchise-home-section .franchise-home-visual {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .franchise-home-section .franchise-mini-cards {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }

    .franchise-home-section .franchise-disclaimer {
        grid-column: 1 !important;
        grid-row: 4 !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .franchise-home-section {
        padding: 45px 16px !important;
    }

    .franchise-home-section .franchise-home-card {
        width: 100% !important;
        max-width: 100% !important;

        padding: 35px 22px 25px !important;

        border-radius: 24px !important;

        grid-template-columns: 1fr !important;
    }

    .franchise-home-section .franchise-home-content {
        max-width: 100% !important;
    }

    .franchise-home-section .franchise-home-buttons {
        justify-content: flex-start !important;
    }

    .franchise-home-section .franchise-red-card {
        max-width: 300px !important;
    }

    .franchise-home-section .franchise-mini-cards {
        grid-template-columns: 1fr !important;
    }
}
/* Keep contact information on one line */
.footer-contact-line {
    white-space: nowrap !important;
}

.footer-contact-line a {
    white-space: nowrap !important;
}


/* =========================================================
   BONITAS HERO — FINAL IMAGE FIX
   Primary: /assets/hero-product-new.jpg
   Fallback: /assets/hero-product.png
========================================================= */

.hero {
    position: relative !important;
    width: 100% !important;
    min-height: 720px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 56%) minmax(0, 44%) !important;
    align-items: center !important;
    padding: 140px clamp(30px, 5vw, 80px) 70px !important;
    column-gap: 20px !important;
    overflow: hidden !important;
}

.hero-product {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 760px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hero-product-picture {
    display: block !important;
    width: 100% !important;
    max-width: 740px !important;
    margin: 0 auto !important;
    line-height: 0 !important;
}

.hero-product img {
    display: block !important;
    width: 100% !important;
    max-width: 740px !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
    border: 0 !important;
    transform: none !important;
    filter: drop-shadow(0 28px 38px rgba(58, 36, 25, .16)) !important;
    animation: bonitasNewHeroFloat 5s ease-in-out infinite !important;
}

.hero-product .product-ring {
    display: none !important;
}

.hero-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 540px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 5 !important;
    justify-self: start !important;
    align-self: center !important;
    text-align: left !important;
}

.hero-copy h1 {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}

.hero-copy p {
    max-width: 500px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.hero-copy .hero-actions {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

@keyframes bonitasNewHeroFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@media (min-width: 1200px) {
    .hero-product {
        transform: translateX(-18px) !important;
    }

    .hero-product-picture,
    .hero-product img {
        max-width: 760px !important;
    }

    .hero-copy {
        transform: translateX(4px) !important;
    }
}

@media (max-width: 900px) {
    .hero {
        min-height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 115px 25px 70px !important;
        gap: 35px !important;
    }

    .hero-product {
        order: 1 !important;
        width: 100% !important;
        max-width: 650px !important;
        transform: none !important;
    }

    .hero-product-picture,
    .hero-product img {
        width: 100% !important;
        max-width: 650px !important;
    }

    .hero-copy {
        order: 2 !important;
        width: 100% !important;
        max-width: 650px !important;
        text-align: center !important;
        transform: none !important;
    }

    .hero-copy p {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero-copy .hero-actions {
        justify-content: center !important;
    }
}

@media (max-width: 600px) {
    .hero {
        padding: 90px 16px 55px !important;
        gap: 25px !important;
    }

    .hero-product {
        max-width: 500px !important;
    }

    .hero-product-picture,
    .hero-product img {
        width: 100% !important;
        max-width: 500px !important;
    }

    .hero-copy {
        width: 100% !important;
    }

    .hero-copy h1 {
        font-size: clamp(52px, 15vw, 72px) !important;
    }
}

/* =========================================================
   BONITAS FINAL FIXES
   - remove hero duplicate/empty-space effects
   - make Why Bonitas responsive at browser zoom
   - keep text inside its own column
   - make mobile hamburger dropdown work
========================================================= */

/* Stop accidental horizontal overflow */
html,
body {
    max-width: 100%;
    overflow-x: hidden !important;
}

/* HERO: remove unnecessary height/spacing on smaller screens */
.hero {
    overflow: hidden !important;
}

.micro-proof {
    margin-bottom: 0 !important;
}

/* WHY BONITAS — clean four-column layout */
.why-bonitas {
    width: 100% !important;
    padding: 24px 20px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.why-bonitas .why-bonitas-inner {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    align-items: stretch !important;
}

.why-bonitas .why-item {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 88px !important;
    padding: 8px 18px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    box-sizing: border-box !important;
    border: 0 !important;
}

.why-bonitas .why-icon {
    width: 70px !important;
    height: 70px !important;
    min-width: 70px !important;
    min-height: 70px !important;
    flex: 0 0 70px !important;
    margin: 0 !important;
}

.why-bonitas .why-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.why-bonitas .why-text h3 {
    margin: 0 0 4px !important;
    padding: 0 !important;
    font-size: clamp(18px, 1.55vw, 25px) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.why-bonitas .why-text p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

/* Browser zoom / narrower desktop viewport */
@media (max-width: 1250px) {
    .why-bonitas {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .why-bonitas .why-item {
        padding-left: 10px !important;
        padding-right: 10px !important;
        gap: 12px !important;
    }

    .why-bonitas .why-icon {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
        flex-basis: 64px !important;
    }

    .why-bonitas .why-text h3 {
        font-size: 20px !important;
    }

    .why-bonitas .why-text p {
        font-size: 15px !important;
    }
}

/* Tablet / zoomed page */
@media (max-width: 1000px) {
    .why-bonitas .why-bonitas-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        row-gap: 4px !important;
    }

    .why-bonitas .why-item {
        min-height: 82px !important;
        padding: 8px 12px !important;
    }
}

/* MOBILE */
@media (max-width: 800px) {

    /* Don't leave a large blank area after the hero */
    .hero {
        padding-bottom: 45px !important;
        gap: 18px !important;
    }

    .hero-product {
        min-height: 0 !important;
        margin-top: 0 !important;
    }

    .hero-product img {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Keep the single existing proof; the duplicate HTML has been removed */
    .hero-copy .micro-proof {
        display: block !important;
        margin-top: 14px !important;
    }

    /* Working mobile dropdown */
    .mobile-menu {
        position: fixed !important;
        z-index: 2000 !important;
        top: 88px !important;
        right: 16px !important;
        left: auto !important;
        width: min(320px, calc(100vw - 32px)) !important;
        max-height: calc(100vh - 105px) !important;
        overflow-y: auto !important;
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .mobile-menu.open {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .menu-btn {
        position: relative !important;
        z-index: 2100 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }

    /* Why Bonitas becomes a clean vertical list */
    .why-bonitas {
        padding: 18px 16px !important;
    }

    .why-bonitas .why-bonitas-inner {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .why-bonitas .why-item {
        min-height: 0 !important;
        padding: 12px 2px !important;
        gap: 14px !important;
        border: 0 !important;
    }

    .why-bonitas .why-icon {
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        min-height: 62px !important;
        flex-basis: 62px !important;
    }

    .why-bonitas .why-text h3 {
        font-size: 20px !important;
        line-height: 1.2 !important;
    }

    .why-bonitas .why-text p {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }
}

/* Small phones */
@media (max-width: 480px) {
    .why-bonitas {
        padding: 14px 14px !important;
    }

    .why-bonitas .why-item {
        padding: 10px 0 !important;
    }

    .why-bonitas .why-icon {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;
        flex-basis: 58px !important;
    }

    .why-bonitas .why-text h3 {
        font-size: 18px !important;
    }

    .why-bonitas .why-text p {
        font-size: 15px !important;
    }
}

/* =========================================================
   BONITAS FINAL SPACING + MOBILE CONTACT FIX
   Only layout/spacing corrections — existing design preserved.
========================================================= */

/* Prevent sections from creating horizontal overflow */
main,
main > section,
.contact-cta-section,
.contact-cta-card {
    box-sizing: border-box !important;
}

/* Keep section boundaries tight — no unwanted blank gaps */
main > section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* WHY BONITAS -> CONTACT CTA: remove the visible white gap */
.why-bonitas {
    padding-bottom: 0 !important;
}

.contact-cta-section {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* =========================================================
   MOBILE CONTACT CTA
========================================================= */

@media (max-width: 600px) {

    .contact-cta-section {
        width: 100% !important;
        padding: 0 12px 28px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .contact-cta-card {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        padding: 38px 22px 36px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 22px !important;

        border-radius: 28px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .contact-cta-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;

        text-align: center !important;
        box-sizing: border-box !important;
    }

    .contact-cta-label {
        width: 100% !important;
        margin: 0 0 16px !important;
        text-align: center !important;
        font-size: 12px !important;
        letter-spacing: 3px !important;
        line-height: 1.3 !important;
    }

    .contact-cta-content h2 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 20px !important;

        text-align: center !important;

        font-size: clamp(34px, 10vw, 46px) !important;
        line-height: 1.05 !important;
        letter-spacing: -1.5px !important;

        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .contact-cta-content p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;

        text-align: center !important;

        font-size: 16px !important;
        line-height: 1.55 !important;
        overflow-wrap: anywhere !important;
    }

    .contact-cta-action {
        width: 100% !important;
        margin: 0 !important;

        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .contact-cta-button {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;

        padding: 18px 28px !important;
        font-size: 16px !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

}

/* Very small phones */
@media (max-width: 380px) {

    .contact-cta-section {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .contact-cta-card {
        padding-left: 17px !important;
        padding-right: 17px !important;
    }

    .contact-cta-content h2 {
        font-size: 32px !important;
        letter-spacing: -1px !important;
    }

    .contact-cta-content p {
        font-size: 15px !important;
    }

    .contact-cta-button {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}

/* =========================================================
   BONITAS — WHY BONITAS
   FINAL ALIGNMENT + REMOVE EMPTY SPACE
   ========================================================= */

/* Remove inherited section spacing/height */
section.why-bonitas,
.why-bonitas {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 18px 0 !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
}


/* Main content container */
section.why-bonitas .why-bonitas-inner,
.why-bonitas .why-bonitas-inner {
    width: 100% !important;
    max-width: 1400px !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 auto !important;
    padding: 0 20px !important;

    box-sizing: border-box !important;

    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

    align-items: center !important;
    justify-items: stretch !important;

    column-gap: 30px !important;
}


/* Each feature */
section.why-bonitas .why-item,
.why-bonitas .why-item {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;

    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 15px !important;

    border: none !important;
}


/* Icon */
section.why-bonitas .why-icon,
.why-bonitas .why-icon {
    width: 68px !important;
    height: 68px !important;

    min-width: 68px !important;
    min-height: 68px !important;

    flex: 0 0 68px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
}


/* Text container */
section.why-bonitas .why-text,
.why-bonitas .why-text {
    width: auto !important;
    max-width: 240px !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    box-sizing: border-box !important;
}


/* Heading */
section.why-bonitas .why-text h3,
.why-bonitas .why-text h3 {
    margin: 0 0 4px !important;
    padding: 0 !important;

    font-size: 21px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;

    letter-spacing: -0.2px !important;

    white-space: normal !important;
    overflow-wrap: normal !important;
}


/* Description */
section.why-bonitas .why-text p,
.why-bonitas .why-text p {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;

    white-space: normal !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    section.why-bonitas,
    .why-bonitas {
        padding: 16px 0 !important;
    }

    .why-bonitas .why-bonitas-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        column-gap: 25px !important;
        row-gap: 16px !important;

        padding: 0 20px !important;
    }

    .why-bonitas .why-item {
        justify-content: center !important;
    }

    .why-bonitas .why-icon {
        width: 64px !important;
        height: 64px !important;

        min-width: 64px !important;
        min-height: 64px !important;

        flex-basis: 64px !important;
    }

    .why-bonitas .why-text h3 {
        font-size: 20px !important;
    }

    .why-bonitas .why-text p {
        font-size: 15px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    section.why-bonitas,
    .why-bonitas {
        padding: 12px 0 !important;

        margin: 0 !important;

        height: auto !important;
        min-height: 0 !important;
    }

    .why-bonitas .why-bonitas-inner {
        width: 100% !important;
        max-width: 500px !important;

        margin: 0 auto !important;
        padding: 0 16px !important;

        display: grid !important;
        grid-template-columns: 1fr !important;

        row-gap: 0 !important;
    }

    .why-bonitas .why-item {
        width: 100% !important;

        min-height: 0 !important;
        height: auto !important;

        padding: 9px 0 !important;

        justify-content: center !important;
        align-items: center !important;

        gap: 14px !important;
    }

    .why-bonitas .why-icon {
        width: 60px !important;
        height: 60px !important;

        min-width: 60px !important;
        min-height: 60px !important;

        flex-basis: 60px !important;
    }

    .why-bonitas .why-text {
        width: auto !important;
        max-width: calc(100% - 74px) !important;

        margin: 0 !important;

        text-align: left !important;
    }

    .why-bonitas .why-text h3 {
        margin: 0 0 3px !important;

        font-size: 19px !important;
        line-height: 1.18 !important;
    }

    .why-bonitas .why-text p {
        margin: 0 !important;

        font-size: 15px !important;
        line-height: 1.35 !important;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

    .why-bonitas .why-bonitas-inner {
        padding: 0 12px !important;
    }

    .why-bonitas .why-item {
        gap: 12px !important;
        padding: 8px 0 !important;
    }

    .why-bonitas .why-icon {
        width: 56px !important;
        height: 56px !important;

        min-width: 56px !important;
        min-height: 56px !important;

        flex-basis: 56px !important;
    }

    .why-bonitas .why-text {
        max-width: calc(100% - 68px) !important;
    }

    .why-bonitas .why-text h3 {
        font-size: 18px !important;
    }

    .why-bonitas .why-text p {
        font-size: 14px !important;
    }
}
/* =========================================================
   BONITAS — HERO → WHY → DISCOVER SPACING
   Final spacing adjustment only
========================================================= */


/* -------------------------
   WHY BONITAS
------------------------- */

.why-bonitas {
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;

    /* small, balanced vertical space */
    padding-top: 18px !important;
    padding-bottom: 18px !important;

    box-sizing: border-box !important;
}


/* Keep the feature row compact */

.why-bonitas .why-bonitas-inner {
    height: auto !important;
    min-height: 0 !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;

    align-items: center !important;
}


/* Individual feature items */

.why-bonitas .why-item {
    min-height: 0 !important;
    height: auto !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 4px !important;
    padding-bottom: 4px !important;
}


/* -------------------------
   DISCOVER BONITAS
------------------------- */

/* Catch the Discover section regardless of
   whether it uses .discover-section or .discover */

.discover-section,
.discover {
    margin-top: 0 !important;
    padding-top: 55px !important;

    box-sizing: border-box !important;
}


/* Heading area */

.discover-section .section-heading,
.discover .section-heading {
    margin-top: 0 !important;
}


/* Kicker */

.discover-section .section-eyebrow,
.discover .section-eyebrow {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}


/* Main Discover heading */

.discover-section h2,
.discover h2 {
    margin-top: 0 !important;
}


/* -------------------------
   REMOVE ACCIDENTAL
   TOP MARGINS
------------------------- */

.why-bonitas + section {
    margin-top: 0 !important;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 1001px) {

    .why-bonitas {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    .discover-section,
    .discover {
        padding-top: 52px !important;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .why-bonitas {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    .discover-section,
    .discover {
        padding-top: 45px !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .why-bonitas {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .discover-section,
    .discover {
        padding-top: 35px !important;
        margin-top: 0 !important;
    }

    .discover-section .section-eyebrow,
    .discover .section-eyebrow {
        margin-bottom: 12px !important;
    }
}
/* =========================================================
   BONITAS — FINAL SECTION SPACING + TEXT SIZE
   ========================================================= */


/* =========================================================
   1. REMOVE UNWANTED SPACE BETWEEN SECTIONS
   ========================================================= */

/* WHY BONITAS */
.why-bonitas {
    margin: 0 !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    min-height: 0 !important;
    height: auto !important;
}


/* Discover Bonitas */
.discover-section,
.discover {
    margin-top: 0 !important;
    padding-top: 38px !important;
}


/* Remove accidental margins from the content inside */
.why-bonitas .why-bonitas-inner {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* Prevent heading from creating extra space */
.discover-section .section-heading,
.discover .section-heading {
    margin-top: 0 !important;
}


/* =========================================================
   2. DESKTOP SPACING
   ========================================================= */

@media (min-width: 1001px) {

    .why-bonitas {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .discover-section,
    .discover {
        padding-top: 42px !important;
        padding-bottom: 55px !important;
    }
}


/* =========================================================
   3. TABLET SPACING
   ========================================================= */

@media (max-width: 1000px) {

    .why-bonitas {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .discover-section,
    .discover {
        padding-top: 34px !important;
        padding-bottom: 45px !important;
    }
}


/* =========================================================
   4. MOBILE SPACING
   ========================================================= */

@media (max-width: 600px) {

    .why-bonitas {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .discover-section,
    .discover {
        padding-top: 28px !important;
        padding-bottom: 38px !important;
    }
}


/* =========================================================
   5. TEXT SIZE — SMALL TEXT SECTION
   Increase the text that currently looks too small
   ========================================================= */

/* Supporting descriptions */
.discover-section .section-heading p,
.discover .section-heading p {
    font-size: 18px !important;
    line-height: 1.55 !important;
}


/* Discover card text */
.discover-section .discover-card p,
.discover .discover-card p {
    font-size: 17px !important;
    line-height: 1.5 !important;
}


/* =========================================================
   6. TEXT SIZE — LARGE TEXT SECTION
   Reduce the text that currently looks too big
   ========================================================= */

.discover-section .discover-card h3,
.discover .discover-card h3 {
    font-size: 22px !important;
    line-height: 1.2 !important;
}


/* =========================================================
   7. MOBILE TEXT
   ========================================================= */

@media (max-width: 600px) {

    .discover-section .section-heading p,
    .discover .section-heading p {
        font-size: 17px !important;
        line-height: 1.5 !important;
    }

    .discover-section .discover-card h3,
    .discover .discover-card h3 {
        font-size: 20px !important;
        line-height: 1.2 !important;
    }

    .discover-section .discover-card p,
    .discover .discover-card p {
        font-size: 16px !important;
        line-height: 1.45 !important;
    }
}
/* =========================================================
   BONITAS HERO SLIDER — PREMIUM NORMAL SIZE
========================================================= */

.bonitas-hero-slider {
    position: relative !important;
    width: 100% !important;
    height: 650px !important;
    min-height: 650px !important;
    overflow: hidden !important;

    background:
        linear-gradient(
            115deg,
            #fffdf8 0%,
            #fff6d6 48%,
            #fff 100%
        ) !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   SLIDER
--------------------------------------------------------- */

.bonitas-hero-slider .bonitas-slider {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}


/* ---------------------------------------------------------
   EACH SLIDE
--------------------------------------------------------- */

.bonitas-hero-slider .bonitas-slide {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 105px 7vw 65px !important;

    box-sizing: border-box !important;

    display: grid !important;
    grid-template-columns: 54% 46% !important;

    align-items: center !important;

    opacity: 0 !important;
    visibility: hidden !important;

    transform: scale(1.015) !important;

    transition:
        opacity .75s ease,
        transform 1s ease,
        visibility .75s ease !important;

    pointer-events: none !important;
}


/* ACTIVE SLIDE */

.bonitas-hero-slider .bonitas-slide.active {
    opacity: 1 !important;
    visibility: visible !important;

    transform: scale(1) !important;

    pointer-events: auto !important;

    z-index: 2 !important;
}


/* ---------------------------------------------------------
   IMAGE SIDE
--------------------------------------------------------- */

.bonitas-hero-slider .bonitas-slide .hero-product {
    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: 720px !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: relative !important;
}


/* IMAGE */

.bonitas-hero-slider .bonitas-slide .hero-product img {
    display: block !important;

    width: min(100%, 720px) !important;
    max-width: 720px !important;

    height: auto !important;

    margin: 0 auto !important;
    padding: 0 !important;

    object-fit: contain !important;

    border: 0 !important;

    transform: translateY(0) !important;

    filter:
        drop-shadow(
            0 25px 30px rgba(58, 36, 25, .16)
        ) !important;

    transition:
        transform 1s ease,
        filter 1s ease !important;
}


/* PREMIUM IMAGE MOVEMENT */

.bonitas-hero-slider
.bonitas-slide.active
.hero-product img {
    animation: bonitasHeroImageFloat 5s ease-in-out infinite !important;
}


@keyframes bonitasHeroImageFloat {

    0% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-8px) scale(1.015);
    }

    100% {
        transform: translateY(0) scale(1);
    }

}


/* ---------------------------------------------------------
   TEXT SIDE
--------------------------------------------------------- */

.bonitas-hero-slider .bonitas-slide .hero-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: 560px !important;

    margin: 0 !important;
    padding: 0 !important;

    align-self: center !important;

    text-align: left !important;

    position: relative !important;
    z-index: 5 !important;
}


/* EYEBROW */

.bonitas-hero-slider .hero-copy .eyebrow {
    font-size: 14px !important;

    letter-spacing: 4px !important;

    margin-bottom: 12px !important;
}


/* MAIN HEADING */

.bonitas-hero-slider .hero-copy h1 {
    font-size: clamp(58px, 5.3vw, 88px) !important;

    line-height: .94 !important;

    letter-spacing: -2px !important;

    margin: 0 0 24px !important;
}


/* DESCRIPTION */

.bonitas-hero-slider .hero-copy p {
    max-width: 520px !important;

    font-size: 18px !important;

    line-height: 1.55 !important;

    margin:
        0 0 26px !important;
}


/* BUTTON AREA */

.bonitas-hero-slider .hero-actions {
    display: flex !important;

    align-items: center !important;

    justify-content: flex-start !important;

    flex-wrap: wrap !important;

    gap: 14px !important;

    margin: 0 !important;
}


/* BUTTONS */

.bonitas-hero-slider .hero-actions .btn {
    min-height: 54px !important;

    padding:
        15px 24px !important;

    box-sizing: border-box !important;
}


/* FRANCHISE LINK */

.bonitas-hero-slider .hero-franchise-link {
    display: inline-block !important;

    margin-top: 15px !important;
}


/* PROOF */

.bonitas-hero-slider .micro-proof {
    margin-top: 20px !important;

    font-size: 15px !important;
}


/* ---------------------------------------------------------
   DECORATIVE GLOWS
--------------------------------------------------------- */

.bonitas-hero-slider::before {
    content: "" !important;

    position: absolute !important;

    width: 280px !important;
    height: 280px !important;

    left: -130px !important;
    bottom: -120px !important;

    border-radius: 50% !important;

    background: rgba(255, 210, 26, .13) !important;

    pointer-events: none !important;

    z-index: 0 !important;
}


.bonitas-hero-slider::after {
    content: "" !important;

    position: absolute !important;

    width: 250px !important;
    height: 250px !important;

    right: -100px !important;
    top: 50px !important;

    border-radius: 50% !important;

    background: rgba(229, 9, 20, .055) !important;

    pointer-events: none !important;

    z-index: 0 !important;
}


/* ---------------------------------------------------------
   SLIDER ARROWS
--------------------------------------------------------- */

.bonitas-hero-slider .bonitas-slider-arrow {
    position: absolute !important;

    top: 50% !important;

    width: 46px !important;
    height: 46px !important;

    padding: 0 !important;
    margin: 0 !important;

    transform: translateY(-50%) !important;

    border: 1px solid rgba(229, 9, 20, .12) !important;

    border-radius: 50% !important;

    background: rgba(255,255,255,.92) !important;

    color: #e50914 !important;

    font-size: 28px !important;

    line-height: 1 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    cursor: pointer !important;

    z-index: 20 !important;

    box-shadow:
        0 8px 25px rgba(58,36,25,.12) !important;

    transition:
        transform .25s ease,
        box-shadow .25s ease !important;
}


.bonitas-hero-slider .bonitas-slider-arrow:hover {
    transform:
        translateY(-50%) scale(1.08) !important;

    box-shadow:
        0 12px 30px rgba(58,36,25,.18) !important;
}


.bonitas-hero-slider .bonitas-slider-prev {
    left: 22px !important;
}


.bonitas-hero-slider .bonitas-slider-next {
    right: 22px !important;
}


/* ---------------------------------------------------------
   DOTS
--------------------------------------------------------- */

.bonitas-hero-slider .bonitas-slider-dots {
    position: absolute !important;

    left: 50% !important;

    bottom: 22px !important;

    transform: translateX(-50%) !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 9px !important;

    z-index: 20 !important;
}


.bonitas-hero-slider .bonitas-slider-dots button {
    width: 9px !important;
    height: 9px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;

    border-radius: 50% !important;

    background: #d7d0c8 !important;

    cursor: pointer !important;

    transition:
        transform .25s ease,
        background .25s ease !important;
}


.bonitas-hero-slider
.bonitas-slider-dots
button.active {
    background: #e50914 !important;

    transform: scale(1.45) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .bonitas-hero-slider {
        height: 680px !important;
        min-height: 680px !important;
    }


    .bonitas-hero-slider .bonitas-slide {
        grid-template-columns: 52% 48% !important;

        padding:
            105px 5vw 60px !important;
    }


    .bonitas-hero-slider
    .bonitas-slide
    .hero-product {
        max-width: 600px !important;
    }


    .bonitas-hero-slider
    .bonitas-slide
    .hero-product img {
        max-width: 600px !important;
    }


    .bonitas-hero-slider .hero-copy h1 {
        font-size:
            clamp(52px, 7vw, 72px) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .bonitas-hero-slider {
        height: auto !important;
        min-height: 760px !important;
    }


    .bonitas-hero-slider .bonitas-slider {
        min-height: 760px !important;
    }


    .bonitas-hero-slider .bonitas-slide {

        display: flex !important;

        flex-direction: column !important;

        align-items: center !important;

        justify-content: center !important;

        text-align: center !important;

        width: 100% !important;

        height: 100% !important;

        min-height: 760px !important;

        padding:
            90px 25px 65px !important;

        box-sizing: border-box !important;
    }


    /* IMAGE */

    .bonitas-hero-slider
    .bonitas-slide
    .hero-product {

        width: 100% !important;

        max-width: 500px !important;

        margin:
            0 auto 10px !important;
    }


    .bonitas-hero-slider
    .bonitas-slide
    .hero-product img {

        width: 100% !important;

        max-width: 500px !important;
    }


    /* TEXT */

    .bonitas-hero-slider
    .bonitas-slide
    .hero-copy {

        width: 100% !important;

        max-width: 600px !important;

        text-align: center !important;

        margin: 0 auto !important;
    }


    .bonitas-hero-slider .hero-copy .eyebrow {

        font-size: 11px !important;

        letter-spacing: 3px !important;
    }


    .bonitas-hero-slider .hero-copy h1 {

        font-size:
            clamp(48px, 14vw, 68px) !important;

        line-height: .95 !important;

        letter-spacing: -1px !important;

        margin-bottom: 18px !important;
    }


    .bonitas-hero-slider .hero-copy p {

        font-size: 16px !important;

        line-height: 1.5 !important;

        margin:
            0 auto 22px !important;

        max-width: 520px !important;
    }


    .bonitas-hero-slider .hero-actions {

        justify-content: center !important;

        align-items: center !important;
    }


    .bonitas-hero-slider .micro-proof {

        justify-content: center !important;
    }


    /* ARROWS */

    .bonitas-hero-slider
    .bonitas-slider-arrow {

        width: 38px !important;
        height: 38px !important;

        font-size: 24px !important;
    }


    .bonitas-hero-slider
    .bonitas-slider-prev {

        left: 8px !important;
    }


    .bonitas-hero-slider
    .bonitas-slider-next {

        right: 8px !important;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .bonitas-hero-slider,
    .bonitas-hero-slider .bonitas-slider,
    .bonitas-hero-slider .bonitas-slide {

        min-height: 720px !important;
    }


    .bonitas-hero-slider .bonitas-slide {

        padding:
            82px 20px 55px !important;
    }


    .bonitas-hero-slider
    .bonitas-slide
    .hero-product {

        max-width: 430px !important;

        margin-bottom: 5px !important;
    }


    .bonitas-hero-slider .hero-copy h1 {

        font-size:
            clamp(44px, 14vw, 60px) !important;
    }


    .bonitas-hero-slider .hero-copy p {

        font-size: 15px !important;
    }


    .bonitas-hero-slider .hero-actions {

        flex-direction: column !important;

        width: 100% !important;
    }


    .bonitas-hero-slider .hero-actions .btn {

        width: auto !important;

        min-width: 190px !important;
    }

}
/* =========================================================
   BONITAS — SECTION BOX & TEXT POLISH
   Scoped overrides only
========================================================= */


/* =========================================================
   1. FRANCHISE — THREE BOXES
========================================================= */

.franchise-home-section .franchise-home-points {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
}


.franchise-home-section .franchise-home-point {
    min-height: 105px !important;

    display: flex !important;
    align-items: center !important;

    padding: 22px 24px !important;

    border-radius: 18px !important;

    box-sizing: border-box !important;

    border: 1px solid rgba(58, 36, 25, .10) !important;

    box-shadow:
        0 10px 25px rgba(58, 36, 25, .06) !important;

    transition:
        transform .3s ease,
        box-shadow .3s ease !important;
}


/* BOX 1 — LIGHT PINK */

.franchise-home-section .franchise-home-point:nth-child(1) {
    background: #fff1f2 !important;
}


/* BOX 2 — LIGHT YELLOW */

.franchise-home-section .franchise-home-point:nth-child(2) {
    background: #fff9df !important;
}


/* BOX 3 — LIGHT GREEN */

.franchise-home-section .franchise-home-point:nth-child(3) {
    background: #effaf1 !important;
}


.franchise-home-section .franchise-home-point:hover {
    transform: translateY(-4px) !important;

    box-shadow:
        0 16px 32px rgba(58, 36, 25, .10) !important;
}


/* NUMBER */

.franchise-home-section .franchise-home-point strong {
    flex: 0 0 auto !important;

    font-size: 22px !important;
    line-height: 1 !important;

    margin-right: 18px !important;

    color: #e50914 !important;
}


/* BOX TITLE */

.franchise-home-section .franchise-home-point h4,
.franchise-home-section .franchise-home-point .point-title {
    font-size: 16px !important;

    line-height: 1.25 !important;

    margin: 0 0 5px !important;

    color: #3a2419 !important;
}


/* BOX DESCRIPTION */

.franchise-home-section .franchise-home-point p,
.franchise-home-section .franchise-home-point .point-text {
    font-size: 13px !important;

    line-height: 1.45 !important;

    margin: 0 !important;

    color: #806f66 !important;
}


/* =========================================================
   2. OUTLET / CONTACT — FOUR BOXES
========================================================= */

.bonitas-contact-cards,
.contact-cards,
.outlet-contact-cards {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 18px !important;

    align-items: stretch !important;
}


/* INDIVIDUAL CARD */

.bonitas-contact-cards > *,
.contact-cards > *,
.outlet-contact-cards > * {
    min-height: 118px !important;

    display: flex !important;

    align-items: center !important;

    box-sizing: border-box !important;

    padding: 20px 24px !important;

    border-radius: 20px !important;

    border: 1px solid rgba(58,36,25,.10) !important;

    box-shadow:
        0 10px 28px rgba(58,36,25,.05) !important;

    transition:
        transform .3s ease,
        box-shadow .3s ease !important;
}


/* DIFFERENT LIGHT COLORS */

.bonitas-contact-cards > *:nth-child(1),
.contact-cards > *:nth-child(1),
.outlet-contact-cards > *:nth-child(1) {
    background: #fff4f5 !important;
}


.bonitas-contact-cards > *:nth-child(2),
.contact-cards > *:nth-child(2),
.outlet-contact-cards > *:nth-child(2) {
    background: #fff8df !important;
}


.bonitas-contact-cards > *:nth-child(3),
.contact-cards > *:nth-child(3),
.outlet-contact-cards > *:nth-child(3) {
    background: #f0f8ff !important;
}


.bonitas-contact-cards > *:nth-child(4),
.contact-cards > *:nth-child(4),
.outlet-contact-cards > *:nth-child(4) {
    background: #f2faf3 !important;
}


.bonitas-contact-cards > *:hover,
.contact-cards > *:hover,
.outlet-contact-cards > *:hover {
    transform: translateY(-4px) !important;

    box-shadow:
        0 16px 32px rgba(58,36,25,.10) !important;
}


/* CARD TITLES */

.bonitas-contact-cards h3,
.bonitas-contact-cards h4,
.contact-cards h3,
.contact-cards h4,
.outlet-contact-cards h3,
.outlet-contact-cards h4 {
    font-size: 18px !important;

    line-height: 1.25 !important;

    margin: 0 0 5px !important;

    color: #3a2419 !important;
}


/* CARD DESCRIPTION */

.bonitas-contact-cards p,
.contact-cards p,
.outlet-contact-cards p {
    font-size: 14px !important;

    line-height: 1.45 !important;

    margin: 0 !important;

    color: #806f66 !important;
}


/* =========================================================
   3. WHY BONITAS — FOUR ITEMS
========================================================= */

.why-bonitas {
    width: 100% !important;

    box-sizing: border-box !important;

    padding-top: 20px !important;
    padding-bottom: 20px !important;
}


.why-bonitas .why-bonitas-inner {
    width: 100% !important;

    max-width: 1250px !important;

    margin: 0 auto !important;

    padding:
        0 30px !important;

    box-sizing: border-box !important;

    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 35px !important;

    align-items: center !important;
}


/* EACH ITEM */

.why-bonitas .why-item {
    width: 100% !important;

    min-width: 0 !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 18px !important;

    padding: 10px 0 !important;

    border-right: none !important;

    box-sizing: border-box !important;
}


/* ICON */

.why-bonitas .why-icon {
    width: 76px !important;
    height: 76px !important;

    min-width: 76px !important;

    flex: 0 0 76px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;

    box-sizing: border-box !important;
}


/* TEXT */

.why-bonitas .why-text {
    min-width: 0 !important;

    text-align: left !important;
}


/* MAIN TEXT */

.why-bonitas .why-text h3,
.why-bonitas .why-text h4,
.why-bonitas .why-text strong {
    font-size: 20px !important;

    line-height: 1.25 !important;

    margin: 0 0 6px !important;

    color: #3a2419 !important;
}


/* SUBTEXT */

.why-bonitas .why-text p,
.why-bonitas .why-text span {
    font-size: 15px !important;

    line-height: 1.45 !important;

    margin: 0 !important;

    color: #806f66 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .franchise-home-section .franchise-home-points {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        gap: 12px !important;
    }


    .why-bonitas .why-bonitas-inner {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 20px !important;
    }


    .bonitas-contact-cards,
    .contact-cards,
    .outlet-contact-cards {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    /* FRANCHISE */

    .franchise-home-section .franchise-home-points {
        grid-template-columns: 1fr !important;

        gap: 12px !important;
    }


    .franchise-home-section .franchise-home-point {
        width: 100% !important;

        min-height: 92px !important;

        padding: 18px 20px !important;
    }


    .franchise-home-section .franchise-home-point strong {
        font-size: 20px !important;

        margin-right: 15px !important;
    }


    .franchise-home-section .franchise-home-point h4,
    .franchise-home-section .franchise-home-point .point-title {
        font-size: 16px !important;
    }


    .franchise-home-section .franchise-home-point p,
    .franchise-home-section .franchise-home-point .point-text {
        font-size: 13px !important;
    }


    /* CONTACT / OUTLET */

    .bonitas-contact-cards,
    .contact-cards,
    .outlet-contact-cards {
        grid-template-columns: 1fr !important;

        gap: 12px !important;
    }


    .bonitas-contact-cards > *,
    .contact-cards > *,
    .outlet-contact-cards > * {
        min-height: 95px !important;

        width: 100% !important;

        padding: 18px 20px !important;
    }


    .bonitas-contact-cards h3,
    .bonitas-contact-cards h4,
    .contact-cards h3,
    .contact-cards h4,
    .outlet-contact-cards h3,
    .outlet-contact-cards h4 {
        font-size: 18px !important;
    }


    .bonitas-contact-cards p,
    .contact-cards p,
    .outlet-contact-cards p {
        font-size: 14px !important;
    }


    /* WHY BONITAS */

    .why-bonitas {
        padding:
            15px 0 !important;
    }


    .why-bonitas .why-bonitas-inner {
        width: 100% !important;

        max-width: 520px !important;

        margin: 0 auto !important;

        padding:
            0 20px !important;

        grid-template-columns: 1fr !important;

        gap: 12px !important;
    }


    .why-bonitas .why-item {
        width: 100% !important;

        justify-content: flex-start !important;

        text-align: left !important;

        gap: 16px !important;

        padding: 10px 0 !important;
    }


    .why-bonitas .why-icon {
        width: 68px !important;
        height: 68px !important;

        min-width: 68px !important;

        flex-basis: 68px !important;
    }


    .why-bonitas .why-text {
        flex: 1 !important;

        text-align: left !important;
    }


    .why-bonitas .why-text h3,
    .why-bonitas .why-text h4,
    .why-bonitas .why-text strong {
        font-size: 18px !important;

        line-height: 1.25 !important;

        margin-bottom: 4px !important;
    }


    .why-bonitas .why-text p,
    .why-bonitas .why-text span {
        font-size: 14px !important;

        line-height: 1.4 !important;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .why-bonitas .why-bonitas-inner {
        padding: 0 16px !important;
    }


    .why-bonitas .why-item {
        gap: 13px !important;
    }


    .why-bonitas .why-icon {
        width: 62px !important;
        height: 62px !important;

        min-width: 62px !important;
        flex-basis: 62px !important;
    }


    .why-bonitas .why-text h3,
    .why-bonitas .why-text h4,
    .why-bonitas .why-text strong {
        font-size: 17px !important;
    }


    .why-bonitas .why-text p,
    .why-bonitas .why-text span {
        font-size: 13px !important;
    }

}
/* =========================================================
   DISCOVER BONITAS — FINAL BOX DESIGN
   ========================================================= */

.discover-bonitas {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 70px 5vw !important;
    margin: 0 !important;
}


/* MAIN TWO-COLUMN LAYOUT */

.discover-container {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;

    display: grid !important;
    grid-template-columns: 40% 60% !important;

    gap: 55px !important;
    align-items: center !important;

    box-sizing: border-box !important;
}


/* LEFT CONTENT */

.discover-content {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 !important;
}


/* EYEBROW */

.discover-eyebrow {
    display: block !important;

    font-size: 16px !important;
    line-height: 1.2 !important;

    font-weight: 800 !important;

    letter-spacing: 5px !important;

    color: #e50914 !important;

    margin-bottom: 24px !important;
}


/* MAIN HEADING */

.discover-content h2 {
    font-size: clamp(54px, 5vw, 78px) !important;

    line-height: 0.98 !important;

    letter-spacing: -2px !important;

    margin: 0 0 35px !important;

    color: #3a2419 !important;
}


/* RED PART */

.discover-content h2 span {
    color: #e50914 !important;
}


/* DESCRIPTION */

.discover-content > p {
    font-size: 18px !important;

    line-height: 1.8 !important;

    max-width: 600px !important;

    margin: 0 0 38px !important;

    color: #806f66 !important;
}


/* KNOW MORE LINK */

.discover-link {
    display: inline-flex !important;

    align-items: center !important;

    gap: 12px !important;

    font-size: 18px !important;

    line-height: 1.2 !important;

    font-weight: 800 !important;

    color: #e50914 !important;

    text-decoration: none !important;
}


/* =========================================================
   THREE CARDS
   ========================================================= */

.discover-cards {
    width: 100% !important;

    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 22px !important;

    align-items: stretch !important;
}


/* BASE CARD */

.discover-card {
    position: relative !important;

    width: 100% !important;

    min-height: 340px !important;

    box-sizing: border-box !important;

    padding: 38px 34px !important;

    border-radius: 26px !important;

    border: 1px solid rgba(58, 36, 25, .12) !important;

    text-decoration: none !important;

    overflow: hidden !important;

    display: flex !important;

    flex-direction: column !important;

    justify-content: flex-end !important;

    color: #3a2419 !important;

    box-shadow:
        0 12px 30px rgba(58, 36, 25, .08) !important;

    transition:
        transform .35s ease,
        box-shadow .35s ease !important;
}


/* =========================================================
   DIFFERENT LIGHT COLORS
   ========================================================= */


/* CARD 1 — LIGHT PEACH */

.discover-card:nth-child(1) {
    background:
        #fff1ec !important;
}


/* CARD 2 — LIGHT PINK */

.discover-card:nth-child(2) {
    background:
        #fff0f4 !important;
}


/* CARD 3 — LIGHT GREEN */

.discover-card:nth-child(3) {
    background:
        #f1f8ed !important;
}


/* REMOVE OLD BACKGROUND EFFECTS */

.discover-card::before,
.discover-card::after {
    pointer-events: none !important;
}


/* HOVER */

.discover-card:hover {
    transform: translateY(-8px) !important;

    box-shadow:
        0 22px 45px rgba(58, 36, 25, .13) !important;
}


/* =========================================================
   ICON
   ========================================================= */

.discover-icon {
    position: relative !important;

    z-index: 2 !important;

    width: 58px !important;
    height: 58px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    font-size: 32px !important;

    margin-bottom: auto !important;

    color: #e50914 !important;
}


/* HEART */

.discover-icon.heart {
    color: #e50914 !important;

    font-size: 42px !important;
}


/* =========================================================
   CARD TITLE
   ========================================================= */

.discover-card h3 {
    position: relative !important;

    z-index: 2 !important;

    font-size: 23px !important;

    line-height: 1.25 !important;

    font-weight: 800 !important;

    margin: 0 0 16px !important;

    color: #3a2419 !important;
}


/* =========================================================
   CARD DESCRIPTION
   ========================================================= */

.discover-card p {
    position: relative !important;

    z-index: 2 !important;

    font-size: 16px !important;

    line-height: 1.7 !important;

    margin: 0 !important;

    color: #806f66 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .discover-container {
        grid-template-columns: 1fr !important;

        gap: 45px !important;
    }


    .discover-content {
        max-width: 760px !important;
    }


    .discover-cards {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        gap: 16px !important;
    }


    .discover-card {
        min-height: 300px !important;

        padding: 30px 26px !important;
    }


    .discover-card h3 {
        font-size: 21px !important;
    }


    .discover-card p {
        font-size: 15px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .discover-bonitas {
        padding: 55px 20px !important;

        margin: 0 !important;
    }


    .discover-container {
        width: 100% !important;

        grid-template-columns: 1fr !important;

        gap: 32px !important;
    }


    /* CENTER LEFT CONTENT */

    .discover-content {
        width: 100% !important;

        max-width: 600px !important;

        margin: 0 auto !important;

        text-align: center !important;
    }


    .discover-eyebrow {
        font-size: 14px !important;

        letter-spacing: 4px !important;

        margin-bottom: 18px !important;
    }


    .discover-content h2 {
        font-size: clamp(45px, 13vw, 62px) !important;

        line-height: 1 !important;

        letter-spacing: -1.5px !important;

        margin-bottom: 25px !important;
    }


    .discover-content > p {
        font-size: 16px !important;

        line-height: 1.65 !important;

        margin-left: auto !important;

        margin-right: auto !important;

        margin-bottom: 28px !important;
    }


    .discover-link {
        justify-content: center !important;

        font-size: 17px !important;
    }


    /* CARDS */

    .discover-cards {
        width: 100% !important;

        grid-template-columns: 1fr !important;

        gap: 15px !important;
    }


    .discover-card {
        width: 100% !important;

        min-height: 235px !important;

        padding: 28px 25px !important;

        border-radius: 22px !important;

        justify-content: flex-end !important;
    }


    .discover-icon {
        width: 52px !important;

        height: 52px !important;

        font-size: 29px !important;
    }


    .discover-icon.heart {
        font-size: 38px !important;
    }


    .discover-card h3 {
        font-size: 21px !important;

        line-height: 1.25 !important;

        margin-bottom: 10px !important;
    }


    .discover-card p {
        font-size: 15px !important;

        line-height: 1.55 !important;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .discover-bonitas {
        padding:
            45px 16px !important;
    }


    .discover-container {
        gap: 28px !important;
    }


    .discover-content h2 {
        font-size: 44px !important;

        letter-spacing: -1px !important;
    }


    .discover-content > p {
        font-size: 15px !important;
    }


    .discover-card {
        min-height: 220px !important;

        padding: 25px 22px !important;
    }


    .discover-card h3 {
        font-size: 20px !important;
    }


    .discover-card p {
        font-size: 14px !important;
    }

}
/* =========================================================
   BONITAS — GET IN TOUCH SECTION
   TEXT SIZE + BACKGROUND + RESPONSIVE FIX
   ========================================================= */

/* Main box */
.get-in-touch,
.contact-section,
.contact-cta,
.contact-home-section {
    background:
        linear-gradient(
            135deg,
            #fff8df 0%,
            #fff4d2 48%,
            #fff0ec 100%
        ) !important;
}


/* Section heading / eyebrow */
.get-in-touch .eyebrow,
.contact-section .eyebrow,
.contact-cta .eyebrow,
.contact-home-section .eyebrow {
    font-size: 17px !important;
    line-height: 1.3 !important;
    letter-spacing: 5px !important;
    font-weight: 800 !important;
}


/* Main "Let's Create Happiness. Scoop?" heading */
.get-in-touch h2,
.contact-section h2,
.contact-cta h2,
.contact-home-section h2 {
    font-size: clamp(54px, 5.2vw, 82px) !important;
    line-height: 1.02 !important;
    letter-spacing: -2px !important;
}


/* Paragraph */
.get-in-touch p,
.contact-section p,
.contact-cta p,
.contact-home-section p {
    font-size: 20px !important;
    line-height: 1.7 !important;
}


/* Contact / phone / email line */
.footer-contact-line {
    font-size: 19px !important;
    line-height: 1.7 !important;
}


/* Enquiry button */
.get-in-touch .btn,
.contact-section .btn,
.contact-cta .btn,
.contact-home-section .btn {
    font-size: 18px !important;
    font-weight: 800 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .get-in-touch,
    .contact-section,
    .contact-cta,
    .contact-home-section {
        width: 100% !important;
        box-sizing: border-box !important;
    }


    .get-in-touch .eyebrow,
    .contact-section .eyebrow,
    .contact-cta .eyebrow,
    .contact-home-section .eyebrow {
        font-size: 14px !important;
        letter-spacing: 4px !important;
    }


    .get-in-touch h2,
    .contact-section h2,
    .contact-cta h2,
    .contact-home-section h2 {
        font-size: clamp(42px, 11vw, 60px) !important;
        line-height: 1.02 !important;
        letter-spacing: -1px !important;
    }


    .get-in-touch p,
    .contact-section p,
    .contact-cta p,
    .contact-home-section p {
        font-size: 17px !important;
        line-height: 1.65 !important;
    }


    .footer-contact-line {
        font-size: 16px !important;
        line-height: 1.7 !important;
        white-space: normal !important;
    }


    .get-in-touch .btn,
    .contact-section .btn,
    .contact-cta .btn,
    .contact-home-section .btn {
        font-size: 17px !important;
    }
}


/* Small phones */
@media (max-width: 420px) {

    .get-in-touch h2,
    .contact-section h2,
    .contact-cta h2,
    .contact-home-section h2 {
        font-size: 40px !important;
    }


    .get-in-touch p,
    .contact-section p,
    .contact-cta p,
    .contact-home-section p {
        font-size: 16px !important;
    }


    .footer-contact-line {
        font-size: 15px !important;
    }

}
/* =========================================================
   BONITAS CONTACT INFO — 4 DIFFERENT BOX COLORS
   ========================================================= */

/* BOX 1 — OUR OUTLET */
.contact-info-grid > *:nth-child(1) {
    background: #fff4df !important;
    background-color: #fff4df !important;
    border-color: #f0d39d !important;
}


/* BOX 2 — CALL US */
.contact-info-grid > *:nth-child(2) {
    background: #fff0f3 !important;
    background-color: #fff0f3 !important;
    border-color: #efc2cb !important;
}


/* BOX 3 — OPEN HOURS */
.contact-info-grid > *:nth-child(3) {
    background: #eff8ed !important;
    background-color: #eff8ed !important;
    border-color: #c9e1c4 !important;
}


/* BOX 4 — WHATSAPP */
.contact-info-grid > *:nth-child(4) {
    background: #eaf8f2 !important;
    background-color: #eaf8f2 !important;
    border-color: #c1dfd0 !important;
}


/* =========================================================
   ICON BACKGROUNDS
   ========================================================= */

.contact-info-grid > *:nth-child(1) .contact-info-icon {
    background: #ffedc8 !important;
}

.contact-info-grid > *:nth-child(2) .contact-info-icon {
    background: #ffe0e7 !important;
}

.contact-info-grid > *:nth-child(3) .contact-info-icon {
    background: #dff1da !important;
}

.contact-info-grid > *:nth-child(4) .contact-info-icon {
    background: #d8f0e4 !important;
}
/* =========================================================
   BONITAS CONTACT BOXES
   4 DIFFERENT LIGHT COLORS
   ========================================================= */

/* OUR OUTLET */
.contact-info-grid > :nth-child(1) {
    background: #fff1df !important;
    background-color: #fff1df !important;
    border-color: #f0d0a8 !important;
}


/* CALL US */
.contact-info-grid > :nth-child(2) {
    background: #ffeef2 !important;
    background-color: #ffeef2 !important;
    border-color: #efc3cc !important;
}


/* OPEN HOURS */
.contact-info-grid > :nth-child(3) {
    background: #eff8e9 !important;
    background-color: #eff8e9 !important;
    border-color: #c8dfbd !important;
}


/* WHATSAPP */
.contact-info-grid > :nth-child(4) {
    background: #eaf8f1 !important;
    background-color: #eaf8f1 !important;
    border-color: #bfdfcd !important;
}


/* =========================================================
   MATCHING ICON BACKGROUNDS
   ========================================================= */

.contact-info-grid > :nth-child(1) .contact-info-icon {
    background: #ffe8c5 !important;
}

.contact-info-grid > :nth-child(2) .contact-info-icon {
    background: #ffdfe6 !important;
}

.contact-info-grid > :nth-child(3) .contact-info-icon {
    background: #dcefd4 !important;
}

.contact-info-grid > :nth-child(4) .contact-info-icon {
    background: #d7f0e2 !important;
}
/* =========================================================
   BONITAS — CONTACT INFORMATION CARDS
   4 DIFFERENT LIGHT PREMIUM COLORS
   ========================================================= */

.bonitas-contact-cards {
    width: 100%;
    max-width: 1700px;
    margin: 0 auto;
    padding: 25px 5vw 35px;

    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;

    box-sizing: border-box;
}


/* ---------- COMMON CARD ---------- */

.bonitas-contact-card {
    min-height: 118px;

    display: flex;
    align-items: center;
    gap: 20px;

    padding: 22px 26px;

    border-radius: 24px;
    border: 1px solid rgba(58, 36, 25, .12);

    box-sizing: border-box;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}


/* ---------- DIFFERENT LIGHT COLORS ---------- */

/* 1 — Soft Peach */
.bonitas-contact-card.card-outlet {
    background: #fff0ea !important;
}

/* 2 — Soft Lavender */
.bonitas-contact-card.card-call {
    background: #f3efff !important;
}

/* 3 — Soft Mint */
.bonitas-contact-card.card-hours {
    background: #eef8ef !important;
}

/* 4 — Soft Blue */
.bonitas-contact-card.card-whatsapp {
    background: #eef6ff !important;
}


/* ---------- HOVER ---------- */

.bonitas-contact-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 40px rgba(58, 36, 25, .10);

    border-color: rgba(229, 9, 20, .18);
}


/* ---------- ICON ---------- */

.bonitas-contact-icon {
    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, .72);

    color: #e50914;

    font-size: 25px;
    font-weight: 700;

    border: 1px solid rgba(229, 9, 20, .10);

    box-sizing: border-box;
}


/* ---------- TEXT ---------- */

.bonitas-contact-text {
    min-width: 0;
}

.bonitas-contact-text h3 {
    margin: 0 0 6px;

    color: #3a2419;

    font-family: "Nunito", sans-serif;

    font-size: 21px;
    line-height: 1.2;
    font-weight: 800;
}

.bonitas-contact-text p {
    margin: 0;

    color: #8a766c;

    font-family: "Nunito", sans-serif;

    font-size: 16px;
    line-height: 1.45;
    font-weight: 500;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .bonitas-contact-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;

        padding-left: 4vw;
        padding-right: 4vw;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .bonitas-contact-cards {
        grid-template-columns: 1fr;

        gap: 12px;

        padding: 15px 18px 25px;
    }

    .bonitas-contact-card {
        min-height: 100px;

        padding: 18px 20px;

        border-radius: 20px;

        gap: 16px;
    }

    .bonitas-contact-icon {
        flex-basis: 52px;

        width: 52px;
        height: 52px;

        font-size: 22px;
    }

    .bonitas-contact-text h3 {
        font-size: 19px;
        margin-bottom: 4px;
    }

    .bonitas-contact-text p {
        font-size: 15px;
        line-height: 1.4;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

    .bonitas-contact-cards {
        padding-left: 14px;
        padding-right: 14px;
    }

    .bonitas-contact-card {/* =========================================================
   BONITAS CONTACT CARDS
   4 DIFFERENT LIGHT COLOURS
========================================================= */

.bonitas-contact-cards {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    padding: 20px 5vw 35px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}


/* COMMON CARD */
.bonitas-contact-cards .bonitas-contact-card {
    min-height: 115px !important;
    box-sizing: border-box !important;
    border-radius: 24px !important;
    border: 1px solid rgba(58, 36, 25, 0.12) !important;

    display: flex !important;
    align-items: center !important;
    gap: 20px !important;

    padding: 22px 28px !important;
    margin: 0 !important;

    box-shadow: 0 12px 30px rgba(58, 36, 25, 0.06) !important;
}


/* =========================================================
   1 — OUR OUTLET
   SOFT PEACH
========================================================= */

.bonitas-contact-cards .card-outlet {
    background: #fff0ea !important;
    background-image: none !important;
}


/* =========================================================
   2 — CALL US
   SOFT LAVENDER
========================================================= */

.bonitas-contact-cards .card-call {
    background: #f3efff !important;
    background-image: none !important;
}


/* =========================================================
   3 — OPEN HOURS
   SOFT MINT
========================================================= */

.bonitas-contact-cards .card-hours {
    background: #eef8ef !important;
    background-image: none !important;
}


/* =========================================================
   4 — WHATSAPP
   SOFT BLUE
========================================================= */

.bonitas-contact-cards .card-whatsapp {
    background: #eef6ff !important;
    background-image: none !important;
}


/* =========================================================
   ICON CIRCLES
========================================================= */

.bonitas-contact-cards .bonitas-contact-icon {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;

    background: rgba(255,255,255,0.72) !important;

    color: #e50914 !important;

    font-size: 25px !important;
    line-height: 1 !important;

    box-shadow: 0 5px 15px rgba(58,36,25,0.05) !important;
}


/* =========================================================
   TEXT
========================================================= */

.bonitas-contact-cards .bonitas-contact-text {
    min-width: 0 !important;
    flex: 1 !important;
}

.bonitas-contact-cards .bonitas-contact-text h3 {
    margin: 0 0 7px !important;

    font-family: "Nunito", sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    color: #3a2419 !important;
}

.bonitas-contact-cards .bonitas-contact-text p {
    margin: 0 !important;

    font-family: "Nunito", sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;

    color: #806f66 !important;
}


/* =========================================================
   HOVER EFFECT
========================================================= */

.bonitas-contact-cards .bonitas-contact-card {
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease !important;
}

.bonitas-contact-cards .bonitas-contact-card:hover {
    transform: translateY(-5px) !important;

    box-shadow:
        0 18px 38px rgba(58,36,25,0.10) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .bonitas-contact-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
        padding: 20px 4vw 30px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .bonitas-contact-cards {
        grid-template-columns: 1fr !important;
        gap: 12px !important;

        padding: 15px 18px 25px !important;
    }

    .bonitas-contact-cards .bonitas-contact-card {
        width: 100% !important;
        min-height: 100px !important;

        padding: 18px 20px !important;

        border-radius: 20px !important;

        gap: 16px !important;
    }

    .bonitas-contact-cards .bonitas-contact-icon {
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;

        font-size: 22px !important;
    }

    .bonitas-contact-cards .bonitas-contact-text h3 {
        font-size: 19px !important;
        margin-bottom: 5px !important;
    }

    .bonitas-contact-cards .bonitas-contact-text p {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

}
        padding: 16px;
        gap: 13px;
    }

    .bonitas-contact-icon {
        flex-basis: 48px;

        width: 48px;
        height: 48px;
    }

    .bonitas-contact-text h3 {
        font-size: 18px;
    }

    .bonitas-contact-text p {
        font-size: 14px;
    }

}
/* =========================================================
   BONITAS HOMEPAGE
   REAL FLAVOUR IMAGES
========================================================= */

.bonitas-real-flavours {
    position: relative;
    width: 100%;
    overflow: hidden;
}


/* GRID */

.bonitas-real-flavour-grid {
    width: min(1180px, calc(100% - 40px));

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 14px;

    align-items: stretch;
}


/* CARD */

.bonitas-real-flavour-card {
    position: relative;

    min-width: 0;

    padding: 14px;

    border-radius: 18px;

    border: 1px solid rgba(80,45,25,.10);

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(60,35,20,.07);

    overflow: hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}


/* DIFFERENT LIGHT COLOURS */

.bonitas-real-flavour-card:nth-child(6n+1) {
    background: #fff1ec;
}

.bonitas-real-flavour-card:nth-child(6n+2) {
    background: #fff0f6;
}

.bonitas-real-flavour-card:nth-child(6n+3) {
    background: #eef8ed;
}

.bonitas-real-flavour-card:nth-child(6n+4) {
    background: #fff7df;
}

.bonitas-real-flavour-card:nth-child(6n+5) {
    background: #f2edfb;
}

.bonitas-real-flavour-card:nth-child(6n+6) {
    background: #eef6ff;
}


/* IMAGE */

.bonitas-real-flavour-image {
    width: 100%;

    height: 175px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;
}


.bonitas-real-flavour-image img {
    width: 100% !important;

    height: 100% !important;

    display: block !important;

    object-fit: contain !important;

    margin: 0 !important;

    padding: 0 !important;

    transition:
        transform .45s ease;
}


/* HOVER */

.bonitas-real-flavour-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 20px 40px rgba(60,35,20,.13);
}


.bonitas-real-flavour-card:hover img {
    transform: scale(1.06);
}


/* BUTTON */

.bonitas-flavours-button {
    margin-top: 35px;

    text-align: center;
}


.bonitas-flavours-button a {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 14px 27px;

    border-radius: 999px;

    background: #ed1c24;

    color: #ffffff;

    text-decoration: none;

    font-size: 15px;

    font-weight: 900;

    box-shadow:
        0 12px 25px rgba(237,28,36,.20);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.bonitas-flavours-button a:hover {
    transform: translateY(-3px);

    box-shadow:
        0 18px 35px rgba(237,28,36,.28);
}


.bonitas-flavours-button a span {
    font-size: 18px;
}


/* EMPTY */

.bonitas-no-products {
    text-align: center;

    color: #75675d;

    font-size: 16px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .bonitas-real-flavour-grid {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .bonitas-real-flavour-grid {
        width: calc(100% - 28px);

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }


    .bonitas-real-flavour-card {
        padding: 10px;

        border-radius: 15px;
    }


    .bonitas-real-flavour-image {
        height: 145px;
    }

}


/* SMALL MOBILE */

@media (max-width: 400px) {

    .bonitas-real-flavour-grid {
        width: calc(100% - 20px);

        gap: 8px;
    }


    .bonitas-real-flavour-image {
        height: 125px;
    }

}
/* =========================================================
   BONITAS HOMEPAGE
   REAL OUTLET PHOTO GALLERY
========================================================= */

.bonitas-home-outlet-gallery {
    width: 100%;

    padding: 90px 24px;

    box-sizing: border-box;

    background:
        linear-gradient(
            135deg,
            #fffdf7 0%,
            #fff7e1 50%,
            #fff0f2 100%
        );

    overflow: hidden;
}


/* HEADING */

.bonitas-home-outlet-heading {
    width: min(760px, 100%);

    margin: 0 auto 42px;

    text-align: center;
}


.bonitas-home-outlet-heading > span {
    display: block;

    margin-bottom: 10px;

    color: #ed1c24;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 3px;

    text-transform: uppercase;
}


.bonitas-home-outlet-heading h2 {
    margin: 0;

    color: #3b2117;

    font-size: clamp(40px, 5vw, 62px);

    line-height: 1;

    font-weight: 900;

    letter-spacing: -2px;
}


.bonitas-home-outlet-heading h2 strong {
    color: #ed1c24;
}


.bonitas-home-outlet-heading p {
    max-width: 650px;

    margin: 18px auto 0;

    color: #75675d;

    font-size: 17px;

    line-height: 1.7;
}


/* =========================================================
   IMAGE GRID
========================================================= */

.bonitas-home-outlet-grid {
    width: min(1180px, 100%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 14px;
}


/* PHOTO */

.bonitas-home-outlet-photo {
    position: relative;

    display: block;

    height: 250px;

    overflow: hidden;

    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 12px 30px rgba(60,35,20,.10);
}


.bonitas-home-outlet-photo img {
    width: 100% !important;

    height: 100% !important;

    display: block !important;

    object-fit: cover !important;

    margin: 0 !important;

    padding: 0 !important;

    transition:
        transform .55s ease;
}


/* HOVER */

.bonitas-home-outlet-photo::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to bottom,
            transparent 45%,
            rgba(50,25,10,.42)
        );

    opacity: 0;

    transition:
        opacity .3s ease;
}


.bonitas-home-outlet-photo:hover::after {
    opacity: 1;
}


.bonitas-home-outlet-photo:hover img {
    transform: scale(1.07);
}


/* VIEW BUTTON */

.bonitas-photo-view {
    position: absolute;

    top: 50%;
    left: 50%;

    transform:
        translate(-50%, -50%)
        scale(.75);

    width: 52px;
    height: 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffffff;

    color: #ed1c24;

    font-size: 20px;

    font-weight: 900;

    opacity: 0;

    z-index: 3;

    transition:
        opacity .3s ease,
        transform .3s ease;

    box-shadow:
        0 10px 25px rgba(0,0,0,.18);
}


.bonitas-home-outlet-photo:hover
.bonitas-photo-view {
    opacity: 1;

    transform:
        translate(-50%, -50%)
        scale(1);
}


/* =========================================================
   BUTTON
========================================================= */

.bonitas-home-outlet-button {
    margin-top: 35px;

    text-align: center;
}


.bonitas-home-outlet-button a {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 14px 27px;

    border-radius: 999px;

    background: #ed1c24;

    color: #ffffff;

    text-decoration: none;

    font-size: 15px;

    font-weight: 900;

    box-shadow:
        0 12px 28px rgba(237,28,36,.20);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.bonitas-home-outlet-button a:hover {
    transform: translateY(-3px);

    box-shadow:
        0 18px 35px rgba(237,28,36,.28);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .bonitas-home-outlet-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .bonitas-home-outlet-gallery {
        padding: 65px 16px;
    }


    .bonitas-home-outlet-heading h2 {
        font-size: 42px;

        letter-spacing: -1.5px;
    }


    .bonitas-home-outlet-heading p {
        font-size: 15px;
    }


    .bonitas-home-outlet-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .bonitas-home-outlet-photo {
        height: 260px;

        border-radius: 18px;
    }

}
/* =========================================================
   BONITAS HOMEPAGE
   REAL PRODUCT CATALOGUE
========================================================= */

.bonitas-home-products {

    width: 100%;

    box-sizing: border-box;

    padding: 75px 20px 80px;

    background:
        linear-gradient(
            135deg,
            #fff8e6 0%,
            #fffdf8 50%,
            #fff3f3 100%
        );

    overflow: hidden;
}


/* =========================================================
   HEADING
========================================================= */

.bonitas-home-products-heading {

    width: min(760px, 100%);

    margin: 0 auto 38px;

    text-align: center;
}


.bonitas-home-products-heading > span {

    display: block;

    margin-bottom: 10px;

    color: #ed1c24;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 3px;

    text-transform: uppercase;
}


.bonitas-home-products-heading h2 {

    margin: 0;

    color: #43281d;

    font-size: clamp(34px, 4vw, 52px);

    line-height: 1.05;

    font-weight: 900;

    letter-spacing: -1.5px;
}


.bonitas-home-products-heading h2 strong {

    color: #ed1c24;

}


.bonitas-home-products-heading p {

    max-width: 650px;

    margin: 14px auto 0;

    color: #75675d;

    font-size: 15px;

    line-height: 1.6;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.bonitas-home-product-grid {

    width: min(1180px, 100%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 12px;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.bonitas-home-product-card {

    position: relative;

    min-width: 0;

    height: 190px;

    padding: 8px;

    box-sizing: border-box;

    border-radius: 13px;

    border: 1px solid rgba(67,40,29,.10);

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    box-shadow:
        0 7px 20px rgba(67,40,29,.055);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


/* =========================================================
   DIFFERENT LIGHT COLOURS
========================================================= */

.bonitas-home-product-card:nth-child(6n+1) {

    background: #fff0ea;

    border-color: #f2d0c5;
}


.bonitas-home-product-card:nth-child(6n+2) {

    background: #fff0f6;

    border-color: #edcddd;
}


.bonitas-home-product-card:nth-child(6n+3) {

    background: #eef8ed;

    border-color: #d0e4cc;
}


.bonitas-home-product-card:nth-child(6n+4) {

    background: #fff7df;

    border-color: #eadcae;
}


.bonitas-home-product-card:nth-child(6n+5) {

    background: #f1efff;

    border-color: #dcd5f1;
}


.bonitas-home-product-card:nth-child(6n+6) {

    background: #eef6ff;

    border-color: #d4e2ef;
}


/* =========================================================
   IMAGE
========================================================= */

.bonitas-home-product-image {

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;
}


.bonitas-home-product-image img {

    width: 100% !important;

    height: 100% !important;

    display: block !important;

    object-fit: contain !important;

    object-position: center !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    transition:
        transform .4s ease;
}


/* =========================================================
   HOVER
========================================================= */

.bonitas-home-product-card:hover {

    transform: translateY(-6px);

    box-shadow:
        0 16px 32px rgba(67,40,29,.13);

}


.bonitas-home-product-card:hover
.bonitas-home-product-image img {

    transform: scale(1.07);

}


/* =========================================================
   BUTTON
========================================================= */

.bonitas-home-products-button {

    margin-top: 32px;

    text-align: center;
}


.bonitas-home-products-button a {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 12px 23px;

    border-radius: 999px;

    background: #ed1c24;

    color: #ffffff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 900;

    box-shadow:
        0 10px 24px rgba(237,28,36,.20);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.bonitas-home-products-button a:hover {

    transform: translateY(-3px);

    box-shadow:
        0 15px 30px rgba(237,28,36,.28);
}


.bonitas-home-products-button a span {

    font-size: 17px;

    line-height: 1;
}


/* =========================================================
   EMPTY
========================================================= */

.bonitas-products-empty {

    text-align: center;

    color: #75675d;

    font-size: 16px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .bonitas-home-product-grid {

        grid-template-columns:
            repeat(4, minmax(0, 1fr));

        gap: 12px;
    }


    .bonitas-home-product-card {

        height: 185px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .bonitas-home-products {

        padding: 55px 12px 65px;
    }


    .bonitas-home-products-heading {

        margin-bottom: 28px;
    }


    .bonitas-home-products-heading h2 {

        font-size: 34px;

        letter-spacing: -1px;
    }


    .bonitas-home-products-heading p {

        font-size: 14px;

        line-height: 1.55;
    }


    .bonitas-home-product-grid {

        width: 100%;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 9px;
    }


    .bonitas-home-product-card {

        height: 155px;

        padding: 7px;

        border-radius: 12px;
    }


    .bonitas-home-products-button {

        margin-top: 26px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .bonitas-home-product-card {

        height: 140px;
    }


    .bonitas-home-products-heading h2 {

        font-size: 31px;
    }

}
/* =========================================================
   BONITAS HERO — FINAL FULL WIDTH LAYOUT
   IMAGE RIGHT / TEXT LEFT
========================================================= */

.bonitas-hero-slider {
    position: relative !important;
    width: 100% !important;
    height: 660px !important;
    min-height: 660px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.bonitas-hero-slider .bonitas-slider {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
}


/* =========================================================
   SLIDE
========================================================= */

.bonitas-hero-slider .bonitas-slide {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    display: block !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transform: scale(1.01) !important;

    transition:
        opacity .6s ease,
        transform .7s ease !important;
}

.bonitas-hero-slider .bonitas-slide.active,
.bonitas-hero-slider .bonitas-slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: scale(1) !important;
}


/* =========================================================
   TEXT — LEFT SIDE
========================================================= */

.bonitas-hero-slider .hero-copy {
    position: absolute !important;

    left: 7% !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    width: 43% !important;
    max-width: 650px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 10 !important;

    text-align: left !important;

    box-sizing: border-box !important;
}


/* =========================================================
   EYEBROW
========================================================= */

.bonitas-hero-slider .hero-copy .eyebrow {
    margin-bottom: 20px !important;
}


/* =========================================================
   MAIN HEADING
========================================================= */

.bonitas-hero-slider .hero-copy h1 {
    margin: 0 !important;

    font-size: clamp(55px, 5vw, 82px) !important;

    line-height: .98 !important;

    letter-spacing: -3px !important;

    font-weight: 900 !important;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.bonitas-hero-slider .hero-copy > p {
    max-width: 550px !important;

    margin: 25px 0 0 !important;

    font-size: 18px !important;

    line-height: 1.6 !important;
}


/* =========================================================
   BUTTONS
========================================================= */

.bonitas-hero-slider .hero-actions {
    display: flex !important;

    flex-wrap: wrap !important;

    align-items: center !important;

    gap: 12px !important;

    margin-top: 28px !important;
}


/* =========================================================
   IMAGE — FORCE RIGHT SIDE
========================================================= */

.bonitas-hero-slider .hero-product {
    position: absolute !important;

    right: 0 !important;
    left: auto !important;

    top: 50% !important;

    transform: translateY(-50%) !important;

    width: 56% !important;
    height: 100% !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    z-index: 5 !important;

    box-sizing: border-box !important;

    overflow: visible !important;
}


/* ACTUAL IMAGE */

.bonitas-hero-slider .hero-product img {
    display: block !important;

    width: 100% !important;

    max-width: 900px !important;

    height: auto !important;

    max-height: 620px !important;

    object-fit: contain !important;

    object-position: center !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: scale(1.12) !important;

    filter:
        drop-shadow(
            0 30px 30px rgba(67,40,29,.15)
        ) !important;
}


/* =========================================================
   REMOVE OLD GRID / TRANSFORM CONFLICTS
========================================================= */

.bonitas-hero-slider .bonitas-slide .hero-product,
.bonitas-hero-slider .bonitas-slide .hero-copy {
    grid-column: auto !important;
    grid-row: auto !important;
}


/* =========================================================
   SLIDE 2
   KEEP IMAGE RIGHT
========================================================= */

.bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-product {
    right: 0 !important;
    left: auto !important;
}

.bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-copy {
    left: 7% !important;
    right: auto !important;

    text-align: left !important;
}


/* =========================================================
   SLIDE 3
   KEEP IMAGE RIGHT
========================================================= */

.bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-product {
    right: 0 !important;
    left: auto !important;
}

.bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-copy {
    left: 7% !important;
    right: auto !important;

    text-align: left !important;
}


/* =========================================================
   ARROWS
========================================================= */

.bonitas-hero-slider .bonitas-slider-arrow {
    position: absolute !important;

    top: 50% !important;

    transform: translateY(-50%) !important;

    width: 48px !important;
    height: 48px !important;

    padding: 0 !important;

    border: none !important;
    border-radius: 50% !important;

    background: #ffffff !important;

    color: #ed1c24 !important;

    font-size: 32px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    z-index: 50 !important;

    box-shadow:
        0 8px 25px rgba(67,40,29,.12) !important;
}

.bonitas-hero-slider .bonitas-slider-prev {
    left: 18px !important;
}

.bonitas-hero-slider .bonitas-slider-next {
    right: 18px !important;
}


/* =========================================================
   DOTS
========================================================= */

.bonitas-hero-slider .bonitas-slider-dots {
    position: absolute !important;

    left: 50% !important;
    bottom: 18px !important;

    transform: translateX(-50%) !important;

    display: flex !important;

    gap: 7px !important;

    z-index: 50 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .bonitas-hero-slider {
        height: 620px !important;
        min-height: 620px !important;
    }

    .bonitas-hero-slider .hero-copy {
        left: 6% !important;
        width: 45% !important;
    }

    .bonitas-hero-slider .hero-copy h1 {
        font-size: 58px !important;
    }

    .bonitas-hero-slider .hero-product {
        width: 57% !important;
    }

    .bonitas-hero-slider .hero-product img {
        max-height: 570px !important;
        transform: scale(1.05) !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .bonitas-hero-slider {
        height: 700px !important;
        min-height: 700px !important;
    }

    .bonitas-hero-slider .bonitas-slide {
        height: 700px !important;
        min-height: 700px !important;
    }


    /* TEXT TOP */

    .bonitas-hero-slider .hero-copy {
        position: absolute !important;

        left: 20px !important;
        right: 20px !important;

        top: 40px !important;

        transform: none !important;

        width: auto !important;
        max-width: none !important;

        text-align: center !important;
    }


    .bonitas-hero-slider .hero-copy h1 {
        font-size: clamp(42px, 12vw, 58px) !important;

        line-height: 1 !important;

        letter-spacing: -2px !important;
    }


    .bonitas-hero-slider .hero-copy > p {
        font-size: 15px !important;

        margin: 16px auto 0 !important;

        max-width: 420px !important;
    }


    .bonitas-hero-slider .hero-actions {
        justify-content: center !important;

        margin-top: 18px !important;
    }


    /* IMAGE BOTTOM */

    .bonitas-hero-slider .hero-product,
    .bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-product,
    .bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-product {

        left: 5% !important;
        right: 5% !important;

        top: auto !important;
        bottom: 25px !important;

        transform: none !important;

        width: 90% !important;

        height: 300px !important;
    }


    .bonitas-hero-slider .hero-product img {
        width: 100% !important;

        max-width: 500px !important;

        max-height: 300px !important;

        transform: scale(1) !important;
    }


    .bonitas-hero-slider .bonitas-slider-prev {
        left: 8px !important;
    }

    .bonitas-hero-slider .bonitas-slider-next {
        right: 8px !important;
    }
}
/* =========================================================
   BONITAS HERO SLIDER
   PREMIUM FULL WIDTH VERSION
========================================================= */

.bonitas-hero-slider {
    position: relative !important;

    width: 100% !important;
    height: 680px !important;
    min-height: 680px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    box-sizing: border-box !important;

    background:
        radial-gradient(
            circle at 8% 45%,
            rgba(255,220,80,.28),
            transparent 24%
        ),
        radial-gradient(
            circle at 94% 30%,
            rgba(255,170,170,.20),
            transparent 25%
        ),
        linear-gradient(
            120deg,
            #fffdf5 0%,
            #fff8df 50%,
            #fffaf5 100%
        ) !important;
}


/* =========================================================
   SLIDER
========================================================= */

.bonitas-hero-slider .bonitas-slider {
    position: relative !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   EACH SLIDE
========================================================= */

.bonitas-hero-slider .bonitas-slide {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;

    transform: translateX(25px) scale(.985) !important;

    transition:
        opacity .65s ease,
        transform .75s cubic-bezier(.22,.61,.36,1),
        visibility .65s ease !important;

    box-sizing: border-box !important;
}


/* ACTIVE SLIDE */

.bonitas-hero-slider .bonitas-slide.active,
.bonitas-hero-slider .bonitas-slide.is-active {
    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;

    transform: translateX(0) scale(1) !important;

    z-index: 5 !important;
}


/* =========================================================
   TEXT
========================================================= */

.bonitas-hero-slider .hero-copy {
    position: absolute !important;

    top: 50% !important;
    left: 7% !important;

    transform: translateY(-50%) !important;

    width: 43% !important;
    max-width: 650px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    z-index: 10 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   EYEBROW
========================================================= */

.bonitas-hero-slider .hero-copy .eyebrow {
    margin: 0 0 18px !important;

    color: #ed1c24 !important;

    font-size: 15px !important;

    font-weight: 900 !important;

    letter-spacing: 4px !important;

    text-transform: uppercase !important;
}


/* =========================================================
   HEADING
========================================================= */

.bonitas-hero-slider .hero-copy h1 {
    margin: 0 !important;

    color: #43281d !important;

    font-size: clamp(52px, 5.3vw, 82px) !important;

    line-height: .96 !important;

    letter-spacing: -3px !important;

    font-weight: 900 !important;
}


.bonitas-hero-slider .hero-copy h1 span {
    color: #ed1c24 !important;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.bonitas-hero-slider .hero-copy > p {
    max-width: 550px !important;

    margin: 25px 0 0 !important;

    color: #6f6259 !important;

    font-size: 18px !important;

    line-height: 1.6 !important;
}


/* =========================================================
   BUTTONS
========================================================= */

.bonitas-hero-slider .hero-actions {
    display: flex !important;

    flex-wrap: wrap !important;

    align-items: center !important;

    gap: 12px !important;

    margin-top: 28px !important;
}


/* =========================================================
   IMAGE AREA
========================================================= */

.bonitas-hero-slider .hero-product {
    position: absolute !important;

    top: 50% !important;
    right: 0 !important;

    transform: translateY(-50%) !important;

    width: 57% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 10px 3% 10px 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    z-index: 4 !important;

    box-sizing: border-box !important;

    overflow: visible !important;
}


/* =========================================================
   HERO IMAGE
========================================================= */

.bonitas-hero-slider .hero-product img {
    display: block !important;

    width: 100% !important;

    max-width: 950px !important;

    height: auto !important;

    max-height: 650px !important;

    object-fit: contain !important;

    object-position: center !important;

    margin: 0 !important;
    padding: 0 !important;

    filter:
        drop-shadow(
            0 30px 30px rgba(67,40,29,.14)
        ) !important;

    transform:
        translate3d(0,0,0)
        scale(1) !important;

    transition:
        transform .6s cubic-bezier(.22,.61,.36,1),
        filter .6s ease !important;

    will-change: transform !important;
}


/* =========================================================
   IMAGE HOVER EFFECT
========================================================= */

.bonitas-hero-slider .hero-product:hover img {
    transform:
        translate3d(0,-8px,0)
        scale(1.045)
        rotate(.5deg) !important;

    filter:
        drop-shadow(
            0 42px 42px rgba(67,40,29,.20)
        ) !important;
}


/* =========================================================
   MOUSE MOVEMENT PREMIUM EFFECT
========================================================= */

.bonitas-hero-slider .hero-product {
    transition:
        transform .35s ease !important;
}


/* =========================================================
   SLIDE 2
   IMAGE LEFT / TEXT RIGHT
========================================================= */

.bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-product {
    left: 0 !important;
    right: auto !important;

    width: 57% !important;

    padding:
        10px
        0
        10px
        3% !important;
}


.bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-copy {
    left: auto !important;
    right: 7% !important;

    width: 43% !important;

    text-align: left !important;
}


/* =========================================================
   SLIDE 3
   IMAGE RIGHT / TEXT LEFT
========================================================= */

.bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-product {
    left: auto !important;
    right: 0 !important;

    width: 57% !important;

    padding:
        10px
        3%
        10px
        0 !important;
}


.bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-copy {
    left: 7% !important;
    right: auto !important;

    width: 43% !important;
}


/* =========================================================
   SLIDER ARROWS
========================================================= */

.bonitas-hero-slider .bonitas-slider-arrow {
    position: absolute !important;

    top: 50% !important;

    transform: translateY(-50%) !important;

    width: 52px !important;
    height: 52px !important;

    padding: 0 !important;

    border: none !important;

    border-radius: 50% !important;

    background: rgba(255,255,255,.96) !important;

    color: #ed1c24 !important;

    font-size: 34px !important;

    line-height: 1 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    cursor: pointer !important;

    z-index: 50 !important;

    box-shadow:
        0 10px 30px rgba(67,40,29,.12) !important;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease !important;
}


.bonitas-hero-slider .bonitas-slider-prev {
    left: 18px !important;
}


.bonitas-hero-slider .bonitas-slider-next {
    right: 18px !important;
}


.bonitas-hero-slider .bonitas-slider-arrow:hover {
    transform:
        translateY(-50%)
        scale(1.08) !important;

    background: #ed1c24 !important;

    color: #ffffff !important;

    box-shadow:
        0 14px 35px rgba(237,28,36,.25) !important;
}


/* =========================================================
   DOTS
========================================================= */

.bonitas-hero-slider .bonitas-slider-dots {
    position: absolute !important;

    left: 50% !important;
    bottom: 20px !important;

    transform: translateX(-50%) !important;

    display: flex !important;

    align-items: center !important;

    gap: 8px !important;

    z-index: 50 !important;
}


.bonitas-hero-slider .bonitas-slider-dots button {
    width: 10px !important;
    height: 10px !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 50% !important;

    background: #d8d3ca !important;

    cursor: pointer !important;

    transition:
        width .3s ease,
        background .3s ease !important;
}


.bonitas-hero-slider .bonitas-slider-dots button.active {
    width: 30px !important;

    border-radius: 20px !important;

    background: #ed1c24 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .bonitas-hero-slider {
        height: 620px !important;
        min-height: 620px !important;
    }


    .bonitas-hero-slider .hero-copy {
        left: 6% !important;
        width: 45% !important;
    }


    .bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-copy {
        right: 6% !important;
        width: 45% !important;
    }


    .bonitas-hero-slider .hero-copy h1 {
        font-size: clamp(48px, 6vw, 68px) !important;
    }


    .bonitas-hero-slider .hero-copy > p {
        font-size: 16px !important;
    }


    .bonitas-hero-slider .hero-product {
        width: 55% !important;
    }


    .bonitas-hero-slider .hero-product img {
        max-height: 590px !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .bonitas-hero-slider {
        height: 700px !important;
        min-height: 700px !important;
    }


    .bonitas-hero-slider .bonitas-slide {
        height: 700px !important;
        min-height: 700px !important;
    }


    /* TEXT */

    .bonitas-hero-slider .hero-copy,
    .bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-copy,
    .bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-copy {

        top: 45px !important;

        left: 20px !important;
        right: 20px !important;

        transform: none !important;

        width: auto !important;
        max-width: none !important;

        text-align: center !important;

        padding: 0 !important;
    }


    .bonitas-hero-slider .hero-copy .eyebrow {
        font-size: 11px !important;

        letter-spacing: 3px !important;

        margin-bottom: 14px !important;
    }


    .bonitas-hero-slider .hero-copy h1 {
        font-size: clamp(42px, 12vw, 58px) !important;

        line-height: .98 !important;

        letter-spacing: -2px !important;
    }


    .bonitas-hero-slider .hero-copy > p {
        max-width: 390px !important;

        margin:
            15px auto 0 !important;

        font-size: 15px !important;
    }


    .bonitas-hero-slider .hero-actions {
        justify-content: center !important;

        margin-top: 18px !important;
    }


    /* IMAGE */

    .bonitas-hero-slider .hero-product,
    .bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-product,
    .bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-product {

        left: 5% !important;
        right: 5% !important;

        top: auto !important;
        bottom: 25px !important;

        transform: none !important;

        width: 90% !important;

        height: 300px !important;

        padding: 0 !important;
    }


    .bonitas-hero-slider .hero-product img {
        width: 100% !important;

        max-width: 500px !important;

        max-height: 300px !important;

        transform: scale(1) !important;
    }


    .bonitas-hero-slider .hero-product:hover img {
        transform: scale(1.025) !important;
    }


    /* ARROWS */

    .bonitas-hero-slider .bonitas-slider-arrow {
        width: 40px !important;
        height: 40px !important;

        font-size: 26px !important;
    }


    .bonitas-hero-slider .bonitas-slider-prev {
        left: 8px !important;
    }


    .bonitas-hero-slider .bonitas-slider-next {
        right: 8px !important;
    }
}
/* =========================================================
   BONITAS HERO - FINAL LAYOUT
========================================================= */

.bonitas-hero-slider {
    position: relative !important;
    width: 100% !important;
    height: 690px !important;
    min-height: 690px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;

    background:
        radial-gradient(circle at 4% 35%, rgba(255,215,70,.25), transparent 20%),
        radial-gradient(circle at 97% 35%, rgba(255,180,180,.22), transparent 22%),
        linear-gradient(110deg,#fffdf5 0%,#fff8df 52%,#fff9f5 100%) !important;
}


/* SLIDER */

.bonitas-hero-slider .bonitas-slider {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
}


/* EACH SLIDE */

.bonitas-hero-slider .bonitas-slide {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    display: block !important;

    opacity: 0 !important;
    visibility: hidden !important;

    transform: translateX(35px) !important;

    transition:
        opacity .7s ease,
        transform .8s ease,
        visibility .7s ease !important;

    pointer-events: none !important;
}

.bonitas-hero-slider .bonitas-slide.active,
.bonitas-hero-slider .bonitas-slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;

    transform: translateX(0) !important;

    pointer-events: auto !important;

    z-index: 5 !important;
}


/* =========================================================
   TEXT LEFT
========================================================= */

.bonitas-hero-slider .hero-copy {
    position: absolute !important;

    top: 50% !important;
    left: 8% !important;

    transform: translateY(-50%) !important;

    width: 40% !important;
    max-width: 620px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    z-index: 20 !important;
}


/* =========================================================
   IMAGE RIGHT
========================================================= */

.bonitas-hero-slider .hero-product {
    position: absolute !important;

    top: 50% !important;
    right: 1% !important;

    transform: translateY(-50%) !important;

    width: 57% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 10px 2% 10px 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    z-index: 10 !important;

    box-sizing: border-box !important;
}


/* IMAGE */

.bonitas-hero-slider .hero-product img {
    width: 100% !important;
    max-width: 900px !important;

    height: auto !important;
    max-height: 650px !important;

    object-fit: contain !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    filter:
        drop-shadow(0 25px 25px rgba(60,35,20,.15)) !important;

    transform: scale(1) translateY(0) !important;

    transition:
        transform .55s cubic-bezier(.2,.8,.2,1),
        filter .55s ease !important;
}


/* IMAGE HOVER */

.bonitas-hero-slider .hero-product:hover img {
    transform:
        scale(1.055)
        translateY(-8px)
        rotate(.5deg) !important;

    filter:
        drop-shadow(0 38px 35px rgba(60,35,20,.22)) !important;
}


/* =========================================================
   SLIDE 2
   IMAGE LEFT + TEXT RIGHT
========================================================= */

.bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-product {
    left: 1% !important;
    right: auto !important;

    width: 57% !important;

    padding:
        10px
        0
        10px
        2% !important;
}


.bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-copy {
    left: auto !important;
    right: 8% !important;

    width: 40% !important;

    text-align: left !important;
}


/* =========================================================
   SLIDE 3
   TEXT LEFT + IMAGE RIGHT
========================================================= */

.bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-product {
    left: auto !important;
    right: 1% !important;

    width: 57% !important;

    padding:
        10px
        2%
        10px
        0 !important;
}


.bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-copy {
    left: 8% !important;
    right: auto !important;

    width: 40% !important;

    text-align: left !important;
}


/* =========================================================
   HEADING
========================================================= */

.bonitas-hero-slider .hero-copy .eyebrow {
    color: #ed1c24 !important;

    font-size: 15px !important;
    font-weight: 900 !important;

    letter-spacing: 4px !important;

    margin-bottom: 18px !important;
}


.bonitas-hero-slider .hero-copy h1 {
    margin: 0 !important;

    color: #43281d !important;

    font-size: clamp(55px,5.4vw,82px) !important;

    line-height: .95 !important;

    letter-spacing: -3px !important;

    font-weight: 900 !important;
}


.bonitas-hero-slider .hero-copy h1 span {
    color: #ed1c24 !important;
}


.bonitas-hero-slider .hero-copy > p {
    margin: 25px 0 0 !important;

    max-width: 560px !important;

    color: #71645b !important;

    font-size: 18px !important;

    line-height: 1.6 !important;
}


/* =========================================================
   BUTTONS
========================================================= */

.bonitas-hero-slider .hero-actions {
    display: flex !important;

    flex-wrap: wrap !important;

    gap: 12px !important;

    margin-top: 28px !important;

    align-items: center !important;
}


/* =========================================================
   ARROWS
========================================================= */

.bonitas-hero-slider .bonitas-slider-arrow {
    position: absolute !important;

    top: 50% !important;

    width: 58px !important;
    height: 58px !important;

    transform: translateY(-50%) !important;

    border: none !important;
    border-radius: 50% !important;

    background: #ffffff !important;

    color: #ed1c24 !important;

    font-size: 38px !important;
    line-height: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    cursor: pointer !important;

    z-index: 50 !important;

    box-shadow:
        0 12px 30px rgba(60,35,20,.13) !important;

    transition:
        .25s ease !important;
}


.bonitas-hero-slider .bonitas-slider-prev {
    left: 24px !important;
}


.bonitas-hero-slider .bonitas-slider-next {
    right: 24px !important;
}


.bonitas-hero-slider .bonitas-slider-arrow:hover {
    background: #ed1c24 !important;
    color: #ffffff !important;

    transform:
        translateY(-50%)
        scale(1.08) !important;
}


/* =========================================================
   DOTS
========================================================= */

.bonitas-hero-slider .bonitas-slider-dots {
    position: absolute !important;

    bottom: 20px !important;

    left: 50% !important;

    transform: translateX(-50%) !important;

    display: flex !important;

    gap: 8px !important;

    z-index: 50 !important;
}


.bonitas-hero-slider .bonitas-slider-dots button {
    width: 11px !important;
    height: 11px !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 50% !important;

    background: #d6d0c7 !important;

    cursor: pointer !important;

    transition: .3s ease !important;
}


.bonitas-hero-slider .bonitas-slider-dots button.active {
    width: 32px !important;

    border-radius: 20px !important;

    background: #ed1c24 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1100px) {

    .bonitas-hero-slider {
        height: 620px !important;
        min-height: 620px !important;
    }

    .bonitas-hero-slider .hero-copy {
        left: 6% !important;
        width: 43% !important;
    }

    .bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-copy {
        right: 6% !important;
        width: 43% !important;
    }

    .bonitas-hero-slider .hero-copy h1 {
        font-size: clamp(45px,6vw,68px) !important;
    }

    .bonitas-hero-slider .hero-product {
        width: 55% !important;
    }

    .bonitas-hero-slider .hero-product img {
        max-height: 580px !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:700px) {

    .bonitas-hero-slider {
        height: 720px !important;
        min-height: 720px !important;
    }


    .bonitas-hero-slider .bonitas-slide {
        height: 720px !important;
    }


    /* TEXT TOP */

    .bonitas-hero-slider .hero-copy,
    .bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-copy,
    .bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-copy {

        top: 35px !important;

        left: 20px !important;
        right: 20px !important;

        width: auto !important;

        max-width: none !important;

        transform: none !important;

        text-align: center !important;
    }


    .bonitas-hero-slider .hero-copy h1 {
        font-size: clamp(42px,12vw,58px) !important;

        line-height: .98 !important;
    }


    .bonitas-hero-slider .hero-copy > p {
        font-size: 15px !important;

        margin: 15px auto 0 !important;
    }


    .bonitas-hero-slider .hero-actions {
        justify-content: center !important;

        margin-top: 18px !important;
    }


    /* IMAGE BOTTOM */

    .bonitas-hero-slider .hero-product,
    .bonitas-hero-slider .bonitas-slide:nth-child(2) .hero-product,
    .bonitas-hero-slider .bonitas-slide:nth-child(3) .hero-product {

        left: 5% !important;
        right: 5% !important;

        bottom: 25px !important;
        top: auto !important;

        width: 90% !important;

        height: 320px !important;

        padding: 0 !important;

        transform: none !important;
    }


    .bonitas-hero-slider .hero-product img {
        max-height: 320px !important;

        width: 100% !important;
    }


    .bonitas-hero-slider .bonitas-slider-prev {
        left: 8px !important;
    }


    .bonitas-hero-slider .bonitas-slider-next {
        right: 8px !important;
    }


    .bonitas-hero-slider .bonitas-slider-arrow {
        width: 42px !important;
        height: 42px !important;

        font-size: 28px !important;
    }
}
/* BONITAS HERO — SLIDE 1 MOBILE TRUE VISUAL CENTER */
@media (max-width:700px){
  .bonitas-hero-slider .bonitas-slide:first-child .hero-product img{
    translate:18px 0 !important;
  }
}
@media (max-width:480px){
  .bonitas-hero-slider .bonitas-slide:first-child .hero-product img{
    translate:18px 0 !important;
  }
}


/* =========================================================
   BONITAS — FINAL SLIDE 1 MOBILE IMAGE POSITION
   The image itself is positioned relative and moved right.
   This is intentionally placed LAST to override all older
   hero rules and animations.
========================================================= */

@media (max-width:700px){

    .bonitas-hero-slider .bonitas-slide:nth-of-type(1) .hero-product img{
        position:relative !important;

        /* move only Slide 1 artwork to the right */
        left:35px !important;

        /* cancel auto-centering that can pull it back left */
        margin-left:0 !important;
        margin-right:0 !important;

        /* keep existing size */
        width:100% !important;
        max-width:500px !important;

        /* keep the existing vertical/floating animation */
        object-position:center center !important;
    }

}

@media (max-width:480px){

    .bonitas-hero-slider .bonitas-slide:nth-of-type(1) .hero-product img{
        left:32px !important;
    }

}

/* Remove icons from Discover Bonitas cards */
.discover-card .discover-icon {
    display: none !important;
}
/* =========================================================
   BONITAS OUTLET INFO — UNIFIED ICON STYLE
========================================================= */

.outlet-info-grid .outlet-info-card .outlet-info-icon {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;

    border-radius: 50% !important;

    background: #ffffff !important;
    color: #ed1c24 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex-shrink: 0 !important;

    box-shadow: 0 8px 22px rgba(80, 40, 20, 0.08) !important;

    font-size: 25px !important;
    line-height: 1 !important;
}


/* SVG icons */
.outlet-info-grid .outlet-info-card .outlet-info-icon svg {
    width: 25px !important;
    height: 25px !important;

    color: #ed1c24 !important;
    fill: none !important;
    stroke: #ed1c24 !important;

    display: block !important;
}


/* Make SVG paths red */
.outlet-info-grid .outlet-info-card .outlet-info-icon svg path,
.outlet-info-grid .outlet-info-card .outlet-info-icon svg circle,
.outlet-info-grid .outlet-info-card .outlet-info-icon svg line,
.outlet-info-grid .outlet-info-card .outlet-info-icon svg polyline {
    stroke: #ed1c24 !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .outlet-info-grid .outlet-info-card .outlet-info-icon {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;

        font-size: 25px !important;

        margin: 0 !important;
    }

    .outlet-info-grid .outlet-info-card .outlet-info-icon svg {
        width: 25px !important;
        height: 25px !important;
    }
}
/* =========================================================
   BONITAS OUTLET INFO — UNIFIED ICON STYLE
========================================================= */

.outlet-info-grid .outlet-info-card .outlet-info-icon {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;

    border-radius: 50% !important;

    background: #ffffff !important;
    color: #ed1c24 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex-shrink: 0 !important;

    box-shadow: 0 8px 22px rgba(80, 40, 20, 0.08) !important;

    font-size: 25px !important;
    line-height: 1 !important;
}


/* SVG icons */
.outlet-info-grid .outlet-info-card .outlet-info-icon svg {
    width: 25px !important;
    height: 25px !important;

    color: #ed1c24 !important;
    fill: none !important;
    stroke: #ed1c24 !important;

    display: block !important;
}


/* Make SVG paths red */
.outlet-info-grid .outlet-info-card .outlet-info-icon svg path,
.outlet-info-grid .outlet-info-card .outlet-info-icon svg circle,
.outlet-info-grid .outlet-info-card .outlet-info-icon svg line,
.outlet-info-grid .outlet-info-card .outlet-info-icon svg polyline {
    stroke: #ed1c24 !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .outlet-info-grid .outlet-info-card .outlet-info-icon {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;

        font-size: 25px !important;

        margin: 0 !important;
    }

    .outlet-info-grid .outlet-info-card .outlet-info-icon svg {
        width: 25px !important;
        height: 25px !important;
    }
}
/* =========================================================
   BONITAS OUTLET INFO — UNIFIED ICON STYLE
========================================================= */

.outlet-info-grid .outlet-info-card .outlet-info-icon {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;

    border-radius: 50% !important;

    background: #ffffff !important;
    color: #ed1c24 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex-shrink: 0 !important;

    box-shadow: 0 8px 22px rgba(80, 40, 20, 0.08) !important;

    font-size: 25px !important;
    line-height: 1 !important;
}


/* SVG icons */
.outlet-info-grid .outlet-info-card .outlet-info-icon svg {
    width: 25px !important;
    height: 25px !important;

    color: #ed1c24 !important;
    fill: none !important;
    stroke: #ed1c24 !important;

    display: block !important;
}


/* Make SVG paths red */
.outlet-info-grid .outlet-info-card .outlet-info-icon svg path,
.outlet-info-grid .outlet-info-card .outlet-info-icon svg circle,
.outlet-info-grid .outlet-info-card .outlet-info-icon svg line,
.outlet-info-grid .outlet-info-card .outlet-info-icon svg polyline {
    stroke: #ed1c24 !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .outlet-info-grid .outlet-info-card .outlet-info-icon {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;

        font-size: 25px !important;

        margin: 0 !important;
    }

    .outlet-info-grid .outlet-info-card .outlet-info-icon svg {
        width: 25px !important;
        height: 25px !important;
    }
}
/* =========================================================
   BONITAS CONTACT CARDS — UNIFIED RED SVG ICONS
========================================================= */

.bonitas-home-contact .bonitas-contact-icon {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;

    border-radius: 50% !important;

    background: #ffffff !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex-shrink: 0 !important;

    color: #ed1c24 !important;

    box-shadow:
        0 8px 20px rgba(60, 30, 20, 0.08) !important;
}


/* SVG itself */
.bonitas-home-contact .bonitas-contact-icon svg {
    width: 26px !important;
    height: 26px !important;

    display: block !important;

    fill: none !important;
    stroke: #ed1c24 !important;

    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}


/* Force every SVG element to use Bonitas red */
.bonitas-home-contact .bonitas-contact-icon svg path,
.bonitas-home-contact .bonitas-contact-icon svg circle {
    stroke: #ed1c24 !important;
}


/* WhatsApp inner detail */
.bonitas-home-contact .card-whatsapp
.bonitas-contact-icon svg path:nth-child(2) {
    stroke-width: 1.8 !important;
}


/* =========================================================
   ICON HOVER EFFECT
========================================================= */

.bonitas-home-contact .bonitas-contact-card:hover
.bonitas-contact-icon {
    background: #ed1c24 !important;
    color: #ffffff !important;

    transform: translateY(-3px) scale(1.06);

    box-shadow:
        0 12px 28px rgba(237, 28, 36, 0.22) !important;

    transition:
        transform .25s ease,
        background .25s ease,
        box-shadow .25s ease !important;
}


.bonitas-home-contact .bonitas-contact-card:hover
.bonitas-contact-icon svg,
.bonitas-home-contact .bonitas-contact-card:hover
.bonitas-contact-icon svg path,
.bonitas-home-contact .bonitas-contact-card:hover
.bonitas-contact-icon svg circle {
    stroke: #ffffff !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:700px) {

    .bonitas-home-contact .bonitas-contact-icon {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;
    }

    .bonitas-home-contact .bonitas-contact-icon svg {
        width: 26px !important;
        height: 26px !important;
    }

}
/* BONITAS FLAVOUR GRID */

.bonitas-flavour-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
}

@media (max-width: 900px) {
    .bonitas-flavour-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .bonitas-flavour-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
/* =========================================================
   BONITAS FLAVOURS — MOBILE 2 COLUMN PRODUCT GRID
========================================================= */

@media (max-width: 700px) {

    /* Product columns container */
    .bonitas-flavour-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        gap: 0 !important;
    }

    /* Individual product columns */
    .bonitas-product-column {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        flex-basis: auto !important;
        margin: 0 !important;
    }

    /* Prevent Gutenberg mobile stacking */
    .bonitas-flavour-grid > .wp-block-column {
        width: auto !important;
        flex-basis: auto !important;
        min-width: 0 !important;
    }

}
/* =========================================================
   BONITAS MOMENTS & MEMORIES — REAL IMAGES
   CSS ONLY — DOES NOT CHANGE GALLERY LAYOUT
========================================================= */

.gallery-tile.tile-a {
    background-image: url("https://bonitasicecream.com/wp-content/themes/bonitas/assets/gallery/KALA6792.JPG.png") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.gallery-tile.tile-b {
    background-image: url("https://bonitasicecream.com/wp-content/themes/bonitas/assets/gallery/WhatsApp%20Image%202026-09-17%20at%207.28.26%20PM%20%281%29.png") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.gallery-tile.tile-c {
    background-image: url("https://bonitasicecream.com/wp-content/themes/bonitas/assets/gallery/WhatsApp%20Image%202026-09-17%20at%207.28.26%20PM%20%282%29.png") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.gallery-tile.tile-d {
    background-image: url("https://bonitasicecream.com/wp-content/themes/bonitas/assets/gallery/WhatsApp%20Image%202026-09-17%20at%207.28.27%20PM%20%281%29.png") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.gallery-tile.tile-e {
    background-image: url("https://bonitasicecream.com/wp-content/themes/bonitas/assets/gallery/WhatsApp%20Image%202026-09-17%20at%207.28.29%20PM.png") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.gallery-tile.tile-f {
    background-image: url("https://bonitasicecream.com/wp-content/themes/bonitas/assets/gallery/WhatsApp%20Image%202026-09-17%20at%207.28.31%20PM.png") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
/* =========================================================
   BONITAS HOME — CATEGORY FLAVOUR SHOWCASE
   One real product per category
========================================================= */

.bonitas-home-products{
    width:100%;
    box-sizing:border-box;
}

.bonitas-home-product-grid{
    width:min(100%, 1100px);
    margin:30px auto 0;
    padding:0 20px;

    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:10px;

    box-sizing:border-box;
}

.bonitas-category-product-card{
    display:block;
    width:100%;
    min-width:0;

    padding:12px 8px 14px;

    text-decoration:none !important;
    text-align:center;

    border:1px solid #f0c8c8;
    border-radius:12px;

    background:#fffaf0;

    box-sizing:border-box;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.bonitas-category-product-card:hover{
    transform:translateY(-5px);
    border-color:#ed1c24;
    box-shadow:0 12px 25px rgba(58,36,25,.10);
}


/* PRODUCT IMAGE */

.bonitas-category-product-card .bonitas-home-product-image{
    width:100%;
    height:125px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0;

    background:#fff;

    border-radius:8px;

    overflow:hidden;
}

.bonitas-category-product-card .bonitas-home-product-image img{
    display:block;

    width:auto;
    max-width:92%;
    height:auto;
    max-height:115px;

    object-fit:contain;

    margin:0 auto;
}


/* CATEGORY NAME */

.bonitas-category-name{
    display:block;

    margin-top:10px;

    color:#ed1c24;

    font-family:"Nunito",sans-serif;

    font-size:11px;
    line-height:1.2;

    font-weight:800;

    text-transform:uppercase;
}


/* PRODUCT NAME */

.bonitas-category-product-info h3{
    margin:4px 0 0;

    color:#3b2117;

    font-family:"Nunito",sans-serif;

    font-size:13px;
    line-height:1.25;

    font-weight:800;
}


/* KEEP BUTTON BELOW GRID */

.bonitas-home-products-button{
    margin-top:28px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1000px){

    .bonitas-home-product-grid{
        grid-template-columns:repeat(4, minmax(0,1fr));
        gap:10px;
        padding:0 18px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:600px){

    .bonitas-home-product-grid{
        width:100%;
        grid-template-columns:repeat(2, minmax(0,1fr));
        gap:10px;

        padding:0 14px;

        margin-top:24px;
    }

    .bonitas-category-product-card{
        padding:9px 6px 12px;
        border-radius:10px;
    }

    .bonitas-category-product-card .bonitas-home-product-image{
        height:120px;
    }

    .bonitas-category-product-card .bonitas-home-product-image img{
        max-width:94%;
        max-height:110px;
    }

    .bonitas-category-name{
        font-size:9px;
        margin-top:8px;
    }

    .bonitas-category-product-info h3{
        font-size:12px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:390px){

    .bonitas-home-product-grid{
        padding:0 10px;
        gap:8px;
    }

    .bonitas-category-product-card .bonitas-home-product-image{
        height:105px;
    }

    .bonitas-category-product-card .bonitas-home-product-image img{
        max-height:95px;
    }

    .bonitas-category-name{
        font-size:8px;
    }

    .bonitas-category-product-info h3{
        font-size:11px;
    }

}
/* =========================================================
   BONITAS HOME CATEGORY SHOWCASE — FINAL OVERRIDE
========================================================= */

.bonitas-home-products {
    width: 100% !important;
    box-sizing: border-box !important;
}


/* HEADING */

.bonitas-home-products-heading {
    width: 100% !important;
    max-width: 850px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================================
   SIX PRODUCT CARDS
========================================================= */

.bonitas-home-products .bonitas-home-product-grid {
    width: 100% !important;
    max-width: 1120px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    display: grid !important;

    grid-template-columns:
        repeat(6, minmax(0, 1fr)) !important;

    gap: 10px !important;

    box-sizing: border-box !important;
}


/* =========================================================
   CARD
========================================================= */

.bonitas-home-products
.bonitas-category-product-card {
    width: 100% !important;
    min-width: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    text-decoration: none !important;

    box-sizing: border-box !important;

    overflow: hidden !important;
}


/* =========================================================
   IMAGE AREA
========================================================= */

.bonitas-home-products
.bonitas-home-product-image {
    width: calc(100% - 20px) !important;

    height: 170px !important;

    margin: 10px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    background: #ffffff !important;

    border-radius: 10px !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/* =========================================================
   PRODUCT PNG
========================================================= */

.bonitas-home-products
.bonitas-home-product-image img {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 94% !important;
    max-height: 94% !important;

    object-fit: contain !important;
    object-position: center !important;

    margin: auto !important;
}


/* =========================================================
   PRODUCT TEXT
========================================================= */

.bonitas-home-products
.bonitas-category-product-info {
    width: 100% !important;

    padding: 4px 5px 16px !important;

    text-align: center !important;

    box-sizing: border-box !important;
}


.bonitas-home-products
.bonitas-category-name {
    display: block !important;

    color: #ed1c24 !important;

    font-size: 12px !important;

    line-height: 1.2 !important;

    font-weight: 900 !important;

    text-transform: uppercase !important;

    margin-bottom: 5px !important;
}


.bonitas-home-products
.bonitas-category-product-info h3 {
    margin: 0 !important;

    color: #43281d !important;

    font-size: 16px !important;

    line-height: 1.2 !important;

    font-weight: 800 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .bonitas-home-products .bonitas-home-product-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .bonitas-home-products .bonitas-home-product-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 10px !important;
    }


    .bonitas-home-products
    .bonitas-home-product-image {
        height: 145px !important;

        width: calc(100% - 16px) !important;

        margin: 8px !important;
    }


    .bonitas-home-products
    .bonitas-home-product-image img {
        max-width: 92% !important;
        max-height: 92% !important;
    }


    .bonitas-home-products
    .bonitas-category-name {
        font-size: 10px !important;
    }


    .bonitas-home-products
    .bonitas-category-product-info h3 {
        font-size: 13px !important;
    }

}
.woocommerce ul.products li.product img {
    width: 100%;
    height: 170px;
    object-fit: contain;
    object-position: center;
    display: block;
    margin: 0 auto;
}/* =========================================
   BONITAS FLAVOURS / PRODUCTS
========================================= */

.bonitas-flavours-section {
    width: 100%;
    background: #fff9eb;
    padding: 25px 0 45px;
    overflow: hidden;
}

.bonitas-flavours-container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 42px;
    box-sizing: border-box;
}


/* Intro text */

.bonitas-flavours-intro {
    text-align: center;
    margin-bottom: 55px;
}

.bonitas-flavours-intro p {
    margin: 0;
    font-family: inherit;
    font-size: 21px;
    line-height: 1.5;
    color: #684b3d;
}


/* =========================================
   PRODUCT GRID
========================================= */

.bonitas-products-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}


/* =========================================
   PRODUCT CARD
========================================= */

.bonitas-product-card {
    position: relative;
    min-width: 0;
    height: 550px;

    background: #fffaf0;

    border: 1.5px solid #ead9b9;
    border-radius: 22px;

    display: flex;
    flex-direction: column;
    align-items: center;

    overflow: hidden;

    box-sizing: border-box;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* Premium hover */

.bonitas-product-card:hover {
    transform: translateY(-6px);

    border-color: #f3cfc1;

    box-shadow:
        0 18px 40px rgba(85, 55, 35, 0.12);
}


/* =========================================
   PRODUCT IMAGE AREA
========================================= */

.bonitas-product-image {
    width: 100%;
    height: 355px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 25px 25px 5px;

    box-sizing: border-box;
}


/* Actual product image */

.bonitas-product-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    object-position: center;

    transition:
        transform 0.35s ease;
}


/* Slight premium zoom */

.bonitas-product-card:hover .bonitas-product-image img {
    transform: scale(1.04);
}


/* =========================================
   PRODUCT NAME
========================================= */

.bonitas-product-card h3 {
    width: 100%;

    min-height: 70px;

    margin: 0;

    padding: 5px 15px 10px;

    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;

    color: #321c14;

    font-size: 25px;
    line-height: 1.15;
    font-weight: 700;

    font-family: inherit;
}


/* =========================================
   BUY BUTTON
========================================= */

.bonitas-buy-btn {
    width: calc(100% - 28px);

    height: 62px;

    margin-top: auto;

    display: flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    border: 2px solid #f21d2f;
    border-radius: 32px 32px 0 0;

    background: #fffaf0;

    color: #f21d2f;

    text-decoration: none;

    font-size: 20px;
    font-weight: 700;

    letter-spacing: 0.2px;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}


.bonitas-buy-btn:hover {
    background: #f21d2f;
    color: #ffffff;
    border-color: #f21d2f;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1300px) {

    .bonitas-flavours-container {
        padding-left: 25px;
        padding-right: 25px;
    }

    .bonitas-products-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
    }

    .bonitas-product-card {
        height: 530px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .bonitas-flavours-section {
        padding: 20px 0 35px;
    }

    .bonitas-flavours-container {
        padding: 0 15px;
    }

    .bonitas-flavours-intro {
        margin-bottom: 30px;
    }

    .bonitas-flavours-intro p {
        font-size: 16px;
    }

    .bonitas-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .bonitas-product-card {
        height: 400px;
        border-radius: 16px;
    }

    .bonitas-product-image {
        height: 245px;
        padding: 15px;
    }

    .bonitas-product-card h3 {
        min-height: 55px;
        padding: 3px 8px 8px;

        font-size: 17px;
    }

    .bonitas-buy-btn {
        width: calc(100% - 16px);
        height: 48px;

        font-size: 15px;
        border-radius: 25px 25px 0 0;
    }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .bonitas-products-grid {
        grid-template-columns: 1fr;
    }

    .bonitas-product-card {
        height: 470px;
    }

    .bonitas-product-image {
        height: 310px;
    }

    .bonitas-product-card h3 {
        font-size: 21px;
    }

}
/* =========================================================
   BONITAS PREMIUM HOMEPAGE PRODUCTS
   FINAL OVERRIDE
========================================================= */

.bonitas-home-products {

    width: 100%;
    box-sizing: border-box;

    padding: 75px 20px 80px;

    background:
        linear-gradient(
            135deg,
            #fff8e6 0%,
            #fffdf8 50%,
            #fff3f3 100%
        );

    overflow: hidden;
}


/* =========================================================
   HEADING
========================================================= */

.bonitas-home-products-heading {

    width: min(850px, 100%);

    margin: 0 auto 42px;

    text-align: center;
}


.bonitas-home-products-heading > span {

    display: block;

    margin-bottom: 10px;

    color: #ed1c24;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 4px;

    text-transform: uppercase;
}


.bonitas-home-products-heading h2 {

    margin: 0;

    color: #43281d;

    font-size: clamp(36px, 4vw, 56px);

    line-height: 1.05;

    font-weight: 900;

    letter-spacing: -1.5px;
}


.bonitas-home-products-heading h2 strong {

    color: #ed1c24;

}


.bonitas-home-products-heading p {

    max-width: 700px;

    margin: 16px auto 0;

    color: #75675d;

    font-size: 16px;

    line-height: 1.6;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.bonitas-home-product-grid {

    width: min(1920px, 100%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 14px;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.bonitas-home-product-card {

    position: relative;

    min-width: 0;

    height: 550px;

    padding: 18px 14px 0;

    box-sizing: border-box;

    border-radius: 22px;

    border: 1px solid #eadcc7;

    background: rgba(255, 252, 243, 0.82);

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: flex-start;

    overflow: hidden;

    text-decoration: none;

    box-shadow:
        0 8px 25px rgba(67,40,29,.045);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}


/* =========================================================
   IMAGE AREA
========================================================= */

.bonitas-home-product-image {

    width: 100%;

    height: 350px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;
}


.bonitas-home-product-image img {

    width: 100% !important;

    height: 100% !important;

    max-width: 100%;

    max-height: 100%;

    display: block !important;

    object-fit: contain !important;

    object-position: center !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    transition:
        transform .45s ease;
}


/* =========================================================
   PRODUCT NAME
========================================================= */

.bonitas-home-product-info {

    width: 100%;

    min-height: 76px;

    padding: 0 8px;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;
}


.bonitas-home-product-info h3 {

    margin: 0;

    color: #43281d;

    font-size: 22px;

    line-height: 1.18;

    font-weight: 900;

    letter-spacing: -.3px;
}


/* =========================================================
   BUY NOW
========================================================= */

.bonitas-product-buy {

    width: calc(100% + 28px);

    height: 64px;

    margin-top: auto;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 2px solid #ed1c24;

    border-bottom: 0;

    border-radius: 35px 35px 0 0;

    background: transparent;

    box-sizing: border-box;

    transition:
        background .3s ease,
        color .3s ease;
}


.bonitas-product-buy span {

    color: #ed1c24;

    font-size: 18px;

    font-weight: 900;

    letter-spacing: .3px;
}


/* =========================================================
   HOVER
========================================================= */

.bonitas-home-product-card:hover {

    transform: translateY(-7px);

    border-color: #ed1c24;

    box-shadow:
        0 18px 38px rgba(67,40,29,.13);
}


.bonitas-home-product-card:hover
.bonitas-home-product-image img {

    transform: scale(1.06);
}


.bonitas-home-product-card:hover
.bonitas-product-buy {

    background: #ed1c24;
}


.bonitas-home-product-card:hover
.bonitas-product-buy span {

    color: #ffffff;
}


/* =========================================================
   EXPLORE ALL FLAVOURS
========================================================= */

.bonitas-home-products-button {

    margin-top: 38px;

    text-align: center;
}


.bonitas-home-products-button a {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding: 15px 30px;

    border-radius: 999px;

    background: #ed1c24;

    color: #ffffff;

    text-decoration: none;

    font-size: 15px;

    font-weight: 900;

    box-shadow:
        0 10px 25px rgba(237,28,36,.20);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.bonitas-home-products-button a:hover {

    transform: translateY(-3px);

    box-shadow:
        0 15px 32px rgba(237,28,36,.28);
}


.bonitas-home-products-button a span {

    font-size: 20px;

    line-height: 1;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1200px) {

    .bonitas-home-product-grid {

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 14px;
    }

}


/* =========================================================
   SMALL TABLET
========================================================= */

@media (max-width: 800px) {

    .bonitas-home-product-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .bonitas-home-product-card {

        height: 500px;
    }


    .bonitas-home-product-image {

        height: 320px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .bonitas-home-products {

        padding: 55px 12px 65px;
    }


    .bonitas-home-products-heading {

        margin-bottom: 30px;
    }


    .bonitas-home-products-heading h2 {

        font-size: 34px;

        letter-spacing: -1px;
    }


    .bonitas-home-products-heading p {

        font-size: 14px;
    }


    .bonitas-home-product-grid {

        grid-template-columns: 1fr 1fr;

        gap: 10px;
    }


    .bonitas-home-product-card {

        height: 360px;

        padding: 10px 8px 0;

        border-radius: 16px;
    }


    .bonitas-home-product-image {

        height: 225px;
    }


    .bonitas-home-product-info {

        min-height: 70px;
    }


    .bonitas-home-product-info h3 {

        font-size: 16px;
    }


    .bonitas-product-buy {

        width: calc(100% + 16px);

        height: 52px;
    }


    .bonitas-product-buy span {

        font-size: 14px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .bonitas-home-product-card {

        height: 330px;
    }


    .bonitas-home-product-image {

        height: 205px;
    }


    .bonitas-home-product-info h3 {

        font-size: 15px;
    }

}
/* =========================================================
   FINAL FIX - BONITAS FLAVOUR SECTION
========================================================= */

#flavours.bonitas-home-products {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 40px !important;
    padding-right: 40px !important;

    box-sizing: border-box !important;

    transform: none !important;
}


/* Full-width product grid */

#flavours .bonitas-home-product-grid {
    width: 100% !important;
    max-width: 1920px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    display: grid !important;

    grid-template-columns:
        repeat(6, minmax(0, 1fr)) !important;

    gap: 14px !important;

    box-sizing: border-box !important;
}


/* Force cards to normal size */

#flavours .bonitas-home-product-card {
    width: 100% !important;
    max-width: none !important;

    height: 550px !important;

    display: flex !important;
    flex-direction: column !important;

    box-sizing: border-box !important;
}


/* Image */

#flavours .bonitas-home-product-image {
    width: 100% !important;
    height: 350px !important;

    flex: 0 0 350px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}


#flavours .bonitas-home-product-image img {
    width: 100% !important;
    height: 100% !important;

    object-fit: contain !important;

    display: block !important;
}


/* Product name */

#flavours .bonitas-home-product-info {
    width: 100% !important;
    min-height: 76px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}


/* Buy button */

#flavours .bonitas-product-buy {
    width: calc(100% + 28px) !important;

    height: 64px !important;

    margin-top: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* =========================================================
   BONITAS FLAVOURS SECTION
   ========================================================= */

.bonitas-flavours-section {
    width: 100%;
    box-sizing: border-box;
    padding: 55px 4.2% 65px;

    background:
        linear-gradient(
            135deg,
            #fffaf0 0%,
            #fff8ec 50%,
            #fffdf7 100%
        );

    overflow: hidden;
}


/* =========================================================
   HEADER
   ========================================================= */

.bonitas-flavours-header {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto 38px;
}


.bonitas-flavours-kicker {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 18px;
    margin-bottom: 12px;

    color: #ed1c24;

    font-size: 18px;
    font-weight: 800;

    letter-spacing: 5px;
    text-transform: uppercase;
}


.bonitas-flavours-kicker span {
    width: 55px;
    height: 2px;

    display: block;

    background: #ed1c24;
}


.bonitas-flavours-header h2 {
    margin: 0;

    color: #4b281b;

    font-size: clamp(42px, 4vw, 68px);

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -2px;
}


.bonitas-flavours-header h2 strong {
    color: #ed1c24;
    font-weight: 800;
}


.bonitas-flavours-header p {
    margin: 17px auto 0;

    max-width: 950px;

    color: #735f53;

    font-size: 21px;

    line-height: 1.5;

    font-weight: 400;
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

.bonitas-flavours-grid {
    width: 100%;
    max-width: 1700px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: 16px;
}


/* =========================================================
   PRODUCT CARD
   ========================================================= */

.bonitas-flavour-card {
    min-width: 0;

    min-height: 435px;

    padding: 20px 18px 0;

    box-sizing: border-box;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    border: 1px solid #efdcc1;

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.58),
            rgba(255,248,232,0.58)
        );

    box-shadow:
        0 8px 25px rgba(92, 54, 25, 0.035);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.bonitas-flavour-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 38px rgba(92, 54, 25, 0.10);
}


/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.bonitas-product-image {
    width: 100%;

    height: 285px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    border-radius: 14px;

    background: transparent;
}


.bonitas-product-image img {
    display: block;

    width: 100%;

    height: 100%;

    object-fit: contain;

    object-position: center;

    background: transparent;

    mix-blend-mode: multiply;

    transition:
        transform 0.35s ease;
}


.bonitas-flavour-card:hover
.bonitas-product-image img {
    transform: scale(1.04);
}


/* =========================================================
   PRODUCT NAME
   ========================================================= */

.bonitas-flavour-card h3 {
    width: 100%;

    min-height: 58px;

    margin: 10px 0 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #45271d;

    font-size: 25px;

    line-height: 1.15;

    font-weight: 800;

    letter-spacing: -0.4px;
}


/* =========================================================
   BUY NOW
   ========================================================= */

.bonitas-buy-button {
    width: 100%;

    min-height: 58px;

    margin-top: auto;

    display: flex;

    align-items: center;

    justify-content: center;

    box-sizing: border-box;

    border: 2px solid #ed1c24;

    border-radius: 999px 999px 0 0;

    color: #ed1c24;

    background: transparent;

    text-decoration: none;

    font-size: 20px;

    font-weight: 800;

    transition:
        background 0.25s ease,
        color 0.25s ease;
}


.bonitas-buy-button:hover {
    color: #ffffff;

    background: #ed1c24;
}


/* =========================================================
   EXPLORE ALL FLAVOURS
   ========================================================= */

.bonitas-flavours-action {
    display: flex;

    justify-content: center;

    margin-top: 38px;
}


.bonitas-flavours-action a {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    min-width: 300px;

    padding: 18px 32px;

    border-radius: 999px;

    background: #ed1c24;

    color: #ffffff;

    text-decoration: none;

    font-size: 20px;

    font-weight: 800;

    box-shadow:
        0 12px 25px rgba(237, 28, 36, 0.18);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.bonitas-flavours-action a:hover {
    transform: translateY(-3px);

    box-shadow:
        0 16px 32px rgba(237, 28, 36, 0.25);
}


.bonitas-flavours-action span {
    font-size: 26px;

    line-height: 1;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .bonitas-flavours-section {
        padding-left: 25px;
        padding-right: 25px;
    }

    .bonitas-flavours-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .bonitas-flavours-section {
        padding: 45px 16px 50px;
    }

    .bonitas-flavours-kicker {
        font-size: 13px;

        letter-spacing: 3px;

        gap: 10px;
    }

    .bonitas-flavours-kicker span {
        width: 30px;
    }

    .bonitas-flavours-header h2 {
        font-size: 36px;

        letter-spacing: -1px;
    }

    .bonitas-flavours-header p {
        font-size: 16px;
    }

    .bonitas-flavours-grid {
        grid-template-columns: 1fr 1fr;

        gap: 12px;
    }

    .bonitas-flavour-card {
        min-height: 360px;

        padding: 12px 10px 0;

        border-radius: 16px;
    }

    .bonitas-product-image {
        height: 220px;
    }

    .bonitas-flavour-card h3 {
        font-size: 17px;

        min-height: 48px;
    }

    .bonitas-buy-button {
        min-height: 48px;

        font-size: 15px;
    }

    .bonitas-flavours-action a {
        min-width: 240px;

        padding: 15px 24px;

        font-size: 16px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 430px) {

    .bonitas-flavours-grid {
        grid-template-columns: 1fr;
    }

    .bonitas-flavour-card {
        max-width: 330px;

        width: 100%;

        margin: 0 auto;
    }

}