
/* CFP: remove main-section top padding */
.main-section { padding-top: 0 !important; }

/* CFP: remove main-section top padding */
.main-section { padding-top: 0 !important; }




/* CFP: zero gutters on main-section rows — scoped so VirtueMart pages keep Bootstrap gutters */
body:not(.com-virtuemart) .main-section .row > * {
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-top: 0 !important;
}

/* CFP: body background */
body { background: #EEE5D8 !important; }


/* ============================================================
   CFP: disable all hover effects on product cards
   Keep cards completely static ??? no shadow, no transform,
   no image swap, no backdrop, no utility reveal.
   ============================================================ */

/* Container ??? kill hover state visuals */
.product-container,
.product-container.add-hover-effect,
.item-container.add-hover-effect{
    box-shadow:none !important;
    transform:none !important;
    transition:none !important;
    background:transparent !important;
}
.product-container.add-hover-effect.state-hover,
.product-container.add-hover-effect:hover,
.item-container.add-hover-effect.state-hover,
.item-container.add-hover-effect:hover{
    box-shadow:none !important;
    transform:none !important;
    background:transparent !important;
}

/* Children groups ??? stop the slide/translate the template does on hover */
.product-container.add-hover-effect:hover .product-top-container,
.product-container.add-hover-effect.state-hover .product-top-container,
.product-container.add-hover-effect:hover .product-bottom-container,
.product-container.add-hover-effect.state-hover .product-bottom-container,
.item-container.add-hover-effect:hover > *:not(.item-backdrop){
    transform:none !important;
    transition:none !important;
}

/* Backdrop ??? hide entirely (it slides in/up on hover) */
.product-backdrop,
.item-backdrop{
    display:none !important;
}

/* Disable secondary-image swap on hover (keep first image always) */
.product-list-images .product-image-hover{
    display:none !important;
}

/* Disable utilities reveal-on-hover (wishlist/quickview overlay buttons) */
.product-container:hover .product-list-utilities,
.product-container.state-hover .product-list-utilities,
.item-container:hover .product-list-utilities{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
}
/* If utilities are hidden by default, make them either always visible or always hidden
   ??? adjust to taste; here we keep the template default and only stop the animation. */

/* Image ??? no zoom on hover */
.product-image,
.product-image img,
.product-list-images img{
    transform:none !important;
    transition:none !important;
}
.product-container:hover .product-image,
.product-container:hover .product-image img,
.product-container:hover .product-list-images img{
    transform:none !important;
}

/* Title / price ??? no color shift animation */
.product-name a,
.product-prices,
.product-categories{
    transition:none !important;
}
.product-container:hover .product-name a,
.product-container:hover .product-prices{
    color:inherit !important;
}



/* CFP: 15px gap between product cards (overrides earlier zero-gutter rule) */
.row:has(> .product-grid-view){
    margin-left:-7.5px !important;
    margin-right:-7.5px !important;
    row-gap:15px !important;
}
.row > .product-grid-view{
    padding-left:7.5px !important;
    padding-right:7.5px !important;
}



/* ============================================================
   CFP: smooth image swap on product card hover
   Overrides earlier "hide .product-image-hover" rule.
   Keeps everything else static (no card lift, no zoom, etc.).
   ============================================================ */

/* Re-enable the hover image slot and stack both images */
.product-list-images{
    position:relative !important;
    overflow:hidden;
}
.product-list-images .product-image-default{
    position:relative;
    z-index:1;
    transition:opacity .5s ease;
    opacity:1;
}
.product-list-images .product-image-hover{
    display:block !important;          /* undo the earlier display:none */
    position:absolute !important;
    inset:0;
    z-index:2;
    transition:opacity .5s ease;
    opacity:0;
    pointer-events:none;
}
.product-list-images .product-image-hover img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* On hover: fade in the second image */
.product-container:hover .product-list-images .product-image-hover,
.product-container.state-hover .product-list-images .product-image-hover,
.item-container:hover .product-list-images .product-image-hover{
    opacity:1;
    pointer-events:auto;
}
.product-container:hover .product-list-images .product-image-default,
.product-container.state-hover .product-list-images .product-image-default{
    opacity:0;
}



/* ============================================================
   CFP: product card text styling ??? left-aligned, editorial
   Title  ??? Playfair, regular, dark
   Caption??? Inter, lighter, muted
   Price  ??? Inter, semibold, dark
   ============================================================ */

/* Left-align everything below the image */
.product-grid-view .product-top-container,
.product-grid-view .product-name,
.product-grid-view .product-categories,
.product-grid-view .product-prices,
.product-grid-view .product-short-description{
    text-align:left !important;
}

/* Comfortable spacing below the image */
.product-grid-view .product-list-images{
    margin-bottom:18px !important;
}

/* TITLE */
.product-grid-view .product-name{
    margin:0 0 4px !important;
}
.product-grid-view .product-name a{
    font-family:'Playfair Display', Georgia, serif;
    font-weight:400;
    font-size:18px;
    line-height:1.35;
    letter-spacing:.01em;
    color:#1D1D1D;
}

/* SUBTITLE / categories caption */
.product-grid-view .product-categories{
    font-family:'Inter', sans-serif;
    font-weight:400;
    font-size:13px;
    line-height:1.4;
    letter-spacing:.01em;
    color:#7a7a7a;
    text-transform:none;
    margin:0 0 12px !important;
}

/* PRICE */
.product-grid-view .product-prices{
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:16px;
    line-height:1.4;
    color:#1D1D1D;
    margin:0 !important;
}
.product-grid-view .product-prices .PricesalesPrice,
.product-grid-view .product-prices .price-final,
.product-grid-view .product-prices .price-final-value,
.product-grid-view .product-prices .price-text{
    font-family:'Inter', sans-serif !important;
    font-weight:600 !important;
    font-size:16px !important;
    color:#1D1D1D !important;
}




/* Keep wishlist / utilities / labels above the hover image */
.product-list-images .product-utilities,
.product-list-images .product-labels,
.product-list-images .vm-wishlist,
.product-list-images [class*="wishlist"],
.product-list-images [class*="favorite"]{
    position:absolute !important;
    z-index:5 !important;
}

/* Wishlist / utilities above hover image (correct selector) */
.product-list-images .product-list-utilities{ z-index:5 !important; }

/* Force wishlist button to sit inside the image, top-right */
.product-list-images{ position:relative !important; }

.product-list-images .product-list-utilities{
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    left:auto !important;
    bottom:auto !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
    z-index:5 !important;
}
.product-list-images .product-list-utilities .product-list-utility-item,
.product-list-images .product-list-utilities .vmessentials-form,
.product-list-images .product-list-utilities .vmessentials-wishlist-form{
    position:static !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    display:block !important;
}
.product-list-images .product-list-utilities .vme-wishlist-button,
.product-list-images .product-list-utilities .vme-wishlist-link{
    position:relative !important;
    top:auto !important; right:auto !important; left:auto !important; bottom:auto !important;
    transform:none !important;
    margin:0 !important;
}

.product-list-images .product-list-utilities{ transform:none !important; }


/* ============================================================
   CFP ??? Product Detail (custom redesign)
   ============================================================ */

.cfp-pd{
    max-width:1320px;
    margin:0 auto;
    padding:24px 28px 80px;
    color:#1D1D1D;
    font-family:'Inter', sans-serif;
}

/* ----- Breadcrumb ----- */
.cfp-pd-crumbs{
    font-family:'Inter', sans-serif;
    font-size:13px;
    color:#7a7a7a;
    margin:0 0 18px;
}
.cfp-pd-crumbs a{ color:#7a7a7a; text-decoration:none; }
.cfp-pd-crumbs a:hover{ color:#1D1D1D; }
.cfp-pd-crumbs .sep{ margin:0 8px; color:#bbb; }
.cfp-pd-crumbs .current{ color:#1D1D1D; }

/* ----- HERO grid ----- */
.cfp-pd-hero{
    display:grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap:48px;
    align-items:start;
    margin-bottom:64px;
}
@media (max-width: 991.98px){
    .cfp-pd-hero{ grid-template-columns:1fr; gap:32px; }
}

/* ----- Gallery: thumbnails on LEFT, main on RIGHT ----- */
.cfp-pd-gallery .product-image-gallery{
    display:flex !important;
    gap:14px;
    align-items:flex-start;
}
.cfp-pd-gallery .product-image-gallery__thumbnails-wrapper{
    order:1;
    flex:0 0 80px;
    width:80px !important;
    max-width:80px !important;
}
.cfp-pd-gallery .product-image-gallery__main-wrapper{
    order:2;
    flex:1 1 auto;
    min-width:0;
}
.cfp-pd-gallery .product-image-gallery__thumbnails{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    overflow:hidden;
}
.cfp-pd-gallery .product-image-gallery__thumbnails .tns-inner,
.cfp-pd-gallery .product-image-gallery__thumbnails .tns-ovh{ overflow:visible !important; }
.cfp-pd-gallery .product-image-gallery__thumbnails > *{
    width:80px !important;
    height:80px !important;
    background:#EEE5D8;
    border-radius:4px;
    overflow:hidden;
    cursor:pointer;
    transition:opacity .2s ease;
    opacity:.7;
}
.cfp-pd-gallery .product-image-gallery__thumbnails > *.tns-nav-active,
.cfp-pd-gallery .product-image-gallery__thumbnails > *:hover{ opacity:1; }
.cfp-pd-gallery .product-image-gallery__thumbnails img{
    width:100%; height:100%; object-fit:cover; display:block;
}
.cfp-pd-gallery .product-image-gallery__main img{
    width:100%; height:auto; display:block; border-radius:4px;
}
.cfp-pd-gallery .product-image-gallery__thumbnails-controls,
.cfp-pd-gallery .product-image-gallery__main-controls{ display:none !important; }

/* Hide gallery on mobile complexity if needed ??? keep visible */
@media (max-width: 991.98px){
    .cfp-pd-gallery .product-image-gallery{ flex-direction:column; }
    .cfp-pd-gallery .product-image-gallery__thumbnails-wrapper{
        flex:0 0 auto; width:100% !important; max-width:100% !important;
        order:2;
    }
    .cfp-pd-gallery .product-image-gallery__thumbnails{ flex-direction:row !important; }
    .cfp-pd-gallery .product-image-gallery__thumbnails > *{ flex:0 0 60px; width:60px !important; height:60px !important; }
}

/* ----- INFO column ----- */
.cfp-pd-info{ padding-top:4px; }
.cfp-pd-cat{
    font-family:'Inter', sans-serif;
    font-size:12px;
    letter-spacing:.14em;
    color:#7a7a7a;
    text-transform:uppercase;
    margin-bottom:14px;
}
.cfp-pd-title{
    font-family:'Playfair Display', Georgia, serif;
    font-weight:500;
    font-size:38px;
    line-height:1.15;
    color:#1D1D1D;
    margin:0 0 8px;
}
.cfp-pd-subtitle{
    font-family:'Playfair Display', Georgia, serif;
    font-weight:400;
    font-style:italic;
    font-size:18px;
    color:#5a5a5a;
    margin:0 0 26px;
}

.cfp-pd-rating{ margin:0 0 18px; }

/* Price block */
.cfp-pd-price-block{ margin-bottom:22px; }
.cfp-pd-price{
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:24px;
    color:#1D1D1D;
}
.cfp-pd-price .PricesalesPrice,
.cfp-pd-price .price-final,
.cfp-pd-price .price-final-value,
.cfp-pd-price .product-price{
    font-family:'Inter', sans-serif !important;
    font-weight:600 !important;
    font-size:24px !important;
    color:#1D1D1D !important;
}
.cfp-pd-tax{
    margin-top:6px;
    font-size:13px;
    color:#7a7a7a;
}

/* Short description */
.cfp-pd-short{
    font-family:'Inter', sans-serif;
    font-size:15px;
    line-height:1.6;
    color:#3a3a3a;
    margin-bottom:24px;
}

/* Spec pills */
.cfp-pd-pills{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:26px;
}
.cfp-pd-pills > *{ /* whatever the customfields render ??? coerce into pill row */ display:contents; }
.cfp-pd-pills .product-fields,
.cfp-pd-pills .product-field{
    display:flex; flex-wrap:wrap; gap:10px; align-items:center;
}
.cfp-pd-pills .product-field{
    background:#fff;
    border:1px solid #E6DFD3;
    border-radius:6px;
    padding:8px 14px;
    font-size:13px;
    color:#3a3a3a;
}

/* Quantity + Add to cart */
.cfp-pd-cart{ margin-bottom:12px; }
.cfp-pd-cart form{ margin:0; }
.cfp-pd-cart .quantity-box,
.cfp-pd-cart .product-fields-cart{ margin-bottom:14px; }
.cfp-pd-cart .quantity-input,
.cfp-pd-cart input.quantity-input{
    width:60px !important;
    text-align:center;
    border:1px solid #E0DAD0;
    background:#fff;
    height:44px;
    border-radius:4px;
    font-family:'Inter', sans-serif;
}
.cfp-pd-cart .quantity-controls,
.cfp-pd-cart .quantity-controls-js{
    display:inline-flex;
    align-items:center;
    border:1px solid #E0DAD0;
    background:#fff;
    border-radius:4px;
    overflow:hidden;
    height:44px;
}
.cfp-pd-cart .quantity-controls input,
.cfp-pd-cart .quantity-controls-js input{
    border:0 !important;
    width:48px !important;
    text-align:center;
    height:42px;
    background:transparent;
}
.cfp-pd-cart .quantity-controls .quantity-plus,
.cfp-pd-cart .quantity-controls .quantity-minus,
.cfp-pd-cart .quantity-controls-js .quantity-plus,
.cfp-pd-cart .quantity-controls-js .quantity-minus,
.cfp-pd-cart button.quantity-plus,
.cfp-pd-cart button.quantity-minus{
    background:transparent !important;
    border:0 !important;
    width:36px; height:42px;
    color:#1D1D1D;
    font-size:18px;
    line-height:1;
    cursor:pointer;
}

/* Add-to-cart button ??? dark, full width */
.cfp-pd-cart .addtocart-button,
.cfp-pd-cart button.addtocart-button,
.cfp-pd-cart input.addtocart-button,
.cfp-pd-cart .addtocart-button-wrapper button[type=submit]{
    display:flex !important;
    align-items:center; justify-content:center;
    gap:10px;
    width:100% !important;
    height:52px;
    background:#1D1D1D !important;
    color:#fff !important;
    border:0 !important;
    border-radius:4px !important;
    font-family:'Inter', sans-serif !important;
    font-weight:600 !important;
    font-size:14px !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
    cursor:pointer;
    transition:background .2s ease;
    margin-top:14px;
}
.cfp-pd-cart .addtocart-button:hover{ background:#000 !important; }
.cfp-pd-cart .addtocart-area,
.cfp-pd-cart .addtocart-button-wrapper{ width:100%; }
.cfp-pd-cart .addtocart-area{ display:flex; flex-direction:column; gap:0; }

/* "Comprar j??" ??? beige, full width */
.cfp-pd-buynow{
    display:block;
    width:100%;
    height:52px;
    background:#EEE5D8;
    color:#1D1D1D;
    border:0;
    border-radius:4px;
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:14px;
    letter-spacing:.12em;
    text-transform:uppercase;
    cursor:pointer;
    margin-bottom:18px;
    transition:background .2s ease;
}
.cfp-pd-buynow:hover{ background:#E1D6C3; }

/* Wishlist link */
.cfp-pd-wish{ margin-bottom:24px; }
.cfp-pd-wish a,
.cfp-pd-wish button{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
    color:#3a3a3a !important;
    font-size:14px !important;
    font-family:'Inter', sans-serif !important;
    text-decoration:none !important;
    box-shadow:none !important;
}
.cfp-pd-wish i,
.cfp-pd-wish .fa-heart{ color:#1D1D1D; font-size:16px; }

/* Shipping notice */
.cfp-pd-shipping{
    display:flex;
    align-items:center;
    gap:14px;
    background:#EEE5D8;
    border-radius:6px;
    padding:14px 18px;
    font-size:13px;
    line-height:1.5;
    color:#3a3a3a;
}
.cfp-pd-shipping-ico{ flex:0 0 auto; color:#1D1D1D; }
.cfp-pd-shipping-text strong{ color:#1D1D1D; font-weight:600; }

/* ============================================================
   DETAIL SECTION (long desc + specs table)
   ============================================================ */
.cfp-pd-detail{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    padding:48px 0;
    margin-bottom:48px;
    border-top:1px solid #E6DFD3;
    border-bottom:1px solid #E6DFD3;
}
@media (max-width: 991.98px){
    .cfp-pd-detail{ grid-template-columns:1fr; gap:32px; }
}
.cfp-pd-longdesc{
    font-family:'Inter', sans-serif;
    font-size:15px;
    line-height:1.7;
    color:#3a3a3a;
    max-height:280px;
    overflow:hidden;
    position:relative;
}
.cfp-pd-longdesc.is-expanded{ max-height:none; }
.cfp-pd-longdesc:not(.is-expanded)::after{
    content:'';
    position:absolute;
    left:0; right:0; bottom:0;
    height:80px;
    background:linear-gradient(to bottom, rgba(238,229,216,0), #EEE5D8 90%);
    pointer-events:none;
}
.cfp-pd-readmore{
    display:inline-block;
    margin-top:18px;
    font-family:'Inter', sans-serif;
    font-size:13px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#1D1D1D;
    text-decoration:none;
    border-bottom:1px solid #1D1D1D;
    padding-bottom:2px;
}
.cfp-pd-readmore:hover{ color:#5a5a5a; border-color:#5a5a5a; }

/* Specs table */
.cfp-pd-specs .product-fields{ display:block; }
.cfp-pd-specs .product-field{
    display:grid;
    grid-template-columns: 130px 1fr;
    gap:16px;
    padding:12px 0;
    border-bottom:1px solid #E6DFD3;
    font-size:14px;
}
.cfp-pd-specs .product-field:last-child{ border-bottom:0; }
.cfp-pd-specs .product-field-title{ color:#7a7a7a; font-weight:400; }
.cfp-pd-specs .product-field-display{ color:#1D1D1D; font-weight:500; }

/* ============================================================
   RELATED
   ============================================================ */
.cfp-pd-related{ margin-top:32px; }
.cfp-pd-related-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:24px;
}
.cfp-pd-related-head h3{
    font-family:'Inter', sans-serif;
    font-size:13px;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#1D1D1D;
    margin:0;
}
.cfp-pd-related-all{
    font-family:'Inter', sans-serif;
    font-size:13px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#1D1D1D;
    text-decoration:none;
}
.cfp-pd-related-all:hover{ color:#5a5a5a; }
.cfp-pd-related-list .product-grid-view{ padding-left:7.5px; padding-right:7.5px; }

/* Hide standard VM tab nav since we don't show tabs */
.cfp-pd .product-tabs,
.cfp-pd .nav-tabs,
.cfp-pd .tab-content,
.cfp-pd .separator-line{ display:none !important; }



/* ----- Cart bar: stack vertically, full width ----- */
.cfp-pd-cart .addtocart-bar{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    width:100% !important;
}
.cfp-pd-cart .quantity-box{
    width:auto !important;
    align-self:flex-start;
    background:#fff;
    border:1px solid #E0DAD0;
    border-radius:4px;
    overflow:hidden;
    height:44px;
    display:inline-flex !important;
    align-items:center;
}
.cfp-pd-cart .quantity-box .quantity-controls,
.cfp-pd-cart .quantity-box .btn-secondary{
    background:transparent !important;
    border:0 !important;
    color:#1D1D1D !important;
    width:40px; height:42px;
    padding:0;
    box-shadow:none !important;
}
.cfp-pd-cart .quantity-box .quantity-input,
.cfp-pd-cart .quantity-box input.form-control{
    border:0 !important;
    box-shadow:none !important;
    width:50px !important;
    text-align:center;
    height:42px;
    background:transparent;
    font-family:'Inter', sans-serif;
    font-size:14px;
}

/* Add-to-cart input button ??? full width, dark */
.cfp-pd-cart .addtocart-button-container{ width:100%; display:block; }
.cfp-pd-cart input.addtocart-button,
.cfp-pd-cart input[name="addtocart"]{
    width:100% !important;
    height:52px !important;
    background:#1D1D1D !important;
    color:#fff !important;
    border:0 !important;
    border-radius:4px !important;
    font-family:'Inter', sans-serif !important;
    font-weight:600 !important;
    font-size:13px !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    cursor:pointer !important;
    transition:background .2s ease;
    box-shadow:none !important;
}
.cfp-pd-cart input.addtocart-button:hover{ background:#000 !important; }

/* Color picker label + swatches */
.cfp-pd-cart .vm-customfields-container{ margin-bottom:6px; }
.cfp-pd-cart .vm-cmv-label{
    display:block;
    font-family:'Inter', sans-serif;
    font-size:13px;
    color:#7a7a7a;
    margin-bottom:8px;
}
.cfp-pd-cart .is-color-btn{
    width:28px; height:28px;
    display:inline-block;
    border-radius:50%;
    border:2px solid transparent;
    outline:1px solid #E6DFD3;
}
.cfp-pd-cart .form-check-input:checked + label .is-color-btn{
    border-color:#1D1D1D;
}



/* ============================================================
   CFP ??? Custom product gallery (replaces tiny-slider)
   ============================================================ */
.cfp-pd-gallery .product-image-gallery,
.cfp-pd-gallery .product-image-gallery__main-wrapper,
.cfp-pd-gallery .product-image-gallery__thumbnails-wrapper{ display:none !important; }
.cfp-pd-gallery .cfp-gallery{ display:flex !important; }

.cfp-gallery{
    display:flex;
    gap:14px;
    align-items:stretch;
    position:relative;
}

/* Thumbnails column */
.cfp-gallery-thumbs{
    flex:0 0 86px;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.cfp-gallery-thumb{
    position:relative;
    width:86px;
    height:86px;
    border:0;
    padding:0;
    margin:0;
    background:#EEE5D8;
    border-radius:4px;
    overflow:hidden;
    cursor:pointer;
    outline:2px solid transparent;
    outline-offset:-2px;
    transition:outline-color .2s ease, opacity .2s ease;
    opacity:.85;
}
.cfp-gallery-thumb img{
    width:100%; height:100%; object-fit:cover; display:block;
}
.cfp-gallery-thumb.is-active,
.cfp-gallery-thumb:hover{
    opacity:1;
    outline-color:#1D1D1D;
}
.cfp-gallery-thumb-more{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(29,29,29,.55);
    color:#fff;
    font-family:'Inter', sans-serif;
    font-weight:500;
    font-size:14px;
    letter-spacing:.04em;
}

/* Main image */
.cfp-gallery-main{
    flex:1 1 auto;
    position:relative;
    min-width:0;
    aspect-ratio: 1 / 1;
    background:#EEE5D8;
    border-radius:4px;
    overflow:hidden;
}
.cfp-gallery-slide{
    position:absolute;
    inset:0;
    display:block;
    opacity:0;
    transition:opacity .4s ease;
    pointer-events:none;
}
.cfp-gallery-slide.is-active{
    opacity:1;
    pointer-events:auto;
}
.cfp-gallery-slide img{
    width:100%; height:100%; object-fit:cover; display:block;
}

/* Down chevron ??? next image */
.cfp-gallery-next{
    position:absolute;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.85);
    border:0;
    color:#1D1D1D;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:background .2s ease;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    z-index:3;
}
.cfp-gallery-next:hover{ background:#fff; }

/* Mobile: thumbs become horizontal row below main */
@media (max-width: 991.98px){
    .cfp-gallery{ flex-direction:column-reverse; }
    .cfp-gallery-thumbs{
        flex:0 0 auto;
        flex-direction:row;
        gap:8px;
        overflow-x:auto;
        padding-bottom:4px;
    }
    .cfp-gallery-thumb{ flex:0 0 70px; width:70px; height:70px; }
}


.cfp-gallery-thumb .cfp-gallery-thumb-img,
.cfp-gallery-thumb img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.cfp-gallery-main .cfp-gallery-main-img,
.cfp-gallery-main img{ width:100%; height:100%; object-fit:cover; display:block; }


/* ============================================================
   CFP ??? Product Detail: FULL-BLEED gallery + overlay layout
   ============================================================ */

/* Remove constraints on root */
.cfp-pd{
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;
}

/* Two-column hero ??? gallery flush left, info on the right */
.cfp-pd-hero{
    display:grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:0 !important;
    margin-bottom:80px !important;
    align-items:stretch !important;
}
@media (max-width: 991.98px){
    .cfp-pd-hero{ grid-template-columns:1fr !important; }
}

/* Gallery: full-bleed, fills column, tall */
.cfp-pd-gallery{
    position:relative;
    width:100%;
    min-height:560px;
    background:#3a2f24;
    overflow:hidden;
}

/* Breadcrumb overlay */
.cfp-pd-crumbs-overlay{
    position:absolute !important;
    top:18px;
    left:24px;
    z-index:6;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    padding:8px 14px;
    border-radius:20px;
    font-family:'Inter', sans-serif;
    font-size:12px;
    color:#3a3a3a;
    display:inline-flex;
    align-items:center;
    gap:0;
    max-width:calc(100% - 48px);
    line-height:1.2;
}
.cfp-pd-crumbs-overlay a{ color:#3a3a3a; text-decoration:none; }
.cfp-pd-crumbs-overlay a:hover{ color:#1D1D1D; }
.cfp-pd-crumbs-overlay .sep{ margin:0 8px; color:#aaa; }
.cfp-pd-crumbs-overlay .current{ color:#1D1D1D; font-weight:500; }

/* ----- New CFP gallery (absolute layout inside .cfp-pd-gallery) ----- */
.cfp-pd-gallery .product-image-gallery,
.cfp-pd-gallery .product-image-gallery__main-wrapper,
.cfp-pd-gallery .product-image-gallery__thumbnails-wrapper{ display:none !important; }
.cfp-pd-gallery .cfp-gallery{ display:block !important; }

.cfp-gallery{
    position:absolute;
    inset:0;
}
.cfp-gallery-main{
    position:absolute !important;
    inset:0 !important;
    aspect-ratio:auto !important;
    background:transparent !important;
    border-radius:0 !important;
}
.cfp-gallery-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .5s ease;
    pointer-events:none;
}
.cfp-gallery-slide.is-active{ opacity:1; pointer-events:auto; }
.cfp-gallery-slide img,
.cfp-gallery-main img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block;
}

/* Thumbnails OVERLAY column */
.cfp-gallery-thumbs{
    position:absolute !important;
    top:80px;
    left:24px;
    z-index:5;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    width:74px !important;
    flex:none !important;
}
.cfp-gallery-thumb{
    position:relative;
    width:74px !important;
    height:74px !important;
    border:0;
    padding:0;
    margin:0;
    background:#EEE5D8;
    border-radius:4px;
    overflow:hidden;
    cursor:pointer;
    outline:2px solid transparent;
    outline-offset:0;
    transition:outline-color .2s ease, opacity .2s ease;
    opacity:.95;
    box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.cfp-gallery-thumb.is-active{ outline-color:#fff; }
.cfp-gallery-thumb img,
.cfp-gallery-thumb .cfp-gallery-thumb-img{
    width:100% !important;
    height:100% !important;
    object-fit:cover;
    display:block;
}
.cfp-gallery-thumb-more{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(29,29,29,.7);
    color:#fff;
    font-family:'Inter', sans-serif;
    font-weight:500;
    font-size:14px;
}

/* Down chevron bottom-center */
.cfp-gallery-next{
    position:absolute !important;
    left:50%;
    bottom:22px;
    transform:translateX(-50%);
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(255,255,255,.85);
    border:0;
    color:#1D1D1D;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    z-index:5;
}
.cfp-gallery-next:hover{ background:#fff; }

/* ----- INFO column padding ----- */
.cfp-pd-info{
    padding:60px 60px 60px 60px !important;
    max-width:600px;
}
@media (max-width: 1199.98px){
    .cfp-pd-info{ padding:40px 32px !important; }
}
@media (max-width: 991.98px){
    .cfp-pd-info{ padding:40px 24px !important; max-width:none; }
    .cfp-pd-gallery{ min-height:auto; aspect-ratio:1/1; }
    .cfp-gallery-thumbs{ top:60px; left:14px; }
}

/* Detail + related stay inside the readable container */
.cfp-pd-detail,
.cfp-pd-related{
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
    padding-left:28px;
    padding-right:28px;
}

/* Remove the original breadcrumb spacing reset (the old non-overlay version
   is still in the CSS file from earlier; explicitly hide it) */
.cfp-pd > .cfp-pd-crumbs:not(.cfp-pd-crumbs-overlay){ display:none !important; }


/* Refine: breadcrumb plain on image (like mockup), thumbs slight vertical center */
.cfp-pd-crumbs-overlay{
    background:transparent !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    padding:0 !important;
    border-radius:0 !important;
    color:#fff !important;
    text-shadow:0 1px 3px rgba(0,0,0,.45);
    font-size:13px;
}
.cfp-pd-crumbs-overlay a{ color:#fff !important; }
.cfp-pd-crumbs-overlay .sep{ color:rgba(255,255,255,.6) !important; }
.cfp-pd-crumbs-overlay .current{ color:#fff !important; font-weight:400; }

/* Thumbs slightly lower (after crumb) */
.cfp-gallery-thumbs{ top:120px; }

/* ============================================================
   Override full-bleed: keep gallery contained inside 1320px
   ============================================================ */
.cfp-pd{
    max-width:1320px !important;
    margin:0 auto !important;
    padding:24px 28px 80px !important;
}
.cfp-pd-hero{
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
    gap:48px !important;
    margin-bottom:64px !important;
}
.cfp-pd-gallery{
    min-height:auto !important;
    aspect-ratio: 1 / 1 !important;
    border-radius:6px !important;
    background:#3a2f24 !important;
}
.cfp-pd-info{
    padding:0 !important;
    max-width:none !important;
}
@media (max-width: 1199.98px){
    .cfp-pd-info{ padding:0 !important; }
}
@media (max-width: 991.98px){
    .cfp-pd-hero{ grid-template-columns:1fr !important; gap:32px !important; }
    .cfp-pd-info{ padding:0 !important; }
}

/* Thumbs / crumbs inside the contained image */
.cfp-pd-crumbs-overlay{ top:16px; left:16px; }
.cfp-gallery-thumbs{ top:60px; left:16px; }

/* Don't stretch gallery to info column height */
.cfp-pd-hero{ align-items:start !important; }
.cfp-pd-gallery{ height:auto !important; }

/* Remove border-radius from gallery */
.cfp-pd-gallery{ border-radius:0 !important; }
.cfp-gallery-main,
.cfp-gallery-slide,
.cfp-gallery-slide img,
.cfp-gallery-main img{ border-radius:0 !important; }

/* Padding top on info column to match mockup */
.cfp-pd-info{ padding-top:32px !important; }

/* Separator line after brand subtitle */
.cfp-pd-subtitle{
    position:relative;
    padding-bottom:22px !important;
    margin-bottom:26px !important;
}
.cfp-pd-subtitle::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:48px;
    height:1px;
    background:#C9BFB1;
}

/* Smaller price */
.cfp-pd-price,
.cfp-pd-price .PricesalesPrice,
.cfp-pd-price .price-final,
.cfp-pd-price .price-final-value,
.cfp-pd-price .product-price{
    font-size:20px !important;
}

/* Image flush with menu ? remove top padding from the wrapper */
.cfp-pd{ padding-top:0 !important; }
.cfp-pd-hero{ margin-top:0 !important; }

/* Quantity box: cream background, soft border, wider */
.cfp-pd-cart .quantity-box{
    background:#F5EFE5 !important;
    border:1px solid #E0D7C6 !important;
    border-radius:4px !important;
    height:48px !important;
    padding:0 6px !important;
    min-width:140px !important;
    justify-content:space-between !important;
    box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.cfp-pd-cart .quantity-box .btn-secondary,
.cfp-pd-cart .quantity-box .quantity-controls{
    background:transparent !important;
    border:0 !important;
    width:40px !important;
    height:46px !important;
    color:#1D1D1D !important;
    font-size:16px !important;
    box-shadow:none !important;
}
.cfp-pd-cart .quantity-box .quantity-controls i{ font-size:12px; }
.cfp-pd-cart .quantity-box input.quantity-input,
.cfp-pd-cart .quantity-box input.form-control{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    width:50px !important;
    text-align:center !important;
    font-size:15px !important;
    color:#1D1D1D !important;
    font-family:'Inter', sans-serif !important;
    -moz-appearance:textfield;
}
.cfp-pd-cart .quantity-box input[type=number]::-webkit-outer-spin-button,
.cfp-pd-cart .quantity-box input[type=number]::-webkit-inner-spin-button{
    -webkit-appearance:none; margin:0;
}

/* Hide FA icons, render text symbols instead */
.cfp-pd-cart .quantity-box .quantity-controls i.fas{ display:none !important; }
.cfp-pd-cart .quantity-box .quantity-minus::before{ content:"\2212"; font-family:'Inter', sans-serif; font-size:18px; font-weight:300; color:#1D1D1D; }
.cfp-pd-cart .quantity-box .quantity-plus::before{ content:"+"; font-family:'Inter', sans-serif; font-size:18px; font-weight:300; color:#1D1D1D; }
.cfp-pd-cart .quantity-box .quantity-controls{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
}
.cfp-pd-cart .quantity-box{
    height:52px !important;
    min-width:160px !important;
}
.cfp-pd-cart .quantity-box .btn-secondary,
.cfp-pd-cart .quantity-box .quantity-controls{
    width:44px !important;
    height:50px !important;
}
.cfp-pd-cart .quantity-box input.quantity-input,
.cfp-pd-cart .quantity-box input.form-control{
    width:60px !important;
    font-size:16px !important;
    font-weight:400 !important;
}


/* PDP: white background on product container (PDP wrapper only) */
.cfp-pd.productdetails-view{
    background:#FFFFFF;
}

/* PDP: reduce gap between quantity box and add-to-cart */
.cfp-pd-cart .quantity-box{ margin-bottom:6px !important; }

/* PDP: pull gallery to the left edge of wrapper (eliminate white strip on the left) */
.cfp-pd-gallery{ margin-left:-28px; }
@media (max-width: 991.98px){
    .cfp-pd-gallery{ margin-left:0; }
}

/* PDP: tighten gap between gallery and info column */
.cfp-pd-hero{ gap:24px !important; }

/* PDP: further tighten gap */
.cfp-pd-hero{ gap:12px !important; }

/* PDP: zero gap between gallery and info */
.cfp-pd-hero{ gap:0 !important; }

/* PDP only: white background on body/main */
body.view-productdetails{ background:#FFFFFF !important; }
body.view-productdetails .container-main,
body.view-productdetails main,
body.view-productdetails .main-section{ background:#FFFFFF !important; }

/* ========== PDP Detail 3-col (quote | description | specs) ========== */
.cfp-pd-detail-3col{
    display:grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    gap:64px;
    align-items:start;
    padding:64px 0;
    border-top:1px solid #E6E0D5;
    margin:48px 0 0;
}
@media (max-width: 991.98px){
    .cfp-pd-detail-3col{ grid-template-columns:1fr; gap:40px; padding:40px 0; }
}

/* LEFT: pull-quote */
.cfp-pd-detail-quote{
    padding:0 8px;
}
.cfp-pd-quote{
    font-family:'Playfair Display', serif;
    font-size:30px;
    line-height:1.35;
    font-weight:400;
    color:#1D1D1D;
    margin:0 0 24px;
    quotes:none;
}
.cfp-pd-quote-signature{
    font-family:'Dancing Script','Brush Script MT', cursive;
    font-size:24px;
    color:#1D1D1D;
    margin-top:8px;
}

/* MIDDLE: description */
.cfp-pd-detail-desc{
    font-family:'Inter', sans-serif;
    font-size:15px;
    line-height:1.7;
    color:#3a3a3a;
}
.cfp-pd-detail-desc p{ margin:0 0 18px; }
.cfp-pd-detail-desc .cfp-pd-desc-lead{ color:#1D1D1D; }
.cfp-pd-detail-desc .cfp-pd-readmore{
    display:inline-block;
    margin-top:8px;
    font-family:'Inter', sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#1D1D1D;
    text-decoration:none;
    border-bottom:1px solid #1D1D1D;
    padding-bottom:4px;
}
.cfp-pd-detail-desc .cfp-pd-readmore:hover{ color:#000; border-color:#000; }

/* RIGHT: spec table */
.cfp-pd-specs-table{
    margin:0;
    font-family:'Inter', sans-serif;
    font-size:14px;
    color:#1D1D1D;
}
.cfp-pd-specs-row{
    display:grid;
    grid-template-columns: 110px 1fr;
    gap:24px;
    padding:14px 0;
    border-bottom:1px solid #E6E0D5;
}
.cfp-pd-specs-row:first-child{ border-top:1px solid #E6E0D5; }
.cfp-pd-specs-row dt{
    font-weight:500;
    color:#1D1D1D;
    margin:0;
}
.cfp-pd-specs-row dd{
    margin:0;
    color:#3a3a3a;
}

/* ========== PDP Detail 3-col (quote | description | specs) ========== */
.cfp-pd-detail-3col{
    display:grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    gap:64px;
    align-items:start;
    padding:64px 0;
    border-top:1px solid #E6E0D5;
    margin:48px 0 0;
}
@media (max-width: 991.98px){
    .cfp-pd-detail-3col{ grid-template-columns:1fr; gap:40px; padding:40px 0; }
}

/* LEFT: pull-quote */
.cfp-pd-detail-quote{
    padding:0 8px;
}
.cfp-pd-quote{
    font-family:'Playfair Display', serif;
    font-size:30px;
    line-height:1.35;
    font-weight:400;
    color:#1D1D1D;
    margin:0 0 24px;
    quotes:none;
}
.cfp-pd-quote-signature{
    font-family:'Dancing Script','Brush Script MT', cursive;
    font-size:24px;
    color:#1D1D1D;
    margin-top:8px;
}

/* MIDDLE: description */
.cfp-pd-detail-desc{
    font-family:'Inter', sans-serif;
    font-size:15px;
    line-height:1.7;
    color:#3a3a3a;
}
.cfp-pd-detail-desc p{ margin:0 0 18px; }
.cfp-pd-detail-desc .cfp-pd-desc-lead{ color:#1D1D1D; }
.cfp-pd-detail-desc .cfp-pd-readmore{
    display:inline-block;
    margin-top:8px;
    font-family:'Inter', sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#1D1D1D;
    text-decoration:none;
    border-bottom:1px solid #1D1D1D;
    padding-bottom:4px;
}
.cfp-pd-detail-desc .cfp-pd-readmore:hover{ color:#000; border-color:#000; }

/* RIGHT: spec table */
.cfp-pd-specs-table{
    margin:0;
    font-family:'Inter', sans-serif;
    font-size:14px;
    color:#1D1D1D;
}
.cfp-pd-specs-row{
    display:grid;
    grid-template-columns: 110px 1fr;
    gap:24px;
    padding:14px 0;
    border-bottom:1px solid #E6E0D5;
}
.cfp-pd-specs-row:first-child{ border-top:1px solid #E6E0D5; }
.cfp-pd-specs-row dt{
    font-weight:500;
    color:#1D1D1D;
    margin:0;
}
.cfp-pd-specs-row dd{
    margin:0;
    color:#3a3a3a;
}

/* Quantity box: white bg, no border-radius */
.cfp-pd-cart .quantity-box{
    background:#FFFFFF !important;
    border-radius:0 !important;
}
.cfp-pd-cart .quantity-box .quantity-controls,
.cfp-pd-cart .quantity-box .btn-secondary,
.cfp-pd-cart .quantity-box input.quantity-input,
.cfp-pd-cart .quantity-box input.form-control{
    border-radius:0 !important;
}

/* PDP: remove border on wishlist button (VME) */
.cfp-pd-wish .vme-wishlist-button,
.cfp-pd-wish .btn-vme-round,
.cfp-pd-wish .vme-wishlist-link{
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
}

/* PDP: remove border-radius from shipping pill */
.cfp-pd-shipping{ border-radius:0 !important; }

/* PDP: cart icon on the right side of ADD TO CART (input element) */
.cfp-pd-cart input.addtocart-button,
.cfp-pd-cart input[name="addtocart"]{
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>");
    background-repeat:no-repeat;
    background-position: right 20px center;
    background-size: 20px 20px;
    padding-right: 56px !important;
}
.cfp-pd-cart input.addtocart-button:hover,
.cfp-pd-cart input[name="addtocart"]:hover{
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>") !important;
    background-repeat:no-repeat !important;
    background-position: right 20px center !important;
    background-size: 20px 20px !important;
}

/* PDP: cart icon on add-to-cart (force always visible, beats shorthand !important) */
.cfp-pd .cfp-pd-cart input.addtocart-button,
.cfp-pd .cfp-pd-cart input[name="addtocart"]{
    background-color:#1D1D1D !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>") !important;
    background-repeat:no-repeat !important;
    background-position: right 20px center !important;
    background-size: 20px 20px !important;
    padding-right: 56px !important;
}
.cfp-pd .cfp-pd-cart input.addtocart-button:hover,
.cfp-pd .cfp-pd-cart input[name="addtocart"]:hover{
    background-color:#000 !important;
}

/* CFP: VirtueMart container max-widths (Bootstrap responsive) */
body.com-virtuemart .main-content-area > .container-fluid {
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 576px) { body.com-virtuemart .main-content-area > .container-fluid { max-width: 540px; } }
@media (min-width: 768px) { body.com-virtuemart .main-content-area > .container-fluid { max-width: 720px; } }
@media (min-width: 992px) { body.com-virtuemart .main-content-area > .container-fluid { max-width: 960px; } }
@media (min-width: 1200px) { body.com-virtuemart .main-content-area > .container-fluid { max-width: 1140px; } }
@media (min-width: 1400px) { body.com-virtuemart .main-content-area > .container-fluid { max-width: 1320px; } }

/* CFP: minimalist product cards on category listing */
body.com-virtuemart.view-category .product-items-container .product.product-grid-view { padding-left: 8px !important; padding-right: 8px !important; margin-bottom: 36px; }
body.com-virtuemart.view-category .product-items-container .product-container { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.com-virtuemart.view-category .product-items-container .product-top-container { padding: 0 !important; }
body.com-virtuemart.view-category .product-list-images { background: #EEE5D8; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; overflow: hidden; margin-bottom: 12px !important; border-radius: 0; }
body.com-virtuemart.view-category .product-list-images img { max-width: 70%; max-height: 80%; object-fit: contain; }
body.com-virtuemart.view-category .product-name { text-align: left !important; font-family: 'Inter', system-ui, sans-serif; font-size: 13px !important; font-weight: 400 !important; line-height: 1.35 !important; color: #1D1D1D !important; margin: 0 0 6px 0 !important; min-height: 36px; }
body.com-virtuemart.view-category .product-name a { color: inherit !important; text-decoration: none !important; }
body.com-virtuemart.view-category .product-prices { text-align: left !important; margin: 0 !important; }
body.com-virtuemart.view-category .product-prices .PricesalesPrice { font-size: 14px; font-weight: 500; color: #1D1D1D; }
/* hide non-minimalist parts on category listing */
body.com-virtuemart.view-category .product-items-container .product-categories,
body.com-virtuemart.view-category .product-items-container .product-rating,
body.com-virtuemart.view-category .product-items-container .product-short-description,
body.com-virtuemart.view-category .product-items-container .product-bottom-container,
body.com-virtuemart.view-category .product-items-container .vmicon-utility,
body.com-virtuemart.view-category .product-items-container .product-image-hover,
body.com-virtuemart.view-category .product-items-container .product-backdrop,
body.com-virtuemart.view-category .product-items-container .product-labels { display: none !important; }
/* 4 columns at lg+ */
@media (min-width: 992px) {
  body.com-virtuemart.view-category .product-items-container .product.product-grid-view { flex: 0 0 25% !important; max-width: 25% !important; }
}
@media (min-width: 576px) and (max-width: 991.98px) {
  body.com-virtuemart.view-category .product-items-container .product.product-grid-view { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
}
@media (max-width: 575.98px) {
  body.com-virtuemart.view-category .product-items-container .product.product-grid-view { flex: 0 0 50% !important; max-width: 50% !important; }
}

/* CFP MOCK: hero/tabs/toolbar/quote */

body.com-virtuemart.view-category .browse-view { padding-top: 0; }

/* ===== Hero ===== */
.cfp-cat-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 42%) 1fr;
    min-height: 280px;
    background: #1D1D1D;
    color: #F4ECDD;
    overflow: hidden;
    margin: 0 0 36px 0;
}
.cfp-cat-hero-text {
    padding: 56px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2;
}
.cfp-cat-hero-title {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-weight: 400;
    font-size: 64px;
    line-height: 1;
    color: #F4ECDD;
    margin: 0 0 18px 0;
}
.cfp-cat-hero-divider {
    display: block;
    width: 60px;
    height: 1px;
    background: rgba(244,236,221,0.6);
    margin-bottom: 22px;
}
.cfp-cat-hero-subtitle {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: rgba(244,236,221,0.85);
    max-width: 320px;
    margin: 0;
}
.cfp-cat-hero-image {
    background:
        linear-gradient(120deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.15) 45%, rgba(0,0,0,0) 100%),
        radial-gradient(circle at 70% 40%, #6b5435 0%, #3a2f24 55%, #1D1D1D 100%);
    background-size: cover;
    background-position: center;
    min-height: 280px;
}
@media (max-width: 767.98px) {
    .cfp-cat-hero { grid-template-columns: 1fr; min-height: auto; }
    .cfp-cat-hero-text { padding: 40px 24px 28px; }
    .cfp-cat-hero-title { font-size: 44px; }
    .cfp-cat-hero-image { min-height: 200px; }
}

/* ===== Tabs + toolbar (entre hero e produtos) ===== */
.cfp-cat-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgba(29,29,29,0.12);
    padding: 6px 0 12px 0;
    margin-top: 8px;
}
.cfp-cat-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
    align-items: center;
}
.cfp-cat-tab {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
    color: #6b6b6b;
    text-decoration: none;
    padding: 8px 0;
    position: relative;
    transition: color .15s ease;
}
.cfp-cat-tab:hover { color: #1D1D1D; }
.cfp-cat-tab.is-active {
    color: #1D1D1D;
    font-weight: 500;
}
.cfp-cat-tab.is-active::after {
    content: "";
    position: absolute;
    left: 0; right: 0;
    bottom: -12px;
    height: 1px;
    background: #1D1D1D;
}
.cfp-cat-toolbar-right {
    display: flex;
    align-items: center;
    gap: 28px;
}
.cfp-cat-orderby {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
    color: #1D1D1D;
}
.cfp-cat-orderby .vm-order-list,
.cfp-cat-orderby select {
    border: 0 !important;
    background: transparent !important;
    color: #1D1D1D !important;
    font-size: 11px !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0 18px 0 0 !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%231D1D1D' stroke-width='1.2' d='M1 1l4 4 4-4'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
}
.cfp-cat-orderby label { display: none; }
.cfp-cat-count {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
    color: #1D1D1D;
}
@media (max-width: 575.98px) {
    .cfp-cat-toolbar { flex-direction: column; align-items: flex-start; gap: 12px; }
    .cfp-cat-toolbar-right { width: 100%; justify-content: space-between; }
    .cfp-cat-tabs { gap: 18px; }
}

/* ===== Quote block ===== */
.cfp-cat-quote-wrapper {
    padding: 0 8px;
    margin-bottom: 40px;
}
.cfp-cat-quote {
    display: grid;
    grid-template-columns: minmax(280px, 48%) 1fr;
    align-items: center;
    background: #EEE5D8;
    min-height: 220px;
    overflow: hidden;
}
.cfp-cat-quote-text {
    padding: 36px 40px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.cfp-cat-quote-blockquote {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-weight: 400;
    font-size: 28px;
    line-height: 1.25;
    color: #1D1D1D;
    margin: 0;
}
.cfp-cat-quote-cite {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-size: 11px;
    letter-spacing: 0.18em;
    color: #6b6b6b;
}
.cfp-cat-quote-cta {
    margin-top: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: #1D1D1D;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
}
.cfp-cat-quote-cta:hover { text-decoration: underline; }
.cfp-cat-quote-img {
    background:
        linear-gradient(90deg, #EEE5D8 0%, rgba(238,229,216,0.0) 18%),
        radial-gradient(circle at 70% 50%, #d4c3a3 0%, #b39d76 60%, #8b7449 100%);
    min-height: 220px;
}
@media (max-width: 767.98px) {
    .cfp-cat-quote { grid-template-columns: 1fr; }
    .cfp-cat-quote-img { min-height: 140px; order: -1; }
    .cfp-cat-quote-text { padding: 24px; }
    .cfp-cat-quote-blockquote { font-size: 22px; }
}

/* CFP MOCK TWEAK: sort + quote polish */
/* Hide orderby label & direction arrow inside our custom toolbar */
body.com-virtuemart.view-category .cfp-cat-orderby > label,
body.com-virtuemart.view-category .cfp-cat-orderby span.vmicon,
body.com-virtuemart.view-category .cfp-cat-orderby a.vmicon,
body.com-virtuemart.view-category .cfp-cat-orderby button[type=submit],
body.com-virtuemart.view-category .cfp-cat-orderby input[type=submit] { display: none !important; }
/* Ensure the select itself shows as minimal text+chevron */
body.com-virtuemart.view-category .cfp-cat-orderby form { display: inline-block; margin: 0; padding: 0; }
body.com-virtuemart.view-category .cfp-cat-orderby select { min-width: 110px; }
/* Quote wrapper visual balance when shown mid-grid */
.product-items-container > .row > .cfp-cat-quote-wrapper { margin-top: 8px; margin-bottom: 32px; }

/* CFP MOCK POLISH: orderby (Choices.js) flatten */
body.com-virtuemart.view-category .cfp-cat-orderby .col-form-label,
body.com-virtuemart.view-category .cfp-cat-orderby .btn-switch,
body.com-virtuemart.view-category .cfp-cat-orderby a.btn-switch { display: none !important; }
body.com-virtuemart.view-category .cfp-cat-orderby .row { margin: 0 !important; }
body.com-virtuemart.view-category .cfp-cat-orderby .col-auto { padding: 0 !important; }
body.com-virtuemart.view-category .cfp-cat-orderby .choices,
body.com-virtuemart.view-category .cfp-cat-orderby .choices__inner {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-height: auto !important;
    min-width: auto !important;
    font-size: 11px !important;
    letter-spacing: 0.12em;
}
body.com-virtuemart.view-category .cfp-cat-orderby .choices__inner {
    padding-right: 18px !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%231D1D1D' stroke-width='1.2' d='M1 1l4 4 4-4'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
}
body.com-virtuemart.view-category .cfp-cat-orderby .choices::after,
body.com-virtuemart.view-category .cfp-cat-orderby .choices[data-type*='select-one']::after { display: none !important; }
body.com-virtuemart.view-category .cfp-cat-orderby .choices__placeholder,
body.com-virtuemart.view-category .cfp-cat-orderby .choices__item--selectable {
    color: #1D1D1D !important;
    opacity: 1 !important;
    text-transform: uppercase;
    font-size: 11px !important;
    letter-spacing: 0.12em;
}
/* Replace the default 'Sorted Product Name' placeholder with 'ORDENAR' via CSS hack: show first option label as-is but uppercase. */
/* (Real label comes from VM lang strings; we just uppercase + space.) */

/* CFP MOCK FULLWIDTH+CARDS */
/* Hero: break out of the constrained .container-fluid to full viewport width */
body.com-virtuemart.view-category .cfp-cat-hero {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 0;
}
/* keep inner text aligned with the page content column */
body.com-virtuemart.view-category .cfp-cat-hero-text {
    padding-left: max(48px, calc((100vw - 1320px) / 2 + 0px));
}
@media (max-width: 1399.98px) {
    body.com-virtuemart.view-category .cfp-cat-hero-text {
        padding-left: max(48px, calc((100vw - 1140px) / 2 + 0px));
    }
}
@media (max-width: 1199.98px) {
    body.com-virtuemart.view-category .cfp-cat-hero-text {
        padding-left: max(40px, calc((100vw - 960px) / 2 + 0px));
    }
}
@media (max-width: 991.98px) {
    body.com-virtuemart.view-category .cfp-cat-hero-text {
        padding-left: max(32px, calc((100vw - 720px) / 2 + 0px));
    }
}
@media (max-width: 767.98px) {
    body.com-virtuemart.view-category .cfp-cat-hero-text {
        padding-left: 24px;
    }
}

/* Product card images: make them fill the card (no beige background, ~24px gap) */
body.com-virtuemart.view-category .product-items-container > .row {
    margin-left: -12px !important;
    margin-right: -12px !important;
}
body.com-virtuemart.view-category .product-items-container .product.product-grid-view {
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-bottom: 48px;
}
body.com-virtuemart.view-category .product-items-container .product-list-images {
    background: transparent !important;
    aspect-ratio: auto !important;
    display: block !important;
    overflow: hidden;
    margin-bottom: 16px !important;
}
body.com-virtuemart.view-category .product-items-container .product-list-images img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
}
/* Quote wrapper inherits the new 12px gutter */
body.com-virtuemart.view-category .product-items-container > .row > .cfp-cat-quote-wrapper {
    padding-left: 12px !important;
    padding-right: 12px !important;
}
/* /CFP MOCK FULLWIDTH+CARDS */

/* CFP MOCK NO-HSCROLL */
/* intentionally empty — overflow clipping was breaking sticky header & vertical scroll.
   Hero full-width is now achieved with --sb (scrollbar width) variable set by JS. */
/* /CFP MOCK NO-HSCROLL */

/* CFP MOCK REAL-IMAGES */
/* Hero (top) banner */
body.com-virtuemart.view-category .cfp-cat-hero-image {
    background:
        linear-gradient(90deg, rgba(29,29,29,0.85) 0%, rgba(29,29,29,0.25) 35%, rgba(29,29,29,0) 60%),
        url("/images/banners/BannerLivros.webp") center / cover no-repeat;
}
/* Quote (bottom) image */
body.com-virtuemart.view-category .cfp-cat-quote-img {
    background:
        linear-gradient(90deg, #EEE5D8 0%, rgba(238,229,216,0) 18%),
        url("/images/banners/BannerFernandoPessoa.webp") center / cover no-repeat;
}
/* /CFP MOCK REAL-IMAGES */

/* CFP MOCK HERO-FULL-BG */
/* Hero: image fills the whole banner; text overlays on top with dark gradient for legibility. */
body.com-virtuemart.view-category .cfp-cat-hero {
    display: block;          /* drop the 2-column grid */
    position: relative;
    min-height: 360px;
    background:
        linear-gradient(90deg, rgba(15,15,15,0.85) 0%, rgba(15,15,15,0.55) 35%, rgba(15,15,15,0.15) 65%, rgba(15,15,15,0) 100%),
        url("/images/banners/BannerLivros.webp") center / cover no-repeat;
}
body.com-virtuemart.view-category .cfp-cat-hero-image { display: none !important; }
body.com-virtuemart.view-category .cfp-cat-hero-text {
    position: relative;
    z-index: 2;
    max-width: 460px;
    padding-top: 64px;
    padding-bottom: 64px;
    padding-right: 24px;
    padding-left: calc((100vw - 1320px) / 2 + 14px);
}
@media (max-width: 1399.98px) {
    body.com-virtuemart.view-category .cfp-cat-hero-text {
        padding-left: calc((100vw - 1140px) / 2 + 14px);
    }
}
@media (max-width: 1199.98px) {
    body.com-virtuemart.view-category .cfp-cat-hero-text {
        padding-left: calc((100vw - 960px) / 2 + 14px);
    }
}
@media (max-width: 991.98px) {
    body.com-virtuemart.view-category .cfp-cat-hero-text {
        padding-left: calc((100vw - 720px) / 2 + 14px);
    }
}
@media (max-width: 767.98px) {
    body.com-virtuemart.view-category .cfp-cat-hero { min-height: 280px; }
    body.com-virtuemart.view-category .cfp-cat-hero-text { padding-left: 24px; padding-right: 24px; padding-top: 40px; padding-bottom: 32px; }
}
/* /CFP MOCK HERO-FULL-BG */

/* CFP MOCK HERO-TEXT-WIDTH */
body.com-virtuemart.view-category .cfp-cat-hero-text {
    box-sizing: content-box;   /* so max-width is the TEXT width, not text+padding */
    max-width: 480px;
}
body.com-virtuemart.view-category .cfp-cat-hero-subtitle {
    max-width: none;           /* let it use the parent width */
}
/* /CFP MOCK HERO-TEXT-WIDTH */

/* CFP MOCK SB-VAR */
:root { --sb: 0px; }
/* Hero: full viewport width MINUS the vertical scrollbar so it doesn't create horizontal overflow */
body.com-virtuemart.view-category .cfp-cat-hero {
    width: calc(100vw - var(--sb, 0px)) !important;
    margin-left: calc((100vw - var(--sb, 0px)) / -2 + 50%) !important;
    margin-right: calc((100vw - var(--sb, 0px)) / -2 + 50%) !important;
    left: 0 !important;
    right: 0 !important;
}
/* Hero text left padding aligned with the constrained content container */
body.com-virtuemart.view-category .cfp-cat-hero-text {
    padding-left: calc((100vw - var(--sb, 0px) - 1320px) / 2 + 14px) !important;
}
@media (max-width: 1399.98px) {
  body.com-virtuemart.view-category .cfp-cat-hero-text {
    padding-left: calc((100vw - var(--sb, 0px) - 1140px) / 2 + 14px) !important;
  }
}
@media (max-width: 1199.98px) {
  body.com-virtuemart.view-category .cfp-cat-hero-text {
    padding-left: calc((100vw - var(--sb, 0px) - 960px) / 2 + 14px) !important;
  }
}
@media (max-width: 991.98px) {
  body.com-virtuemart.view-category .cfp-cat-hero-text {
    padding-left: calc((100vw - var(--sb, 0px) - 720px) / 2 + 14px) !important;
  }
}
@media (max-width: 767.98px) {
  body.com-virtuemart.view-category .cfp-cat-hero-text {
    padding-left: 24px !important;
  }
}
/* /CFP MOCK SB-VAR */

/* CFP MOCK QUOTE-BG */
body.com-virtuemart.view-category .cfp-cat-quote { background: #f5e9db !important; }
body.com-virtuemart.view-category .cfp-cat-quote-img {
    background:
        linear-gradient(90deg, #f5e9db 0%, rgba(245,233,219,0) 18%),
        url("/images/banners/BannerFernandoPessoa.webp") center / cover no-repeat !important;
}
/* /CFP MOCK QUOTE-BG */

/* CFP MOCK HOME-GRID-GAP */
/* Match the 24px inter-card gap from the category page on the home page product grids. */
body.com-sppagebuilder.view-page .row:has(> .product-grid-view) {
    margin-left: -12px !important;
    margin-right: -12px !important;
    row-gap: 36px !important;
}
body.com-sppagebuilder.view-page .row > .product-grid-view {
    padding-left: 12px !important;
    padding-right: 12px !important;
}
/* /CFP MOCK HOME-GRID-GAP */

/* CFP MOCK HIDE-LIMITBOX */
body.com-virtuemart.view-category .display-limitbox { display: none !important; }
/* /CFP MOCK HIDE-LIMITBOX */

/* CFP MOCK LOGIN-SIDEBAR */
.cfp-login-offcanvas {
    --cfp-brown: #7b6244;
    --cfp-brown-strong: #6b5236;
    --cfp-text: #1D1D1D;
    --cfp-muted: #8a8a8a;
    --cfp-bg: #ffffff;
    background: var(--cfp-bg);
    color: var(--cfp-text);
    width: 420px;
    max-width: 100vw;
    font-family: 'Inter', system-ui, sans-serif;
}
.cfp-login-offcanvas .cfp-login-close-row {
    border: 0;
    padding: 20px 24px 0 24px;
}
.cfp-login-offcanvas .cfp-login-close-row .btn-icon {
    background: transparent;
    border: 0;
    color: var(--cfp-text);
    font-size: 18px;
    line-height: 1;
}
.cfp-login-body {
    padding: 0 36px 36px 36px;
}
.cfp-login-title-block {
    text-align: center;
    margin-top: 8px;
    margin-bottom: 28px;
}
.cfp-login-title {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 1.1;
    color: var(--cfp-text);
    margin: 0 0 14px 0;
}
.cfp-login-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--cfp-brown);
}
.cfp-login-divider-line {
    flex: 0 1 60px;
    height: 1px;
    background: rgba(123,98,68,0.5);
    display: inline-block;
}
.cfp-login-divider-diamond {
    font-size: 8px;
    line-height: 1;
    color: var(--cfp-brown);
}
.cfp-login-form { display: flex; flex-direction: column; gap: 14px; }
.cfp-login-field { display: flex; flex-direction: column; gap: 6px; }
.cfp-login-label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cfp-text);
    margin: 0;
}
.cfp-login-input,
.cfp-login-input.form-control {
    border: 1px solid rgba(123,98,68,0.35) !important;
    border-radius: 2px !important;
    background: #fbf8f4 !important;
    color: var(--cfp-text) !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    box-shadow: none !important;
    height: auto !important;
}
.cfp-login-input:focus { outline: none; border-color: var(--cfp-brown) !important; }
.cfp-login-pwd-group { position: relative; }
.cfp-login-pwd-group .cfp-login-input { padding-right: 40px !important; }
.cfp-login-pwd-toggle {
    position: absolute;
    right: 4px; top: 50%; transform: translateY(-50%);
    background: transparent !important;
    border: 0 !important;
    color: var(--cfp-muted) !important;
    padding: 6px 10px !important;
    z-index: 2;
}
.cfp-login-pwd-toggle:hover { color: var(--cfp-text) !important; }
.cfp-login-remember { display: flex; align-items: center; gap: 8px; margin: 4px 0 8px 0; }
.cfp-login-remember .form-check-input {
    margin: 0 !important;
    border-color: var(--cfp-brown) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
}
.cfp-login-remember .form-check-input:checked { background-color: var(--cfp-brown) !important; border-color: var(--cfp-brown) !important; }
.cfp-login-remember .form-check-label { font-size: 13px; color: var(--cfp-text); }
.cfp-login-btn-primary,
.cfp-login-btn-primary.btn {
    width: 100% !important;
    background: var(--cfp-brown) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 2px !important;
    padding: 14px 16px !important;
    font-size: 12px !important;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    box-shadow: none !important;
    transition: background .15s ease;
}
.cfp-login-btn-primary:hover { background: var(--cfp-brown-strong) !important; }
.cfp-login-btn-outline,
.cfp-login-btn-outline.btn {
    width: 100% !important;
    background: transparent !important;
    color: var(--cfp-brown) !important;
    border: 1px solid var(--cfp-brown) !important;
    border-radius: 2px !important;
    padding: 12px 16px !important;
    font-size: 12px !important;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: none !important;
}
.cfp-login-btn-outline:hover { background: rgba(123,98,68,0.08) !important; }
.cfp-login-links {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
}
.cfp-login-link {
    font-size: 12px;
    color: var(--cfp-muted);
    text-decoration: none;
}
.cfp-login-link:hover { color: var(--cfp-text); text-decoration: underline; }
.cfp-login-hr {
    border: 0;
    border-top: 1px solid rgba(0,0,0,0.08);
    margin: 28px 0 24px 0;
}
.cfp-login-register {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.cfp-login-pessoa svg { width: 76px; height: auto; }
.cfp-login-register-text {
    font-size: 13px;
    color: var(--cfp-muted);
    margin: 0;
}
.cfp-login-register-cta {
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--cfp-text);
    text-decoration: none;
    border-bottom: 1px solid var(--cfp-text);
    padding-bottom: 2px;
    margin-top: 4px;
}
.cfp-login-register-cta:hover { color: var(--cfp-brown); border-bottom-color: var(--cfp-brown); }
/* Logout view */
.cfp-login-hello { font-size: 14px; text-align: center; margin: 0 0 18px 0; }
.cfp-login-link-row { display: block; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,0.08); color: var(--cfp-text); text-decoration: none; font-size: 13px; }
.cfp-login-link-row:hover { color: var(--cfp-brown); }
/* /CFP MOCK LOGIN-SIDEBAR */

/* CFP MOCK LOGIN-FIXES */
/* Kill Chrome/Edge autofill blue/yellow background on login inputs */
.cfp-login-offcanvas input.cfp-login-input:-webkit-autofill,
.cfp-login-offcanvas input.cfp-login-input:-webkit-autofill:hover,
.cfp-login-offcanvas input.cfp-login-input:-webkit-autofill:focus,
.cfp-login-offcanvas input.cfp-login-input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #fbf8f4 inset !important;
    box-shadow: 0 0 0 1000px #fbf8f4 inset !important;
    -webkit-text-fill-color: #1D1D1D !important;
    caret-color: #1D1D1D !important;
    transition: background-color 9999s ease-out 0s !important;
}
/* Password input-group: align eye toggle inside the input on the right */
.cfp-login-offcanvas .cfp-login-pwd-group {
    position: relative;
    display: block;
}
.cfp-login-offcanvas .cfp-login-pwd-group .cfp-login-input {
    width: 100% !important;
    padding-right: 44px !important;
}
.cfp-login-offcanvas .cfp-login-pwd-group .cfp-login-pwd-toggle,
.cfp-login-offcanvas .cfp-login-pwd-group button.cfp-login-pwd-toggle.input-password-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #6b5236 !important;
    padding: 4px 6px !important;
    margin: 0 !important;
    height: auto !important;
    line-height: 1 !important;
    z-index: 3;
}
.cfp-login-offcanvas .cfp-login-pwd-group .cfp-login-pwd-toggle .icon-eye {
    font-size: 16px;
}
/* With only one remaining link, push it to the right */
.cfp-login-offcanvas .cfp-login-links {
    justify-content: flex-end;
}
/* /CFP MOCK LOGIN-FIXES */

/* CFP MOCK LOGIN-ALIGN */
.cfp-login-offcanvas .cfp-login-remember.form-check {
    padding-left: 0 !important;
    margin-left: 0 !important;
    display: flex;
    align-items: center;
    gap: 8px;
}
.cfp-login-offcanvas .cfp-login-remember.form-check .form-check-input {
    margin-left: 0 !important;
    float: none !important;
}
.cfp-login-offcanvas .cfp-login-links {
    justify-content: flex-start !important;
}
/* /CFP MOCK LOGIN-ALIGN */

/* CFP MOCK LOGIN-PESSOA-IMG */
.cfp-login-offcanvas .cfp-login-pessoa img {
    width: 76px;
    height: auto;
    display: block;
    margin: 0 auto;
}
/* /CFP MOCK LOGIN-PESSOA-IMG */

/* CFP MOCK LOGIN-BG */
.cfp-login-offcanvas {
    background: #f3ebdf !important;
}
.cfp-login-offcanvas .cfp-login-input,
.cfp-login-offcanvas .cfp-login-input.form-control {
    background: #ffffff !important;
}
.cfp-login-offcanvas input.cfp-login-input:-webkit-autofill,
.cfp-login-offcanvas input.cfp-login-input:-webkit-autofill:hover,
.cfp-login-offcanvas input.cfp-login-input:-webkit-autofill:focus,
.cfp-login-offcanvas input.cfp-login-input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    box-shadow: 0 0 0 1000px #ffffff inset !important;
}
/* /CFP MOCK LOGIN-BG */

/* CFP MOCK CART-POPUP */
.cfp-cart-popup {
    --cfp-brown: #7b6244;
    --cfp-brown-strong: #6b5236;
    --cfp-text: #1D1D1D;
    --cfp-muted: #8a8a8a;
    --cfp-cream: #f3ebdf;
    background: var(--cfp-cream);
    color: var(--cfp-text);
    padding: 32px 40px 36px 40px;
    font-family: 'Inter', system-ui, sans-serif;
}
/* Hide the default modal padding/border if the wrapper provides one */
.modal-content:has(> .cfp-cart-popup),
.modal-body:has(> .cfp-cart-popup) {
    background: var(--cfp-cream, #f3ebdf);
    border: 0;
}
.cfp-cart-popup-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 14px;
}
.cfp-cart-popup-header .cfp-cart-popup-divider-line {
    flex: 0 1 110px;
    height: 1px;
    background: rgba(123,98,68,0.45);
}
.cfp-cart-popup-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
}
.cfp-cart-popup-badge svg {
    width: 100%;
    height: 100%;
}
.cfp-cart-popup-title {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-weight: 400;
    font-size: 42px;
    line-height: 1.1;
    color: var(--cfp-text);
    text-align: center;
    margin: 4px 0 14px 0;
}
.cfp-cart-popup-subdivider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 28px;
    color: var(--cfp-brown);
}
.cfp-cart-popup-subdivider .cfp-cart-popup-divider-line {
    flex: 0 1 90px;
    height: 1px;
    background: rgba(123,98,68,0.45);
}
.cfp-cart-popup-divider-diamond { font-size: 9px; line-height: 1; }

.cfp-cart-popup-body {
    display: flex;
    align-items: flex-start;
    gap: 36px;
    padding: 0 15px;
}
.cfp-cart-popup-image-wrap {
    flex: 0 0 240px;
    max-width: 240px;
    display: flex;
    justify-content: center;
}
.cfp-cart-popup-image-wrap img,
.cfp-cart-popup-img {
    max-width: 100%;
    height: auto;
    display: block;
}
.cfp-cart-popup-info {
    flex: 1 1 auto;
    min-width: 0;
}
.cfp-cart-popup-product-name {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-weight: 400;
    font-size: 26px;
    color: var(--cfp-text);
    margin: 0 0 4px 0;
}
.cfp-cart-popup-product-sub {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    color: var(--cfp-muted);
    margin-bottom: 16px;
}
.cfp-cart-popup-qty {
    font-size: 14px;
    color: var(--cfp-text);
    margin-bottom: 8px;
}
.cfp-cart-popup-qty span { font-weight: 500; }
.cfp-cart-popup-price {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-size: 26px;
    color: var(--cfp-text);
    margin-bottom: 20px;
}
.cfp-cart-popup-quote {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-style: italic;
    font-size: 16px;
    color: var(--cfp-text);
    border: 0;
    padding: 0;
    margin: 12px 0 8px 0;
    line-height: 1.4;
}
.cfp-cart-popup-quote-mark {
    color: var(--cfp-brown);
    font-size: 22px;
    margin-right: 4px;
    vertical-align: -2px;
}
.cfp-cart-popup-signature {
    font-family: 'Allura', 'Pinyon Script', 'Great Vibes', cursive;
    font-size: 24px;
    color: var(--cfp-text);
    margin-top: 4px;
}
.cfp-cart-popup-sep {
    border: 0;
    border-top: 1px solid rgba(0,0,0,0.12);
    margin: 30px 0 22px 0;
}
.cfp-cart-popup-buttons {
    display: flex;
    gap: 18px;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
}
.cfp-cart-popup-buttons .btn { min-width: 240px; }
.cfp-cart-popup-btn-outline,
.cfp-cart-popup-btn-outline.btn,
a.cfp-cart-popup-btn-outline {
    background: transparent !important;
    color: #1D1D1D !important;
    border: 1px solid rgba(123,98,68,0.55) !important;
    border-radius: 2px !important;
    padding: 14px 22px !important;
    font-size: 12px !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    box-shadow: none !important;
    text-decoration: none !important;
}
.cfp-cart-popup-btn-outline:hover { background: rgba(123,98,68,0.08) !important; }
.cfp-cart-popup-btn-primary,
.cfp-cart-popup-btn-primary.btn,
a.cfp-cart-popup-btn-primary {
    background: #7b6244 !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 2px !important;
    padding: 14px 22px !important;
    font-size: 12px !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    box-shadow: none !important;
    text-decoration: none !important;
}
.cfp-cart-popup-btn-primary:hover { background: #6b5236 !important; }

@media (max-width: 575.98px) {
    .cfp-cart-popup { padding: 24px 18px 28px 18px; }
    .cfp-cart-popup-title { font-size: 30px; }
    .cfp-cart-popup-body { flex-direction: column; align-items: center; text-align: center; gap: 18px; }
    .cfp-cart-popup-image-wrap { flex-basis: auto; max-width: 180px; }
    .cfp-cart-popup-buttons .btn { min-width: 0; width: 100%; }
}
/* /CFP MOCK CART-POPUP */

/* CFP MOCK CART-MODAL-WRAP */
.modal.virtuemart-dialog .modal-dialog {
    max-width: 760px;
}
.modal.virtuemart-dialog .modal-content {
    background: #f3ebdf !important;
    border: 0 !important;
    border-radius: 10px !important;
    overflow: hidden;
}
.modal.virtuemart-dialog .modal-header {
    background: transparent !important;
    color: #1D1D1D !important;
    border: 0 !important;
    padding: 30px 18px 0 18px !important;
    justify-content: flex-end !important;
}
.modal.virtuemart-dialog .modal-header .modal-title { display: none !important; }
.modal.virtuemart-dialog .modal-header .close-button-container { margin-left: auto; }
.modal.virtuemart-dialog .modal-header .btn-close {
    filter: none !important;
    opacity: .7;
}
.modal.virtuemart-dialog .modal-body {
    padding: 0 !important;
    background: transparent !important;
}
.modal.virtuemart-dialog .modal-body .cfp-cart-popup {
    background: transparent !important;
    padding-top: 0;
}
.modal.virtuemart-dialog .modal-footer {
    background: transparent !important;
    border: 0 !important;
    padding: 0 32px 32px 32px !important;
    gap: 18px;
    justify-content: center !important;
}
.modal.virtuemart-dialog .modal-footer > * { margin: 0 !important; }
/* /CFP MOCK CART-MODAL-WRAP */

/* CFP MOCK CART-POPUP-TUNE */
/* 1) Brown close X button */
.modal.virtuemart-dialog .modal-header .btn-close {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%237b6244'%3E%3Cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3E%3C/svg%3E") !important;
    opacity: 1 !important;
    width: 1.1em;
    height: 1.1em;
}
.modal.virtuemart-dialog .modal-header .btn-close:hover {
    opacity: 0.75 !important;
}

/* 2) Small line between brand subtitle and quantity */
.cfp-cart-popup-product-sub {
    margin-bottom: 14px;
    padding-bottom: 14px;
    position: relative;
}
.cfp-cart-popup-product-sub::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 36px;
    height: 1px;
    background: rgba(123,98,68,0.45);
}

/* 3) Space below image/body, separator line, bigger button radius + gap */
.cfp-cart-popup-body {
    padding-bottom: 28px !important;
}
.cfp-cart-popup-sep {
    border: 0 !important;
    border-top: 1px solid rgba(0,0,0,0.10) !important;
    margin: 0 15px 0 15px !important;
}
.modal.virtuemart-dialog .modal-footer {
    padding: 24px 32px 32px 32px !important;
    gap: 28px !important;
}
.cfp-cart-popup-btn-outline,
.cfp-cart-popup-btn-outline.btn,
a.cfp-cart-popup-btn-outline,
.cfp-cart-popup-btn-primary,
.cfp-cart-popup-btn-primary.btn,
a.cfp-cart-popup-btn-primary {
    border-radius: 28px !important;
    padding: 14px 28px !important;
}
/* /CFP MOCK CART-POPUP-TUNE */

/* CFP MOCK CART-POPUP-BTN-RADIUS */
.cfp-cart-popup-btn-outline, .cfp-cart-popup-btn-outline.btn, a.cfp-cart-popup-btn-outline,
.cfp-cart-popup-btn-primary, .cfp-cart-popup-btn-primary.btn, a.cfp-cart-popup-btn-primary {
    border-radius: 10px !important;
    padding: 14px 28px !important;
}
/* /CFP MOCK CART-POPUP-BTN-RADIUS */

/* CFP MOCK PDP-ADDTOCART-CENTER */
.cfp-pd .cfp-pd-cart input.addtocart-button,
.cfp-pd .cfp-pd-cart input[name="addtocart"],
.cfp-pd-cart input.addtocart-button,
.cfp-pd-cart input[name="addtocart"]{
    padding-left: 56px !important;
    padding-right: 56px !important;
    text-align: center !important;
}
/* /CFP MOCK PDP-ADDTOCART-CENTER */

/* CFP MOCK RELATED-PRODUCTS-ALIGN */
.product-related-products .product-name,
.product-related-products h3.product-name {
    text-align: left !important;
}
.product-related-products .product-prices {
    text-align: left !important;
}
/* /CFP MOCK RELATED-PRODUCTS-ALIGN */

/* CFP MOCK PRODUCT-GRID-TITLE-PRICE */
.product-grid-view .product-name a {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1D1D1D;
}
.product-grid-view .product-prices .PricesalesPrice,
.product-grid-view .product-prices .price-final,
.product-grid-view .product-prices .price-final-value,
.product-grid-view .product-prices .price-text {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: #1D1D1D !important;
}
/* /CFP MOCK PRODUCT-GRID-TITLE-PRICE */


/* CFP MOCK WISHLIST-EMPTY-START */
/* ----- Empty wishlist sidebar (mock) ----- */
.cfp-wishlist-empty-oc{
    background:#F6F3EE !important;
}
.cfp-wishlist-empty-oc .offcanvas-header{
    border-bottom:none !important;
    padding:22px 22px 0 22px !important;
    justify-content:flex-end !important;
    background:transparent !important;
}
.cfp-wishlist-empty-oc .offcanvas-header .offcanvas-title{
    display:none !important;
}
.cfp-wishlist-empty-oc .offcanvas-header .btn-icon{
    color:#1D1D1D !important;
    background:transparent !important;
    width:36px; height:36px;
    display:inline-flex !important; align-items:center; justify-content:center;
}
.cfp-wishlist-empty-oc .vme-mod__contents{
    background:transparent !important;
}
.cfp-wishlist-empty{
    font-family:'Inter', sans-serif;
    color:#1D1D1D;
    padding:8px 28px 32px 28px;
    text-align:center;
}
.cfp-wishlist-empty-headline{
    text-align:left;
    margin-bottom:18px;
}
.cfp-wishlist-empty-title{
    font-family:'Playfair Display', Georgia, serif;
    font-weight:400;
    font-size:30px;
    line-height:1.1;
    color:#1D1D1D;
    margin:0 0 10px 0;
}
.cfp-wishlist-empty-rule{
    display:block;
    width:48px; height:1px;
    background:#B79A6A;
}
.cfp-wishlist-empty-illu{
    display:flex; justify-content:center;
    margin:14px 0 22px 0;
}
.cfp-wishlist-empty-illu svg{
    width:100%; max-width:300px; height:auto;
}
.cfp-wishlist-empty-state{
    font-family:'Playfair Display', Georgia, serif;
    font-weight:400;
    font-size:24px;
    line-height:1.2;
    color:#1D1D1D;
    margin:0 0 10px 0;
}
.cfp-wishlist-empty-diamond{
    display:flex; justify-content:center;
    margin:0 0 14px 0;
}
.cfp-wishlist-empty-diamond svg{
    width:80px; height:14px;
}
.cfp-wishlist-empty-text{
    font-family:'Inter', sans-serif;
    font-weight:400;
    font-size:14px;
    line-height:1.5;
    color:#5C5C5C;
    margin:0 8px 24px 8px;
}
.cfp-wishlist-empty-cta{
    display:block;
    width:100%;
    background:#9A7748;
    color:#FFFFFF !important;
    font-family:'Inter', sans-serif;
    font-weight:500;
    font-size:14px;
    letter-spacing:.18em;
    text-transform:uppercase;
    text-decoration:none !important;
    padding:16px 20px;
    border:none;
    border-radius:2px;
    text-align:center;
    transition:background .2s ease;
}
.cfp-wishlist-empty-cta:hover,
.cfp-wishlist-empty-cta:focus{
    background:#85643B;
    color:#FFFFFF !important;
}
.cfp-wishlist-empty-help{
    display:flex;
    align-items:flex-start;
    gap:14px;
    text-align:left;
    border-top:1px solid #E8E2D6;
    margin-top:24px;
    padding-top:18px;
}
.cfp-wishlist-empty-help-icon{
    flex:0 0 32px;
    width:32px; height:32px;
    display:inline-flex; align-items:center; justify-content:center;
}
.cfp-wishlist-empty-help-icon svg{
    width:32px; height:32px;
}
.cfp-wishlist-empty-help-text{
    flex:1 1 auto;
    display:flex; flex-direction:column; gap:2px;
}
.cfp-wishlist-empty-help-text strong{
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:13px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#1D1D1D;
}
.cfp-wishlist-empty-help-text span{
    font-family:'Inter', sans-serif;
    font-weight:400;
    font-size:13px;
    color:#5C5C5C;
}
.cfp-wishlist-empty-help-link{
    font-family:'Inter', sans-serif;
    font-weight:500;
    font-size:13px;
    color:#1D1D1D !important;
    text-decoration:none !important;
    border-bottom:1px solid #1D1D1D;
    align-self:flex-start;
    padding-bottom:2px;
    margin-top:4px;
}
.cfp-wishlist-empty-help-link:hover,
.cfp-wishlist-empty-help-link:focus{
    color:#1D1D1D !important;
    opacity:.75;
}
/* CFP MOCK WISHLIST-EMPTY-END */



/* ============================================================
   TECESA: Global typography override
   Force Poppins across the frontend
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

html, body,
body *,
body *::before,
body *::after,
input, textarea, select, button,
h1, h2, h3, h4, h5, h6,
.nav, .navbar, .menu, .dropdown-menu,
.product-name, .product-prices, .product-categories,
.cfp-header, .cfp-header * {
    font-family: 'Poppins', sans-serif !important;
}

/* ============================================================
   TECESA: Poppins weight tuning
   ============================================================ */
body, p, li, td, label, input, textarea, select {
    font-weight: 400 !important;
}

h1, h2, h3,
.cfp-pd-title,
.product-name a,
.cfp-search-name {
    font-weight: 600 !important;
}

h4, h5, h6,
.cfp-search-sub,
.cfp-topbar__inner {
    font-weight: 500 !important;
}

#cfpHeader .cfp-menu a,
#cfpHeader .cfp-icons a,
#cfpHeader .vme-mod__anchor > a,
#cfpHeader .mod-minicart__anchor > a,
button,
.btn,
input[type="button"],
input[type="submit"] {
    font-weight: 500 !important;
}

.product-prices,
.product-prices .PricesalesPrice,
.product-prices .price-final,
.product-prices .price-final-value,
.product-prices .price-text {
    font-weight: 600 !important;
}

/* ============================================================
   TECESA: Product detail desktop dummy mock
   ============================================================ */
.tec-pd {
    max-width: 1360px;
    margin: 20px auto 34px;
    padding: 0 12px;
    color: #0F172A;
}
.tec-pd a { text-decoration: none; }

.tec-pd__breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #5C6B84;
    margin-bottom: 16px;
}
.tec-pd__breadcrumbs a { color: #335EA8; font-weight: 500; }
.tec-pd__breadcrumbs strong { color: #1B2D53; font-weight: 600; }

.tec-pd__hero {
    display: grid;
    grid-template-columns: 430px minmax(0, 1fr) 330px;
    gap: 20px;
    align-items: start;
}

.tec-pd__gallery {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 14px;
}
.tec-pd__thumbs { display: flex; flex-direction: column; gap: 8px; }
.tec-pd__thumb {
    width: 62px; height: 62px;
    border: 1px solid #D5DCE9;
    border-radius: 6px;
    background: #F8FAFD;
    display: flex; align-items: center; justify-content: center;
}
.tec-pd__thumb.is-active { border-color: #2D67C7; box-shadow: 0 0 0 1px #2D67C7 inset; }
.tec-pd__thumb span {
    width: 30px; height: 30px; border-radius: 50%;
    border: 4px solid #222A37; outline: 4px solid #C8CFDA;
    background: #F9FBFF;
}
.tec-pd__thumb--more { font-weight: 600; color: #4D5F7F; font-size: 14px; }
.tec-pd__grid {
    width: 28px !important; height: 28px !important;
    border: 1px dashed #9CA9BF !important; outline: none !important;
    border-radius: 2px !important;
    background:
      linear-gradient(90deg, #9CA9BF 1px, transparent 1px) 0 0 / 8px 8px,
      linear-gradient(#9CA9BF 1px, transparent 1px) 0 0 / 8px 8px;
}

.tec-pd__main-image {
    height: 420px;
    border: 1px solid #E2E8F2;
    border-radius: 10px;
    background: radial-gradient(circle at 52% 40%, #f9fbff 0%, #eef2f8 40%, #dde4ef 100%);
    position: relative;
    overflow: hidden;
}
.tec-pd__ring {
    position: absolute;
    border-radius: 50%;
    left: 50%; top: 50%; transform: translate(-50%, -50%);
}
.tec-pd__ring--outer { width: 300px; height: 300px; border: 30px solid #BABFCA; box-shadow: inset 0 0 30px rgba(0,0,0,.14); }
.tec-pd__ring--middle { width: 200px; height: 200px; border: 20px solid #202833; box-shadow: inset 0 0 20px rgba(255,255,255,.35); }
.tec-pd__ring--inner { width: 110px; height: 110px; border: 16px solid #D0D6E0; background: #F5F8FD; }

.tec-pd__info { padding-top: 4px; }
.tec-pd__brand { font-size: 28px; color: #1E4EA3; font-weight: 700; letter-spacing: .06em; line-height: 1; }
.tec-pd__info h1 { margin: 10px 0 2px; font-size: 48px; line-height: 1.02; color: #0F1B34; }
.tec-pd__info h2 { margin: 0 0 8px; font-size: 28px; color: #1D2A44; font-weight: 600; }
.tec-pd__measure { font-size: 30px; color: #223553; font-weight: 500; margin-bottom: 12px; }
.tec-pd__meta { display: flex; gap: 22px; font-size: 13px; color: #5A6A85; margin-bottom: 12px; }
.tec-pd__meta strong { color: #233A62; font-weight: 600; }
.tec-pd__badges { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.tec-pd__badges span { display: inline-flex; align-items: center; gap: 7px; color: #223A62; font-size: 13px; font-weight: 500; }
.tec-pd__badges svg { width: 14px; height: 14px; color: #2B8C4D; }
.tec-pd__info p { color: #3E4F6A; font-size: 14px; line-height: 1.6; max-width: 690px; margin-bottom: 14px; }
.tec-pd__links { display: flex; gap: 20px; flex-wrap: wrap; }
.tec-pd__links a { display: inline-flex; align-items: center; gap: 8px; color: #1E59B7; font-weight: 600; font-size: 14px; }
.tec-pd__links a svg { width: 16px; height: 16px; }

.tec-pd__buybox { display: flex; flex-direction: column; gap: 14px; }
.tec-pd__card {
    border: 1px solid #D7DFEB;
    border-radius: 8px;
    background: #FFFFFF;
    padding: 16px;
}
.tec-pd__stock-label { color: #4E5F7C; font-size: 14px; }
.tec-pd__stock-value { color: #1F9C4D; font-size: 34px; font-weight: 700; line-height: 1.1; }
.tec-pd__stock-note { color: #7D8AA1; font-size: 12px; }
.tec-pd__card hr { margin: 12px 0; border: 0; border-top: 1px solid #E2E7F0; }
.tec-pd__price { font-size: 50px; font-weight: 700; color: #173267; line-height: 1; }
.tec-pd__price-note { font-size: 12px; color: #7987A0; margin-top: 2px; }
.tec-pd__price-iva { font-size: 18px; font-weight: 600; color: #22395F; margin: 8px 0 14px; }
.tec-pd__actions { display: flex; flex-direction: column; gap: 8px; }
.tec-pd__qty { display: grid; grid-template-columns: 42px 1fr 42px; border: 1px solid #D9E1ED; border-radius: 6px; overflow: hidden; }
.tec-pd__qty button,
.tec-pd__qty input { border: 0; background: #F7FAFD; height: 40px; text-align: center; font-weight: 600; color: #22395F; }
.tec-pd__qty input { background: #fff; }
.tec-pd__btn {
    height: 42px;
    border-radius: 6px;
    border: 1px solid transparent;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.tec-pd__btn--primary { background: #1E59B7; color: #fff; }
.tec-pd__btn--ghost { background: #fff; color: #26456F; border-color: #CFD8E7; }
.tec-pd__btn--outline { background: #fff; color: #1D4FA4; border-color: #1D4FA4; width: 100%; }
.tec-pd__card--help h3 { margin: 0 0 6px; font-size: 24px; color: #1D2F52; }
.tec-pd__card--help p { margin: 0 0 12px; color: #52627F; font-size: 14px; line-height: 1.45; }

.tec-pd__usp {
    margin-top: 14px;
    border: 1px solid #DCE3EE;
    border-radius: 8px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.tec-pd__usp article { padding: 14px; display: flex; gap: 10px; align-items: center; border-right: 1px solid #E4EAF3; }
.tec-pd__usp article:last-child { border-right: 0; }
.tec-pd__usp svg { width: 18px; height: 18px; color: #2A5FBA; }
.tec-pd__usp strong { display: block; font-size: 13px; color: #223B60; }
.tec-pd__usp span { display: block; font-size: 12px; color: #64758F; }

.tec-pd__tabs { margin-top: 18px; }
.tec-pd__tab-head {
    border-bottom: 1px solid #D8E0EC;
    display: flex;
    gap: 26px;
    flex-wrap: nowrap;
    overflow: auto;
}
.tec-pd__tab-head a {
    color: #334B70;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    padding: 10px 2px;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
}
.tec-pd__tab-head a.is-active { color: #1D4FA4; border-bottom-color: #1D4FA4; }

.tec-pd__tab-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 365px;
    gap: 16px;
    margin-top: 14px;
}
.tec-pd__spec-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 270px;
    gap: 12px;
}
.tec-pd__spec-card {
    border: 1px solid #DCE4F0;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}
.tec-pd__spec-card div { display: flex; justify-content: space-between; gap: 8px; padding: 10px 12px; border-bottom: 1px solid #E8EDF5; font-size: 13px; }
.tec-pd__spec-card div:last-child { border-bottom: 0; }
.tec-pd__spec-card span { color: #556884; }
.tec-pd__spec-card strong { color: #203B61; font-weight: 600; text-align: right; }

.tec-pd__drawing {
    border: 1px solid #DCE4F0;
    border-radius: 6px;
    background: #F8FAFD;
    position: relative;
    min-height: 202px;
    overflow: hidden;
}
.tec-pd__drawing-circle {
    position: absolute;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    left: 22px;
    top: 34px;
    border: 2px solid #90A4C3;
    box-shadow: inset 0 0 0 16px #D9E1EE, inset 0 0 0 32px #F4F7FC;
}
.tec-pd__drawing-lines {
    position: absolute;
    right: 20px;
    top: 24px;
    width: 80px;
    height: 150px;
    border: 2px solid #90A4C3;
    border-left: 0;
}

.tec-pd__related {
    border: 1px solid #DBE3EF;
    border-radius: 8px;
    background: #fff;
    padding: 12px;
}
.tec-pd__related-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.tec-pd__related-head h3 { margin: 0; font-size: 16px; color: #1D3257; text-transform: uppercase; }
.tec-pd__related-head a { color: #2C60B8; font-size: 13px; font-weight: 600; }
.tec-pd__related-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.tec-pd__related-list article { border: 1px solid #E1E7F1; border-radius: 6px; padding: 10px; }
.tec-pd__mini-ring {
    width: 70px; height: 70px; border-radius: 50%; margin: 0 auto 8px;
    border: 8px solid #AEB8C8; outline: 8px solid #232D3A; background: #f7faff;
}
.tec-pd__mini-block {
    width: 70px; height: 70px; margin: 0 auto 8px; border-radius: 8px;
    background: linear-gradient(135deg, #6A8FC7 0%, #3C5F97 100%);
}
.tec-pd__related-list h4 { font-size: 13px; margin: 0 0 2px; color: #213A61; }
.tec-pd__related-list p { margin: 0 0 4px; font-size: 12px; color: #63758F; }
.tec-pd__related-list strong { display: block; font-size: 16px; color: #18408A; }
.tec-pd__related-list span { display: block; font-size: 12px; color: #1F9C4D; font-weight: 500; }

.tec-pd-mobile-note { display: none; }

@media (max-width: 991.98px) {
    .tec-pd { display: none; }
    .tec-pd-mobile-note {
        display: block;
        margin: 18px 12px;
        padding: 12px;
        border: 1px solid #d8e0ec;
        border-radius: 8px;
        background: #fff;
        color: #1D2F52;
        font-size: 14px;
        text-align: center;
    }
}

/* ============================================================
   TECESA: Global white background override
   ============================================================ */
html,
body,
.main-section,
.main-section > .row,
.main-section > .row > *,
.category-view,
.browse-view,
.productdetails-view,
.cfp-pd,
.cfp-cat-quote,
.product-list-images {
    background: #FFFFFF !important;
}

/* CFP: kill horizontal overflow from orphaned offcanvas drawers (old header) */
html, body { overflow-x: clip; max-width: 100%; }


/* CFP: breadcrumbs restyle */
.breadcrumbs-section .mod-breadcrumbs__divider,
.breadcrumbs-section .mod-breadcrumbs__here { display:none !important; }
.breadcrumbs-section .mod-breadcrumbs.breadcrumb{ margin:0; padding:12px 0 !important; background:transparent; font-family:'Poppins',sans-serif; font-size:13px; line-height:1.2; display:flex; flex-wrap:wrap; align-items:center; }
.breadcrumbs-section .breadcrumb-item{ display:inline-flex; align-items:center; }
.breadcrumbs-section .breadcrumb-item + .breadcrumb-item::before{ content:'\203A'; color:#9aa6b8; padding:0 10px; font-size:16px; line-height:1; }
.breadcrumbs-section .breadcrumb-item a.pathway{ color:#41506a; text-decoration:none; }
.breadcrumbs-section .breadcrumb-item a.pathway:hover{ color:#1b8dff; }
.breadcrumbs-section .breadcrumb-item.active span{ color:#001c45; font-weight:600; }


/* CFP: breadcrumbs align nobg */
.breadcrumbs-section{ background:transparent !important; border:0 !important; box-shadow:none !important; }
.breadcrumbs-section .container-inner{ width:min(1320px, calc(100% - 40px)); max-width:1320px; margin-left:auto; margin-right:auto; }
.breadcrumbs-section .mod-breadcrumbs.breadcrumb{ padding-left:0 !important; padding-right:0 !important; }


/* CFP: category tiles border spacing */
.category-view .virtuemart-categories{ margin-top:32px; }
.category-view .tec-listing{ margin-top:28px; }
.category-view .virtuemart-categories .item-container{ border:1px solid #e6eaf1; border-radius:12px; padding:16px; background:#fff; height:100%; transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease; }
.category-view .virtuemart-categories .item-container:hover{ box-shadow:0 12px 30px rgba(0,20,60,.10); border-color:#cfe0f6; transform:translateY(-2px); }
.category-view .virtuemart-categories .category-image{ background:#f7f9fc; border-radius:10px; padding:14px; margin-bottom:14px !important; }


/* CFP: category tiles square fill align */
.category-view .virtuemart-categories .item-container{ border-radius:0 !important; padding:0 !important; overflow:hidden; }
.category-view .virtuemart-categories .item-container .category-image{ border-radius:0 !important; padding:0 !important; background:#f2f4f7 !important; margin-bottom:14px !important; }
.category-view .virtuemart-categories .item-container .category-image img{ width:100% !important; height:auto !important; display:block; }
.category-view .virtuemart-categories .item-container .category-name{ padding:0 12px 14px !important; }
.category-view .virtuemart-categories .row > .category:first-child{ padding-left:0 !important; }


/* CFP: category tiles equal nobg v2 */
.category-view .virtuemart-categories{ margin-left:-14px !important; }
.category-view .virtuemart-categories .row > .category:first-child{ padding-left:14px !important; }
.category-view .virtuemart-categories .item-container > .category-image{ background:transparent !important; padding:0 !important; aspect-ratio:1 / 1; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.category-view .virtuemart-categories .item-container > .category-image img{ width:100% !important; height:100% !important; object-fit:contain !important; }


/* CFP: category title no mb */
.category-view .virtuemart-categories .item-container .category-name{ margin-bottom:0 !important; }


/* CFP: listing align logo */
.category-view .tec-head, .category-view .tec-listing{ margin-left:-14px !important; }


/* CFP: product card TECESA */
.category-view .tec-sidebar{ position:static !important; top:auto !important; }
.tec-products{ --bs-gutter-x:22px; --bs-gutter-y:22px; }
.tec-products .tec-card{ border:1px solid #e6eaf1; border-radius:10px; padding:14px; background:#fff; display:flex; flex-direction:column; height:100%; transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease; }
.tec-products .tec-card:hover{ box-shadow:0 12px 30px rgba(0,20,60,.10); border-color:#cfe0f6; transform:translateY(-2px); }
.tec-products .tec-card-brand{ height:22px; margin-bottom:6px; display:flex; align-items:center; }
.tec-products .tec-brand-skf{ color:#0a3d91; font-weight:800; font-style:italic; font-size:18px; letter-spacing:.02em; }
/* CFP: brand-3m */
.tec-products .tec-brand-3m{ color:#ec0000; font-weight:900; font-style:italic; font-size:18px; letter-spacing:-.01em; }
.tec-products .tec-card-img{ display:flex; align-items:center; justify-content:center; padding:6px 6px 12px; height:170px; }
.tec-products .tec-card-img img{ max-width:100%; max-height:150px; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.tec-products .tec-card-name{ margin:0 0 6px; font-size:15px; font-weight:700; line-height:1.25; }
.tec-products .tec-card-name a{ color:#1b2436; }
.tec-products .tec-card-name a:hover{ color:#1b8dff; }
.tec-products .tec-card-desc{ font-size:13px; color:#6b7688; margin-bottom:2px; }
.tec-products .tec-card-dims{ font-size:13px; color:#6b7688; margin-bottom:10px; }
/* CFP: card-ref-ean */
.tec-products .tec-card-ref{ font-size:13px; color:#6b7688; margin-bottom:2px; }
.tec-products .tec-card-ref strong{ color:#1b2436; font-weight:700; }
.tec-products .tec-card-ean{ font-size:12px; color:#8a94a6; margin-bottom:10px; }
.tec-products .tec-card-stock{ display:inline-flex; align-items:center; gap:6px; color:#1a9d55; font-size:13px; font-weight:600; margin-bottom:14px; }
.tec-products .tec-card-stock .tec-ic, .tec-products .tec-card-stock svg{ width:15px; height:15px; display:inline-flex; }
.tec-products .tec-card-foot{ margin-top:auto; display:flex; align-items:flex-end; justify-content:space-between; gap:10px; }
.tec-products .tec-price{ font-size:20px; font-weight:800; color:#1b2436; line-height:1.1; }
.tec-products .tec-price-iva{ font-size:12.5px; color:#8a95a6; margin-top:2px; }
.tec-products .tec-card-actions{ display:flex; gap:8px; }
.tec-products .tec-wish, .tec-products .tec-cart{ width:40px; height:40px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; border:1px solid #dbe1ea; background:#fff; color:#41506a; transition:background .15s, color .15s, border-color .15s; }
.tec-products .tec-wish:hover{ border-color:#1b8dff; color:#1b8dff; }
.tec-products .tec-cart{ background:#001c45; border-color:#001c45; color:#fff; }
.tec-products .tec-cart:hover{ background:#012a63; }
.tec-products .tec-wish svg, .tec-products .tec-cart svg{ width:18px; height:18px; }


/* CFP: product detail real dummy */
.tec-pd .tec-dummy{ color:#e57373 !important; }
.tec-pd a.tec-dummy{ color:#e57373 !important; }
.tec-pd .tec-dummy-box{ position:relative; }
.tec-pd .tec-dummy-box::after{ content:""; position:absolute; inset:0; border:1px dashed rgba(229,115,115,.75); border-radius:inherit; pointer-events:none; }
.tec-pd .tec-pd__main-image{ background:#f7f9fc; border-radius:12px; display:flex; align-items:center; justify-content:center; padding:24px; min-height:360px; }
.tec-pd .tec-pd__main-image img{ max-width:100%; max-height:360px; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.tec-pd .tec-pd__thumb{ overflow:hidden; padding:6px; }
.tec-pd .tec-pd__thumb img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.tec-pd .tec-pd__desc-full{ grid-column:1 / -1; margin-top:24px; color:#41506a; font-size:14px; line-height:1.7; }
.tec-pd .tec-pd__desc-full h3{ font-size:18px; color:#1b2436; margin:0 0 10px; }


/* CFP: product detail compact */
.tec-pd{ max-width:1320px !important; }
.tec-pd .tec-pd__hero{ grid-template-columns:380px minmax(0,1fr) 320px !important; gap:28px !important; }
.tec-pd .tec-pd__brand{ font-size:17px !important; letter-spacing:.02em !important; margin-bottom:6px !important; }
.tec-pd .tec-pd__info h1{ font-size:26px !important; line-height:1.22 !important; margin:0 0 6px !important; }
.tec-pd .tec-pd__info h2{ font-size:16px !important; font-weight:500 !important; margin:0 0 8px !important; }
.tec-pd .tec-pd__measure{ font-size:15px !important; margin-bottom:14px !important; }
.tec-pd .tec-pd__meta{ font-size:13px !important; }
.tec-pd .tec-pd__badges{ font-size:13px !important; }
.tec-pd .tec-pd__info p{ font-size:14px !important; line-height:1.6 !important; }
.tec-pd .tec-pd__links{ font-size:13.5px !important; }
.tec-pd .tec-pd__main-image{ min-height:300px !important; padding:18px !important; }
.tec-pd .tec-pd__main-image img{ max-height:300px !important; }
.tec-pd .tec-pd__stock-label{ font-size:13px !important; }
.tec-pd .tec-pd__stock-value{ font-size:26px !important; }
.tec-pd .tec-pd__stock-note{ font-size:12.5px !important; }
.tec-pd .tec-pd__price{ font-size:30px !important; }
.tec-pd .tec-pd__price-note{ font-size:12.5px !important; }
.tec-pd .tec-pd__price-iva{ font-size:13px !important; }
.tec-pd .tec-pd__buybox{ width:auto !important; }
.tec-pd .tec-pd__card{ padding:18px !important; }
.tec-pd .tec-pd__usp{ font-size:13px !important; }
.tec-pd .tec-pd__tab-head a{ font-size:13px !important; }
.tec-pd .tec-pd__spec-card div span{ font-size:13px !important; }
.tec-pd .tec-pd__spec-card div strong{ font-size:13px !important; }


/* CFP: product detail lightbox */
.tec-pd .tec-pd__main-image{ cursor:zoom-in; }
.tec-pd__lightbox{ display:none; position:fixed; inset:0; z-index:100000; background:rgba(0,10,30,.86); align-items:center; justify-content:center; padding:40px; }
.tec-pd__lightbox.is-open{ display:flex; }
.tec-pd__lightbox img{ max-width:90vw; max-height:88vh; width:auto; height:auto; object-fit:contain; background:#fff; border-radius:8px; padding:22px; }
.tec-pd__lightbox-close{ position:absolute; top:18px; right:28px; background:transparent; border:0; color:#fff; font-size:42px; line-height:1; cursor:pointer; }
.tec-pd .tec-pd__thumb img{ pointer-events:none; }


/* CFP: product detail gallery single */
.tec-pd .tec-pd__gallery--single{ display:block !important; }
.tec-pd .tec-pd__gallery--single .tec-pd__main-image{ width:100% !important; }


/* CFP: product detail spec grid 2col */
.tec-pd .tec-pd__spec-grid{ grid-template-columns:1fr 1fr !important; gap:24px 40px !important; }
.tec-pd .tec-pd__spec-card div{ display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid #eef1f6; }
.tec-pd .tec-pd__spec-card div span{ color:#6b7688; }
.tec-pd .tec-pd__spec-card div strong{ color:#1b2436; text-align:right; }

/* CFP: stock-states */
.tec-pd__stock-value--in { color:#2e7d32; }
.tec-pd__stock-value--order { color:#ef6c00; }
.tec-card-stock--order { color:#ef6c00; }
.tec-card-stock--order .tec-ic svg { stroke:#ef6c00; }

/* CFP: pd-tabs-panels */
.tec-pd__panel { display:none; }
.tec-pd__panel.is-active { display:block; }
.tec-pd__tab-head a { cursor:pointer; }
.tec-pd__vant { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.tec-pd__vant li { position:relative; padding-left:30px; font-size:16px; color:#333; line-height:1.5; }
.tec-pd__vant li::before { content:''; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:#e8f5e9; }
.tec-pd__vant li::after { content:''; position:absolute; left:6px; top:7px; width:8px; height:4px; border-left:2px solid #2e7d32; border-bottom:2px solid #2e7d32; transform:rotate(-45deg); }

/* CFP: spec-card lateral padding */
.tec-pd .tec-pd__spec-card { padding: 4px 16px; }

/* CFP: brand-logo */
.tec-pd .tec-pd__brand-logo{ height:15px; width:auto; max-width:90px; display:block; object-fit:contain; }
.tec-card .tec-brand-logo{ height:11px; width:auto; max-width:70px; display:block; object-fit:contain; }

/* CFP: buybox real */
.tec-pd__actions .addtocart-area{ width:100%; }
.tec-pd__actions form.product{ display:flex; flex-direction:column; gap:12px; margin:0; }
.tec-pd__actions .vm-customfields-container:empty{ display:none; }
.tec-pd__actions .addtocart-bar{ display:flex !important; flex-direction:column; align-items:stretch !important; gap:12px; }
.tec-pd__actions .quantity-box{ display:flex; align-items:stretch; border:1px solid #d7dee9; border-radius:10px; overflow:hidden; width:100%; height:52px; }
.tec-pd__actions .quantity-box .quantity-controls{ flex:0 0 52px; border:0; background:#f3f6fb; color:#1b2436; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.tec-pd__actions .quantity-box .quantity-controls:hover{ background:#e7edf6; }
.tec-pd__actions .quantity-box .quantity-input{ flex:1 1 auto; border:0; text-align:center; font-size:16px; font-weight:600; color:#1b2436; width:100%; -moz-appearance:textfield; box-shadow:none; }
.tec-pd__actions .quantity-box .quantity-input:focus{ outline:none; box-shadow:none; }
.tec-pd__actions .quantity-box .quantity-input::-webkit-outer-spin-button,
.tec-pd__actions .quantity-box .quantity-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.tec-pd__actions .addtocart-button-container{ width:100%; }
.tec-pd__actions .addtocart-button{ width:100%; background:#001c45; border:0; color:#fff; font-weight:600; font-size:16px; padding:15px; border-radius:10px; cursor:pointer; transition:background .15s ease; }
.tec-pd__actions .addtocart-button:hover{ background:#0a2a5e; }
.tec-pd__actions .vmessentials-wishlist-form, .tec-pd__actions .vme-wishlist-link{ width:100%; margin:0; }
.tec-pd__actions .vme-wishlist-button, .tec-pd__actions .vme-wishlist-link{ width:100%; display:flex; align-items:center; justify-content:center; gap:9px; background:#fff; border:1px solid #d7dee9; color:#41506a; font-weight:600; font-size:15px; padding:13px; border-radius:10px; cursor:pointer; text-decoration:none; transition:border-color .15s ease, color .15s ease; }
.tec-pd__actions .vme-wishlist-button:hover, .tec-pd__actions .vme-wishlist-link:hover{ border-color:#001c45; color:#001c45; }
.tec-pd__actions .vme-wishlist-button::before, .tec-pd__actions .vme-wishlist-link::before{ content:"\2661"; font-size:18px; line-height:1; color:#e57373; }
.tec-pd__actions .vme-wishlist-button i, .tec-pd__actions .vme-wishlist-link i{ color:#e57373; }

/* CFP: buybox-fix */
.tec-pd__actions .vme-hide{ display:none !important; }
.tec-pd__actions .has-tooltip{ position:relative; }

/* CFP: buybox-icon-fix */
.tec-pd__actions .vme-wishlist-button i, .tec-pd__actions .vme-wishlist-link i{ display:none !important; }

/* CFP: buybox-design */
.tec-pd__actions .addtocart-button{ background:#1f5fd0 !important; border:0 !important; border-radius:12px !important; font-size:16px !important; font-weight:600 !important; padding:16px !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; }
.tec-pd__actions .addtocart-button:hover{ background:#184fb0 !important; }
.tec-pd__actions .quantity-box{ border:1px solid #dbe2ee; border-radius:12px; height:54px; }
.tec-pd__actions .quantity-box .quantity-controls{ background:#fff; color:#8a97ab; font-size:20px; }
.tec-pd__actions .quantity-box .quantity-controls:hover{ background:#f3f6fb; color:#1f5fd0; }
.tec-pd__actions .quantity-box .quantity-input{ font-size:16px; color:#1b2436; }
.tec-pd__actions .vme-wishlist-button, .tec-pd__actions .vme-wishlist-link{ border:1px solid #dbe2ee; border-radius:12px; padding:14px; color:#41506a; font-weight:600; }
.tec-pd__actions .vme-wishlist-button:hover, .tec-pd__actions .vme-wishlist-link:hover{ border-color:#1f5fd0; color:#1f5fd0; background:#fff; }
.tec-pd__actions .vme-wishlist-button::before, .tec-pd__actions .vme-wishlist-link::before{ content:"\2661"; color:#41506a; font-size:19px; }
.tec-pd__actions .vme-wishlist-button:hover::before, .tec-pd__actions .vme-wishlist-link:hover::before{ color:#1f5fd0; }

/* CFP: qty-symbols */
.tec-pd__actions .quantity-controls i{ display:none !important; }
.tec-pd__actions .quantity-minus::before{ content:"\2212"; font-size:20px; line-height:1; }
.tec-pd__actions .quantity-plus::before{ content:"+"; font-size:22px; line-height:1; }

/* CFP: qty-fullwidth */
.tec-pd__actions .quantity-box.w-auto, .tec-pd__actions .quantity-box{ width:100% !important; }

/* CFP: qty-layout */
.tec-pd__actions .quantity-box{ display:flex !important; flex-wrap:nowrap !important; align-items:stretch !important; }
.tec-pd__actions .quantity-box .quantity-controls{ flex:0 0 52px !important; width:52px !important; }
.tec-pd__actions .quantity-box .quantity-input{ flex:1 1 auto !important; width:auto !important; min-width:0 !important; text-align:center !important; }

/* CFP: listing-tweaks */
.tec-products{ --bs-gutter-x:14px !important; --bs-gutter-y:38px !important; }
.tec-products .tec-card{ border-radius:0 !important; }
.tec-products .tec-card-actions{ display:flex; gap:8px; align-items:center; }
.tec-products .tec-card-actions .tec-cart-form{ margin:0; display:inline-flex; }
.tec-products .tec-card-actions .tec-wish-wrap{ display:inline-flex; }
.tec-products .tec-cart{ border-radius:0 !important; }
.tec-products .tec-card-actions .vme-wishlist-button,
.tec-products .tec-card-actions .vme-wishlist-link{ width:40px; height:40px; border-radius:0; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; border:1px solid #dbe1ea; background:#fff; color:#41506a; padding:0; margin:0; }
.tec-products .tec-card-actions .vme-wishlist-button:hover,
.tec-products .tec-card-actions .vme-wishlist-link:hover{ border-color:#1b8dff; color:#1b8dff; }
.tec-products .tec-card-actions .vme-wishlist-button i,
.tec-products .tec-card-actions .vme-wishlist-link i{ display:none !important; }
.tec-products .tec-card-actions .vme-wishlist-button::before,
.tec-products .tec-card-actions .vme-wishlist-link::before{ content:"\2661"; font-size:18px; line-height:1; }
.tec-products .tec-card-actions .vme-hide{ display:none !important; }

/* CFP: listing-rowgap */
.tec-products{ row-gap:34px !important; }
.tec-products .tec-card-col{ margin-bottom:0 !important; }

/* CFP: search-suggest */
.tecesa-header .th-search{ position:relative; }
.th-suggest[hidden]{ display:none !important; }
.th-suggest{ position:absolute; top:calc(100% + 8px); left:0; right:0; background:#fff; border:1px solid #e6eaf1; border-radius:12px; box-shadow:0 24px 60px rgba(0,20,60,.16); z-index:1200; overflow:hidden; }
.th-suggest-inner{ display:grid; grid-template-columns:1fr 250px; }
.th-suggest-main{ padding:14px 16px; border-right:1px solid #eef1f6; min-width:0; }
.th-suggest-side{ padding:14px 16px; background:#fafbfd; }
.th-suggest-title{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#8a95a6; margin-bottom:8px; }
.th-sug-prod{ display:flex; align-items:center; gap:12px; padding:8px 6px; border-radius:8px; text-decoration:none; }
.th-sug-prod:hover{ background:#f4f7fc; }
.th-sug-thumb{ width:52px; height:52px; flex:0 0 52px; display:flex; align-items:center; justify-content:center; background:#f7f9fc; border-radius:8px; }
.th-sug-thumb img{ max-width:46px; max-height:46px; width:auto; object-fit:contain; mix-blend-mode:multiply; }
.th-sug-pinfo{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
.th-sug-pinfo strong{ font-size:14px; color:#1560d0; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.th-sug-pinfo small{ font-size:12px; color:#6b7688; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.th-sug-pmeta{ flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:2px; white-space:nowrap; }
.th-sug-stock{ font-size:12px; font-weight:600; display:inline-flex; align-items:center; gap:4px; }
.th-sug-stock.in{ color:#1a9d55; }
.th-sug-stock.order{ color:#ef6c00; }
.th-sug-price{ font-weight:700; color:#1b2436; font-size:15px; }
.th-suggest-all{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; color:#1560d0; font-weight:600; font-size:13.5px; text-decoration:none; }
.th-suggest-all:hover{ text-decoration:underline; }
.th-suggest-all svg{ width:15px; height:15px; }
.th-suggest-block{ margin-bottom:16px; }
.th-suggest-block:last-child{ margin-bottom:0; }
.th-suggest-links a{ display:block; color:#41506a; font-size:13.5px; padding:3px 0; text-decoration:none; }
.th-suggest-links a:hover{ color:#1560d0; }
.th-suggest-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.th-sug-tag{ background:#eef2f8; border-radius:6px; padding:5px 10px; font-size:12.5px; color:#41506a; text-decoration:none; }
.th-sug-tag:hover{ background:#1560d0; color:#fff; }
@media (max-width:860px){ .th-suggest-inner{ grid-template-columns:1fr; } .th-suggest-main{ border-right:0; border-bottom:1px solid #eef1f6; } }

/* CFP: suggest-fullwidth */
.th-suggest-inner{ grid-template-columns:1fr !important; }
.th-suggest-main{ border-right:0 !important; }
.th-suggest-refs{ margin-top:14px; padding-top:12px; border-top:1px solid #eef1f6; }

/* CFP: login-panel */
.th-login-backdrop[hidden]{ display:none; }
.th-login-backdrop{ position:fixed; inset:0; background:rgba(0,20,60,.45); z-index:2000; }
.th-login-panel{ position:fixed; top:0; right:0; height:100vh; width:380px; max-width:92vw; background:#fff; z-index:2001; box-shadow:-10px 0 40px rgba(0,20,60,.18); transform:translateX(100%); transition:transform .25s ease; display:flex; flex-direction:column; }
.th-login-panel.is-open{ transform:translateX(0); }
.th-login-head{ display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid #e6eaf1; }
.th-login-head strong{ font-size:17px; color:#1b2436; }
.th-login-close{ border:0; background:transparent; font-size:26px; line-height:1; color:#8a95a6; cursor:pointer; }
.th-login-close:hover{ color:#1b2436; }
.th-login-body{ padding:20px; overflow-y:auto; flex:1 1 auto; }
.th-login-body input[type=text], .th-login-body input[type=password], .th-login-body input[type=email]{ width:100%; border:1px solid #d7dee9; border-radius:8px; padding:11px 12px; font-size:14px; margin-bottom:12px; box-sizing:border-box; }
.th-login-body label{ font-size:13px; color:#41506a; font-weight:600; }
.th-login-body .control-label label{ margin-bottom:5px; display:block; }
.th-login-body .btn, .th-login-body button[type=submit], .th-login-body input[type=submit]{ width:100%; background:#1f5fd0 !important; color:#fff !important; border:0 !important; border-radius:8px; padding:13px; font-weight:600; font-size:15px; cursor:pointer; margin-top:4px; }
.th-login-body .btn:hover, .th-login-body button[type=submit]:hover{ background:#184fb0 !important; }
.th-login-body a{ color:#1f5fd0; text-decoration:none; font-size:13.5px; }
.th-login-body a:hover{ text-decoration:underline; }
.th-login-body ul{ list-style:none; padding:0; margin:14px 0 0; display:grid; gap:8px; }
.th-login-body .form-check, .th-login-body .control-group{ margin-bottom:10px; }

/* CFP: login-panel-fix */
.th-login-body .input-group{ display:flex; flex-wrap:nowrap; gap:8px; margin-bottom:12px; align-items:stretch; }
.th-login-body .input-group > input{ margin-bottom:0 !important; }
.th-login-body .input-password-toggle{ width:auto !important; flex:0 0 auto; background:#f3f6fb !important; color:#41506a !important; border:1px solid #d7dee9 !important; border-radius:8px !important; padding:0 12px !important; font-size:0 !important; margin:0 !important; }
.th-login-body .input-password-toggle::before{ content:"\1F441"; font-size:16px; }
.th-login-body button[type=submit], .th-login-body .btn-primary{ width:100% !important; background:#1f5fd0 !important; color:#fff !important; border:0 !important; border-radius:8px !important; padding:13px !important; font-weight:600 !important; font-size:15px !important; margin-top:6px !important; }
.th-login-body .plg_system_webauthn_login_button{ width:100% !important; background:#fff !important; color:#1f5fd0 !important; border:1px solid #1f5fd0 !important; border-radius:8px !important; padding:12px !important; font-weight:600 !important; margin-top:6px !important; }

/* CFP: cart-panel */
.th-cart-body{ padding:16px 18px; overflow-y:auto; flex:1 1 auto; }

/* CFP: cart-host */
.th-minicart-host{ position:absolute; left:0; top:0; width:0; height:0; }
.th-minicart-host .mod-minicart__anchor{ display:none !important; }

/* CFP: cart-popup-v2 */
#virtuemart-dialog .modal-dialog{ max-width:580px; }
#virtuemart-dialog .modal-header{ background:transparent !important; border:0 !important; padding:0 !important; position:absolute; top:12px; right:12px; z-index:5; min-height:0; }
#virtuemart-dialog .modal-title{ display:none; }
#virtuemart-dialog .modal-body{ padding:30px; }
#virtuemart-dialog .cfp2-head{ display:flex; align-items:center; gap:14px; margin-bottom:24px; }
#virtuemart-dialog .cfp2-check svg{ width:46px; height:46px; display:block; }
#virtuemart-dialog .cfp2-title{ margin:0; font-size:22px; font-weight:700; color:#1b2436; line-height:1.15; }
#virtuemart-dialog .cfp2-sub{ margin:3px 0 0; font-size:14px; color:#6b7688; }
#virtuemart-dialog .cfp2-product{ display:flex; gap:20px; align-items:flex-start; }
#virtuemart-dialog .cfp2-img{ flex:0 0 190px; width:190px; background:#f7f9fc; border-radius:12px; display:flex; align-items:center; justify-content:center; padding:14px; }
#virtuemart-dialog .cfp2-img img{ max-width:100%; max-height:170px; width:auto; object-fit:contain; mix-blend-mode:multiply; }
#virtuemart-dialog .cfp2-info{ flex:1 1 auto; min-width:0; }
#virtuemart-dialog .cfp2-brand{ color:#1560d0; font-weight:800; font-style:italic; font-size:15px; letter-spacing:.02em; }
#virtuemart-dialog .cfp2-name{ font-size:26px; font-weight:700; color:#1b2436; line-height:1.12; margin:2px 0 8px; }
#virtuemart-dialog .cfp2-desc{ font-size:14px; color:#41506a; line-height:1.4; }
#virtuemart-dialog .cfp2-dims{ font-size:14px; color:#6b7688; margin-top:2px; }
#virtuemart-dialog .cfp2-stock{ display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:14px; margin-top:12px; }
#virtuemart-dialog .cfp2-stock.is-in{ color:#1a9d55; }
#virtuemart-dialog .cfp2-stock.is-order{ color:#ef6c00; }
#virtuemart-dialog .cfp2-meta{ display:flex; gap:12px; margin-top:16px; background:#f4f7fc; border-radius:12px; padding:12px 10px; }
#virtuemart-dialog .cfp2-meta > div{ flex:1 1 0; text-align:center; }
#virtuemart-dialog .cfp2-meta span{ display:block; font-size:12.5px; color:#8a95a6; margin-bottom:3px; }
#virtuemart-dialog .cfp2-meta strong{ font-size:17px; color:#1b2436; }
#virtuemart-dialog .cfp2-actions{ display:flex; gap:12px; margin-top:24px; }
#virtuemart-dialog .cfp2-btn{ flex:1 1 0; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:14px; border-radius:10px; font-weight:600; font-size:15px; text-decoration:none; cursor:pointer; transition:background .15s, border-color .15s, color .15s; }
#virtuemart-dialog .cfp2-btn--primary{ background:#1f5fd0; color:#fff; border:0; }
#virtuemart-dialog .cfp2-btn--primary:hover{ background:#184fb0; color:#fff; }
#virtuemart-dialog .cfp2-btn--ghost{ background:#fff; color:#41506a; border:1px solid #d7dee9; }
#virtuemart-dialog .cfp2-btn--ghost:hover{ border-color:#1f5fd0; color:#1f5fd0; }
@media (max-width:520px){ #virtuemart-dialog .cfp2-product{ flex-direction:column; } #virtuemart-dialog .cfp2-img{ width:100%; flex-basis:auto; } #virtuemart-dialog .cfp2-actions{ flex-direction:column; } }

/* CFP: cart-popup-white */
#virtuemart-dialog .modal-content{ background:#fff !important; border:0 !important; border-radius:14px !important; overflow:hidden; }
#virtuemart-dialog .modal-body{ background:#fff !important; }

/* CFP: login2 */
.th-login2{ width:420px; max-width:94vw; padding:0; }
.th-login2-close{ position:absolute; top:16px; right:16px; border:0; background:transparent; font-size:26px; line-height:1; color:#8a95a6; cursor:pointer; z-index:2; }
.th-login2-close:hover{ color:#1b2436; }
.th-login2-body{ padding:34px 28px 24px; overflow-y:auto; height:100%; }
.th-login2-title{ margin:0 0 6px; font-size:24px; font-weight:700; color:#1b2436; }
.th-login2-sub{ margin:0 0 20px; font-size:14px; color:#6b7688; line-height:1.4; }
.th-login2-tabs{ display:flex; gap:24px; border-bottom:1px solid #e6eaf1; margin-bottom:22px; }
.th-login2-tab{ border:0; background:transparent; padding:0 0 12px; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#8a95a6; cursor:pointer; position:relative; }
.th-login2-tab.is-active{ color:#0a2a5e; }
.th-login2-tab.is-active::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:#1560d0; }
.th-login2-form label{ display:block; font-size:13px; font-weight:600; color:#41506a; margin-bottom:6px; }
.th-login2-form input[type=text], .th-login2-form input[type=password]{ width:100%; border:1px solid #d7dee9; border-radius:9px; padding:12px 14px; font-size:14px; margin-bottom:16px; box-sizing:border-box; }
.th-login2-form input:focus{ outline:none; border-color:#1560d0; box-shadow:0 0 0 3px rgba(21,96,208,.12); }
.th-login2-pwlabel{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.th-login2-pwlabel label{ margin:0; }
.th-login2-pwlabel a{ font-size:12.5px; color:#1560d0; text-decoration:none; }
.th-login2-pwrap{ position:relative; }
.th-login2-pwrap input{ padding-right:44px !important; margin-bottom:0 !important; }
.th-login2-eye{ position:absolute; top:0; right:0; height:46px; width:44px; border:0; background:transparent; color:#8a95a6; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.th-login2-eye svg{ width:18px; height:18px; }
.th-login2-eye.is-on{ color:#1560d0; }
.th-login2-remember{ display:flex !important; align-items:center; gap:8px; font-size:13.5px !important; font-weight:500 !important; color:#41506a; margin:16px 0 18px; }
.th-login2-remember input{ width:16px; height:16px; }
.th-login2-submit{ width:100%; display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#0a2a5e; color:#fff; border:0; border-radius:9px; padding:14px; font-weight:700; font-size:14px; letter-spacing:.03em; text-transform:uppercase; cursor:pointer; }
.th-login2-submit:hover{ background:#0c336f; color:#fff; }
.th-login2-submit--ghost{ background:#fff; color:#41506a; border:1px solid #d7dee9; text-transform:none; }
.th-login2-submit--ghost:hover{ border-color:#0a2a5e; color:#0a2a5e; background:#fff; }
.th-login2-or{ text-align:center; position:relative; margin:20px 0; }
.th-login2-or::before{ content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:#e6eaf1; }
.th-login2-or span{ position:relative; background:#fff; padding:0 12px; font-size:12.5px; color:#8a95a6; }
.th-login2-social{ display:flex; gap:12px; }
.th-login2-soc{ flex:1 1 0; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid #d7dee9; border-radius:9px; padding:11px; background:#fff; font-size:14px; font-weight:600; color:#1b2436; cursor:pointer; }
.th-login2-soc:hover{ border-color:#c2cbd9; background:#f7f9fc; }
.th-login2-register{ text-align:center; margin-top:22px; }
.th-login2-register span{ display:block; font-size:13.5px; color:#6b7688; margin-bottom:10px; }
.th-login2-create{ display:block; border:1px solid #0a2a5e; color:#0a2a5e; border-radius:9px; padding:12px; font-weight:700; font-size:13px; letter-spacing:.03em; text-transform:uppercase; text-decoration:none; }
.th-login2-create:hover{ background:#0a2a5e; color:#fff; }
.th-login2-acc{ display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid #e6eaf1; border-radius:9px; color:#1b2436; text-decoration:none; margin-bottom:10px; font-weight:600; }
.th-login2-acc:hover{ border-color:#1560d0; color:#1560d0; }
.th-login2-acc svg{ width:18px; height:18px; }
.th-login2-benefits{ margin-top:26px; padding-top:22px; border-top:1px solid #e6eaf1; display:grid; gap:16px; }
.th-login2-benefit{ display:flex; gap:12px; align-items:flex-start; }
.th-login2-benefit svg{ width:20px; height:20px; color:#1560d0; flex:0 0 auto; margin-top:2px; }
.th-login2-benefit strong{ display:block; font-size:14px; color:#1b2436; }
.th-login2-benefit span{ font-size:12.5px; color:#6b7688; }

/* CFP: cart-sidebar */
.tec-cart.offcanvas{ width:440px !important; max-width:96vw; display:flex; flex-direction:column; }
.tec-cart .tec-cart__head{ display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid #e6eaf1; flex:0 0 auto; }
.tec-cart__title{ margin:0; font-size:20px; font-weight:700; color:#1b2436; }
.tec-cart__close{ border:0; background:transparent; color:#8a95a6; cursor:pointer; display:flex; }
.tec-cart__close svg{ width:22px; height:22px; }
.tec-cart__contents{ display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:hidden; }
.tec-cart__subhead{ display:flex; align-items:center; justify-content:space-between; padding:14px 22px 6px; flex:0 0 auto; }
.tec-cart__count{ display:inline-flex; align-items:center; gap:7px; font-weight:600; color:#41506a; font-size:14px; }
.tec-cart__count svg{ width:17px; height:17px; }
.tec-cart__clear{ display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; color:#8a95a6; font-size:13px; cursor:pointer; }
.tec-cart__clear svg{ width:15px; height:15px; }
.tec-cart__clear:hover{ color:#e05656; }
.tec-cart__items{ flex:1 1 auto; overflow-y:auto; min-height:0; padding:0 22px; }
.tec-cart__item{ display:flex; gap:14px; padding:16px 0; border-bottom:1px solid #eef1f6; }
.tec-cart__thumb{ flex:0 0 72px; width:72px; height:72px; border:1px solid #eef1f6; border-radius:8px; display:flex; align-items:center; justify-content:center; padding:6px; overflow:hidden; }
.tec-cart__thumb img{ max-width:100%; max-height:100%; width:auto; object-fit:contain; mix-blend-mode:multiply; }
.tec-cart__info{ flex:1 1 auto; min-width:0; }
.tec-cart__top{ display:flex; align-items:flex-start; gap:8px; }
.tec-cart__name{ flex:1 1 auto; font-size:14px; font-weight:700; color:#1b2436; text-decoration:none; line-height:1.25; }
.tec-cart__name:hover{ color:#1560d0; }
.tec-cart__lineprice{ font-weight:700; color:#1b2436; font-size:14px; white-space:nowrap; }
.tec-cart__remove{ border:0; background:transparent; color:#b3bdcc; font-size:18px; line-height:1; cursor:pointer; padding:0 0 0 2px; }
.tec-cart__remove:hover{ color:#e05656; }
.tec-cart__desc{ font-size:12.5px; color:#6b7688; margin-top:2px; line-height:1.35; }
.tec-cart__ref{ font-size:12px; color:#9aa6b8; margin-top:2px; }
.tec-cart__row{ display:flex; align-items:center; justify-content:space-between; margin-top:8px; }
.tec-cart__stock{ display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:600; }
.tec-cart__stock.is-in{ color:#1a9d55; }
.tec-cart__stock.is-order{ color:#ef6c00; }
.tec-cart__qtybox{ display:inline-flex; align-items:center; border:1px solid #d7dee9; border-radius:8px; overflow:hidden; }
.tec-cart__qtybtn{ width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; color:#41506a; text-decoration:none; font-size:15px; }
.tec-cart__qtybtn:hover{ background:#f3f6fb; color:#1560d0; }
.tec-cart__qty{ min-width:34px; text-align:center; font-weight:700; font-size:14px; color:#1b2436; }
.tec-cart__unit{ font-size:12px; color:#9aa6b8; text-align:right; margin-top:6px; }
.tec-cart__summary{ padding:16px 22px; border-top:1px solid #e6eaf1; background:#fff; flex:0 0 auto; }
.tec-cart__line{ display:flex; align-items:center; justify-content:space-between; font-size:14px; color:#41506a; margin-bottom:8px; }
.tec-cart__line strong{ color:#1b2436; }
.tec-cart__line--total{ font-size:16px; margin:10px 0 4px; }
.tec-cart__line--total span{ font-weight:700; color:#1b2436; }
.tec-cart__line--total strong{ font-size:24px; color:#0a2a5e; }
.tec-cart__freeship{ display:flex; align-items:center; gap:8px; background:#eaf7ef; color:#1a7d45; border-radius:8px; padding:10px 12px; font-size:13px; margin:12px 0 16px; }
.tec-cart__freeship svg{ width:17px; height:17px; flex:0 0 auto; }
.tec-cart__btn{ display:flex; align-items:center; justify-content:center; gap:9px; width:100%; padding:14px; border-radius:9px; font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.03em; text-decoration:none; margin-bottom:10px; }
.tec-cart__btn svg{ width:18px; height:18px; }
.tec-cart__btn--primary{ background:#0a2a5e; color:#fff; }
.tec-cart__btn--primary:hover{ background:#0c336f; color:#fff; }
.tec-cart__btn--ghost{ background:#fff; color:#0a2a5e; border:1px solid #0a2a5e; margin-bottom:0; }
.tec-cart__btn--ghost:hover{ background:#0a2a5e; color:#fff; }
.tec-cart__usps{ display:flex; justify-content:space-around; gap:8px; padding:16px 18px 20px; border-top:1px solid #eef1f6; text-align:center; flex:0 0 auto; }
.tec-cart__usp{ display:flex; flex-direction:column; align-items:center; gap:3px; flex:1 1 0; }
.tec-cart__usp svg{ width:20px; height:20px; color:#1560d0; }
.tec-cart__usp strong{ font-size:12px; color:#1b2436; }
.tec-cart__usp span{ font-size:11px; color:#8a95a6; }
.tec-cart__empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:60px 20px; color:#8a95a6; }
.tec-cart__empty svg{ width:44px; height:44px; color:#c2cbd9; }

/* CFP: cart-popup-pad */
#virtuemart-dialog .modal-content{ border-radius:22px !important; }
#virtuemart-dialog .modal-body{ padding:42px 46px !important; }
#virtuemart-dialog .modal-header{ top:18px !important; right:18px !important; }
@media (max-width:520px){ #virtuemart-dialog .modal-body{ padding:28px 24px !important; } }

/* CFP: cart-qty-style */
.tec-cart__qtybox{ border:1px solid #e6eaf1 !important; background:#f5f7fb; border-radius:12px; padding:3px; gap:3px; overflow:visible; }
.tec-cart__qtybtn{ width:28px; height:28px; border-radius:9px; background:#fff; border:1px solid #e3e8f0; color:#1f5fd0; font-size:15px; font-weight:700; line-height:1; box-shadow:0 1px 2px rgba(16,32,64,.07); cursor:pointer; transition:background .15s, border-color .15s, color .15s, transform .1s; }
.tec-cart__qtybtn:hover{ background:#1f5fd0; border-color:#1f5fd0; color:#fff; }
.tec-cart__qtybtn:active{ transform:scale(.92); }
.tec-cart__qty{ min-width:30px; text-align:center; font-weight:700; font-size:14px; color:#1b2436; }

/* CFP: fa-icon-font-fix */
i.fa, i.fas, i.fa-solid, i.far, i.fa-regular,
span.fa, span.fas, span.fa-solid,
.sppb-icon i, .sppb-btn i, .sppb-addon i,
[class^="sppb-"] i.fa, [class^="sppb-"] i.fas, [class*=" sppb-"] i.fas{ font-family:"Font Awesome 6 Free" !important; }
i.fas, i.fa-solid, .sppb-btn i.fas, .sppb-icon i.fas{ font-weight:900 !important; }
i.far, i.fa-regular{ font-weight:400 !important; }
i.fab, i.fa-brands, span.fab{ font-family:"Font Awesome 6 Brands" !important; font-weight:400 !important; }

/* CFP: fa-icon-before-fix */
i.fa::before, i.fas::before, i.fa-solid::before, i.far::before, i.fa-regular::before,
span.fa::before, span.fas::before, span.fa-solid::before,
.sppb-icon i::before, .sppb-btn i::before, .sppb-addon i::before, .sppb-icon::before,
[class^="sppb-"] i.fa::before, [class^="sppb-"] i.fas::before, [class*=" sppb-"] i.fas::before,
i.fa::after, i.fas::after{ font-family:"Font Awesome 6 Free" !important; }
i.fas::before, i.fa-solid::before, .sppb-btn i.fas::before, .sppb-icon i.fas::before{ font-weight:900 !important; }
i.far::before, i.fa-regular::before{ font-weight:400 !important; }
i.fab::before, i.fa-brands::before, span.fab::before, .sppb-btn i.fab::before, .sppb-icon i.fab::before{ font-family:"Font Awesome 6 Brands" !important; font-weight:400 !important; }

/* CFP: header-modmenu */
.tecesa-header .th-modmenu a{ color:#fff !important; }
.tecesa-header .th-modmenu .mod-megamenu{ display:flex; align-items:stretch; gap:10px; margin:0; padding:0; list-style:none; }
.tecesa-header .th-modmenu .mod-megamenu > li{ display:flex; align-items:stretch; }
.tecesa-header .th-modmenu .mod-megamenu > li > a{ display:inline-flex; align-items:center; gap:6px; padding:0 22px; font-size:13px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:#fff !important; transition:background .15s ease; }
.tecesa-header .th-modmenu .mod-megamenu > li > a:hover{ background:rgba(255,255,255,.10); color:#fff !important; }
.tecesa-header .th-modmenu .mod-megamenu > li.mod-megamenu--current > a,
.tecesa-header .th-modmenu .mod-megamenu > li.mod-megamenu--active > a{ color:#fff !important; }

/* CFP: header-modmenu2 */
.tecesa-header .th-modmenu .mod-megamenu--item-title,
.tecesa-header .th-modmenu .mod-megamenu--item-inner,
.tecesa-header .th-modmenu .mod-megamenu--item > a,
.tecesa-header .th-modmenu .mod-megamenu--item > a *,
.tecesa-header .th-modmenu .mod-megamenu--current > a .mod-megamenu--item-title,
.tecesa-header .th-modmenu .mod-megamenu--active > a .mod-megamenu--item-title{ color:#fff !important; }

/* CFP: mega-feat-3col */
.tecesa-header .th-mega .th-mega-feat-grid{ grid-template-columns:1fr 1fr 1fr !important; gap:14px !important; }
.tecesa-header .th-mega .th-mega-fimg{ height:80px; }

/* CFP: pag-icon-fix */
.vm-pagination [class^="icon-"], .vm-pagination [class*=" icon-"],
.vm-pagination [class^="icon-"]::before, .vm-pagination [class*=" icon-"]::before,
.icon-angle-left, .icon-angle-right, .icon-angle-double-left, .icon-angle-double-right,
.icon-angle-left::before, .icon-angle-right::before, .icon-angle-double-left::before, .icon-angle-double-right::before{
  font-family:"Font Awesome 6 Free" !important; font-weight:900 !important;
}
