/* Selectores limitados al tema; no modifica cálculos ni oculta precios. */
body.ble-clasico {
    --ble-green: #33cc33;
    --ble-red: #ed1c24;
    --ble-ink: #202820;
    --ble-gutter: clamp(16px, 2.5vw, 48px);
    background: #fff;
    color: var(--ble-ink);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    letter-spacing: normal;
    font-weight: 400;
}
body.ble-clasico #page .container {
    width: 100%;
    max-width: none;
    padding-inline: var(--ble-gutter);
    box-sizing: border-box;
}
body.ble-clasico h1, body.ble-clasico h2, body.ble-clasico h3 {
    color: var(--ble-ink);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.2;
}
body.ble-clasico .main-header { background: #fff; }
body.ble-clasico .below-header { background: var(--ble-green); }
body.ble-clasico .below-header a { color: var(--ble-ink); }
body.ble-clasico .dgwt-wcas-search-wrapp { max-width: none; }
body.ble-clasico .dgwt-wcas-sf-wrapp {
    border: 1px solid #d7dfd7;
    border-radius: 12px;
    background: #fff;
}
body.ble-clasico .dgwt-wcas-search-submit {
    background: var(--ble-green);
    color: var(--ble-ink);
}
body.ble-clasico .woocommerce a.button,
body.ble-clasico .woocommerce button.button,
body.ble-clasico .woocommerce input.button {
    background: var(--ble-green);
    color: var(--ble-ink);
    border-radius: 8px;
    font-weight: 700;
    letter-spacing: normal;
    min-height: 44px;
}
body.ble-clasico .woocommerce a.button:hover,
body.ble-clasico .woocommerce button.button:hover {
    background: var(--ble-red);
    color: #fff;
}
body.ble-clasico :focus-visible { outline: 3px solid #176417; outline-offset: 3px; }
body.ble-clasico .woocommerce .quantity .qty { width: 100px; text-align: center; }
body.ble-clasico .woocommerce-message { background: #effbef; color: #204d20; border-top-color: var(--ble-green); }
body.ble-clasico .woocommerce-info { background: #eef5fc; color: #193e62; border-top-color: #28669d; }
body.ble-clasico .woocommerce-error { background: #fff0f0; color: #9b1717; border-top-color: var(--ble-red); }
body.ble-clasico .woocommerce ul.products li.product {
    border-radius: 12px;
    background: #fff;
}
body.ble-clasico .woocommerce ul.products li.product img { border-radius: 10px; }
body.ble-clasico .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem; line-height: 1.4;
}
body.ble-clasico #metaslider-id-5176 { width: 100%; max-width: 100%; }
body.ble-clasico #metaslider-id-5176 img.slider-5176 {
    width: 100%; height: auto; object-fit: contain; transform: none;
}
@media(max-width: 768px) {
    body.ble-clasico { font-size: 15px; }
    body.ble-clasico .xoo-wsc-footer { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion: reduce) {
    body.ble-clasico .woocommerce a.button { transition: none; }
}
/* 0.2.0 — Encabezado y portada propios; no dependen de ajustes del padre. */
body.ble-clasico .ble-header { background: #fff; }
.ble-topline { background:#f4f7f3; border-bottom:1px solid #e4eae2; font-size:12px; }
.ble-topline .container { display:flex; justify-content:space-between; gap:16px; padding-block:8px; }
.ble-topline a { color:#303830; }
body.ble-clasico #page .ble-header-row { display:grid; grid-template-columns: minmax(190px,280px) minmax(240px,1fr) auto; align-items:center; gap:32px; padding-block:22px; }
.ble-logo .custom-logo-link { display:block; }
.ble-logo img { width:100%; max-width:280px; max-height:95px; object-fit:contain; display:block; }
.ble-logo a { font-size:24px; color:#202820; }
.ble-logo strong { color:#bd1620; }
.ble-search { min-width:0; }
body.ble-clasico .ble-search .dgwt-wcas-search-wrapp { width:100%; max-width:none; }
.ble-header-actions { display:flex; gap:24px; }
.ble-header-actions a { display:flex; align-items:center; gap:8px; color:#202820; font-size:14px; font-weight:600; white-space:nowrap; }
.ble-header-actions a>span:first-child { font-size:28px; }
.ble-nav-bar { background:#33cc33; }
.ble-nav-row { display:flex; align-items:stretch; gap:28px; }
.ble-navigation { flex:1; min-width:0; }
body.ble-clasico .ble-menu { display:flex; flex-wrap:wrap; gap:4px 24px; padding:0; margin:0; list-style:none; }
.ble-menu>li { position:relative; }
.ble-menu a { display:block; padding:15px 8px; color:#152515; font-weight:700; font-size:15px; }
.ble-menu a:hover { text-decoration:underline; }
.ble-menu .sub-menu { display:none; position:absolute; top:100%; left:0; background:#fff; min-width:220px; box-shadow:0 8px 24px #0002; list-style:none; margin:0; padding:8px; z-index:110; }
.ble-menu li:hover>.sub-menu,.ble-menu li:focus-within>.sub-menu { display:block; }
.ble-categories { position:relative; flex:0 0 auto; }
.ble-categories summary { cursor:pointer; padding:15px 12px; font-weight:700; color:#152515; }
.ble-categories-panel { position:absolute; top:100%; left:0; width:300px; max-width:85vw; max-height:65vh; overflow:auto; background:#fff; border:1px solid #e2e7df; box-shadow:0 12px 28px #0002; z-index:120; padding:16px; }
.ble-categories-panel ul { list-style:none; padding:0; margin:0; }
.ble-categories-panel ul.children { padding-left:16px; }
.ble-categories-panel a { display:block; padding:8px; color:#202820; border-bottom:1px solid #eef1ec; font-size:14px; }
.ble-home-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:44px clamp(20px,4vw,64px); margin:24px 0; border-radius:14px; background:linear-gradient(110deg,#f1fcef,#e2f8db); }
body.ble-clasico .ble-home-intro h1 { font-size:clamp(32px,4vw,64px); margin:8px 0 16px; color:#172817; }
.ble-home-intro h1 span { color:#d51c28; }
.ble-home-intro p { font-weight:400; color:#354235; }
.ble-home-intro .ble-eyebrow { font-size:12px; font-weight:700; letter-spacing:.12em; }
.ble-catalog-button { display:inline-flex; align-items:center; gap:24px; background:#d51c28; color:#fff; padding:16px 24px; border-radius:8px; font-weight:700; white-space:nowrap; }
.ble-catalog-button:hover { background:#ad1420; color:#fff; }
.ble-home-content { padding-bottom:40px; }
body.ble-clasico .ble-home-content .elementor-section.elementor-section-boxed>.elementor-container { max-width:none; }
body.ble-clasico .ble-home-content .e-con { --container-max-width:100%; }
.ble-footer { background:#f3f6f1; border-top:4px solid #33cc33; margin-top:32px; }
.ble-footer-grid { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:40px; padding-block:40px; }
body.ble-clasico .ble-footer h2 { font-size:18px; margin:0 0 16px; }
.ble-footer p,.ble-footer a { font-size:14px; line-height:1.8; font-weight:400; color:#354235; }
.ble-footer a { display:block; overflow-wrap:anywhere; }
.ble-footer-bottom { border-top:1px solid #dce3d8; padding-block:16px; font-size:12px; }
@media(max-width:900px) {
 body.ble-clasico #page .ble-header-row { grid-template-columns:1fr auto; gap:16px; padding-block:16px; }
 .ble-logo img { max-width:220px; max-height:72px; }
 .ble-search { grid-column:1/-1; grid-row:2; }
 .ble-header-actions { gap:16px; }
 .ble-nav-row { gap:8px; }
 body.ble-clasico .ble-menu { gap:0 8px; }
 .ble-menu a { font-size:13px; padding:15px 5px; }
 .ble-home-intro { align-items:flex-start; flex-direction:column; padding:28px; }
 .ble-footer-grid { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:480px) {
 .ble-topline .container { flex-direction:column; gap:0; }
 .ble-header-actions a { font-size:12px; gap:4px; }
 .ble-header-actions { gap:12px; }
 .ble-logo img { max-width:160px; }
 .ble-nav-row { flex-direction:column; gap:0; }
 .ble-categories summary { padding:10px 8px; }
 .ble-menu .sub-menu { position:static; box-shadow:none; }
}
/* 0.2.1 — revisión visual de la tienda publicada. */
body.ble-clasico .ble-nav-bar .ble-menu>li>a,
body.ble-clasico .ble-nav-bar .ble-categories>summary {
    color:#fff;
    font-weight:700;
    text-shadow:0 1px 2px rgba(0,0,0,.3);
    min-height:48px;
    box-sizing:border-box;
}
body.ble-clasico .ble-nav-bar .ble-menu>li>a:hover,
body.ble-clasico .ble-nav-bar .ble-menu>li>a:focus-visible,
body.ble-clasico .ble-categories[open]>summary {
    color:#fff;
    background:rgba(0,0,0,.16);
    border-radius:6px;
}
body.ble-clasico .ble-nav-bar .ble-menu .sub-menu a,
body.ble-clasico .ble-categories-panel a {
    color:#202820;
    text-shadow:none;
}
body.ble-clasico .ble-menu .sub-menu a:hover,
body.ble-clasico .ble-categories-panel a:hover { background:#effaeb; }
.ble-categories summary { list-style:none; }
.ble-categories summary::-webkit-details-marker { display:none; }
body.ble-clasico .ble-home-intro { padding-block:30px; margin-block:20px; }
body.ble-clasico .ble-home-intro h1 { font-size:clamp(32px,3.7vw,56px); }
body.ble-clasico .ble-home-intro p:last-child { margin-bottom:0; }
body.ble-clasico .ble-topline .container { padding-right:90px; }
body.ble-clasico .ble-search .dgwt-wcas-sf-wrapp {
    border-radius:12px;
    border-color:#d7dfd7;
}
body.ble-clasico .ble-header-actions svg { flex:none; }
body.ble-clasico .ble-header-actions a { min-height:44px; }
@media(max-width:480px) {
    body.ble-clasico #page .ble-header-row { column-gap:10px; }
    body.ble-clasico .ble-header-actions { gap:10px; }
    body.ble-clasico .ble-header-actions a { flex-direction:column; gap:2px; }
    body.ble-clasico .ble-home-intro { padding:24px 20px; }
    body.ble-clasico .ble-catalog-button { width:100%; justify-content:center; box-sizing:border-box; }
}
/* 0.2.2 — estructura propia para evitar el contenedor alterado en producción. */
body.ble-clasico #page>.ble-footer {
    clear:both; display:block; width:100%; box-sizing:border-box;
    background:#f4f7f2; border-top:4px solid #33cc33; margin-top:24px;
}
body.ble-clasico #page .ble-footer-layout {
    display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,.9fr);
    gap:36px; margin:0; padding:44px max(var(--ble-gutter),24px);
    width:100%; max-width:none; box-sizing:border-box; background:transparent;
}
body.ble-clasico .ble-footer-layout>* { min-width:0; text-align:left; }
body.ble-clasico .ble-footer-layout h2 {
    margin:0 0 18px; padding-bottom:12px; font-size:16px;
    line-height:1.4; letter-spacing:normal; color:#202820; position:relative;
}
.ble-footer-layout h2::after { content:''; position:absolute; bottom:0; left:0; width:32px; height:3px; background:#33cc33; }
body.ble-clasico .ble-footer-layout p,
body.ble-clasico .ble-footer-layout address,
body.ble-clasico .ble-footer-layout dl {
    font-size:14px; line-height:1.7; font-weight:400; font-style:normal; color:#475047; margin:0 0 14px;
}
body.ble-clasico .ble-footer-layout a {
    display:block; width:fit-content; max-width:100%; padding-block:5px;
    font-size:14px; line-height:1.6; color:#253525; overflow-wrap:anywhere;
}
body.ble-clasico .ble-footer-layout a:hover { color:#145c14; text-decoration:underline; }
body.ble-clasico .ble-footer-brand .custom-logo-link { padding:0; margin-bottom:18px; }
.ble-footer-brand img { display:block; width:auto; max-width:100%; max-height:72px; object-fit:contain; }
body.ble-clasico .ble-footer-layout .ble-footer-catalog {
    display:inline-flex; gap:20px; align-items:center; border:1px solid #b9c9b5;
    border-radius:7px; padding:9px 14px; font-weight:700;
}
body.ble-clasico .ble-footer-hours dt { font-weight:600; margin:0; }
body.ble-clasico .ble-footer-hours dd { margin:0 0 12px; font-weight:400; }
body.ble-clasico .ble-footer-note { font-size:12px; }
body.ble-clasico .ble-footer-legal {
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 24px;
    border-top:1px solid #dce4d7; padding:18px max(var(--ble-gutter),24px);
    padding-right:max(var(--ble-gutter),90px); font-size:12px; color:#546054;
    line-height:1.6; box-sizing:border-box;
}
@media(max-width:1100px) {
 body.ble-clasico #page .ble-footer-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
}
@media(max-width:600px) {
 body.ble-clasico #page .ble-footer-layout { grid-template-columns:minmax(0,1fr); gap:24px; padding:30px 80px 30px 20px; }
 body.ble-clasico .ble-footer-layout>div+div,
 body.ble-clasico .ble-footer-layout>nav { border-top:1px solid #dce4d7; padding-top:20px; }
 body.ble-clasico .ble-footer-layout a { min-height:36px; }
 body.ble-clasico .ble-footer-legal { padding:18px 80px 24px 20px; flex-direction:column; }
}
/* 0.2.3 — mapa original de Google Maps. */
body.ble-clasico .ble-location {
 display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,2.5fr);
 gap:32px; align-items:center; margin:0 max(var(--ble-gutter),24px) 32px;
 padding:24px 0 0; border-top:1px solid #dce4d7;
}
body.ble-clasico .ble-location h2 { font-size:20px; line-height:1.35; margin:0 0 14px; }
body.ble-clasico .ble-location p { margin:0 0 14px; }
body.ble-clasico .ble-location a { color:#205420; text-decoration:underline; }
body.ble-clasico .ble-location iframe {
 display:block; width:100%; height:280px; max-width:100%; border:0; border-radius:12px;
}
@media(max-width:700px) {
 body.ble-clasico .ble-location { grid-template-columns:minmax(0,1fr); gap:20px; margin-inline:20px; }
 body.ble-clasico .ble-location-copy { padding-right:60px; }
 body.ble-clasico .ble-location iframe { height:260px; }
}
/* 0.2.4 — MetaSlider 5176: imágenes originales 1920×960, proporción 2:1.
   Evita el recorte observado: imagen 598px dentro de viewport de 430px. */
body.ble-clasico #metaslider-id-5176,
body.ble-clasico #metaslider_container_5176,
body.ble-clasico #metaslider_5176 {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
}
body.ble-clasico #metaslider_5176 .flex-viewport {
    height:auto !important;
    aspect-ratio:2 / 1;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden;
}
body.ble-clasico #metaslider_5176 .slides {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
}
body.ble-clasico #metaslider_5176 .slides>li {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
}
body.ble-clasico #metaslider-id-5176 img.slider-5176 {
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
}
/* 0.2.5 — cuenta verde, iconos y centrado del botón de WhatsApp existente. */
body.ble-clasico .ble-header-actions a { color:#33cc33; }
body.ble-clasico .ble-header-actions a:hover { color:#238523; }
body.ble-clasico .ble-menu>li>a { display:flex; align-items:center; gap:9px; }
.ble-menu-icon { width:22px; height:22px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
body.ble-clasico #sendbtn.floating_button {
    display:flex !important; align-items:center !important; justify-content:center !important;
    width:55px !important; height:55px !important; padding:0 !important;
    box-sizing:border-box !important; border-radius:50% !important;
}
body.ble-clasico #sendbtn .floating_button_icon {
    display:block !important; position:static !important;
    width:30px !important; height:30px !important;
    margin:0 !important; padding:0 !important; transform:none !important;
    background-position:center !important; background-size:contain !important; background-repeat:no-repeat !important;
    flex:0 0 30px; line-height:30px !important;
}
body.ble-clasico #sendbtn .label-container { position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%); }
@media(max-width:480px) {
    .ble-menu-icon { width:19px; height:19px; }
    body.ble-clasico .ble-menu>li>a { gap:6px; }
}
/* 0.2.6 — equilibrio de cabecera y slider de portada.
   Se reduce el contenedor: FlexSlider recalcula medidas al cargar. */
@media(min-width:901px) {
 body.ble-clasico #page .ble-header-row {
    grid-template-columns:minmax(280px,380px) minmax(240px,650px) auto;
    justify-content:space-between; column-gap:36px;
 }
 body.ble-clasico .ble-logo img {
    width:100%; max-width:380px; max-height:118px;
 }
 body.ble-clasico .ble-search { width:100%; max-width:650px; justify-self:center; }
 body.ble-clasico .ble-home #metaslider-id-5176 {
    width:70% !important; max-width:70% !important; margin-inline:auto !important;
 }
}
@media(min-width:901px) and (max-width:1100px) {
 body.ble-clasico #page .ble-header-row {
    grid-template-columns:minmax(260px,320px) minmax(220px,1fr) auto;
    column-gap:24px;
 }
}
/* 0.2.7 — jerarquía de títulos y valores; no altera precios ni visibilidad. */
body.ble-clasico .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.ble-clasico .woocommerce ul.products li.product h2,
body.ble-clasico .wpcp-product-title,
body.ble-clasico .wpcp-product-title a,
body.ble-clasico .wpcp-product-carousel .wpcp-single-item h2,
body.ble-clasico .wpcp-product-carousel .wpcp-single-item h2 a {
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    color:#202820 !important;
    letter-spacing:normal !important;
}
body.ble-clasico .woocommerce ul.products li.product .price,
body.ble-clasico .woocommerce ul.products li.product .price .amount,
body.ble-clasico .wpcp-product-price,
body.ble-clasico .wpcp-product-price .amount {
    font-size:20px !important;
    font-weight:700 !important;
    line-height:1.45 !important;
    color:#202820 !important;
}
body.ble-clasico .woocommerce ul.products li.product .price del,
body.ble-clasico .woocommerce ul.products li.product .price del .amount,
body.ble-clasico .wpcp-product-price del,
body.ble-clasico .wpcp-product-price del .amount {
    font-size:15px !important;
    font-weight:400 !important;
    color:#6b716b !important;
}
body.ble-clasico .woocommerce ul.products li.product .price ins,
body.ble-clasico .wpcp-product-price ins { text-decoration:none; background:transparent; }
body.ble-clasico .single-product .product_title {
    font-size:clamp(25px,2.4vw,36px) !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    color:#202820 !important;
}
body.ble-clasico .single-product .summary .price,
body.ble-clasico .single-product .summary .price .amount {
    font-size:26px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    color:#202820 !important;
}
body.ble-clasico .single-product .summary .price del,
body.ble-clasico .single-product .summary .price del .amount {
    font-size:18px !important; font-weight:400 !important; color:#6b716b !important;
}
body.ble-clasico .woocommerce .price small,
body.ble-clasico .wpcp-product-price small {
    font-size:12px !important; font-weight:400 !important; line-height:1.5 !important;
}
body.ble-clasico .ble-home-content h3 { font-size:20px; font-weight:700; }
@media(max-width:600px) {
 body.ble-clasico .woocommerce ul.products li.product .woocommerce-loop-product__title,
 body.ble-clasico .woocommerce ul.products li.product h2,
 body.ble-clasico .wpcp-product-title,
 body.ble-clasico .wpcp-product-title a,
 body.ble-clasico .wpcp-product-carousel .wpcp-single-item h2,
 body.ble-clasico .wpcp-product-carousel .wpcp-single-item h2 a { font-size:16px !important; }
 body.ble-clasico .woocommerce ul.products li.product .price,
 body.ble-clasico .woocommerce ul.products li.product .price .amount,
 body.ble-clasico .wpcp-product-price,
 body.ble-clasico .wpcp-product-price .amount { font-size:18px !important; }
}
/* 0.2.8 — FiboSearch y Side Cart: énfasis tipográfico, sin alterar lógica. */
body.ble-clasico .dgwt-wcas-suggestions-wrapp .dgwt-wcas-st-title,
body.ble-clasico .dgwt-wcas-suggestions-wrapp .dgwt-wcas-st-title strong {
    font-weight:700 !important;
}
body.ble-clasico .xoo-wsc-container .xoo-wsc-product,
body.ble-clasico .xoo-wsc-container .xoo-wsc-product a,
body.ble-clasico .xoo-wsc-container .xoo-wsc-product span,
body.ble-clasico .xoo-wsc-container .xoo-wsc-product bdi,
body.ble-clasico .xoo-wsc-container .xoo-wsc-product input,
body.ble-clasico .xoo-wsc-container .xoo-wsc-product button,
body.ble-clasico .xoo-wsc-container .xoo-wsc-sum-col,
body.ble-clasico .xoo-wsc-container .xoo-wsc-sum-col a,
body.ble-clasico .xoo-wsc-container .xoo-wsc-sum-col .amount,
body.ble-clasico .xoo-wsc-container .xoo-wsc-sum-col bdi,
body.ble-clasico .xoo-wsc-container .xoo-wsc-header,
body.ble-clasico .xoo-wsc-container .xoo-wsc-header a,
body.ble-clasico .xoo-wsc-container .xoo-wsc-header button,
body.ble-clasico .xoo-wsc-container .xoo-wsc-header span,
body.ble-clasico .xoo-wsc-container .xoo-wsc-footer,
body.ble-clasico .xoo-wsc-container .xoo-wsc-footer a,
body.ble-clasico .xoo-wsc-container .xoo-wsc-footer button,
body.ble-clasico .xoo-wsc-container .xoo-wsc-footer span,
body.ble-clasico .xoo-wsc-container .xoo-wsc-footer bdi {
    font-weight:700 !important;
}
/* Conserva la fuente de iconos del plugin: solo cambia el peso de textos. */
