/**
 * Perfume site customizations (clean, single source).
 * Loaded from shopi-child — not Additional CSS.
 */

/* ---- core ---- */
header {
  position: relative;
  z-index: 99;
}

.elementor-sticky,
.elementor-sticky.elementor-sticky--active {
  overflow: visible !important;
}

#mini-cart-mobile.mini-cart-mobile {
  max-width: min(312px, 100%);
}

/* Header mini-cart button: visible border in default state */
.elementor-4845 .button-open-mini-cart,
#header1 .button-open-mini-cart,
.box-cart > a.button-open-mini-cart {
  border: 1px solid #c5ccd6 !important;
  box-sizing: border-box !important;
}

/* Header login: square icon-only, aligned with cart */
#header1 .elementor-element-18b4a277 {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid #c5ccd6 !important;
  border-radius: 20px !important;
  padding: 0 !important;
  width: 57px !important;
  min-width: 57px !important;
  max-width: 57px !important;
  height: 57px !important;
  min-height: 57px !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

/* Hide login label text — keep icon only */
#header1 .elementor-element-18b4a277 .elementor-widget-heading,
#header1 .elementor-element-18b4a277 .elementor-heading-title,
#header1 .elementor-element-18b4a277 .elementor-element:not(.elementor-widget-icon) {
  display: none !important;
}

#header1 .elementor-element-18b4a277 .elementor-widget-icon,
#header1 .elementor-element-18b4a277 .elementor-widget-icon .elementor-widget-container,
#header1 .elementor-element-18b4a277 .elementor-icon-wrapper,
#header1 .elementor-element-18b4a277 .elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
}

#header1 .elementor-element-18b4a277 .elementor-icon svg,
#header1 .elementor-element-18b4a277 .elementor-icon i {
  width: 22px !important;
  height: 22px !important;
  font-size: 22px !important;
}

#header1 .elementor-element-12b124b4 {
  align-items: center !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  min-width: max-content !important;
}

/*
 * Mini-cart dropdown: keep panel openable/clickable.
 * Do not let header flex min-width:0 or overflow clip the absolute panel.
 */
#header1 .elementor-element-7486eb33,
#header1 .elementor-widget-af_mini_cart,
#header1 .elementor-widget-af_mini_cart .elementor-widget-container,
#header1 .box-cart {
  overflow: visible !important;
  min-width: max-content !important;
  flex-shrink: 0 !important;
}

#mini-cart-mobile.mini-cart-mobile,
#mini-cart-mobile .append-mini-cart {
  overflow: visible !important;
}

@media (min-width: 1025px) {
  header.elementor-location-header,
  header.elementor-4845,
  .elementor-4845 .elementor-element-365dc6e,
  .elementor-4845 .elementor-element-365dc6e > .e-con-inner,
  #header1 {
    overflow: visible !important;
  }

  #header1 .box-mini-cart {
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 10050 !important;
    pointer-events: auto !important;
  }

  #header1 .box-cart:hover .box-mini-cart,
  #header1 .box-cart:focus-within .box-mini-cart {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    bottom: auto !important;
    transform: none !important;
  }
}

/* Restore Elementor boxed content width (do NOT use max-width:100% on boxed containers) */
.e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: var(--container-max-width, var(--content-width, 1500px)) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

/* Homepage hero slides container (template boxed) */
.elementor-element-5a51d34.e-con-boxed > .e-con-inner,
.elementor-element-5a51d34 > .e-con-inner {
  max-width: var(--container-max-width, 1500px) !important;
  margin-inline: auto !important;
}

/* Desktop: standard gap under header nav (was 40px too much, 0 too tight) */
@media (min-width: 1025px) {
  .elementor-4845 .elementor-element-f67bc3c {
    --margin-bottom: 24px;
    margin-bottom: 24px !important;
  }
}

/* Hero section_slider: nav cutout shapes match underlying backgrounds */
.swiper-button-next-hero .vitrin-slider2-button-next-shape path,
.swiper-button-prev-hero .vitrin-slider2-button-prev-shape path {
  fill: #f7f1ee !important; /* page body background */
}

.swiper-button-next-vip .vitrin-slider2-button-next-shape path {
  fill: var(--color-primary-fill, #ee384e) !important;
}

/* Offer card: hide top basket/badge row (empty decorative icons) */
.elementor-widget-section_slider .item-offer > .flex.items-center.justify-between.mb-8,
.elementor-widget-section_slider .item-offer > .flex.items-center.justify-between.mb-8 span.flex.items-center.gap-3 {
  display: none !important;
}

/*
 * Offer card: red outer frame + white inner plate.
 * Do not override title/price/icon colors — leave widget/theme classes as-is.
 */
.elementor-widget-section_slider .box-offer-bg {
  padding: 12px !important;
  box-sizing: border-box !important;
  border-radius: 48px 48px 28px 28px !important;
  overflow: hidden !important;
}

/* Hero offer side card: desktop only (hidden tablet + mobile) */
@media (max-width: 1024px) {
  .section-hero .box-slider-offer > .min-w-\[376px\],
  .section-hero .box-slider-offer > [class*="min-w-[376px]"],
  .elementor-widget-section_slider .box-slider-offer > div:has(.box-offer-bg),
  .elementor-widget-section_slider .box-offer-bg,
  .section-hero .box-offer-bg {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

.elementor-widget-section_slider .item-offer {
  background: #ffffff !important;
  border-radius: 36px 36px 16px 16px !important;
  box-sizing: border-box !important;
  overflow: hidden;
}

/* Only force formerly-white copy to black; leave other accents alone */
.elementor-widget-section_slider .item-offer .title,
.elementor-widget-section_slider .item-offer .title.text-\[\#ffffff\],
.elementor-widget-section_slider .item-offer .text-starting-p,
.elementor-widget-section_slider .item-offer .woocommerce-Price-amount,
.elementor-widget-section_slider .item-offer .woocommerce-Price-amount bdi {
  color: #000000 !important;
}

.elementor-widget-section_slider .item-offer .price .woocommerce-Price-currencySymbol svg,
.elementor-widget-section_slider .item-offer .price .woocommerce-Price-currencySymbol-c svg,
.elementor-widget-section_slider .item-offer .price .woocommerce-Price-currencySymbol path,
.elementor-widget-section_slider .item-offer .price .woocommerce-Price-currencySymbol-c path,
.elementor-widget-section_slider .item-offer .price svg.w-4,
.elementor-widget-section_slider .item-offer .price svg.w-4 path {
  fill: #969fae !important;
  color: #969fae !important;
  stroke: #969fae !important;
}

/* Discount badge on red chip: keep white text + icon */
.elementor-widget-section_slider .item-offer .price .discount-box,
.elementor-widget-section_slider .item-offer .price .discount-box *,
.elementor-widget-section_slider .item-offer .starting-price .discount-box,
.elementor-widget-section_slider .item-offer .starting-price .discount-box * {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.elementor-widget-section_slider .item-offer .price .discount-box svg,
.elementor-widget-section_slider .item-offer .price .discount-box svg *,
.elementor-widget-section_slider .item-offer .price .discount-box use,
.elementor-widget-section_slider .item-offer .starting-price .discount-box svg,
.elementor-widget-section_slider .item-offer .starting-price .discount-box svg * {
  fill: #ffffff !important;
  color: #ffffff !important;
  stroke: #ffffff !important;
}

.elementor-widget-section_slider .item-offer .back-img-offer img,
.elementor-widget-section_slider .item-offer img.wp-post-image {
  border-radius: 12px !important;
}

/* Add-to-cart chip: theme primary + white icon */
.elementor-widget-section_slider .item-offer .add-to-cart-button .add-c,
.elementor-widget-section_slider .item-offer a.add_to_cart_button .add-c,
.elementor-widget-section_slider .item-offer .add-c.add-to-cart-custom-loading {
  background-color: var(--color-primary-fill, #ee384e) !important;
  background: var(--color-primary-fill, #ee384e) !important;
}

.elementor-widget-section_slider .item-offer .add-c svg,
.elementor-widget-section_slider .item-offer .add-c svg *,
.elementor-widget-section_slider .item-offer .add-c use {
  fill: #ffffff !important;
  color: #ffffff !important;
  stroke: #ffffff !important;
}

@media (max-width: 767px) {
  .elementor-widget-section_slider .box-offer-bg {
    padding: 8px !important;
    border-radius: 28px 28px 16px 16px !important;
  }

  .elementor-widget-section_slider .item-offer {
    border-radius: 20px 20px 10px 10px !important;
  }
}

/*
 * Theme color bridge: force primary utilities + leftover hardcodes
 * to follow Customizer --color-primary-* (fixes .bg-primary_bg{#ED1944!important}).
 */
.bg-primary_bg,
[class~="bg-primary_bg"] {
  background-color: var(--color-primary-bg) !important;
  background: var(--color-primary-bg) !important;
}

/* Offer promo sidebar — requested #86261d */
.section-offer-box > .bg-primary_bg,
.section-offer-box > [class~="bg-primary_bg"] {
  background-color: #86261d !important;
  background: #86261d !important;
  overflow: hidden;
}

/* Offer image: fill promo frame; timer overlays bottom of image on desktop */
@media (min-width: 768px) {
  .section-offer-box > .bg-primary_bg,
  .section-offer-box > [class~="bg-primary_bg"] {
    padding: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .section-offer-box > .bg-primary_bg > img {
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    height: 100% !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    align-self: stretch;
  }
}

@media (max-width: 767px) {
  .section-offer-box > .bg-primary_bg > img {
    max-width: 130px !important;
    max-height: 130px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin-bottom: 0 !important;
    flex-grow: 0 !important;
  }
}

/* ---- Offer countdown (HH:MM:SS) ---- */
.perfume-offer-head {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  width: 100%;
  box-sizing: border-box;
}

.perfume-offer-head__title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  color: #232c38;
  white-space: nowrap;
}

.perfume-offer-timer__units {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  direction: ltr;
}

.perfume-offer-timer__unit {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  padding: 6px 4px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
  box-sizing: border-box;
}

.perfume-offer-timer__num {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: #86261d;
}

.perfume-offer-timer__label {
  margin-top: 3px;
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
  color: #6b7280;
}

.perfume-offer-timer__sep {
  font-size: 14px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
  padding-bottom: 12px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.perfume-offer-timer--desktop {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  width: 100%;
  margin: 0;
  padding: 28px 14px 18px;
  box-sizing: border-box;
  justify-content: center;
  align-items: flex-end;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.45) 0%,
    rgba(0, 0, 0, 0.18) 55%,
    rgba(0, 0, 0, 0) 100%
  );
}

.perfume-offer-timer--desktop .perfume-offer-timer__units {
  justify-content: center;
  gap: 6px;
  pointer-events: auto;
}

.perfume-offer-timer--desktop .perfume-offer-timer__unit {
  min-width: 48px;
  padding: 8px 6px;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}

.perfume-offer-timer--desktop .perfume-offer-timer__num {
  font-size: 18px;
}

.perfume-offer-timer--desktop .perfume-offer-timer__label {
  font-size: 10px;
}

.perfume-offer-timer--mobile .perfume-offer-timer__sep {
  color: #86261d;
  padding-bottom: 10px;
  text-shadow: none;
}

.perfume-offer-timer.is-expired .perfume-offer-timer__num {
  opacity: 0.55;
}

@media (min-width: 768px) {
  .perfume-offer-timer--desktop {
    display: flex;
  }

  .perfume-offer-head {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .perfume-offer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #e8ecf1;
    box-shadow: 0 1px 0 rgba(35, 44, 56, 0.04);
  }

  .perfume-offer-head__title {
    position: relative;
    padding-right: 10px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #1f2937;
  }

  .perfume-offer-head__title::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 3px;
    height: 14px;
    border-radius: 2px;
    background: #86261d;
    transform: translateY(-50%);
  }

  .perfume-offer-timer--desktop {
    display: none !important;
  }

  .perfume-offer-timer--mobile {
    flex: 0 0 auto;
  }

  .perfume-offer-timer--mobile .perfume-offer-timer__units {
    gap: 3px;
  }

  .perfume-offer-timer--mobile .perfume-offer-timer__unit {
    min-width: 34px;
    padding: 6px 5px 5px;
    border-radius: 9px;
    background: #86261d;
    border: none;
  }

  .perfume-offer-timer--mobile .perfume-offer-timer__num {
    font-size: 13px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0.02em;
  }

  /* Mobile: hide unit labels — digits + colons are enough */
  .perfume-offer-timer--mobile .perfume-offer-timer__label {
    display: none;
  }

  .perfume-offer-timer--mobile .perfume-offer-timer__sep {
    color: #86261d;
    padding-bottom: 0;
    font-size: 13px;
    font-weight: 800;
    text-shadow: none;
    opacity: 0.85;
  }
}

.fill-primary_fill,
[class~="fill-primary_fill"] {
  fill: var(--color-primary-fill) !important;
}

.text-primary_text,
[class~="text-primary_text"],
.hover\:text-primary_text:hover {
  color: var(--color-primary-text) !important;
}

.border-primary_bg,
.border-primary_text,
.border-primary_fill {
  border-color: var(--color-primary-bg) !important;
}

.bg-\[\#ee384e\],
.bg-\[\#ED1944\],
.bg-\[\#ed1944\],
[class*="bg-[#ee384e]"],
[class*="bg-[#ED1944]"],
[class*="bg-[#ed1944]"] {
  background-color: var(--color-primary-fill) !important;
  background: var(--color-primary-fill) !important;
}

.fill-\[\#ee384e\],
.fill-\[\#ED1944\],
.fill-\[\#ed1944\],
[class*="fill-[#ee384e]"],
[class*="fill-[#ED1944]"],
[class*="fill-[#ed1944]"] {
  fill: var(--color-primary-fill) !important;
}

.text-\[\#ee384e\],
.text-\[\#ED1944\],
.text-\[\#ed1944\],
[class*="text-[#ee384e]"],
[class*="text-[#ED1944]"],
[class*="text-[#ed1944]"] {
  color: var(--color-primary-text) !important;
}

.border-\[\#ee384e\],
[class*="border-[#ee384e]"] {
  border-color: var(--color-primary-fill) !important;
}

.stroke-\[\#ee384e\],
[class*="stroke-[#ee384e]"] {
  stroke: var(--color-primary-fill) !important;
}

/* Offer outer frame */
.elementor-widget-section_slider .box-offer-bg.bg-\[\#ee384e\],
.elementor-widget-section_slider .box-offer-bg[class*="bg-[#ee384e]"],
.elementor-widget-section_slider [class*="min-w-"] > .bg-\[\#ee384e\] {
  background-color: var(--color-primary-fill) !important;
  background: var(--color-primary-fill) !important;
}

/* Discount badges on product / offer cards */
.item-product .discount-box,
.item-product-offer .discount-box,
.item-product-slider .discount-box,
.section-offer-box .discount-box {
  background-color: var(--color-primary-fill) !important;
  background: var(--color-primary-fill) !important;
  color: #ffffff !important;
  fill: #ffffff !important;
}

.item-offer .discount-box {
  background-color: #ffffff !important;
  fill: var(--color-primary-fill) !important;
  color: var(--color-primary-fill) !important;
}

.item-offer .discount-box svg,
.item-offer .discount-box svg *,
.item-offer .discount-box use {
  fill: var(--color-primary-fill) !important;
  color: var(--color-primary-fill) !important;
  stroke: var(--color-primary-fill) !important;
}

/* Add-to-cart chips on product cards */
.item-product .add-c,
.item-product-offer .add-c,
.item-product-slider .add-c,
.section-offer-box .add-c {
  background-color: var(--color-primary-fill) !important;
  background: var(--color-primary-fill) !important;
}

/* Cart count badge */
.count-items-cart.bg-primary_bg,
.box-cart .count-items-cart,
#header1 .count-items-cart {
  background-color: var(--color-primary-bg) !important;
  background: var(--color-primary-bg) !important;
}

/* Mega menu button */
.box-menu > .drop-shadow-menu.bg-primary_bg,
.box-menu > .drop-shadow-menu {
  background-color: var(--color-primary-bg) !important;
  background: var(--color-primary-bg) !important;
}

/* Active nav link */
#header2 a.elementor-item-active,
#header2 .elementor-item-active,
#header2 .current-menu-item > a,
#header2 .current_page_item > a {
  color: var(--color-primary-text) !important;
}

/* Parent theme leftover hardcodes */
.shape-login {
  background: var(--color-primary-fill) !important;
}

/*
 * Brand swiper (mobile): 2 full cards, no half-cut slides.
 * Note: theme class is section-brands (plural).
 */
@media (max-width: 767px) {
  .elementor-widget-section_brand .section-brands,
  .section-brands.container,
  .section-brands {
    padding-inline: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .section-brands .swiper-brands {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
  }

  .section-brands .swiper-brands .swiper-slide {
    width: calc((100% - 12px) / 2) !important;
    max-width: calc((100% - 12px) / 2) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* RTL swiper: space between slides */
  .section-brands .swiper-brands.swiper-rtl .swiper-slide + .swiper-slide,
  .section-brands .swiper-brands .swiper-slide + .swiper-slide {
    margin-right: 12px !important;
  }

  .section-brands .swiper-brands .swiper-slide .item,
  .section-brands .swiper-brands .item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 160px !important;
    padding: 14px 12px !important;
    box-sizing: border-box !important;
  }
}

/*
 * Brand swiper (desktop): exactly 6 full cards (no half peek).
 * Each slide: calc(100%/6 - 12px) + margin-left 12px  => fills track exactly.
 */
@media (min-width: 1025px) {
  .section-brands .swiper-brands {
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .section-brands .swiper-brands .swiper-slide {
    width: calc(100% / 6) !important;
    max-width: calc(100% / 6) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .section-brands .swiper-brands .swiper-slide .item,
  .section-brands .swiper-brands .item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ---- 100vw / search overflow (do NOT touch mega menu 97vw) ---- */
#search-mobile.box-result-search-ajax-responsive,
.box-result-search-ajax-responsive,
.w-\[100vw\],
[class*="w-[100vw]"] {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  box-sizing: border-box !important;
}

/*
 * Mega menu panel: content-sized width (not always 97vw).
 * Few submenus → compact panel; many columns → grow up to 1500px.
 */
.box-menu .box-mega-menu,
.box-mega-menu.w-\[97vw\],
.box-mega-menu[class*="w-[97vw]"] {
  width: max-content !important;
  max-width: min(97vw, 1500px) !important;
  min-width: 420px !important;
  box-sizing: border-box !important;
}

.box-mega-menu > .flex.items-stretch {
  width: max-content !important;
  max-width: 100% !important;
}

/*
 * Mega menu columns: don't stretch to fill empty panel space.
 * Shopi-like column width ~180px with 40px gap.
 */
.box-mega-menu .list-tabs-menu {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  width: max-content !important;
  max-width: none !important;
  padding: 36px 40px 24px !important; /* theme px-10 / pt-9 */
}

.box-mega-menu .list-menu-mega {
  width: max-content !important;
  max-width: 100% !important;
  align-content: flex-start !important;
  column-gap: 40px !important;
}

.box-mega-menu .list-menu-mega > li {
  flex: 0 0 auto !important;
  width: 180px !important;
  max-width: 180px !important;
  box-sizing: border-box !important;
}

.box-mega-menu .list-menu-mega > li > a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Mega menu trigger label */
.box-menu > .drop-shadow-menu {
  font-size: 0 !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  height: auto !important;
  min-height: 48px !important;
}

.box-menu > .drop-shadow-menu::after {
  content: "دسته بندی عطرها";
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  color: #ffffff !important;
}

/* Header: keep hours + blog title on one line */
#header2 .elementor-element-7f3a2acf,
#header2 .elementor-element-7f3a2acf .elementor-widget-container,
#header2 .elementor-element-7f3a2acf .elementor-heading-title,
#header2 .elementor-element-59a24aec,
#header2 .elementor-element-59a24aec .elementor-widget-container,
#header2 .elementor-element-59a24aec .elementor-heading-title {
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
}

#header2 .elementor-element-33e39fe,
#header2 .elementor-element-35fc57f3,
#header2 .elementor-element-15af497c {
  flex-wrap: nowrap !important;
  min-width: max-content !important;
}

/* Header: hide blog icon */
#header2 .elementor-element-21de2e08,
#header2 .elementor-element-21de2e08 img.wp-image-4019 {
  display: none !important;
}

/* Header hours → ارتباط با ما */
#header2 .elementor-element-7f3a2acf .elementor-heading-title {
  font-size: 0 !important;
  white-space: nowrap !important;
}

#header2 .elementor-element-7f3a2acf .elementor-heading-title::after {
  content: "ارتباط با ما";
  font-size: 14px !important;
  font-weight: inherit !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  color: inherit !important;
}

/* Header blog: hide "مطالعه کنید!" */
#header2 .elementor-element-5592d919 {
  display: none !important;
}

/* Header blog title → بلاگ عطر */
#header2 .elementor-element-59a24aec .elementor-heading-title {
  font-size: 0 !important;
  white-space: nowrap !important;
}

#header2 .elementor-element-59a24aec .elementor-heading-title::after {
  content: "بلاگ عطر";
  font-size: 14px !important;
  font-weight: inherit !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  color: inherit !important;
}

/* ---- header visibility ---- */
@media (max-width: 1024px) {
  .elementor-4845 .elementor-element-365dc6e,
  .elementor-4845 .elementor-element-f67bc3c {
    display: none !important;
  }
}

@media (min-width: 1025px) {
  .elementor-4845 .elementor-element-c67fc33 {
    display: none !important;
  }
}

/* ---- desktop header content 1500px ---- */
@media (min-width: 1025px) {
  .elementor-4845 .elementor-element-365dc6e > .e-con-inner,
  .elementor-4845 #header1,
  .elementor-4845 #header2,
  .elementor-4845 .elementor-element-7989c1a0,
  .elementor-4845 .elementor-element-1aaf5996 {
    width: 100% !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  #header1 > .elementor-element:not(.elementor-element-12b124b4),
  #header2 > .elementor-element {
    flex-shrink: 1 !important;
    min-width: 0 !important;
  }

  #header1 .box-search-ajax {
    position: relative !important;
    overflow: visible !important;
  }

  #header1 #search-mobile.box-result-search-ajax-responsive,
  #header1 .box-result-search-ajax-responsive {
    position: absolute !important;
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    bottom: auto !important;
    margin-top: 4px !important;
    padding-top: 0 !important;
    transform: none !important;
    height: auto !important;
    max-height: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #header1 .box-search-ajax:focus-within #search-mobile.box-result-search-ajax-responsive,
  #header1 .box-search-ajax:focus-within .box-result-search-ajax-responsive,
  #header1 .box-search-ajax.is-open #search-mobile.box-result-search-ajax-responsive,
  #header1 .box-search-ajax.active #search-mobile.box-result-search-ajax-responsive {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  #header1 #search-mobile .inner {
    width: 100% !important;
    box-sizing: border-box !important;
    transform: none !important;
    top: auto !important;
    margin: 0 !important;
  }
}

/* ---- mobile header row ---- */
@media (max-width: 1024px) {
  html,
  body {
    overflow-x: clip;
    max-width: 100%;
  }

  .elementor-4845 .elementor-element-c67fc33 {
    flex-wrap: nowrap !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .elementor-4845 .elementor-element-bb96399 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }

  .elementor-4845 .elementor-element-bb96399 > .elementor-element {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }

  .elementor-4845 .elementor-element-1d50f31,
  .elementor-4845 .elementor-element-1d50f31 .elementor-widget-container {
    width: auto !important;
    max-width: 170px !important;
  }

  .elementor-4845 .elementor-element-1d50f31 img {
    width: auto !important;
    max-width: 170px !important;
    max-height: 42px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .elementor-4845 .elementor-element-c9101ba {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }

  .elementor-4845 .elementor-element-c9101ba > .elementor-element {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
  }

  .elementor-4845 .elementor-element-c9101ba .elementor-widget-search,
  .elementor-4845 .elementor-element-c9101ba [data-widget_type*="search"],
  .elementor-4845 .elementor-element-9ee4923 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }

  .elementor-element-9ee4923 .box-search-ajax {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .elementor-element-9ee4923 .form-search-ajax {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-element-9ee4923 #search-mobile.box-result-search-ajax-responsive,
  .elementor-element-9ee4923 .box-result-search-ajax-responsive {
    position: absolute !important;
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    bottom: auto !important;
    margin-top: 4px !important;
    padding-top: 0 !important;
    transform: none !important;
    z-index: 999 !important;
    height: auto !important;
    max-height: min(70vh, 480px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .elementor-element-9ee4923 .box-search-ajax:focus-within #search-mobile.box-result-search-ajax-responsive,
  .elementor-element-9ee4923 .box-search-ajax:focus-within .box-result-search-ajax-responsive,
  .elementor-element-9ee4923 .box-search-ajax.is-open #search-mobile.box-result-search-ajax-responsive,
  .elementor-element-9ee4923 .box-search-ajax.active #search-mobile.box-result-search-ajax-responsive {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .elementor-element-9ee4923 #search-mobile .inner {
    width: 100% !important;
    box-sizing: border-box !important;
    transform: none !important;
    top: auto !important;
    margin: 0 !important;
  }
}

/* ---- product page: fav/share ---- */
.elementor-3202 .elementor-element-cb20af5 {
  display: none !important;
}

.elementor-3202 .elementor-element-edb1532 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 8px !important;
  margin-bottom: 4px !important;
}

.elementor-3202 .elementor-element-c380f5e,
.elementor-3202 .elementor-element-675b0fc {
  width: 100% !important;
  max-width: none !important;
  min-height: 52px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #dfe4ed !important;
  border-radius: 14px !important;
  background: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
  cursor: pointer;
}

.elementor-3202 .elementor-element-c380f5e:hover,
.elementor-3202 .elementor-element-675b0fc:hover {
  border-color: #c5ccd8 !important;
  box-shadow: 0 2px 10px rgba(16, 24, 40, 0.06);
}

.elementor-3202 .elementor-element-c380f5e .elementor-widget,
.elementor-3202 .elementor-element-675b0fc .elementor-widget {
  width: 100% !important;
  margin: 0 !important;
}

.elementor-3202 .elementor-element-c380f5e .elementor-widget-container,
.elementor-3202 .elementor-element-675b0fc .elementor-widget-container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-3202 .elementor-element-c380f5e .elementor-icon-wrapper,
.elementor-3202 .elementor-element-675b0fc .elementor-icon-wrapper {
  display: flex !important;
  justify-content: center !important;
}

.elementor-3202 .elementor-element-c380f5e .elementor-icon,
.elementor-3202 .elementor-element-675b0fc .elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

.elementor-3202 .elementor-element-c380f5e .elementor-icon svg,
.elementor-3202 .elementor-element-675b0fc .elementor-icon svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
}

.elementor-3202 .elementor-element-c380f5e .elementor-heading-title,
.elementor-3202 .elementor-element-675b0fc .elementor-heading-title,
.elementor-3202 .elementor-element-c380f5e .elementor-widget-text-editor,
.elementor-3202 .elementor-element-675b0fc .elementor-widget-text-editor,
.elementor-3202 .elementor-element-c380f5e p,
.elementor-3202 .elementor-element-675b0fc p {
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: #5b6573 !important;
  white-space: nowrap !important;
}

@media (max-width: 1024px) {
  .elementor-3202 .elementor-element-edb1532 {
    max-width: 100% !important;
    gap: 8px !important;
    margin-top: 10px !important;
  }
  .elementor-3202 .elementor-element-c380f5e,
  .elementor-3202 .elementor-element-675b0fc {
    min-height: 48px !important;
    padding: 8px 6px !important;
    border-radius: 12px !important;
  }
  .elementor-3202 .elementor-element-c380f5e .elementor-icon svg,
  .elementor-3202 .elementor-element-675b0fc .elementor-icon svg {
    width: 16px !important;
    height: 16px !important;
  }
}

@media (max-width: 767px) {
  .elementor-3202 .elementor-element-edb1532 {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .elementor-3202 .elementor-element-c380f5e p,
  .elementor-3202 .elementor-element-675b0fc p,
  .elementor-3202 .elementor-element-c380f5e .elementor-heading-title,
  .elementor-3202 .elementor-element-675b0fc .elementor-heading-title {
    font-size: 10px !important;
    white-space: normal !important;
  }
}

/* ---- product title align ---- */
.elementor-3202 .elementor-element-7ce5d7d {
  justify-content: space-between !important;
  align-items: center !important;
  flex-direction: row !important;
}

.elementor-3202 .elementor-element-4dc548f {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: right !important;
  direction: rtl !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

.elementor-3202 .elementor-element-4dc548f .elementor-widget-container,
.elementor-3202 .elementor-element-375d2f5,
.elementor-3202 .elementor-element-375d2f5 .elementor-heading-title {
  text-align: right !important;
  direction: rtl !important;
  width: 100% !important;
}

.elementor-3202 .elementor-element-edb1532 {
  width: 40% !important;
  max-width: 40% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  flex: 0 0 40% !important;
}

.elementor-3202 .elementor-element-edb1532.e-grid {
  max-width: 40% !important;
}

.elementor-3202 .elementor-element-7ce5d7d .favorites-event-post {
  margin-bottom: 0 !important;
}

@media (max-width: 1024px) {
  .elementor-3202 .elementor-element-edb1532,
  .elementor-3202 .elementor-element-edb1532.e-grid {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    margin: 0 !important;
  }
  .elementor-3202 .elementor-element-7ce5d7d {
    flex-wrap: wrap !important;
    justify-content: stretch !important;
  }
  .elementor-3202 .elementor-element-4dc548f {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}

/* ---- product variations ---- */
.elementor-3202 .woocommerce_reset_variations_link_tr,
.elementor-3202 table.variations .woocommerce_reset_variations_link_tr,
.elementor-3202 #cart-variation .woocommerce_reset_variations_link_tr,
.elementor-3202 .variations .reset_variations,
.elementor-3202 table.variations tr.woocommerce_reset_variations_link_tr td:empty {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  line-height: 0 !important;
  visibility: hidden !important;
}

.elementor-3202 #cart-variation table.variations,
.elementor-3202 #cart-variation table.variations tbody,
.elementor-3202 #cart-variation table.variations tr {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.elementor-3202 #cart-variation table.variations th.label,
.elementor-3202 #cart-variation table.variations td.value {
  padding-bottom: 6px !important;
  margin-bottom: 0 !important;
  vertical-align: middle !important;
}

.elementor-3202 #cart-variation table.variations td.value {
  padding-top: 4px !important;
}

.elementor-3202 #cart-variation .variable-items-wrapper,
.elementor-3202 #cart-variation .image-variable-items-wrapper,
.elementor-3202 #cart-variation ul.variable-items-wrapper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  gap: 8px !important;
}

.elementor-3202 #cart-variation .variable-item,
.elementor-3202 #cart-variation .button-variable-item {
  margin-bottom: 0 !important;
}

.elementor-3202 #cart-variation form.variations_form .single_variation_wrap,
.elementor-3202 #cart-variation .woocommerce-variation,
.elementor-3202 #cart-variation .woocommerce-variation-add-to-cart {
  margin-top: 8px !important;
}

@media (max-width: 767px) {
  .elementor-3202 #cart-variation table.variations th.label,
  .elementor-3202 #cart-variation table.variations td.value {
    padding-bottom: 4px !important;
  }
  .elementor-3202 #cart-variation form.variations_form .single_variation_wrap {
    margin-top: 6px !important;
  }
}

/* Checkout billing: 2-col desktop, 1-col mobile; address full width; country hidden */
.woocommerce-billing-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.woocommerce-billing-fields__field-wrapper .form-row {
  width: 100%;
  float: none;
  margin: 0;
}

.woocommerce-billing-fields__field-wrapper #billing_address_1_field {
  grid-column: 1 / -1;
}

.woocommerce-billing-fields__field-wrapper #billing_country_field {
  display: none !important;
}

@media (max-width: 767px) {
  .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .woocommerce-billing-fields__field-wrapper #billing_address_1_field {
    grid-column: auto;
  }
}

/* Hide duplicate shipping state/city until user checks "ship to different address" */
#customer_details #ship-to-different-address:not(:has(#ship-to-different-address-checkbox:checked)) + .shipping_address {
  display: none !important;
}

#customer_details .woocommerce-shipping-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (max-width: 767px) {
  #customer_details .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
}

/* Chaty floating CTA: Instagram icon (keep button size/behavior) */
#chaty-widget-0 .chaty-cta-button .chaty-svg svg,
.chaty-widget .chaty-cta-button .chaty-svg svg {
  width: 54px !important;
  height: 54px !important;
}

/* Product page: hide sticky sidebar summary; tabs take full width */
.elementor-3202 .elementor-element-cefc9b6 {
  display: none !important;
}

.elementor-3202 .elementor-element-7a655a9 {
  display: flex !important;
  flex-wrap: wrap !important;
}

.elementor-3202 .elementor-element-e45b43c {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

.elementor-3202 .elementor-element-e45b43c .elementor-widget-af_product_tab,
.elementor-3202 .elementor-element-e45b43c .woocommerce-tabs.wc-tabs-wrapper {
  width: 100% !important;
  max-width: 100% !important;
}
