/* =========================================================
   IDEOGY — PRODUCT DETAIL
   Version: 1.3
   Shoptet / Samba

   Principle:
   - native Shoptet commerce remains untouched
   - IDEOGY changes presentation only
   - gallery, variants, price, stock, quantity, cart, tabs,
     ratings and discussion remain native Shoptet functionality
   ========================================================= */

:root{
  --ip-pink:#FF66FF;
  --ip-black:#080808;
  --ip-white:#FFFFFF;
  --ip-text:#111214;
  --ip-muted:#74777E;
  --ip-soft:#F7F7F8;
  --ip-line:#E7E7EA;
  --ip-line-strong:#D7D8DC;
  --ip-danger:#E00000;
  --ip-success:#258A43;
  --ip-radius:10px;
  --ip-radius-small:6px;
}

/* =========================================================
   01 / PRODUCT PAGE FOUNDATION
   ========================================================= */

body.ideogy-product-page{
  color:var(--ip-text);
}

body.ideogy-product-page .content-wrapper-in,
body.ideogy-product-page .content-inner,
body.ideogy-product-page .content,
body.ideogy-product-page .p-detail,
body.ideogy-product-page .p-detail-inner{
  min-width:0;
}

body.ideogy-product-page .breadcrumbs{
  margin-bottom:20px!important;
  color:#8D9096!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}

body.ideogy-product-page .breadcrumbs a{
  color:#5F6268!important;
  text-decoration:none!important;
}

body.ideogy-product-page .breadcrumbs a:hover{
  color:var(--ip-pink)!important;
}

/* =========================================================
   02 / LEFT SIDEBAR — KEEP NATIVE MENU, IMPROVE CONTRAST
   ========================================================= */

body.ideogy-product-page .sidebar{
  color:#25262A;
}

body.ideogy-product-page .sidebar .box,
body.ideogy-product-page .sidebar .category-menu,
body.ideogy-product-page .sidebar .categories,
body.ideogy-product-page .sidebar .box-bg-variant{
  border-color:#DEDFE3!important;
  background:#FAFAFB!important;
  box-shadow:none!important;
}

body.ideogy-product-page .sidebar h4,
body.ideogy-product-page .sidebar .box-heading,
body.ideogy-product-page .sidebar .categories > .topic,
body.ideogy-product-page .sidebar .category-title{
  color:#1B1C20!important;
  font-weight:800!important;
}

body.ideogy-product-page .sidebar a{
  color:#55585E!important;
  text-decoration:none!important;
}

body.ideogy-product-page .sidebar a:hover,
body.ideogy-product-page .sidebar .active > a,
body.ideogy-product-page .sidebar a.active{
  color:var(--ip-pink)!important;
}

body.ideogy-product-page .sidebar .active > a,
body.ideogy-product-page .sidebar a.active{
  font-weight:800!important;
}

body.ideogy-product-page .sidebar .categories a::before,
body.ideogy-product-page .sidebar .category-menu a::before{
  border-color:var(--ip-pink)!important;
}

body.ideogy-product-page .sidebar .box::after,
body.ideogy-product-page .sidebar .box::before{
  box-shadow:none!important;
}

/* =========================================================
   03 / MAIN PRODUCT LAYOUT
   ========================================================= */

body.ideogy-product-page .p-detail-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr)!important;
  gap:42px!important;
  align-items:start!important;
}

body.ideogy-product-page .p-detail-inner > .p-image-wrapper,
body.ideogy-product-page .p-detail-inner > .p-info-wrapper,
body.ideogy-product-page .p-detail-inner > .p-data-wrapper{
  float:none!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  min-width:0!important;
}

/* Samba can render .p-data-wrapper before .p-image-wrapper in the DOM.
   Pin both native blocks to their visual columns so the gallery is never
   clipped or displaced by source order. */
body.ideogy-product-page .p-detail-inner > .p-image-wrapper{
  grid-column:1!important;
  grid-row:1!important;
}

body.ideogy-product-page .p-detail-inner > .p-data-wrapper,
body.ideogy-product-page .p-detail-inner > .p-info-wrapper{
  grid-column:2!important;
  grid-row:1!important;
}

/* =========================================================
   04 / PRODUCT GALLERY
   ========================================================= */

body.ideogy-product-page .p-image-wrapper{
  padding:0!important;
}

body.ideogy-product-page .p-main-image{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:0!important;
  aspect-ratio:1.24 / 1!important;
  padding:26px!important;
  overflow:hidden!important;
  border:1px solid var(--ip-line)!important;
  border-radius:var(--ip-radius)!important;
  background:linear-gradient(145deg,#FFFFFF 0%,#F8F8F9 100%)!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

body.ideogy-product-page .p-main-image a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
}

body.ideogy-product-page .p-main-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:500px!important;
  object-fit:contain!important;
  object-position:center!important;
}

body.ideogy-product-page .p-thumbnails-wrapper{
  margin-top:12px!important;
  margin-bottom:0!important;
  min-height:104px!important;
  height:104px!important;
  overflow:visible!important;
}

body.ideogy-product-page .p-thumbnails{
  margin:0!important;
  min-height:104px!important;
  height:104px!important;
  padding:0!important;
  overflow:visible!important;
}

/* Samba positions the thumbnail strip absolutely and gives its inner rail
   a native 100px height. Keep that mechanism, but reserve a few extra pixels
   in the outer wrapper so borders are not visually clipped. */
body.ideogy-product-page .p-thumbnails > .p-thumbnails-inner{
  height:100px!important;
  min-height:100px!important;
  overflow:visible!important;
}

/* Style ONLY real thumbnail items. Previous versions targeted every <a>
   inside .p-thumbnails, which also affected Samba's prev/next controls. */
body.ideogy-product-page .p-thumbnails > .p-thumbnails-inner > a,
body.ideogy-product-page .p-thumbnail{
  box-sizing:border-box!important;
  height:100px!important;
  max-height:100px!important;
  overflow:hidden!important;
  border:1px solid var(--ip-line)!important;
  border-radius:var(--ip-radius-small)!important;
  background:#FFF!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}

body.ideogy-product-page .p-thumbnails > .p-thumbnails-inner > a:hover,
body.ideogy-product-page .p-thumbnails > .p-thumbnails-inner > a.active,
body.ideogy-product-page .p-thumbnail.active{
  border-color:var(--ip-pink)!important;
  box-shadow:0 0 0 1px var(--ip-pink)!important;
}

body.ideogy-product-page .p-thumbnails > .p-thumbnails-inner > a img,
body.ideogy-product-page .p-thumbnail img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

/* Navigation arrows are intentionally left native. */
body.ideogy-product-page .p-thumbnails > .thumbnail-prev,
body.ideogy-product-page .p-thumbnails > .thumbnail-next{
  box-sizing:content-box!important;
}

/* =========================================================
   05 / PRODUCT FLAGS — NEW, SALE, DISCOUNT, TIP, ETC.
   ========================================================= */

body.ideogy-product-page .flags,
body.ideogy-product-page .flags-default,
body.ideogy-product-page .p-main-image .flags{
  z-index:4!important;
}

body.ideogy-product-page .flag{
  min-height:26px!important;
  padding:6px 10px!important;
  border:1px solid transparent!important;
  border-radius:3px!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

body.ideogy-product-page .flag.flag-new,
body.ideogy-product-page .flag-new,
body.ideogy-product-page .ideogy-flag--new{
  border-color:var(--ip-pink)!important;
  background:var(--ip-pink)!important;
  color:#000!important;
}

body.ideogy-product-page .flag.flag-action,
body.ideogy-product-page .flag-action,
body.ideogy-product-page .flag.flag-discount,
body.ideogy-product-page .flag-discount,
body.ideogy-product-page .ideogy-flag--sale{
  border-color:#111!important;
  background:#111!important;
  color:#FFF!important;
}

body.ideogy-product-page .flag.flag-tip,
body.ideogy-product-page .flag-tip,
body.ideogy-product-page .ideogy-flag--tip{
  border-color:#E4E4E7!important;
  background:#FFF!important;
  color:#111!important;
}

body.ideogy-product-page .flag.flag-free-shipping,
body.ideogy-product-page .ideogy-flag--shipping{
  border-color:#DCF0E2!important;
  background:#EDF8F0!important;
  color:#25723C!important;
}

/* =========================================================
   06 / PRODUCT INFORMATION
   ========================================================= */

body.ideogy-product-page .p-info-wrapper{
  position:relative!important;
  padding:3px 0 24px!important;
}

body.ideogy-product-page .p-info-wrapper::before{
  display:none!important;
}

body.ideogy-product-page .ideogy-product-kicker{
  margin:0 0 12px!important;
  color:var(--ip-pink)!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}

body.ideogy-product-page .p-info-wrapper h1,
body.ideogy-product-page .p-detail h1{
  max-width:700px!important;
  margin:0 0 13px!important;
  color:#0A0A0B!important;
  font-size:clamp(32px,3vw,46px)!important;
  font-weight:800!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  text-transform:none!important;
}

/* rating */
body.ideogy-product-page .stars-wrapper,
body.ideogy-product-page .p-rating,
body.ideogy-product-page .rating-wrapper,
body.ideogy-product-page .stars{
  margin-top:3px!important;
  margin-bottom:20px!important;
}

body.ideogy-product-page .stars-wrapper a,
body.ideogy-product-page .p-rating a,
body.ideogy-product-page .rating-wrapper a{
  color:#6D7076!important;
  font-size:11px!important;
}

body.ideogy-product-page .stars-wrapper a:hover,
body.ideogy-product-page .p-rating a:hover,
body.ideogy-product-page .rating-wrapper a:hover{
  color:var(--ip-pink)!important;
}

/* short description */
body.ideogy-product-page .p-short-description,
body.ideogy-product-page .description-inner,
body.ideogy-product-page .p-info-wrapper .description{
  max-width:690px!important;
  margin:16px 0 0!important;
  color:#5F6269!important;
  font-size:13.5px!important;
  line-height:1.58!important;
}

/* =========================================================
   07 / PRICE, OLD PRICE, SAVING, VAT
   ========================================================= */

body.ideogy-product-page .p-final-price-wrapper,
body.ideogy-product-page .price-wrapper,
body.ideogy-product-page .p-price-wrapper{
  margin-top:28px!important;
  margin-bottom:10px!important;
}

body.ideogy-product-page .p-final-price,
body.ideogy-product-page .price-final,
body.ideogy-product-page .price-final strong,
body.ideogy-product-page .p-final-price strong{
  color:var(--ip-pink)!important;
  font-size:clamp(34px,3.2vw,48px)!important;
  font-weight:900!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
}

body.ideogy-product-page .price-standard,
body.ideogy-product-page .price-save,
body.ideogy-product-page .p-standard-price,
body.ideogy-product-page .p-price-before{
  color:#96989D!important;
  font-size:12px!important;
}

body.ideogy-product-page .price-standard,
body.ideogy-product-page .p-standard-price,
body.ideogy-product-page .p-price-before{
  text-decoration:line-through!important;
}

body.ideogy-product-page .price-save,
body.ideogy-product-page .price-discount,
body.ideogy-product-page .discount-amount{
  color:#111!important;
  font-weight:800!important;
}

body.ideogy-product-page .price-additional,
body.ideogy-product-page .price-measure,
body.ideogy-product-page .price-vat,
body.ideogy-product-page .p-price-vat{
  color:#92949A!important;
  font-size:10px!important;
}

/* =========================================================
   08 / STOCK, AVAILABILITY, CODE
   ========================================================= */

body.ideogy-product-page .availability-label,
body.ideogy-product-page .availability-amount,
body.ideogy-product-page .availability-value,
body.ideogy-product-page .p-availability,
body.ideogy-product-page .availability{
  font-size:12px!important;
  font-weight:800!important;
}

body.ideogy-product-page .availability-amount,
body.ideogy-product-page .availability-label,
body.ideogy-product-page .p-availability{
  margin-top:12px!important;
}

body.ideogy-product-page .availability-label[style*="red"],
body.ideogy-product-page .availability-amount[style*="red"],
body.ideogy-product-page .availability-value[style*="red"],
body.ideogy-product-page .availability-not-available,
body.ideogy-product-page .unavailable{
  color:var(--ip-danger)!important;
}

body.ideogy-product-page .availability-label[style*="green"],
body.ideogy-product-page .availability-amount[style*="green"],
body.ideogy-product-page .availability-value[style*="green"],
body.ideogy-product-page .availability-in-stock,
body.ideogy-product-page .in-stock{
  color:var(--ip-success)!important;
}

body.ideogy-product-page .p-code,
body.ideogy-product-page .product-code,
body.ideogy-product-page .code{
  margin-top:4px!important;
  color:#A0A2A7!important;
  font-size:11px!important;
}

/* =========================================================
   09 / VARIANTS / PARAMETERS ABOVE CART
   ========================================================= */

body.ideogy-product-page .variant-list,
body.ideogy-product-page .variants,
body.ideogy-product-page .p-variants,
body.ideogy-product-page .variant-selects{
  margin:20px 0!important;
}

body.ideogy-product-page .variant-list label,
body.ideogy-product-page .variants label,
body.ideogy-product-page .p-variants label,
body.ideogy-product-page .variant-selects label{
  margin-bottom:7px!important;
  color:#292A2E!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

body.ideogy-product-page .variant-list select,
body.ideogy-product-page .variants select,
body.ideogy-product-page .p-variants select,
body.ideogy-product-page .variant-selects select{
  min-height:48px!important;
  border:1px solid var(--ip-line-strong)!important;
  border-radius:5px!important;
  background:#FFF!important;
  color:#111!important;
  box-shadow:none!important;
}

body.ideogy-product-page .advanced-parameter a,
body.ideogy-product-page .variant-label,
body.ideogy-product-page .variant-value{
  border-color:var(--ip-line-strong)!important;
  border-radius:5px!important;
}

body.ideogy-product-page .advanced-parameter a:hover,
body.ideogy-product-page .advanced-parameter.active a,
body.ideogy-product-page .variant-label:hover,
body.ideogy-product-page .variant-label.active{
  border-color:var(--ip-pink)!important;
  box-shadow:0 0 0 1px var(--ip-pink)!important;
}

/* =========================================================
   10 / QUANTITY + ADD TO CART
   ========================================================= */

body.ideogy-product-page .add-to-cart{
  display:grid!important;
  grid-template-columns:auto minmax(220px,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  width:100%!important;
  margin-top:24px!important;
}

body.ideogy-product-page .quantity,
body.ideogy-product-page .quantity-form,
body.ideogy-product-page .amount{
  min-height:52px!important;
}

body.ideogy-product-page .quantity input,
body.ideogy-product-page .quantity-form input,
body.ideogy-product-page input.amount{
  min-height:50px!important;
  border-color:var(--ip-line-strong)!important;
  background:#FFF!important;
  color:#111!important;
  box-shadow:none!important;
}

body.ideogy-product-page .quantity button,
body.ideogy-product-page .quantity .increase,
body.ideogy-product-page .quantity .decrease{
  color:#55585E!important;
}

body.ideogy-product-page .add-to-cart .btn,
body.ideogy-product-page .add-to-cart .btn-primary,
body.ideogy-product-page .add-to-cart-button,
body.ideogy-product-page button.add-to-cart-button{
  min-height:52px!important;
  padding:0 24px!important;
  border:1px solid var(--ip-pink)!important;
  border-radius:5px!important;
  background:var(--ip-pink)!important;
  color:#000!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease!important;
}

body.ideogy-product-page .add-to-cart .btn:hover,
body.ideogy-product-page .add-to-cart .btn-primary:hover,
body.ideogy-product-page .add-to-cart-button:hover,
body.ideogy-product-page button.add-to-cart-button:hover{
  border-color:#000!important;
  background:#000!important;
  color:#FFF!important;
}

body.ideogy-product-page .add-to-cart .btn:disabled,
body.ideogy-product-page .add-to-cart .btn.disabled,
body.ideogy-product-page .add-to-cart-button:disabled{
  border-color:#E2E2E4!important;
  background:#ECECEE!important;
  color:#9A9CA1!important;
  cursor:not-allowed!important;
}

/* =========================================================
   11 / PRODUCT ACTIONS — PRINT, QUESTION, SHARE, WATCHDOG
   ========================================================= */

/* The native Samba structure nests .link-icons inside
   .social-buttons-wrapper. Style the OUTER wrapper once; styling both used
   to double the spacing/border and contributed to excess vertical height. */
body.ideogy-product-page .social-buttons-wrapper,
body.ideogy-product-page .p-tools,
body.ideogy-product-page .product-actions{
  margin-top:20px!important;
  padding-top:18px!important;
  border-top:1px solid #EFEFF1!important;
}

/* Native product action icons must always stay in one horizontal row. */
body.ideogy-product-page .link-icons[data-testid="productDetailActionIcons"],
body.ideogy-product-page .social-buttons-wrapper > .link-icons{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:28px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-height:0!important;
}

body.ideogy-product-page .link-icons[data-testid="productDetailActionIcons"] > *,
body.ideogy-product-page .social-buttons-wrapper > .link-icons > *{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}

body.ideogy-product-page .social-buttons-wrapper a,
body.ideogy-product-page .p-tools a,
body.ideogy-product-page .product-actions a,
body.ideogy-product-page .link-icons a{
  color:#70737A!important;
  font-size:11px!important;
  text-decoration:none!important;
}

body.ideogy-product-page .social-buttons-wrapper a:hover,
body.ideogy-product-page .p-tools a:hover,
body.ideogy-product-page .product-actions a:hover,
body.ideogy-product-page .link-icons a:hover{
  color:var(--ip-pink)!important;
}

/* =========================================================
   12 / GIFTS, COUPONS, EXTRA PRODUCT MESSAGES
   ========================================================= */

body.ideogy-product-page .p-gifts,
body.ideogy-product-page .product-gifts,
body.ideogy-product-page .gifts,
body.ideogy-product-page .discount-coupon,
body.ideogy-product-page .product-message,
body.ideogy-product-page .p-message{
  margin-top:18px!important;
  padding:16px 18px!important;
  border:1px solid var(--ip-line)!important;
  border-radius:7px!important;
  background:#FAFAFB!important;
  box-shadow:none!important;
}

body.ideogy-product-page .p-gifts strong,
body.ideogy-product-page .product-gifts strong,
body.ideogy-product-page .gifts strong{
  color:#111!important;
}

/* =========================================================
   13 / BENEFIT BANNER
   ========================================================= */

body.ideogy-product-page .benefitBanner{
  margin:30px 0 28px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--ip-line)!important;
  border-radius:9px!important;
  background:#FFF!important;
  box-shadow:none!important;
}

body.ideogy-product-page .benefitBanner__item{
  padding:18px 20px!important;
}

body.ideogy-product-page .benefitBanner__title{
  color:#191A1D!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.2!important;
}

body.ideogy-product-page .benefitBanner__data{
  color:#8A8C92!important;
  font-size:10px!important;
  line-height:1.4!important;
}

body.ideogy-product-page .benefitBanner svg,
body.ideogy-product-page .benefitBanner i{
  color:var(--ip-pink)!important;
  fill:currentColor!important;
}

/* =========================================================
   14 / IDEOGY PRODUCT CTA
   ========================================================= */

body.ideogy-product-page .ideogy-product-cta{
  position:relative;
  display:grid;
  grid-template-columns:minmax(150px,.34fr) minmax(0,1.5fr) auto;
  gap:36px;
  align-items:center;
  width:100%;
  margin:30px 0 18px;
  padding:28px 38px;
  overflow:hidden;
  border:1px solid rgba(255,102,255,.16);
  border-radius:14px;
  background:
    radial-gradient(circle at 98% 50%,rgba(255,102,255,.28) 0%,rgba(255,102,255,.08) 23%,transparent 48%),
    radial-gradient(circle at 3% 48%,rgba(255,102,255,.12) 0%,transparent 35%),
    linear-gradient(90deg,#FFF8FF 0%,#FFFFFF 48%,#FFF1FF 100%);
  box-sizing:border-box;
  isolation:isolate;
}

body.ideogy-product-page .ideogy-product-cta::before,
body.ideogy-product-page .ideogy-product-cta::after{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
}

body.ideogy-product-page .ideogy-product-cta::before{
  right:7%;
  top:-82px;
  width:250px;
  height:250px;
  border:1px solid rgba(255,102,255,.14);
  border-radius:50%;
}

body.ideogy-product-page .ideogy-product-cta::after{
  right:20%;
  bottom:-110px;
  width:280px;
  height:180px;
  transform:rotate(-13deg);
  border-top:1px solid rgba(255,102,255,.14);
}

body.ideogy-product-page .ideogy-product-cta__brand{
  padding-right:28px;
  border-right:1px solid rgba(17,17,17,.18);
  color:#8B8D93;
  font-size:9px;
  font-weight:900;
  line-height:1.55;
  letter-spacing:.22em;
  text-transform:uppercase;
}

body.ideogy-product-page .ideogy-product-cta__copy{
  min-width:0;
}

body.ideogy-product-page .ideogy-product-cta__title{
  margin:0 0 6px!important;
  color:#09090A!important;
  font-size:clamp(27px,2.6vw,42px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}

body.ideogy-product-page .ideogy-product-cta__text{
  max-width:720px;
  margin:0!important;
  color:#777A81!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}

body.ideogy-product-page .ideogy-product-cta__button{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:50px;
  padding:0 25px;
  border:1px solid #09090A;
  border-radius:999px;
  background:#09090A;
  color:#FFF!important;
  font-size:11px;
  font-weight:900;
  line-height:1;
  text-decoration:none!important;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}

body.ideogy-product-page .ideogy-product-cta__button::after{
  content:"→";
  color:var(--ip-pink);
  font-size:17px;
  line-height:1;
}

body.ideogy-product-page .ideogy-product-cta__button:hover{
  border-color:var(--ip-pink);
  background:var(--ip-pink);
  color:#000!important;
  transform:translateY(-1px);
}

body.ideogy-product-page .ideogy-product-cta__button:hover::after{
  color:#000;
}

/* =========================================================
   15 / TABS
   ========================================================= */

body.ideogy-product-page .shp-tabs-row,
body.ideogy-product-page .p-detail-tabs{
  margin-top:18px!important;
  overflow-x:auto!important;
  border:1px solid var(--ip-line)!important;
  border-bottom:0!important;
  border-radius:9px 9px 0 0!important;
  background:#FAFAFB!important;
  box-shadow:none!important;
  scrollbar-width:none!important;
}

body.ideogy-product-page .shp-tabs-row::-webkit-scrollbar,
body.ideogy-product-page .p-detail-tabs::-webkit-scrollbar{
  display:none!important;
}

body.ideogy-product-page .shp-tab-link,
body.ideogy-product-page .p-detail-tabs a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:52px!important;
  padding:0 23px!important;
  border:0!important;
  background:transparent!important;
  color:#777980!important;
  font-size:10px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

body.ideogy-product-page .shp-tab-link:hover,
body.ideogy-product-page .p-detail-tabs a:hover{
  color:#111!important;
}

body.ideogy-product-page .shp-tab-link.active,
body.ideogy-product-page .shp-tab.active .shp-tab-link,
body.ideogy-product-page .p-detail-tabs .active a{
  color:#111!important;
  background:#FFF!important;
}

body.ideogy-product-page .shp-tab-link.active::after,
body.ideogy-product-page .shp-tab.active .shp-tab-link::after,
body.ideogy-product-page .p-detail-tabs .active a::after{
  content:""!important;
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:0!important;
  height:3px!important;
  background:var(--ip-pink)!important;
}

/* =========================================================
   16 / LONG DESCRIPTION / PARAMETERS / DISCUSSION
   ========================================================= */

/* Only the outer product-description panel is styled here.
   Typography inside the description is intentionally left to native Shoptet
   and to formatting chosen in the Shoptet product editor. */
body.ideogy-product-page .tab-content,
body.ideogy-product-page .p-detail-full-width{
  padding:30px 32px!important;
  border:1px solid var(--ip-line)!important;
  border-radius:0 0 9px 9px!important;
  background:#FFF!important;
  box-shadow:none!important;
}

/* parameters */
body.ideogy-product-page .detail-parameters,
body.ideogy-product-page .parameters,
body.ideogy-product-page .table-parameters{
  width:100%!important;
  border-collapse:collapse!important;
}

body.ideogy-product-page .detail-parameters tr,
body.ideogy-product-page .parameters tr,
body.ideogy-product-page .table-parameters tr{
  border-bottom:1px solid #EEEEF0!important;
}

body.ideogy-product-page .detail-parameters th,
body.ideogy-product-page .detail-parameters td,
body.ideogy-product-page .parameters th,
body.ideogy-product-page .parameters td,
body.ideogy-product-page .table-parameters th,
body.ideogy-product-page .table-parameters td{
  padding:12px 10px!important;
  font-size:12px!important;
}

body.ideogy-product-page .detail-parameters th,
body.ideogy-product-page .parameters th,
body.ideogy-product-page .table-parameters th{
  color:#25262A!important;
  font-weight:800!important;
}

/* discussion / forms */
body.ideogy-product-page .discussion,
body.ideogy-product-page .discussion-form,
body.ideogy-product-page .rate-wrapper,
body.ideogy-product-page .vote-form{
  color:#4F5258!important;
}

body.ideogy-product-page .discussion input,
body.ideogy-product-page .discussion textarea,
body.ideogy-product-page .discussion-form input,
body.ideogy-product-page .discussion-form textarea,
body.ideogy-product-page .vote-form input,
body.ideogy-product-page .vote-form textarea{
  border:1px solid var(--ip-line-strong)!important;
  border-radius:5px!important;
  box-shadow:none!important;
}

body.ideogy-product-page .discussion .btn,
body.ideogy-product-page .discussion-form .btn,
body.ideogy-product-page .vote-form .btn{
  border-color:#111!important;
  background:#111!important;
  color:#FFF!important;
  box-shadow:none!important;
}

body.ideogy-product-page .discussion .btn:hover,
body.ideogy-product-page .discussion-form .btn:hover,
body.ideogy-product-page .vote-form .btn:hover{
  border-color:var(--ip-pink)!important;
  background:var(--ip-pink)!important;
  color:#000!important;
}

/* =========================================================
   17 / "WHAT'S IN THE BOX" OPTIONAL CARD
   ========================================================= */

body.ideogy-product-page .ideogy-package-block{
  margin:24px 0 10px!important;
  padding:22px 24px!important;
  border:1px solid var(--ip-line)!important;
  border-radius:9px!important;
  background:#FAFAFB!important;
}

body.ideogy-product-page .ideogy-package-block > h2,
body.ideogy-product-page .ideogy-package-block > h3,
body.ideogy-product-page .ideogy-package-block > h4,
body.ideogy-product-page .ideogy-package-block > strong{
  margin-top:0!important;
  color:#111!important;
}

body.ideogy-product-page .ideogy-package-block ul,
body.ideogy-product-page .ideogy-package-block ol{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px 22px!important;
  margin-bottom:0!important;
}

/* =========================================================
   18 / RELATED / ALTERNATIVE PRODUCTS
   ========================================================= */

body.ideogy-product-page .products-related,
body.ideogy-product-page .products-alternative,
body.ideogy-product-page .related-products,
body.ideogy-product-page .products-complementary{
  margin-top:42px!important;
}

body.ideogy-product-page .products-related > h2,
body.ideogy-product-page .products-alternative > h2,
body.ideogy-product-page .related-products > h2,
body.ideogy-product-page .products-complementary > h2{
  margin-bottom:20px!important;
  color:#111!important;
  font-size:24px!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
}

body.ideogy-product-page .products-related .product .p,
body.ideogy-product-page .products-alternative .product .p,
body.ideogy-product-page .related-products .product .p,
body.ideogy-product-page .products-complementary .product .p{
  border-color:#E8E8EB!important;
  box-shadow:none!important;
}

body.ideogy-product-page .products-related .product .name,
body.ideogy-product-page .products-alternative .product .name,
body.ideogy-product-page .related-products .product .name,
body.ideogy-product-page .products-complementary .product .name{
  color:#17181B!important;
  font-weight:750!important;
}

body.ideogy-product-page .products-related .product .price-final,
body.ideogy-product-page .products-alternative .product .price-final,
body.ideogy-product-page .related-products .product .price-final,
body.ideogy-product-page .products-complementary .product .price-final{
  color:#111!important;
  font-weight:850!important;
}

/* =========================================================
   19 / NATIVE NEWSLETTER — HIDDEN ON PRODUCT PAGE ONLY
   ========================================================= */

body.ideogy-product-page .footer-newsletter-full-width,
body.ideogy-product-page .newsletter-full-width,
body.ideogy-product-page .newsletter-wrapper,
body.ideogy-product-page .newsletter,
body.ideogy-product-page [class*="newsletter"]{
  display:none!important;
}

/* =========================================================
   20 / MODALS / AVAILABILITY DETAIL / WATCHDOG
   Keep Shoptet behavior; align appearance only.
   ========================================================= */

body.ideogy-product-page .modal-content,
body.ideogy-product-page .availability-detail,
body.ideogy-product-page .watchdog-form{
  border-radius:9px!important;
  border-color:var(--ip-line)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.12)!important;
}

body.ideogy-product-page .modal-content .btn-primary,
body.ideogy-product-page .availability-detail .btn-primary,
body.ideogy-product-page .watchdog-form .btn-primary{
  border-color:var(--ip-pink)!important;
  background:var(--ip-pink)!important;
  color:#000!important;
}

/* =========================================================
   21 / TABLET
   ========================================================= */

@media (max-width:1179px){
  body.ideogy-product-page .p-detail-inner{
    grid-template-columns:minmax(0,1fr) minmax(320px,.92fr)!important;
    gap:28px!important;
  }

  body.ideogy-product-page .p-main-image{
    padding:22px!important;
  }

  body.ideogy-product-page .p-info-wrapper h1,
  body.ideogy-product-page .p-detail h1{
    font-size:clamp(29px,3.5vw,40px)!important;
  }

  body.ideogy-product-page .ideogy-product-cta{
    grid-template-columns:130px minmax(0,1fr) auto;
    gap:24px;
    padding:25px 28px;
  }
}

@media (max-width:991px){
  body.ideogy-product-page .ideogy-product-cta{
    grid-template-columns:1fr auto;
  }

  body.ideogy-product-page .ideogy-product-cta__brand{
    display:none;
  }
}

/* =========================================================
   22 / MOBILE
   ========================================================= */

@media (max-width:767px){
  body.ideogy-product-page .breadcrumbs{
    margin-bottom:14px!important;
  }

  body.ideogy-product-page .p-detail-inner{
    display:block!important;
  }

  body.ideogy-product-page .p-image-wrapper{
    margin-bottom:24px!important;
  }

  body.ideogy-product-page .p-main-image{
    aspect-ratio:1 / .90!important;
    padding:15px!important;
    border-radius:8px!important;
  }

  body.ideogy-product-page .p-main-image img{
    max-height:390px!important;
  }

  body.ideogy-product-page .p-info-wrapper{
    padding:0 0 18px!important;
  }

  body.ideogy-product-page .ideogy-product-kicker{
    margin-bottom:9px!important;
  }

  body.ideogy-product-page .p-info-wrapper h1,
  body.ideogy-product-page .p-detail h1{
    font-size:clamp(28px,8.8vw,38px)!important;
    line-height:1.03!important;
  }

  body.ideogy-product-page .p-short-description,
  body.ideogy-product-page .description-inner,
  body.ideogy-product-page .p-info-wrapper .description{
    font-size:13px!important;
  }

  body.ideogy-product-page .add-to-cart{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  body.ideogy-product-page .quantity,
  body.ideogy-product-page .quantity-form,
  body.ideogy-product-page .amount{
    width:100%!important;
  }

  body.ideogy-product-page .benefitBanner{
    margin-top:24px!important;
  }

  body.ideogy-product-page .link-icons[data-testid="productDetailActionIcons"],
  body.ideogy-product-page .social-buttons-wrapper > .link-icons{
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }

  body.ideogy-product-page .link-icons[data-testid="productDetailActionIcons"]::-webkit-scrollbar,
  body.ideogy-product-page .social-buttons-wrapper > .link-icons::-webkit-scrollbar{
    display:none!important;
  }

  body.ideogy-product-page .ideogy-product-cta{
    display:block;
    margin:24px 0 16px;
    padding:24px 20px;
    border-radius:11px;
  }

  body.ideogy-product-page .ideogy-product-cta__title{
    font-size:30px!important;
  }

  body.ideogy-product-page .ideogy-product-cta__text{
    margin-bottom:18px!important;
    font-size:12px!important;
  }

  body.ideogy-product-page .ideogy-product-cta__button{
    width:100%;
    min-height:48px;
  }

  body.ideogy-product-page .shp-tab-link,
  body.ideogy-product-page .p-detail-tabs a{
    min-height:48px!important;
    padding:0 16px!important;
    font-size:9px!important;
  }

  body.ideogy-product-page .tab-content,
  body.ideogy-product-page .p-detail-full-width{
    padding:21px 17px!important;
  }

  body.ideogy-product-page .ideogy-package-block{
    padding:18px!important;
  }

  body.ideogy-product-page .ideogy-package-block ul,
  body.ideogy-product-page .ideogy-package-block ol{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   23 / SMALL MOBILE
   ========================================================= */

@media (max-width:420px){
  body.ideogy-product-page .p-main-image{
    padding:10px!important;
  }

  body.ideogy-product-page .p-final-price,
  body.ideogy-product-page .price-final,
  body.ideogy-product-page .price-final strong,
  body.ideogy-product-page .p-final-price strong{
    font-size:35px!important;
  }

  body.ideogy-product-page .ideogy-product-cta{
    padding:21px 17px;
  }

  body.ideogy-product-page .ideogy-product-cta__title{
    font-size:27px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.ideogy-product-page *,
  body.ideogy-product-page *::before,
  body.ideogy-product-page *::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}
