/* Comfortrek V327 — mobile product page composition + readable type repair.
   Loaded last so legacy marketplace micro-type and grid rules cannot override it. */
@media (max-width: 700px) {
  html, body { max-width:100%; overflow-x:clip; }
  body.product-page { font-size:16px!important; line-height:1.5!important; padding-bottom:calc(84px + env(safe-area-inset-bottom))!important; }
  body.product-page .luxury-product-page { width:100%!important; max-width:100%!important; margin:0!important; padding:0 0 20px!important; overflow:clip!important; }
  body.product-page .luxury-breadcrumb { width:100%!important; max-width:none!important; padding:12px 16px 4px!important; margin:0!important; overflow:hidden!important; }
  body.product-page .luxury-breadcrumb nav { display:flex!important; flex-wrap:wrap!important; align-items:center!important; gap:3px!important; font-size:12px!important; line-height:1.45!important; overflow-wrap:anywhere!important; }
  body.product-page .luxury-product-hero {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important; align-items:start!important;
    gap:16px!important; width:100%!important; max-width:none!important; min-width:0!important;
    margin:0!important; padding:12px 14px 22px!important; box-sizing:border-box!important;
  }
  body.product-page .luxury-product-hero > div:first-child {
    position:relative!important; inset:auto!important; display:flex!important; flex-direction:column!important;
    width:100%!important; max-width:none!important; min-width:0!important; margin:0!important; padding:0!important;
    overflow:visible!important; border-radius:0!important; z-index:1!important;
  }
  body.product-page .product-badges-pdp { display:flex!important; flex-wrap:wrap!important; gap:6px!important; margin:0 0 9px!important; }
  body.product-page .product-badges-pdp .product-badge { font-size:11px!important; line-height:1.25!important; padding:5px 9px!important; }
  body.product-page .crp-gallery-meta { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:8px!important; margin:0 2px 8px!important; font-size:12px!important; }
  body.product-page .product-image-stage,
  body.product-page .luxury-product-hero .product-image-stage {
    width:100%!important; max-width:none!important; min-width:0!important; height:auto!important;
    aspect-ratio: .94 / 1!important; max-height: min(104vw, 430px)!important; margin:0!important;
    padding:12px!important; box-sizing:border-box!important; overflow:hidden!important;
    border-radius:22px!important; background:linear-gradient(145deg,#f7f5f0,#eae6dd)!important;
    border:1px solid #e5dfd3!important; box-shadow:0 12px 30px rgba(28,25,19,.06)!important;
  }
  body.product-page #main-product-image,
  body.product-page #main-product-video,
  body.product-page .product-image-stage > img,
  body.product-page .product-image-stage > video {
    display:block; width:100%!important; height:100%!important; max-width:100%!important;
    object-fit:contain!important; object-position:center!important; border-radius:12px!important;
  }
  body.product-page .thumbnail-row { display:flex!important; gap:9px!important; flex-wrap:nowrap!important; width:100%!important; max-width:100%!important; overflow-x:auto!important; padding:2px 1px 6px!important; margin-top:10px!important; scrollbar-width:thin!important; }
  body.product-page .thumbnail-btn { flex:0 0 62px!important; width:62px!important; height:62px!important; border-radius:12px!important; overflow:hidden!important; }
  body.product-page .luxury-product-info {
    display:block!important; width:100%!important; max-width:none!important; min-width:0!important; margin:0!important;
    padding:18px 16px 20px!important; border:1px solid #e9e4db!important; border-radius:22px!important;
    background:#fff!important; color:#17191c!important; box-sizing:border-box!important;
    box-shadow:0 10px 28px rgba(30,27,21,.055)!important; overflow:visible!important;
  }
  body.product-page .luxury-product-info > div:first-child { align-items:center!important; margin-bottom:8px!important; }
  body.product-page .crp-product-title { display:block!important; margin:8px 0 10px!important; font-size:clamp(24px,6.4vw,30px)!important; line-height:1.13!important; letter-spacing:-.035em!important; font-weight:750!important; overflow-wrap:anywhere!important; color:#17191c!important; }
  body.product-page .crp-rating-row { display:flex!important; flex-wrap:wrap!important; align-items:center!important; gap:6px!important; margin:0 0 14px!important; font-size:12px!important; line-height:1.4!important; }
  body.product-page .crp-rating-pill { font-size:12px!important; padding:4px 7px!important; }
  body.product-page .luxury-product-info .price,
  body.product-page .luxury-product-info #ct-live-product-price { font-size:clamp(24px,6vw,29px)!important; line-height:1.2!important; font-weight:850!important; margin:12px 0 14px!important; }
  body.product-page .luxury-product-info .price > span { font-size:13px!important; }
  body.product-page .luxury-product-info p,
  body.product-page .luxury-product-info li,
  body.product-page .luxury-product-info label { font-size:14px!important; line-height:1.55!important; }
  body.product-page .luxury-product-info .crp-add-btn,
  body.product-page .luxury-product-info .crp-buy-now-btn,
  body.product-page .luxury-product-info .add-to-cart-btn { min-height:48px!important; font-size:14px!important; font-weight:800!important; border-radius:13px!important; }
  body.product-page .luxury-product-info .ct-offers-v171 { width:100%!important; max-width:none!important; margin:18px 0!important; padding:14px!important; border-radius:18px!important; }
  body.product-page .ct-offers-v171 .ct-offers-head { align-items:flex-start!important; gap:10px!important; padding-bottom:12px!important; }
  body.product-page .ct-offers-v171 .ct-offers-kicker { font-size:10px!important; line-height:1.35!important; letter-spacing:.07em!important; padding:5px 7px!important; white-space:normal!important; }
  body.product-page .ct-offers-v171 .ct-offers-head h2 { font-size:24px!important; line-height:1.1!important; margin:8px 0 0!important; }
  body.product-page .ct-offers-v171 .ct-offers-intro { font-size:13px!important; line-height:1.5!important; margin-top:7px!important; }
  body.product-page .ct-offers-v171 .ct-offers-icon { width:34px!important; height:34px!important; flex:0 0 34px!important; }
  body.product-page .ct-best-price-v185 { display:flex!important; flex-wrap:wrap!important; gap:9px!important; padding:12px!important; border-radius:14px!important; }
  body.product-page .ct-best-price-v185 .ct-bp-badge { font-size:11px!important; }
  body.product-page .ct-best-price-v185 .ct-bp-copy span { font-size:10px!important; letter-spacing:.06em!important; }
  body.product-page .ct-best-price-v185 .ct-bp-copy strong { font-size:20px!important; line-height:1.2!important; }
  body.product-page .ct-best-price-v185 .ct-bp-copy em { display:block!important; margin:4px 0 0!important; font-size:12px!important; }
  body.product-page .ct-offer-stack-v171 { grid-template-columns:minmax(0,1fr)!important; gap:10px!important; }
  body.product-page .ct-offer-card-v171 { display:grid!important; grid-template-columns:46px minmax(0,1fr)!important; gap:10px!important; padding:12px!important; align-items:center!important; border-radius:15px!important; }
  body.product-page .ct-offer-ticket-v171 { width:46px!important; height:46px!important; flex:0 0 46px!important; border-radius:13px!important; }
  body.product-page .ct-offer-ticket-v171 span { font-size:17px!important; }
  body.product-page .ct-offer-ticket-v171 small { font-size:10px!important; letter-spacing:.04em!important; }
  body.product-page .ct-offer-copy-v171 { min-width:0!important; }
  body.product-page .ct-offer-copy-v171 .ct-offer-meta { display:flex!important; flex-wrap:wrap!important; gap:5px!important; align-items:center!important; }
  body.product-page .ct-offer-copy-v171 .ct-offer-label { font-size:13px!important; line-height:1.35!important; overflow-wrap:anywhere!important; }
  body.product-page .ct-offer-copy-v171 .ct-offer-tag { font-size:10px!important; line-height:1.2!important; }
  body.product-page .ct-offer-copy-v171 strong { font-size:15px!important; line-height:1.3!important; margin-top:5px!important; }
  body.product-page .ct-offer-copy-v171 small { font-size:12px!important; line-height:1.45!important; margin-top:4px!important; }
  body.product-page .ct-offer-apply-v171 { grid-column:2!important; justify-self:start!important; min-width:94px!important; min-height:38px!important; height:auto!important; padding:8px 12px!important; font-size:12px!important; margin-top:2px!important; }
  body.product-page .ct-offer-total-v171 { grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; gap:10px!important; padding:12px!important; }
  body.product-page .ct-offer-total-v171 span,
  body.product-page .ct-offer-total-v171 small { font-size:11px!important; line-height:1.4!important; }
  body.product-page .ct-offer-total-v171 strong { font-size:16px!important; line-height:1.25!important; }
  body.product-page .ct-offer-total-check { grid-column:1/-1!important; text-align:center!important; font-size:12px!important; }
  body.product-page .ct-coins-card-v171 { grid-template-columns:44px minmax(0,1fr)!important; gap:10px!important; padding:13px!important; border-radius:16px!important; }
  body.product-page .ct-coins-card-v171 .ct-coins-orbit { width:44px!important; height:44px!important; flex-basis:44px!important; }
  body.product-page .ct-coins-card-v171 .ct-coins-heading span { font-size:10px!important; letter-spacing:.07em!important; }
  body.product-page .ct-coins-card-v171 .ct-coins-heading b { font-size:10px!important; }
  body.product-page .ct-coins-card-v171 .ct-coins-copy strong { font-size:15px!important; line-height:1.35!important; }
  body.product-page .ct-coins-card-v171 .ct-coins-copy small { font-size:12px!important; line-height:1.45!important; }
  body.product-page .ct-coins-card-v171 > .ct-coins-action { grid-column:1/-1!important; width:100%!important; min-height:40px!important; font-size:12px!important; }
  body.product-page .ct268-pdp-decision-tools { padding:0 14px!important; margin:12px auto 22px!important; }
  body.product-page .ct268-tool-card { padding:15px!important; }
  body.product-page .ct268-tool-card h3 { font-size:17px!important; }
  body.product-page .ct268-tool-card>div>p,
  body.product-page .ct268-fit-item strong,
  body.product-page .ct268-fit-item small,
  body.product-page .ct268-dim-note { font-size:12px!important; line-height:1.45!important; }
  body.product-page .luxury-product-page > .container:not(.luxury-breadcrumb):not(.luxury-product-hero) { width:100%!important; max-width:none!important; margin:0!important; padding:16px 14px!important; box-sizing:border-box!important; }
  body.product-page .luxury-product-page > .container:not(.luxury-breadcrumb):not(.luxury-product-hero) > .tag-card { padding:16px!important; border-radius:17px!important; margin-bottom:12px!important; }
  body.product-page #sticky-add-bar { left:0!important; right:0!important; bottom:calc(60px + env(safe-area-inset-bottom))!important; width:100%!important; max-width:none!important; box-sizing:border-box!important; padding:9px 12px!important; }
  body.product-page #sticky-add-bar .sticky-add-actions { display:grid!important; grid-template-columns:1fr 1fr!important; gap:8px!important; }
  body.product-page #sticky-add-bar .sticky-pack-link { display:none!important; }
  body.product-page #sticky-add-bar button { min-height:44px!important; font-size:13px!important; }
  body.product-page .mobile-store-nav { z-index:100!important; }
  body.product-page :is(#comfortrek-support-chat,.support-chat-widget,.chat-widget,.cr-support-launcher,.support-chat-launcher) { z-index:120!important; }
}
@media (max-width:380px) {
  body.product-page .luxury-product-hero { padding-left:11px!important; padding-right:11px!important; }
  body.product-page .luxury-product-info { padding:15px 12px!important; }
  body.product-page .ct-offers-v171 { padding:11px!important; }
  body.product-page .ct-offer-card-v171 { grid-template-columns:42px minmax(0,1fr)!important; gap:8px!important; padding:10px!important; }
  body.product-page .ct-offer-ticket-v171 { width:42px!important; height:42px!important; flex-basis:42px!important; }
  body.product-page .ct-offer-copy-v171 .ct-offer-label { font-size:12px!important; }
}


/* V328: restore natural mobile scroll for the product gallery + variant rail.
   The gallery must leave the viewport with the page, never remain behind the details card. */
@media (max-width: 700px) {
  body.product-page .luxury-product-page .luxury-product-hero > div:first-child,
  body.product-page .luxury-product-hero > div:first-child {
    position: static !important;
    top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
    inset: auto !important; align-self: start !important;
    transform: none !important; translate: none !important; z-index: auto !important;
    height: auto !important; max-height: none !important; overflow: visible !important; contain: none !important;
  }
  body.product-page .luxury-product-page .luxury-product-hero > div:first-child .product-image-stage,
  body.product-page .luxury-product-page .luxury-product-hero > div:first-child .spin-viewer,
  body.product-page .luxury-product-page .luxury-product-hero > div:first-child .thumbnail-row,
  body.product-page .luxury-product-page .luxury-product-hero > div:first-child .ct-variant-selector-gallery,
  body.product-page .luxury-product-hero > div:first-child .product-image-stage,
  body.product-page .luxury-product-hero > div:first-child .spin-viewer,
  body.product-page .luxury-product-hero > div:first-child .thumbnail-row,
  body.product-page .luxury-product-hero > div:first-child .ct-variant-selector-gallery {
    position: static !important; inset: auto !important;
    transform: none !important; translate: none !important; z-index: auto !important; float: none !important;
  }
  body.product-page .luxury-product-info {
    position: relative !important; inset: auto !important; transform: none !important;
    z-index: 1 !important; margin-top: 0 !important;
  }
}


/* V329: readable English typography — stop forcing product-page copy into uppercase. */
body.product-page .luxury-product-page * {
  text-transform: none !important;
  letter-spacing: normal !important;
  word-spacing: normal;
}
body.product-page .luxury-product-page :is(h1,h2,h3,h4,p,li,a,button,small,strong,em,label,summary,input,textarea,select) {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
}
body.product-page .luxury-product-page h1,
body.product-page .luxury-product-page h2,
body.product-page .luxury-product-page h3,
body.product-page .luxury-product-page h4,
body.product-page .luxury-product-page .ct-offers-head h2,
body.product-page .luxury-product-page .ct175-hub-head h2 {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 750 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}
body.product-page .luxury-product-info h1 {
  text-transform: capitalize !important;
  font-size: clamp(25px, 6vw, 32px) !important;
  line-height: 1.16 !important;
  font-weight: 780 !important;
  overflow-wrap: anywhere;
}
body.product-page .luxury-product-page p,
body.product-page .luxury-product-page li,
body.product-page .luxury-product-page .ct-offers-intro,
body.product-page .luxury-product-page .ct-offer-copy-v171 small,
body.product-page .luxury-product-page .ct-coins-copy small,
body.product-page .luxury-product-page .ct175-tool small,
body.product-page .luxury-product-page .ct268-tool-card p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
body.product-page .luxury-product-page .hero-eyebrow,
body.product-page .luxury-product-page .ct-offers-kicker,
body.product-page .luxury-product-page .ct175-kicker,
body.product-page .luxury-product-page .ct189-kicker,
body.product-page .luxury-product-page .ct189-tool-eyebrow,
body.product-page .luxury-product-page .ct-coins-heading span,
body.product-page .luxury-product-page .ct-coins-heading b {
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 650 !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
}
body.product-page .luxury-product-page .ct-offer-copy-v171 .ct-offer-label,
body.product-page .luxury-product-page .ct-offer-copy-v171 strong,
body.product-page .luxury-product-page .ct-coins-copy strong,
body.product-page .luxury-product-page .ct175-tool b,
body.product-page .luxury-product-page .ct175-tool em {
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 1.45 !important;
}
body.product-page .luxury-product-page button,
body.product-page .luxury-product-page .btn,
body.product-page .luxury-product-page .btn-primary,
body.product-page .luxury-product-page .btn-secondary,
body.product-page .luxury-product-page .ct-offer-apply-v171 {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 650 !important;
}
body.product-page .luxury-product-page .ct-offers-head h2 { font-size: clamp(23px, 5.5vw, 30px) !important; }
body.product-page .luxury-product-page .tag-card h2 { font-size: clamp(22px, 5vw, 29px) !important; }
body.product-page .luxury-product-page .luxury-breadcrumb,
body.product-page .luxury-product-page .luxury-breadcrumb * { text-transform: none !important; }
