/* Final shared presentation layer: tokens are owned by brand.css; native WC remains authoritative. */
.caeli-site .caeli-header{position:relative;z-index:20;background:var(--caeli-canvas)}
.caeli-site .caeli-header__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.25rem;position:relative;min-height:96px}
.caeli-site .caeli-nav{grid-column:auto;padding:0}.caeli-site .caeli-nav ul{flex-direction:row;justify-content:center;gap:1.25rem;list-style:none;margin:0;padding:0}.caeli-site .caeli-nav a{white-space:nowrap}
.caeli-header-tools{display:flex;align-items:center;gap:.25rem}.caeli-site .caeli-icon-link{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:44px;min-height:44px;padding:.5rem;color:var(--caeli-ink);background:transparent;border:0;text-decoration:none}.caeli-icon-link svg{flex-shrink:0}.caeli-bag-count{font-size:.75rem}.caeli-site .caeli-menu-toggle{grid-column:2;grid-row:1;justify-self:end;padding:.5rem;min-width:44px;font-size:.75rem}.caeli-menu-toggle .caeli-menu-icon{display:none}
.caeli-search-panel[hidden]{display:none}.caeli-search-panel{position:absolute;top:100%;inset-inline:0;z-index:25;background:var(--caeli-canvas);border:1px solid var(--caeli-border);padding:1.5rem}.caeli-search-inner{display:flex;gap:1rem;max-width:50rem;margin:auto;align-items:center}.caeli-search-inner form{flex:1;min-width:0}.caeli-search-inner label{display:block;margin-bottom:.5rem}.caeli-search-fields{display:flex;gap:.5rem}.caeli-search-fields input{min-width:0;width:100%}
.caeli-site .caeli-review-banner{font-size:.8rem;padding:.65rem 1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem}.caeli-review-banner p,.caeli-review-banner form{margin:0}.caeli-review-banner button,.caeli-review-banner a{color:inherit;background:transparent;border:1px solid currentColor;padding:.5rem;min-height:44px;font-size:.8rem}
body.caeli-site .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.caeli-site .caeli-store-card__link img{aspect-ratio:3/4;object-fit:contain;transition:transform .25s ease;background:white}.caeli-store-card__link{overflow:hidden}.caeli-store-card__link:hover img,.caeli-store-card__link:focus-visible img{transform:scale(1.015)}.caeli-site .caeli-store-card .price{font-size:.875rem}.caeli-price-pending{font:400 .95rem var(--caeli-font-body);color:var(--caeli-muted)}
body.caeli-site .woocommerce-breadcrumb{font-size:.8rem;line-height:1.8;margin:0 0 2rem;color:var(--caeli-muted)}body.caeli-site .woocommerce-breadcrumb a{color:var(--caeli-ink)}
body.caeli-site .woocommerce div.product{column-gap:clamp(2rem,5vw,5rem);row-gap:2.5rem}body.caeli-site .woocommerce div.product .summary .product_title{font-size:clamp(2rem,4vw,3.5rem);line-height:1.12;margin-bottom:1.25rem}body.caeli-site .woocommerce div.product .summary .price{margin-bottom:1rem;color:var(--caeli-ink);font-size:1rem}
body.caeli-site .woocommerce div.product .woocommerce-product-gallery{margin:0}body.caeli-site .woocommerce div.product .woocommerce-product-gallery__image img{width:100%;aspect-ratio:3/4;object-fit:contain}.caeli-site .woocommerce .flex-control-thumbs li{max-width:5.5rem}.caeli-site .woocommerce .flex-control-thumbs img{aspect-ratio:1;object-fit:contain}
body.caeli-site .woocommerce div.product form.cart .variations{margin-block:1.5rem}body.caeli-site .woocommerce div.product form.cart .variations select[hidden]{display:none}.caeli-native-choices{display:flex;gap:.5rem;flex-wrap:wrap}.caeli-site .caeli-native-choices button{min-height:44px;min-width:48px;padding:.6rem .9rem;border:1px solid var(--caeli-border);background:var(--caeli-surface);color:var(--caeli-ink);font-size:.875rem}.caeli-site .caeli-native-choices button[aria-pressed=true]{border-color:var(--caeli-ink);background:var(--caeli-rose)}.caeli-site .caeli-native-choices button:disabled{color:var(--caeli-muted);text-decoration:line-through;cursor:not-allowed}.caeli-site .quantity input.qty{min-height:48px;width:5rem;border:1px solid var(--caeli-border);background:white;color:var(--caeli-ink)}
.caeli-product-details{grid-column:1/-1;max-width:60rem;width:100%;margin-inline:auto}.caeli-product-details details{border-top:1px solid var(--caeli-border);padding:0}.caeli-product-details details:last-child{border-bottom:1px solid var(--caeli-border)}.caeli-product-details summary{cursor:pointer;min-height:56px;padding:1.1rem 0;font-size:1rem}.caeli-details-copy{max-width:44rem;padding:0 0 1.5rem}.caeli-native-review-label{font-size:.8rem;max-width:60rem;margin:0 auto 1.5rem;color:var(--caeli-muted)}
.caeli-site .woocommerce-error,.caeli-site .woocommerce-info,.caeli-site .woocommerce-message{border:1px solid var(--caeli-border);border-top:2px solid var(--caeli-ink);background:var(--caeli-canvas);color:var(--caeli-ink);box-shadow:none}.caeli-site .woocommerce-error:before{color:var(--caeli-ink)}
.caeli-review-hub ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.caeli-review-hub li{border-top:1px solid var(--caeli-border);padding:1rem 0}.caeli-review-hub a{display:block;min-height:44px;padding:.5rem 0}.caeli-review-hub small{display:block;color:var(--caeli-muted)}
.caeli-native-capture .wc-block-cart,.caeli-native-capture .wc-block-checkout{margin:0}.caeli-native-capture button,.caeli-native-capture input,.caeli-native-capture select{cursor:default}.caeli-native-capture input:disabled{opacity:1;color:var(--caeli-ink)}.caeli-site .wc-block-components-product-name{font-family:var(--caeli-font-heading);font-size:1.15rem;color:var(--caeli-ink)}.caeli-site .wc-block-components-totals-wrapper,.caeli-site .wc-block-cart-item__wrap{border-color:var(--caeli-border)}
@media(max-width:48rem){.caeli-site .caeli-header__inner{grid-template-columns:minmax(60px,1fr) auto auto;gap:.35rem;min-height:80px}.caeli-site .caeli-logo{width:5.25rem}.caeli-header-tools{grid-column:3;grid-row:1;gap:0}.caeli-site .caeli-icon-link{min-width:40px;padding:.4rem}.caeli-site .caeli-bag-link{min-width:44px}.caeli-site .caeli-nav{grid-column:1/-1;grid-row:2;padding-bottom:.75rem}.caeli-site .caeli-nav ul{flex-direction:column;gap:0}.caeli-site .caeli-nav[hidden]{display:none}.caeli-search-panel{padding:1rem}.caeli-search-fields{gap:.4rem}.caeli-search-fields button{padding:.65rem}.caeli-search-inner{gap:.25rem}body.caeli-site .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.caeli-review-hub ul{grid-template-columns:minmax(0,1fr)}.caeli-product-details{margin-block:1rem}}
@media(max-width:22rem){body.caeli-site .woocommerce ul.products{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.caeli-site .caeli-store-card__link img{transition:none}}

.caeli-site .caeli-review-banner{background:var(--caeli-rose);color:var(--caeli-ink);gap:.25rem .75rem}.caeli-review-banner p{flex:1;min-width:8rem;font-size:.75rem}.caeli-review-banner a,.caeli-review-banner button{border:0;text-decoration:underline}

/* Read-only native captures have no React resize handler; responsive styling stays scoped to captures. */
.caeli-native-capture{container-type:inline-size}
@media(max-width:48rem){.caeli-native-capture .wc-block-components-sidebar-layout{display:block}.caeli-native-capture .wc-block-components-sidebar,.caeli-native-capture .wc-block-components-main{width:100%;max-width:100%}.caeli-native-capture table.wc-block-cart-items,.caeli-native-capture table.wc-block-cart-items tbody{display:block;width:100%}.caeli-native-capture table.wc-block-cart-items thead{display:none}.caeli-native-capture table.wc-block-cart-items tr.wc-block-cart-items__row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1rem;border-bottom:1px solid var(--caeli-border);padding-block:1rem}.caeli-native-capture table.wc-block-cart-items td{width:auto;padding:0}.caeli-native-capture table.wc-block-cart-items .wc-block-cart-item__total{display:none}.caeli-native-capture .wc-block-cart-item__wrap{min-width:0}}

@media(max-width:48rem){.caeli-site .caeli-header__inner{grid-template-columns:minmax(40px,1fr) auto auto;gap:4px}.caeli-site .caeli-icon-link{padding:6px}.caeli-site .caeli-menu-toggle{padding:6px}.caeli-native-capture .wc-block-components-radio-control__label-group,.caeli-native-capture .wc-block-components-order-summary-item__description{min-width:0;overflow-wrap:anywhere}.caeli-native-capture .wc-block-formatted-money-amount,.caeli-native-capture .wc-block-components-totals-item__value,.caeli-native-capture .wc-block-components-order-summary-item__total-price{white-space:normal;min-width:0;overflow-wrap:anywhere}.caeli-native-capture .wc-block-components-totals-item__value{max-width:45%}}

@media(max-width:48rem){.caeli-site .caeli-button{max-width:100%;gap:.5rem;padding:.75rem 1rem;white-space:normal}.caeli-site .caeli-section-heading{flex-wrap:wrap}.caeli-site .caeli-section-heading>*{min-width:0;max-width:100%}.caeli-native-capture .wc-block-cart-item__quantity{display:flex;flex-wrap:wrap;gap:.5rem;width:100%;min-width:0}.caeli-native-capture .wc-block-components-quantity-selector{max-width:100%;width:140px;min-width:0}.caeli-native-capture .wc-block-components-quantity-selector button{width:40px;min-width:36px;min-height:44px;padding:0}.caeli-native-capture .wc-block-components-quantity-selector input{min-width:0;flex:1;width:3ch}.caeli-native-capture .wc-block-cart-item__remove-link{margin:0;min-width:44px;min-height:44px;flex:0 0 44px}}

/* Sizing & Fit Section Before Explore the Collection (CAELI-CRO-014B Full-Width Responsive) */
body.caeli-site .woocommerce div.product > #caeli-product-size-guide-section,
body.caeli-site .woocommerce div.product > .caeli-product-fit-section,
#caeli-product-size-guide-section,
.caeli-product-fit-section {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
  border-top: 1px solid var(--caeli-border, #d8ccc9);
  margin-top: clamp(2rem, 4vw, 3.5rem);
}
.caeli-fit-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  flex-wrap: wrap;
}
.caeli-fit-header__titles {
  max-width: 38rem;
}
.caeli-fit-header__action {
  flex-shrink: 0;
}
.caeli-fit-header h2 {
  font-family: var(--caeli-serif, 'Playfair Display', serif);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 400;
  color: var(--caeli-ink, #251e20);
  margin: 0.25rem 0 0.5rem;
  line-height: 1.2;
}
.caeli-fit-subheading {
  font-size: 0.95rem;
  color: #544c49;
  line-height: 1.5;
  margin: 0;
}
.caeli-fit-layout {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
  width: 100%;
}
.caeli-fit-image-card {
  background: #fff;
  border: 1px solid var(--caeli-border, #d8ccc9);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.caeli-fit-figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.caeli-fit-img-link,
.caeli-size-dialog__zoom-link {
  display: block;
  cursor: zoom-in;
  transition: opacity 0.2s ease;
}
.caeli-fit-img-link:hover,
.caeli-size-dialog__zoom-link:hover {
  opacity: 0.92;
}
.caeli-fit-img-link:focus-visible,
.caeli-size-dialog__zoom-link:focus-visible {
  outline: 2px solid var(--caeli-ink, #251e20);
  outline-offset: 3px;
}
.caeli-fit-img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: contain;
  background: #faf7f6;
  border: 1px solid rgba(27, 23, 24, 0.05);
  display: block;
}
.caeli-fit-modal-trigger {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.caeli-fit-measurements-card {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
  container-type: inline-size;
}

/* Full-Width Measurement Table (Desktop & Tablet) */
.caeli-fit-table-wrap {
  width: 100%;
  overflow-x: visible; /* No internal horizontal scrollbar */
}
.caeli-measurements-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  line-height: 1.5;
  background: #fff;
  border: 1px solid var(--caeli-border, #d8ccc9);
  table-layout: auto;
}
.caeli-measurements-table th,
.caeli-measurements-table td {
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid #e8dedb;
  text-align: left;
  vertical-align: middle;
}
.caeli-measurements-table thead th {
  background: var(--caeli-rose, #ecddda);
  color: var(--caeli-ink, #251e20);
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}
.caeli-measurements-table th.caeli-col-label {
  width: 38%;
}
.caeli-measurements-table th.caeli-col-size,
.caeli-measurements-table td.caeli-cell-value {
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.caeli-measurements-table tbody th {
  font-weight: 500;
  color: var(--caeli-ink, #251e20);
  white-space: nowrap;
}
.caeli-measurements-table tbody td {
  color: #383133;
  font-weight: 500;
}
.caeli-measurements-table tbody tr:last-child th,
.caeli-measurements-table tbody tr:last-child td {
  border-bottom: 0;
}
.caeli-measurements-table tbody tr:hover {
  background: #faf7f6;
}

/* Vertically Stacked Size Cards (Mobile Format) */
.caeli-fit-cards-wrap {
  display: none; /* Hidden on wide desktop */
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
.caeli-size-card {
  background: #fff;
  border: 1px solid var(--caeli-border, #d8ccc9);
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(27, 23, 24, 0.04);
}
.caeli-size-card__header {
  background: var(--caeli-rose, #ecddda);
  padding: 0.75rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(27, 23, 24, 0.08);
}
.caeli-size-card__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--caeli-ink, #251e20);
  font-family: inherit;
}
.caeli-size-card__unit {
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6a6163;
  font-weight: 500;
}
.caeli-size-card__list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.caeli-size-card__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid #f2e9e8;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.caeli-size-card__row:last-child {
  border-bottom: 0;
}
.caeli-size-card__row:nth-child(even) {
  background: #fdfbfb;
}
.caeli-size-card__label {
  margin: 0;
  font-size: 0.875rem;
  color: var(--caeli-ink, #251e20);
  font-weight: 400;
  line-height: 1.4;
}
.caeli-size-card__val {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--caeli-ink, #251e20);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  text-align: right;
  flex-shrink: 0;
}

.caeli-sizing-disclaimer {
  font-size: 0.8125rem;
  color: #6a6163;
  line-height: 1.5;
  margin: 0;
}
.caeli-all-guides-link {
  font-size: 0.85rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 0.25rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Medium Screens (< 1200px): Stack Image Above Full-Width Table */
@media (max-width: 74.99rem) {
  .caeli-fit-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
  .caeli-fit-image-card {
    max-width: 32rem;
    margin: 0 auto;
    width: 100%;
  }
}

/* Narrow Screens (< 768px): Vertically Stacked Size Cards */
@media (max-width: 47.99rem) {
  .caeli-fit-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .caeli-fit-modal-trigger {
    width: 100%;
  }
  .caeli-fit-table-wrap {
    display: none; /* Hide horizontal table */
  }
  .caeli-fit-cards-wrap {
    display: flex; /* Show vertically stacked size cards */
  }
  .caeli-fit-image-card {
    max-width: 100%;
    padding: 0.875rem;
  }
}

/* Container Query: When container cannot fit wide table (narrow spaces or 200% text zoom), switch to stacked cards */
@container (max-width: 28rem) {
  .caeli-fit-table-wrap {
    display: none !important;
  }
  .caeli-fit-cards-wrap {
    display: flex !important;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
  }
}

/* Size Guide Trigger Beside Variant Size Selector */
.caeli-size-selector-guide-wrap {
  margin-block: 0.5rem 1rem;
  display: flex;
  align-items: center;
}
.caeli-size-guide-trigger-btn {
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--caeli-ink, #251e20);
  font-size: 0.85rem;
  font-family: inherit;
  letter-spacing: 0.03em;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
}
.caeli-size-guide-trigger-btn:hover,
.caeli-size-guide-trigger-btn:focus-visible {
  color: #7b2c3a;
  outline: 2px solid var(--caeli-ink, #251e20);
  outline-offset: 2px;
}

/* Size Guide Modal Dialog (CAELI-CRO-014B Full-Width Responsive) */
dialog.caeli-size-dialog {
  padding: 0;
  border: 1px solid var(--caeli-border, #d8ccc9);
  background: var(--caeli-canvas, #fffaf9);
  color: var(--caeli-ink, #251e20);
  max-width: 58rem;
  width: calc(100% - 2rem);
  max-height: calc(100vh - 4rem);
  box-shadow: 0 20px 40px rgba(27, 23, 24, 0.15);
  border-radius: 2px;
  margin: auto;
  overflow: hidden;
}
dialog.caeli-size-dialog::backdrop {
  background: rgba(27, 23, 24, 0.5);
  backdrop-filter: blur(2px);
}
.caeli-size-dialog__inner {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  overflow-x: hidden;
}
.caeli-size-dialog__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.5rem clamp(1.25rem, 3vw, 2rem);
  border-bottom: 1px solid var(--caeli-border, #d8ccc9);
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 2;
}
.caeli-size-dialog__header h2 {
  font-family: var(--caeli-serif, 'Playfair Display', serif);
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  font-weight: 400;
  margin: 0.25rem 0 0;
  line-height: 1.2;
}
.caeli-size-dialog__body {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
}
.caeli-size-dialog__image-col {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.caeli-size-dialog__img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: contain;
  background: #faf7f6;
  border: 1px solid rgba(27, 23, 24, 0.08);
  display: block;
}
.caeli-size-dialog__table-col {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
  container-type: inline-size;
}
.caeli-size-dialog__footer-link {
  margin-top: 0.5rem;
}
.caeli-dialog-close {
  background: transparent;
  border: 0;
  cursor: pointer;
  color: var(--caeli-ink, #251e20);
  padding: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border-radius: 50%;
  transition: background 0.2s ease;
}
.caeli-dialog-close:hover,
.caeli-dialog-close:focus-visible {
  background: var(--caeli-rose, #ecddda);
  outline: 2px solid var(--caeli-ink, #251e20);
  outline-offset: 2px;
}

@media (max-width: 59.99rem) { /* < 960px: stack image above table inside dialog */
  .caeli-size-dialog__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }
  .caeli-size-dialog__image-col {
    max-width: 28rem;
    margin: 0 auto;
    width: 100%;
  }
}

@media (max-width: 47.99rem) { /* < 768px */
  dialog.caeli-size-dialog {
    width: calc(100% - 1rem);
    max-height: calc(100vh - 2rem);
  }
  .caeli-size-dialog__inner {
    max-height: calc(100vh - 2rem);
  }
  .caeli-size-dialog__image-col {
    max-width: 100%;
  }
}

