.elementor-179 .elementor-element.elementor-element-ee45f3c{--display:flex;}.elementor-179 .elementor-element.elementor-element-ee45f3c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-179 .elementor-element.elementor-element-371a5a3{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-179 .elementor-element.elementor-element-371a5a3.elementor-element{--align-self:center;}.elementor-179 .elementor-element.elementor-element-24e56ba{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-179 .elementor-element.elementor-element-24e56ba.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-179 .elementor-element.elementor-element-8afd936{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-179 .elementor-element.elementor-element-d2c9970{--display:flex;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-179 .elementor-element.elementor-element-73a17c8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-179 .elementor-element.elementor-element-f5f90f7{--display:flex;}.elementor-179 .elementor-element.elementor-element-c54d710{border-radius:30px 30px 30px 30px;}body.elementor-page-179{margin:-1px -1px -1px -1px;}@media(max-width:1024px){.elementor-179 .elementor-element.elementor-element-24e56ba{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-179 .elementor-element.elementor-element-ee45f3c{--width:58.816%;}.elementor-179 .elementor-element.elementor-element-24e56ba{--width:101.098%;}}@media(max-width:767px){.elementor-179 .elementor-element.elementor-element-ee45f3c{--width:404px;}.elementor-179 .elementor-element.elementor-element-371a5a3{width:auto;max-width:auto;}.elementor-179 .elementor-element.elementor-element-24e56ba{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-179 .elementor-element.elementor-element-73a17c8{width:var( --container-widget-width, 1000px );max-width:1000px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:1000px;--container-widget-flex-grow:0;}.elementor-179 .elementor-element.elementor-element-c54d710{width:var( --container-widget-width, 1000px );max-width:1000px;--container-widget-width:1000px;--container-widget-flex-grow:0;}}/* Start custom CSS *//* ═══════════════════════════════════════════════════════
   VIBRA MAROC — PRODUCT PAGE CLEAN PREMIUM
   
   ⚠️ DELETE ALL PREVIOUS PRODUCT PAGE CSS
   Paste ONLY this in: Elementor → Site Settings → Custom CSS
   
   Clean, minimal, elegant — no weird decorations
═══════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Nunito:wght@300;400;500;600;700&display=swap');

/* ═══════════════════════════════════════════════════════
   🖼️ IMAGE GALLERY — CLEAN ROUNDED
═══════════════════════════════════════════════════════ */

.single-product div.product div.images,
.elementor-widget-woocommerce-product-images {
  position: relative !important;
}

/* Subtle glow behind gallery */
.single-product div.product div.images .woocommerce-product-gallery,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery {
  position: relative !important;
}

.single-product div.product div.images .woocommerce-product-gallery::before,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery::before {
  content: '' !important;
  position: absolute !important;
  inset: -20px !important;
  background: radial-gradient(ellipse at center, rgba(255, 77, 141, 0.15), transparent 60%) !important;
  z-index: -1 !important;
  filter: blur(24px) !important;
  pointer-events: none !important;
  border-radius: 50% !important;
  animation: vmAura 5s ease-in-out infinite !important;
}

@keyframes vmAura {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 0.9; }
}

/* Main image wrapper with proper rounding */
.single-product div.product div.images .woocommerce-product-gallery__wrapper,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper {
  border-radius: 28px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #FFF0F5, #FDE8F0) !important;
  box-shadow: 
    0 4px 12px rgba(255, 77, 141, 0.08),
    0 24px 60px rgba(255, 77, 141, 0.15) !important;
  position: relative !important;
}

/* Image itself — force rounded corners */
.single-product div.product div.images img,
.single-product div.product div.images .woocommerce-product-gallery__image img,
.elementor-widget-woocommerce-product-images img {
  border-radius: 28px !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.single-product div.product div.images .woocommerce-product-gallery__image:hover img {
  transform: scale(1.03) !important;
}

/* Also round the link wrapper */
.single-product div.product div.images .woocommerce-product-gallery__image a,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image a {
  border-radius: 28px !important;
  overflow: hidden !important;
  display: block !important;
}

/* 🔍 Clean zoom button */
.single-product div.product div.images .woocommerce-product-gallery__trigger,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__trigger {
  background: linear-gradient(135deg, #FF4D8D, #D6006A) !important;
  color: transparent !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  top: 18px !important;
  right: 18px !important;
  text-indent: -9999px !important;
  font-size: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: 0 6px 20px rgba(255, 77, 141, 0.4) !important;
  transition: transform 0.3s, box-shadow 0.3s !important;
  z-index: 99 !important;
  overflow: hidden !important;
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.single-product div.product div.images .woocommerce-product-gallery__trigger::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 13px !important;
  height: 13px !important;
  border: 2.5px solid white !important;
  border-radius: 50% !important;
  margin: -2px 2px 0 0 !important;
  z-index: 2 !important;
}

.single-product div.product div.images .woocommerce-product-gallery__trigger::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(2px, 2px) rotate(45deg) !important;
  width: 7px !important;
  height: 2.5px !important;
  background: white !important;
  border-radius: 2px !important;
  z-index: 2 !important;
}

.single-product div.product div.images .woocommerce-product-gallery__trigger:hover {
  transform: scale(1.1) !important;
  box-shadow: 0 10px 28px rgba(255, 77, 141, 0.55) !important;
}

/* Hide any leaking default icons */
.single-product div.product div.images .woocommerce-product-gallery__trigger img,
.single-product div.product div.images .woocommerce-product-gallery__trigger svg,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__trigger img,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__trigger svg {
  display: none !important;
}

/* Sale badge */
.single-product div.product div.images .onsale,
.elementor-widget-woocommerce-product-images .onsale {
  background: linear-gradient(135deg, #FF4D8D, #D6006A) !important;
  color: white !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 7px 16px !important;
  border-radius: 100px !important;
  top: 18px !important;
  left: 18px !important;
  right: auto !important;
  min-height: auto !important;
  min-width: auto !important;
  box-shadow: 0 6px 18px rgba(255, 77, 141, 0.4) !important;
  z-index: 99 !important;
}

/* Thumbnails — grid of 4 equal */
.single-product div.product div.images .flex-control-thumbs,
.elementor-widget-woocommerce-product-images .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

.single-product div.product div.images .flex-control-thumbs li,
.elementor-widget-woocommerce-product-images .flex-control-thumbs li {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #FFF0F5, #FDE8F0) !important;
  cursor: pointer !important;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  list-style: none !important;
}

.single-product div.product div.images .flex-control-thumbs li:hover {
  transform: translateY(-4px) !important;
}

.single-product div.product div.images .flex-control-thumbs li img,
.elementor-widget-woocommerce-product-images .flex-control-thumbs li img {
  border-radius: 16px !important;
  opacity: 0.6 !important;
  transition: all 0.3s !important;
  border: 2px solid transparent !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.single-product div.product div.images .flex-control-thumbs li:hover img {
  opacity: 0.9 !important;
  border-color: #FFB3CE !important;
}

.single-product div.product div.images .flex-control-thumbs li img.flex-active {
  opacity: 1 !important;
  border-color: #FF4D8D !important;
  box-shadow: 0 6px 16px rgba(255, 77, 141, 0.35) !important;
}

/* ═══════════════════════════════════════════════════════
   🏷️ PRODUCT TITLE — CLEAN ELEGANT
═══════════════════════════════════════════════════════ */

.single-product div.product .product_title,
body.single-product .entry-title,
.elementor-widget-woocommerce-product-title .product_title,
.elementor-widget-woocommerce-product-title h1,
.elementor-widget-woocommerce-product-title h2,
.elementor-widget-woocommerce-product-title .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(36px, 4.5vw, 54px) !important;
  font-weight: 500 !important;
  color: #3D0020 !important;
  line-height: 1.1 !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  letter-spacing: -0.01em !important;
  position: relative !important;
  text-transform: capitalize !important;
  animation: vmTitleFade 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both !important;
}

@keyframes vmTitleFade {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Pink underline accent */
.single-product div.product .product_title::after,
.elementor-widget-woocommerce-product-title .product_title::after,
.elementor-widget-woocommerce-product-title h1::after,
.elementor-widget-woocommerce-product-title h2::after,
.elementor-widget-woocommerce-product-title .elementor-heading-title::after {
  content: '' !important;
  display: block !important;
  width: 56px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #FF4D8D, #FFB3CE) !important;
  border-radius: 3px !important;
  margin-top: 14px !important;
  animation: vmLineGrow 1s 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both !important;
}

@keyframes vmLineGrow {
  from { width: 0; opacity: 0; }
  to { width: 56px; opacity: 1; }
}

/* ═══════════════════════════════════════════════════════
   💰 PRICE — CLEAN PINK PILL
═══════════════════════════════════════════════════════ */

.single-product div.product p.price,
.single-product div.product .price,
.elementor-widget-woocommerce-product-price .price,
.elementor-widget-woocommerce-product-price p.price {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(38px, 5vw, 56px) !important;
  font-weight: 600 !important;
  color: #FF4D8D !important;
  line-height: 1 !important;
  margin: 20px 0 !important;
  padding: 20px 28px !important;
  background: linear-gradient(135deg, #FFF0F5, #FDE8F0) !important;
  border-radius: 20px !important;
  border: none !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 12px !important;
  direction: ltr !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 
    0 4px 14px rgba(255, 77, 141, 0.1),
    0 16px 40px rgba(255, 77, 141, 0.12),
    inset 0 0 0 1px rgba(255, 77, 141, 0.12) !important;
  animation: vmPriceIn 0.8s 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) both !important;
}

@keyframes vmPriceIn {
  from { opacity: 0; transform: scale(0.95) translateY(10px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

/* Shimmer sweep */
.single-product div.product p.price::before,
.elementor-widget-woocommerce-product-price .price::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 60% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent) !important;
  transform: skewX(-20deg) !important;
  animation: vmShimmer 5s ease-in-out infinite !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

@keyframes vmShimmer {
  0%, 85% { left: -100%; }
  100% { left: 160%; }
}

.single-product div.product p.price bdi,
.elementor-widget-woocommerce-product-price .price bdi {
  font-family: 'Cormorant Garamond', serif !important;
  color: #FF4D8D !important;
  font-weight: 600 !important;
  position: relative !important;
  z-index: 2 !important;
}

.single-product div.product p.price .woocommerce-Price-currencySymbol,
.elementor-widget-woocommerce-product-price .woocommerce-Price-currencySymbol {
  font-size: 0.55em !important;
  color: #B06080 !important;
  font-weight: 500 !important;
  margin-left: 8px !important;
  opacity: 0.9 !important;
}

.single-product div.product p.price del,
.elementor-widget-woocommerce-product-price .price del {
  color: #B06080 !important;
  font-size: 0.55em !important;
  font-weight: 300 !important;
  opacity: 0.5 !important;
  margin-right: 10px !important;
}

.single-product div.product p.price ins,
.elementor-widget-woocommerce-product-price .price ins {
  background: transparent !important;
  color: #FF4D8D !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

/* ═══════════════════════════════════════════════════════
   📝 DESCRIPTION — CLEAN READABLE
═══════════════════════════════════════════════════════ */

.single-product div.product .woocommerce-product-details__short-description,
.elementor-widget-woocommerce-product-content,
.elementor-widget-woocommerce-product-content .elementor-widget-container,
.elementor-widget-woocommerce-product-short-description {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15.5px !important;
  color: #5A3450 !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
}

.single-product div.product .woocommerce-product-details__short-description p,
.elementor-widget-woocommerce-product-content p,
.elementor-widget-woocommerce-product-short-description p {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15.5px !important;
  color: #5A3450 !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
  margin: 0 0 14px 0 !important;
}

/* Bold */
.elementor-widget-woocommerce-product-content strong,
.elementor-widget-woocommerce-product-short-description strong {
  color: #3D0020 !important;
  font-weight: 700 !important;
}

/* Italic */
.elementor-widget-woocommerce-product-content em,
.elementor-widget-woocommerce-product-short-description em {
  color: #D6006A !important;
  font-style: italic !important;
}

/* Bullet lists — simple and clean */
.elementor-widget-woocommerce-product-content ul,
.elementor-widget-woocommerce-product-short-description ul,
.single-product div.product .woocommerce-product-details__short-description ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 !important;
}

.elementor-widget-woocommerce-product-content ul li,
.elementor-widget-woocommerce-product-short-description ul li,
.single-product div.product .woocommerce-product-details__short-description ul li {
  position: relative !important;
  padding: 8px 0 8px 26px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  color: #5A3450 !important;
  line-height: 1.7 !important;
  list-style: none !important;
  font-weight: 500 !important;
  transition: transform 0.2s, color 0.2s !important;
}

.elementor-widget-woocommerce-product-content ul li::before,
.elementor-widget-woocommerce-product-short-description ul li::before,
.single-product div.product .woocommerce-product-details__short-description ul li::before {
  content: '🌸' !important;
  position: absolute !important;
  left: 0 !important;
  top: 8px !important;
  font-size: 14px !important;
}

.elementor-widget-woocommerce-product-content ul li:hover {
  transform: translateX(4px) !important;
  color: #FF4D8D !important;
}

/* Numbered lists — simple */
.elementor-widget-woocommerce-product-content ol,
.single-product div.product .woocommerce-product-details__short-description ol {
  list-style: none !important;
  padding: 0 !important;
  counter-reset: vmCount !important;
  margin: 16px 0 !important;
}

.elementor-widget-woocommerce-product-content ol li,
.single-product div.product .woocommerce-product-details__short-description ol li {
  counter-increment: vmCount !important;
  position: relative !important;
  padding: 8px 0 8px 32px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  color: #5A3450 !important;
  line-height: 1.7 !important;
  list-style: none !important;
  font-weight: 500 !important;
}

.elementor-widget-woocommerce-product-content ol li::before,
.single-product div.product .woocommerce-product-details__short-description ol li::before {
  content: counter(vmCount) !important;
  position: absolute !important;
  left: 0 !important;
  top: 8px !important;
  width: 22px !important;
  height: 22px !important;
  background: linear-gradient(135deg, #FF4D8D, #D6006A) !important;
  color: white !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

/* Headings inside description */
.elementor-widget-woocommerce-product-content h1,
.elementor-widget-woocommerce-product-content h2,
.elementor-widget-woocommerce-product-content h3,
.elementor-widget-woocommerce-product-content h4 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 500 !important;
  color: #3D0020 !important;
  margin: 22px 0 10px !important;
  line-height: 1.2 !important;
}

.elementor-widget-woocommerce-product-content h1 { font-size: 28px !important; }
.elementor-widget-woocommerce-product-content h2 { font-size: 24px !important; }
.elementor-widget-woocommerce-product-content h3 { font-size: 20px !important; }
.elementor-widget-woocommerce-product-content h4 { font-size: 17px !important; }

/* Blockquote */
.elementor-widget-woocommerce-product-content blockquote,
.single-product div.product .woocommerce-product-details__short-description blockquote {
  background: linear-gradient(135deg, #FFF0F5, #FDE8F0) !important;
  border-left: 3px solid #FF4D8D !important;
  border-radius: 0 16px 16px 0 !important;
  padding: 16px 20px !important;
  margin: 18px 0 !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 17px !important;
  font-style: italic !important;
  color: #7A2045 !important;
  line-height: 1.6 !important;
}

/* Links */
.elementor-widget-woocommerce-product-content a {
  color: #FF4D8D !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #FFB3CE !important;
  transition: color 0.2s, border-color 0.2s !important;
}

.elementor-widget-woocommerce-product-content a:hover {
  color: #D6006A !important;
  border-bottom-color: #FF4D8D !important;
}

/* HR */
.elementor-widget-woocommerce-product-content hr {
  border: none !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, #FFB3CE, transparent) !important;
  margin: 24px 0 !important;
}

/* ═══════════════════════════════════════════════════════
   🚫 HIDE UNWANTED ELEMENTS
═══════════════════════════════════════════════════════ */

.single-product div.product form.cart,
.single-product div.product .cart,
.single-product div.product .quantity,
.single-product div.product button.single_add_to_cart_button,
.single-product .product_meta,
.single-product .woocommerce-tabs {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════
   📱 MOBILE
═══════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .single-product div.product div.images .woocommerce-product-gallery__wrapper,
  .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper {
    border-radius: 22px !important;
  }
  .single-product div.product div.images img,
  .elementor-widget-woocommerce-product-images img {
    border-radius: 22px !important;
  }
  .single-product div.product div.images .woocommerce-product-gallery__image a {
    border-radius: 22px !important;
  }
  .single-product div.product div.images .woocommerce-product-gallery__trigger {
    width: 38px !important;
    height: 38px !important;
    top: 14px !important;
    right: 14px !important;
  }
  .single-product div.product div.images .flex-control-thumbs {
    gap: 8px !important;
    margin: 12px 0 0 !important;
  }
  .single-product div.product div.images .flex-control-thumbs li {
    border-radius: 14px !important;
  }
  .single-product div.product div.images .flex-control-thumbs li img {
    border-radius: 14px !important;
  }

  .single-product div.product .product_title,
  .elementor-widget-woocommerce-product-title .product_title,
  .elementor-widget-woocommerce-product-title h1 {
    font-size: 30px !important;
  }
  .elementor-widget-woocommerce-product-title .product_title::after {
    width: 48px !important;
    margin-top: 12px !important;
  }

  .single-product div.product p.price,
  .elementor-widget-woocommerce-product-price .price {
    font-size: 34px !important;
    padding: 16px 22px !important;
    border-radius: 18px !important;
  }

  .elementor-widget-woocommerce-product-content p,
  .elementor-widget-woocommerce-product-short-description p {
    font-size: 14.5px !important;
    line-height: 1.8 !important;
  }
  .elementor-widget-woocommerce-product-content ul li,
  .elementor-widget-woocommerce-product-short-description ul li {
    font-size: 14px !important;
  }
  .elementor-widget-woocommerce-product-content h2 { font-size: 22px !important; }
  .elementor-widget-woocommerce-product-content h3 { font-size: 18px !important; }
}

@media (max-width: 480px) {
  .single-product div.product .product_title,
  .elementor-widget-woocommerce-product-title .product_title,
  .elementor-widget-woocommerce-product-title h1 {
    font-size: 26px !important;
  }
  .single-product div.product p.price,
  .elementor-widget-woocommerce-product-price .price {
    font-size: 30px !important;
    padding: 14px 18px !important;
  }
}/* End custom CSS */