/* ==== WOOCOMMERCE COMPREHENSIVE FIX v2 (managed block) START ==== */
   PDP: Fix tabs/related inside .type-product grid + style sections
   Shop: Hide unwanted sidebar, polish product cards
   ============================================================ */

/* ============================================================
   PART A: SINGLE PRODUCT PAGE — Grid overflow fix
   Tabs & Related Products are children of .type-product grid.
   Without explicit column span, they get auto-placed into cols 1&2.
   ============================================================ */

/* Force tabs and related products to span FULL grid width */
.single-product .type-product > .woocommerce-tabs,
.single-product .type-product > .woocommerce-tabs.wc-tabs-wrapper,
.single-product .type-product > .related.products,
.single-product .type-product > section.related.products{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  margin-top:3rem !important;
}

/* Also catch if WC puts them outside .type-product but still in main */
.single-product .site-main > .woocommerce-tabs,
.single-product .site-main > .related.products{
  max-width:var(--maxw);
  margin-left:auto !important;
  margin-right:auto !important;
  padding:0 2.4rem;
}

/* ============================================================
   PART B: WooCommerce Tabs — Description / Reviews
   ============================================================ */
.single-product .woocommerce-tabs{
  border-top:1px solid var(--line);
  padding-top:2.5rem;
}
.single-product .woocommerce-tabs ul.tabs.wc-tabs{
  display:flex;
  gap:0;
  margin-bottom:2rem;
  padding:0;
  list-style:none;
  border-bottom:1px solid var(--line);
}
.single-product .woocommerce-tabs ul.tabs li{
  margin-bottom:-1px;
  padding:0;
}
.single-product .woocommerce-tabs ul.tabs li a{
  display:inline-block;
  padding:.85rem 1.6rem;
  font-family:var(--sans);
  font-size:.88rem;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
  text-decoration:none;
  border:1px solid transparent;
  border-bottom:none;
  background:transparent;
  transition:color .25s, border-color .25s, background .25s;
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover{
  color:var(--espresso);
  border-color:var(--line);
  background:var(--ivory);
}
.single-product .woocommerce-tabs ul.tabs li.active a{
  border-top:2px solid var(--gold);
}

/* Tab content panels */
.single-product .woocommerce-Tabs-panel{
  padding:1.5rem 0 0;
  font-size:.95rem;
  line-height:1.8;
  color:var(--espresso);
}
.single-product .woocommerce-Tabs-panel h2{display:none} /* hide duplicate heading */

/* Description panel content */
.single-product .woocommerce-Tabs-panel--description p{
  margin-bottom:1rem;
  color:var(--espresso);
  opacity:.9;
}
.single-product .woocommerce-Tabs-panel--description img{
  max-width:240px;
  margin:1rem 1rem 1rem 0;
  border-radius:4px;
  border:1px solid var(--line);
}
/* 手机端: 图片全宽 + 取消浮动 */
@media(max-width:768px){
  .single-product .woocommerce-Tabs-panel--description img{
    max-width:100%;
    float:none;
    display:block;
    margin:0 0 1.2rem;
    width:100%;
  }
}

/* Reviews panel */
.single-product #reviews #comments ol.commentlist{
  list-style:none;
  padding:0;
}
.single-product #reviews #comments .comment-text{
  margin:0;
  padding:1rem 0;
  border-bottom:1px solid var(--line);
}
.single-product #review_form{margin-top:2rem}

/* ============================================================
   PART C: Related Products Section
   ============================================================ */
.single-product .related.products{
  padding:3rem 0 1rem;
  border-top:1px solid var(--line);
  margin-top:2rem !important;
}
.single-product .related.products h2{
  font-family:var(--serif);
  font-size:clamp(1.6rem,2.5vw,2rem);
  font-weight:400;
  color:var(--espresso);
  margin-bottom:2rem;
  letter-spacing:.02em;
}

/* Related products use the theme's .product-grid already — just ensure spacing */
.single-product .related.products .product-grid{
  gap:1.8rem;
}
.single-product .related.products .product-grid .product__name{
  font-size:1rem;
}
.single-product .related.products .product-grid .product__price{
  font-family:var(--serif);
  font-size:1.05rem;
  color:var(--gold-soft);
}
.single-product .related.products .product-grid .add-btn{
  font-size:.8rem;
  padding:.55rem 1.2rem;
}

/* ============================================================
  PART C2: Related Products — WooCommerce DEFAULT template
  WC uses ul.products.columns-N > li.product (NOT theme's article.product)
  Must style this default structure as grid too.
  ============================================================ */
.single-product .related.products > ul.products,
.up-sells > ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:1.8rem !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* Each product LI in default WC related */
.single-product .related.products ul.products li.product,
.up-sells ul.products li.product{
  display:flex !important;
  flex-direction:column !important;
  background:#fff;
  border:1px solid var(--line,#E7DECF);
  border-radius:6px;
  overflow:hidden;
  padding:0 !important;
  margin:0 !important;
  transition:transform .3s ease, box-shadow .3s ease;
}
.single-product .related.products ul.products li.product:hover,
.up-sells ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(27,22,17,.08);
}

/* Product link wrapper */
.single-product .related.products li.product a.woocommerce-LoopProduct-link,
.up-sells li.product a.woocommerce-LoopProduct-link{
  display:flex !important;
  flex-direction:column !important;
  text-decoration:none !important;
  padding:0 !important;
}

/* Product image in related list */
.single-product .related.products li.product img,
.up-sells li.product img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:3/4;
  object-fit:cover;
  display:block;
}

/* Product name in related list */
.single-product .related.products li.product .woocommerce-loop-product__title,
.up-sells li.product .woocommerce-loop-product__title{
  font-family:var(serif), "Cormorant Garamond", Georgia, serif;
  font-size:1rem;
  font-weight:500;
  color:var(--espresso,#1B1611) !important;
  padding:.8rem 1rem .3rem !important;
  line-height:1.3;
}

/* Price in related list */
.single-product .related.products li.product .price,
.up-sells li.product .price{
  font-family:var(serif), "Cormorat Garamond", Georgia, serif;
  font-size:1.05rem;
  color:var(--gold-soft,#C9A86A) !important;
  padding:0 1rem !important;
}

/* Add to cart in related list */
.single-product .related.products li.product a.button,
.single-product .related.products li.product button.button,
.up-sells li.product a.button{
  margin:.5rem 1rem 1rem !important;
  font-size:.78rem !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  background:transparent !important;
  border:1px solid var(--line,#E7DECF) !important;
  color:var(--espresso,#1B1611) !important;
  border-radius:3px !important;
  padding:.55rem 1.1rem !important;
  transition:all .25s ease !important;
  text-align:center;
}
.single-product .related.products li.product a.button:hover,
.up-sells li.product a.button:hover{
  background:var(--espresso,#1B1611) !important;
  color:var(--ivory,#FAF6F0) !important;
}

/* Up-sells (if any) — same treatment */
.single-product .up-sells{
  grid-column:1 / -1 !important;
  width:100% !important;
  margin-top:3rem !important;
  padding-top:3rem;
  border-top:1px solid var(--line);
}

/* ============================================================
   PART D: Hide unwanted sidebar on WC pages
   Theme outputs div#sidebar (not #secondary!) as direct body child.
   NOTE: Do NOT touch .shop-side — user wants the Shop page
   categories sidebar to remain as-is. Only hide the stray
   #sidebar leak on single-product pages.
   ============================================================ */
.single-product #sidebar,
.single-product #secondary,
.single-product .widget-area,
body.single-product #sidebar{
  display:none !important;
}

/* When no sidebar, make content full width */
.single-product .site-main,
.post-type-archive-product .site-main,
.archive.post-type-archive-product .shop-main,
.tax-product_cat .content-area{
  width:100%;
  max-width:100%;
  float:none;
  margin:0;
  padding:0;
}
.single-product .site-main,
.post-type-archive-product .site-main,
.archive.post-type-archive-product .shop-main,
.tax-product_cat .content-area{
  width:100%;
  max-width:100%;
  float:none;
  margin:0;
  padding:0;
}

/* ============================================================
   PART E: [REMOVED 2026-07-10]
   User iron rule: do not change things not explicitly requested.
   Shop page product-card styling was reverted — theme default
   rendering restored. Only PDP (single-product) fixes remain.
   ============================================================ */

/* ============================================================
   PART G: PDP — Quantity Input & Add to Cart Button
   Replace WC default browser-native styles with brand-consistent UI.
   ============================================================ */

/* Cart form container */
.single-product form.cart{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:1.5rem !important;
  flex-wrap:wrap;
}

/* Quantity wrapper */
.single-product .quantity{
  display:inline-flex;
  align-items:center;
}

/* Quantity input — clean minimal number box */
.single-product .quantity input.qty{
  width:72px !important;
  height:48px !important;
  border:1px solid var(--line,#E7DECF) !important;
  border-radius:4px !important;
  background:var(--ivory,#FAF6F0) !important;
  color:var(--espresso,#1B1611) !important;
  font-family:var(--sans,"Jost",sans-serif) !important;
  font-size:.95rem !important;
  font-weight:500 !important;
  text-align:center !important;
  padding:0 .5rem !important;
  outline:none !important;
  transition:border-color .25s ease, box-shadow .25s ease !important;
  /* Remove spinner arrows (webkit) */
  -moz-appearance:textfield !important;
}
.single-product .quantity input.qty::-webkit-inner-spin-button,
.single-product .quantity input.qty::-webkit-outer-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}
.single-product .quantity input.qty:focus{
  border-color:var(--gold,#B0894F) !important;
  box-shadow:0 0 0 2px rgba(176,137,79,.15) !important;
}

/* Add to Cart button — primary CTA, brand gold accent */
.single-product .single_add_to_cart_button,
.single-product form.cart button[type=submit]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:180px;
  height:48px !important;
  padding:0 2rem !important;
  background:transparent !important;
  color:var(--gold-soft,#C9A86A) !important;
  border:2px solid var(--gold,#B0894F) !important;
  border-radius:4px !important;
  font-family:var(--sans,"Jost",sans-serif) !important;
  font-size:.85rem !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  transition:all .3s ease !important;
  position:relative;
  overflow:hidden;
}
.single-product .single_add_to_cart_button:hover,
.single-product form.cart button[type=submit]:hover{
  background:var(--gold,#B0894F) !important;
  color:#fff !important;
  box-shadow:0 6px 20px rgba(176,137,79,.25) !important;
  transform:translateY(-1px);
}
.single-product .single_add_to_cart_button:active,
.single-product form.cart button[type=submit]:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(176,137,79,.2) !important;
}

/* ============================================================
   PART F: Responsive adjustments (PDP only)
   NOTE: Shop-page card responsive rules removed per user iron
   rule — do not touch Shop page rendering.
   ============================================================ */
@media(max-width:980px){
  .single-product .type-product > .woocommerce-tabs,
  .single-product .type-product > .related.products{
    margin-top:2rem !important;
    padding:0 0 !important;
  }
  .single-product .woocommerce-tabs ul.tabs li a{
    padding:.7rem 1.1rem;
    font-size:.82rem;
  }
  /* Related products responsive columns */
  .single-product .related.products > ul.products,
  .up-sells > ul.products{
    grid-template-columns:repeat(3,1fr) !important;
  }
  /* Cart form stack on tablet */
  .single-product form.cart{
    gap:.8rem;
  }
  .single-product .single_add_to_cart_button{
    min-width:150px;
    padding:0 1.5rem !important;
  }
}
@media(max-width:640px){
  .single-product .woocommerce-tabs ul.tabs{
    flex-wrap:wrap;
  }
  .single-product .woocommerce-tabs ul.tabs li{
    flex:1 1 auto;
  }
  .single-product .woocommerce-tabs ul.tabs li a{
    padding:.6rem .8rem;
    font-size:.76rem;
    text-align:center;
  }
  /* Related products mobile */
  .single-product .related.products > ul.products,
  .up-sells > ul.products{
    grid-template-columns:repeat(2,1fr) !important;
    gap:1rem !important;
  }
  /* Cart form — stack vertically on mobile */
  .single-product form.cart{
    flex-direction:row;
    width:100%;
  }
  .single-product .quantity input.qty{
    width:64px !important;
    height:44px !important;
  }
  .single-product .single_add_to_cart_button{
    flex:1 !important;
    min-width:auto !important;
    height:44px !important;
  }
}

/* ============================================================
   PART H: PDP Typography Polish — bigger, more premium
   Targets the theme's .pdp layout (pdp__info area + Details tab).
   User feedback (2026-07-11): font sizes too small, not impactful.
   ============================================================ */

/* --- Breadcrumb --- */
.breadcrumb{
  font-size:.8rem;
  letter-spacing:.08em;
  padding:1.2rem 0 .5rem !important;
}

/* --- Product info right column spacing --- */
.pdp__info{
  padding-top:.5rem;
}

/* --- Eyebrow (category label) --- */
.pdp__info .eyebrow{
  font-size:.82rem;
  letter-spacing:.12em;
  margin-bottom:.4rem !important;
}

/* --- Title: already 51px, just tighten slightly --- */
.pdp__title{
  font-size:clamp(2.6rem,3.2vw,3.4rem) !important;
  line-height:1.15 !important;
  margin-bottom:1rem !important;           /* was .6rem — more air before price */
  letter-spacing:.01em;
}

/* --- Price: bump from 24px to 28px --- */
.pdp__price{
  font-size:1.75rem !important;          /* was ~24px → 28px */
  font-weight:400 !important;
  line-height:1.35 !important;
  margin-bottom:1.5rem !important;         /* more breathing room */
  color:var(--espresso,#1B1611);
}

/* --- Short description: 16px → 19px, darker for readability --- */
.pdp__desc{
  font-size:1.19rem !important;           /* was 16px → ~19px */
  line-height:1.75 !important;            /* was 1.7 */
  color:var(--espresso,#1B1611) !important; /* was muted #8C7C6B — too faint */
  opacity:.88 !important;
  margin-bottom:1.8rem !important;         /* more gap before notes */
}

/* --- Notes / bullet list: proper marker-text gap + breathing --- */
.pdp__notes{
  font-size:1.06rem !important;
  margin-top:1rem !important;              /* was .8rem — more room from desc */
  margin-bottom:2rem !important;
  padding-left:.2em !important;            /* slight ul indent */
}
.pdp__notes li{
  font-size:1.05rem !important;
  line-height:1.75 !important;
  padding:.5rem 0 .5rem 1.4em !important; /* ← LEFT PADDING: bullet↔text gap (was 0!) */
  color:var(--espresso,#1B1611) !important;
}
.pdp__notes li::marker{
  font-size:1.05em;                       /* was 1.1em — slightly smaller, elegant */
  color:var(--gold,#B089F);
}

/* --- Trust / shipping meta notes below button (.pdp__meta) ---
   NOTE: do NOT use .pdp__info > p:last-of-type here — .pdp__desc is the
   last direct <p> child of .pdp__info, so that selector hijacks it and
   pins desc to 0.95rem. Scope strictly to .pdp__meta instead. --- */

/* Button area: breathing room from notes list above */
.pdp__actions{
  margin-top:.8rem !important;
  padding-top:.5rem !important;
}

.pdp__meta,
.pdp__meta p{
  font-size:.94rem !important;             /* ~15px, was 13.44px (too small) */
  line-height:1.65 !important;
  color:var(--muted,#8C7C6B) !important;
  margin-top:1rem !important;              /* was 0 — gap from button */
  padding-top:.6rem !important;            /* extra air */
}
.pdp__meta p{
  margin-bottom:.35rem !important;
}
.pdp__meta strong{
  color:var(--espresso,#1B1611) !important;
  font-weight:500;
}

/* --- Details / Description tab content --- */
.single-product .woocommerce-Tabs-panel--description p,
.single-product .woocommerce-Tabs-panel--description{
  font-size:1.08rem !important;           /* was default small */
  line-height:1.85 !important;
  color:var(--espresso,#1B1611) !important;
  opacity:.9;
}
.single-product .woocommerce-Tabs-panel--description p{
  margin-bottom:1.2rem !important;
}
/* Details heading "Details" etc — keep serif but ensure size */
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3{
  font-family:var(--serif,"Cormorant Garamond",Georgia,serif);
  font-size:clamp(1.6rem,2.2vw,2rem);
  font-weight:400;
  color:var(--espresso);
  margin-bottom:1.5rem;
  letter-spacing:.02em;
}

/* ============================================================
   PART I: Product Grid Card Bottom Alignment (Shop / Category / Related)
   Theme's custom card: article.product > a.product__link + div.product__foot
   Problem (2026-07-11): cards with longer descriptions push price/button
   lower than neighbors → misaligned on mobile/tablet 2-col grid.
   Fix: flex column + foot gets margin-top:auto to stick to bottom.
   ============================================================ */

/* Force every row in the product grid to stretch cards to equal height */
.product-grid{
  align-items:stretch !important;
}

/* Homepage bestsellers CAROUSEL (#productGrid) — same equal-height treatment.
   #productGrid uses display:flex + overflow-x:auto (horizontal scroll),
   so we must target by ID to beat style.css specificity. */
#productGrid{
  align-items:stretch !important;
}
#productGrid .product{
  display:flex !important;
  flex-direction:column !important;
  /* Keep carousel fixed-width intact (flex:0 0 280px from style.css) */
}
#productGrid .product .product__link{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
}
#productGrid .product .product__desc{
  flex:none !important;
}
#productGrid .product .product__foot{
  margin-top:auto !important;
  flex-shrink:0 !important;
}

.product-grid .product{
  display:flex !important;
  flex-direction:column !important;
}
/* Link area (image + name + desc) fills available space */
.product-grid .product .product__link{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
}
/* Description doesn't need to grow; let it stay natural */
.product-grid .product .product__desc{
  flex:none !important;
}
/* Price + Add-to-Bag always pinned to card bottom */
.product-grid .product .product__foot{
  margin-top:auto !important;
  flex-shrink:0 !important;
}

/* ============================================================
   PART J: Shop Pagination — Premium Luxury Style (2026-07-11)
   Matches Dearlrean brand: gold accents, serif numbers,
   generous spacing, subtle hover transitions.
   ============================================================ */

.shop-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  margin-top:3rem;
  padding:1.6rem 0 2rem;
  border-top:1px solid var(--line,#E7DECF);
  font-family:var(--sans,"Jost",sans-serif);
}

/* Prev / Next arrow buttons */
.shop-pagination__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid var(--line,#E7DECF);
  border-radius:4px;
  background:var(--ivory,#FAF6F0);
  color:var(--espresso,#1B1611);
  cursor:pointer;
  transition:all .25s ease;
  flex-shrink:0;
}
.shop-pagination__btn:hover:not(:disabled){
  border-color:var(--gold,#B0894F);
  color:var(--gold,#B0894F);
  box-shadow:0 2px 8px rgba(176,137,79,.15);
}
.shop-pagination__btn:disabled{
  opacity:.3;
  cursor:default;
  border-color:#eee;
}

/* Page number buttons */
.shop-pagination__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 .5rem;
  border:1px solid transparent;
  border-radius:4px;
  background:transparent;
  color:var(--muted,#8C7C6B);
  font-family:var(--serif,"Cormorant Garamond","Georgia",serif);
  font-size:1.05rem;
  font-weight:500;
  cursor:pointer;
  transition:all .25s ease;
  letter-spacing:.02em;
}
.shop-pagination__num:hover{
  color:var(--gold,#B0894F);
  background:rgba(176,137,79,.06);
}
.shop-pagination__num.is-active{
  background:var(--gold,#B0894F);
  color:#fff;
  border-color:var(--gold,#B0894F);
  box-shadow:0 2px 12px rgba(176,137,79,.25);
  pointer-events:none;
  cursor:default;
}

/* Ellipsis between page groups */
.shop-pagination__ellipsis{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  color:var(--muted,#8C7C6B);
  font-family:var(--serif,"Cormorant Garamond","Georgia",serif);
  font-size:1.1rem;
  letter-spacing:.04em;
}

/* Result count "1–24 of 85" text */
.shop-pagination__info{
  margin-left:1.2rem;
  font-size:.8rem;
  letter-spacing:.06em;
  color:var(--muted,#8C7C6B);
  white-space:nowrap;
}

/* Mobile: compact pagination */
@media(max-width:640px){
  .shop-pagination{
    gap:.25rem;
    margin-top:2rem;
    padding:1.2rem 0 1.5rem;
  }
  .shop-pagination__btn,
  .shop-pagination__num{
    width:36px;
    height:36px;
    min-width:36px;
  }
  .shop-pagination__num{
    font-size:.95rem;
  }
  .shop-pagination__info{
    margin-left:.6rem;
    font-size:.72rem;
  }
  /* Hide info on very small screens */
  @media(max-width:400px){
    .shop-pagination__info{display:none;}
  }
}

/* ==== WOOCOMMERCE COMPREHENSIVE FIX v2 (managed block) END ==== */

/* ============================================================
   PDP editorial scale and Details image gallery
   Keep the purchase view calm; make product storytelling images useful.
   ============================================================ */
.single-product .pdp {
  max-width: 1160px;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  gap: clamp(2.25rem, 4vw, 4rem);
  padding: .75rem 2.4rem 4rem;
}

/* Desktop needs a calmer transition from the breadcrumb into the purchase area. */
@media (min-width: 981px) {
  .single-product .pdp {
    padding-top: clamp(2.5rem, 2.5vw, 3.5rem);
  }
}

.single-product .pdp__gallery {
  width: min(100%, 30rem);
  justify-self: center;
}

.single-product .pdp__gallery .pdp__main {
  aspect-ratio: 1 / 1;
}

.single-product .pdp__title {
  font-size: clamp(2.25rem, 2.55vw, 3rem) !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  margin: .3rem 0 .75rem !important;
  /* Cormorant's alternate lining figures keep the same family but clarify “1”. */
  font-variant-numeric: lining-nums proportional-nums;
  font-feature-settings: "lnum" 1, "pnum" 1;
}

.product__name {
  font-variant-numeric: lining-nums proportional-nums;
  font-feature-settings: "lnum" 1, "pnum" 1;
}

.single-product .pdp__price {
  font-size: 1.5rem !important;
  margin-bottom: 1.1rem !important;
}

.single-product .pdp__desc {
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin-bottom: 1.2rem !important;
}

.single-product .pdp__notes {
  margin: .7rem 0 1.35rem !important;
}

.single-product .pdp__notes li {
  padding: .38rem 0 .38rem 1.3em !important;
  font-size: .95rem !important;
  line-height: 1.6 !important;
}

.single-product .pdp__section {
  max-width: 1160px;
  padding: 3.5rem 2.4rem 5rem;
}

.single-product .pdp__section-inner {
  max-width: 66rem;
}

.single-product .pdp__section-inner .section-title {
  margin-bottom: 2rem;
  font-size: clamp(2.2rem, 3vw, 3rem);
}

/* The product editor supplies three small images. Render them as an editorial set. */
.single-product .pdp__full-desc p:has(> img) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.9rem, 2vw, 1.5rem);
  width: 100% !important;
  max-width: 66rem !important;
  margin: 0 auto !important;
  text-align: initial !important;
}

.single-product .pdp__full-desc p:has(> img) img {
  display: block !important;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 6px;
  box-shadow: 0 12px 28px rgba(27, 22, 17, .09);
}

.single-product .pdp__full-desc p:has(> img) img:nth-of-type(3) {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

@media (max-width: 980px) {
  .single-product .pdp {
    max-width: 48rem;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1rem 1.6rem 3rem;
  }

  .single-product .pdp__gallery {
    width: min(100%, 26rem);
  }

  .single-product .pdp__info {
    max-width: 38rem;
    margin: 0 auto;
  }

  .single-product .pdp__section {
    padding: 2.75rem 1.6rem 4rem;
  }
}

@media (max-width: 640px) {
  .single-product .pdp__title {
    font-size: clamp(2rem, 9vw, 2.5rem) !important;
  }

  .single-product .pdp__full-desc p:has(> img) {
    grid-template-columns: 1fr;
  }

  .single-product .pdp__full-desc p:has(> img) img:nth-of-type(3) {
    grid-column: auto;
    aspect-ratio: auto;
  }
}
