@import 'account.css';

/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

/* ─── Product card B2B — base layout ─── */
.product-miniature-layout-2 .product-miniature-default {
    border: 1px solid #ECEEF2;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.15s ease;
}
.product-miniature-layout-2 .product-miniature-default:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
}
.product-miniature-layout-2 .prod {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.product-miniature-layout-2 .prod-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 10px 12px 12px;
}

/* ─── Image container ─── */
.product-miniature-layout-2 .thumbnail-container {
    height: 200px;
    overflow: hidden;
}
.product-miniature-layout-2 .thumbnail-container .product-thumbnail {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.product-miniature-layout-2 .thumbnail-container picture {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.product-miniature-layout-2 .thumbnail-container img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.menu-home {
    background: #343A40;
}
.menu-home a {
    color: #fff !important;
    padding: 12px 15px 12px 45px;
    display: block;
}
.menu-home a:hover{
	background-color: #1d2227 !important;
}
.menu-home .link1 a{
    background: url('../img/home-menu-1.png') no-repeat 10px 15px;
}
.menu-home .link2 a{
    background: url('../img/home-menu-2.png') no-repeat 10px 15px;
}
.menu-home .link3 a{
    background: url('../img/home-menu-3.png') no-repeat 10px 15px;
}
.menu-home .link4 a{
    background: url('../img/home-menu-4.png') no-repeat 12px 17px;
    background-size: 20px 20px;
}
.menu-home .link5 a{
    background: url('../img/home-menu-5.png') no-repeat 10px 15px;
}
.menu-home .link6 a{
    background: url('../img/home-menu-6.png') no-repeat 10px 15px;
}
.menu-home .link7 a{
    background: url('../img/home-menu-7.png') no-repeat 10px 15px;
}
.block-iqitcontactpage {
    color: #333333;
}
.block-iqitcontactpage h5 {
    display: none;
}
.block-iqitcontactpage h3 {
    font-size: 18px;
    margin-top: 30px;
}
.block-iqitcontactpage strong{
    color: #31358B;
}
.block-iqitcontactpage img{
    margin-top: -30px;
}
.block-links ul>li a{
    padding-left: 0;
}
.block-links ul>li a:before{
    content: none;
}
#footer .block-title, #checkout-footer .block-title{
    font-size: 15px;
}
.block-newsletterpre h3 {
    font-size: 18px;
    text-transform: uppercase;
}
span.psgdpr_consent_checkbox_span {
    float: left;
}
#footer .ps-emailsubscription-block .newsletter-input-group .btn-subscribe, #checkout-footer .ps-emailsubscription-block .newsletter-input-group .btn-subscribe {
    padding-left: 45px;
    padding-right: 45px;
    color: #fff;
    text-transform: uppercase;
}
#footer-container-first {
    padding: 55px 0 0;
}
#header .desktop-header-style-1 .col-header-center .search-widget, #header .desktop-header-style-2 .col-header-center .search-widget {
    max-width: 236px;
    float: right;
    margin-right: 25px;
}
#cart-toogle, a.header-btn.header-user-btn {
    display: flex !important;
    flex-flow: row !important;
    align-items: center;
}
#cart-toogle, a.header-btn.header-user-btn {
    display: flex !important;
    flex-flow: row !important;
    align-items: center;
}
#cart-toogle img, a.header-btn.header-user-btn img {
    margin-right: 10px;
    margin-top: 6px;
}
.cbp-vertical-title img {
    margin-right: 5px;
}
#cbp-hrmenu1 .cbp-vertical-title {
    margin-right: 15px;
}

/* "View" button shown when product runs out of stock in card — match add-to-cart size */
.product-add-cart a.btn.btn-product-list {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 48px;
    height: 36px;
    padding: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
    background: #31358B;
    border: 0;
    border-radius: 0;
    text-decoration: none;
    transition: background 0.15s ease;
}
.product-add-cart a.btn.btn-product-list:hover,
.product-add-cart a.btn.btn-product-list:focus {
    background: #25286b;
    color: #fff;
    text-decoration: none;
}
.product-add-cart a.btn.btn-product-list::before {
    content: "\f06e"; /* fa-eye */
    font-family: "FontAwesome";
    font-weight: 400;
    font-size: 14px;
}

button.btn.btn-product-list.add-to-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    min-width: 48px;
    padding: 0 14px;
    background: #111;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
    flex-shrink: 0;
}
button.btn.btn-product-list.add-to-cart:hover {
    background: #2A2C7F;
    transform: translateY(-1px);
}
button.btn.btn-product-list.add-to-cart img {
    display: block;
    width: 18px;
    height: auto;
    pointer-events: none;
}
button.btn.btn-product-list.add-to-cart .spinner-icon {
    font-size: 14px;
    color: #fff;
}
.products-grid .product-add-cart {
    margin: 0;
}
.product-miniature .input-group-add-cart {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}
.product-miniature-layout-2 .product-category-name {
    font-size: 10.5px;
    font-weight: 800;
    color: #2A2C7F;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.products-grid .product-miniature-default .product-title{
    font-size: 15px;
    text-transform: uppercase;
}
.product-miniature-layout-2 .product-title {
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: none;
    color: #0E1220;
}
.product-miniature-layout-2 .product-title a {
    color: inherit;
    text-decoration: none;
}
.product-miniature-layout-2 .product-reference {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 12px;
    font-weight: 600;
    color: #7B8294;
    margin-top: 2px;
}
.product-miniature-layout-2 .product-reference a {
    color: inherit;
    text-decoration: none;
}

/* ─── Warehouse stock block (prod-wh) ─── */
.prod-wh {
    padding: 0;
    margin: 6px 0;
    max-width: 400px;
}
.prod-wh-head {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-bottom: 8px;
}
.prod-wh-head .ic {
    width: 22px;
    height: 22px;
    border-radius: 4px;
    background: #F7F8FA;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}
.prod-wh-head .ic svg {
    width: 13px;
    height: 13px;
    stroke: #525868;
    fill: none;
}
.prod-wh-head .t {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    flex: 1;
}
.prod-wh-head .t strong {
    font-size: 12px;
    color: #0E1220;
    font-weight: 700;
}
.prod-wh-head .t small {
    font-size: 11px;
    color: #7B8294;
    font-weight: 600;
}
.prod-wh-head .t small b {
    color: #2A2F3E;
    font-weight: 800;
}
.prod-wh-list {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-left: 30px;
}
.prod-wh-list .it {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: #2A2F3E;
    font-weight: 600;
    line-height: 1.35;
}
.prod-wh-list .it.out {
    color: #9198A8;
}
.prod-wh-list .it .d {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #128A4B;
    box-shadow: 0 0 0 2px rgba(18,138,75,.12);
    flex-shrink: 0;
}
.prod-wh-list .it.out .d {
    background: #B91C1C;
    box-shadow: 0 0 0 2px rgba(185,28,28,.10);
}
.prod-wh-list .it .qty {
    margin-left: auto;
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 10.5px;
    color: #7B8294;
    font-weight: 700;
}

/* ─── Pickup warehouse list (checkout carrier extra content) ─── */
.lblwarehouse-pickup {
    margin: 12px 0 24px;
    padding: 0 16px;
}
.lblwarehouse-pickup__title {
    font-size: 13px;
    font-weight: 700;
    color: #0E1220;
    margin-bottom: 10px;
}
.lblwarehouse-pickup__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.lblwarehouse-pickup__item {
    margin: 0;
}
.lblwarehouse-pickup__option {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 12px;
    background: #FFF;
    border: 1px solid #E4E6EC;
    border-radius: 5px;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
    margin: 0;
}
.lblwarehouse-pickup__option:hover {
    border-color: #B8BDCB;
}
.lblwarehouse-pickup__radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.lblwarehouse-pickup__radio-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #C6CAD3;
    background: #FFF;
    flex-shrink: 0;
    margin-top: 2px;
    position: relative;
    transition: border-color .15s;
}
.lblwarehouse-pickup__radio:checked + .lblwarehouse-pickup__radio-dot {
    border-color: #128A4B;
}
.lblwarehouse-pickup__radio:checked + .lblwarehouse-pickup__radio-dot::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #128A4B;
}
.lblwarehouse-pickup__radio:checked ~ .lblwarehouse-pickup__body {
    color: #0E1220;
}
.lblwarehouse-pickup__option:has(.lblwarehouse-pickup__radio:checked) {
    border-color: #128A4B;
    box-shadow: 0 0 0 3px rgba(18,138,75,.10);
}
.lblwarehouse-pickup__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}
.lblwarehouse-pickup__name {
    font-size: 14px;
    font-weight: 700;
    color: #0E1220;
}
.lblwarehouse-pickup__address {
    font-size: 12.5px;
    color: #525868;
    font-weight: 500;
}
.lblwarehouse-pickup__locality {
    font-size: 12px;
    color: #7B8294;
    font-weight: 500;
}

/* ─── Pickup confirmation block (order confirmation page) ─── */
.lblwarehouse-pickup-confirmation {
    margin: 20px 0;
    padding: 18px 20px;
    background: #F7F8FA;
    border-left: 3px solid #128A4B;
    border-radius: 4px;
}
.lblwarehouse-pickup-confirmation__head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.lblwarehouse-pickup-confirmation__icon {
    color: #128A4B;
    margin-top: 2px;
    flex-shrink: 0;
}
.lblwarehouse-pickup-confirmation__title {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #0E1220;
    margin-bottom: 2px;
}
.lblwarehouse-pickup-confirmation__name {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: #128A4B;
}
.lblwarehouse-pickup-confirmation__notice {
    margin: 12px 0 0;
    padding-left: 34px;
    font-size: 13.5px;
    color: #0E1220;
    line-height: 1.45;
}
.lblwarehouse-pickup-confirmation__notice strong {
    color: #128A4B;
    font-weight: 700;
}
.lblwarehouse-pickup-confirmation__body {
    margin-top: 10px;
    padding-left: 34px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    color: #525868;
}
.products-grid .product-miniature-layout-2 .product-description {
    padding-top: 0;
}
/* ─── Price block (layout-2) ─── */
.product-miniature-layout-2 .prod-price-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: auto;
    gap: 8px;
}
.product-miniature-layout-2 .strike.regular-price {
    font-size: 11px;
    color: #7B8294;
    text-decoration: line-through;
    display: block;
    margin-bottom: 4px;
}
.product-miniature-layout-2 .net.product-price {
    font-family: 'Archivo', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: #0E1220;
    line-height: 1;
    letter-spacing: -0.01em;
    display: block;
}
.product-miniature-layout-2 .prod-tax-label {
    font-size: 10.5px;
    color: #7B8294;
    display: block;
    margin-top: 3px;
}
.product-miniature-grid .product-price{
    font-size: 20px;
}
span.precioslist {
    font-size: 11px;
    color: #B2B2B2;
}
table.preciostabla td {
    padding: 0 10px 0 0;
    line-height: 17px;
}
table.preciostabla {
    margin-top: 0px;
}
.category-image div#js-product-list-header {
    position: absolute;
    margin-top: 40px;
    margin-left: 2rem;
}
.category-image div#js-product-list-header h1{
    color: #fff;
}
.category-image .category-description {
    margin-top: 80px;
    color: #fff;
}
#content-wrapper .page-title{
    border: 0;
}
.products-selection .view-switcher {
    visibility: visible;
}
span.disponibilidad-div {
    font-size: 12px;
    font-weight: bold;
    margin-top: 5px;
    display: block;
}
div#js-product-list span.disponibilidad-div{
    display: none;
}
div#js-product-list .product-miniature .list-product-categ {
    width: 27%;
}
/*#js-product-list .js-product-miniature-wrapper.js-product-miniature-wrapper {
    flex: 0 0 100%;
    max-width: 100%;
}*/
.disponibilidad-div-listado.row {
    margin-top: 0px;
    font-size: 12px;
    flex: 1 1 100%;
    padding-left: 50px;
    line-height: 14px;
}
.disponibilidad-div-listado.row .col-3 {
    display: flex;
    align-items: baseline;
    margin-bottom: 10px;
}
span.dispo-info {
    border: 1px solid #b0b0b0;
    padding: 3px;
    display: inline-block;
    font-size: 8px;
    height: 11px;
    width: 11px;
    border-radius: 10px;
    line-height: 5px;
    color: #b0b0b0;
    margin-right: 5px;
}
span.dispo-quan {
    width: 8px;
    height: 8px;
    display: inline-block;
    background: #ccc;
    border: 1px solid #ccc;
    border-radius: 7px;
    margin-left: 30px;
}
span.dispo-quan.green {
    background: green;
    border: 1px solid green;
}
span.dispo-quan.red {
    background: #fff;
    border: 1px solid red;
}
span.dispo-name {
    max-width: 155px;
    display: inline-grid;
}
div#js-product-list .products-grid .product-miniature-layout-2 .product-description {
    width: 100%;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0;
}
#wrapper .block-title{
    border-bottom: 0;
}
.images-container img {
    border: 1px solid #e4e4e4;
}
#product-images-thumbs .swiper-slide {
    height: 132px !important;
}
#content-wrapper .product_header_container .page-title {
    text-transform: uppercase;
    margin: 0 !important;
    padding: 0 !important;
}
.product_header_container .product-reference {
    color: #A5A5A5;
}
.product-discount .regular-price{
    color: #D9D9D9;
}
#product nav.breadcrumb {
    margin-bottom: 35px;
}
.tax-shipping-delivery-label {
    color: #BABABA;
}
.product-additional-info {
    border-top: 0px solid rgba(160,160,160,.25);
    padding-top: 0rem;
}
.product-tabs {
    margin-bottom: 3rem;
    margin-top: 1rem;
}
.tabs.product-tabs.product-sections .section-title {
    display: none;
}
.definition-list dl, .product-features>dl.data-sheet {
    border: 1px solid #e4e4e4;
    border-bottom: 0;
}
.product-features>dl.data-sheet dd.value, .product-features>dl.data-sheet dt.name {
    margin: 0;
    padding: 8px;
    font-weight: 500;
}
.product-features > dl.data-sheet dt.name:nth-of-type(even),
.product-features > dl.data-sheet dt.name:nth-of-type(even) + dd.value {
  background: #F5F5F5;
}
.product-features>dl.data-sheet dd.value{
    text-transform: uppercase;
}
#product .product-quantities {
    display: none;
}
.product_header_container {
    padding-bottom: 0rem;
    margin-bottom: 0rem;
    border-bottom: 0px solid rgba(160,160,160,.25);
}
button#iqit-wishlist-product-btn {
    background: #F5F5F5;
    color: #000;
}
button.btn.btn-primary.btn-lg.add-to-cart img {
    max-width: 18px !important;
    margin-right: 8px;
    margin-top: -3px;
}
button.btn.btn-primary.btn-lg.add-to-cart {
    text-transform: uppercase;
}
#product .disponibilidad-div-listado.row {
    padding: 0;
}
#product .disponibilidad-div-listado.row .col-12{
    padding-bottom: 10px;
}
#product  section.product-accessories .disponibilidad-div-listado.row {
    display: none;
}
#content-wrapper .section-title {
    font-size: 26px;
    border: 0;
    margin-bottom: 10px;
}
body:not(#category) #content-wrapper .page-title {
    margin-top: 10px;
    font-size: 32px;
    margin-bottom: 0;
    color: #000;
}
.botones-cart {
    margin-bottom: 24px;
}
.botones-cart .bot {
    background: #111;
    padding: 9px 18px;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1.2;
    border-radius: 8px;
    font-size: .875rem;
    font-weight: 600;
    transition: background .15s, transform .1s;
    text-decoration: none !important;
}
.botones-cart .bot:hover {
    background: #333;
    transform: translateY(-1px);
}
.botones-cart .bot img {
    width: 16px;
    height: 16px;
    object-fit: contain;
    flex-shrink: 0;
}
.botones-cart .bot.vac {
    background: #D14B4B;
}
.botones-cart .bot.vac:hover {
    background: #b83c3c;
}
div#checkout-header .container div {
    margin: 0 auto;
    text-align: center;
    margin-top: -40px;
}
div#checkout-header a.text-muted.mt-2.mb-2.d-inline-block {
    background: #F7F7F7;
    padding: 10px;
}
body#checkout section.checkout-step .step-title {
    font-size: 14px;
}
.page-customer-account h1{
    display: none;
}
.my-account-page-content h1 {
    display: block;
    font-size: 18px !important;
    margin-top: 20px !important;
}
.my-account-page-content h6 {
    font-weight: 500;
}
.my-account-page-content {
    padding-left: 35px;
    padding-right: 35px;
}
.my-account-page-content-wrapper .my-account-side-links {
    border-right: 0;
    background: #343A40;
    padding: 20px;
}
.my-account-page-content-wrapper .my-account-side-links *{
    color: #fff;
    border: 0 !important;
}
.my-account-page-content-wrapper {
    padding: 0;
    border: none !important;
    margin: 0 !important;
}
.page-authentication #content {
    border: none !important;
    margin: 0 !important;
    padding: 0;
}
.page-customer-account #content {
    border: none !important;
    margin: 0 !important;
    padding: 24px 0 48px !important;
}
body#authentication{
    background: url(../img/login.png) left top no-repeat;
}
body#authentication nav.breadcrumb {
    display: none !important;
}
body#authentication section#wrapper {
    padding: 0;
}
.login-page.row {
    height: 100vh;
    align-items: center;
    text-align: right;
}
img.img-login {
    margin-bottom: 10px;
}
section.login-form {
    margin-top: 80px;
    max-width: 490px;
    margin-left: auto;
}
section.login-form label.col-md-2.col-form-label,
section.login-form .col-md-8 {
    flex: 100%;
    text-align: left;
}
section.login-form h5 {
    font-size: 38px;
}
button#submit-login {
    float: right;
    margin-bottom: 50px;
    margin-top: 15px;
    padding: 2px;
    background: #FFA100;
    background: linear-gradient(to right, #FFA100, #FF3D00);
    border-radius: 80px;
}
button#submit-login span{
    background: #fff;
    border-radius: 50px;
    margin: 2px;
    color: #000;
    padding: 14px 20px;
    display: inline-block;
}
.col-md-5.col-der-log h2 {
    font-size: 35px;
}
.col-md-5.col-der-log h2 strong {
    color: #989898;
    font-weight: 700;
    margin-left: 15px;
}
span.arrow-log {
    max-width: 50px;
    padding: 14px 17px !important;
}
body#password h1 {
    display: block;
}
body#password #content{
    border:0;
}
@media (min-width: 0px) and (max-width: 767px) {
    .my-account-page-content {
        padding-left: 20px;
        padding-right: 20px;
    }
    .my-account-page-content-wrapper .my-account-side-links {
        width: 98%;
    }
    #footer-container-first{
        padding: 25px 0 0;
    }
    div#footer-container-main .col {
        width: 100%;
        flex: 0 0 100%;
        margin-bottom: 20px;
    }
    .block-toggle.block-iqitcontactpage {
        padding: 10px 30px;
    }
    body#authentication {
        background: url(../img/login-m.png) left top no-repeat;
    }
    img.img-login {
        margin-top: 45px;
    }
    .col-md-5.col-der-log h2 {
        font-size: 22px;
        margin-left: 30%;
    }
    section.login-form h5 {
        font-size: 26px;
    }
    button#submit-login {
        float: none;
    }
    .disponibilidad-div-listado.row .col-3 {
        flex: 0 0 50%;
    }
    div#js-product-list .products-grid .product-miniature-layout-2 .product-description {
        flex-direction: column;
        margin-top: 10px;
    }
    .disponibilidad-div-listado.row {
        padding-left: 10px;
    }
}
/* ─────────── HEADER JMC (custom desktop header) ─────────── */
:root {
    --hjmc-orange: #EE6B1F;
    --hjmc-orange-deep: #C75416;
    --hjmc-ink: #0E1220;
    --hjmc-ink-2: #2A2F3E;
    --hjmc-muted: #7B8294;
    --hjmc-line: #E6E8EE;
    --hjmc-bg-soft: #F7F8FB;
}

/* Warehouse header-2 wrapper restyle (no markup changes) */
.header-top {
    background: #fff;
    border-bottom: 1px solid var(--hjmc-line);
}
.header-top,
#desktop-header,
.desktop-header-style-2,
.header-top #desktop-header-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Force the 3-column layout from the design (logo | search | right) */
.header-top .row.align-items-center:not(.no-gutters) {
    display: grid;
    grid-template-columns: 232px 1fr auto;
    gap: 36px;
    align-items: center;
    margin: 0;
}
/* .header-top .row.align-items-center > .col-12 {
    grid-column: 1 / -1;
} */
.header-top .col-header-left,
.header-top .col-header-center,
.header-top .col-header-right {
    flex: unset;
    width: auto;
    max-width: none;
    padding: 0;
}

/* Logo */
.header-top .col-header-left #desktop_logo img {
    max-width: 180px;
    height: auto;
}

/* Search column */
.header-top .col-header-center {
    display: flex;
    align-items: center;
}
.header-top .col-header-center #search_widget {
    width: 100%;
    max-width: 100%;
    border: 2px solid var(--hjmc-ink);
    border-radius: 6px;
    background: #fff;
    height: 48px;
    position: relative;
}
.header-top .col-header-center #search_widget form { margin: 0; height: 100%; }
.header-top .col-header-center #search_widget .input-group {
    display: flex;
    height: 100%;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.header-top .col-header-center #search_widget input,
.header-top .col-header-center #search_widget .form-control {
    flex: 1;
    height: 100%;
    border: 0 !important;
    border-radius: 4px 0 0 4px !important;
    padding: 0 18px;
    font-size: 14.5px;
    color: var(--hjmc-ink);
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    min-width: 0;
}
.header-top .col-header-center #search_widget .search-btn,
.header-top .col-header-center #search_widget button[type="submit"] {
    background: var(--hjmc-ink);
    color: #fff;
    padding: 0 22px;
    border: 0;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    height: 100%;
    min-width: 56px;
    transition: background .15s ease;
}
.header-top .col-header-center #search_widget .search-btn:hover,
.header-top .col-header-center #search_widget button[type="submit"]:hover {
    background: var(--hjmc-orange);
}
.header-top .col-header-center #search_widget .search-btn .fa { color: #fff; font-size: 16px; }

/* Right cluster — items + signin + cart aligned inline */
.header-top .col-header-right .row.no-gutters {
    align-items: center;
    flex-wrap: nowrap;
}
.hjmc__extra-items {
    display: flex;
    align-items: center;
    gap: 0;
}
.hjmc__search #search_widget {
    flex: 1;
    width: 100%;
    border: 2px solid var(--hjmc-ink);
    border-radius: 6px;
    background: #fff;
    height: 48px;
    position: relative;
}
.hjmc__search #search_widget input,
.hjmc__search #search_widget .form-control {
    border-top-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
}
.hjmc__search #search_widget .search-btn,
.hjmc__search #search_widget button[type="submit"] {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}
.hjmc__search #search_widget form { margin: 0; height: 100%; }
.hjmc__search #search_widget .input-group {
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.hjmc__search #search_widget input,
.hjmc__search #search_widget .form-control {
    flex: 1;
    height: 100%;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 18px;
    font-size: 14.5px;
    font-family: inherit;
    color: var(--hjmc-ink);
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    min-width: 0;
}
.hjmc__search #search_widget input::placeholder { color: var(--hjmc-muted); }
.hjmc__search #search_widget .search-btn,
.hjmc__search #search_widget button[type="submit"] {
    background: var(--hjmc-ink);
    color: #fff;
    padding: 0 22px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13.5px;
    letter-spacing: .02em;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    white-space: nowrap;
    height: 100%;
    min-width: 56px;
    transition: background .15s ease;
}
.hjmc__search #search_widget .search-btn:hover,
.hjmc__search #search_widget button[type="submit"]:hover {
    background: var(--hjmc-orange);
}
.hjmc__search #search_widget .search-btn .fa,
.hjmc__search #search_widget button[type="submit"] .fa {
    font-size: 16px;
    color: #fff;
}
.hjmc__search #search_widget .search-btn::after,
.hjmc__search #search_widget button[type="submit"]::after {
    content: 'Buscar';
}

/* Right cluster */
.hjmc__right {
    display: flex;
    align-items: center;
    gap: 4px;
}
.hjmc__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 8px 14px;
    min-width: 76px;
    border-radius: 6px;
    color: var(--hjmc-ink-2);
    text-decoration: none;
    transition: background .15s ease;
}
.hjmc__item:hover {
    background: var(--hjmc-bg-soft);
    color: var(--hjmc-ink-2);
    text-decoration: none;
}
.hjmc__item svg {
    width: 22px;
    height: 22px;
    stroke: var(--hjmc-ink-2);
}
.hjmc__lbl {
    font-size: 11px;
    color: var(--hjmc-ink-2);
    font-weight: 600;
    letter-spacing: .01em;
}

/* Cart pill */
.hjmc__cart {
    background: var(--hjmc-ink);
    color: #fff !important;
    border-radius: 6px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: 10px;
    text-decoration: none;
    transition: background .15s ease;
}
.hjmc__cart:hover {
    background: var(--hjmc-orange-deep);
    color: #fff !important;
    text-decoration: none;
}
.hjmc__cart svg { width: 22px; height: 22px; stroke: #fff; }
.hjmc__cart-l {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}
.hjmc__cart-l small {
    font-size: 10.5px;
    opacity: .65;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.hjmc__cart-l strong {
    font-size: 16px;
    font-weight: 700;
}
.hjmc__cart-c {
    background: var(--hjmc-orange);
    color: #fff;
    min-width: 22px;
    height: 22px;
    border-radius: 100px;
    font-size: 11.5px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
}

/* Responsive */
@media (max-width: 1199px) {
    .hjmc__grid { grid-template-columns: 160px 1fr auto; gap: 20px; }
    .hjmc__logo img { max-width: 140px; }
    .hjmc__item { min-width: 64px; padding: 6px 10px; }
}
@media (max-width: 991px) {
    .hjmc__grid {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 12px 0;
    }
    .hjmc__right { justify-content: flex-end; flex-wrap: wrap; }
}



/* ─────────── HOME CATEGORIES BLOCK (jmc-cats) — single-line, no icons ─────────── */
.jmc-cats { margin: 28px 0; }

.jmc-cats__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.jmc-cats__ttl { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
/* .jmc-cats__tag / .jmc-cats__h2 typography lives on .jmc-section-ttl__* (custom.css bottom) — kept here only for layout */
.jmc-cats__count {
    font-size: 12.5px;
    color: #7B8294;
}
.jmc-cats__count strong { color: var(--hjmc-ink-2); font-weight: 700; }
.jmc-cats__right { flex-shrink: 0; }
.jmc-cats__more {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    color: var(--hjmc-orange-deep) !important;
    font-weight: 700;
    text-decoration: none;
    transition: gap .15s ease;
}
.jmc-cats__more:hover { gap: 9px; text-decoration: none; color: var(--hjmc-orange-deep) !important; }
.jmc-cats__more svg { width: 12px; height: 12px; }

/* Grid 8 cols — single line */
.jmc-cats__grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 8px;
}

.jmc-cat {
    background: #fff;
    border: 1px solid #E6E8EE;
    border-radius: 6px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    text-decoration: none !important;
    color: inherit;
    transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
    min-height: 46px;
}
.jmc-cat:hover {
    border-color: var(--hjmc-ink);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(15,19,32,.06);
    text-decoration: none !important;
    color: inherit;
}
.jmc-cat__h {
    font-size: 13px;
    font-weight: 700;
    color: var(--hjmc-ink-2);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.jmc-cat__n {
    font-size: 11px;
    color: #7B8294;
    font-weight: 600;
    flex-shrink: 0;
}

/* Dark "Ver todas" card */
.jmc-cat--more {
    background: var(--hjmc-ink);
    border-color: var(--hjmc-ink);
    color: #fff !important;
    justify-content: space-between;
}
.jmc-cat--more:hover {
    background: var(--hjmc-orange-deep);
    border-color: var(--hjmc-orange-deep);
    color: #fff !important;
}
.jmc-cat--more .jmc-cat__h { color: #fff; }
.jmc-cat__arrow { width: 16px; height: 16px; flex-shrink: 0; }

/* Responsive */
@media (max-width: 1399px) {
    .jmc-cats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .jmc-cats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .jmc-cats__grid { grid-template-columns: 1fr; }
}


/* ─────────── TOPBAR (lblrejmccustom) — black B2B utility bar ─────────── */
/* LBL Top Bar — Black B2B utility bar above the header. */
.lbltopbar {
    background: #0E1220;
    color: #DADCE3;
    font-size: 12.5px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
}

.lbltopbar__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 36px;
    gap: 24px;
}

.lbltopbar__left {
    display: flex;
    gap: 22px;
    align-items: center;
    min-width: 0;
}

.lbltopbar__right {
    display: flex;
    gap: 18px;
    align-items: center;
    flex-shrink: 0;
}

.lbltopbar__item,
.lbltopbar__link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #DADCE3 !important;
    opacity: .85;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .15s ease, color .15s ease;
}

.lbltopbar__item:hover,
.lbltopbar__link:hover {
    opacity: 1;
    color: #fff !important;
    text-decoration: none;
}

.lbltopbar__sep {
    width: 1px;
    height: 14px;
    background: #2D3142;
    display: inline-block;
    flex-shrink: 0;
}

.lbltopbar__pill {
    background: linear-gradient(90deg, #EE6B1F, #F5872C);
    color: #fff;
    padding: 3px 9px;
    border-radius: 100px;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .04em;
    line-height: 1.4;
    white-space: nowrap;
    flex-shrink: 0;
}

.lbltopbar__icon {
    width: 14px;
    height: 14px;
    stroke-width: 2;
}

@media (max-width: 991px) {
    .lbltopbar__wrap { gap: 12px; }
    .lbltopbar__left { gap: 12px; }
    .lbltopbar__right { gap: 12px; }
    .lbltopbar__sep { display: none; }
}

@media (max-width: 767px) {
    .lbltopbar { font-size: 11.5px; }
    .lbltopbar__pill { font-size: 10px; padding: 2px 7px; }
    .lbltopbar__wrap { min-height: 0; padding-top: 6px; padding-bottom: 6px; flex-wrap: wrap; }
    .lbltopbar__left,
    .lbltopbar__right { flex-wrap: wrap; }
    .lbltopbar__icon { width: 12px; height: 12px; }
}

/* ============================================================
 * JMC Pool footer redesign — Portal B2B palette
 * 2026-05-19 — applied to child theme (warehouse parent untouched)
 * ============================================================ */

#footer-container-main.footer-style-1 {
    background: #0E1220;
    color: #C9CBD8;
    padding: 48px 0 36px;
    border-top: 0;
}

#footer-container-main.footer-style-1 .container > .row:has(.footer-brand-block, .footer-delegacion) {
    display: grid;
    grid-template-columns: 1.4fr repeat(4, 1fr);
    gap: 32px 32px;
    row-gap: 28px;
    align-items: flex-start;
    margin: 0;
}

/* Centro logístico Meco — fila aparte, ancho completo */
#footer-container-main.footer-style-1 .footer-delegacion.is-logistic {
    grid-column: 1 / -1;
    border-top: 1px solid #1F2332;
    padding-top: 20px;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 18px;
}
#footer-container-main.footer-style-1 .footer-delegacion.is-logistic strong {
    margin-bottom: 0;
}
#footer-container-main.footer-style-1 .footer-delegacion.is-logistic .tel {
    margin-top: 0;
    margin-left: auto;
}

#footer-container-main.footer-style-1 .container > .row:has(.footer-brand-block, .footer-delegacion) > [class*="col"] {
    flex: 1;
    max-width: 100%;
    padding: 0;
    margin: 0;
}

#footer-container-main.footer-style-1 .block-iqithtmlandbanners-html {
    margin-top: 0 !important;
}

#footer-container-main.footer-style-1 .block-title {
    display: none;
}

#footer-container-main.footer-style-1 .rte-content {
    color: #C9CBD8;
    font-size: 12.5px;
    line-height: 1.55;
}

/* Brand block (col 1, wide) */
.footer-brand-block .fb-tagline {
    font-family: 'Archivo', sans-serif;
    font-size: 13.5px;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 0.04em;
    margin-bottom: 14px;
}

.footer-brand-block .fb-desc {
    font-size: 12.5px;
    line-height: 1.55;
    color: #9498AD;
    max-width: 280px;
    margin: 0 0 18px 0;
}

.footer-brand-block .fb-social {
    display: flex;
    gap: 8px;
}

.footer-brand-block .fb-social a {
    width: 32px;
    height: 32px;
    border: 1px solid #2A2F3E;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #C9CBD8;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.footer-brand-block .fb-social a:hover {
    background: #EE6B1F;
    border-color: #EE6B1F;
    color: #fff;
}

.footer-brand-block .fb-social svg {
    width: 14px;
    height: 14px;
}

/* Delegación blocks (cols 2-6) */
.footer-delegacion {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12.5px;
    line-height: 1.55;
    color: #C9CBD8;
}

.footer-delegacion strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Archivo', sans-serif;
    font-weight: 800;
    font-size: 11.5px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
}

.footer-delegacion strong .dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #EE6B1F;
    flex-shrink: 0;
}

.footer-delegacion span {
    color: #C9CBD8;
}

.footer-delegacion .tel {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 12px;
    color: #fff;
    margin-top: 6px;
}

/* Hide newsletter container row entirely (newsletter disabled) */
#footer-container-first.footer-style-1 {
    display: none;
}

.foot-bottom-jmc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 24px;
    color: #7B8294;
    font-size: 11.5px;
}

.foot-bottom-jmc .fb-copy {
    color: #7B8294;
}

.foot-bottom-jmc .fb-links,
.foot-bottom-jmc .fb-mails {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 20px;
}

#footer-copyrights .foot-bottom-jmc a,
.foot-bottom-jmc a {
    color: #E6E8EE;
    text-decoration: none;
    transition: color .15s ease;
}

#footer-copyrights .foot-bottom-jmc a:hover,
.foot-bottom-jmc a:hover {
    color: #EE6B1F;
}

.foot-bottom-jmc .fb-mails a {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 11px;
}

.foot-bottom-jmc .fb-copy strong {
    color: #C9CBD8;
    font-weight: 700;
}

.foot-bottom-jmc .fb-links .sep {
    color: #2D3142;
    user-select: none;
}

/* Responsive: tablet & mobile */
@media (max-width: 991px) {
    #footer-container-main.footer-style-1 .container > .row:has(.footer-brand-block, .footer-delegacion) {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 28px;
    }
    .footer-brand-block { grid-column: span 3; }
    .footer-brand-block .fb-desc { max-width: none; }
}

@media (max-width: 575px) {
    #footer-container-main.footer-style-1 .container > .row:has(.footer-brand-block, .footer-delegacion) {
        grid-template-columns: 1fr 1fr;
    }
    .footer-brand-block { grid-column: span 2; }
    .foot-bottom-jmc {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ─────────── JMC Import-cart modal ─────────── */
.jmc-import-modal .modal-content {
    border: 0;
    border-radius: 8px;
    padding: 8px 4px;
}
.jmc-import-modal .modal-header {
    border-bottom: 0;
    padding: 24px 28px 8px;
}
.jmc-import-modal .modal-title {
    font-size: 22px;
    font-weight: 700;
    color: #0e1116;
    line-height: 1.25;
    margin: 0;
}
.jmc-import-modal .btn-close {
    align-self: flex-start;
}
.jmc-import-modal .modal-body {
    padding: 8px 28px 28px;
}
.jmc-import-modal__lead {
    font-size: 14px;
    color: #4a5260;
    margin: 0 0 24px;
}

.jmc-import-modal__upload-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.jmc-import-modal__section-title {
    font-size: 16px;
    font-weight: 700;
    color: #0e1116;
    margin: 0;
}
.jmc-import-modal__tpl-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #0e1116;
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background .15s ease;
}
.jmc-import-modal__tpl-btn:hover,
.jmc-import-modal__tpl-btn:focus {
    background: #2a313a;
    color: #fff !important;
    text-decoration: none;
}
.jmc-import-modal__tpl-btn svg {
    width: 18px;
    height: 18px;
    stroke: #fff;
}

.jmc-import-modal__dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 2px dashed #d3d8df;
    border-radius: 10px;
    background: #f7f8fa;
    padding: 36px 20px;
    cursor: pointer;
    margin-bottom: 24px;
    transition: background .15s ease, border-color .15s ease;
}
.jmc-import-modal__dropzone:hover {
    background: #eef2f6;
    border-color: #b9c1cc;
}
.jmc-import-modal__dropzone-icon {
    width: 36px;
    height: 36px;
    color: #6b7280;
    margin-bottom: 12px;
}
.jmc-import-modal__dropzone-title {
    font-size: 15px;
    font-weight: 700;
    color: #0e1116;
    margin-bottom: 4px;
}
.jmc-import-modal__dropzone-sub {
    font-size: 13px;
    color: #6b7280;
}
.jmc-import-modal__dropzone-formats {
    font-size: 12px;
    color: #9ca3af;
    margin-top: 8px;
}

.jmc-import-modal__format {
    background: #eef4fc;
    border-radius: 10px;
    padding: 18px 20px;
}
.jmc-import-modal__format-title {
    font-size: 14px;
    font-weight: 700;
    color: #3a76d1;
    margin-bottom: 12px;
}
.jmc-import-modal__format-group {
    margin-bottom: 12px;
}
.jmc-import-modal__format-heading {
    font-size: 13px;
    font-weight: 700;
    color: #3a76d1;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.jmc-import-modal__format-icon {
    font-size: 14px;
    line-height: 1;
}
.jmc-import-modal__format-list {
    margin: 0 0 0 22px;
    padding: 0;
    list-style: disc;
    color: #3a76d1;
    font-size: 13px;
}
.jmc-import-modal__format-list li {
    margin-bottom: 2px;
}
.jmc-import-modal__format-list li strong {
    color: #3a76d1;
}
.jmc-import-modal__format-note {
    border-radius: 8px;
    padding: 10px 14px;
    margin-top: 10px;
    font-size: 13px;
    color: #3a76d1;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
}
.jmc-import-modal__format-note--blue {
    background: #dbe7f7;
}
.jmc-import-modal__format-note--green {
    background: #d8f0d8;
    color: #2e7a2e;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
.jmc-import-modal__format-note--green strong {
    color: #2e7a2e;
}
.jmc-import-modal__format-note strong {
    color: inherit;
}
.jmc-import-modal__format-example {
    font-size: 13px;
    line-height: 1.5;
    color: #2e7a2e;
}

/* Import modal — upload/result/error states */
.jmc-import-modal__dropzone--over {
    background: #e3ecf6;
    border-color: #3a76d1;
}
.jmc-import-modal__state {
    text-align: center;
    padding: 30px 10px 10px;
}
.jmc-import-modal__state--error .jmc-import-modal__result-title { color: #c0392b; }
.jmc-import-modal__spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #d3d8df;
    border-top-color: #3a76d1;
    border-radius: 50%;
    margin: 0 auto 14px;
    animation: jmcimport-spin .9s linear infinite;
}
@keyframes jmcimport-spin { to { transform: rotate(360deg); } }
.jmc-import-modal__result-icon {
    font-size: 36px;
    line-height: 1;
    margin-bottom: 10px;
}
.jmc-import-modal__result-title {
    font-size: 16px;
    font-weight: 700;
    color: #0e1116;
    margin-bottom: 14px;
}
.jmc-import-modal__result-warn {
    text-align: left;
    background: #fff8e1;
    border: 1px solid #f3d27d;
    border-radius: 8px;
    padding: 10px 14px;
    margin: 10px 0;
    color: #6a5200;
    font-size: 13px;
}
.jmc-import-modal__result-warn strong { display: block; margin-bottom: 4px; }
.jmc-import-modal__result-list { margin: 4px 0 0 18px; padding: 0; list-style: disc; }
.jmc-import-modal__result-list code {
    background: rgba(0,0,0,0.05);
    padding: 1px 4px;
    border-radius: 3px;
    font-size: 12px;
}
.jmc-import-modal__cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #31358B;
    color: #fff !important;
    padding: 10px 24px;
    margin-top: 12px;
    border-radius: 6px;
    text-decoration: none;
    border: 0;
    font-weight: 600;
}
.jmc-import-modal__cart-btn:hover { background: #25286b; color: #fff !important; }

/* Import modal — preview table */
.jmc-import-modal__state--preview { text-align: left; padding: 18px 0 8px; }
.jmc-import-modal__state--preview .jmc-import-modal__section-title { margin: 0 0 4px; }
.jmc-import-modal__state--preview .jmc-import-modal__lead { margin: 0 0 14px; color: #4a5260; }
.jmc-preview__summary {
    background: #eef4fc;
    border: 1px solid #d3e1f5;
    color: #2c5fa8;
    font-size: 13px;
    padding: 8px 12px;
    border-radius: 6px;
    margin-bottom: 12px;
    font-weight: 600;
}
.jmc-preview__tablewrap {
    max-height: 320px;
    overflow-y: auto;
    border: 1px solid #e3e7ed;
    border-radius: 8px;
    margin-bottom: 16px;
}
.jmc-preview__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.jmc-preview__table thead th {
    background: #f7f8fa;
    color: #4a5260;
    text-align: left;
    padding: 10px 12px;
    border-bottom: 1px solid #e3e7ed;
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 1;
}
.jmc-preview__table tbody td {
    padding: 8px 12px;
    border-bottom: 1px solid #f0f2f5;
    vertical-align: middle;
}
.jmc-preview__table tbody tr:last-child td { border-bottom: 0; }
.jmc-preview__row--not_found,
.jmc-preview__row--invalid_qty { background: #fef3f2; }
.jmc-preview__row--low_stock,
.jmc-preview__row--out_of_stock { background: #fff8e1; }
.jmc-preview__row code {
    background: rgba(0,0,0,0.05);
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 12px;
}
.jmc-preview__dim { color: #9ca3af; }
.jmc-preview__table .text-right { text-align: right; }

.jmc-preview__badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.jmc-preview__badge--ok { background: #d8f0d8; color: #2e7a2e; }
.jmc-preview__badge--warn { background: #ffe6b0; color: #8a5b00; }
.jmc-preview__badge--err { background: #fbd9d3; color: #b03020; }

.jmc-preview__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}
.jmc-import-modal__back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #D14B4B;
    color: #fff !important;
    padding: 10px 24px;
    margin-top: 12px;
    border-radius: 6px;
    text-decoration: none;
    border: 0;
    font-weight: 600;
    transition: background 0.15s ease;
}
.jmc-import-modal__back-btn:hover,
.jmc-import-modal__back-btn:focus {
    background: #b03d3d;
    color: #fff !important;
}
.jmc-preview__empty {
    color: #b03020;
    font-style: italic;
    align-self: center;
}

/* Drawer (#_desktop_blockcart-content) — equal-height Checkout/Cart buttons */
#_desktop_blockcart-content .btn-primary.btn-block,
#_desktop_blockcart-content .btn-secondary.btn-block {
    min-height: 48px;
    padding: 12px 16px;
    font-size: 14px;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ─── Order confirmation — JMC success hero (additive only) ─── */
.jmc-success {
    background: #fff;
    border: 1px solid #E6E8EE;
    padding: 32px 36px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15,19,32,.04);
    margin-bottom: 20px;
}
.jmc-success::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 6px;
    background: linear-gradient(180deg, #128A4B 0%, #0B6438 100%);
}
.jmc-success__head { display: flex; gap: 20px; align-items: flex-start; }
.jmc-success__check {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: #E4F3EB;
    border: 4px solid #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px #128A4B;
}
.jmc-success__check svg { width: 26px; stroke: #128A4B; fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.jmc-success__tag {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #128A4B;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 6px;
}
.jmc-success__dot { width: 5px; height: 5px; background: #128A4B; border-radius: 50%; }
.jmc-success__title { font-size: 28px; font-weight: 700; line-height: 1.15; color: #0E1220; margin: 0; }
.jmc-success__lead { font-size: 14px; color: #525868; margin-top: 8px; max-width: 620px; line-height: 1.5; }
.jmc-success__lead strong { color: #0E1220; font-weight: 700; }
.jmc-success__meta {
    display: flex;
    gap: 28px;
    padding: 18px 0 0;
    margin-top: 18px;
    border-top: 1px solid #EEF0F4;
    flex-wrap: wrap;
}
.jmc-success__meta-item small {
    display: block;
    font-size: 10.5px;
    color: #7B8294;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
    margin-bottom: 4px;
}
.jmc-success__meta-item strong { font-weight: 700; font-size: 15px; color: #0E1220; display: block; }
.jmc-success__ref { font-family: 'Menlo', monospace; font-size: 14px; font-weight: 700; color: #0E1220; }

/* ─── Order confirmation — right column (Detalles + Artículos) ─── */
.order-confirmation-details > #order-details,
.order-confirmation-details #order-items {
    background: #fff;
    border: 1px solid #E6E8EE;
    padding: 20px 22px;
    box-shadow: 0 1px 2px rgba(15,19,32,.04);
    margin-bottom: 16px;
}
.order-confirmation-details > #order-details h3,
.order-confirmation-details #order-items h3 {
    font-size: 16px;
    font-weight: 700;
    color: #0E1220;
    margin: 0 0 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid #EEF0F4;
}
.order-confirmation-details > #order-details ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.order-confirmation-details > #order-details ul li {
    padding: 6px 0;
    font-size: 13.5px;
    color: #525868;
    border-bottom: 1px dashed #F4F6F9;
}
.order-confirmation-details > #order-details ul li:last-child { border-bottom: 0; }
.order-confirmation-details > #order-details ul li em.text-muted { color: #7B8294; font-size: 12px; }

.order-confirmation-details .order-confirmation-table { padding: 0; }
.order-confirmation-details .order-line.row {
    margin: 0;
    padding: 12px 0;
    border-bottom: 1px solid #EEF0F4;
    align-items: center;
}
.order-confirmation-details .order-line.row:last-of-type { border-bottom: 0; }
.order-confirmation-details .order-line .image img {
    background: #F7F8FB;
    border: 1px solid #EEF0F4;
    padding: 4px;
    max-width: 100%;
    height: auto;
}
.order-confirmation-details .order-line .details {
    font-size: 13px;
    font-weight: 600;
    color: #0E1220;
    line-height: 1.4;
}
.order-confirmation-details .order-line .qty {
    font-size: 13px;
    color: #525868;
    font-variant-numeric: tabular-nums;
}
.order-confirmation-details .order-line .qty .bold {
    color: #0E1220;
    font-weight: 700;
}
.order-confirmation-details hr {
    margin: 12px 0;
    border: 0;
    border-top: 1px solid #EEF0F4;
}
.order-confirmation-details .order-confirmation-table table {
    width: 100%;
    font-size: 13.5px;
}
.order-confirmation-details .order-confirmation-table table td {
    padding: 2px 0;
    color: #525868;
}
.order-confirmation-details .order-confirmation-table table td:last-child {
    text-align: right;
    color: #0E1220;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.order-confirmation-details .order-confirmation-table table tr.sub td {
    color: #525868;
    font-size: 12.5px;
}
.order-confirmation-details .order-confirmation-table table tr.totals td {
    padding-top: 12px;
    border-top: 1px solid #EEF0F4;
    font-size: 16px;
    font-weight: 700;
    color: #0E1220;
}
.order-confirmation-details .order-confirmation-table table tr.totals-incl td {
    padding-top: 4px;
    border-top: none;
}
.order-confirmation-details .order-confirmation-table table tr.totals td:first-child .text-uppercase {
    text-transform: uppercase;
    letter-spacing: 0.02em;
}


/* ─── Checkout button height ─── */
.cart-detailed-actions .btn-lg {
    padding-top: .6rem;
    padding-bottom: .6rem;
    font-size: 1rem;
}

/* ─── Continue shopping button ─── */
#cart .btn-secondary {
    background: #e5e7eb;
    border-color: #e5e7eb;
    color: #111;
}
#cart .btn-secondary:hover {
    background: #d1d5db;
    border-color: #d1d5db;
    color: #111;
}


.jmc-cart-footer-hooks {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin-bottom: .5rem;
    width: 100%;
}
.jmc-cart-footer-hooks #save_this_cart_button,
.jmc-cart-footer-hooks .addtocartfromurl_savecarts_btn {
    width: auto !important;
    background: #111 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 9px 18px !important;
    font-size: .875rem !important;
    font-weight: 600 !important;
    color: #fff !important;
    transition: background .15s, transform .1s !important;
}
.jmc-cart-footer-hooks #save_this_cart_button:hover,
.jmc-cart-footer-hooks .addtocartfromurl_savecarts_btn:hover {
    background: #333 !important;
    transform: translateY(-1px);
}

/* =========================================================================
   JMC Pool — Contacto (page id=contact)
   Layout from Contacto.html design. Scoped to #jmc-contact.
   ========================================================================= */
#jmc-contact {
    --jmc-orange: #EE6B1F;
    --jmc-orange-2: #F5872C;
    --jmc-orange-deep: #C75416;
    --jmc-orange-soft: #FDF1E8;
    --jmc-navy: #2A2C7F;
    --jmc-navy-deep: #1B1D5C;
    --jmc-ink: #0E1220;
    --jmc-ink-2: #2A2F3E;
    --jmc-ink-3: #525868;
    --jmc-muted: #7B8294;
    --jmc-muted-2: #A4AAB8;
    --jmc-line: #E6E8EE;
    --jmc-line-2: #EEF0F4;
    --jmc-bg-soft: #F7F8FB;
    --jmc-bg-soft-2: #FAFBFD;
    --jmc-green: #128A4B;
    --jmc-green-soft: #E4F3EB;
    --jmc-red: #B91C1C;
    --jmc-shadow-sm: 0 1px 2px rgba(15,19,32,.04), 0 1px 1px rgba(15,19,32,.03);
    --jmc-r: 6px;
    --jmc-r-lg: 10px;

    color: var(--jmc-ink);
    font-size: 14px;
    line-height: 1.45;
}
#jmc-contact * { box-sizing: border-box; }
#jmc-contact h1, #jmc-contact h2, #jmc-contact h3, #jmc-contact h4 {
    letter-spacing: -0.01em;
    color: var(--jmc-ink);
    margin: 0;
}
#jmc-contact a { color: inherit; text-decoration: none; }
#jmc-contact svg { stroke-linecap: round; stroke-linejoin: round; }

/* Page head */
.jmc-contact__head { padding: 16px 0 32px; border-bottom: 1px solid var(--jmc-line); margin-bottom: 28px; }
.jmc-contact__tag {
    font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
    color: var(--jmc-orange-deep); display: inline-flex; align-items: center; gap: 7px; margin-bottom: 12px;
}
.jmc-contact__tag .b { width: 5px; height: 5px; background: var(--jmc-orange); border-radius: 50%; }
.jmc-contact__head h1 { font-size: 36px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; }
.jmc-contact__head p { font-size: 15px; color: var(--jmc-ink-3); margin: 10px 0 0; max-width: 640px; line-height: 1.55; }

/* Grid layout: form + info */
.jmc-contact__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: start; }
.jmc-contact__info { display: flex; flex-direction: column; gap: 16px; }

/* Form card */
.jmc-form-card {
    background: #fff; border: 1px solid var(--jmc-line); border-radius: var(--jmc-r-lg);
    box-shadow: var(--jmc-shadow-sm); overflow: hidden;
}
.jmc-form-card__head {
    padding: 18px 26px; border-bottom: 1px solid var(--jmc-line-2);
    background: var(--jmc-bg-soft-2);
    display: flex; gap: 12px; align-items: center;
}
.jmc-form-card__head .ic {
    width: 36px; height: 36px; border-radius: 8px; background: var(--jmc-orange-soft);
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.jmc-form-card__head .ic svg { width: 18px; stroke: var(--jmc-orange-deep); fill: none; stroke-width: 1.8; }
.jmc-form-card__head h3 { font-size: 16px; font-weight: 700; }
.jmc-form-card__head p { font-size: 12px; color: var(--jmc-muted); margin: 2px 0 0; }

.jmc-form-card__body { padding: 24px 32px; }

.jmc-form-card__notification {
    margin: 16px 32px 0; padding: 12px 14px;
    border-radius: var(--jmc-r); font-size: 13px;
}
.jmc-form-card__notification.is-success { background: var(--jmc-green-soft); color: var(--jmc-green); border: 1px solid rgba(18,138,75,.2); }
.jmc-form-card__notification.is-error { background: #fdecec; color: var(--jmc-red); border: 1px solid rgba(185,28,28,.2); }
.jmc-form-card__notification ul { margin: 0; padding-left: 18px; }

.jmc-field {
    display: grid; grid-template-columns: 220px 1fr 80px;
    gap: 18px; align-items: center;
    padding: 14px 0; border-top: 1px solid var(--jmc-line-2);
}
.jmc-field:first-of-type { border-top: 0; padding-top: 0; }
.jmc-field--top { align-items: start; }
.jmc-field--top .jmc-field__label { padding-top: 11px; }
.jmc-field__label { font-size: 13.5px; color: var(--jmc-ink); font-weight: 700; }
.jmc-field__label .req { color: var(--jmc-red); margin-left: 4px; font-weight: 800; }
.jmc-field__opt {
    font-size: 11px; color: var(--jmc-muted); font-weight: 700;
    text-transform: uppercase; letter-spacing: .04em;
}

.jmc-input, .jmc-select, .jmc-textarea {
    width: 100%; padding: 11px 14px; height: 42px;
    border: 1px solid var(--jmc-line); border-radius: var(--jmc-r);
    background: var(--jmc-bg-soft);
    font-family: inherit; font-size: 13.5px;
    color: var(--jmc-ink); outline: none;
}
.jmc-input:hover, .jmc-select:hover, .jmc-textarea:hover { background: #fff; border-color: var(--jmc-ink-3); }
.jmc-input:focus, .jmc-select:focus, .jmc-textarea:focus { background: #fff; border-color: var(--jmc-ink); }
.jmc-input::placeholder, .jmc-textarea::placeholder { color: var(--jmc-muted-2); }
.jmc-textarea { height: auto; min-height: 130px; resize: vertical; padding: 12px 14px; }

.jmc-select-wrap { position: relative; }
.jmc-select { appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer; }
.jmc-select-wrap::after {
    content: ''; position: absolute; right: 14px; top: 50%;
    width: 8px; height: 8px;
    border-right: 2px solid var(--jmc-muted); border-bottom: 2px solid var(--jmc-muted);
    transform: translateY(-70%) rotate(45deg);
    pointer-events: none;
}

/* File field */
.jmc-file-row { display: flex; gap: 10px; align-items: center; }
.jmc-file-input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.jmc-file-name {
    flex: 1; padding: 11px 14px; height: 42px;
    background: var(--jmc-bg-soft); border: 1px solid var(--jmc-line); border-radius: var(--jmc-r);
    font-size: 12.5px; color: var(--jmc-muted); display: flex; align-items: center; cursor: pointer;
}
.jmc-btn-file {
    height: 42px; padding: 0 18px; border-radius: var(--jmc-r);
    background: var(--jmc-navy-deep); color: #fff;
    font-weight: 800; font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
    display: inline-flex; align-items: center; gap: 8px; cursor: pointer; border: 0;
}
.jmc-btn-file:hover { background: var(--jmc-navy); }
.jmc-btn-file svg { width: 14px; stroke: #fff; fill: none; stroke-width: 2; }

.jmc-form-card__foot {
    padding: 16px 32px; border-top: 1px solid var(--jmc-line-2);
    background: var(--jmc-bg-soft-2);
    display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
}
.jmc-form-card__note {
    font-size: 12px; color: var(--jmc-muted);
    display: inline-flex; align-items: center; gap: 6px;
}
.jmc-form-card__note svg { width: 12px; stroke: var(--jmc-muted); fill: none; stroke-width: 2; }

.jmc-honeypot { display: none !important; }

.jmc-btn-send {
    background: var(--jmc-orange); color: #fff;
    padding: 12px 24px; border-radius: var(--jmc-r); border: 0;
    font-weight: 700; font-size: 13.5px; font-family: inherit; cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px;
}
.jmc-btn-send:hover { background: var(--jmc-orange-deep); }
.jmc-btn-send svg { width: 14px; stroke: #fff; fill: none; stroke-width: 2; }

/* Info cards (channels, hours) */
.jmc-info-card {
    background: #fff; border: 1px solid var(--jmc-line); border-radius: var(--jmc-r-lg);
    box-shadow: var(--jmc-shadow-sm); overflow: hidden;
}
.jmc-info-card__head { padding: 18px 24px; border-bottom: 1px solid var(--jmc-line-2); }
.jmc-info-card__head h3 {
    font-size: 14px; font-weight: 700;
    display: inline-flex; align-items: center; gap: 9px;
}
.jmc-info-card__head .ic {
    width: 26px; height: 26px; border-radius: 6px; background: var(--jmc-bg-soft);
    display: inline-flex; align-items: center; justify-content: center;
}
.jmc-info-card__head .ic svg { width: 14px; stroke: var(--jmc-ink-2); fill: none; stroke-width: 1.8; }

/* Channels */
.jmc-channels { padding: 6px 0; }
.jmc-channels__row {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 24px; border-bottom: 1px solid var(--jmc-line-2);
}
.jmc-channels__row:last-child { border-bottom: 0; }
.jmc-channels__row .ic {
    width: 38px; height: 38px; border-radius: 9px;
    background: var(--jmc-orange-soft); color: var(--jmc-orange-deep);
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.jmc-channels__row .ic svg { width: 17px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.jmc-channels__row .t .l {
    font-size: 10.5px; color: var(--jmc-muted);
    text-transform: uppercase; letter-spacing: .06em; font-weight: 700;
}
.jmc-channels__row .t .v {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 13.5px; color: var(--jmc-ink); font-weight: 700; margin-top: 2px;
}
.jmc-channels__row .t .v.txt { font-family: inherit; }
.jmc-channels__row .t .sub { font-size: 11.5px; color: var(--jmc-muted); margin-top: 2px; font-weight: 600; }

/* Hours */
.jmc-hours { padding: 6px 0; }
.jmc-hours__row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 10px 24px; font-size: 13px;
}
.jmc-hours__row + .jmc-hours__row { border-top: 1px solid var(--jmc-line-2); }
.jmc-hours__row .d { color: var(--jmc-muted); font-weight: 600; }
.jmc-hours__row .h { color: var(--jmc-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.jmc-hours__closed { color: var(--jmc-muted) !important; }
.jmc-hours__row--now { background: var(--jmc-green-soft); }
.jmc-hours__row--now .d { color: var(--jmc-green); font-weight: 700; }
.jmc-hours__row--now .h { color: var(--jmc-green); }
.jmc-hours__row--now .d::before {
    content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%;
    background: var(--jmc-green); margin-right: 7px;
    box-shadow: 0 0 0 3px rgba(18,138,75,.16);
}

/* Brand card (dark gradient) */
.jmc-brand-card {
    background: linear-gradient(135deg, #0E1220 0%, #1B1D5C 60%, #2A2C7F 100%);
    color: #fff; border-radius: var(--jmc-r-lg);
    padding: 24px 26px; box-shadow: var(--jmc-shadow-sm);
    position: relative; overflow: hidden;
}
.jmc-brand-card::after {
    content: ''; position: absolute; right: -40px; bottom: -40px;
    width: 180px; height: 180px; border-radius: 50%;
    background: rgba(238,107,31,.18); pointer-events: none;
}
#jmc-contact .jmc-brand-card h4 { color: #fff; font-size: 16px; font-weight: 800; line-height: 1.2; }
.jmc-brand-card p {
    font-size: 13px; color: #B8BBCC; margin: 8px 0 0;
    line-height: 1.55; max-width: 320px; position: relative; z-index: 2;
}
.jmc-brand-card__badge {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 14px; padding: 7px 12px;
    background: rgba(238,107,31,.14); color: var(--jmc-orange-2);
    border-radius: 100px; font-size: 11px; font-weight: 800;
    letter-spacing: .04em; text-transform: uppercase;
    position: relative; z-index: 2;
}
.jmc-brand-card__badge svg { width: 12px; stroke: currentColor; fill: none; stroke-width: 2.4; }

/* Stores grid */
.jmc-stores { margin-top: 32px; }
.jmc-stores__head {
    display: flex; justify-content: space-between; align-items: flex-end;
    margin-bottom: 18px; gap: 16px; flex-wrap: wrap;
}
.jmc-stores__head h2 { font-size: 22px; font-weight: 700; }
.jmc-stores__head p { font-size: 13px; color: var(--jmc-muted); margin: 4px 0 0; }
.jmc-stores__grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
}
.jmc-store {
    background: #fff; border: 1px solid var(--jmc-line); border-radius: var(--jmc-r-lg);
    box-shadow: var(--jmc-shadow-sm); overflow: hidden;
    display: flex; flex-direction: column;
}
.jmc-store__thumb {
    background: linear-gradient(135deg, var(--jmc-navy-deep), var(--jmc-navy));
    color: #fff; padding: 18px 18px 16px;
    position: relative; overflow: hidden;
}
.jmc-store__thumb::after {
    content: ''; position: absolute; right: -30px; bottom: -30px;
    width: 100px; height: 100px; border-radius: 50%;
    background: rgba(255,255,255,.06);
}
.jmc-store__region {
    font-size: 10px; font-weight: 800; letter-spacing: .12em;
    text-transform: uppercase; color: rgba(255,255,255,.55);
}
#jmc-contact .jmc-store__thumb h4 {
    color: #fff; font-size: 17px; font-weight: 800;
    letter-spacing: -0.01em; line-height: 1.15; margin-top: 5px;
}
.jmc-store__body {
    padding: 14px 18px 16px; flex: 1;
    display: flex; flex-direction: column; gap: 8px;
}
.jmc-store__line {
    display: flex; gap: 8px; align-items: flex-start;
    font-size: 12.5px; color: var(--jmc-ink-2); line-height: 1.45;
}
.jmc-store__line svg {
    width: 13px; stroke: var(--jmc-muted); fill: none; stroke-width: 1.8;
    flex-shrink: 0; margin-top: 2px;
}
.jmc-store__line .tel {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-weight: 700; color: var(--jmc-ink);
}

/* Responsive */
@media (max-width: 992px) {
    .jmc-contact__grid { grid-template-columns: 1fr; }
    .jmc-stores__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .jmc-contact__head h1 { font-size: 28px; }
    .jmc-field { grid-template-columns: 1fr; gap: 8px; }
    .jmc-form-card__body { padding: 20px; }
    .jmc-form-card__foot { padding: 14px 20px; }
    .jmc-stores__grid { grid-template-columns: 1fr; }
}

/* ----- Product miniature list view: mismo formato visual que la card grid (layout-2) ----- */
.product-miniature-list .product-category-name {
    font-size: 10.5px;
    font-weight: 800;
    color: #2A2C7F;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.product-miniature-list .product-title {
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: none;
    color: #0E1220;
    margin: 0 0 4px;
}
.product-miniature-list .product-title a {
    color: inherit;
    text-decoration: none;
}
.product-miniature-list .product-reference {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 12px;
    font-weight: 600;
    color: #7B8294;
    margin-top: 2px;
}
.product-miniature-list .product-reference a {
    color: inherit;
    text-decoration: none;
}
.product-miniature-list .prod-price-row {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    margin-top: 6px;
    gap: 8px;
}
.product-miniature-list .strike.regular-price {
    font-size: 11px;
    color: #7B8294;
    text-decoration: line-through;
    display: block;
    margin-bottom: 4px;
}
.product-miniature-list .net.product-price {
    font-family: 'Archivo', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: #0E1220;
    line-height: 1;
    letter-spacing: -0.01em;
    display: block;
}
.product-miniature-list .prod-tax-label {
    font-size: 10.5px;
    color: #7B8294;
    display: block;
    margin-top: 3px;
}

/* ----- Product page header: category + title + reference (estilo miniatura) ----- */
.product_header_container .pp-category-name {
    font-size: 11px;
    font-weight: 800;
    color: #2A2C7F;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.product_header_container .prod-page-title {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.15;
    color: #0E1220;
    margin: 0 0 6px;
    text-transform: none;
}
.product_header_container .pp-product-reference {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 13px;
    font-weight: 600;
    color: #7B8294;
    margin: 0 0 4px;
}
.product-prices .product-reference,
.product-prices .product-reference .label,
.product-prices .product-reference span,
.product-prices .product-ean,
.product-prices .product-ean .label,
.product-prices .product-ean span {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 13px;
    font-weight: 600;
    color: #7B8294;
    text-transform: uppercase;
}
.product_header_container .pp-product-brand {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 12px;
    font-weight: 600;
    color: #7B8294;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.product_header_container .pp-product-brand .label {
    font-size: 11px;
    font-weight: 600;
    color: #7B8294;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-right: 6px;
}
.product_header_container .pp-product-brand a {
    color: #2A2C7F;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: .04em;
}
.product_header_container .pp-product-brand a:hover {
    color: #0E1220;
}

/* ─────────── JMC Section title widget (Elementor) ───────────
   Reusable title block: small eyebrow + big H2 + optional description.
   Mirrors the look of .jmc-cats__tag / .jmc-cats__h2 used on the home. */
.jmc-section-ttl { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.jmc-section-ttl--align-center { align-items: center; text-align: center; }
.jmc-section-ttl--align-right  { align-items: flex-end; text-align: right; }
.jmc-section-ttl__tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--hjmc-orange-deep);
}
.jmc-section-ttl__b {
    width: 6px;
    height: 6px;
    background: var(--hjmc-orange);
    border-radius: 50%;
    display: inline-block;
}
.jmc-section-ttl__h2 {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--hjmc-ink);
    line-height: 1.1;
    margin: 0;
}
.jmc-section-ttl__desc {
    margin: 4px 0 0;
    font-size: 15px;
    color: var(--hjmc-ink);
    line-height: 1.45;
}

/* ─────────── Vertical megamenu "Catálogo" — JMC override ─────────── */
.cbp-vertical-title--link { display: flex; align-items: center; text-decoration: none; cursor: pointer; }
.cbp-vertical-title--link:hover .cbp-vertical-title-text { color: var(--hjmc-orange-deep); }

/* Multi-column dropdown when populated by our jmcAllCategories override. */
.cbp-vertical-on-top.cbp-vert-expanded > .cbp-vertical:has(.cbp-hrmenu-tab--jmc-cat) > ul,
#cbp-hrmenu1-ul:has(.cbp-hrmenu-tab--jmc-cat) {
    background: #fff;
    width: 720px;
    max-width: 92vw;
    columns: 3;
    column-gap: 12px;
    padding: 14px 12px;
    border: 1px solid var(--hjmc-line);
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(14, 18, 32, 0.10), 0 2px 6px rgba(14, 18, 32, 0.05);
}
.cbp-hrmenu-tab--jmc-cat {
    break-inside: avoid;
    display: block;
}
.cbp-hrmenu.cbp-vertical > ul > li.cbp-hrmenu-tab--jmc-cat > a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    background: #fff;
    color: var(--hjmc-ink);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25;
    border-radius: 6px;
    border: 0;
    transition: background .12s ease, color .12s ease;
}
.cbp-hrmenu.cbp-vertical > ul > li.cbp-hrmenu-tab--jmc-cat > a:hover {
    background: var(--hjmc-bg-soft);
    color: var(--hjmc-orange-deep);
    text-decoration: none;
}
.cbp-hrmenu-tab--jmc-cat > a:hover .jmc-cat-ico { color: var(--hjmc-orange-deep); }
.jmc-cat-ico {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    color: var(--hjmc-muted);
    transition: color .12s ease;
    line-height: 0;
}
.jmc-cat-ico svg {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px;
    max-height: 14px;
    display: block;
    stroke-width: 1.75;
}


/* lblfixaddress — sin direcciones (mostrar mensaje en /direcciones) */
.lblfixaddress-required{display:flex;justify-content:center;padding:2rem 0}
.lblfixaddress-required__card{max-width:560px;text-align:center;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:2rem 1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.lblfixaddress-required__icon{color:#dc8b2a;margin-bottom:1rem}
.lblfixaddress-required__card h2{font-size:1.4rem;margin-bottom:.75rem}
.lblfixaddress-required__card p{margin-bottom:1.25rem}
.lblfixaddress-required__contacts{list-style:none;padding:0;margin:0 0 1.5rem}
.lblfixaddress-required__contacts li{margin:.25rem 0}
.lblfixaddress-required__contacts a{text-decoration:none}
.lblfixaddress-required__contacts a:hover{text-decoration:underline}
.lblfixaddress-required--compact{padding:.5rem 0}
.lblfixaddress-required--compact .lblfixaddress-required__card{padding:1.25rem 1rem}
.lblfixaddress-required--compact .lblfixaddress-required__card h2{font-size:1.1rem}
.lblfixaddress-required--compact .lblfixaddress-required__card p{font-size:.9rem;margin-bottom:.75rem}
.lblfixaddress-required--compact .lblfixaddress-required__contacts{font-size:.85rem;margin-bottom:1rem}

/* JMC: checkout (/pedido) — min-height para que el footer no quede pegado al header en pasos cortos */
body.page-order #wrapper{min-height:100vh}

.cart-summary-line.cart-total .label{font-size:.93rem}
