/* Shared product-card typography. Editorial section headings and purchase summaries are excluded. */
body .elementor .sumo-product-card .sumo-card-title .elementor-heading-title,
body .elementor .ks-card-title .elementor-heading-title,
body .elementor .hb-card-title .elementor-heading-title,
body .im-v1.im-v1 .im-accessory-products .woocommerce-loop-product__title,
body .woocommerce ul.products li.product .woocommerce-loop-product__title{
 font-family:'Rodfat Two',serif!important;font-size:16px!important;line-height:1.2!important;font-weight:400!important;color:#191918!important;text-transform:uppercase!important;
}
body .elementor .sumo-product-card .sumo-card-price .elementor-heading-title,
body .elementor .sumo-product-card .sumo-card-price .elementor-heading-title *,
body .elementor .ks-price .elementor-heading-title,body .elementor .ks-price .elementor-heading-title *,
body .elementor .hb-price .elementor-heading-title,body .elementor .hb-price .elementor-heading-title *,
body .elementor .ft-card-price .elementor-heading-title,body .elementor .ft-card-price .elementor-heading-title *,
body .im-v1.im-v1 .im-accessory-products .price,body .im-v1.im-v1 .im-accessory-products .price *,
body .woocommerce ul.products li.product .price,body .woocommerce ul.products li.product .price *{
 font-family:'Rodfat Two',sans-serif!important;font-size:18px!important;line-height:1.2!important;font-weight:500!important;letter-spacing:0!important;color:#191918!important;
}
body .elementor .sumo-product-card .sumo-card-price ins,body .woocommerce ul.products li.product .price ins{background:none;text-decoration:none}
body .elementor .sumo-product-card .sumo-card-price del,body .woocommerce ul.products li.product .price del{opacity:.55}
body .elementor .sumo-product-card.sumo-card-compact{height:100%;padding:24px!important;background:#f7f6f3!important;gap:0!important}
body .elementor .sumo-card-compact .sumo-card-image img{width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}
body .elementor .sumo-card-compact .sumo-card-meta{padding:0!important;margin-top:18px;gap:6px!important;flex:1}
body .elementor .sumo-card-compact .sumo-card-title{min-height:2.4em}
body .elementor .sumo-card-compact .sumo-card-title .elementor-heading-title,body .elementor .sumo-card-compact .sumo-card-price .elementor-heading-title{text-align:center!important;margin:0!important}
body .elementor .sumo-card-compact .sumo-card-action{margin-top:auto;padding-top:20px;width:100%}
body .woocommerce ul.products li.product .button,body .elementor .sumo-card-action .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 14px!important;background:#ce0000!important;color:#fff!important;border:2px solid #fff!important;border-radius:18px!important;box-shadow:0 0 0 2px #ce0000!important;font:700 12px/1.3 Montserrat,sans-serif!important;text-transform:uppercase;text-decoration:none}
body .woocommerce ul.products li.product .button:hover,body .woocommerce ul.products li.product .button:focus-visible,body .elementor .sumo-card-action .button:hover,body .elementor .sumo-card-action .button:focus-visible{background:#191918!important;box-shadow:0 0 0 2px #191918!important}
body .elementor .sumo-card-action .added_to_cart{display:block;margin-top:12px;font:500 12px/1.5 Montserrat,sans-serif;text-decoration:underline}
body .elementor .sumo-card-compact a:focus-visible{outline:2px solid #ce0000;outline-offset:4px}
body .im-accessories:not(:has(li.product)){display:none!important}
@media(max-width:767px){body .elementor .sumo-product-card.sumo-card-compact{padding:18px!important}}

@media(min-width:1025px){body .elementor-widget-loop-grid.sumo-product-list{--grid-columns:4!important}}
/* Prices form a compact purchase group above the action. */
body .elementor .sumo-card-compact .sumo-card-title{min-height:0!important}
body .elementor .sumo-card-compact .sumo-card-price{margin-top:auto!important;padding-top:12px}
body .elementor .sumo-card-compact .sumo-card-action{margin-top:0!important;padding-top:4px}
body .im-v1.im-v1 .im-accessory-products .woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-align:center}
body .im-v1.im-v1 .im-accessory-products .woocommerce-loop-product__title{min-height:0!important;margin-bottom:6px!important;text-align:center}
body .im-v1.im-v1 .im-accessory-products .price{margin-top:auto!important;padding-top:12px;margin-bottom:10px!important;text-align:center}
@media(min-width:1025px){
 body .elementor-widget-loop-grid.sumo-product-list{width:100%!important;max-width:100%!important;margin-inline:0!important;}
 body .elementor-widget-loop-grid.sumo-product-list .elementor-loop-container.elementor-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:24px!important;row-gap:24px!important}
}

body .sumo-cart-opened .added_to_cart{display:none!important}

/* Native WooCommerce cards use the same bottom-aligned price/action group. */
body .woocommerce ul.products li.product{display:flex;flex-direction:column}
body .woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1}
body .woocommerce ul.products li.product .price{margin-top:auto!important;padding-top:12px;margin-bottom:10px!important}
/* Model-card purchase rhythm, shared across collection pages. */
body .elementor .ks-card .ks-purchase{margin-top:auto;gap:22px}
body .elementor .ks-card .ks-price{width:100%;text-align:right}
body .elementor .ks-card .ks-price .elementor-heading-title{text-align:right}
body .elementor .ks-card .ks-model-actions{gap:14px;align-items:center}
body .elementor .ks-card .ks-model-actions>.ks-btn{flex:1;min-width:0}
body .elementor .ks-card .ks-model-actions>.ks-btn .elementor-button{width:100%}

body .im-v1.im-v1 .im-accessory-products li.product .button,body .woocommerce ul.products li.product .button{margin-top:0!important}

/* Two-column accessory listings use compact 14px titles and 16px prices on mobile.
   Wide swipe cards and desktop use 16px titles and 18px prices. */
@media(max-width:767px){
 body .elementor :is(.ap-grid,.cp-grid) .sumo-product-card.sumo-card-compact{padding:12px!important}
 body .elementor :is(.ap-grid,.cp-grid) .sumo-card-compact .sumo-card-meta{margin-top:12px}
 body .elementor :is(.ap-grid,.cp-grid) .sumo-card-title .elementor-heading-title{font-size:14px!important;line-height:1.2!important;overflow-wrap:anywhere}
 body .elementor :is(.ap-grid,.cp-grid) .sumo-card-price .elementor-heading-title,
 body .elementor :is(.ap-grid,.cp-grid) .sumo-card-price .elementor-heading-title *{font-size:16px!important;line-height:1.2!important}
 body .elementor :is(.ap-grid,.cp-grid) .sumo-card-compact .sumo-card-price{padding-top:10px}
 body .elementor :is(.ap-grid,.cp-grid) .sumo-card-compact .sumo-card-action{padding-top:4px;min-width:0;max-width:100%}
 body .elementor :is(.ap-grid,.cp-grid) .sumo-card-action .button{
  box-sizing:border-box;min-width:0;max-width:100%;min-height:48px;
  padding:8px 6px!important;font-size:10.5px!important;line-height:1.25!important;
  letter-spacing:0!important;text-align:center;white-space:normal;overflow-wrap:anywhere
 }
}

@media(max-width:360px){
 body .elementor :is(.ap-grid,.cp-grid) .sumo-card-title .elementor-heading-title{font-size:14px!important}
}

/* Editorial model comparisons retain their established type, separate from compact cards. */
body .elementor .ks-card-title .elementor-heading-title,
body .elementor .hb-card-title .elementor-heading-title{font-size:18px!important}
body .elementor .ks-price .elementor-heading-title,body .elementor .ks-price .elementor-heading-title *,
body .elementor .hb-price .elementor-heading-title,body .elementor .hb-price .elementor-heading-title *,
body .elementor .ft-card-price .elementor-heading-title,body .elementor .ft-card-price .elementor-heading-title *{font-size:22px!important}
/* Size each product row from its own content. A later wrapped title must not enlarge every row. */
body .elementor-widget-loop-grid.sumo-product-list .elementor-loop-container.elementor-grid{grid-auto-rows:auto!important}
