/*
Theme Name: Buen Nido Child
Theme URI: https://buen-nido.com
Description: Tema hijo de Hello Elementor para Buen Nido. Integra la Home visual con WooCommerce y respeta el manual de marca.
Author: Buen Nido
Template: hello-elementor
Version: 1.4.0
Text Domain: buen-nido
*/

:root{
  --bn-shell:#FDF6E9;
  --bn-yolk:#F4B400;
  --bn-olive:#5A7F3A;
  --bn-nest:#8B5E3C;
  --bn-charcoal:#2E2E2E;
  --bn-forest:#123B2A;
  --bn-white:#FFFFFF;
  --bn-muted:#6F746F;
  --bn-border:rgba(18,59,42,.12);
  --bn-shadow:0 18px 42px rgba(18,59,42,.10);
  --bn-shadow-sm:0 8px 24px rgba(18,59,42,.08);
  --bn-radius:32px;
  --bn-radius-sm:18px;
  --bn-max:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bn-shell);color:var(--bn-charcoal);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.bn-menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.bn-container{width:min(calc(100% - 48px),var(--bn-max));margin-inline:auto}
.bn-section{position:relative;padding:96px 0}
.bn-section--tight{padding:72px 0}
.bn-section--forest{background:var(--bn-forest);color:var(--bn-shell)}
.bn-section--yolk{background:var(--bn-yolk);color:var(--bn-forest)}
.bn-section--white{background:var(--bn-white)}
.bn-kicker{font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bn-nest)}
.bn-section--forest .bn-kicker{color:var(--bn-yolk)}
.bn-title{font-family:"Fraunces",Georgia,serif;font-size:clamp(38px,5vw,64px);line-height:.98;font-weight:600;letter-spacing:-.03em;color:var(--bn-forest);margin:10px 0 18px}
.bn-section--forest .bn-title{color:var(--bn-shell)}
.bn-copy{font-size:18px;line-height:1.6;max-width:760px;color:#59615d}
.bn-section--forest .bn-copy{color:rgba(253,246,233,.82)}
.bn-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 22px;font-weight:700;transition:.2s ease;min-height:50px}
.bn-btn:hover{transform:translateY(-2px)}
.bn-btn--yolk{background:var(--bn-yolk);color:var(--bn-forest);box-shadow:0 10px 24px rgba(244,180,0,.26)}
.bn-btn--forest{background:var(--bn-forest);color:var(--bn-shell);box-shadow:var(--bn-shadow-sm)}
.bn-btn--ghost{background:transparent;color:var(--bn-forest);border:1.5px solid var(--bn-forest)}
.bn-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* Header */
.bn-header{position:fixed;inset:0 0 auto;z-index:1000;transition:.25s ease;background:linear-gradient(to bottom,rgba(18,59,42,.50),transparent)}
.bn-header.is-scrolled{background:rgba(253,246,233,.96);backdrop-filter:blur(14px);box-shadow:0 4px 22px rgba(18,59,42,.08)}
.bn-header__inner{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.bn-brand{display:flex;align-items:center;min-width:0}
.bn-brand .custom-logo{max-height:58px;width:auto}
.bn-brand__fallback{display:flex;flex-direction:column;line-height:1}
.bn-brand__name{font-family:"Fraunces",Georgia,serif;font-size:27px;font-weight:600;color:var(--bn-shell)}
.bn-brand__tag{font-size:11px;font-weight:600;color:rgba(253,246,233,.82);margin-top:5px}
.bn-header.is-scrolled .bn-brand__name{color:var(--bn-forest)}
.bn-header.is-scrolled .bn-brand__tag{color:var(--bn-nest)}
.bn-nav{display:flex;gap:4px;align-items:center}
.bn-nav a{padding:9px 14px;border-radius:999px;font-weight:600;color:var(--bn-shell);font-size:14px}
.bn-header.is-scrolled .bn-nav a{color:var(--bn-forest)}
.bn-nav a:hover{background:rgba(244,180,0,.20)}
.bn-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.bn-header__account{font-size:14px;font-weight:700;color:var(--bn-shell)}
.bn-header.is-scrolled .bn-header__account{color:var(--bn-forest)}
.bn-cart{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:var(--bn-yolk);color:var(--bn-forest);font-weight:700;font-size:14px}
.bn-cart__count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--bn-forest);color:var(--bn-shell);display:grid;place-items:center;font-size:11px}
.bn-menu-btn{display:none;border:0;background:transparent;width:44px;height:44px;border-radius:50%;color:var(--bn-shell)}
.bn-header.is-scrolled .bn-menu-btn{color:var(--bn-forest)}

/* Hero */
.bn-hero{min-height:760px;height:100svh;max-height:940px;display:grid;place-items:center;position:relative;overflow:hidden;background:var(--bn-forest)}
.bn-hero__media{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02)}
.bn-hero__media video{width:100%;height:100%;object-fit:cover}
.bn-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,33,22,.35),rgba(7,33,22,.74))}
.bn-hero__content{position:relative;z-index:2;text-align:center;color:var(--bn-shell);max-width:860px;padding:112px 24px 96px}
.bn-hero__eyebrow{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:var(--bn-yolk);color:var(--bn-forest);font-size:13px;font-weight:700;margin-bottom:22px}
.bn-hero h1{font-family:"Fraunces",Georgia,serif;font-size:clamp(52px,7vw,92px);line-height:.92;letter-spacing:-.045em;margin:0 0 22px;font-weight:600}
.bn-hero p{font-size:19px;max-width:690px;margin:0 auto 30px;color:rgba(253,246,233,.90)}
.bn-hero__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.bn-hero__ghost{background:rgba(253,246,233,.12);color:var(--bn-shell);border:1px solid rgba(253,246,233,.20);backdrop-filter:blur(8px)}
.bn-hero__stats{position:absolute;z-index:3;bottom:34px;left:50%;transform:translateX(-50%);display:flex;gap:42px;color:var(--bn-shell)}
.bn-hero__stat{text-align:center}
.bn-hero__stat strong{display:block;font-family:"Fraunces",Georgia,serif;font-size:26px;color:var(--bn-yolk)}
.bn-hero__stat span{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:rgba(253,246,233,.72)}

/* Organic separators */
.bn-wave-top:before,.bn-wave-bottom:after{content:"";position:absolute;left:-3%;width:106%;height:52px;background:inherit;z-index:1}
.bn-wave-top:before{top:-24px;border-radius:50% 50% 0 0/100% 100% 0 0;transform:rotate(.6deg)}
.bn-wave-bottom:after{bottom:-24px;border-radius:0 0 50% 50%/0 0 100% 100%;transform:rotate(-.5deg)}

/* Benefits */
.bn-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.bn-benefit{border-radius:var(--bn-radius);padding:30px;background:rgba(253,246,233,.07);border:1px solid rgba(253,246,233,.10)}
.bn-benefit__icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--bn-yolk);color:var(--bn-forest);font-size:24px;margin-bottom:22px}
.bn-benefit h3{font-family:"Fraunces",Georgia,serif;font-size:26px;margin:0 0 10px;font-weight:600}
.bn-benefit p{margin:0;color:rgba(253,246,233,.78)}

/* Story collage */
.bn-story{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center}
.bn-story__card{background:var(--bn-white);border-radius:var(--bn-radius);padding:34px;box-shadow:var(--bn-shadow-sm);margin-top:26px}
.bn-story__card strong{color:var(--bn-forest)}
.bn-collage{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:center}
.bn-collage__left,.bn-collage__right{display:grid;gap:16px}
.bn-photo{border-radius:var(--bn-radius-sm);overflow:hidden;background:#eee;box-shadow:var(--bn-shadow-sm);position:relative}
.bn-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bn-photo:hover img{transform:scale(1.035)}
.bn-photo--wide{aspect-ratio:4/3}.bn-photo--square{aspect-ratio:1}.bn-photo--portrait{aspect-ratio:3/4}
.bn-note{background:var(--bn-yolk);color:var(--bn-forest);border-radius:var(--bn-radius-sm);padding:24px;font-weight:700}

/* Catalog */
.bn-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:42px}
.bn-filter{display:flex;gap:8px;background:#ece5d8;padding:6px;border-radius:999px;flex-wrap:wrap}
.bn-filter button{border:0;background:transparent;color:var(--bn-forest);font-weight:700;padding:10px 16px;border-radius:999px}
.bn-filter button.is-active{background:var(--bn-forest);color:var(--bn-shell)}
.bn-products{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bn-product{background:var(--bn-white);border-radius:var(--bn-radius);padding:22px;box-shadow:var(--bn-shadow-sm);display:flex;flex-direction:column;transition:.25s ease;border:1px solid rgba(18,59,42,.04)}
.bn-product:hover{transform:translateY(-4px);box-shadow:var(--bn-shadow)}
.bn-product__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.bn-chip{display:inline-flex;padding:7px 10px;border-radius:999px;background:#efe8dc;color:var(--bn-forest);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.bn-product__weight{font-size:13px;font-weight:700;color:var(--bn-nest)}
.bn-product__image{aspect-ratio:4/3;background:#f2ecdf;border-radius:22px;overflow:hidden;margin-bottom:18px;position:relative}
.bn-product__image img{width:100%;height:100%;object-fit:cover;transition:.4s ease}
.bn-product:hover .bn-product__image img{transform:scale(1.03)}
.bn-product__maple{position:absolute;right:10px;bottom:10px;background:rgba(18,59,42,.88);color:var(--bn-shell);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700}
.bn-product h3{font-family:"Fraunces",Georgia,serif;font-size:30px;line-height:1;margin:0 0 10px;color:var(--bn-forest);font-weight:600}
.bn-product__desc{font-size:14px;color:#69716c;min-height:66px;margin:0 0 18px}
.bn-product__bottom{border-top:1px solid #eee5d8;padding-top:16px;margin-top:auto}
.bn-variation-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.bn-radio-group{display:flex;gap:8px;flex-wrap:wrap}
.bn-radio{position:relative}
.bn-radio input{position:absolute;opacity:0;pointer-events:none}
.bn-radio span{display:block;padding:7px 10px;border-radius:999px;background:#f2ecdf;color:#606761;font-size:11px;font-weight:700;border:1px solid transparent}
.bn-radio input:checked + span{background:var(--bn-forest);color:var(--bn-shell)}
.bn-product__purchase{display:flex;align-items:end;justify-content:space-between;gap:12px}
.bn-product__price small{display:block;color:#7b817d;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.bn-product__price strong{display:block;font-size:22px;color:var(--bn-forest);font-weight:700;line-height:1.1;margin-top:3px}
.bn-add{flex:1;max-width:170px}
.bn-stock{font-size:11px;color:var(--bn-olive);font-weight:700;margin-top:4px}
.bn-stock.is-out{color:#a83a2b}
.bn-toast{position:fixed;right:24px;bottom:24px;z-index:9999;background:var(--bn-forest);color:var(--bn-shell);padding:14px 18px;border-radius:16px;box-shadow:var(--bn-shadow);opacity:0;transform:translateY(16px);pointer-events:none;transition:.25s ease;max-width:min(360px,calc(100vw - 48px))}
.bn-toast.is-visible{opacity:1;transform:none}

/* Use cases */
.bn-use-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.bn-use{min-height:360px;border-radius:var(--bn-radius);overflow:hidden;position:relative;background:#ddd;box-shadow:var(--bn-shadow-sm)}
.bn-use img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.bn-use:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,59,42,.82),rgba(18,59,42,.04) 65%)}
.bn-use__text{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;color:var(--bn-shell)}
.bn-use__text h3{font-family:"Fraunces",Georgia,serif;font-size:27px;margin:0 0 6px;font-weight:600}
.bn-use__text p{font-size:13px;margin:0;color:rgba(253,246,233,.86)}

/* Protein scale */
.bn-protein-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:42px}
.bn-protein{background:rgba(253,246,233,.07);border:1px solid rgba(253,246,233,.10);border-radius:24px;text-align:center;padding:24px 12px}
.bn-protein__egg{width:54px;height:72px;background:var(--bn-shell);border-radius:50% 50% 46% 46%/60% 60% 40% 40%;margin:0 auto 16px;position:relative;box-shadow:inset 0 -10px 18px rgba(139,94,60,.08)}
.bn-protein__egg:after{content:"";width:28px;height:28px;border-radius:50%;background:var(--bn-yolk);position:absolute;left:50%;top:50%;transform:translate(-50%,-35%)}
.bn-protein strong{display:block;font-size:22px;color:var(--bn-yolk)}
.bn-protein span{font-size:12px;color:rgba(253,246,233,.86)}
.bn-disclaimer{font-size:12px;color:rgba(253,246,233,.62);margin-top:24px}

/* Mosaic + recipes */
.bn-mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:180px;gap:14px;margin-top:42px}
.bn-mosaic .bn-photo:first-child{grid-row:span 2}
.bn-mosaic .bn-photo:nth-child(4){grid-column:span 2}
.bn-photo__label{position:absolute;left:12px;bottom:12px;background:rgba(253,246,233,.92);color:var(--bn-forest);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:700}
.bn-recipes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.bn-recipe{background:var(--bn-white);border-radius:var(--bn-radius);overflow:hidden;box-shadow:var(--bn-shadow-sm)}
.bn-recipe__image{aspect-ratio:16/10;overflow:hidden}.bn-recipe__image img{width:100%;height:100%;object-fit:cover}
.bn-recipe__body{padding:22px}.bn-recipe h3{font-family:"Fraunces",Georgia,serif;font-size:25px;color:var(--bn-forest);font-weight:600;margin:0 0 8px}.bn-recipe p{font-size:14px;color:#6d736f;margin:0 0 14px}
.bn-recipe__meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--bn-nest)}

/* Delivery */
.bn-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.bn-step{background:var(--bn-white);border-radius:var(--bn-radius);padding:30px;box-shadow:var(--bn-shadow-sm)}
.bn-step__num{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--bn-yolk);color:var(--bn-forest);font-family:"Fraunces",Georgia,serif;font-size:22px;font-weight:600;margin-bottom:18px}
.bn-step h3{font-family:"Fraunces",Georgia,serif;font-size:25px;color:var(--bn-forest);margin:0 0 8px;font-weight:600}.bn-step p{font-size:14px;color:#666d69;margin:0}
.bn-delivery-box{margin-top:28px;background:var(--bn-forest);color:var(--bn-shell);border-radius:var(--bn-radius);padding:26px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.bn-delivery-box p{margin:4px 0 0;color:rgba(253,246,233,.78);font-size:13px;max-width:820px}

/* Featured */
.bn-featured{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.bn-featured__image{aspect-ratio:4/3;border-radius:var(--bn-radius);overflow:hidden;background:rgba(255,255,255,.38);box-shadow:var(--bn-shadow)}
.bn-featured__image img{width:100%;height:100%;object-fit:cover}
.bn-featured__price{font-size:42px;font-weight:700;line-height:1;color:var(--bn-forest);margin:18px 0 8px}
.bn-featured__stock{font-size:13px;font-weight:700;color:rgba(18,59,42,.68);margin-bottom:18px}
.bn-featured__choices{display:flex;gap:10px;margin:18px 0}
.bn-featured__choices button{border:1px solid rgba(18,59,42,.16);background:rgba(255,255,255,.44);color:var(--bn-forest);border-radius:999px;padding:10px 16px;font-weight:700}.bn-featured__choices button.is-active{background:var(--bn-forest);color:var(--bn-shell)}

/* Principles + social */
.bn-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.bn-principle{padding:30px;border-radius:var(--bn-radius);background:var(--bn-white);box-shadow:var(--bn-shadow-sm)}
.bn-principle h3{font-family:"Fraunces",Georgia,serif;font-size:26px;color:var(--bn-forest);margin:16px 0 8px;font-weight:600}.bn-principle p{font-size:14px;color:#69706c;margin:0}.bn-principle__icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--bn-yolk);color:var(--bn-forest);font-weight:700}
.bn-social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}.bn-social-grid .bn-photo{aspect-ratio:1}

/* Footer */
.bn-footer{background:var(--bn-forest);color:var(--bn-shell);padding:64px 0 32px;margin-top:0}
.bn-footer__grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:36px;padding-bottom:42px}
.bn-footer__brand{font-family:"Fraunces",Georgia,serif;font-size:36px;font-weight:600}.bn-footer__tag{color:#d9c6ae;font-weight:600;font-size:13px}.bn-footer p{font-size:14px;color:rgba(253,246,233,.70);max-width:360px}.bn-footer h4{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--bn-yolk);margin:0 0 14px}.bn-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.bn-footer li a{font-size:14px;color:rgba(253,246,233,.80)}.bn-footer li a:hover{color:var(--bn-shell)}.bn-footer__bottom{border-top:1px solid rgba(253,246,233,.14);padding-top:24px;display:flex;justify-content:space-between;gap:24px;align-items:center;color:rgba(253,246,233,.66);font-size:12px}

/* WooCommerce */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--bn-forest)!important;color:var(--bn-shell)!important;border-radius:999px!important;font-weight:700!important;padding:13px 20px!important}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:#0d2f21!important;color:var(--bn-shell)!important}
.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce ul.products li.product .price{color:var(--bn-forest)!important;font-weight:700!important}
.woocommerce span.onsale{background:var(--bn-yolk)!important;color:var(--bn-forest)!important;min-width:auto!important;min-height:auto!important;padding:7px 10px!important;line-height:1!important;border-radius:999px!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select,.select2-container--default .select2-selection--single{border:1px solid var(--bn-border)!important;border-radius:14px!important;background:#fff!important;padding:12px!important;min-height:48px}
.woocommerce-checkout #payment{background:#f4ede0!important;border-radius:22px!important}
.woocommerce-checkout #payment div.payment_box{background:#fff!important}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--bn-forest)!important;background:#fff!important;border-radius:14px!important}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:grid;gap:8px}.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:12px 14px;border-radius:12px;background:#fff;color:var(--bn-forest);font-weight:700}

/* Accessibility */
:focus-visible{outline:3px solid var(--bn-yolk);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media (max-width:1024px){
  .bn-header__inner{grid-template-columns:1fr auto}
  .bn-nav{display:none}
  .bn-menu-btn{display:inline-grid;place-items:center}
  .bn-header__actions{gap:8px}
  .bn-header__account{display:none}
  .bn-mobile-nav{position:fixed;inset:82px 16px auto;background:var(--bn-shell);border-radius:24px;padding:18px;box-shadow:var(--bn-shadow);display:none;z-index:999}
  .bn-mobile-nav.is-open{display:grid}
  .bn-mobile-nav a{padding:13px 14px;border-radius:12px;font-weight:700;color:var(--bn-forest)}
  .bn-story{grid-template-columns:1fr;gap:36px}
  .bn-products{grid-template-columns:repeat(2,1fr)}
  .bn-use-grid{grid-template-columns:repeat(2,1fr)}
  .bn-protein-grid{grid-template-columns:repeat(3,1fr)}
  .bn-footer__grid{grid-template-columns:2fr repeat(2,1fr)}
}

@media (max-width:720px){
  .bn-container{width:min(calc(100% - 32px),var(--bn-max))}
  .bn-section{padding:72px 0}
  .bn-header__inner{height:72px}
  .bn-mobile-nav{inset:72px 12px auto}
  .bn-brand__name{font-size:22px}.bn-brand__tag{font-size:10px}
  .bn-cart{padding:9px 11px}.bn-cart__label{display:none}
  .bn-hero{min-height:680px;max-height:none}
  .bn-hero__content{padding-top:104px}
  .bn-hero h1{font-size:52px}
  .bn-hero p{font-size:17px}
  .bn-hero__stats{gap:20px;bottom:22px;width:100%;justify-content:center}
  .bn-hero__stat strong{font-size:20px}.bn-hero__stat span{font-size:9px}
  .bn-benefit-grid,.bn-products,.bn-steps,.bn-principles,.bn-recipes{grid-template-columns:1fr}
  .bn-section-head{align-items:flex-start;flex-direction:column}
  .bn-collage{grid-template-columns:1fr 1fr}
  .bn-use-grid{grid-template-columns:1fr}
  .bn-use{min-height:300px}
  .bn-protein-grid{grid-template-columns:repeat(2,1fr)}
  .bn-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.bn-mosaic .bn-photo:first-child{grid-row:span 1;grid-column:span 2}.bn-mosaic .bn-photo:nth-child(4){grid-column:span 2}
  .bn-delivery-box{align-items:flex-start;flex-direction:column}
  .bn-featured{grid-template-columns:1fr;gap:28px}
  .bn-footer__grid{grid-template-columns:1fr 1fr}.bn-footer__grid>div:first-child{grid-column:1/-1}.bn-footer__bottom{align-items:flex-start;flex-direction:column}
}


/* ============================================================
   Motion system · v1.1
   Inspirado en el ritmo editorial de la referencia, sin librerías
   externas. Sólo se activa cuando JS está disponible y el usuario
   no pidió reducir movimiento.
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  body.bn-motion-ready .bn-reveal{
    opacity:0;
    transform:translate3d(0,34px,0) scale(.985);
    filter:blur(5px);
    transition:
      opacity .78s cubic-bezier(.22,1,.36,1),
      transform .9s cubic-bezier(.22,1,.36,1),
      filter .7s ease;
    transition-delay:calc(var(--bn-stagger,0) * 70ms);
    will-change:opacity,transform,filter;
  }
  body.bn-motion-ready .bn-reveal.bn-reveal--left{transform:translate3d(-46px,18px,0) scale(.985)}
  body.bn-motion-ready .bn-reveal.bn-reveal--right{transform:translate3d(46px,18px,0) scale(.985)}
  body.bn-motion-ready .bn-reveal.bn-reveal--zoom{transform:translate3d(0,18px,0) scale(.93)}
  body.bn-motion-ready .bn-reveal.is-in-view{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }

  /* Hero: entrada secuencial, más cinematográfica */
  body.bn-motion-ready .bn-hero__eyebrow,
  body.bn-motion-ready .bn-hero h1,
  body.bn-motion-ready .bn-hero p,
  body.bn-motion-ready .bn-hero__actions,
  body.bn-motion-ready .bn-hero__stats{
    opacity:0;
    transform:translate3d(0,26px,0);
    animation:bn-hero-enter .9s cubic-bezier(.22,1,.36,1) forwards;
  }
  body.bn-motion-ready .bn-hero__eyebrow{animation-delay:.08s}
  body.bn-motion-ready .bn-hero h1{animation-delay:.18s}
  body.bn-motion-ready .bn-hero p{animation-delay:.30s}
  body.bn-motion-ready .bn-hero__actions{animation-delay:.42s}
  body.bn-motion-ready .bn-hero__stats{animation-delay:.58s}
  @keyframes bn-hero-enter{to{opacity:1;transform:translate3d(0,0,0)}}

  /* Parallax controlado por JS mediante variables CSS */
  .bn-hero__media{
    transform:translate3d(0,var(--bn-hero-y,0px),0) scale(1.085);
    will-change:transform;
  }
  .bn-parallax-media img{
    transform:translate3d(0,var(--bn-parallax-y,0px),0) scale(1.075);
    transition:transform .08s linear;
    will-change:transform;
  }

  /* Imágenes editoriales con respiración mínima */
  .bn-photo,.bn-product__image,.bn-featured__image,.bn-recipe__image,.bn-use{
    isolation:isolate;
  }
  .bn-photo img,.bn-product__image img,.bn-featured__image img,.bn-recipe__image img,.bn-use img{
    transition:transform .8s cubic-bezier(.22,1,.36,1),filter .45s ease;
  }
  .bn-photo:hover img,.bn-recipe:hover img,.bn-use:hover img{transform:scale(1.055)}

  /* Cards: elevación + tilt con variables actualizadas desde JS */
  .bn-motion-card{
    transform:perspective(1000px) rotateX(var(--bn-tilt-x,0deg)) rotateY(var(--bn-tilt-y,0deg)) translateY(var(--bn-lift,0px));
    transform-style:preserve-3d;
    transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease;
    will-change:transform;
  }
  .bn-motion-card:hover{--bn-lift:-7px;box-shadow:0 24px 54px rgba(18,59,42,.14)}

  /* Huevos decorativos: atraviesan secciones lentamente */
  .bn-float-egg{
    position:absolute;
    z-index:3;
    width:var(--bn-egg-size,42px);
    aspect-ratio:.76;
    border-radius:50% 50% 46% 46%/60% 60% 40% 40%;
    background:linear-gradient(145deg,#fffdf8 0%,#f4ead7 78%,#e8d8bd 100%);
    box-shadow:inset -9px -12px 18px rgba(139,94,60,.10),0 15px 25px rgba(18,59,42,.10);
    pointer-events:none;
    opacity:.92;
    transform:translate3d(0,var(--bn-float-y,0px),0) rotate(var(--bn-egg-rot,0deg));
    will-change:transform;
  }
  .bn-float-egg:after{
    content:"";
    position:absolute;
    inset:8% 17% auto 20%;
    height:24%;
    border-radius:50%;
    background:rgba(255,255,255,.58);
    filter:blur(2px);
  }
  .bn-float-egg--yolk{background:linear-gradient(145deg,#ffc82d,#F4B400 74%,#dd9e00)}

  /* Ondas orgánicas con movimiento casi imperceptible */
  .bn-wave-top:before{animation:bn-wave-a 8s ease-in-out infinite alternate}
  .bn-wave-bottom:after{animation:bn-wave-b 9s ease-in-out infinite alternate}
  @keyframes bn-wave-a{from{transform:translateX(-.5%) rotate(.6deg) scaleX(1.01)}to{transform:translateX(.6%) rotate(-.15deg) scaleX(1.025)}}
  @keyframes bn-wave-b{from{transform:translateX(.5%) rotate(-.5deg) scaleX(1.02)}to{transform:translateX(-.6%) rotate(.2deg) scaleX(1.01)}}

  /* CTA destacado: pulso de luz sobrio */
  .bn-btn--yolk{position:relative;overflow:hidden}
  .bn-btn--yolk:after{
    content:"";
    position:absolute;
    inset:-70% auto -70% -35%;
    width:28%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
    transform:skewX(-18deg) translateX(-220%);
    transition:transform .75s cubic-bezier(.22,1,.36,1);
  }
  .bn-btn--yolk:hover:after{transform:skewX(-18deg) translateX(620%)}

  /* Barra superior: aparición limpia al cargar */
  .bn-header{animation:bn-header-drop .65s cubic-bezier(.22,1,.36,1) both}
  @keyframes bn-header-drop{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}
}

@media (max-width:720px) and (prefers-reduced-motion:no-preference){
  body.bn-motion-ready .bn-reveal,
  body.bn-motion-ready .bn-reveal.bn-reveal--left,
  body.bn-motion-ready .bn-reveal.bn-reveal--right{
    transform:translate3d(0,22px,0) scale(.99);
    filter:blur(3px);
  }
  body.bn-motion-ready .bn-reveal.is-in-view{transform:translate3d(0,0,0) scale(1);filter:none}
  .bn-float-egg{opacity:.58;--bn-egg-size:30px}
}

/* ============================================================
   v1.2 · Header hard reset + cinematic motion
   Corrige estilos heredados de Hello/Elementor y reemplaza efectos
   "de tarjeta" por movimiento editorial ligado al scroll.
   ============================================================ */

/* Header: blindaje contra estilos del tema padre / Elementor */
.bn-header,
.bn-header *{box-sizing:border-box}
.bn-header a,
.bn-header button{font-family:"DM Sans",Arial,sans-serif!important;text-decoration:none!important}
.bn-header a{color:var(--bn-shell)!important}
.bn-header.is-scrolled a{color:var(--bn-forest)!important}
.bn-header .bn-cart,
.bn-header.is-scrolled .bn-cart{color:var(--bn-forest)!important;background:var(--bn-yolk)!important}
.bn-header .bn-cart__count,
.bn-header.is-scrolled .bn-cart__count{color:var(--bn-shell)!important;background:var(--bn-forest)!important}

/* Mobile nav JAMÁS debe aparecer fuera de su estado abierto. */
.bn-mobile-nav{display:none!important}
.bn-menu-btn{
  display:none!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(253,246,233,.38)!important;
  border-radius:999px!important;
  background:rgba(18,59,42,.12)!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  place-items:center!important;
  align-content:center!important;
  gap:4px!important;
  color:var(--bn-shell)!important;
}
.bn-header.is-scrolled .bn-menu-btn{
  color:var(--bn-forest)!important;
  border-color:rgba(18,59,42,.18)!important;
  background:rgba(18,59,42,.045)!important;
}
.bn-menu-btn span{
  display:block;
  width:18px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s ease;
  transform-origin:center;
}
.bn-menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.bn-menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.bn-menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:960px){
  .bn-nav{display:none!important}
  .bn-menu-btn{display:grid!important}
  .bn-mobile-nav{
    position:fixed!important;
    inset:76px 16px auto!important;
    padding:14px!important;
    border-radius:24px!important;
    background:rgba(253,246,233,.985)!important;
    border:1px solid rgba(18,59,42,.08)!important;
    box-shadow:0 28px 70px rgba(18,59,42,.20)!important;
    backdrop-filter:blur(18px)!important;
    z-index:1001!important;
  }
  .bn-mobile-nav.is-open{display:grid!important}
  .bn-mobile-nav a{
    display:block!important;
    padding:13px 14px!important;
    border-radius:13px!important;
    color:var(--bn-forest)!important;
    font-weight:700!important;
  }
  .bn-mobile-nav a:hover{background:rgba(244,180,0,.16)!important}
}
@media (max-width:720px){.bn-mobile-nav{inset:68px 12px auto!important}}

/* Sustituye el look "IA/card tilt" de v1.1 por movimiento editorial. */
.bn-motion-card,
.bn-motion-card:hover{
  transform:none!important;
  box-shadow:inherit;
}
.bn-float-egg{display:none!important}

@media (prefers-reduced-motion:no-preference){
  /* Reveal con máscara: más editorial y menos "fade genérico". */
  body.bn-motion-ready .bn-reveal{
    opacity:0;
    transform:translate3d(0,42px,0);
    filter:none;
    clip-path:inset(0 0 18% 0 round 12px);
    transition:
      opacity .72s cubic-bezier(.22,1,.36,1),
      transform 1.0s cubic-bezier(.16,1,.3,1),
      clip-path 1.05s cubic-bezier(.16,1,.3,1);
    transition-delay:calc(var(--bn-stagger,0) * 85ms);
  }
  body.bn-motion-ready .bn-reveal.bn-reveal--left{transform:translate3d(-54px,24px,0)}
  body.bn-motion-ready .bn-reveal.bn-reveal--right{transform:translate3d(54px,24px,0)}
  body.bn-motion-ready .bn-reveal.bn-reveal--zoom{transform:translate3d(0,30px,0) scale(.965)}
  body.bn-motion-ready .bn-reveal.is-in-view{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    clip-path:inset(0 0 0 0 round 0);
  }

  /* Titulares: entrada con clipping, similar a piezas editoriales motion. */
  body.bn-motion-ready .bn-title,
  body.bn-motion-ready .bn-kicker{
    will-change:transform,opacity;
  }
  body.bn-motion-ready .bn-title.bn-title-motion{
    clip-path:inset(0 0 100% 0);
    transform:translateY(24px);
    opacity:.001;
    transition:clip-path 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),opacity .45s ease;
  }
  body.bn-motion-ready .bn-title.bn-title-motion.is-in-view{
    clip-path:inset(0 0 0 0);
    transform:none;
    opacity:1;
  }

  /* Hero: cámara lenta ligada al scroll. */
  .bn-hero__media{
    transform:translate3d(0,var(--bn-hero-y,0px),0) scale(var(--bn-hero-scale,1.10));
    transition:none!important;
  }
  .bn-hero__overlay{opacity:var(--bn-hero-overlay,.96);transition:none!important}
  .bn-hero__content{transform:translate3d(0,var(--bn-hero-content-y,0px),0);opacity:var(--bn-hero-content-o,1)}

  /* Story collage: capas que se cruzan con velocidades distintas. */
  .bn-collage .bn-photo,
  .bn-mosaic .bn-photo,
  .bn-social-grid .bn-photo,
  .bn-featured__image,
  .bn-product__image,
  .bn-use,
  .bn-recipe__image{
    overflow:hidden;
  }
  .bn-collage .bn-photo img,
  .bn-mosaic .bn-photo img,
  .bn-social-grid .bn-photo img,
  .bn-featured__image img,
  .bn-product__image img,
  .bn-use img,
  .bn-recipe__image img{
    transform:translate3d(0,var(--bn-media-y,0px),0) scale(var(--bn-media-scale,1.07)) rotate(var(--bn-media-rot,0deg));
    transition:none!important;
    will-change:transform;
  }

  /* Cards de producto entran con una leve alternancia lateral. */
  .bn-product:nth-child(odd).bn-reveal{--bn-card-x:-22px;transform:translate3d(var(--bn-card-x),42px,0)}
  .bn-product:nth-child(even).bn-reveal{--bn-card-x:22px;transform:translate3d(var(--bn-card-x),42px,0)}
  .bn-product.bn-reveal.is-in-view{transform:translate3d(0,0,0)!important}

  /* Proteína: huevos "pop" con escala real, sin flotantes dibujados. */
  .bn-protein .bn-protein__egg{transform:translateY(var(--bn-protein-y,0px)) scale(var(--bn-protein-scale,1));will-change:transform}

  /* Producto destacado como escena: imagen y texto se separan al scrollear. */
  .bn-featured__image{transform:translate3d(var(--bn-feature-x,0px),var(--bn-feature-y,0px),0) rotate(var(--bn-feature-rot,0deg));will-change:transform}
  .bn-featured>div:last-child{transform:translate3d(var(--bn-feature-copy-x,0px),0,0);will-change:transform}

  /* Curvas: desplazamiento suave ligado a variable, no animación infinita. */
  .bn-wave-top:before,.bn-wave-bottom:after{animation:none!important;transform:translateX(var(--bn-wave-x,0%)) rotate(var(--bn-wave-r,0deg)) scaleX(1.025)}

  /* Hover de imagen más limpio. */
  .bn-photo:hover img,.bn-recipe:hover img,.bn-use:hover img{filter:saturate(1.04) contrast(1.02)}
}

@media (max-width:720px) and (prefers-reduced-motion:no-preference){
  body.bn-motion-ready .bn-reveal,
  body.bn-motion-ready .bn-reveal.bn-reveal--left,
  body.bn-motion-ready .bn-reveal.bn-reveal--right,
  body.bn-motion-ready .bn-reveal.bn-reveal--zoom{
    transform:translate3d(0,26px,0) scale(.99);
    clip-path:inset(0 0 10% 0 round 10px);
  }
  body.bn-motion-ready .bn-reveal.is-in-view{transform:none;clip-path:inset(0 0 0 0 round 0)}
}

/* v1.4 · Menús WordPress editables */
.bn-nav__menu,.bn-mobile-nav__menu,.bn-footer-menu{list-style:none;margin:0;padding:0}
.bn-nav__menu{display:flex;gap:4px;align-items:center}
.bn-nav__menu li{margin:0;padding:0}
.bn-nav__menu a{display:block}
.bn-mobile-nav__menu{display:grid;gap:2px}
.bn-mobile-nav__menu li{margin:0;padding:0}
.bn-footer-menu{display:grid;gap:9px}
.bn-footer-menu li{margin:0;padding:0}
