/* Public commerce and customer pages share the same spacing and type scale. */
.boutique-preview .storefront,.boutique-preview .product-detail,.boutique-preview .cart-region,.boutique-preview .checkout-shell {
  width:min(calc(100% - 2 * var(--editorial-gutter)),var(--content-width));
  margin-inline:auto;
  padding-block:40px 64px
}
.boutique-preview .storefront-heading {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:12px 32px;
  max-width:none;
  margin-bottom:28px;
  padding-bottom:24px;
  border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)
}
.boutique-preview .eyebrow {
  font:500 12px var(--boutique-body);
  letter-spacing:.1em;
  text-transform:uppercase
}
.boutique-preview .storefront-heading .eyebrow {
  grid-column:1/-1;
  margin:0
}
.boutique-preview .storefront-heading h1,.boutique-preview :is(.cart-region,.checkout-shell,.auth-shell,.address-editor)>h1,.boutique-preview .container>h1 {
  font:400 clamp(32px,4vw,52px)/1.15 var(--boutique-display);
  letter-spacing:-.025em;
  margin:0 0 24px;
  overflow-wrap:anywhere
}
.boutique-preview .storefront-heading h1 {
  margin:0
}
.boutique-preview .storefront-heading>p:last-child {
  max-width:32ch;
  font-size:14px;
  margin:0
}
.boutique-preview .listing-layout {
  display:block;
  position:relative
}
.listing-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent);
  padding-bottom:12px;
  margin-bottom:16px
}
.listing-toolbar h2 {
  font:500 13px var(--boutique-body);
  margin:0
}
.listing-sort {
  display:flex;
  align-items:center;
  gap:8px;
  margin-inline-start:auto
}
.listing-sort select {
  width:160px;
  font-size:14px;
  min-height:44px
}
.boutique-preview .listing-sort button {
  padding:8px 12px;
  font-size:13px
}
.listing-filter-panel>summary {
  position:absolute;
  top:0;
  inset-inline-end:250px;
  min-height:44px;
  display:flex;
  align-items:center;
  cursor:pointer;
  font-size:14px;
  text-decoration:underline;
  text-underline-offset:4px
}
.boutique-preview .listing-filters {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px 24px;
  position:static;
  background:transparent;
  border:0;
  border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent);
  border-radius:0;
  padding:8px 0 24px;
  margin-bottom:24px;
  align-items:end
}
.boutique-preview .listing-filters legend,.boutique-preview .listing-filters label {
  font:500 14px var(--boutique-body)
}
.boutique-preview .listing-filters input,.boutique-preview .listing-filters select {
  width:100%;
  font-size:16px;
  background:var(--color-background)
}
.boutique-preview .listing-filters button {
  width:auto;
  margin:0;
  align-self:end
}
.listing-filters .form-errors {
  grid-column:1/-1
}
.listing-chips {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-block:0 20px
}
.listing-chips a {
  font-size:13px;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:6px 12px;
  border:1px solid color-mix(in srgb,currentColor 20%,transparent);
  border-radius:24px;
  text-decoration:none
}
.boutique-preview .listing-status {
  font-size:13px;
  min-height:20px
}
.boutique-preview .product-grid:not(.product-grid--rail) {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px 24px
}
.boutique-preview .product-grid:not(.product-grid--rail) .product-card {
  height:100%;
}
.boutique-preview .product-grid:not(.product-grid--rail) .product-card__link {
  display:flex;
  flex-direction:column;
  height:100%;
}
.boutique-preview .product-grid:not(.product-grid--rail) .product-card__copy {
  flex:1;
}
.boutique-preview .product-grid:not(.product-grid--rail) .product-card__price {
  margin-block-start:auto;
}
.boutique-preview .product-grid--count-1:not(.product-grid--rail) {
  grid-template-columns:minmax(0,280px)
}
.boutique-preview .product-grid:not(.product-grid--rail) .product-card__image {
  aspect-ratio:4/5
}
.boutique-preview .product-grid:not(.product-grid--rail) .product-card__image .cms-editorial__media {
  width:100%;
  height:100%;
  aspect-ratio:var(--crop-ratio,4/5)
}
.boutique-preview .empty-state {
  grid-column:1/-1;
  padding:40px 24px;
  background:transparent;
  border:1px solid color-mix(in srgb,currentColor 20%,transparent);
  border-radius:var(--card-radius)
}
.boutique-preview .empty-state h3 {
  font:400 28px/1.2 var(--boutique-display);
  margin:0 0 12px
}
.boutique-preview .empty-state p {
  font-size:14px;
  margin:0;
  max-width:55ch
}
.boutique-preview .listing-pagination {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin-block:32px;
  font-size:14px
}
.boutique-preview .product-detail__navigation {
  font-size:13px;
  border-color:color-mix(in srgb,currentColor 18%,transparent);
  margin-bottom:24px;
  padding-bottom:12px
}
.boutique-preview .product-detail__layout {
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:clamp(32px,6vw,80px);
  align-items:start
}
.boutique-preview .product-gallery {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 12px;
  align-items:center;
}
.boutique-preview .product-gallery__stage {
  grid-column:1/-1;
  background:var(--color-surface);
  border-radius:var(--card-radius);
  overflow:hidden;
}
.boutique-preview .product-gallery__stage .cms-editorial__media {
  aspect-ratio:var(--crop-ratio,4/5);
}
.boutique-preview .product-gallery__thumbnails {
  grid-column:1;
  grid-row:2;
  min-width:0;
  padding:0;
  gap:8px;
  margin:0;
}
.boutique-preview .product-gallery__thumbnails a {
  flex:0 0 56px;
  padding:2px;
  border:1px solid color-mix(in srgb,currentColor 22%,transparent);
  border-radius:0;
}
.boutique-preview .product-gallery__thumbnails a[aria-current] {
  border-color:var(--color-primary);
}
.boutique-preview .product-gallery__controls {
  grid-column:2;
  grid-row:2;
  display:flex;
  gap:4px;
  margin:0;
}
.boutique-preview .product-gallery__controls[hidden] {
  display:none;
}
.boutique-preview .product-gallery__controls button {
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  background:transparent;
  color:var(--color-text);
  border:1px solid color-mix(in srgb,currentColor 22%,transparent);
  border-radius:50%;
  font-size:20px;
}
.boutique-preview .product-gallery [data-gallery-status] {
  grid-column:1/-1;
  margin:0;
  font-size:12px;
  letter-spacing:0;
}
.boutique-preview .product-gallery [data-gallery-status]:empty {
  display:none;
}
.boutique-preview .product-detail__information {
  position:sticky;
  top:24px;
  padding:12px 0
}
.boutique-preview .product-detail__information h1 {
  font:400 clamp(28px,3vw,42px)/1.18 var(--boutique-display);
  letter-spacing:-.02em;
  max-width:22ch;
  margin:12px 0 24px
}
.boutique-preview .product-detail__price {
  font:600 20px var(--boutique-body);
  margin:16px 0
}
.boutique-preview .product-detail__stock,.boutique-preview .product-description {
  font-size:15px;
  line-height:1.65
}
.boutique-preview #product-selection,.boutique-preview .product-choice {
  min-height:0
}
.boutique-preview .product-choice {
  border:0;
  border-block:1px solid color-mix(in srgb,currentColor 22%,transparent);
  padding:20px 0;
  border-radius:0
}
.boutique-preview .product-choice__heading {
  font:500 14px var(--boutique-body);
  margin:0 0 16px
}
.boutique-preview .product-choice__facts {
  font-size:14px;
  gap:8px;
  margin-block:16px
}
.boutique-preview .product-choice :is(button,select,input) {
  min-height:44px
}
.boutique-preview .product-choice select {
  font-size:16px
}
.boutique-preview .product-detail .cart-region {
  width:100%;
  padding:16px 0 0;
  min-height:0
}
.boutique-preview .product-detail .cart-region form {
  display:flex;
  align-items:end;
  gap:12px;
  margin:0
}
.boutique-preview .product-detail .cart-region button {
  flex:1
}
.boutique-preview .product-description {
  padding-top:8px;
  margin-top:24px
}
.boutique-preview .product-choice>.htmx-indicator {
  display:none
}
.boutique-preview #product-selection.htmx-request .product-choice>.htmx-indicator {
  display:block
}
.boutique-preview .product-detail .cart-region:has(>.cart-network-error:only-child) {
  display:none
}
.boutique-preview .product-gallery__image--contain .cms-editorial__media {
  aspect-ratio:1/1;
  background:var(--boutique-background)
}
.boutique-preview .product-gallery__image--contain .cms-editorial__media img {
  object-fit:contain;
  object-position:center;
  transform:none;
  width:100%;
  height:100%;
  inset:0
}
.boutique-preview .cart-layout,.boutique-preview .checkout-layout {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);
  gap:28px;
  align-items:start
}
.boutique-preview .cart-line {
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:24px;
  padding-block:12px 24px;
  border-color:color-mix(in srgb,currentColor 18%,transparent)
}
.boutique-preview .cart-line__image .cms-editorial__media {
  aspect-ratio:1
}
.boutique-preview .cart-line h2 {
  font:500 19px var(--boutique-display);
  margin:0 0 8px
}
.boutique-preview .cart-line__details>p {
  font-size:14px;
  margin-block:8px
}
.boutique-preview .cart-line__form {
  grid-column:2;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:8px;
  align-items:center;
  justify-content:start;
  margin-top:12px;
}
.boutique-preview .cart-line__form>label {
  grid-column:1/-1;
  margin:0;
}
.boutique-preview .cart-line__form .cart-line__remove {
  background:transparent;
  color:var(--color-text);
  border:0;
  text-decoration:underline;
  text-underline-offset:4px;
  padding:8px;
}
.boutique-preview .cart-line__pending {
  display:none;
  grid-column:1/-1;
  font-size:13px;
}
.boutique-preview .cart-line__form.htmx-request .cart-line__pending {
  display:block;
}
.boutique-preview .cart-region {
  padding-block:28px 28px;
}
.boutique-preview .cart-region>p[role=status] {
  margin-block:12px 8px;
}
.boutique-preview .cart-region .htmx-indicator {
  display:none;
}
.boutique-preview .cart-region form.htmx-request .htmx-indicator {
  display:block;
}
.boutique-preview .cart-layout:has([data-cart-empty]) {
  grid-template-columns:1fr;
}
.boutique-preview .cart-layout .cart-summary {
  margin:0;
  top:auto;
}
.boutique-preview .cart-summary__amounts {
  margin:0 0 20px;
}
.boutique-preview .cart-summary__amounts>div {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
}
.boutique-preview .cart-summary__amounts dt {
  font-size:14px;
}
.boutique-preview .cart-summary__amounts dd {
  margin:0;
  white-space:nowrap;
}
.boutique-preview .cart-summary .cart-checkout {
  display:flex;
  width:100%;
  min-height:48px;
  font-size:15px;
  margin-bottom:16px;
}
.boutique-preview .cart-summary p {
  margin-block:12px 0;
  font-size:13px;
}
.boutique-preview .product-editorial .cms-section {
  margin-block:28px;
}
.boutique-preview .product-editorial .cms-faq {
  align-items:start;
  gap:20px;
}
.boutique-preview .product-editorial .cms-faq h2 {
  font-size:26px;
  margin-bottom:12px;
}
.boutique-preview .product-editorial .cms-faq details {
  padding-block:8px;
}
.boutique-preview .product-editorial .cms-faq p {
  margin-block:8px 0;
}
.boutique-preview .cart-line__form label {
  font-size:13px
}
.boutique-preview .cart-line__form input {
  width:72px
}
.boutique-preview .cart-line__form button {
  font-size:13px;
  padding:8px 12px
}
.boutique-preview .cart-summary,.boutique-preview .checkout-summary {
  position:static;
  padding:28px;
  background:var(--color-surface);
  border:1px solid color-mix(in srgb,currentColor 16%,transparent);
  border-radius:var(--card-radius)
}
.boutique-preview :is(.cart-summary,.checkout-summary) h2 {
  font:400 26px var(--boutique-display);
  margin:0 0 20px
}
.boutique-preview :is(.cart-summary,.checkout-summary) p {
  font-size:14px;
  line-height:1.6
}
.boutique-preview .checkout-layout>section:first-child {
  padding:28px;
  border:1px solid color-mix(in srgb,currentColor 18%,transparent)
}
.boutique-preview .checkout-layout h2 {
  font:400 28px var(--boutique-display)
}
.boutique-preview .checkout-layout legend {
  font:500 17px var(--boutique-body)
}
.boutique-preview .checkout-layout fieldset {
  padding:20px;
  border:1px solid color-mix(in srgb,currentColor 20%,transparent)
}
.boutique-preview .checkout-item {
  grid-template-columns:72px minmax(0,1fr);
  gap:16px;
  padding-block:16px
}
.boutique-preview .checkout-item__image .cms-editorial__media {
  aspect-ratio:1
}
.boutique-preview .checkout-item h3 {
  font:500 15px var(--boutique-body)
}
.boutique-preview .checkout-item p {
  font-size:13px
}
.boutique-preview .auth-shell,.boutique-preview .address-editor {
  width:min(calc(100% - 2 * var(--editorial-gutter)),46rem);
  margin:48px auto 64px;
  padding:clamp(24px,4vw,48px);
  background:var(--color-surface);
  border:1px solid color-mix(in srgb,currentColor 18%,transparent);
  border-radius:var(--card-radius)
}
.boutique-preview :is(.auth-shell,.address-editor) form:not(.customer-nav form) {
  max-width:100%;
  display:grid;
  gap:20px
}
.boutique-preview :is(.auth-shell,.address-editor) input:not([type=checkbox]),.boutique-preview :is(.checkout-form,.listing-filters) :is(input,select,textarea) {
  width:100%;
  font-size:16px
}
.boutique-preview :is(.auth-shell,.address-editor) :is(label,.helptext,p) {
  font-size:14px
}
.boutique-preview .helptext {
  line-height:1.6;
  margin-top:8px
}
.boutique-preview :is(.auth-shell,.address-editor) :is(input,textarea,select) {
  border-radius:var(--button-radius)
}
.boutique-preview .auth-actions {
  padding-top:16px;
  font-size:14px
}
.boutique-preview .customer-nav {
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin:0 0 32px;
  padding:0 0 16px;
  border-bottom:1px solid color-mix(in srgb,currentColor 20%,transparent)
}
.boutique-preview .customer-nav>a,.boutique-preview .customer-nav button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 12px;
  font-size:13px;
  border:0;
  border-radius:var(--button-radius);
  text-decoration:none;
  background:transparent;
  color:inherit
}
.boutique-preview .customer-nav>a[aria-current="page"] {
  background:var(--color-primary);
  color:var(--color-on-accent)
}
.boutique-preview .customer-nav form {
  margin:0
}
.boutique-preview .customer-nav a:hover {
  box-shadow:inset 0 -2px currentColor
}
.boutique-preview .address-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));
  gap:20px;
  padding:0;
  list-style:none
}
.boutique-preview .address-list>li {
  padding:24px;
  background:var(--color-surface);
  border:1px solid color-mix(in srgb,currentColor 18%,transparent);
  border-radius:var(--card-radius);
  overflow-wrap:anywhere
}
.boutique-preview .address-list h2 {
  font:400 24px var(--boutique-display);
  margin-top:0
}
.boutique-preview .address-list p,.boutique-preview .address-list a {
  font-size:14px
}
.boutique-preview :is(.checkout-shell,.auth-shell,.address-editor,.dashboard) :is(p,bdi,h1,h2,h3) {
  overflow-wrap:anywhere
}
.boutique-preview .order-filter {
  display:flex;
  align-items:end;
  flex-wrap:wrap;
  gap:12px;
  margin-block:24px
}
.boutique-preview .order-filter select {
  min-height:44px
}
.boutique-preview .order-detail>section {
  padding-block:20px;
  border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)
}
.boutique-preview .order-detail>h2 {
  font:400 28px var(--boutique-display);
  margin-top:32px
}
@media(max-width:65rem) {
  .boutique-preview .product-detail__layout {
    grid-template-columns:1fr
  }
  .boutique-preview .product-detail__information {
    position:static
  }
  .boutique-preview .listing-filters {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .boutique-preview .cart-layout,.boutique-preview .checkout-layout {
    gap:24px;
    grid-template-columns:minmax(0,1fr) minmax(250px,.8fr)
  }
}
@media(max-width:47.99rem) {
  .boutique-preview .storefront,.boutique-preview .product-detail,.boutique-preview .cart-region,.boutique-preview .checkout-shell {
    padding-block:28px 40px
  }
  .boutique-preview .storefront-heading {
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:20px
  }
  .boutique-preview .storefront-heading>p:last-child {
    font-size:14px
  }
  .listing-toolbar {
    gap:8px
  }
  .listing-toolbar h2 {
    font-size:12px
  }
  .listing-sort {
    gap:4px
  }
  .listing-sort select {
    width:105px;
    font-size:13px
  }
  .boutique-preview .listing-sort button {
    padding:6px;
    font-size:12px
  }
  .listing-filter-panel>summary {
    inset-inline-end:160px;
    font-size:13px
  }
  .boutique-preview .product-grid:not(.product-grid--rail) {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 12px
  }
  .boutique-preview .product-grid--count-1:not(.product-grid--rail) {
    grid-template-columns:minmax(0,220px)
  }
  .boutique-preview .product-detail__layout,.boutique-preview .cart-layout,.boutique-preview .checkout-layout {
    grid-template-columns:1fr;
    gap:24px
  }
  .boutique-preview .product-detail__information {
    position:static;
    padding:0
  }
  .boutique-preview .product-detail__information h1 {
    font-size:30px
  }
  .boutique-preview .cart-line {
    grid-template-columns:88px minmax(0,1fr);
    gap:16px
  }
  .boutique-preview .cart-line__form {
    grid-column:1/-1;
    margin-top:0;
    gap:6px
  }
  .boutique-preview .cart-summary,.boutique-preview .checkout-summary,.boutique-preview .checkout-layout>section:first-child {
    padding:20px
  }
  .boutique-preview .auth-shell,.boutique-preview .address-editor {
    margin:28px auto 40px;
    padding:24px 20px
  }
  .boutique-preview .customer-nav {
    gap:4px
  }
  .boutique-preview .customer-nav>a,.boutique-preview .customer-nav button {
    font-size:12px;
    padding:8px 10px
  }
}
/* Customer account composition. */
.boutique-preview .dashboard {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:32px;
  padding-block:32px 40px;
  min-height:0
}
.boutique-preview .dashboard-sidebar {
  background:var(--color-primary);
  color:var(--color-on-accent);
  border-radius:var(--card-radius);
  padding:20px 16px;
  align-self:start
}
.boutique-preview .dashboard-identity {
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  padding:0 0 22px;
  overflow-wrap:anywhere
}
.boutique-preview .avatar {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex-shrink:0;
  border:1px solid currentColor;
  border-radius:50%;
  font:700 14px var(--boutique-display)
}
.boutique-preview .dashboard-identity strong {
  font-size:14px
}
.boutique-preview .dashboard-identity small {
  display:block;
  font-size:12px;
  margin-top:5px;
  opacity:.8
}
.boutique-preview .dashboard .customer-nav {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
  border:0;
  margin:0;
  padding:0
}
.boutique-preview .dashboard .customer-nav a,.boutique-preview .dashboard .customer-nav button {
  font:500 14px var(--boutique-body);
  padding:12px 14px;
  min-height:44px;
  border-radius:var(--button-radius);
  text-decoration:none;
  justify-content:start;
  text-align:start
}
.boutique-preview .dashboard .customer-nav a[aria-current="page"] {
  background:var(--color-background);
  color:var(--color-text)
}
.boutique-preview .dashboard .customer-nav a:not([aria-current="page"]):hover {
  background:color-mix(in srgb,currentColor 12%,transparent)
}
.boutique-preview .dashboard .customer-nav form {
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #ffffff30
}
.boutique-preview .dashboard .customer-nav button {
  background:transparent;
  color:inherit
}
.boutique-preview .dashboard-help {
  font-size:13px;
  border-top:1px solid #ffffff30;
  padding:18px 12px 0;
  margin-top:16px
}
.boutique-preview .dashboard-help a {
  display:block;
  padding-top:12px
}
.boutique-preview .dashboard-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:6px 0 24px
}
.boutique-preview .dashboard-heading h1 {
  font:400 30px/1.15 var(--boutique-display);
  letter-spacing:-.045em;
  margin:6px 0 10px
}
.boutique-preview .dashboard-heading p {
  font-size:14px;
  margin:0
}
.boutique-preview .dashboard-heading .eyebrow {
  font-size:12px;
  opacity:.65
}
.boutique-preview .dashboard-heading .button {
  font-size:13px
}
.boutique-preview .dashboard-cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}
.boutique-preview .dashboard-card {
  border:1px solid color-mix(in srgb,var(--color-border) 22%,transparent);
  background:var(--color-background);
  border-radius:var(--card-radius);
  padding:20px;
  display:grid;
  grid-template-columns:40px 1fr;
  gap:10px 14px;
  align-items:start
}
.boutique-preview .card-icon {
  padding:9px;
  display:inline-flex;
  color:var(--color-primary);
  background:var(--color-surface);
  border-radius:var(--card-radius)
}
.boutique-preview .dashboard-card>.card-icon {
  grid-column:1;
  grid-row:1/3
}
.boutique-preview .dashboard-card h2 {
  font:500 20px var(--boutique-display);
  margin:0;
  grid-column:2
}
.boutique-preview .dashboard-card p {
  grid-column:2;
  font-size:14px;
  margin:0 0 8px;
  overflow-wrap:anywhere
}
.boutique-preview .dashboard-card>a {
  grid-column:1/-1;
  border-top:1px solid color-mix(in srgb,var(--color-border) 20%,transparent);
  font:600 14px var(--boutique-body);
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:44px;
  padding-top:10px;
  text-decoration:none
}
.boutique-preview .dashboard-orders {
  margin-top:20px;
  border:1px solid color-mix(in srgb,var(--color-border) 22%,transparent);
  border-radius:var(--card-radius);
  padding:20px;
  background:var(--color-background)
}
.boutique-preview .dashboard-orders>header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-bottom:18px
}
.boutique-preview .dashboard-orders>header>div {
  display:flex;
  align-items:center;
  gap:12px
}
.boutique-preview .dashboard-orders h2 {
  font:500 20px var(--boutique-display);
  margin:0
}
.boutique-preview .dashboard-orders header>a {
  font-size:13px
}
.boutique-preview .dashboard-empty {
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px 0 0;
  border-top:1px solid color-mix(in srgb,var(--color-border) 20%,transparent)
}
.boutique-preview .dashboard-empty h3 {
  font:600 15px var(--boutique-body);
  margin:0 0 5px
}
.boutique-preview .dashboard-empty p {
  font-size:13px;
  margin:0
}
.boutique-preview .dashboard-empty .button {
  margin-inline-start:auto;
  font-size:13px
}
.boutique-preview .order-list {
  display:grid;
  gap:16px;
}
.boutique-preview .order-card {
  min-width:0;
  padding:20px 0;
  border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);
}
.boutique-preview .order-card__identity {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px 20px;
}
.boutique-preview .order-card__identity>a {
  min-width:0;
  max-width:100%;
}
.boutique-preview .order-card__number {
  display:block;
  font-size:13px;
  word-break:normal;
  overflow-wrap:anywhere;
  letter-spacing:0;
}
.boutique-preview .order-card__identity time {
  font-size:12px;
}
.boutique-preview .order-card__statuses {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));
  gap:8px;
  margin:16px 0 12px;
}
.boutique-preview .order-card__statuses>div {
  background:var(--color-surface);
  padding:10px;
}
.boutique-preview .order-card__statuses dt {
  font-size:12px;
  margin-bottom:4px;
}
.boutique-preview .order-card__statuses dd {
  font-size:13px;
  margin:0;
}
.boutique-preview .order-card__actions {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 16px;
}
.boutique-preview .order-card__actions strong {
  white-space:nowrap;
  font-size:15px;
}
.boutique-preview .order-card__actions>a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  font-size:13px;
}
.boutique-preview .dashboard .cms-section {
  margin:16px 0 0;
  width:100%
}
.boutique-preview .dashboard .cms-text,.boutique-preview .dashboard .cms-section__copy {
  padding:12px 0
}
.boutique-preview .dashboard .cms-section h2 {
  font:600 15px var(--boutique-body);
  margin:0 0 8px
}
.boutique-preview .dashboard .cms-section p {
  font-size:14px;
  margin:0
}
@media(max-width:47.99rem) {
  .boutique-preview .dashboard {
    display:block;
    padding-block:18px 28px
  }
  .boutique-preview .dashboard-heading {
    display:block;
    margin:0 0 20px
  }
  .boutique-preview .dashboard-heading h1 {
    font-size:27px
  }
  .boutique-preview .dashboard-heading .button {
    margin-top:16px;
    white-space:nowrap;
  }
  .boutique-preview .dashboard-heading p {
    font-size:13px
  }
  .boutique-preview .dashboard-cards {
    grid-template-columns:1fr;
    gap:12px
  }
  .boutique-preview .dashboard-card {
    padding:16px;
    gap:8px 12px
  }
  .boutique-preview .dashboard-card h2 {
    font-size:15px
  }
  .boutique-preview .dashboard-card p {
    font-size:13px
  }
  .boutique-preview .dashboard-card>a {
    font-size:13px
  }
  .boutique-preview .dashboard-orders {
    padding:16px;
    margin-top:16px
  }
  .boutique-preview .dashboard-orders h2 {
    font-size:15px
  }
  .boutique-preview .dashboard-orders header>a {
    font-size:12px
  }
  .boutique-preview .dashboard-empty {
    display:grid;
    grid-template-columns:40px 1fr;
    gap:12px;
    padding-top:16px
  }
  .boutique-preview .dashboard-empty .button {
    grid-column:1/-1;
    justify-self:start;
    margin:0
  }
  .boutique-preview .order-card__identity {
    display:block;
  }
  .boutique-preview .order-card__identity time {
    display:block;
    margin-top:6px;
  }
  .boutique-preview .dashboard .cms-section {
    margin-top:12px
  }
  .boutique-preview .dashboard .cms-text {
    padding:8px 0
  }
}

.boutique-preview .demo-label { font:500 12px/1.5 var(--boutique-body); color:var(--color-text); border-inline-start:2px solid var(--color-border); padding-inline-start:8px; margin-block:8px; }
.boutique-preview .demo-price-label { font:400 12px/1.5 var(--boutique-body); }

.shop-categories { display:flex; gap:1rem; overflow-x:auto; padding-block:1rem; max-width:100%; }
.shop-categories a { flex-shrink:0; padding:.7rem; border:1px solid currentColor; }
.shop-categories [aria-current] { font-weight:700; text-decoration:underline; }

#cart-dialog iframe { display:block; inline-size:100%; border:0; }

.quantity-control { display:inline-flex; align-items:center; gap:.4rem; max-inline-size:100%; }
.quantity-control input { max-inline-size:5rem; }
.checkout-items-summary { margin-block-end:1rem; }
.checkout-items-summary > summary { cursor:pointer; padding-block:1rem; font-size:1.2rem; }
#cart-dialog::backdrop { background:rgb(0 0 0 / .35); }

[data-support-back][hidden], [data-support-questions] details[hidden] { display:none; }
.support-page h1 { font-size:2rem; }
.support-page h2 { font-size:1.35rem; }
.support-page textarea { min-block-size:6rem; }

/* Shared storefront surfaces inside the two shopping panels. */
#cart-dialog { border:0; padding:0; background:var(--color-background,#f6f3ed); color:var(--color-text,#20231f); box-shadow:0 16px 60px #0003; overflow:hidden; }
#cart-dialog { margin:0; margin-inline-start:auto; inline-size:min(34rem,100vw); max-inline-size:100vw; block-size:100dvh; max-block-size:100dvh; }
#cart-dialog[open] { display:flex; flex-direction:column; }
#cart-dialog > button { align-self:flex-end; margin:.6rem 1rem; min-block-size:2.5rem; }
#cart-dialog iframe { min-block-size:0; flex:1; block-size:auto; background:inherit; }
.panel-frame { margin:0; min-block-size:0; background:var(--color-background,#f6f3ed); }
.panel-frame .site-main { padding:0; min-block-size:0; }







.support-page { max-inline-size:40rem; margin:auto; padding:1.25rem; }
.panel-frame .support-page { block-size:100dvh; display:flex; flex-direction:column; padding:0; }
.support-heading { padding:1rem 1.25rem; border-block-end:1px solid var(--color-border,#d8c6a9); }
.support-heading h1 { margin:0 0 .3rem; font-size:1.7rem; }.support-heading p { margin:0; font-size:.8rem; }
.support-middle { padding:1rem 1.25rem; min-block-size:0; overflow:auto; flex:1; }
.support-composer { flex-shrink:0; display:flex; gap:.5rem; padding:1rem; border-block-start:1px solid var(--color-border,#d8c6a9); }
.support-composer input { min-inline-size:0; flex:1; }.support-composer button { flex-shrink:0; }
[data-support-flow] [hidden] { display:none; }
[data-support-questions] details { border:1px solid var(--color-border,#d8c6a9); margin-block:.6rem; padding:.7rem; }
.support-bubble { padding:.8rem; border-radius:.7rem; margin-block:.6rem; max-inline-size:95%; overflow-wrap:anywhere; }
.support-question { margin-inline-start:auto; background:var(--color-surface,#ede3d3); }
.support-answer { background:var(--color-background,#f6f3ed); border:1px solid var(--color-border,#d8c6a9); }
.support-page fieldset { border:0; padding:0; }[data-support-contact] > button { inline-size:100%; }
.support-confirmation { padding:1rem; border:1px solid var(--color-border,#d8c6a9); }
.journey-heading h1, .compact-checkout h1 { font-size:clamp(1.8rem,3vw,2.8rem); margin-block:.5rem; }
.sandbox-notice, .account-note, .review-status { font-size:.85rem; line-height:1.5; }
.compact-checkout h2 { font-size:1.35rem; margin-block:.5rem 1rem; }
.checkout-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1rem; }
.checkout-fields p { margin:0; }.checkout-fields .field-wide { grid-column:1/-1; }
.compact-checkout input, .compact-checkout select { inline-size:100%; }
.compact-checkout .checkout-same input { inline-size:1rem; }
.compact-checkout details { margin-block:1rem; }.compact-checkout summary { cursor:pointer; }
.compact-checkout .checkout-items-summary summary { display:flex; justify-content:space-between; gap:1rem; font-size:1rem; }
.sample-totals div { display:flex; justify-content:space-between; margin-block:.5rem; }
.sample-card { padding:1rem; background:var(--color-background,#f6f3ed); }.sample-card div { margin-block:.5rem; }.sample-card dt { font-size:.8rem; }.sample-card dd { margin:0; }
.complete-sandbox { inline-size:100%; min-block-size:3rem; }.reviewer-tools { font-size:.8rem; }
.receipt-shell { max-inline-size:48rem; padding-block:2rem; }.receipt-reference { display:block; font:500 .85rem/1.6 var(--boutique-body); overflow-wrap:anywhere; }
.receipt-items article { display:flex; gap:1.25rem; padding-block:1rem; border-block-end:1px solid var(--color-border,#d8c6a9); }.receipt-items img { object-fit:contain; }.receipt-items h2 { font-size:1.3rem; }
.receipt-shell > details { margin-block:1.5rem; }.receipt-shell > .button { margin-block:1rem; }
.boutique-preview .site-footer-wrap { min-block-size:0; }.boutique-preview .site-footer { min-block-size:0; padding-block:1.5rem; }
@media(max-width:47.99rem) { .compact-checkout { display:flex; flex-direction:column; }.compact-checkout .checkout-summary { display:contents; }.compact-checkout .checkout-items-summary { order:-1; margin-block:0 1rem; padding:1rem; background:var(--color-surface,#ede3d3); }.compact-checkout .checkout-contact { order:0; }.compact-checkout .sample-payment { order:1; }.compact-checkout .return-cart { order:2; } }

.support-actions { flex-shrink:0; padding:.75rem 1rem; border-block-start:1px solid var(--color-border,#d8c6a9); }
.support-actions button { inline-size:100%; min-block-size:2.75rem; }
.support-composer input { inline-size:0; flex:1 1 0; }
.support-composer button { inline-size:auto; }

.boutique-preview .skip-link { color:var(--color-surface); }

/* Keep the complete stepper in its own row at narrow widths and text zoom. */
.boutique-preview .cart-line__form .quantity-control { display:flex; align-items:center; gap:.25rem; flex-wrap:wrap; min-width:0; }
.boutique-preview .cart-line__form .quantity-control input { width:4rem; min-width:0; }
.boutique-preview .cart-line__form > button { max-width:100%; white-space:normal; }
body:has(#cart-dialog[open]) { overflow:hidden; }
body:has(.cart-region), body:has(.receipt-shell), body:has(.auth-shell), body:has(.support-page) { min-width:0; }
.boutique-preview .cart-layout > * { min-width:0; } .boutique-preview .cart-summary__amounts > div { flex-wrap:wrap; } .boutique-preview .cart-summary__amounts dd { white-space:normal; overflow-wrap:anywhere; }
.order-card img { object-fit:contain; }
/* Scoped account and support presentation; storefront tokens remain unchanged. */
.account-shell .reference-field,.support-workspace .reference-field {display:block;max-width:38rem;font-size:.875rem;}
.reference-field input {display:block;width:100%;box-sizing:border-box;font: .875rem ui-monospace,monospace;padding:.65rem;margin-block:.4rem;}
.cart-auto-update .cart-update-fallback {display:none;}
.support-workspace .site-main {flex:1;}
.support-workspace-content {padding-block:2rem;max-width:70rem;}
.support-workspace-content h1 {font-size:clamp(1.8rem,4vw,3rem);}
.support-workspace-content article {padding-block:1rem;border-bottom:1px solid currentColor;}
.support-workspace-content article h2 {font-size:1.4rem;}
.support-workspace-content form {max-width:42rem;}
.support-workspace-content :is(input,select,textarea) {box-sizing:border-box;max-width:100%;}
.support-workspace-footer {padding-block:1rem;border-top:1px solid currentColor;}



@media(max-width:65rem) {
  .support-workspace .site-header > .brand {grid-column:2;grid-row:1;justify-self:center;font-size:23px;}
  .support-workspace .site-header > .language-picker {grid-column:3;grid-row:1;}
}

/* Shared account composition and private receipt actions. */
.account-shell .dashboard-main { min-inline-size:0; }
.account-shell .dashboard-main > .container { width:100%; max-inline-size:none; padding-inline:0; }
.account-shell .dashboard-main .auth-shell { margin:0; }
.account-menu > summary { cursor:pointer; padding:.75rem; }
.account-shell .order-card__identity { flex-wrap:wrap; gap:.75rem; }
.order-badge { display:inline-block; border:1px solid currentColor; border-radius:1rem; padding:.2rem .65rem; font-size:.75rem; }
.order-card__items { display:grid; gap:.75rem; margin-block:1rem; }
.order-card__items > div { display:flex; align-items:center; gap:.75rem; }
.order-card__items img { object-fit:contain; flex-shrink:0; }
.receipt-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1rem; margin-block:1.5rem; }
.receipt-actions a { display:inline-flex; align-items:center; min-block-size:44px; }
.receipt-actions .button { margin:0; }
.receipt-shell > section > h2 { font-size:1.35rem; }
.receipt-print-page .receipt-item-title { font-size:1.15rem; line-height:1.4; margin-block:.5rem; }
.receipt-print-page .receipt-shell > section { display:flow-root; margin-block:1rem; }
.receipt-print-page .receipt-shell > section img { float:inline-start; object-fit:contain; margin-inline-end:1rem; }
@media (min-width:48rem) { .account-menu > summary { display:none; } }
@media (max-width:47.99rem) {
  .account-shell .dashboard { grid-template-columns:minmax(0,1fr); gap:1rem; }
  .account-shell .dashboard-sidebar { padding:1rem; }
  .account-shell .dashboard-identity { padding-bottom:.5rem; }
  .account-shell .dashboard-help { display:none; }
}
