/* ========================================
   HERO BANNER - HOMEPAGE
   ======================================== */
.hero-banner {
    background-color: #1a1a1a;
    color: #fff;
    padding: 6rem 0;
    margin-bottom: 3rem;
    text-align: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/img/custom/hero_1759514414.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-banner .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 10px;
    backdrop-filter: blur(3px);
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: #fff !important;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.9);
    line-height: 1.2;
}

.hero-description {
    font-size: 1.75rem;
    margin-bottom: 2.5rem;
    color: #fff !important;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.9);
    font-weight: 500;
}

.hero-cta {
    display: inline-block;
    padding: 1.25rem 3rem;
    font-size: 1.5rem;
    font-weight: 700;
    text-decoration: none;
    background-color: #c82333;
    color: #fff !important;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(200, 35, 51, 0.4);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.hero-cta:hover {
    background-color: #a01c29;
    color: #fff !important;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(200, 35, 51, 0.6);
}

@media (max-width: 768px) {
    .hero-banner {
        padding: 4rem 0;
        min-height: 400px;
    }
    .hero-title {
        font-size: 2.5rem;
    }
    .hero-description {
        font-size: 1.25rem;
    }
    .hero-cta {
        padding: 1rem 2rem;
        font-size: 1.25rem;
    }
}
/* ======================================== */

/* Cárnicas El Cavernícola – Theme overrides
   Brand colors: Red (#C40000), Black (#000000), White (#FFFFFF)
   This stylesheet customizes the Hummingbird theme without altering core files.
*/

:root {
  --cav-red: #c40000;
  --cav-red-dark: #a00000;
  --cav-black: #000000;
  --cav-white: #ffffff;
}

/* Base background: force white across the site */
html, body, main {
  background-color: var(--cav-white) !important;
  color-scheme: light;
}

/* Header top bar (language, currency, account, cart mini icons) */
.header-top {
  background-color: var(--cav-black);
  color: var(--cav-white);
}
.header-top a,
.header-top .header-block__title,
.header-top .material-icons { color: var(--cav-white); }
.header-top a:hover,
.header-top .header-block__action-btn:hover .material-icons { color: var(--cav-red); }

/* Main header strip: keep white to blend the white-background logo, add a red accent line */
.header-bottom {
  background-color: var(--cav-white);
  border-bottom: 4px solid var(--cav-red);
}

/* Logo sizing: reduce large uploaded logo without editing the image */
.header-bottom .logo img,
.logo img {
  max-height: 52px; /* Adjust as needed */
  height: auto;
  width: auto;
}
@media (max-width: 576px) {
  .header-bottom .logo img,
  .logo img { max-height: 44px; }
}

/* Primary brand color overrides */
.btn-primary { background-color: var(--cav-red); border-color: var(--cav-red); }
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active { background-color: var(--cav-red-dark); border-color: var(--cav-red-dark); }

.btn-outline-primary { color: var(--cav-red); border-color: var(--cav-red); }
.btn-outline-primary:hover,
.btn-outline-primary:focus { background-color: var(--cav-red); color: var(--cav-white); }

.text-primary { color: var(--cav-red) !important; }
.bg-primary { background-color: var(--cav-red) !important; }
.border-primary { border-color: var(--cav-red) !important; }

/* Secondary buttons in black */
.btn-secondary { background-color: var(--cav-black); border-color: var(--cav-black); color: var(--cav-white); }
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active { background-color: #222; border-color: #222; color: var(--cav-white); }

.btn-outline-secondary { color: var(--cav-black); border-color: var(--cav-black); }
.btn-outline-secondary:hover,
.btn-outline-secondary:focus { background-color: var(--cav-black); color: var(--cav-white); border-color: var(--cav-black); }

/* Links */
a { color: var(--cav-red); }
a:hover { color: var(--cav-red-dark); }

/* Badges and small counters (e.g. cart) */
.header-block__badge,
.badge-primary { background-color: var(--cav-red) !important; }

/* Navigation links in main menu */
.header-bottom .nav a,
.header-bottom .nav-link { color: #111; }
.header-bottom .nav a:hover,
.header-bottom .nav-link:hover,
.header-bottom .nav .active > .nav-link { color: var(--cav-red); }

/* Footer styling: dark background with white text, red accents for links */
footer { background-color: #111; color: var(--cav-white); }
footer a { color: var(--cav-red); }
footer a:hover { color: var(--cav-red-dark); }

/* Price highlights */
.current-price span, .product-price { color: var(--cav-red); }

/* Faceted search active filters */
#search_filters .facet .facet-label.active .custom-checkbox input ~ .ps-shown-by-js {
  background-color: var(--cav-red);
  border-color: var(--cav-red);
}

/* Buttons in minicart and checkout */
#cart .btn,
.cart-grid .btn,
.checkout .btn { border-radius: 3px; }

/* Small separators and headings */
.h1, .h2, .h3, h1, h2, h3 { letter-spacing: 0.2px; }

/* Banners and callouts */
.alert-info { border-left: 4px solid var(--cav-red); }

/* Ensure contrasts for icons on dark header top */
.header-top .header-block__action-btn { color: var(--cav-white); }
.header-top .header-block__action-btn:hover { color: var(--cav-red); }


/* Contact link color fixes (brand-compliant, accessible contrast) */
/* Default: on light backgrounds use brand red */
.contact-link,
.contact-link a {
  color: var(--cav-red) !important;
}
.contact-link:hover,
.contact-link a:hover {
  color: var(--cav-red-dark) !important;
}

/* On dark header-top bar: keep text white for contrast; hover in red */
.header-top .contact-link,
.header-top .contact-link a {
  color: var(--cav-white) !important;
}
.header-top .contact-link:hover,
.header-top .contact-link a:hover {
  color: var(--cav-red) !important;
}

/* --- Cavernícola: grid portada --- */
.cav-home-grid{display:grid;gap:14px;margin:24px 0}
@media(min-width:768px){.cav-home-grid{grid-template-columns:repeat(6,1fr)}}

.cav-card{
    position:relative;overflow:hidden;border-radius:14px;
    background:#111;min-height:160px;display:flex;align-items:flex-end;
    box-shadow:0 8px 18px rgba(0,0,0,.15)
}
.cav-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:brightness(.85);transition:transform .4s ease}
.cav-card:hover img{transform:scale(1.05)}
.cav-card a{position:absolute;inset:0;display:block}
.cav-badge{
    position:relative;z-index:2;color:#fff;margin:12px;
    background:rgba(0,0,0,.55);backdrop-filter:saturate(120%) blur(2px);
    padding:10px 14px;border-radius:12px;font-weight:700;letter-spacing:.3px
}
.cav-small{grid-column:span 3}
@media(min-width:768px){.cav-small{grid-column:span 2}}

.cav-feature{grid-column:span 6;min-height:260px}
@media(min-width:768px){.cav-feature{grid-column:span 3;grid-row:span 2;min-height:100%}}

.cav-chip{
    display:inline-block;margin-left:8px;font-weight:700;
    background:#ff3e3e;color:#fff;border-radius:999px;padding:6px 10px
}

/* Email subscription: improve contrast on white backgrounds */
.email-subscription__content__infos {
  color: #333333 !important; /* Dark gray for better readability */
}
.email-subscription__content__infos p,
.email-subscription__content__infos li,
.email-subscription__content__infos span,
.email-subscription__content__infos small {
  color: inherit !important;
}

/* Cárnicas El Cavernícola – Theme overrides
   Brand colors: Red (#C40000), Black (#000000), White (#FFFFFF)
   This stylesheet customizes the Hummingbird theme without altering core files.
*/

:root {
  --cav-red: #c40000;
  --cav-red-dark: #a00000;
  --cav-black: #000000;
  --cav-white: #ffffff;
}

/* Base background: force white across the site */
html, body, main {
  background-color: var(--cav-white) !important;
  color-scheme: light;
}

/* Header top bar (language, currency, account, cart mini icons) */
.header-top {
  background-color: var(--cav-black);
  color: var(--cav-white);
}
.header-top a,
.header-top .header-block__title,
.header-top .material-icons { color: var(--cav-white); }
.header-top a:hover,
.header-top .header-block__action-btn:hover .material-icons { color: var(--cav-red); }

/* Main header strip: keep white to blend the white-background logo, add a red accent line */
.header-bottom {
  background-color: var(--cav-white);
  border-bottom: 4px solid var(--cav-red);
}

/* Logo sizing: reduce large uploaded logo without editing the image */
.header-bottom .logo img,
.logo img {
  max-height: 52px; /* Adjust as needed */
  height: auto;
  width: auto;
}
@media (max-width: 576px) {
  .header-bottom .logo img,
  .logo img { max-height: 44px; }
}

/* Primary brand color overrides */
.btn-primary { background-color: var(--cav-red); border-color: var(--cav-red); }
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active { background-color: var(--cav-red-dark); border-color: var(--cav-red-dark); }

.btn-outline-primary { color: var(--cav-red); border-color: var(--cav-red); }
.btn-outline-primary:hover,
.btn-outline-primary:focus { background-color: var(--cav-red); color: var(--cav-white); }

.text-primary { color: var(--cav-red) !important; }
.bg-primary { background-color: var(--cav-red) !important; }
.border-primary { border-color: var(--cav-red) !important; }

/* Secondary buttons in black */
.btn-secondary { background-color: var(--cav-black); border-color: var(--cav-black); color: var(--cav-white); }
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active { background-color: #222; border-color: #222; color: var(--cav-white); }

.btn-outline-secondary { color: var(--cav-black); border-color: var(--cav-black); }
.btn-outline-secondary:hover,
.btn-outline-secondary:focus { background-color: var(--cav-black); color: var(--cav-white); border-color: var(--cav-black); }

/* Links */
a { color: var(--cav-red); }
a:hover { color: var(--cav-red-dark); }

/* Badges and small counters (e.g. cart) */
.header-block__badge,
.badge-primary { background-color: var(--cav-red) !important; }

/* Navigation links in main menu */
.header-bottom .nav a,
.header-bottom .nav-link { color: #111; }
.header-bottom .nav a:hover,
.header-bottom .nav-link:hover,
.header-bottom .nav .active > .nav-link { color: var(--cav-red); }

/* Footer styling: dark background with white text, red accents for links */
footer { background-color: #111; color: var(--cav-white); }
footer a { color: var(--cav-red); }
footer a:hover { color: var(--cav-red-dark); }

/* Price highlights */
.current-price span, .product-price { color: var(--cav-red); }

/* Faceted search active filters */
#search_filters .facet .facet-label.active .custom-checkbox input ~ .ps-shown-by-js {
  background-color: var(--cav-red);
  border-color: var(--cav-red);
}

/* Buttons in minicart and checkout */
#cart .btn,
.cart-grid .btn,
.checkout .btn { border-radius: 3px; }

/* Small separators and headings */
.h1, .h2, .h3, h1, h2, h3 { letter-spacing: 0.2px; }

/* Banners and callouts */
.alert-info { border-left: 4px solid var(--cav-red); }

/* Ensure contrasts for icons on dark header top */
.header-top .header-block__action-btn { color: var(--cav-white); }
.header-top .header-block__action-btn:hover { color: var(--cav-red); }


/* Contact link color fixes (brand-compliant, accessible contrast) */
/* Default: on light backgrounds use brand red */
.contact-link,
.contact-link a {
  color: var(--cav-red) !important;
}
.contact-link:hover,
.contact-link a:hover {
  color: var(--cav-red-dark) !important;
}

/* On dark header-top bar: keep text white for contrast; hover in red */
.header-top .contact-link,
.header-top .contact-link a {
  color: var(--cav-white) !important;
}
.header-top .contact-link:hover,
.header-top .contact-link a:hover {
  color: var(--cav-red) !important;
}

/* --- Cavernícola: grid portada --- */
.cav-home-grid{display:grid;gap:14px;margin:24px 0}
@media(min-width:768px){.cav-home-grid{grid-template-columns:repeat(6,1fr)}}

.cav-card{
    position:relative;overflow:hidden;border-radius:14px;
    background:#111;min-height:160px;display:flex;align-items:flex-end;
    box-shadow:0 8px 18px rgba(0,0,0,.15)
}
.cav-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:brightness(.85);transition:transform .4s ease}
.cav-card:hover img{transform:scale(1.05)}
.cav-card a{position:absolute;inset:0;display:block}
.cav-badge{
    position:relative;z-index:2;color:#fff;margin:12px;
    background:rgba(0,0,0,.55);backdrop-filter:saturate(120%) blur(2px);
    padding:10px 14px;border-radius:12px;font-weight:700;letter-spacing:.3px
}
.cav-small{grid-column:span 3}
@media(min-width:768px){.cav-small{grid-column:span 2}}

.cav-feature{grid-column:span 6;min-height:260px}
@media(min-width:768px){.cav-feature{grid-column:span 3;grid-row:span 2;min-height:100%}}

.cav-chip{
    display:inline-block;margin-left:8px;font-weight:700;
    background:#ff3e3e;color:#fff;border-radius:999px;padding:6px 10px
}

/* Email subscription: improve contrast on white backgrounds */
.email-subscription__content__infos {
  color: #333333 !important; /* Dark gray for better readability */
}
.email-subscription__content__infos p,
.email-subscription__content__infos li,
.email-subscription__content__infos span,
.email-subscription__content__infos small {
  color: inherit !important;
}

/* Cavernícola overrides for specific UI elements */
/* 1) Badge "new" must be red background */
.badge.new {
  background-color: var(--cav-red) !important;
  color: var(--cav-white) !important;
}

/* 2) Selected product thumbnail border must be red instead of blue */
/* Target the exact classes used by Hummingbird/Prestashop for selected thumbs */
.img-fluid.js-thumb.js-thumb-selected,
.js-thumb-selected {
  border: 2px solid var(--cav-red) !important;
}

/* --- Blue-to-Red overrides (brand enforcement) --- */
/* Form controls focus state: replace Bootstrap blue ring with red */
.form-control:focus,
.custom-select:focus,
.btn:focus,
.page-link:focus {
  border-color: var(--cav-red) !important;
  box-shadow: 0 0 0 0.2rem rgba(196, 0, 0, 0.25) !important;
}

/* Checked controls (Bootstrap 4 & 5 patterns) */
.form-check-input:checked {
  background-color: var(--cav-red) !important;
  border-color: var(--cav-red) !important;
}
.custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--cav-red) !important;
  border-color: var(--cav-red) !important;
}
.custom-control-input:focus ~ .custom-control-label::before,
.form-check-input:focus {
  border-color: var(--cav-red) !important;
  box-shadow: 0 0 0 0.2rem rgba(196, 0, 0, 0.25) !important;
}

/* Pagination: active/hover to red */
.page-item.active .page-link,
.page-link:hover {
  background-color: var(--cav-red) !important;
  border-color: var(--cav-red) !important;
  color: var(--cav-white) !important;
}

/* Nav pills and tabs active state to red */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: var(--cav-red) !important;
  color: var(--cav-white) !important;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
  color: var(--cav-red) !important;
  border-color: var(--cav-red) var(--cav-red) transparent !important;
}

/* Dropdown active item */
.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--cav-red) !important;
  color: var(--cav-white) !important;
}

/* Alert primary: use red accents */
.alert-primary {
  border-color: var(--cav-red) !important;
  background-color: rgba(196, 0, 0, 0.08) !important;
  color: inherit;
}

/* --- Cavernícola: Specific elements requested --- */
/* 1) Badge "Fuera de stock" should be red */
.product-flags .out-of-stock,
.js-product-flags .out-of-stock,
.product-flags li.out-of-stock {
  background-color: var(--cav-red) !important;
  border-color: var(--cav-red) !important;
  color: var(--cav-white) !important;
}

/* 2) "Vista rápida" link should be red */
a.quick-view,
.quick-view {
  color: var(--cav-red) !important;
}
a.quick-view:hover,
.quick-view:hover {
  color: var(--cav-red-dark) !important;
}

/* 3) Quickview modal add-to-cart button should be red */
.quickview .btn-primary {
  background-color: var(--cav-red) !important;
  border-color: var(--cav-red) !important;
  color: var(--cav-white) !important;
}
.quickview .btn-primary:hover,
.quickview .btn-primary:focus,
.quickview .btn-primary:active {
  background-color: var(--cav-red-dark) !important;
  border-color: var(--cav-red-dark) !important;
}

/* In case theme uses outline style in quickview */
.quickview .btn-outline-primary {
  color: var(--cav-red) !important;
  border-color: var(--cav-red) !important;
}
.quickview .btn-outline-primary:hover,
.quickview .btn-outline-primary:focus {
  background-color: var(--cav-red) !important;
  color: var(--cav-white) !important;
}


/* --- Cavernícola: Blue leftovers fixes (explicit classes) --- */
/* 1) Badge "out_of_stock" (underscore variant) to red */
.product-flags .out_of_stock,
.js-product-flags .out_of_stock,
.product-flags li.out_of_stock {
  background-color: var(--cav-red) !important;
  border-color: var(--cav-red) !important;
  color: var(--cav-white) !important;
}

/* 2) Add to cart primary button with icon to red */
.btn.btn-primary.add-to-cart,
.btn-with-icon.add-to-cart.btn-primary {
  background-color: var(--cav-red) !important;
  border-color: var(--cav-red) !important;
  color: var(--cav-white) !important;
}
.btn.btn-primary.add-to-cart:hover,
.btn-with-icon.add-to-cart.btn-primary:hover,
.btn.btn-primary.add-to-cart:focus,
.btn-with-icon.add-to-cart.btn-primary:focus,
.btn.btn-primary.add-to-cart:active,
.btn-with-icon.add-to-cart.btn-primary:active {
  background-color: var(--cav-red-dark) !important;
  border-color: var(--cav-red-dark) !important;
}

/* 3) Main menu links hover to brand red */
a.menu__link { color: var(--cav-red); }
a.menu__link:hover,
.menu__link:hover { color: var(--cav-red-dark) !important; }

/* 4) Product miniature quickview button (btn-link) to red */
.product-miniature__quickview_button,
.btn.btn-link.js-quickview,
.btn-link.js-quickview.btn-with-icon {
  color: var(--cav-red) !important;
}
.product-miniature__quickview_button:hover,
.btn.btn-link.js-quickview:hover,
.btn-link.js-quickview.btn-with-icon:hover,
.product-miniature__quickview_button:focus,
.btn.btn-link.js-quickview:focus,
.btn-link.js-quickview.btn-with-icon:focus {
  color: var(--cav-red-dark) !important;
}


/* Cavernícola: enforce red hover color for main menu and category tree links */
.main-menu__tree__link:hover,
.main-menu__tree__link:focus,
.category-tree__item__link:hover,
.category-tree__item__link:focus {
  color: var(--cav-red) !important;
}


/* Cavernícola: product thumbnails – active/selected border in red */
.thumbnail.js-thumb-container.active,
.js-thumb-container.active,
.thumbnail.js-thumb-container.selected,
.js-thumb-container.selected {
  border-color: var(--cav-red) !important;
  outline-color: var(--cav-red) !important;
}


/* Cavernícola: Portada – Carruseles por categoría con box y título resaltado */
.cav-home-carousels{margin-top:1rem}

.cav-category-section{
  margin-bottom:2.5rem;
  background: #ffffff;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease;
}

.cav-category-section:hover{
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

.cav-category-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1.5rem;
  padding-bottom: 15px;
  border-bottom: 3px solid #c40000;
}

.cav-category-header h2{
  margin:0;
  font-weight:700;
  font-size: 1.75rem;
  color: #c40000;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.cav-category-header a{
  text-decoration:none;
  color: #c40000;
  transition: color 0.2s ease;
}

.cav-category-header a:hover{
  color: #a00000;
}

.cav-carousel{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;overflow-x:hidden;overflow-y:visible;scroll-snap-type:none;-webkit-overflow-scrolling:auto;padding-bottom:0;cursor:default}
.cav-carousel.is-dragging{cursor:default}

/* Items: responsive widths for non-scrolling layout */
.cav-carousel__item{flex:0 1 220px;max-width:280px}
@media(min-width:576px){.cav-carousel__item{flex-basis:240px;max-width:300px}}
@media(min-width:992px){.cav-carousel__item{flex-basis:260px;max-width:320px}}
.cav-carousel__item .product-miniature{width:100%;text-align:center}

/* Reduce card shadow stacking issues in the horizontal list */
.cav-carousel__item .card{height:100%}

/* Empty-state note for homepage carousels */
.cav-empty-note{padding:1rem;border-radius:.5rem;background:#fff3cd;border:1px solid #ffeeba;color:#856404;margin-top:1rem}

/* Center titles, prices, buttons inside the product cards in home carousels */
.cav-carousel__item .product-miniature .product-title,
.cav-carousel__item .product-miniature .product-title a{display:block;text-align:center}
.cav-carousel__item .product-miniature .product-price-and-shipping{display:flex;justify-content:center;text-align:center}
.cav-carousel__item .product-miniature [data-button-action="add-to-cart"],
.cav-carousel__item .product-miniature .btn{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}
.cav-carousel__item .thumbnail-container img,
.cav-carousel__item .product-miniature img{display:block;margin:0 auto}


/* Ocultar paginación cuando hay scroll infinito activo */
.pagination.is-hidden { display: none; }

/* Loader básico para scroll infinito */
#infinite-loader { font-size: .95rem; color: #6b7280; }

/* Cavernícola – Product item redesign (listing cards)
   Goal: no card hover glow; order: image, title, price, cart; centered; clearer hierarchy. */

/* 1) Remove card look and hover illumination on product items */
article.product-miniature .card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
article.product-miniature .card:hover {
  box-shadow: none !important;
  transform: none !important;
}
/* Remove extra padding coming from card body inside miniature */
article.product-miniature .product-miniature__infos.card-body {
  padding: 0.5rem 0 0 !important;
}

/* 2) Center the content and control the order visually */
article.product-miniature .product-miniature__infos {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
article.product-miniature .product-miniature__infos__top,
article.product-miniature .product-miniature__infos__bottom {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* Ensure image container is centered and not constrained by floats */
article.product-miniature .product-miniature__image-container {
  margin: 0 auto;
}

/* 3) Typography: bigger title, slightly smaller price, balanced spacing */
article.product-miniature .product-miniature__title {
  font-size: 1.15rem; /* big title */
  line-height: 1.25;
  font-weight: 800;
  margin: 10px 0 4px;
  color: #111;
}
@media (min-width: 992px) {
  article.product-miniature .product-miniature__title { font-size: 1.2rem; }
}

article.product-miniature .product-miniature__prices { margin-top: 2px; }
article.product-miniature .product-miniature__price {
  font-size: 1.05rem; /* a bit less than title */
  line-height: 1.2;
  font-weight: 700;
  color: #111;
}

/* 4) Cart controls below, centered, with compact spacing */
article.product-miniature form[data-button-action="add-to-cart"],
article.product-miniature form[action*="carrito"],
article.product-miniature form {
  margin-top: 10px;
}
article.product-miniature form .input-group { justify-content: center; }
article.product-miniature form .form-control[name="qty"] {
  max-width: 64px;
  text-align: center;
}

/* 5) Hide elements not requested in the simplified card layout on listings */
article.product-miniature .product-miniature__quickview,
article.product-miniature .product-miniature__quickview_touch,
article.product-miniature .product-miniature__quickview_button,
article.product-miniature .product-miniature__variants,
article.product-miniature .product-list-reviews {
  display: none !important;
}

/* Keep flags (e.g., Nuevo) but ensure they don’t shift layout */
article.product-miniature .product-flags { pointer-events: none; }

/* Additional tweaks for product item layout */
article.product-miniature .card { border-radius: 0 !important; }
article.product-miniature .product-miniature__infos { gap: 6px; }
article.product-miniature .product-miniature__infos__top a { color: inherit; text-decoration: none; }
article.product-miniature form { display: flex; justify-content: center; align-items: center; gap: .5rem; }
article.product-miniature form [data-button-action="add-to-cart"] { flex: 0 0 auto; }


/* Cavernícola – Centered and slightly narrower product articles */
/* Ensure the whole item is centered and a bit narrower across breakpoints */
article.product-miniature {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
/* Make the article a bit narrower on small and up, but keep full width on very small screens */
@media (min-width: 480px) {
  article.product-miniature { max-width: 260px; }
}
@media (min-width: 1200px) {
  /* allow a touch more width on very large screens while still narrow */
  article.product-miniature { max-width: 280px; }
}

/* Ensure the product image scales within the new width */
article.product-miniature .product-miniature__image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

/* Keep the image container centered and not exceeding the article width */
article.product-miniature .product-miniature__image-container {
  width: 100%;
  max-width: 100%;
}


/* Cavernícola – Home carousels: force 4 items per row on desktop */
@media (min-width: 992px) {
  #cav-home-carousels .cav-carousel {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    overflow: visible;
  }
  #cav-home-carousels .cav-carousel__item {
    max-width: none;
    width: 100%;
    flex: 0 0 auto;
  }
}

/* Enlace "Ver más" en el header de categoría */
.cav-view-more {
  color: #c40000;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  padding: 8px 16px;
  border: 2px solid #c40000;
  border-radius: 5px;
  transition: all 0.3s ease;
  display: inline-block;
}

.cav-view-more:hover {
  background: #c40000;
  color: #ffffff !important;
  text-decoration: none;
  transform: translateX(3px);
}

@media (max-width: 576px) {
  .cav-view-more {
    font-size: 12px;
    padding: 6px 12px;
  }
}

/* ================================================================
   Estilos para página Bos Taurus Primigenius - CMS ID 9
   ================================================================ */
/**
 * Estilos específicos para la página Bos Taurus Primigenius (CMS ID 9)
 * Paleta: Blanco (#ffffff), Rojo (#c40000), Negro (#000000)
 * Objetivo: Diseño limpio, legible y atractivo sin abusar de iconos
 */

/* ============================================
   Variables y reset
   ============================================ */
.bos-taurus-content {
  --bos-red: #c40000;
  --bos-black: #000000;
  --bos-white: #ffffff;
  --bos-gray-light: #f5f5f5;
  --bos-gray-medium: #666666;
  --bos-spacing: clamp(20px, 4vw, 40px);
}

/* ============================================
   Container general
   ============================================ */
.bos-taurus-content .bos-taurus-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--bos-spacing);
  background: var(--bos-white);
  color: var(--bos-black);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  line-height: 1.7;
}

/* ============================================
   Hero section - Encabezado principal
   ============================================ */
.bos-taurus-content .bos-hero {
  text-align: center;
  padding: clamp(40px, 8vw, 80px) 20px;
  background: linear-gradient(135deg, var(--bos-black) 0%, #1a1a1a 100%);
  color: var(--bos-white);
  margin: calc(var(--bos-spacing) * -1) calc(var(--bos-spacing) * -1) var(--bos-spacing);
  border-bottom: 5px solid var(--bos-red);
}

.bos-taurus-content .bos-hero__icon {
  font-size: clamp(48px, 10vw, 80px);
  margin-bottom: 20px;
  display: inline-block;
  filter: grayscale(0.3);
}

.bos-taurus-content .bos-hero__title {
  font-size: clamp(32px, 6vw, 56px);
  font-weight: 700;
  margin: 0 0 20px 0;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--bos-white);
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.bos-taurus-content .bos-hero__divider {
  width: 100px;
  height: 4px;
  background: var(--bos-red);
  margin: 0 auto 25px;
}

.bos-taurus-content .bos-hero__subtitle {
  font-size: clamp(18px, 3vw, 24px);
  line-height: 1.5;
  font-weight: 300;
  margin: 0;
}

.bos-taurus-content .bos-hero__highlight {
  color: var(--bos-red);
  font-weight: 600;
  display: block;
  margin-top: 10px;
}

/* ============================================
   Secciones de contenido
   ============================================ */
.bos-taurus-content .bos-section {
  margin-bottom: clamp(40px, 6vw, 60px);
  padding: var(--bos-spacing);
  background: var(--bos-white);
}

.bos-taurus-content .bos-section--gray {
  background: var(--bos-gray-light);
  border-left: 5px solid var(--bos-red);
}

.bos-taurus-content .bos-section--dark {
  background: var(--bos-black);
  color: var(--bos-white);
  border-left: 5px solid var(--bos-red);
}

.bos-taurus-content .bos-section--red {
  background: var(--bos-red);
  color: var(--bos-white);
}

/* ============================================
   Tipografía
   ============================================ */
.bos-taurus-content .bos-title {
  font-size: clamp(28px, 5vw, 40px);
  font-weight: 700;
  color: var(--bos-red);
  margin: 0 0 25px 0;
  line-height: 1.3;
}

.bos-taurus-content .bos-section--dark .bos-title,
.bos-taurus-content .bos-section--red .bos-title {
  color: var(--bos-white);
}

.bos-taurus-content .bos-subtitle {
  font-size: clamp(20px, 3.5vw, 28px);
  font-weight: 600;
  color: var(--bos-black);
  margin: 0 0 20px 0;
}

.bos-taurus-content .bos-section--dark .bos-subtitle {
  color: var(--bos-red);
}

.bos-taurus-content .bos-text {
  font-size: clamp(16px, 2.5vw, 18px);
  line-height: 1.8;
  margin-bottom: 20px;
  color: inherit;
}

.bos-taurus-content .bos-text:last-child {
  margin-bottom: 0;
}

.bos-taurus-content .bos-text strong {
  font-weight: 600;
  color: var(--bos-red);
}

.bos-taurus-content .bos-section--dark .bos-text strong,
.bos-taurus-content .bos-section--red .bos-text strong {
  color: var(--bos-white);
  font-weight: 700;
}

.bos-taurus-content .bos-text em {
  font-style: italic;
  color: var(--bos-gray-medium);
}

/* ============================================
   Badges de certificación
   ============================================ */
.bos-taurus-content .bos-badges {
  display: flex;
  flex-direction: column;
  gap: 15px;
  max-width: 700px;
  margin: 30px auto;
}

.bos-taurus-content .bos-badge {
  padding: 20px 30px;
  font-weight: 700;
  font-size: clamp(16px, 2.5vw, 18px);
  text-align: center;
  border-radius: 4px;
  transition: transform 0.2s ease;
}

.bos-taurus-content .bos-badge:hover {
  transform: translateX(5px);
}

.bos-taurus-content .bos-badge--red {
  background: var(--bos-red);
  color: var(--bos-white);
}

.bos-taurus-content .bos-badge--gold {
  background: #d4af37;
  color: var(--bos-black);
}

.bos-taurus-content .bos-badge--green {
  background: #2d7a2d;
  color: var(--bos-white);
}

.bos-taurus-content .bos-badge-note {
  margin-top: 20px;
  font-size: clamp(14px, 2vw, 16px);
  color: var(--bos-gray-medium);
  font-style: italic;
  text-align: center;
}

/* ============================================
   Cards de características
   ============================================ */
.bos-taurus-content .bos-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 30px 0;
}

.bos-taurus-content .bos-feature {
  background: var(--bos-white);
  padding: 30px;
  border-top: 4px solid var(--bos-red);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bos-taurus-content .bos-feature:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(196,0,0,0.15);
}

.bos-taurus-content .bos-feature__title {
  font-size: clamp(18px, 2.5vw, 20px);
  font-weight: 700;
  color: var(--bos-red);
  margin: 0 0 15px 0;
}

.bos-taurus-content .bos-feature__text {
  font-size: clamp(15px, 2vw, 16px);
  line-height: 1.7;
  color: var(--bos-black);
  margin: 0;
}

/* ============================================
   CTA Section
   ============================================ */
.bos-taurus-content .bos-cta {
  text-align: center;
  padding: clamp(40px, 6vw, 60px) 20px;
  background: linear-gradient(135deg, var(--bos-red) 0%, #a00000 100%);
  color: var(--bos-white);
  margin: var(--bos-spacing) calc(var(--bos-spacing) * -1) calc(var(--bos-spacing) * -1);
  border-top: 3px solid var(--bos-black);
}

.bos-taurus-content .bos-cta__title {
  font-size: clamp(26px, 4vw, 36px);
  font-weight: 700;
  margin: 0 0 20px 0;
}

.bos-taurus-content .bos-cta__text {
  font-size: clamp(16px, 2.5vw, 18px);
  max-width: 700px;
  margin: 0 auto 30px;
  line-height: 1.6;
}

.bos-taurus-content .bos-cta__button {
  display: inline-block;
  background: var(--bos-white);
  color: var(--bos-red);
  padding: 18px 50px;
  text-decoration: none;
  font-weight: 700;
  font-size: clamp(16px, 2.5vw, 18px);
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 4px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.bos-taurus-content .bos-cta__button:hover {
  background: var(--bos-black);
  color: var(--bos-white);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}

/* ============================================
   Historia boxes
   ============================================ */
.bos-taurus-content .bos-history {
  display: grid;
  gap: 30px;
  margin: 30px 0;
}

.bos-taurus-content .bos-history__item {
  padding: 35px;
  border-radius: 4px;
}

.bos-taurus-content .bos-history__item--light {
  background: var(--bos-white);
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.bos-taurus-content .bos-history__item--red {
  background: var(--bos-red);
  color: var(--bos-white);
}

/* ============================================
   Responsive adjustments
   ============================================ */
@media (max-width: 768px) {
  .bos-taurus-content .bos-taurus-page {
    padding: 20px 15px;
  }
  
  .bos-taurus-content .bos-hero {
    margin: -20px -15px 20px;
    padding: 40px 20px;
  }
  
  .bos-taurus-content .bos-cta {
    margin: 30px -15px -20px;
    padding: 40px 20px;
  }
  
  .bos-taurus-content .bos-section {
    padding: 25px 20px;
  }
  
  .bos-taurus-content .bos-features {
    grid-template-columns: 1fr;
  }
  
  .bos-taurus-content .bos-badge {
    padding: 15px 20px;
  }
}

/* ============================================
   Ocultar emojis repetitivos en iconos
   ============================================ */
.bos-taurus-content .bos-section__icon {
  font-size: 28px;
  margin-right: 10px;
  vertical-align: middle;
  opacity: 0.8;
}

/* Reducir tamaño de emojis en títulos */
.bos-taurus-content h2 > span:first-child,
.bos-taurus-content h3 > span:first-child {
  font-size: 0.8em;
  margin-right: 10px;
}

/* ============================================
   Cleanup de estilos inline legacy
   ============================================ */
.bos-taurus-content [style] {
  /* Los estilos CSS tendrán prioridad sobre inline styles */
}

/* Mejorar legibilidad de listas */
.bos-taurus-content ul,
.bos-taurus-content ol {
  padding-left: 30px;
  margin: 20px 0;
}

.bos-taurus-content li {
  margin-bottom: 10px;
  line-height: 1.7;
}

/* Print styles */
@media print {
  .bos-taurus-content .bos-cta,
  .bos-taurus-content .bos-cta__button {
    display: none;
  }
  
  .bos-taurus-content .bos-hero {
    background: var(--bos-black) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* ============================================
   Sección de productos
   ============================================ */
.bos-taurus-content .bos-products-section {
  background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 100%);
  border-left: 5px solid var(--bos-red);
  border-right: 5px solid var(--bos-red);
}

.bos-taurus-content .bos-products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
  margin: 35px 0;
}

.bos-taurus-content .bos-product-card {
  background: var(--bos-white);
  padding: 30px;
  border: 2px solid var(--bos-red);
  border-radius: 8px;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 200px;
}

.bos-taurus-content .bos-product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 20px rgba(196,0,0,0.2);
  border-color: var(--bos-black);
}

.bos-taurus-content .bos-product-card__title {
  font-size: clamp(18px, 2.5vw, 20px);
  font-weight: 700;
  color: var(--bos-black);
  margin: 0 0 15px 0;
  line-height: 1.4;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bos-taurus-content .bos-product-card__price {
  font-size: clamp(24px, 3vw, 28px);
  font-weight: 700;
  color: var(--bos-red);
  margin: 15px 0 20px 0;
}

.bos-taurus-content .bos-product-card__link {
  display: inline-block;
  background: var(--bos-red);
  color: var(--bos-white);
  padding: 12px 30px;
  text-decoration: none;
  font-weight: 700;
  font-size: clamp(14px, 2vw, 16px);
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.bos-taurus-content .bos-product-card__link:hover {
  background: var(--bos-black);
  transform: scale(1.05);
}

@media (max-width: 768px) {
  .bos-taurus-content .bos-products {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .bos-taurus-content .bos-product-card {
    padding: 25px 20px;
  }
}


/* Fix: Remove yellow background on main menu links hover */
#top-menu a.menu__link:hover,
#top-menu .menu__link:hover,
.main-menu a:hover,
.main-menu .menu__link:hover {
  background-color: transparent !important;
  background: none !important;
}
