/* A compact storefront built around the existing Deshidrataditos identity. */
.site-header { padding:8px max(24px,calc((100vw - 1280px)/2)); gap:24px; }
.site-header .brand { position:relative; width:176px; max-width:176px; height:72px; overflow:hidden; }
.brand img { position:absolute; left:50%; top:50%; width:216px; height:118px; max-width:none; object-fit:contain; object-position:center; transform:translate(-50%,-57%); }
.main-nav button { font-size:.875rem; }
.button { border-radius:100px; }
.text-link { text-decoration:none; text-underline-offset:5px; }
.brand-hero { display:grid; grid-template-columns:1.05fr 1fr; min-height:510px; background:var(--cream); }
.brand-hero-copy { padding:56px 48px 48px max(28px,calc((100vw - 1240px)/2)); align-self:center; }
.brand-hero .eyebrow { margin-bottom:20px; font-size:.75rem; }
.brand-hero h1 { font-size:clamp(2.8rem,4.15vw,4.3rem); line-height:1.05; letter-spacing:-.035em; }
.brand-hero h1 em { color:var(--chile); font-style:normal; }
.brand-hero-copy > p { max-width:490px; margin:24px 0; font-size:1rem; line-height:1.75; color:var(--muted); }
.brand-hero .hero-actions { align-items:center; gap:16px 24px; }
.brand-hero .hero-actions .button { padding-inline:24px; }
.brand-hero .hero-actions .text-link { font-size:.8125rem; }
.brand-hero-copy > .hero-origin { margin:26px 0 0; font-size:.75rem; line-height:1.5; }
.brand-hero-visual { position:relative; min-width:0; min-height:480px; display:grid; grid-template-rows:minmax(0,1fr) auto; overflow:hidden; background:#ece4d4; }
.hero-product-slides { position:relative; min-width:0; grid-row:1; }
.hero-product-slide { position:absolute; inset:0; }
.hero-product-slide[hidden], .hero-product-controls[hidden] { display:none; }
.hero-product-slide > img { width:100%; height:100%; object-fit:cover; }
.hero-product-controls { grid-row:2; display:flex; align-items:center; justify-content:flex-start; gap:8px; min-width:0; padding:8px 20px; border-top:1px solid var(--line); background:var(--cream); }
.hero-product-controls button { min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:100px; background:var(--paper); color:var(--cocoa-deep); font-size:1.25rem; cursor:pointer; }
.hero-product-controls button:hover { background:#f5e0bb; }
.hero-product-controls button:focus-visible { outline:3px solid var(--green-deep); outline-offset:3px; }
.hero-product-controls .hero-product-rotation { min-width:114px; margin-right:8px; font-size:.75rem; font-weight:700; }
.hero-product-controls button:disabled { cursor:default; background:var(--cream); }
.hero-product-position { min-width:44px; text-align:center; font-size:.8125rem; font-weight:700; color:var(--cocoa-deep); }
.hero-roundel { position:absolute; top:26px; right:24px; width:112px; height:112px; display:grid; place-content:center; border-radius:50%; background:var(--mango-light); color:var(--cocoa-deep); font-family:"Fredoka",sans-serif; font-size:1.2rem; text-align:center; line-height:1.05; transform:rotate(9deg); }
.hero-product-link { position:absolute; bottom:32px; left:28px; right:28px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border:0; border-radius:12px; background:var(--paper); color:var(--cocoa-deep); text-align:left; cursor:pointer; box-shadow:0 4px 30px #54231112; }
.hero-product-link small { display:block; margin-bottom:3px; font-size:.6875rem; text-transform:uppercase; letter-spacing:.08em; color:var(--green-deep); font-weight:800; }
.hero-product-link strong { font-family:"Fredoka",sans-serif; font-size:1.65rem; font-weight:500; }
.hero-product-link > span:last-child { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--green-deep); color:#fff; font-size:1.4rem; flex-shrink:0; }
.hero-illustration-note { position:absolute; bottom:7px; right:28px; color:var(--cocoa); font-size:.625rem; }
[data-view="inicio"] .section-shell { width:min(1240px,calc(100% - 56px)); padding:60px 0; }
[data-view="inicio"] .section-heading { margin-bottom:26px; }
[data-view="inicio"] .section-heading h2 { font-size:clamp(2rem,3vw,2.75rem); letter-spacing:-.02em; line-height:1.06; }
[data-view="inicio"] .section-heading .eyebrow { font-size:.6875rem; margin-bottom:10px; }
[data-view="inicio"] .section-heading > .text-link { flex-shrink:0; font-size:.8125rem; }
.home-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-category { min-width:0; position:relative; display:flex; align-items:center; justify-content:space-between; overflow:hidden; min-height:160px; padding:26px; border:0; border-radius:14px; background:#edf0df; color:var(--green-deep); cursor:pointer; text-align:left; transition:box-shadow .2s; }
.home-category:hover { box-shadow:inset 0 0 0 2px currentColor; }
.home-category > span { position:relative; z-index:1; display:grid; gap:8px; }
.home-category small { font-size:.625rem; text-transform:uppercase; font-weight:800; letter-spacing:.06em; }
.home-category strong { font-family:"Fredoka",sans-serif; font-size:2.2rem; font-weight:500; line-height:1.1; }
.home-category span > span { font-size:.75rem; max-width:190px; }
.home-category b { margin-left:4px; }
.home-category img { width:100px; height:100px; flex-shrink:0; border-radius:50%; object-fit:cover; margin-right:-48px; margin-left:4px; }
.category-drinks { background:#fae2b3; color:var(--cocoa); }
.category-kitchen { background:#efe5d9; color:var(--cocoa); }
[data-view="inicio"] .home-featured { padding-top:10px; }
.new-flavor-note { display:flex; align-items:center; gap:18px; padding:12px 18px; margin-bottom:22px; border-radius:12px; background:#fff0df; }
.new-flavor-label { flex-shrink:0; padding:5px 9px; background:var(--chile); color:#fff; border-radius:4px; font-size:.625rem; font-weight:800; text-transform:uppercase; }
.new-flavor-note p { margin:0; font-size:.8125rem; }
.new-flavor-note .text-link { margin-left:auto; flex-shrink:0; border:0; font-size:.8125rem; min-height:44px; }
#featured-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.product-card { border-radius:14px; background:#fff; border-color:#e7dfd0; }
.product-image-placeholder { aspect-ratio:1.2; }
.product-body h3 { color:var(--cocoa-deep); }
.product-body .add-button { border-radius:100px; }
.product-controls { grid-template-columns:minmax(0,1fr); }
.price-block { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 8px; }
.variant-choice-fields { display:grid; gap:10px; }
.variant-choice-fields label { display:grid; gap:6px; min-width:0; font-size:.75rem; font-weight:700; }
.variant-choice-fields select { width:100%; }
#featured-grid .product-body { padding:16px; }
#featured-grid .product-body h3 { font-size:1.375rem; }
#featured-grid .product-body .image-caption { font-size:.625rem; }
.store-extras { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:28px; }
.store-extras button { display:flex; justify-content:space-between; align-items:center; gap:14px; min-width:0; min-height:68px; padding:14px 0; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:transparent; color:var(--cocoa); text-align:left; cursor:pointer; }
.store-extras strong { font-family:"Fredoka",sans-serif; font-size:1.25rem; font-weight:500; }
.store-extras span { max-width:185px; font-size:.75rem; }
.store-extras b { padding-left:6px; }
.home-members { display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; padding:52px max(28px,calc((100vw - 1120px)/2)); background:var(--green-deep); color:#fff; }
.member-heading .eyebrow { margin-bottom:18px; font-size:.6875rem; }
.member-heading h2 { color:var(--cream); font-size:clamp(2.5rem,4vw,3.6rem); line-height:1.04; }
.member-heading > p { max-width:420px; color:#e6eedc; font-size:.9375rem; line-height:1.75; margin:22px 0; }
.member-heading .button { font-size:.875rem; }
.member-benefits { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.member-benefits article { padding-top:24px; border-top:1px solid #dcebb77d; }
.member-benefits strong { font-family:"Fredoka",sans-serif; color:var(--mango-light); font-size:2rem; font-weight:500; line-height:1.1; }
.member-benefits article p { color:#e6eedc; font-size:.875rem; line-height:1.75; }
.member-benefits .member-terms { grid-column:1/-1; margin:0; font-size:.6875rem; line-height:1.7; color:#e6eedc; }
.home-recipes .section-intro { font-size:.9375rem; max-width:680px; margin:0 0 28px; }
.home-recipe-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-recipe-card { min-width:0; color:var(--cocoa-deep); text-decoration:none; border-radius:14px; overflow:hidden; background:var(--cream); }
.home-recipe-photo { position:relative; }
.home-recipe-photo img { width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; }
.home-recipe-photo > span { position:absolute; left:14px; bottom:14px; padding:5px 10px; border-radius:100px; font-size:.6875rem; font-weight:700; color:var(--cocoa-deep); background:var(--paper); }
.home-recipe-card > div:last-child { padding:22px; }
.home-recipe-card small { font-size:.6875rem; color:var(--green-deep); font-weight:700; }
.home-recipe-card h3 { min-height:56px; margin:12px 0 22px; font-size:1.6rem; line-height:1.1; }
.home-recipe-link { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:14px; font-size:.8125rem; font-weight:700; }
.home-image-note { color:var(--muted); font-size:.6875rem; margin:16px 0 0; }
[data-view="inicio"] .home-locations { padding:30px; margin-bottom:50px; display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:26px; border:1px solid #d5dfc4; border-radius:16px; background:#f2f5e9; }
.home-location-symbol { display:grid; place-items:center; height:64px; width:64px; border-radius:50%; color:var(--green-deep); background:#e0e8cd; }
.home-location-symbol svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:2; }
.home-locations .eyebrow { font-size:.6875rem; margin-bottom:8px; }
.home-locations h2 { font-size:1.875rem; line-height:1.1; }
.home-locations p { margin:12px 0 0; font-size:.875rem; color:var(--muted); }
.home-locations .button { font-size:.8125rem; }
.home-business { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:34px max(28px,calc((100vw - 1240px)/2)); background:#f5e0bb; }
.home-business .eyebrow { font-size:.6875rem; margin-bottom:8px; }
.home-business h2 { font-size:2rem; line-height:1.1; }
.home-business p { margin:12px 0 0; font-size:.875rem; }
.home-business .text-link { flex-shrink:0; font-size:.875rem; }
.shop-secondary-nav { display:flex; flex-wrap:wrap; gap:8px 24px; padding-top:14px; }
.shop-secondary-nav button { min-height:44px; padding:5px 0; border:0; background:none; color:var(--green-deep); font-size:.8125rem; font-weight:700; cursor:pointer; }
.catalog-toolbar .category-filters { padding-block:14px; }
.category-filters button { border-radius:100px; padding:10px 22px; }
.catalog-view .catalog-heading h1 { font-family:"Fredoka",sans-serif; font-size:clamp(2rem,4vw,3.5rem); }
#detail-flavor-label { grid-column:1/-1; }
.welcome-dialog { border-radius:18px; }
.welcome-content .button { border-radius:100px; }
footer { padding-inline:max(28px,calc((100vw - 1240px)/2)); }
footer button,footer a { min-height:28px; text-align:left; }
@media(min-width:961px) {
  .site-header { grid-template-columns:176px minmax(0,1fr) auto; }
  .menu-toggle { display:none; }
  .main-nav,.main-nav.open { position:static; display:flex; flex-direction:row; justify-content:center; align-items:center; padding:0; gap:clamp(14px,1.8vw,28px); background:none; border:0; box-shadow:none; overflow:visible; max-height:none; }
  .main-nav > button { padding:7px 0; font-size:.8125rem; text-align:center; }
  .main-nav .account-link { display:none; }
}
@media(max-width:1100px) {
  .account-label { display:none; }
  .brand-hero-copy { padding:38px 28px; }
  .brand-hero h1 { font-size:3rem; }
  .home-category { padding:22px; }
  .home-category img { width:78px; height:78px; margin-right:-44px; }
  .home-members { gap:36px; }
  #featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:960px) {
  .site-header { grid-template-columns:minmax(0,1fr) auto auto; gap:10px; padding:4px 24px; min-height:76px; }
  .site-header .brand { width:152px; max-width:152px; }
  .site-header .brand { height:68px; }
  .main-nav { border-radius:0 0 16px 16px; }
  .main-nav > button { min-height:50px; }
  .main-nav .account-link { display:none; }
  .brand-hero h1 { font-size:2.8rem; }
  .brand-hero-visual { min-height:430px; }
  .hero-roundel { height:92px; width:92px; font-size:1rem; }
  .hero-product-link { left:20px; right:20px; padding:14px; }
  .hero-product-link strong { font-size:1.375rem; }
  .home-category-grid { gap:12px; }
  .home-category { padding:20px 16px; }
  .home-category img { display:none; }
  .home-members { padding-block:42px; }
  .member-benefits { grid-template-columns:1fr; gap:10px; }
  .member-benefits article { padding-top:14px; }
  .member-benefits strong { font-size:1.6rem; }
  .member-benefits article p { margin:8px 0 14px; }
  .home-recipe-grid { gap:16px; }
  .home-recipe-card > div:last-child { padding:18px; }
  .home-recipe-card h3 { font-size:1.375rem; }
  [data-view="inicio"] .home-locations { grid-template-columns:52px minmax(0,1fr); }
  .home-locations .button { grid-column:2; justify-self:start; }
}
@media(max-width:700px) {
  .brand-hero { grid-template-columns:1fr; min-height:0; }
  .brand-hero-copy { padding:30px 22px 24px; }
  .brand-hero .eyebrow { font-size:.625rem; margin-bottom:12px; }
  .brand-hero h1 { font-size:clamp(2rem,7.6vw,3rem); line-height:1.06; }
  .brand-hero-copy > p { font-size:.875rem; margin:16px 0 20px; line-height:1.6; }
  .brand-hero .hero-actions { gap:12px; }
  .brand-hero .hero-actions .button { min-height:48px; font-size:.8125rem; padding:12px 18px; }
  .brand-hero .hero-actions .text-link { font-size:.75rem; }
  .brand-hero-copy > .hero-origin { display:none; }
  .brand-hero-visual { min-height:0; height:370px; }
  .hero-product-slide > img { object-position:center 53%; }
  .hero-roundel { top:14px; right:18px; height:82px; width:82px; font-size:.9375rem; }
  .hero-product-link { bottom:24px; left:20px; right:20px; padding:12px 16px; }
  .hero-product-link strong { font-size:1.375rem; }
  .hero-product-link > span:last-child { width:36px; height:36px; }
  .hero-illustration-note { bottom:5px; right:22px; }
  [data-view="inicio"] .section-shell { width:calc(100% - 40px); padding:36px 0; }
  [data-view="inicio"] .section-heading { gap:12px; align-items:start; margin-bottom:22px; }
  [data-view="inicio"] .section-heading h2 { font-size:2rem; }
  [data-view="inicio"] .section-heading > .text-link { align-self:start; font-size:.75rem; }
  .home-category-grid { grid-template-columns:1fr; gap:10px; }
  .home-category { min-height:105px; padding:18px 22px; }
  .home-category > span { gap:4px; }
  .home-category strong { font-size:1.65rem; }
  .home-category img { display:block; width:80px; height:80px; margin-right:0; }
  .home-category span > span { max-width:none; }
  [data-view="inicio"] .home-featured { padding-top:8px; }
  .new-flavor-note { display:grid; grid-template-columns:auto 1fr; gap:8px 12px; padding:14px; }
  .new-flavor-label { align-self:start; }
  .new-flavor-note p { grid-column:1/-1; grid-row:2; line-height:1.6; }
  .new-flavor-note .text-link { grid-row:1; grid-column:2; min-height:24px; padding:0; }
  #featured-grid { gap:12px; }
  #featured-grid .product-body { padding:12px; }
  #featured-grid .product-body h3 { font-size:1.25rem; }
  #featured-grid .product-image-placeholder { aspect-ratio:1; }
  #featured-grid .product-body .add-button { font-size:.8125rem; padding-inline:10px; }
  #featured-grid .product-meta { gap:4px; }
  #featured-grid .availability { font-size:.625rem; }
  #featured-grid .product-controls .price { font-size:1.25rem; }
  #featured-grid .product-controls .unit-price { font-size:.625rem; }
  #featured-grid .product-controls select { padding-inline:6px; font-size:1rem; }
  #featured-grid .product-body .product-detail-link { font-size:.6875rem; }
  .store-extras { grid-template-columns:1fr; gap:0; margin-top:24px; }
  .store-extras button + button { border-top:0; }
  .store-extras strong { font-size:1.125rem; }
  .store-extras span { max-width:140px; }
  .home-members { grid-template-columns:1fr; padding:34px 24px; gap:28px; }
  .member-heading h2 { font-size:2.5rem; }
  .member-heading > p { font-size:.875rem; margin-block:18px; }
  .member-benefits { grid-template-columns:1fr 1fr; gap:18px; }
  .member-benefits strong { font-size:1.5rem; }
  .member-benefits article p { font-size:.8125rem; line-height:1.65; }
  .home-recipes .section-intro { font-size:.875rem; }
  .home-recipe-grid { grid-template-columns:1fr; gap:22px; }
  .home-recipe-card h3 { font-size:1.6rem; min-height:0; margin-bottom:18px; }
  .home-recipe-card > div:last-child { padding:22px; }
  [data-view="inicio"] .home-locations { padding:24px; margin-bottom:36px; grid-template-columns:1fr; gap:18px; }
  .home-location-symbol { width:48px; height:48px; }
  .home-locations h2 { font-size:1.875rem; }
  .home-locations .button { grid-column:1; }
  .home-business { flex-direction:column; align-items:start; gap:16px; padding:28px 24px; }
  .home-business h2 { font-size:1.875rem; }
  .shop-secondary-nav { gap:0 16px; padding-top:8px; }
  .shop-secondary-nav button { font-size:.75rem; }
  footer { padding-inline:24px; }
  footer button,footer a { min-height:36px; }
}
@media(max-width:480px) {
  .site-header { padding:4px 14px; min-height:70px; gap:6px; }
  .site-header .brand { width:136px; max-width:136px; }
  .site-header .brand { height:62px; }
  .brand img { width:194px; height:106px; }
  .header-actions { gap:0; }
  .cart-trigger { gap:5px; padding:10px; }
  .cart-trigger > span:not(.cart-count) { display:none; }
  .brand-hero .hero-actions { justify-content:space-between; gap:8px; }
  [data-view="inicio"] .section-heading { flex-direction:column; }
  [data-view="inicio"] .section-heading > .text-link { align-self:flex-start; }
  #featured-grid { grid-template-columns:1fr; }
  #featured-grid .product-image-placeholder { aspect-ratio:1.5; }
  #featured-grid .product-body { padding:18px; }
  #featured-grid .product-body h3 { font-size:1.5rem; }
  #featured-grid .product-body .add-button { font-size:.9375rem; }
  #featured-grid .availability { font-size:.75rem; }
  #featured-grid .product-controls .price { font-size:1.5rem; }
  #featured-grid .product-controls .unit-price { font-size:.75rem; }
  #featured-grid .product-body .product-detail-link { font-size:.8125rem; }
  .assistant-float { padding:12px; border-radius:50%; }
  .assistant-float span { display:none; }
}
@media(prefers-reduced-motion:reduce) { .home-category { transition:none; } }

/* The home selection opens a full product sheet; the shop retains quick buying. */
#featured-grid .featured-card h3 { min-height:54px; margin:12px 0; }
.featured-card .featured-presentation { margin:0 0 12px; min-height:40px; font-size:.8125rem; line-height:1.5; color:var(--muted); }
.featured-card .featured-price { display:flex; gap:8px; align-items:baseline; margin:auto 0 14px; font-size:.75rem; color:var(--muted); }
.featured-card .featured-price .price { color:var(--cocoa-deep); font-size:1.625rem; }
.featured-card .featured-choose { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--green-deep); border-radius:100px; background:transparent; color:var(--green-deep); font-size:.75rem; font-weight:800; cursor:pointer; }
.featured-card .featured-choose:hover { background:#edf0df; }
@media(max-width:700px) {
  #featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #featured-grid .featured-card .product-image-placeholder { aspect-ratio:1; }
  #featured-grid .featured-card .product-body { padding:14px 12px; }
  #featured-grid .featured-card h3 { min-height:48px; font-size:1.25rem; margin:10px 0; }
  #featured-grid .featured-card .availability { font-size:.625rem; padding:3px 6px; }
  .featured-card .featured-presentation { font-size:.6875rem; min-height:49px; }
  .featured-card .featured-price { gap:5px; margin-bottom:12px; }
  .featured-card .featured-price .price { font-size:1.375rem; }
  .featured-card .featured-choose { font-size:.6875rem; padding-inline:6px; }
}
