.store-logo{max-height:52px;max-width:190px;object-fit:contain}.store-search{width:min(100%,420px)}.store-search input{border-radius:999px}.product-card{height:100%;border:1px solid #e8edf2;border-radius:12px;overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}.product-card:hover{box-shadow:0 10px 24px #001b3b14;transform:translateY(-2px)}.product-card img{aspect-ratio:1;object-fit:contain;width:100%;background:#fff}.product-card-body{padding:1rem}.product-card h2{font-size:1rem;min-height:3rem}.price-old{text-decoration:line-through;color:#6c757d;font-size:.9rem}.price-current{color:#e66d00;font-size:1.25rem;font-weight:700}.hero-store{background:linear-gradient(115deg,#003a70,#0565a9);color:#fff;border-radius:18px}.product-detail-image{width:100%;max-height:520px;object-fit:contain;background:white}.cart-thumb{width:72px;height:72px;object-fit:contain}.store-message{padding:1rem;border-radius:.5rem;background:#fff4e5;color:#7a4200}.catalog-filter label{font-weight:600}.seo-content{max-width:800px}.breadcrumb{background:transparent}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}@media(max-width:767px){.store-search{order:3;width:100%}}
/* Carrusel de la portada: conserva el espacio y estilo de la plantilla nueva. */
#miradorHomeCarousel .carousel-item img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

#miradorHomeCarousel .carousel-control-prev,
#miradorHomeCarousel .carousel-control-next {
  width: 10%;
}

/* Contenido que no forma parte de la tienda Mirador. */
[data-mirador-language-currency],
[data-mirador-remove],
.visor_virtual_text_inner,
.discount_on_text_inner,
.hot_deal_text_inner,
#countdown {
  display: none !important;
}

.deal_section .product-countdown {
  display: none !important;
}

.magic_mart_logo img {
  max-height: 64px;
  width: auto;
}

.brand-bar .logo-wrapper img {
  width: 100%;
  max-width: 150px;
  height: 92px;
  object-fit: contain;
}

.store-toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1100;
  max-width: 22rem;
  padding: 1rem 1.25rem;
  border-radius: .5rem;
  background: #0e224d;
  color: #fff;
  box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .2);
  opacity: 0;
  transform: translateY(1rem);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.store-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.services .service-notice-icon {
  display: inline-block;
  color: #425a8b;
  font-size: 3rem;
  line-height: 1;
}

/* No mostrar imágenes de demostración mientras se obtiene el contenido real. */
.visor_virtual_section,
.catagory_section,
.new_product_section,
.banner_section:not([data-mirador-remove]),
.deal_section,
.three-column-product,
.brand_logo_section {
  visibility: hidden;
}

body.store-ready .visor_virtual_section,
body.store-ready .catagory_section,
body.store-ready .new_product_section,
body.store-ready .banner_section:not([data-mirador-remove]),
body.store-ready .deal_section,
body.store-ready .three-column-product,
body.store-ready .brand_logo_section {
  visibility: visible;
}

.category-listing-image {
  aspect-ratio: 1 / .72;
  object-fit: contain;
}

body.mirador-storefront,
body.mirador-storefront button,
body.mirador-storefront input,
body.mirador-storefront select,
body.mirador-storefront textarea {
  font-family: 'Inter', sans-serif;
}

.favorite-button { position:absolute; left:.65rem; top:.65rem; z-index:4; display:grid; place-items:center; width:2.4rem; height:2.4rem; padding:0; border:1px solid #e6ebf2; border-radius:50%; background:rgba(255,255,255,.96); color:#425a8b; box-shadow:0 .25rem .7rem rgba(0,27,59,.14); transition:transform .18s ease,color .18s ease,background .18s ease; }
.favorite-button i { font-size:1.2rem; line-height:1; }
.favorite-button:hover { transform:scale(1.08); color:#e45555; background:#fff7f7; }
.favorite-button.is-favorite { border-color:#e45555; color:#e45555; background:#fff2f2; }
.catalog-offer-badge { top:.7rem; right:.7rem; left:auto; z-index:3; font-size:.76rem; letter-spacing:.02em; box-shadow:0 .2rem .55rem rgba(0,0,0,.12); }
.store-login-modal { position:fixed; inset:0; z-index:2000; display:grid; place-items:center; padding:1rem; background:#0008; }
.login-register .auth-link { border:0; background:transparent; color:#425a8b; font-size:.9rem; text-decoration:underline; }
.login-register .auth-note { max-width:380px; color:#5d6680; font-size:.8rem; text-align:center; }
.login-register .auth-status { position:absolute; bottom:1.5rem; left:50%; z-index:10; max-width:min(90%,520px); padding:.75rem 1rem; transform:translateX(-50%); border-radius:.45rem; background:#e6f4ea; color:#176b3a; box-shadow:0 .25rem 1rem rgba(0,0,0,.12); text-align:center; }
.login-register .auth-status--error { background:#fde8e8; color:#9f1f1f; }
.contact-honeypot { display:none !important; position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.get_say_form .get_say_info_sec li, .get_say_form .get_say_info_sec li span, .get_say_form .get_say_info_sec li i { color:#fff; }
.menu-navigation > .nav-item.dropdown { display:none !important; }
.search_for_item_outer { z-index: 1050; }
.search-suggestions { position:absolute; top:calc(100% + .35rem); left:0; right:0; min-width:320px; max-height:420px; overflow-y:auto; background:#fff; border:1px solid #dce5f0; border-radius:.5rem; box-shadow:0 .5rem 1.5rem rgba(20,55,90,.16); padding:.35rem; }
.search-suggestion { display:flex; align-items:center; gap:.7rem; padding:.55rem; color:#193b67; text-decoration:none; border-radius:.35rem; }
.search-suggestion:hover, .search-suggestion:focus { background:#eef5fc; color:#0b4f91; }
.search-suggestion img { width:48px; height:48px; object-fit:contain; flex:0 0 48px; background:#f4f8fc; border-radius:.3rem; }
.search-suggestion-name { display:block; font-weight:600; line-height:1.2; }
.search-suggestion-meta { display:block; font-size:.78rem; color:#65758a; margin-top:.18rem; }
.search-suggestion-empty { padding:.75rem; color:#65758a; font-size:.85rem; }
.whatsapp-floating { position:fixed; right:1.25rem; bottom:1.25rem; z-index:1900; display:flex; align-items:center; gap:.45rem; padding:.7rem 1rem; border-radius:999px; background:#25d366; color:#fff !important; font-weight:700; box-shadow:0 .5rem 1.25rem rgba(0,0,0,.22); text-decoration:none; transition:transform .2s ease, background .2s ease; }
.whatsapp-floating i { font-size:1.4rem; line-height:1; }
.whatsapp-floating:hover { background:#1fb65a; color:#fff; transform:translateY(-2px); }
@media (max-width:575px) { .whatsapp-floating { right:.8rem; bottom:.8rem; padding:.75rem; } .whatsapp-floating span { display:none; } }
.store-login-modal[hidden] { display:none; }
.store-login-dialog { width:min(100%,420px); border-radius:12px; background:#fff; padding:1.75rem; box-shadow:0 1rem 3rem #0004; }
.store-login-close { float:right; border:0; background:transparent; font-size:1.6rem; line-height:1; }
body.store-modal-open { overflow:hidden; }
.shipping-panel { border:1px solid #e6e9ee; border-radius:8px; padding:1.5rem; background:#fff; }
.shipping-option, .shipping-pickup-option { width:100%; border:1px solid #e1e6ec; background:#fff; border-radius:6px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; margin-bottom:.65rem; text-align:left; transition:border-color .15s ease,background .15s ease; }
.shipping-pickup-option { justify-content:flex-start; }
.shipping-pickup-option > i { font-size:1.35rem; color:#0c6dba; }
.shipping-option:hover, .shipping-pickup-option:hover, .shipping-option.is-selected, .shipping-pickup-option.is-selected { border-color:#0c6dba; background:#f1f8fd; }
.shipping-option b { color:#0c6dba; white-space:nowrap; }
.pickup-accordion { border:1px solid #e1e6ec; border-radius:6px; padding:.75rem 1rem; }
.pickup-accordion summary { cursor:pointer; color:#0c6dba; font-weight:700; list-style:none; }
.pickup-accordion summary::after { content:'+'; float:right; font-size:1.2rem; }
.pickup-accordion[open] summary { margin-bottom:.75rem; }
.pickup-accordion[open] summary::after { content:'−'; }
.account-status { display:inline-block; padding:.2rem .55rem; border-radius:999px; background:#e8f3fb; color:#0c6dba; font-size:.8rem; font-weight:700; }
.account-status.status-terminado { background:#e7f6ec; color:#16733c; }
.account-status.status-cancelado { background:#fde8e8; color:#a51d2d; }
.order-payment-instructions { font-size:1rem !important; line-height:1.65; padding:.85rem 1rem; border:1px solid #d9e8f2; border-left:4px solid #0c6dba; border-radius:.4rem; background:#f7fbfe; }
.account-editor-dialog { width:min(100%,820px); max-height:88vh; overflow:auto; }
.shipping-pickup-option.is-preferred { border-color:#f0a13a; }
.preferred-label { display:inline-block; margin-left:.35rem; padding:.1rem .35rem; border-radius:999px; background:#fff0d8; color:#9a5a00; font-weight:700; }
.branch-search { padding-left:2.6rem; }
.branch-search-icon { position:absolute; left:.9rem; top:50%; z-index:2; color:#0c6dba; font-size:1.25rem; transform:translateY(-50%); }
.branch-card[hidden] { display:none !important; }
.how-to-buy-number { position:absolute; top:1rem; right:1rem; display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:#e8f3fb; color:#0c6dba; font-weight:800; }
.download-card-image { display:grid; place-items:center; height:180px; overflow:hidden; border-radius:6px; }
.download-card-image img { width:100%; height:100%; object-fit:cover; }
.download-card-no-image::after { content:'Documento PDF'; color:#0c6dba; font-weight:700; }
.address_footer_text::before { content:''; display:block; width:118px; height:42px; margin:0 0 1rem; background:url('../../assets/images/logo.png') center/contain no-repeat; }
.checkout-payment-option { min-height:100%; display:flex; align-items:flex-start; gap:.8rem; padding:1rem; border:1px solid #dfe6ee; border-radius:7px; background:#fff; cursor:pointer; transition:border-color .15s ease,background .15s ease; }
.checkout-payment-option:hover { border-color:#0c6dba; background:#f5faff; }
.checkout-payment-option input { flex:0 0 auto; width:1.1rem; height:1.1rem; margin:.3rem .1rem 0 0; accent-color:#0c6dba; }
.checkout-payment-icon { flex:0 0 auto; margin-top:.05rem; color:#0c6dba; font-size:1.5rem; line-height:1; }
.checkout-payment-option span { display:block; min-width:0; }
.checkout-payment-option strong { display:block; color:#173f6b; }
.checkout-payment-option small { display:block; margin-top:.35rem; color:#667085; line-height:1.35; }
#checkout-review-button { position:relative; z-index:10; pointer-events:auto; }
.checkout-page aside, .checkout-page aside > div { position:relative; z-index:2; }
.checkout-loading-overlay { position:fixed; inset:0; z-index:3000; display:grid; place-items:center; background:rgba(255,255,255,.88); }
.checkout-loading-overlay[hidden] { display:none; }
.checkout-loading-box { min-width:260px; padding:1.5rem 2rem; border-radius:12px; background:#fff; box-shadow:0 1rem 3rem rgba(0,27,59,.18); color:#173f6b; text-align:center; }
.checkout-loading-box .spinner-border { width:2.5rem; height:2.5rem; margin-bottom:.85rem; }
.checkout-submit-locked { pointer-events:none; opacity:.7; }

/* Barra de migas común para todas las páginas interiores. */
.main-breadcrumb { border-top:1px solid rgba(12,109,186,.08); border-bottom:1px solid rgba(12,109,186,.12); }
.main-breadcrumb .breadcrumb-title h1 { letter-spacing:.01em; }
.main-breadcrumb .breadcrumb { background:transparent; padding:0; }
.main-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color:#5c7894; }
.main-breadcrumb .breadcrumb-item a { text-decoration:none; }
.main-breadcrumb .breadcrumb-item.active { color:#173f6b; }
@media (max-width:575px) { .main-breadcrumb .container > div { justify-content:center !important; text-align:center; } }

/* Lectura cómoda en documentos legales: más ancho y texto equilibrado. */
.seo-content.privacy-content { max-width:1120px; }
.privacy-content p { max-width:none; text-align:justify; text-justify:inter-word; line-height:1.8; margin-bottom:1.2rem; }
.privacy-content h1, .privacy-content h2 { color:#173f6b; }

.confirmation-product { display:grid; grid-template-columns:92px minmax(0,1fr) auto; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid #e6e9ee; }
.confirmation-product:first-child { padding-top:0; }
.confirmation-product:last-child { padding-bottom:0; border-bottom:0; }
.confirmation-product-image { display:block; width:92px; height:92px; border:1px solid #e6e9ee; border-radius:6px; overflow:hidden; background:#fff; }
.confirmation-product-image img { width:100%; height:100%; object-fit:contain; }
.confirmation-product-info { min-width:0; }
.confirmation-product-price { color:#173f6b; white-space:nowrap; }
@media (max-width:575px) { .confirmation-product { grid-template-columns:72px minmax(0,1fr); gap:.75rem; } .confirmation-product-image { width:72px; height:72px; } .confirmation-product-price { grid-column:2; } }

.order-detail summary { color:#0c6dba; cursor:pointer; font-weight:700; white-space:nowrap; }
.order-detail-panel { min-width:310px; padding:1rem 0 .25rem; }
.order-detail-product { display:grid; grid-template-columns:46px minmax(140px,1fr) auto; align-items:center; gap:.65rem; padding:.55rem 0; border-bottom:1px solid #e6e9ee; }
.order-detail-product img { width:46px; height:46px; object-fit:contain; border:1px solid #e6e9ee; border-radius:4px; background:#fff; }
.order-detail-product b { color:#173f6b; white-space:nowrap; }
.order-detail-modal .order-detail-panel { min-width:0; padding:0; }
.order-detail-modal .order-detail-product { grid-template-columns:64px minmax(0,1fr) auto; }
.order-detail-modal .order-detail-product img { width:64px; height:64px; }
.order-payment-instructions { white-space:pre-line; line-height:1.6; background:#f5faff; border-left:3px solid #0c6dba; padding:.85rem 1rem; }
.order-shipping-details { margin:.75rem 0 1rem; padding:1rem; border:2px solid #0c6dba; border-radius:.5rem; background:#f1f8fd; color:#173f6b; font-size:1rem; line-height:1.6; }
.order-shipping-details strong { color:#173f6b; }
.order-shipping-details a { font-weight:700; }
.order-shipping-cost-row { margin-top:.75rem; color:#173f6b; font-size:1rem; }
.anchor-target { display:block; position:relative; top:-1rem; visibility:hidden; }
.related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.related-grid .product-card img{display:block;width:100%;height:165px;aspect-ratio:auto;object-fit:contain;padding:.5rem}.related-grid .product-card-body{padding:.75rem}.related-grid .product-card h2{font-size:.92rem;line-height:1.35;min-height:2.5rem;margin-bottom:.5rem}.related-grid .product-card .price-current{font-size:1.05rem}.related-grid .product-card .price-old{font-size:.8rem}.related-grid .product-card .small{font-size:.78rem;margin-bottom:.65rem!important}.related-grid .product-card .btn{font-size:.82rem;padding:.45rem .65rem}@media(max-width:1199px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.related-grid .product-card img{height:135px}}@media(max-width:480px){.related-grid{grid-template-columns:1fr}}
.related-grid .product-card img{height:210px}.related-grid .product-card-body{text-align:center}.related-grid .product-card .btn{display:block;margin-left:auto;margin-right:auto}.product-presentations strong{color:#173f6b}.presentation-option{display:inline-block;padding:.35rem .7rem;border:1px solid #d8e0ea;border-radius:4px;color:#425a8b;text-decoration:none;font-size:.85rem;background:#fff}.presentation-option:hover,.presentation-option.active{border-color:#425a8b;background:#eef4fb;color:#173f6b}
.related-grid .product-card>div:first-child>a{display:flex;align-items:center;justify-content:center;height:210px;background:#fff}.related-grid .product-card>div:first-child>a img{width:auto;max-width:100%;height:200px;margin:0 auto}@media(max-width:767px){.related-grid .product-card>div:first-child>a{height:165px}.related-grid .product-card>div:first-child>a img{height:155px}}@media(max-width:480px){.related-grid .product-card>div:first-child>a{height:150px}.related-grid .product-card>div:first-child>a img{height:140px}}
@media(max-width:767px){.related-grid .product-card img{height:165px}}@media(max-width:480px){.related-grid .product-card img{height:150px}}
