/* Product-page design, controlled by an independent public rollout setting. Existing WooCommerce controls stay native. */
body.ibnhoms-product-design.single-product {
  --ih-product-surface: #15212c;
  --ih-product-border: #30414f;
  --ih-product-muted: #bbc7d2;
}
body.ibnhoms-product-design.single-product .elementor-element-843d863 { display: none; }
body.ibnhoms-product-design.single-product .elementor-element-390bf19 {
  padding: 40px 26px 32px;
  background: #101a23;
}
body.ibnhoms-product-design.single-product .elementor-element-390bf19 > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr);
  align-items: start;
  max-width: 1180px;
  width: 100%;
  gap: 38px;
  margin: 0 auto;
  padding: 0;
}
body.ibnhoms-product-design.single-product :is(.elementor-element-cc4a174, .elementor-element-7ea8691) {
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  margin: 0;
  box-shadow: none;
  transform: none;
}
body.ibnhoms-product-design.single-product .elementor-element-cc4a174 {
  padding: 18px;
  border: 1px solid var(--ih-product-border);
  border-radius: 20px;
  background: var(--ih-product-surface);
}
body.ibnhoms-product-design.single-product .elementor-element-7ea8691 {
  justify-content: start;
  gap: 16px;
  padding: 6px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.ibnhoms-product-design.single-product .elementor-element-7ea8691 > .elementor-widget {
  width: 100%;
  margin: 0;
  --kit-widget-spacing: 0px;
}
body.ibnhoms-product-design.single-product .woocommerce-product-gallery__wrapper {
  border-radius: 12px;
  background: #0e1821;
}
body.ibnhoms-product-design.single-product .woocommerce-product-gallery__image > a {
  aspect-ratio: 1 / 1;
  padding: 18px;
}
body.ibnhoms-product-design.single-product .woocommerce-product-gallery__image .wp-post-image {
  max-width: 100%;
  max-height: 100%;
  border-radius: 4px;
  object-fit: contain !important;
}
body.ibnhoms-product-design.single-product .woocommerce-product-gallery__trigger {
  top: 10px !important;
  right: 10px !important;
  width: 44px;
  height: 44px;
  line-height: 44px;
  box-shadow: none;
}
body.ibnhoms-product-design.single-product .elementor-element-cc4a174 .ast-onsale-card {
  top: 10px;
  left: 10px;
  padding: 6px 12px;
  border-radius: 8px;
}
body.ibnhoms-product-design.single-product .woocommerce-breadcrumb {
  color: #a6b5c2;
  font-size: 13px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
body.ibnhoms-product-design.single-product .elementor-element-cdacf05 .product_title {
  font-size: clamp(28px, 3vw, 42px) !important;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -.6px;
  overflow-wrap: anywhere;
}
body.ibnhoms-product-design.single-product .elementor-element-eb28875 {
  --e-rating-icon-size: 18px;
  --e-rating-icon-marked-color: #f4c35a;
}
body.ibnhoms-product-design.single-product .elementor-element-c51d3e0 .price {
  gap: 12px;
  font-size: 32px;
  line-height: 1.3;
}
body.ibnhoms-product-design.single-product .elementor-element-c51d3e0 .price del {
  color: #a7b4bf;
  opacity: 1;
  font-size: 19px;
}
body.ibnhoms-product-design.single-product .elementor-element-c51d3e0 .price ins { color: #ff6176; }
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .ibnhoms-delivery-notice {
  margin: 0 0 18px;
  padding: 16px 18px;
  border: 1px solid var(--ih-product-border);
  border-inline-start: 3px solid #ff4055;
  border-radius: 12px;
  background: var(--ih-product-surface);
}
body.ibnhoms-product-design.single-product .ibnhoms-delivery-notice .ibnhoms-delivery-title { font-size: 16px; }
body.ibnhoms-product-design.single-product .ibnhoms-delivery-notice p { color: #d2dce5; line-height: 1.75; font-size: 13px; }
body.ibnhoms-product-design.single-product .ibnhoms-delivery-notice .ibnhoms-delivery-ar { font-size: 14px; }
body.ibnhoms-product-design.single-product .ibnhoms-delivery-notice a {
  min-height: 40px;
  padding: 9px 0 0;
  color: #e3edf6;
}
body.ibnhoms-product-design.single-product .elementor-element-17dec7b form.cart { margin: 0; }
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .single_add_to_cart_button {
  display: block;
  width: 100% !important;
  flex: 1 1 100% !important;
  margin: 0;
  min-width: 0;
  min-height: 54px;
  padding: 14px 20px;
  border-radius: 10px;
  background: #df203b;
  box-shadow: none;
  font-size: 17px;
}
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .single_add_to_cart_button:hover { background: #bd1831; }
body.ibnhoms-product-design.single-product :is(.single_add_to_cart_button, .woocommerce-product-gallery__trigger, .ibnhoms-feature-section > summary):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
body.ibnhoms-product-design.single-product .elementor-element-3cbc1bb h2 {
  font-size: 13px !important;
  text-align: center;
  color: var(--ih-product-muted) !important;
}
body.ibnhoms-product-design.single-product .elementor-element-5aea1df { text-align: center; }
body.ibnhoms-product-design.single-product .elementor-element-986a5f4 { padding: 0 26px 32px; }
body.ibnhoms-product-design.single-product .elementor-element-986a5f4 > .e-con-inner {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding: 0;
}
body.ibnhoms-product-design.single-product .elementor-element-e40b5f7 { width: 100%; padding: 0; border: 0 !important; background: transparent; }
body.ibnhoms-product-design.single-product .elementor-widget-woocommerce-product-data-tabs {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}
body.ibnhoms-product-design.single-product .woocommerce-tabs {
  border: 1px solid var(--ih-product-border) !important;
  border-radius: 18px;
  background: var(--ih-product-surface);
  box-shadow: none;
}
body.ibnhoms-product-design.single-product .woocommerce-tabs ul.tabs { padding: 8px 20px 0 !important; }
body.ibnhoms-product-design.single-product .woocommerce-tabs ul.tabs li { background: transparent !important; border-radius: 0 !important; }
body.ibnhoms-product-design.single-product .woocommerce-tabs ul.tabs li.active { background: transparent !important; border-bottom: 3px solid #ff4055 !important; }
body.ibnhoms-product-design.single-product .woocommerce-tabs ul.tabs li a { padding: 14px 12px !important; }
body.ibnhoms-product-design.single-product .woocommerce-Tabs-panel { padding: 28px !important; }
body.ibnhoms-product-design.single-product #tab-description > :is(h3, h4, p) { max-width: 920px; margin-inline: auto; }
body.ibnhoms-product-design.single-product #tab-description :is(h2, h3, h4) :is(span, strong) { color: inherit !important; }
body.ibnhoms-product-design.single-product #tab-description h4 { color: #e4edf5 !important; }
body.ibnhoms-product-design.single-product #tab-description > h3:first-child {
  margin-top: 0;
  text-align: right !important;
  color: #f4f7fa !important;
  font-size: 23px !important;
}
body.ibnhoms-product-design.single-product #tab-description :is(p, li) {
  font-size: 16px;
  line-height: 1.95;
  color: #d2dce5;
  overflow-wrap: anywhere;
}
body.ibnhoms-product-design.single-product .ibnhoms-feature-section {
  max-width: 920px;
  margin: 12px auto;
  border: 1px solid var(--ih-product-border);
  border-radius: 12px;
  background: #101b25;
  overflow: clip;
}
body.ibnhoms-product-design.single-product .ibnhoms-feature-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 62px;
  padding: 17px 20px;
  cursor: pointer;
  list-style: none;
}
body.ibnhoms-product-design.single-product .ibnhoms-feature-section > summary::-webkit-details-marker { display: none; }
body.ibnhoms-product-design.single-product .ibnhoms-feature-section > summary::after { content: "+"; color: #ff7386; font-size: 25px; flex: 0 0 auto; }
body.ibnhoms-product-design.single-product .ibnhoms-feature-section[open] > summary::after { content: "−"; }
body.ibnhoms-product-design.single-product .ibnhoms-feature-section > summary h3 {
  margin: 0;
  color: #f4f7fa !important;
  font-size: 17px !important;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.ibnhoms-product-design.single-product .ibnhoms-feature-content { padding: 0 20px 20px; }
body.ibnhoms-product-design.single-product .ibnhoms-feature-content > :last-child { margin-bottom: 0; }
/* Keep native variation choices and quantity controls within the purchase column. */
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .variations_form,
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .single_variation_wrap { width: 100%; min-width: 0; }
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .variations { width: 100%; margin-bottom: 16px; }
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .variations select { width: 100%; max-width: 100%; min-height: 48px; border-radius: 8px; }
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .reset_variations { display: inline-block; padding-block: 10px; }
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .woocommerce-variation-price { margin: 0 0 16px; font-size: 24px; }
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
body.ibnhoms-product-design.single-product .elementor-element-17dec7b .quantity { margin: 0 0 12px; }
body.ibnhoms-product-design.single-product #tab-description :is(img, video, iframe) { max-width: 100%; }

@media (max-width: 1024px) {
  body.ibnhoms-product-design.single-product .elementor-element-390bf19 > .e-con-inner { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  body.ibnhoms-product-design.single-product .elementor-element-cc4a174 { max-width: 540px; margin-inline: auto; }
  body.ibnhoms-product-design.single-product .elementor-element-7ea8691 { max-width: 680px; margin-inline: auto; }
}
@media (max-width: 600px) {
  body.ibnhoms-product-design.single-product .elementor-element-390bf19 { padding: 22px 20px 24px; }
  body.ibnhoms-product-design.single-product .elementor-element-cc4a174 { padding: 12px; border-radius: 16px; }
  body.ibnhoms-product-design.single-product .woocommerce-product-gallery__image > a { padding: 10px; }
  body.ibnhoms-product-design.single-product .elementor-element-cdacf05 .product_title { font-size: 28px !important; }
  body.ibnhoms-product-design.single-product .elementor-element-986a5f4 { padding: 0 20px 24px; }
  body.ibnhoms-product-design.single-product .woocommerce-Tabs-panel { padding: 18px 14px !important; }
  body.ibnhoms-product-design.single-product #tab-description > h3:first-child { font-size: 20px !important; }
  body.ibnhoms-product-design.single-product #tab-description :is(p, li) { font-size: 15px; }
  body.ibnhoms-product-design.single-product .ibnhoms-feature-section > summary { padding: 14px; gap: 10px; }
  body.ibnhoms-product-design.single-product .ibnhoms-feature-section > summary h3 { font-size: 15px !important; }
  body.ibnhoms-product-design.single-product .ibnhoms-feature-content { padding: 0 14px 16px; }
}
@media print {
  body.ibnhoms-product-design.single-product .ibnhoms-feature-section > .ibnhoms-feature-content { display: block !important; }
}


/* IBN HOMS Description System 2.0 — approved private-preview design. */
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 4vw, 48px) !important;
  border-radius: 0 0 18px 18px;
  background:
    radial-gradient(circle at 50% -10%, rgba(239, 45, 74, .10), transparent 32%),
    linear-gradient(180deg, #172631 0%, #101b24 100%);
  color: #f3f6f8;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2,
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 * {
  box-sizing: border-box;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-empty {
  display: none !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-hero {
  max-width: 1040px;
  margin: 0 auto 34px;
  padding: 2px 12px 31px;
  border-bottom: 1px solid rgba(130, 151, 166, .22);
  text-align: center;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-hero::before {
  content: "";
  display: block;
  width: 58px;
  height: 3px;
  margin: 0 auto 18px;
  border-radius: 5px;
  background: linear-gradient(90deg, transparent, #ef2d4a, transparent);
  box-shadow: 0 0 16px rgba(239, 45, 74, .38);
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-hero-title {
  max-width: 100%;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(30px, 4vw, 42px) !important;
  font-weight: 700;
  line-height: 1.25;
  text-align: center !important;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-hero-intro {
  max-width: 880px;
  margin: 20px auto 0;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-hero-intro p {
  max-width: none;
  margin: 0 !important;
  color: #d6dfe5 !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  text-align: center !important;
  text-wrap: pretty;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-hero-intro p + p {
  margin-top: 8px !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-content {
  width: min(1040px, 100%);
  margin-inline: auto;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section {
  margin: 0;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section + .ibnhoms-desc-section {
  margin-top: 38px;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-title {
  display: flex;
  align-items: center;
  gap: 13px;
  max-width: none;
  margin: 0 0 21px !important;
  color: #fff !important;
  font-size: clamp(23px, 2.8vw, 29px) !important;
  font-weight: 700;
  line-height: 1.4;
  text-align: start !important;
  overflow-wrap: anywhere;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-title::before {
  content: "";
  width: 4px;
  height: 30px;
  flex: 0 0 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, #ff6075, #ef2d4a);
  box-shadow: 0 0 15px rgba(239, 45, 74, .27);
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-title::after {
  content: "";
  height: 1px;
  min-width: 28px;
  flex: 1;
  background: linear-gradient(90deg, rgba(239, 45, 74, .34), transparent);
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 [dir="rtl"].ibnhoms-desc-section-title::after {
  background: linear-gradient(270deg, rgba(239, 45, 74, .34), transparent);
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-body {
  min-width: 0;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-body > .ibnhoms-desc-grid + :not(.ibnhoms-desc-grid),
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-body > :not(.ibnhoms-desc-grid) + .ibnhoms-desc-grid {
  margin-top: 14px;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card {
  position: relative;
  min-width: 0;
  padding: 22px;
  border: 1px solid #2c3e4b;
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(20, 35, 46, .98), rgba(15, 27, 36, .98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02);
  overflow: hidden;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 20px;
  width: 3px;
  height: 34px;
  border-radius: 0 3px 3px 0;
  background: #ef2d4a;
  box-shadow: 0 0 14px rgba(239, 45, 74, .35);
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-title {
  max-width: none;
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1.5;
  text-align: start !important;
  overflow-wrap: anywhere;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 :is(p, li) {
  color: #c5d0d8 !important;
  font-size: 15.5px !important;
  line-height: 1.9 !important;
  overflow-wrap: anywhere;
  unicode-bidi: plaintext;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 :is(p, li)[dir] {
  text-align: start !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 :is(p, li) :is(span, strong, em) {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card > p {
  max-width: none;
  margin: 0 !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card > p + p {
  margin-top: 9px !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-body > p {
  max-width: none;
  margin: 0;
  padding: 20px 22px;
  border: 1px solid #2b3d49;
  border-radius: 14px;
  background: rgba(12, 24, 32, .58);
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-body > p + p {
  margin-top: 12px;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card .ibnhoms-desc-list {
  grid-template-columns: 1fr;
  margin-top: 10px !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 ul.ibnhoms-desc-list > li {
  position: relative;
  min-height: 46px;
  margin: 0 !important;
  padding: 11px 44px 11px 14px !important;
  border: 1px solid #293b47;
  border-radius: 11px;
  background: rgba(10, 21, 29, .62);
  color: #d3dde4 !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 ul.ibnhoms-desc-list > li::before {
  content: "✓";
  position: absolute;
  inset-inline-start: 12px;
  top: 12px;
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 6px;
  background: rgba(239, 45, 74, .14);
  color: #ff6075;
  font-size: 13px;
  font-weight: 700;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 ol.ibnhoms-desc-list {
  counter-reset: ibnhoms-desc-step;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 ol.ibnhoms-desc-list > li {
  position: relative;
  min-height: 46px;
  margin: 0 !important;
  padding: 11px 47px 11px 14px !important;
  border: 1px solid #293b47;
  border-radius: 11px;
  background: rgba(10, 21, 29, .62);
  list-style: none !important;
  counter-increment: ibnhoms-desc-step;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 ol.ibnhoms-desc-list > li::before {
  content: counter(ibnhoms-desc-step);
  position: absolute;
  inset-inline-start: 12px;
  top: 11px;
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 7px;
  background: rgba(239, 45, 74, .14);
  color: #ff6075;
  font-size: 12px;
  font-weight: 700;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section--note .ibnhoms-desc-section-body {
  padding: 21px 22px;
  border: 1px solid rgba(239, 45, 74, .34);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(239, 45, 74, .07), rgba(15, 27, 36, .85));
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section--note .ibnhoms-desc-section-body > p {
  padding: 0;
  border: 0;
  background: transparent;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 :is(a, a:visited) {
  color: #ff7184;
  text-decoration-color: rgba(255, 113, 132, .45);
  text-underline-offset: 3px;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 a:hover {
  color: #ff93a2;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 hr {
  width: 100%;
  margin: 18px 0;
  border: 0;
  border-top: 1px solid #2d3e4b;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 :is(img, video, iframe) {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  border-radius: 12px;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 iframe {
  width: 100%;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  color: #d3dde4;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 :is(pre, code) {
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 {
    padding: 24px 15px !important;
    border-radius: 0 0 16px 16px;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-hero {
    margin-bottom: 28px;
    padding: 0 3px 25px;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-hero-title {
    font-size: 28px !important;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-hero-intro p {
    font-size: 15px !important;
    line-height: 1.85 !important;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section + .ibnhoms-desc-section {
    margin-top: 30px;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-title {
    gap: 10px;
    font-size: 21px !important;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-grid,
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-list {
    grid-template-columns: 1fr;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card {
    padding: 18px;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-title {
    font-size: 17px !important;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 :is(p, li) {
    font-size: 15px !important;
  }
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-body > p,
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section--note .ibnhoms-desc-section-body {
    padding: 17px;
  }
}


/* Description System 2.0 QA refinements. */
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-grid {
  align-items: start;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-section-body > p:has(+ .ibnhoms-desc-list) {
  margin: 0 0 13px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #f2f5f7 !important;
  font-size: 18px !important;
  font-weight: 700;
}


/* Preserve legacy image-only headings as clean media blocks. */
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-media-block {
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  line-height: normal !important;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-media-block img {
  margin: 0 auto !important;
}


/* Description System 2.0 — responsive YouTube oEmbed repair. */
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ast-oembed-container {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden;
  border-radius: 12px;
  background: #000;
}
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ast-oembed-container > iframe {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}


/* Description System 2.1 — stacked full-width information cards. */
body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
}

body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-body {
  min-width: 0;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid rgba(116, 142, 158, .22);
}

body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-body > p {
  max-width: none;
  margin: 0 !important;
}

body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-body > p + p {
  margin-top: 10px !important;
}

body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-body > :is(ul, ol, figure, img, video, iframe, .wp-block-image, .wp-block-video, .ast-oembed-container):first-child {
  margin-top: 0 !important;
}

@media (min-width: 761px) {
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card {
    padding: 24px 26px;
  }

  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-body > .ibnhoms-desc-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0 !important;
  }

  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-body > .ibnhoms-desc-list:has(> :only-child) {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-body > .ibnhoms-desc-list > li:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-body {
    margin-top: 12px;
    padding-top: 12px;
  }

  body.ibnhoms-product-design.single-product #tab-description.ibnhoms-description-v2 .ibnhoms-desc-card-body > .ibnhoms-desc-list {
    grid-template-columns: minmax(0, 1fr);
  }
}
