
/* ==========================================================================
Intelligent WP by strom.works 
========================================================================== */


/* ==========================================================================
   Woo: Loop CTA / Quantity + Add to Cart wrapper
   ========================================================================== */

.dhn-atc-wrap{
  --quantity-height: 40px;
  --quantity-width: 90px;

  display: flex;
  gap: 10px;
  margin: 10px auto;
}

.dhn-atc-wrap a{ flex-grow: 1; }
.dhn-atc-wrap .added_to_cart{ display: none; }

/* Keep quantity and button 50/50 */
.dhn-atc-wrap .quantity,
.dhn-atc-wrap .add_to_cart_button{
  flex: 1 1 50%;
  max-width: 50%;
}

.dhn-atc-wrap .add_to_cart_button{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0; /* tighter icon alignment */
}

/* Make product cards equal-height and push CTA to bottom */
.woocommerce ul.products li.product{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.dhn-atc-wrap{ margin-top: auto; }


/* ==========================================================================
   Woo: Six-pack pricing (archive cards)
   ========================================================================== */

.woocommerce ul.products li.product .sixpack-pricing-simple{
  display: flex;
  flex-direction: column;
  gap: .25rem;
  margin-top: .25rem;
}

.woocommerce ul.products li.product .sixpack-row-6plus{
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  color: #111;
}

.woocommerce ul.products li.product .sixpack-row-single{
  font-size: .9rem;
  font-weight: 400;
  line-height: 1.3;
  color: #444;
}

.woocommerce ul.products li.product .sixpack-label{
  font-size: .85em;
  opacity: .8;
  margin-left: .2rem;
}

.sixpack-pricing-simple{
    display:flex;
    flex-direction:column;
    gap:.25rem;
    margin-top:.25rem;
  }
  .sixpack-row-6plus{ font-weight:700; line-height:1.3; }
  .sixpack-row-single{ line-height:1.3; opacity:.9; }
  .sixpack-label{ font-size:.85em; opacity:.8; margin-left:.2rem; }


/* ==========================================================================
   Woo: Discount note (cart + mini-cart / off-canvas)
   ========================================================================== */

.sixpack-cart-note{
  display: block;
  margin-top: 2px;
  font-size: .85em;
  opacity: .85;
  color: #444; /* neutral gray */
}

/* ==========================================================================
   Wine Origin Menu (WOM3) – v7.2.1
   ========================================================================== */

   .wom3{
    --gap: 1rem;
    --pad: .5rem;
    --radius: 12px;
    --border: var(--color-border, #e5e7eb);
    --muted: var(--color-muted, #6b7280);
    --badge-warm: #b8a79f;
  }
  
  .wom3-typo, .wom3-typo * { font-size: .95rem; }
  
  .wom3-title{
    margin: 0 0 .5rem;
    font-weight: 600;
    font-size: .92rem;
    color: var(--muted);
  }
  
  .wom3-grid{ display: grid; gap: var(--gap); }
  .wom3-col{
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: var(--pad);
  }
  
  .wom3-list{ margin: 0; padding: 0; list-style: none; }
  
  .wom3 a,
  .wom3 button.wom3-link{
    display: flex;
    width: 100%;
    text-align: left;
    align-items: center;
    gap: .5rem;
    padding: .4rem .5rem;
    border-radius: 10px;
    text-decoration: none;
    transition: background .15s ease;
  }
  
  .wom3 button.wom3-link{
    background: transparent;
    border: 0;
    cursor: pointer;
  }
  
  .wom3 a:hover,
  .wom3 button.wom3-link:hover{
    background: rgba(0,0,0,.06);
  }
  
  .wom3 .wom3-link.is-active,
  .wom3 .wom3-link.is-active:hover,
  .wom3 .wom3-rowline .wom3-link.is-active,
  .wom3 .wom3-rowline .wom3-link.is-active:hover{
    background: rgba(0,0,0,.06) !important;
  }
  
  .wom3 .wom3-badge{
    display: inline-block;
    font-size: .72rem;
    padding: .12rem .5rem;
    border-radius: 999px;
    margin-left: .35rem;
    line-height: 1.2;
    white-space: nowrap;
  }
  
  /* Distinct colors (forced to beat theme overrides) */
  .wom3 .wom3-badge--new{
    background: var(--badge-new, var(--badge-warm,#b8a79f)) !important;
    color: #fff !important;
  }
  .wom3 .wom3-badge--few{
    background: #fcb900 !important;
    color: #000 !important;
  }
  
  /* Region: outlined pill, no parentheses */
  .wom3 .wom3-badge--region{
    background: transparent !important;
    color: var(--muted) !important;
    border: 1px solid currentColor !important;
  }
  
  .wom3-rowline{
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  
  .wom3-arch{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid var(--border);
    margin-right: .25rem;
  }
  
  .wom3-arch:hover{ background: rgba(0,0,0,.04); }
  
  .wom3-actions{ margin-top: .35rem; }
  .wom3-allproducers{ justify-content: center; }
  
  /* Mobile UI */
  .wom3-mobile{ display: none; }
  .wom3-field{ margin-bottom: .5rem; }
  .wom3-label{
    display: block;
    font-size: .85rem;
    color: var(--muted);
    margin-bottom: .25rem;
  }
  .wom3-select{
    width: 100%;
    border: 1px solid var(--border);
    padding: .5rem .6rem;
    border-radius: 10px;
    background: #fff;
  }
  .wom3-mobile-list .wom3-allproducers{ margin-top: .5rem; }
  
  /* Desktop */
  @media (min-width: 1024px){
    .wom3-grid--desktop{ grid-template-columns: 1fr 1fr 1fr; }
    .wom3-col{ max-height: 60vh; overflow: auto; }
  }
  
  /* Mobile */
  @media (max-width: 1023px){
    .wom3-grid--desktop{ display: none; }
    .wom3-mobile{
      display: block;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: .75rem;
    }
  }

/* ==========================================================================
   Badges: Location / size badges (inline)
   ========================================================================== */

.iwdp-loc-wrap{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}

.iwdp-loc-wrap .iwdp-location{
  line-height: 1;
  font-size: .7em;
}

.iwdp-size-badge{
  display: inline-block;
  padding: .25em .6em;
  line-height: 1;
  font-size: .7em;
  border-radius: 999px;
  border: 1px solid var(--ct-color-border, rgba(0,0,0,.12));
  background: var(--ct-color-shade-0, rgba(0,0,0,.06));
  color: var(--ct-color-text, inherit);
  white-space: nowrap;
  transition: background-color .2s ease, border-color .2s ease;
}


/* ==========================================================================
   Badges: Product image overlay pills
   NOTE: backdrop-filter can be expensive on low-end devices. Keep if you love it.
   ========================================================================== */

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .ct-image-container{
  position: relative;
}

/* Badge container */
.iwdp-badges-wrap{
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 3;
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
  max-width: 60%;
  pointer-events: none; /* container ignores clicks */
}

/* Base badge (clickable) */
.iwdp-badges-wrap .iwdp-badge{
  pointer-events: auto;
  display: inline-block;

  padding: .3em .65em;
  line-height: 1;
  font-size: .8rem;

  border-radius: 6px;
  text-transform: uppercase;
  font-family: "Space Mono", sans-serif;

  background: rgba(0,0,0,.35); /* fallback for no blur */
  border: 1px solid var(--ct-color-border, rgba(0,0,0,.15));
  color: #fff;

  /* Visual polish */
  box-shadow: 0 2px 4px rgba(0,0,0,.12);
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .1s ease;
  overflow-wrap: anywhere;
  @supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .iwdp-badges-wrap .iwdp-badge{
      background: rgba(255,255,255,.16); /* lighter when blur exists */
      -webkit-backdrop-filter: blur(6px);
      backdrop-filter: blur(6px);
    }
}
}

/* If your markup is <a class="iwdp-badge">Text</a> this is not needed.
   If you truly have nested anchors (not valid HTML), better to fix markup.
*/
.iwdp-badges-wrap .iwdp-badge a{
  text-transform: uppercase !important;
}

.iwdp-badges-wrap .iwdp-badge:hover{
  background: var(--ct-color-contrast, #111);
  border-color: var(--ct-color-contrast, #111);
  color: var(--ct-color-base, #fff);
  box-shadow: 0 3px 8px rgba(0,0,0,.2);
  transform: translateY(-1px);
}

/* Accent badges */
.iwdp-badge-keykeg,
.iwdp-badge-organic,
.iwdp-badge-biodynamic{
  background: var(--ct-color-accent, #d72638);
  border-color: var(--ct-color-accent, #d72638);
  color: var(--ct-color-base, #fff);
}

.iwdp-badge-keykeg:hover,
.iwdp-badge-organic:hover,
.iwdp-badge-biodynamic:hover{
  background: var(--ct-color-contrast, #111);
  border-color: var(--ct-color-contrast, #111);
  color: var(--ct-color-base, #fff);
}


/* ==========================================================================
   Woo: Six-pack pricing (single product)
   ========================================================================== */

.single-product .sixpack-pricing-simple{
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.single-product .sixpack-row-6plus{
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  color: #111;
}

.single-product .sixpack-row-single{
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  color: #444;
}

.single-product .sixpack-label{
  font-size: .9em;
  opacity: .8;
  margin-left: .25rem;
}

@media (max-width: 420px){
  .single-product .sixpack-row-6plus{ font-size: 1.15rem; }
  .single-product .sixpack-row-single{ font-size: .95rem; }
}


/* ==========================================================================
   Header spacing (Blocksy header type-1)
   ========================================================================== */

/* Comment says “22px bottom margin” but CSS sets 0px — leaving as actual behavior */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"][data-row*="top"]{
  margin-bottom: 0;
}

#header [data-row*="boxed"]{
  padding-top: 22px;
  --shrink-height: 40px !important;
}


/* ==========================================================================
   Country/Region module (wom3)
   ========================================================================== */

.wom3-typo,
.wom3-typo *{
  font-family: "Space Mono", sans-serif;
  text-transform: uppercase;
  font-size: 12px !important; /* keep only one font-size definition */
}

.wom3-title{ text-transform: uppercase; }

/* Persistent active highlight */
.wom3 .wom3-link.is-active,
.wom3 .wom3-link.is-active:hover,
.wom3 .wom3-rowline .wom3-link.is-active,
.wom3 .wom3-rowline .wom3-link.is-active:hover{
  background: rgba(0,0,0,.06) !important;
  border-radius: 10px;
}

.wom3 .wom3-badge{
  background: #b8a79f !important;
  color: #fff;
}

.wom3,
.wom3-col{
  border: none !important;
}


/* ==========================================================================
   Mega menu
   ========================================================================== */

[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu{
  border-radius: 7px;
}


/* ==========================================================================
   Brand archive typography
   ========================================================================== */

.brand-origin{
  font-family: "Space Mono", sans-serif;
  font-size: 12px;
  text-transform: uppercase;
}

.producer-blurb__text,
.brand-description__full,
.brand-description__rest{
  font-size: 14px;
}

.brand-description__preview{ margin-bottom: 22px; }

.brand-description__toggle,
.producer-blurb__btn{
  font-family: "Space Mono", sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  padding: 2px 16px;
  border-radius: 4px;
  cursor: pointer;
}


/* ==========================================================================
   Woo Product Bundles styling
   ========================================================================== */

.woocommerce-page div.product div.bundled_product_images{ width: 10% !important; }
div.bundled_product_summary:not(.thumbnail_hidden) .details{ width: 90% !important; }

h4.bundled_product_title{
  font-family: "Space Mono", sans-serif;
  font-size: 12px;
  margin-block-end: 0 !important;
  text-transform: uppercase;
  font-weight: 400;
}

.bundled_item_cart_details{ display: none !important; }

.bundled_product_excerpt p{ margin-block-end: 0 !important; }

.ct-product-add-to-cart .bundle_form{ margin-top: 22px !important; }
.bundle_form .button{ vertical-align: top !important; }

.bundle_button .added_to_cart{ margin: 0 5px; }

.small_width.bundle_form div.bundled_product_summary:not(.thumbnail_hidden) .details{
  padding-left: 11px !important;
}


/* ==========================================================================
   Floating bar (Blocksy)
   ========================================================================== */

.ct-floating-bar .product-title{
  font-family: "Space Mono", sans-serif;
  font-size: 12px;
  font-weight: 400 !important;
  line-height: 1.2;
  text-transform: uppercase;
}

.ct-floating-bar .product-price{ column-gap: 0 !important; }

.ct-floating-bar .sixpack-row-6plus{
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.ct-floating-bar .sixpack-row-single{
  font-size: 12px !important;
  line-height: .5 !important;
}

.ct-floating-bar :is(.stock){ display: none; }


/* ==========================================================================
   Checkout: phone hints
   ========================================================================== */

.wc-phone-hint{
  font-size: 12px;
  margin-top: 4px;
  opacity: .85;
}

.wc-phone-hint.error,
.woocommerce-error-inline{
  color: #b81c23;
  font-size: 12px;
  margin-top: 4px;
}


/* ==========================================================================
   Mobile Order Summary (MOS) + Subscriptions recurring totals
   NOTE: keep tokens in :root once; scope collision vars to component.
   ========================================================================== */

:root{
  --mos-bg: var(--ct-background, #fff);
  --mos-border: rgba(0,0,0,.08);
  --mos-muted: rgba(0,0,0,.6);
  --mos-radius: 10px;
  --mos-pad: .85rem;
  --mos-gap: .75rem;
  --mos-shadow: 0 1px 0 rgba(0,0,0,.05);
}

.iwpp-mos{
  position: sticky;
  top: 0;
  z-index: 999;
  background: var(--mos-bg);
  border-bottom: 1px solid var(--mos-border);
  box-shadow: var(--mos-shadow);
  border-radius: 7px;
}

.iwpp-mos__toggle{
  width: 100%;
  display: flex;
  align-items: center;
  gap: var(--mos-gap);
  padding: var(--mos-pad) 1rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

.iwpp-mos__label{
  display: inline-flex;
  gap: .4rem;
  align-items: baseline;
  font-family: "Space Mono", sans-serif;
  font-size: 13px;
  text-transform: uppercase;
  color: #000;
}

.iwpp-mos__count{ opacity: .7; font-size: .9em; }
.iwpp-mos__total{ margin-left: auto; font-weight: 600; font-size: 14px; color: #000; }

.iwpp-mos__chev{ transition: transform .2s ease; }
.iwpp-mos.is-open .iwpp-mos__chev{ transform: rotate(180deg); }

.iwpp-mos__panel{ border-top: 1px solid rgba(0,0,0,.06); padding: .5rem 1rem 1rem; }
.iwpp-mos__items{ list-style: none; margin: .5rem 0 1rem; padding: 0; }
.iwpp-mos__item{ display: grid; grid-template-columns: 48px 1fr auto; gap: .5rem; align-items: center; padding: .35rem 0; }
.iwpp-mos__thumb{ width: 48px; height: 48px; object-fit: cover; border-radius: 4px; }
.iwpp-mos__title{ font-size: .95rem; }
.iwpp-mos__price{ white-space: nowrap; }

/* Bundles: nest bundled children and hide their price */
.iwpp-mos__item.is-bundled-child{ grid-template-columns: 40px 1fr auto; }
.iwpp-mos__item.is-bundled-child .iwpp-mos__thumb{ width: 40px; height: 40px; opacity: .9; }
.iwpp-mos__item.is-bundled-child .iwpp-mos__price{ display: none; }

.iwpp-mos__totals{ display: grid; gap: .35rem; }
.iwpp-mos__row{ display: flex; justify-content: space-between; }
.iwpp-mos__row--total{ padding-top: .4rem; border-top: 1px dashed rgba(0,0,0,.15); margin-top: .35rem; }
.iwpp-mos__note{ margin: .5rem 0 .25rem; font-size: .9rem; color: var(--mos-muted); }

/* Subscriptions recurring totals block (captured HTML) */
.iwpp-mos__recurring{ margin-top: .6rem; border-top: 1px solid rgba(0,0,0,.06); padding-top: .6rem; }
.iwpp-mos__recurring table{ width: 100%; border-collapse: collapse; font-size: .95rem; }
.iwpp-mos__recurring th,
.iwpp-mos__recurring td{ text-align: left; padding: .25rem 0; }
.iwpp-mos__recurring tfoot tr:first-child th,
.iwpp-mos__recurring tfoot tr:first-child td{ border-top: 1px dashed rgba(0,0,0,.15); padding-top: .4rem; }
.iwpp-mos__recurring .recurring-total,
.iwpp-mos__recurring .subscription-total{ font-weight: 600; }

/* Only show the MOS bar on small screens */
@media (min-width: 768px){
  #mobile-order-summary{ display: none; }
}

/* Non-sticky mode on mobile: let it scroll normally */
@media (max-width: 767.98px){
  #mobile-order-summary.iwpp-mos{
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    box-shadow: none;
    border-bottom: 0;
    margin-bottom: .75rem;
  }

  #mobile-order-summary .iwpp-mos__panel{
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 8px;
  }

  /* Ensure native order review + payment area stays visible */
  .woocommerce-checkout-review-order,
  .woocommerce-checkout #payment{
    display: block !important;
  }
}


/* ==========================================================================
   Sorting badge
   ========================================================================== */

.wc-sort-badge{
  margin-top: .75rem;
  display: flex;
  justify-content: center;
  width: 100%;
}

.wc-sort-badge__pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: .25rem .75rem;
  border: 1px solid var(--accent-color, #1e40af);
  border-radius: 9999px;

  font-family: "Space Mono", sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;

  color: var(--accent-color, #1e40af);
  background: transparent;

  line-height: 1.2;
  transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out;
}

.wc-sort-badge__pill:hover{
  background: var(--accent-color, #1e40af);
  color: #fff;
}


/* ==========================================================================
   Checkout: coupon toggle + hide login toggle
   ========================================================================== */

.woocommerce-form-coupon-toggle .woocommerce-info{
  font-size: 0; /* hides "Have a coupon?" */
  background: #d1d5cd;
  border: 0;
  border-radius: 4px;
  padding: 0;
  display: inline-block;
  min-height: 0 !important;
  line-height: normal;
}

/* Hide bell/icon */
.woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-form-coupon-toggle .woocommerce-info .woocommerce-info__icon,
.woocommerce-form-coupon-toggle .woocommerce-info svg,
.woocommerce-form-coupon-toggle .woocommerce-info .dashicons{
  display: none !important;
  content: none !important;
}

.woocommerce-form-coupon-toggle .showcoupon{
  display: inline-block;
  padding: 0 11px;
  line-height: 1.8;

  background: #d1d5cd;
  border-radius: 4px;

  font-family: "Space Mono", monospace !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #000;
  text-decoration: none;

  transition: opacity .2s ease;
  min-height: 0 !important;
}

.woocommerce-form-coupon-toggle .showcoupon:hover{ opacity: .85; }

form.checkout_coupon{ margin-top: .75rem; }

/* Hide "Returning customer?" on checkout only */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-login{
  display: none !important;
}

/* Checkout headings */
.woocommerce-billing-fields h3,
#order_review_heading{
  font-family: "Space Mono", monospace;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .1em;
  font-weight: 400;
  margin-bottom: 1.2rem;
}

.ct-order-review,
.cart_totals{
  background-color: #fff;
}

a.button.vipps-express-checkout{ display: none; }

#ship-to-different-address label{
  font-family: Inter, sans-serif;
  font-weight: 500;
  color: #3b5066;
}

.powered_by_shipmondo{ display: none; }


/* ==========================================================================
   Expand button styling (brand archive)
   ========================================================================== */

.producer-blurb__btn{
  background-color: #d1d5cd;
  color: #000;
}


/* ==========================================================================
   Shipping description helper text
   ========================================================================== */

.iwp-shipping-desc{
  margin: 2px 0 14px 25px;
  max-width: 425px;

  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;

  opacity: .85;
  animation: fadeIn .2s ease-in-out;
}

@keyframes fadeIn{
  from{ opacity: 0; transform: translateY(-2px); }
  to{ opacity: .85; transform: translateY(0); }
}


/* ==========================================================================
   Aelia currency/country switcher
   ========================================================================== */

#offcanvas .wc_aelia_cs_country_selector{ width: 250px !important; }

#offcanvas .widget_wc_aelia_currencyswitcher_widget .dropdown_selector .dropdown .search-container .search{
  font-size: 12px;
}

#header .wc_aelia_cs_country_selector{
  font-size: 12px;
  padding: 0 !important;
}

#header .wc_aelia_cs_country_selector .selected_country{
  min-width: 196px !important;
  flex-direction: row-reverse;
  border: none !important;
  padding: 0 5px 0 0 !important;
}

#header .wc_aelia_cs_country_selector .selected_country::before{ display: none; }
#header .wc_aelia_cs_country_selector .selected_country .country_name{ text-align: right; }

#header .wc_aelia_cs_country_selector.dropdown_selector .country_flag img{
  border-radius: 0;
  max-height: 18px;
  max-width: 18px !important;
}

#header .wc_aelia_cs_country_selector .dropdown{ margin-top: 8px; }

.widget_wc_aelia_currencyswitcher_widget .dropdown_selector .dropdown .search-container{
  width: calc(100% - 20px);
  margin: 10px;
}

.widget_wc_aelia_currencyswitcher_widget .dropdown_selector .dropdown .search-container .search{
  font-size: 14px;
  max-height: 40px;
}

.wc_aelia_cs_country_selector .dropdown{
  border-radius: 7px !important;
  padding: 0 !important;
  border-color: var(--theme-form-field-border-initial-color) !important;
}

.wc_aelia_cs_country_selector .dropdown .countries{
  max-height: 250px;
  margin-bottom: 0;
  padding: 0 10px;
}

.widget_wc_aelia_currencyswitcher_widget .dropdown .option.selected,
.widget_wc_aelia_currencyswitcher_widget .dropdown .option:hover{
  border-radius: 7px;
}


/* ==========================================================================
   Tablet header visibility helpers
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1265px){
  .hide-below-1265{ display: none !important; }
  .hide-above-1265{ display: block !important; }
}

/* Default: hide on mobile + desktop */
.hide-above-1265{ display: none !important; }


/* ==========================================================================
   Woo: Featured slider (horizontal products)
   ========================================================================== */

.wc-featured-slider{
  display: block;
  position: relative;
  padding: .25rem 0;
}

/* Horizontal scroller */
.wc-featured-slider ul.products{
  display: flex;
  gap: 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  padding-bottom: .5rem;
  align-items: stretch;

  scrollbar-width: none; /* Firefox */
}
.wc-featured-slider ul.products::-webkit-scrollbar{ display: none; }

/* Card sizing + equal height internals */
.wc-featured-slider ul.products > li.product{
  flex: 0 0 auto;
  width: clamp(220px, 24vw, 320px) !important;
  margin: 0;
  scroll-snap-align: start;

  height: auto !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

/* Make inner card stretch */
.wc-featured-slider ul.products > li.product .ct-woo-card,
.wc-featured-slider ul.products > li.product .ct-card,
.wc-featured-slider ul.products > li.product .product-inner,
.wc-featured-slider ul.products > li.product .inside{
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: .75rem .75rem .9rem !important;
}

.wc-featured-slider .ct-woo-card-content{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* Title clamp */
.wc-featured-slider .woocommerce-loop-product__title{
  font-size: .95rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.25em * 2);
  margin-bottom: .25rem;
}

/* Pricing */
.wc-featured-slider .sixpack-pricing-simple,
.wc-featured-slider .price{
  line-height: 1.15;
  margin-bottom: .25rem;
  font-size: .92rem;
}

.wc-featured-slider .sixpack-label{
  font-size: .8em;
  opacity: .7;
}

/* Pin CTA to bottom */
.wc-featured-slider .ct-woo-card-actions,
.wc-featured-slider .dhn-atc-wrap,
.wc-featured-slider .add_to_cart_button,
.wc-featured-slider .wc-block-grid__product-add-to-cart{
  margin-top: auto;
  padding-top: .3rem;
}

.wc-featured-slider .add_to_cart_button,
.wc-featured-slider .dhn-atc-btn{
  font-size: .9rem;
  padding: .4rem .6rem;
}

/* Images */
.wc-featured-slider ul.products > li.product .ct-image-container,
.wc-featured-slider ul.products > li.product a.woocommerce-LoopProduct-link img{
  aspect-ratio: 4 / 5;
  object-fit: cover;
  width: 100%;
  height: auto;
}

/* Slider meter */
.wc-featured-slider .wc-slider-meter-wrap{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: .75rem;
  flex-basis: 100%;
  order: 999;
}

.wc-featured-slider .wc-slider-meter{
  width: 200px;
  height: 2px;
  position: relative;
  background: rgba(0,0,0,.15);
  overflow: hidden;
}

.wc-featured-slider .wc-slider-thumb{
  position: absolute;
  inset: 0 auto 0 0;
  height: 100%;
  transform: translateX(0);
  background: rgba(0,0,0,.6);
}


/* ==========================================================================
   Misc
   ========================================================================== */

.ct-news-ticker{ background: #ff7266; }

/* Gift cards: hide variations label + price + some meta */
.product_cat-gift-card form.variations_form table.variations th.label{ display: none !important; }
.product_cat-gift-card form.variations_form table.variations td.value{ padding-left: 0 !important; }

.product_cat-gift-card .summary .price,
.product_cat-gift-card .summary .woocommerce-variation-price{ display: none !important; }

.product_cat-gift-card .ct-wishlist-button-single,
.product_cat-gift-card .product_meta{ display: none !important; }