/* Adaptación funcional de MIORI sobre FoodMart; stylesheet original intacto. */
.miori-logo{display:block;width:190px;height:80px;overflow:hidden}
.miori-logo img{width:190px;height:80px;object-fit:cover;object-position:center 52%}
.search-bar{min-width:0}.search-bar input{min-width:0}.search-section{max-width:145px}
.main-menu .nav-link[aria-current=page]{color:#8a6010;font-weight:700}
.filter-categories{max-width:225px;background:transparent}
.miori-billboard{background:url('../foodmart/images/background-pattern.jpg') center top}
.banner-blocks .block-1{min-width:0}
.banner-ad .swiper-slide{min-height:590px}
.banner-ad .banner-content{width:100%;margin:0;padding-bottom:75px!important}
.banner-ad .banner-content .categories{font-size:28px}
.banner-ad .banner-title{font-size:32px}
.banner-ad h1{font-size:clamp(2.15rem,3.5vw,3.8rem);font-weight:700;line-height:1.12}
.hero-brand-photo{height:380px;border-radius:120px 120px 20px 20px;background:url('../images/miori-instante.png') 70% top / auto 210% no-repeat}
.hero-brand-photo-alt{background-image:url('../images/miori-universo.png');background-position:85% top}
.promo-icon{width:100%;max-width:110px;max-height:125px;object-fit:contain;opacity:.85}
.category-carousel{padding:12px 8px 30px}
.category-item{min-height:150px}
.category-item svg{color:#9a7650;margin-bottom:12px}
.category-item h3{font-size:17px}
.catalog-filters{display:flex;gap:20px;flex-wrap:wrap}
.catalog-filters label{flex:1;min-width:180px}
.catalog-filters input,.catalog-filters select{margin-top:8px}
.product-item{height:100%;display:flex;flex-direction:column;gap:9px}
.product-item figure{width:100%;margin:0 0 6px}
.product-item figure img{width:100%;height:195px;max-height:none;object-fit:contain}
.product-item h3{margin:0;overflow-wrap:anywhere}
.product-item .product-category{font-size:12px;color:#747474}
.product-item .price{margin-top:auto;line-height:1.4}
.product-item .product-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.product-item .product-qty{width:105px;flex-wrap:nowrap}
.product-item .product-qty input{width:36px;padding:0;text-align:center;border:0;min-height:32px}
.product-item .product-qty button{padding:2px 8px}
.product-item .add-to-cart{font-size:12px;padding:9px 10px}
.product-placeholder{min-height:195px;display:flex;justify-content:center;align-items:center;flex-direction:column;border-radius:12px;background:#f7f2ec;color:#743c36;font-family:Georgia,serif;font-size:30px;letter-spacing:6px}
.product-placeholder span{font-size:11px;letter-spacing:1px;margin-top:12px}
.product-grid>[class]{margin-bottom:10px}
.product-price{font-size:28px;font-weight:700;color:#222;margin:24px 0}
.detail-image{width:100%;max-height:560px;object-fit:contain}
.detail-photo{background:#fafafa;border-radius:16px;padding:25px}
.detail-photo .product-placeholder{min-height:350px}
.preserve-lines{white-space:pre-line}
.story-image{max-height:700px;width:100%;object-fit:cover}
.checkout-form label{display:block;margin:18px 0}
.checkout-form input,.checkout-form select,.checkout-form textarea{margin-top:7px}
.cart-line{padding:24px 0;border-bottom:1px solid #eee}
.cart-line h5{font-size:20px}
.cart-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.cart-controls input{width:80px;padding:5px 10px;border:1px solid #ddd;border-radius:5px}
.cart-controls button{background:transparent;border:1px solid #ddd;border-radius:5px;padding:5px 12px}
footer a{text-decoration:none}footer li{margin-bottom:10px}
.miori-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#222;color:white;padding:16px 24px;border-radius:12px;z-index:1100;max-width:90vw;box-shadow:0 5px 30px #0002}
.skip-link{position:absolute;top:-100px;left:10px;z-index:2000;background:white;padding:12px}
.skip-link:focus{top:10px}
button:disabled{opacity:.5;cursor:not-allowed}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #97640c;outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:1140px){.banner-blocks{grid-template-rows:auto auto auto}.block-1{grid-area:1/1/2/2}.block-2{grid-area:2/1/3/2}.block-3{grid-area:3/1/4/2}.banner-ad .swiper-slide{min-height:480px}.hero-brand-photo{height:320px}}
@media(max-width:767px){.banner-ad .swiper-slide{min-height:0}.hero-brand-photo{height:240px;margin-top:28px;border-radius:16px;background-size:100% auto;background-position:center 15%}.banner-ad h1{font-size:36px}.banner-ad .banner-title{font-size:26px}.miori-logo,.miori-logo img{width:155px;height:65px}.cart-toggle{font-size:12px}.banner-ad .banner-content .categories{font-size:24px}.banner-ad .banner-content{padding-bottom:60px!important}.search-section{max-width:110px;font-size:12px}.search-bar input{font-size:12px}.offcanvas-body .filter-categories{margin-top:20px}.product-item figure img{height:180px}.catalog-filters{gap:12px}}

.main-swiper .banner-content .categories{color:#765147;text-transform:none}
.catering-icon{color:#89a34c}
@media(max-width:767px){.hero-brand-photo{background-size:auto 210%;background-position:center top}}

/* Páginas editoriales y fichas de paquetes. */
.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:#80534d}
.editorial-photo{position:relative;min-height:380px}.editorial-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.editorial-hero .editorial-photo{min-height:510px}.photo-note{position:absolute;bottom:12px;right:12px;left:12px;background:#ffffffdb;border-radius:7px;padding:5px 10px;color:#5e5348;font-size:11px;width:fit-content}.service-card{display:flex;flex-direction:column;background:#fff}.service-card svg{color:#9e7562}.service-photo{height:190px;position:relative;margin:-24px -24px 24px;overflow:hidden;border-radius:16px 16px 0 0}.service-photo img{width:100%;height:100%;object-fit:cover}.package-placeholder{height:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#efe7de;color:#80534d}.package-single-photo{background:#f8f5ef}.package-single-photo>img{width:100%;max-height:650px;object-fit:cover}.package-includes{padding-left:22px}.package-includes li{padding:6px 0}.package-banner .stretched-link::after{z-index:1}@media(max-width:767px){.editorial-hero .editorial-photo,.editorial-photo{min-height:290px}.package-single-photo>img{max-height:420px}.editorial-hero h1{font-size:34px}}

/* Disponibilidad visible sin ocultar las características del producto. */
.product-item figure{position:relative}
.product-item.is-sold-out{border:2px solid #9b3935;background:#fff8f7}
.product-item.is-sold-out figure img,.product-item.is-sold-out .product-placeholder{filter:grayscale(1);opacity:.55}
.product-item .sold-out-badge{position:absolute;left:10px;top:10px;z-index:1;background:#842b28;color:#fff;padding:8px 14px;border-radius:6px;font-size:14px;font-weight:800;letter-spacing:.06em;box-shadow:0 2px 6px #0002;pointer-events:none}
.sold-out-status{display:block;background:#f9e4e1;color:#79211e;border-left:4px solid #9b3935;padding:9px 12px;border-radius:4px;font-weight:700;line-height:1.5}
.product-item.is-sold-out .add-to-cart:disabled{opacity:1;background:#e8dedc;border-color:#cbbab7;color:#654642;cursor:not-allowed}
