/* Caliente 1986 — Editorial consistency, October 2026.
   Unified Montserrat typography, compact editorial headings and sticky header.
   This late stylesheet deliberately leaves SVG icons and original logo images alone.
 */
html body.ep-body{
 font-family:"Montserrat",Arial,sans-serif!important;
}
html body.ep-body :where(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,legend,
 summary,small,li,td,th,blockquote,dt,dd,figcaption,caption,nav,strong,em),
html body.ep-body :where(.woocommerce,.woocommerce-page,.woocommerce-message,.woocommerce-info,
 .woocommerce-error,.wc-block-cart,.wc-block-checkout,.wc-block-components-title,
 .wc-block-components-product-name,.wc-block-components-button,.wc-block-components-form,
 .wc-block-components-totals-item,.wc-block-components-notice-banner,
 .ep-variant-label,.ep-footer,.ep-trust,.ep-hero,.ep-catalog,.ep-single){
 font-family:"Montserrat",Arial,sans-serif!important;
}
/* Icon fonts keep their original font family; SVG icons remain unchanged. */
/* Keep the header visible as the shopper scrolls down the long catalogue. */
html body.ep-body header.ep-site-header{
 position:sticky!important;
 top:0!important;
 z-index:1250!important;
 transform:none!important;
 background:#fff!important;
 box-shadow:0 1px 0 rgba(38,31,24,.08);
}
html body.admin-bar.ep-body header.ep-site-header{top:32px!important}
html body.ep-body .ep-header-main,
html body.ep-body .ep-primary-nav{position:relative!important;top:auto!important}
html body.ep-body .ep-detail-info{position:relative!important;top:auto!important}
/* Mobile + desktop cart icon has button semantics — never an outgoing link. */
.ep-header-tools button.ep-cart-link{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 position:relative!important;
 background:transparent!important;
 color:#29241f!important;
 border:0!important;
 min-width:27px!important;
 height:36px!important;
 padding:0!important;
 margin:0!important;
 cursor:pointer!important;
 box-shadow:none!important;
 font-family:inherit!important;
}
.ep-header-tools button.ep-cart-link svg{width:23px;height:23px;stroke:currentColor}
.ep-header-tools button.ep-cart-link:focus-visible{outline:2px solid #8f7764;outline-offset:4px}
.ep-header-tools button.ep-cart-link .ep-cart-count{
 position:absolute;top:8px;right:-11px;
}
/* Replace mismatched older serif fonts with the same type as main navigation. */
html body.ep-body .ep-hero h1,
html body.ep-body .ep-hero-center h1{
 font-family:"Montserrat",Arial,sans-serif!important;
 font-size:clamp(34px,3.4vw,51px)!important;
 font-weight:400!important;
 line-height:1.15!important;
 letter-spacing:-.045em!important;
}
html body.ep-body .ep-tile-label strong,
html body.ep-body .ep-mega-campaign strong,
html body.ep-body .ep-community-heading h2{
 font-family:"Montserrat",Arial,sans-serif!important;
 font-weight:500!important;
 letter-spacing:-.025em!important;
}
html body.ep-body .ep-community-heading h2{
 font-size:clamp(25px,2.45vw,32px)!important;
 line-height:1.18!important;
}
html body.ep-body .ep-catalog-heading h1{
 font-family:"Montserrat",Arial,sans-serif!important;
 font-size:clamp(30px,3.1vw,43px)!important;
 font-weight:400!important;
 line-height:1.13!important;
 letter-spacing:-.035em!important;
}
html body.ep-body .ep-detail-info h1.product_title,
html body.ep-body .ep-detail-info .product_title{
 font-family:"Montserrat",Arial,sans-serif!important;
 font-size:clamp(28px,2.65vw,40px)!important;
 font-weight:400!important;
 line-height:1.19!important;
 letter-spacing:-.037em!important;
 margin-bottom:15px!important;
 overflow-wrap:anywhere;
}
html body.ep-body .ep-single-content .ep-related-editorial h2,
html body.ep-body .ep-related-editorial h2,
html body.ep-body .ep-single-content .related>h2,
html body.ep-body .ep-single-content .upsells>h2{
 font-family:"Montserrat",Arial,sans-serif!important;
 font-size:clamp(23px,2.2vw,30px)!important;
 font-weight:500!important;
 letter-spacing:-.028em!important;
 line-height:1.25!important;
 margin-bottom:25px!important;
}
html body.ep-body .ep-product-card h2,
html body.ep-body .ep-related-grid .ep-product-card h3{
 font-family:"Montserrat",Arial,sans-serif!important;
 font-size:12px!important;
 line-height:1.48!important;
 font-weight:500!important;
 letter-spacing:0!important;
}
html body.ep-body :is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) h1,
html body.ep-body :is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .entry-title,
html body.ep-body .woocommerce-page .page-title{
 font-family:"Montserrat",Arial,sans-serif!important;
 font-size:clamp(29px,3vw,38px)!important;
 font-weight:500!important;
 letter-spacing:-.035em!important;
 line-height:1.22!important;
}
html body.ep-body .wc-block-components-title,
html body.ep-body .wp-block-woocommerce-cart h2,
html body.ep-body .wp-block-woocommerce-checkout h2{
 font-family:"Montserrat",Arial,sans-serif!important;
 font-weight:500!important;
 letter-spacing:-.02em!important;
}
/* Live AJAX search: two readable columns, never a "no results" paragraph
   beside the view-all action in a different grid column. */
html body.ep-body #ep-search-results.ep-search-results{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:5px 18px!important;
 align-items:stretch!important;
 width:100%!important;
}
#ep-search-results .ep-result{
 box-sizing:border-box!important;
 display:flex!important;
 gap:12px!important;
 min-width:0!important;
 min-height:77px!important;
 padding:9px 10px!important;
 margin:0!important;
 background:#fcfaf8!important;
 text-decoration:none!important;
 color:#342b24!important;
}
#ep-search-results .ep-result:hover{background:#f6f2ec!important}
#ep-search-results .ep-result span{min-width:0!important;font-size:12px!important;line-height:1.43!important}
#ep-search-results .ep-result small{font-size:11px!important}
#ep-search-results .ep-result img{
 width:49px!important;height:62px!important;flex:0 0 49px!important;
 object-fit:contain!important;background:#fff!important
}
#ep-search-results .ep-search-viewall,
#ep-search-results .ep-no-suggestions,
#ep-search-results > p{
 grid-column:1/-1!important;
}
#ep-search-results .ep-search-viewall{
 display:block!important;
 padding:14px!important;
 border-top:1px solid #e8e0d8!important;
 margin-top:8px!important;
 font-size:11px!important;
 letter-spacing:1px!important;
 text-align:center!important;
}
#ep-search-results[aria-busy="true"]{color:#857a70;font-size:12px}
.ep-search-dialog{width:min(915px,94vw)!important}
.ep-search-form input{font-family:Montserrat,Arial,sans-serif!important;font-size:16px!important}
/* Mini-cart must be on top of sticky navigation and remain a single overlay. */
.ep-cart-drawer{z-index:2402!important}
.ep-cart-backdrop{z-index:2401!important}
.ep-search-panel{z-index:2500!important}
/* Facet metrics are unique PRODUCT counts, not SKU or warehouse units. */
.ep-filter-options .ep-facet-count{font-family:Montserrat,Arial,sans-serif!important;font-variant-numeric:tabular-nums}
.ep-results-total .woocommerce-result-count{font-family:Montserrat,Arial,sans-serif!important}
@media(max-width:782px){
 html body.admin-bar.ep-body header.ep-site-header{top:46px!important}
}
@media(max-width:740px){
 html body.ep-body .ep-hero h1,
 html body.ep-body .ep-hero-center h1{font-size:clamp(30px,8.2vw,43px)!important}
 html body.ep-body .ep-detail-info h1.product_title,
 html body.ep-body .ep-detail-info .product_title{
  font-size:clamp(26px,6.8vw,34px)!important;
  margin-bottom:13px!important;
 }
 html body.ep-body .ep-related-editorial h2{font-size:23px!important}
 html body.ep-body .ep-catalog-heading h1{font-size:32px!important}
 html body.ep-body #ep-search-results.ep-search-results{
  grid-template-columns:minmax(0,1fr)!important;
  gap:5px!important
 }
 .ep-search-dialog{width:calc(100vw - 24px)!important;padding:20px 17px!important;box-sizing:border-box}
 .ep-search-form input{font-size:15px!important}
}
@media(prefers-reduced-motion:reduce){
 html body.ep-body header.ep-site-header{scroll-behavior:auto}
}
