/*
 * Le Chalet Sérénité – WooCommerce product page responsive design.
 * Version 1.10.1. Loaded AFTER the historical main.css for predictable cascade.
 * Scoped to .lcb-woo-page so the home, custom boutique and checkout stay unchanged.
 */

/* Constrain the ENTIRE product view, not only the image and summary. */
.lcb-woo-page {
  width: 100%;
  min-width: 0;
  padding-block: clamp(28px, 4vw, 54px) clamp(64px, 7vw, 104px);
  background: var(--paper, #fffdfa);
}
.lcb-woo-page > .lcb-woo-page__inner {
  box-sizing: border-box;
  width: min(1180px, calc(100% - 64px));
  max-width: 1180px;
  margin-inline: auto;
  min-width: 0;
}
.lcb-woo-page .breadcrumbs {margin-bottom:clamp(20px,3vw,32px)}
.lcb-woo-page div.product,
.lcb-woo-page div.product .summary,
.lcb-woo-page div.product .images,
.lcb-woo-page div.product .woocommerce-tabs,
.lcb-woo-page div.product .related,
.lcb-woo-page div.product .upsells {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
.lcb-woo-page img,
.lcb-woo-page iframe,
.lcb-woo-page video {max-width:100%;height:auto}
.lcb-woo-page div.product {width:100%;margin-inline:auto}
.lcb-woo-page div.product .images {max-width:100%}
.lcb-woo-page div.product div.summary {padding-left:clamp(24px,3.5vw,42px)}
.lcb-woo-page div.product .product_title {
  max-width:100%;
  margin:0 0 18px;
  font-size:clamp(2rem,3.8vw,3.35rem);
  line-height:1.09;
  overflow-wrap:break-word;
}
.lcb-woo-page div.product .summary p,
.lcb-woo-page div.product .summary label,
.lcb-woo-page div.product .product_meta {overflow-wrap:break-word}
.lcb-woo-page div.product .woocommerce-product-gallery__wrapper,
.lcb-woo-page div.product .woocommerce-product-gallery__image {max-width:100%}
.lcb-woo-page div.product .woocommerce-product-gallery__image img {
  display:block;
  max-height:520px;
  width:100%;
  object-fit:contain;
  object-position:center;
  border-radius:18px;
}
.lcb-woo-page div.product .flex-control-thumbs {margin-top:12px}
.lcb-woo-page div.product .flex-control-thumbs li img {border-radius:10px}

/* Description is no longer full-bleed; balanced editorial typography. */
.lcb-woo-page div.product .woocommerce-tabs {
  clear:both;
  width:100%;
  margin-top:clamp(44px,6vw,76px);
}
.lcb-woo-page div.product .woocommerce-tabs ul.tabs {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  padding:0;
  margin:0 0 22px;
  border-bottom:1px solid var(--line, #e5dcda);
}
.lcb-woo-page div.product .woocommerce-tabs ul.tabs:before,
.lcb-woo-page div.product .woocommerce-tabs ul.tabs li:before,
.lcb-woo-page div.product .woocommerce-tabs ul.tabs li:after {display:none}
.lcb-woo-page div.product .woocommerce-tabs ul.tabs li {
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.lcb-woo-page div.product .woocommerce-tabs ul.tabs li a {
  padding:13px 12px;
  color:var(--ink, #4b4145);
  font-size:.9rem;
  font-weight:700;
}
.lcb-woo-page div.product .woocommerce-tabs .panel {
  max-width:100%;
  margin:0 0 clamp(44px,5vw,70px);
  padding:0;
  color:var(--ink, #4b4145);
  font-size:1rem;
  line-height:1.75;
  overflow-wrap:break-word;
}
.lcb-woo-page div.product .woocommerce-tabs .panel > * {max-width:100%}
.lcb-woo-page div.product .woocommerce-tabs .panel h2,
.lcb-woo-page div.product .woocommerce-tabs .panel h3 {
  font-size:clamp(1.35rem,2.4vw,1.95rem);
  line-height:1.2;
  margin-top:26px;
  margin-bottom:17px;
}
.lcb-woo-page div.product .woocommerce-tabs .panel p {margin-bottom:1.25em}
.lcb-woo-page div.product .woocommerce-tabs .panel ul,
.lcb-woo-page div.product .woocommerce-tabs .panel ol {
  padding-left:clamp(20px,3vw,30px);
  margin:12px 0 24px;
}
.lcb-woo-page div.product .woocommerce-tabs .panel li {padding-left:2px;margin-bottom:7px}

/* Recommendations: compact cards, consistent thumbnails, no horizontal overflow. */
.lcb-woo-page div.product .related,
.lcb-woo-page div.product .upsells {
  clear:both;
  width:100%;
  padding-top:clamp(12px,2vw,24px);
  border-top:1px solid var(--line, #e5dcda);
}
.lcb-woo-page div.product .related > h2,
.lcb-woo-page div.product .upsells > h2 {
  margin:0 0 24px;
  font-size:clamp(1.7rem,3vw,2.6rem);
  line-height:1.15;
}
.lcb-woo-page div.product .related ul.products,
.lcb-woo-page div.product .upsells ul.products {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  width:100%;
  margin:0;
  padding:0;
}
.lcb-woo-page div.product .related ul.products:before,
.lcb-woo-page div.product .related ul.products:after,
.lcb-woo-page div.product .upsells ul.products:before,
.lcb-woo-page div.product .upsells ul.products:after {display:none}
.lcb-woo-page div.product .related ul.products li.product,
.lcb-woo-page div.product .upsells ul.products li.product {
  min-width:0;
  width:auto!important;
  float:none!important;
  margin:0!important;
  border-radius:18px;
  overflow:hidden;
}
.lcb-woo-page div.product .related ul.products li.product a img,
.lcb-woo-page div.product .upsells ul.products li.product a img {
  display:block;
  width:100%;
  max-height:none;
  height:auto;
  aspect-ratio:1.3/1;
  object-fit:cover;
  margin:0;
}
.lcb-woo-page div.product .related .woocommerce-loop-product__title,
.lcb-woo-page div.product .upsells .woocommerce-loop-product__title {
  font-size:clamp(1.04rem,1.6vw,1.28rem);
  line-height:1.23;
  padding:17px 17px 5px;
  overflow-wrap:break-word;
}
.lcb-woo-page div.product .related ul.products li.product .price,
.lcb-woo-page div.product .upsells ul.products li.product .price {padding:0 17px;font-size:.95rem}
.lcb-woo-page div.product .related ul.products li.product .button,
.lcb-woo-page div.product .upsells ul.products li.product .button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  margin:12px 17px 18px;
  padding:12px 16px;
  font-size:.68rem;
  text-align:center;
  white-space:normal;
  line-height:1.3;
}

@media (max-width: 980px) {
  .lcb-woo-page > .lcb-woo-page__inner {width:calc(100% - 44px)}
  .lcb-woo-page div.product div.summary {padding-left:26px}
  .lcb-woo-page div.product .related ul.products,
  .lcb-woo-page div.product .upsells ul.products {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 760px) {
  .lcb-woo-page {padding-block:26px 70px}
  .lcb-woo-page > .lcb-woo-page__inner {width:calc(100% - 36px)}
  .lcb-woo-page div.product div.images,
  .lcb-woo-page div.product div.summary {
    width:100%!important;
    max-width:100%;
    float:none!important;
    padding:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .lcb-woo-page div.product div.images {max-width:560px;margin:0 auto 28px!important}
  .lcb-woo-page div.product div.summary {margin-bottom:32px!important}
  .lcb-woo-page div.product .product_title {font-size:clamp(2rem,7vw,2.8rem)}
  .lcb-woo-page div.product .woocommerce-tabs {margin-top:32px}
  .lcb-woo-page div.product .woocommerce-product-gallery__image img {max-height:440px}
}
@media (max-width: 540px) {
  .lcb-woo-page > .lcb-woo-page__inner {width:calc(100% - 32px)}
  .lcb-woo-page div.product .woocommerce-tabs .panel {font-size:.95rem;line-height:1.72}
  .lcb-woo-page div.product .woocommerce-tabs .panel h2 {font-size:1.5rem}
  .lcb-woo-page div.product .related > h2,
  .lcb-woo-page div.product .upsells > h2 {font-size:clamp(1.6rem,7vw,2.1rem)}
  .lcb-woo-page div.product .related ul.products,
  .lcb-woo-page div.product .upsells ul.products {gap:12px}
  .lcb-woo-page div.product .related .woocommerce-loop-product__title,
  .lcb-woo-page div.product .upsells .woocommerce-loop-product__title {padding:13px 11px 4px;font-size:.96rem}
  .lcb-woo-page div.product .related ul.products li.product .price,
  .lcb-woo-page div.product .upsells ul.products li.product .price {padding:0 11px;font-size:.88rem}
  .lcb-woo-page div.product .related ul.products li.product .button,
  .lcb-woo-page div.product .upsells ul.products li.product .button {
    display:flex;
    min-height:44px;
    margin:10px 11px 13px;
    padding:10px 8px;
    width:calc(100% - 22px);
    font-size:.65rem;
  }
}
@media (max-width: 365px) {
  .lcb-woo-page > .lcb-woo-page__inner {width:calc(100% - 28px)}
  .lcb-woo-page div.product .related ul.products,
  .lcb-woo-page div.product .upsells ul.products {grid-template-columns:1fr;max-width:330px;margin-inline:auto}
}
