/* Shared desktop container contract: one outer gutter, no nested width caps. */
:root{--lsl-layout-gutter:clamp(24px,4vw,64px)}
@media(min-width:1151px){
 html body #lsl-main-header .lsl-header-inner,
 html body #lsl-main-header .lsl-mega-inner{
  box-sizing:border-box;width:100%;max-width:none;margin-inline:0;padding-inline:var(--lsl-layout-gutter);
 }
 html body.lsl-contact-page .lsl-contact-main,
 html body.lsl-workshop-page .lsl-mk-wrap{
  box-sizing:border-box;width:100%;max-width:none;margin-inline:0;padding-inline:var(--lsl-layout-gutter);
 }
 html body.lsl-home-page #allrecords{--home-gutter:var(--lsl-layout-gutter)}
 html body.lsl-home-page .lsl-home-hero-wrap{
  box-sizing:border-box;width:100%;max-width:none;margin-inline:0;padding-inline:var(--lsl-layout-gutter);
 }
 html body.lsl-home-page :is(#lsl-workshops-en,#lsl-events-en,#lsl-corporate-en) .section-head{
  box-sizing:border-box;width:100%;max-width:none;margin-inline:0;padding-inline:var(--lsl-layout-gutter);
 }
 html body.lsl-home-page #lsl-voucher-promo-en .gift-stage,
 html body.lsl-home-page #lsl-flagship-perfume-bar-inset-en .flagship-banner{
  box-sizing:border-box;width:calc(100% - 2 * var(--lsl-layout-gutter));max-width:none;margin-inline:auto;
 }
}
/* Slightly stronger navigation scale where there is room for it. */
@media(min-width:1601px){
 html body #lsl-main-header .lsl-wordmark{font-size:32px!important}
 html body #lsl-main-header .lsl-header-links{gap:32px}
 html body #lsl-main-header .lsl-header-links>a{font-size:20px!important}
 html body #lsl-main-header :is(.lsl-book-button,.lsl-gift-button){--lsl-button-size:18px}
 html body #lsl-main-header :is(.lsl-language-label,.lsl-header-account summary,.lsl-header-signin){font-size:18px!important}
}

/* Match the homepage's spacing between independent content blocks. */
:root {
  --lsl-section-gap: 100px;
  --lsl-section-edge: clamp(48px, 4.3vw, 64px);
  --lsl-workshop-rail-tail: 36px;
}
@media (max-width: 1150px) {
  :root {
    --lsl-section-gap: 64px;
    --lsl-section-edge: 64px;
    --lsl-workshop-rail-tail: 0px;
  }
}

/* Each content block owns one gap instead of adding two section paddings. */
html body.lsl-workshop-page:not(.lsl-event-builder-page) #main {
  display: flow-root;
  padding-block: 0 var(--lsl-section-edge);
}
html body.lsl-workshop-page:not(.lsl-event-builder-page) #main > :is(.lsl-mk-overview, .lsl-mk-expect, .lsl-workshop-carousel, .lsl-event-gallery, .lsl-mk-faq, .lsl-mk-reviews) {
  padding-block: 0;
  margin-block: var(--lsl-section-gap) 0;
}
html body.lsl-workshop-page:not(.lsl-event-builder-page) #main > .lsl-mk-hero + .lsl-mk-overview {
  margin-top: var(--lsl-section-edge);
}
html body.lsl-event-page:not(.lsl-event-builder-page) #main > .lsl-workshop-carousel .experiences {
  padding-block: 0;
}
/* The scroll viewport keeps room for shadows; it is part of the visual gap. */
html body.lsl-event-page:not(.lsl-event-builder-page) #main > .lsl-workshop-carousel + .lsl-event-gallery {
  margin-top: calc(var(--lsl-section-gap) - var(--lsl-workshop-rail-tail));
}
@media (max-width: 1150px) {
  html body.lsl-event-page:not(.lsl-event-builder-page) #main > .lsl-workshop-carousel .rail {
    padding-block: 0;
  }
}

html body.lsl-workshop-page.lsl-events-index #main {
  --lsl-catalog-rail-tail: 18px;
  padding-top: var(--lsl-section-edge);
  padding-bottom: calc(var(--lsl-section-edge) - var(--lsl-catalog-rail-tail));
}
html body.lsl-events-index #main #lsl-events-catalog .experiences {
  padding-block: 0;
}
@media (min-width: 821px) and (hover: hover) and (pointer: fine) {
  html body.lsl-workshop-page.lsl-events-index #main {
    --lsl-catalog-rail-tail: 26px;
  }
}

/* Gift discovery uses the same rhythm; the final coloured panel keeps its inset. */
html body.lsl-gift-landing-page > main.gc-landing {
  padding-block: var(--lsl-section-edge);
}
html body.lsl-gift-landing-page > main.gc-landing > section {
  margin-block: var(--lsl-section-gap) 0;
}
html body.lsl-gift-landing-page > main.gc-landing > section:first-child {
  margin-top: 0;
  min-height: 0;
}
html body.lsl-gift-landing-page > main.gc-landing > :is(.gc-features, .gc-experiences, .gc-faq) {
  padding-block: 0;
}
@media (min-width: 601px) and (max-width: 900px) {
  /* Let the scaled artwork occupy its visible height; taller copy still controls the row. */
  html body.lsl-gift-landing-page > main.gc-landing .gc-hero-art {
    margin-block: calc(-535px * .25 / 2);
  }
}

html body.lsl-information-page #main.lsl-info-main {
  padding-block: var(--lsl-section-edge);
}
html body.lsl-information-page #main .lsl-info-intro {
  display: flow-root;
  padding-bottom: 0;
  margin-bottom: var(--lsl-section-gap);
}
html body.lsl-information-page #main .lsl-info-intro > p:last-child {
  margin-bottom: 0;
}
html body.lsl-information-page #main .lsl-faq-groups > section {
  margin-block: 0;
}
html body.lsl-information-page #main .lsl-faq-groups > section + section,
html body.lsl-information-page #main .lsl-info-help {
  margin-top: var(--lsl-section-gap);
}
html body.lsl-information-page #main .lsl-info-empty {
  padding-block: 0;
}
@media (max-width: 820px) {
  html body.lsl-information-page #main .lsl-faq-layout {
    row-gap: var(--lsl-section-gap);
  }
}

html body.lsl-contact-page #main.lsl-contact-main {
  padding-block: var(--lsl-section-edge);
}
@media (max-width: 1150px) {
  html body.lsl-contact-page #main .lsl-contact-layout {
    gap: var(--lsl-section-gap);
  }
}

/* Single-panel pages align their outside edges without changing form spacing. */
html body.lsl-legal-page #main.lsl-legal-main,
html body.lsl-customer-page:not(.woocommerce-checkout):not(.lsl-confirmation-page) #main.lsl-customer-main:not(.lsl-auth-main) {
  margin-block: var(--lsl-section-edge);
}
html body:is(.lsl-workshop-page, .lsl-information-page, .lsl-gift-landing-page, .lsl-customer-page, .lsl-legal-page):not(.lsl-event-builder-page) #lsl-contact-footer {
  margin-top: 0;
}

/* Balance wrapped headings so a short final word does not form a loose line. */
body :is(h1,h2,h3,h4,h5,h6),
body .t-title,
body .t-name,
body .lsl-hero-desktop-statements p,
body .lsl-hero-mobile-pitch p{
  text-wrap-style:balance;
}

/* Keep existing editorial line groups from gaining an accidental extra line. */
@media(max-width:600px){
  body.lsl-gift-landing-page .gc-hero h1{font-size:clamp(32px,10vw,40px)}
}
@media(max-width:360px){
  body.lsl-information-faq h1{font-size:46px}
}
body.lsl-workshop-page:is(:has([data-gloss-hero]),:has(.lsl-lipstick-intro-full)) .lsl-mk-expect-details li:nth-child(5) h3{
  text-wrap-style:pretty;
}

/* Keep the B2B illustration within its tablet column. */
@media (min-width: 821px) and (max-width: 1150px) {
  html body.lsl-information-b2b #main .lsl-info-art {
    width: 100%;
    min-width: 0;
    min-height: 0;
  }
}

/* Mobile checkout: compact sections and aligned native Woo controls. */
@media (max-width: 820px) {
  body.woocommerce-checkout.lsl-summary-checkout #main.lsl-customer-main {
    width: calc(100% - 36px);
    margin-top: 28px;
    margin-bottom: 40px;
    min-height: 0;
  }
  body.woocommerce-checkout.lsl-summary-checkout #main > h1 {
    margin-bottom: 24px;
    font-size: 36px;
  }
  .lsl-summary-checkout .wc-block-checkout__guest-checkout-notice,
  .lsl-summary-checkout .wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__heading {
    display: none;
  }
  .lsl-summary-checkout .wp-block-woocommerce-checkout { margin-top: 0; }
  .lsl-summary-checkout .wc-block-components-checkout-step {
    margin-bottom: 28px;
    padding: 0;
  }
  .lsl-summary-checkout .wc-block-components-checkout-step__heading {
    margin-bottom: 16px;
  }
  .lsl-summary-checkout .wc-block-components-title {
    font-size: 20px;
    line-height: 1.3;
  }
  .lsl-summary-checkout .wc-block-components-text-input,
  .lsl-summary-checkout .wc-block-components-country-input {
    margin-top: 12px;
  }
  .lsl-summary-checkout .wc-block-components-checkbox {
    margin-top: 16px;
  }
  .lsl-summary-checkout .wc-block-components-checkbox label {
    align-items: flex-start;
    gap: 10px;
  }
  .lsl-summary-checkout .wc-block-components-checkbox__label {
    font-size: 13px;
    line-height: 1.5;
  }
  .lsl-summary-checkout .wc-block-components-checkbox__input[type=checkbox] {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 1px 0 0;
  }
  .lsl-summary-checkout .wc-block-components-checkout-order-summary__title {
    padding: 16px !important;
    font-size: 16px;
  }
  .lsl-summary-checkout .wp-block-woocommerce-checkout-terms-block {
    margin: 16px 0;
    font-size: 12px;
    line-height: 1.5;
    color: #68686d;
  }
  .lsl-summary-checkout .wp-block-woocommerce-checkout-terms-block a {
    color: inherit;
    text-underline-offset: 3px;
  }
  .lsl-summary-checkout .wc-block-checkout__actions {
    padding-top: 8px;
  }
  .lsl-summary-checkout .wc-block-components-checkout-place-order-button {
    min-height: 48px;
    width: 100%;
    font-size: 16px;
  }
  .lsl-summary-checkout .wc-block-components-radio-control-accordion-option:has(input[value="raiaccept"]) > .wc-block-components-radio-control-accordion-content { display:none; }
  .lsl-summary-checkout .wc-block-components-radio-control__label > div { flex-wrap:wrap; gap:10px; }
  .lsl-summary-checkout .wc-block-components-radio-control__label { font-size:14px; line-height:1.4; }
  .lsl-summary-checkout .wc-block-components-radio-control__option { padding:16px 16px 16px 48px; }
  .lsl-summary-checkout .wc-block-components-radio-control__input { left:16px; }
}

/* Avoid adding Woo's heading gap twice on small screens. */
@media (max-width:820px) {
 body.lsl-summary-checkout #main .wp-block-woocommerce-checkout { margin:0; padding-top:0; }
 body.lsl-summary-checkout #main .wc-block-components-sidebar { margin:0 0 24px; }
 body.lsl-summary-checkout #main .wc-block-components-checkout-step__heading { margin-bottom:0; }
 body.lsl-summary-checkout #main .wc-block-components-checkout-step__heading-container { margin-bottom:16px; }
 body.lsl-summary-checkout #main .wc-block-components-checkout-step__title { font-size:20px; line-height:1.3; }
 body.lsl-summary-checkout #main .wc-block-components-text-input:first-child,
 body.lsl-summary-checkout #main .wc-block-components-country-input:first-child { margin-top:0; }
}

@media (max-width:820px) {
 body.lsl-summary-checkout #main .wc-block-components-radio-control__input { top:27px; }
}
@media (max-width:360px) {
 body.lsl-summary-checkout #main .wc-block-components-checkout-order-summary__title-text { font-size:14px; line-height:1.4; }
}

/* Sign-in is an edge-to-edge screen, outside the content-page spacing rhythm. */
html body.lsl-customer-page #main.lsl-auth-main .lsl-auth-layout{min-height:calc(100svh - 57px);background:#fff}
@media(max-width:1150px){html body.lsl-customer-page #main.lsl-auth-main .lsl-auth-layout{min-height:calc(100svh - 64px)}}
