/* ==================================================
   ULVI SINGLE — FINAL CLEAN
   ================================================== */

/* ==================================================
   SINGLE — TOP GAP RESET
   ================================================== */
body.single-product #primary,
body.single-product #main,
body.single-product .site-content,
body.single-product .site-content > .ast-container,
body.single-product .site-main,
body.single-product .ast-article-single,
body.single-product .entry-content,
body.single-product .woocommerce,
body.single-product .product,
body.single-product div.product,
body.single-product .product.type-product,
body.single-product .ulvi-single{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.single-product #primary::before,
body.single-product #main::before,
body.single-product .site-content::before,
body.single-product .site-content > .ast-container::before,
body.single-product .site-main::before,
body.single-product .ast-article-single::before,
body.single-product .entry-content::before,
body.single-product .woocommerce::before,
body.single-product .product::before,
body.single-product div.product::before,
body.single-product .ulvi-single::before{
  content: none !important;
  display: none !important;
}

body.single-product #primary > :first-child,
body.single-product #main > :first-child,
body.single-product .site-content > :first-child,
body.single-product .site-content > .ast-container > :first-child,
body.single-product .site-main > :first-child,
body.single-product .ast-article-single > :first-child,
body.single-product .entry-content > :first-child,
body.single-product .woocommerce > :first-child,
body.single-product div.product > :first-child,
body.single-product .ulvi-single > :first-child{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.single-product .woocommerce-notices-wrapper{
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

body.single-product .woocommerce-notices-wrapper:empty{
  display: none !important;
}

body.single-product div.product{
  margin-bottom: 0 !important;
}

/* ==================================================
   GLOBAL BREADCRUMB HIDE
   ================================================== */
body.single-product .woocommerce-breadcrumb,
body.single-product .ast-breadcrumbs-wrapper,
body.single-product .ulvi-single .woocommerce-breadcrumb,
body.single-product .ulvi-single .ast-breadcrumbs-wrapper{
  display: none !important;
}

/* ==================================================
   DEFAULT GALLERY HIDE
   ================================================== */
.ulvi-single div.product div.images,
.ulvi-single div.product .woocommerce-product-gallery,
.ulvi-single .woocommerce-product-gallery{
  display: none !important;
}

/* ==================================================
   CONTENT WRAP
   ================================================== */
.ulvi-single .ulvi-buy{
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
}

@media (min-width: 1025px){
  .ulvi-single .ulvi-buy{
    padding: 0 24px !important;
  }
}

.ulvi-single .summary.entry-summary{
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==================================================
   TYPOGRAPHY
   ================================================== */
.ulvi-single .summary.entry-summary > h1.product_title{
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.22;
  letter-spacing: 0.04em;
  margin: 6px 0 12px 0;
  opacity: 1;
  text-transform: uppercase;
  text-rendering: auto;
  -webkit-font-smoothing: auto;
}

.ulvi-single .summary.entry-summary > p.price{
  margin: 0 0 22px 0;
  line-height: 1.2;
  font-size: 16px;
  font-weight: 500;
  opacity: 0.99;
  text-rendering: auto;
  -webkit-font-smoothing: auto;
}

.ulvi-single .ulvi-price{
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
  letter-spacing: 0.01em;
}

.ulvi-single .ulvi-price .ulvi-currency{
  font-size: 0.80em;
  font-weight: 500;
  color: #000;
  opacity: 0.85;
  position: relative;
  top: -1px;
  margin-right: 5px;
}

.ulvi-single .ulvi-price .ulvi-major{
  font-weight: 500;
  color: #000;
}

.ulvi-single .ulvi-details-title{
  font-size: 12px;
  font-weight: 550;
  color: #000;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 12px 0;
}

.ulvi-single .ulvi-desc{
  margin: 0;
  padding: 0;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: rgba(0,0,0,0.86);
  font-weight: 450;
  line-height: 1.9;
  text-rendering: auto;
  -webkit-font-smoothing: auto;
  max-width: 68ch;
}

.ulvi-single .ulvi-desc p{
  margin: 0 0 12px 0;
}

.ulvi-single .ulvi-desc p:last-child{
  margin-bottom: 0;
}

/* ==================================================
   SINGLE — CTA + SELECT
   ================================================== */
.ulvi-single form.cart{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}

.ulvi-single form.variations_form.cart .variations{
  width: 100%;
  margin: 0 !important;
  border-collapse: collapse !important;
}

.ulvi-single form.variations_form.cart .variations tbody,
.ulvi-single form.variations_form.cart .variations tr,
.ulvi-single form.variations_form.cart .variations td,
.ulvi-single form.variations_form.cart .variations th{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: top !important;
  text-align: left !important;
}

.ulvi-single form.variations_form.cart .variations .label{
  display: none !important;
}

.ulvi-single form.variations_form.cart .variations .value{
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ulvi-single .reset_variations,
.ulvi-single form.cart .quantity{
  display: none !important;
}

.ulvi-single form.variations_form.cart .variations td.value select{
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: var(--ulvi-cta-h);
  -webkit-appearance: none;
  appearance: none;
  border-radius: var(--ulvi-r);
  border: 1px solid rgba(0,0,0,0.14);
  background: rgba(255,255,255,0.88);
  color: #000;
  padding: 0 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  box-shadow: none;
  outline: none;
  transition: border-color 220ms ease, background-color 220ms ease;
  text-align-last: center !important;
}

.ulvi-single form.variations_form.cart .variations td.value select:hover{
  border-color: rgba(0,0,0,0.22);
}

.ulvi-single form.variations_form.cart .variations td.value select:focus{
  border-color: rgba(0,0,0,0.28);
  background: rgba(255,255,255,0.94);
  outline: none !important;
  box-shadow: none !important;
}

.ulvi-single form.cart .single_add_to_cart_button,
.ulvi-single form.cart .single_add_to_cart_button:hover,
.ulvi-single form.cart .single_add_to_cart_button:focus,
.ulvi-single form.cart .single_add_to_cart_button:active,
.ulvi-single form.cart .single_add_to_cart_button:visited{
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: var(--ulvi-cta-h) !important;
  padding: 0 16px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--ulvi-r) !important;
  float: none !important;
  min-width: 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 550 !important;
  font-size: 12.5px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  position: relative !important;
  overflow: hidden !important;
  outline: none !important;
  box-shadow: none !important;
  transition:
    background-color 240ms ease,
    color 240ms ease,
    border-color 240ms ease,
    box-shadow 240ms ease,
    filter 240ms ease,
    opacity 240ms ease !important;
}

.ulvi-single form.cart .single_add_to_cart_button:not(.ulvi-disabled):not(.disabled):not(:disabled){
  background-color: #111 !important;
  color: #fff !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.14) inset,
    0 10px 24px rgba(0,0,0,0.10) !important;
}

.ulvi-single form.cart .single_add_to_cart_button::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -120%;
  width: 70%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.14) 45%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-18deg);
  opacity: 0;
  pointer-events: none;
}

@media (hover:hover){
  .ulvi-single form.cart .single_add_to_cart_button:not(.ulvi-disabled):not(.disabled):not(:disabled):hover{
    filter: brightness(1.04) !important;
  }

  .ulvi-single form.cart .single_add_to_cart_button:not(.ulvi-disabled):not(.disabled):not(:disabled):hover::before{
    opacity: 1;
    animation: ulviSheen 900ms ease forwards;
  }
}

@keyframes ulviSheen{
  0%   { left: -120%; opacity: 0; }
  15%  { opacity: 1; }
  100% { left: 160%; opacity: 0; }
}

.ulvi-single form.cart .single_add_to_cart_button.ulvi-disabled,
.ulvi-single form.cart .single_add_to_cart_button.ulvi-disabled:hover,
.ulvi-single form.cart .single_add_to_cart_button.disabled,
.ulvi-single form.cart .single_add_to_cart_button.disabled:hover,
.ulvi-single form.cart .single_add_to_cart_button:disabled,
.ulvi-single form.cart .single_add_to_cart_button:disabled:hover,
.ulvi-single form.cart .single_add_to_cart_button[disabled],
.ulvi-single form.cart .single_add_to_cart_button[disabled]:hover{
  pointer-events: none !important;
  opacity: 1 !important;
  background-color: var(--ulvi-cta-smoke-bg) !important;
  color: var(--ulvi-cta-smoke-text) !important;
  border: 1px solid var(--ulvi-cta-smoke-border) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
  box-shadow:
    0 1px 0 var(--ulvi-cta-smoke-inset) inset,
    0 10px 26px var(--ulvi-cta-smoke-shadow) !important;
  filter: none !important;
}

.ulvi-single form.cart .single_add_to_cart_button.ulvi-disabled::before,
.ulvi-single form.cart .single_add_to_cart_button.disabled::before,
.ulvi-single form.cart .single_add_to_cart_button:disabled::before,
.ulvi-single form.cart .single_add_to_cart_button[disabled]::before{
  display: none !important;
}

.ulvi-single form.variations_form .woocommerce-variation.single_variation,
.ulvi-single form.variations_form .woocommerce-variation-add-to-cart .woocommerce-variation,
.ulvi-sticky-atc,
.ast-sticky-add-to-cart,
.astra-sticky-add-to-cart,
.woocommerce-sticky-add-to-cart,
.wc-sticky-product-bar,
.wc-sticky-add-to-cart{
  display: none !important;
}

/* ==================================================
   SINGLE — SIZE GUIDE TRIGGER
   ================================================== */
.ulvi-single .ulvi-size-guide-row{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.ulvi-single .ulvi-size-guide-trigger{
  display: inline-block;
  padding: 0;
  margin: 0px 0 0 0;
  background: transparent;
  border: 0;
  outline: 0;
  box-shadow: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #111;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  cursor: pointer;
  transition: opacity 220ms ease, color 220ms ease;
}

.ulvi-single .ulvi-size-guide-trigger:hover{
  opacity: 0.68;
  color: #111;
}

.ulvi-single .ulvi-size-guide-trigger:focus{
  opacity: 1;
  color: #111;
}

/* ==================================================
   ULVI STRIP — FULL BLEED HERO
   ================================================== */
.ulvi-single .ulvi-strip-wrap{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 57px !important;
}

.ulvi-single .ulvi-strip{
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  justify-content: flex-start !important;
}

@media (hover:hover){
  .ulvi-single .ulvi-strip{
    cursor: grab !important;
  }

  .ulvi-single .ulvi-strip.is-dragging{
    cursor: grabbing !important;
  }
}

.ulvi-single .ulvi-strip-img{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* ==================================================
   DESKTOP
   ================================================== */
@media (min-width: 1025px){
  body.single-product .site-content > .ast-container{
    max-width: 100% !important;
    width: 100% !important;
    padding-top: 0 !important;
    padding-left: clamp(24px, 5vw, 80px) !important;
    padding-right: clamp(24px, 5vw, 80px) !important;
  }

  body.single-product .site-content > .ast-container .ast-article-single,
  body.single-product .site-content > .ast-container .woocommerce{
    max-width: 100% !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .ulvi-single .ulvi-buy{
    max-width: none !important;
    width: 100% !important;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary{
    display: grid !important;
    grid-template-columns: 1fr var(--ulvi-right-col) !important;
    column-gap: var(--ulvi-gap) !important;
    grid-template-areas:
      "details title"
      "desc    price"
      "desc    form"
      "desc    sizeguide" !important;
    align-items: start !important;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary > h1.product_title{
    grid-area: title !important;
    justify-self: end !important;
    width: var(--ulvi-right-col) !important;
    position: relative;
    left: var(--ulvi-right-nudge);
    margin-top: 2px;
    margin-bottom: 6px;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary > p.price{
    grid-area: price !important;
    justify-self: end !important;
    width: var(--ulvi-right-col) !important;
    position: relative;
    left: var(--ulvi-right-nudge);
    margin-bottom: 18px;
  }

  .ulvi-single .ulvi-price{
    display: inline-flex;
    align-items: baseline;
    gap: 0;
  }

  .ulvi-single .ulvi-price .ulvi-currency{
    margin-right: 2px;
    top: -0.5px;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary > form.cart{
    grid-area: form !important;
    justify-self: end !important;
    width: var(--ulvi-right-col) !important;
    position: relative;
    left: var(--ulvi-right-nudge);
  }

  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-size-guide-row{
    grid-area: sizeguide !important;
    justify-self: end !important;
    width: var(--ulvi-cta-w-desktop) !important;
    max-width: var(--ulvi-cta-w-max) !important;
    position: relative;
    left: var(--ulvi-right-nudge);
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 10px !important;
    text-align: center !important;
  }

  .ulvi-single .ulvi-buy .ulvi-details-title{
    grid-area: details !important;
    justify-self: start !important;
    max-width: var(--ulvi-right-col) !important;
    padding-left: var(--ulvi-left-pad) !important;
    opacity: 0.90 !important;
    letter-spacing: 0.075em !important;
    margin-top: 0 !important;
  }

  .ulvi-single .ulvi-buy .ulvi-desc{
    grid-area: desc !important;
    justify-self: start !important;
    max-width: var(--ulvi-right-col) !important;
    padding-left: var(--ulvi-left-pad) !important;
  }

  .ulvi-single form.cart{
    width: min(var(--ulvi-cta-w-max), 100%);
  }

  .ulvi-single form.variations_form.cart .variations td.value select{
    width: var(--ulvi-cta-w-desktop);
    max-width: var(--ulvi-cta-w-max);
  }

  .ulvi-single form.cart .single_add_to_cart_button,
  .ulvi-single form.cart .single_add_to_cart_button:hover,
  .ulvi-single form.cart .single_add_to_cart_button:focus,
  .ulvi-single form.cart .single_add_to_cart_button:active{
    width: var(--ulvi-cta-w-desktop) !important;
    max-width: var(--ulvi-cta-w-max) !important;
  }

  .ulvi-single .ulvi-strip-item{
    flex: 0 0 auto !important;
    height: 70vh !important;
    aspect-ratio: 7 / 6 !important;
    width: auto !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }
}

/* ==================================================
   TABLET
   ================================================== */
@media (min-width: 769px) and (max-width: 1024px){
  .ulvi-single .ulvi-strip-item{
    flex: 0 0 auto !important;
    height: 64vh !important;
    aspect-ratio: 5 / 4 !important;
    overflow: hidden !important;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary{
    display: flex !important;
    flex-direction: column !important;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary > h1.product_title,
  .ulvi-single .ulvi-buy .summary.entry-summary > p.price,
  .ulvi-single .ulvi-buy .summary.entry-summary > form.cart,
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-size-guide-row,
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-details-title,
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-desc{
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-self: auto !important;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary > h1.product_title{ order: 1; }
  .ulvi-single .ulvi-buy .summary.entry-summary > p.price{ order: 2; }
  .ulvi-single .ulvi-buy .summary.entry-summary > form.cart{ order: 3; margin-bottom: 0 !important; }
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-size-guide-row{ order: 4; }
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-details-title{ order: 5; }
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-desc{ order: 6; }

  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-size-guide-row{
    margin: 14px 0 22px 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* ==================================================
   MOBILE
   ================================================== */
@media (max-width: 768px){
  .ulvi-single .summary.entry-summary > h1.product_title{
    font-size: 13.8px;
    margin: 0 0 2px 0;
  }

  .ulvi-single .ulvi-strip-wrap{
    margin-bottom: 11px !important;
  }

  .ulvi-single .summary.entry-summary > p.price{
    font-size: 14px;
    margin-bottom: 15px;
  }

  .ulvi-single .ulvi-details-title{
    font-size: 10.5px;
    letter-spacing: 0.042em;
  }

  .ulvi-single .ulvi-desc{
    font-size: 13.2px;
    line-height: 1.74;
  }

  .ulvi-single form.variations_form.cart .variations td.value select{
    height: var(--ulvi-cta-h-m);
  }

  .ulvi-single form.cart .single_add_to_cart_button,
  .ulvi-single form.cart .single_add_to_cart_button:hover,
  .ulvi-single form.cart .single_add_to_cart_button:focus,
  .ulvi-single form.cart .single_add_to_cart_button:active{
    height: var(--ulvi-cta-h-m) !important;
    letter-spacing: 0.14em !important;
  }

  .ulvi-single .ulvi-buy{
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary{
    display: flex !important;
    flex-direction: column !important;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary > h1.product_title,
  .ulvi-single .ulvi-buy .summary.entry-summary > p.price,
  .ulvi-single .ulvi-buy .summary.entry-summary > form.cart,
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-size-guide-row,
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-details-title,
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-desc{
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-self: auto !important;
  }

  .ulvi-single .ulvi-buy .summary.entry-summary > h1.product_title{ order: 1; }
  .ulvi-single .ulvi-buy .summary.entry-summary > p.price{ order: 2; }
  .ulvi-single .ulvi-buy .summary.entry-summary > form.cart{ order: 3; margin-bottom: 0 !important; }
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-size-guide-row{ order: 4; }
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-details-title{ order: 5; }
  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-desc{ order: 6; }

  .ulvi-single .ulvi-buy .summary.entry-summary > .ulvi-size-guide-row{
    margin: 14px 0 25px 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .ulvi-single .ulvi-size-guide-trigger{
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.06em;
  }

  .ulvi-single .ulvi-strip-item{
    flex: 0 0 100vw !important;
    width: 100vw !important;
    height: 58vh !important;
    overflow: hidden !important;
  }

  .ulvi-single .ulvi-price .ulvi-currency{
    margin-right: 1px;
    top: -0.5px;
  }
}

/* ==================================================
   SIZE GUIDE MODAL — FINAL
   ================================================== */
.ulvi-size-guide-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 240ms ease;
}

.ulvi-size-guide-modal.is-active{
  opacity: 1;
  pointer-events: auto;
}

.ulvi-size-guide-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity 240ms ease;
}

.ulvi-size-guide-modal.is-active .ulvi-size-guide-overlay{
  opacity: 1;
}

.ulvi-size-guide-panel{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 92vw;
  max-width: 1100px;
  padding: 0;
  background: transparent;
  box-shadow: none;
  transform: translate(-50%, -50%) scale(0.96);
  opacity: 0;
  transition:
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 260ms ease;
}

.ulvi-size-guide-modal.is-active .ulvi-size-guide-panel{
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

.ulvi-size-guide-panel picture,
.ulvi-size-guide-panel img{
  display: block;
  width: 100%;
  height: auto;
}

.ulvi-size-guide-close{
  position: absolute;
  top: -34px;
  right: 0;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 180ms ease;
}

.ulvi-size-guide-close:hover{
  opacity: 1;
}

@media (max-width: 768px){
  .ulvi-size-guide-panel{
    width: 94vw;
    max-width: none;
  }

  .ulvi-size-guide-close{
    top: -30px;
    font-size: 18px;
  }
}

.ulvi-video{
  overflow: hidden;
  background: #111;
}

.ulvi-strip-video{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  background: #111;
}

/* Mobilde mobile video kullanılacağı için
   burada agresif hileye gerek kalmıyor */
@media (max-width: 768px){
  .ulvi-single .ulvi-strip-item.ulvi-video{
    flex: 0 0 100vw !important;
    width: 100vw !important;
    height: 58vh !important;
    overflow: hidden !important;
  }

  .ulvi-single .ulvi-video .ulvi-strip-video{
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* =========================================================
   ULVI SINGLE — STRIP DOTS
   ========================================================= */

.ulvi-strip{
  position: relative;
}

.ulvi-single-strip-dots{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin: 14px 0 0;
  padding: 0;
  pointer-events: none;
}

.ulvi-single-strip-dot{
  display: block;
  width: 12px;
  height: 1px;
  border-radius: 999px;
  background: rgba(17,17,17,.24);
  transition:
    width .22s ease,
    background-color .22s ease,
    opacity .22s ease,
    transform .22s ease;
  opacity: 1;
}

.ulvi-single-strip-dot.is-active{
  width: 24px;
  background: rgba(17,17,17,.92);
  transform: none;
}

@media (max-width: 768px){
  .ulvi-single-strip-dots{
    margin-top: 12px;
    gap: 5px;
  }

  .ulvi-single-strip-dot{
    width: 11px;
  }

  .ulvi-single-strip-dot.is-active{
    width: 22px;
  }
}