/* LustreLook v4: scoped layout and interaction repairs. Load after the base theme styles. */
body:is(.lustrelook-website,.lustrelook-landing) .wpcf7 input.form-submit {
  font-family: inherit;
  border-radius: 4px;
}
body:is(.lustrelook-website,.lustrelook-landing) .wpcf7 input.form-submit:disabled {
  cursor: not-allowed;
  opacity: .58;
}
body.lustrelook-landing .wpcf7 .adm-lustre-sms .wpcf7-list-item {
  display: block;
  margin: 0;
}
body.lustrelook-landing .wpcf7 .adm-lustre-sms .wpcf7-list-item > label {
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  align-items: start;
  gap: 10px;
  font: inherit;
}
body.lustrelook-landing .wpcf7 .adm-lustre-sms input[type="checkbox"] {
  display: block;
  width: 18px;
  min-width: 18px;
  max-width: 18px;
  height: 18px;
  min-height: 18px;
  max-height: 18px;
  align-self: start;
  margin: 2px 0 0;
  padding: 0;
  accent-color: var(--gold-dark,#8f6b39);
}
body:is(.lustrelook-website,.lustrelook-landing) .faq-list details[data-adm-faq-enhanced] {
  height: auto;
  overflow: visible;
}
body:is(.lustrelook-website,.lustrelook-landing) .faq-list .adm-faq-answer {
  height: 0;
  overflow: hidden;
  overflow: clip;
}
body:is(.lustrelook-website,.lustrelook-landing) .faq-list .adm-faq-answer-inner {
  display: flow-root;
}
body:is(.lustrelook-website,.lustrelook-landing) .faq-list details[data-adm-faq-enhanced] > summary[aria-expanded="false"]::after {
  content: "+";
}
body:is(.lustrelook-website,.lustrelook-landing) .faq-list details[data-adm-faq-enhanced] > summary[aria-expanded="true"]::after {
  content: "\2212";
}
body:is(.lustrelook-website,.lustrelook-landing) .faq-list summary:focus-visible,
body.lustrelook-website .menu-toggle:focus-visible,
body.lustrelook-website .site-nav :is(a,summary):focus-visible {
  outline: 2px solid var(--gold-dark,#8f6b39);
  outline-offset: 4px;
}

/* Separate the pricing introduction from the sand hero using the approved paper token. */
body.lustrelook-website .pricing-intro {
  background: var(--section-paper,#fffdf9);
  border-top: 1px solid var(--section-line,#ded2c1);
  border-bottom: 1px solid var(--section-line,#ded2c1);
}

/* The content patch restores paragraphs; these rules preserve their reading rhythm. */
body.lustrelook-website .legal-content article { min-width: 0; }
body.lustrelook-website .legal-content article > p {
  margin: 0 0 18px;
  line-height: 1.7;
}
body.lustrelook-website .legal-content article > h2 {
  margin-top: 32px;
  margin-bottom: 16px;
}
body.lustrelook-website .legal-content article .legal-subsection-title {
  margin-top: 24px;
  margin-bottom: 12px;
}
body.lustrelook-website .legal-content article :is(ul,ol) {
  margin: 12px 0 24px;
  padding-inline-start: 24px;
}
body.lustrelook-website .legal-content article :is(ul,ol).mt16 {
  margin-top: 12px !important;
}
body.lustrelook-website .legal-content article li {
  margin: 0 0 10px;
  padding-inline-start: 0;
}
body.lustrelook-website .legal-content article li:last-child { margin-bottom: 0; }
body.lustrelook-website .legal-content article :is(p,li) > a {
  overflow-wrap: anywhere;
}

/* Quote punctuation remains with the approved quotation rather than on a separate line. */
body.lustrelook-website :is(.quote-band,.practitioner-quote) blockquote .quote-opening,
body.lustrelook-website :is(.quote-band,.practitioner-quote) blockquote .quote-closing {
  display: inline;
  font: inherit;
  line-height: inherit;
  color: inherit;
}

/* v4: the WordPress section rule (#main > section) outranked the legal two-column grid,
   so desktop showed the On This Page box full width above an offset column. Restore the
   prototype layout: contents list on the left, policy text on the right. */
@media (min-width:1025px) {
  /* Fixed column widths, centered, so the text block is not pushed left of centre. */
  body.lustrelook-website #main > section.legal-content {
    display: grid;
    grid-template-columns: minmax(200px,260px) minmax(0,700px);
    justify-content: center;
    gap: clamp(32px,4vw,56px);
    align-items: start;
  }
  body.lustrelook-website #main > section.legal-content .legal-toc {
    position: sticky;
    top: 108px;
    max-height: calc(100vh - 128px);
  }
  body.lustrelook-website #main > section.legal-content article {
    width: 100%;
    margin: 0;
  }
}
/* Tablets held sideways can be wider than 1024 px. Touch tablets keep the single readable
   column with no contents list, as on portrait tablets and phones (868mgzwb5, 868mgz665). */
@media (min-width:1025px) and (max-width:1400px) and (hover:none) and (pointer:coarse) {
  body.lustrelook-website #main > section.legal-content { display: block; }
  body.lustrelook-website #main > section.legal-content .legal-toc { display: none; }
  body.lustrelook-website #main > section.legal-content article { width: 100%; max-width: 820px; margin: 0 auto; }
}
/* Section headings land fully below the sticky header at every width, level with the list. */
body.lustrelook-website .legal-content article h2 { scroll-margin-top: 108px; }

/* v4: the Thank You actions sat flush against each other. Match the shared CTA pair. */
body:is(.lustrelook-website,.lustrelook-landing) .thank-you-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 12px;
  margin-top: 28px;
}
body:is(.lustrelook-website,.lustrelook-landing) .thank-you-actions .button { margin: 0; }
@media (max-width:760px) {
  body:is(.lustrelook-website,.lustrelook-landing) .thank-you-actions {
    flex-direction: column;
    align-items: stretch;
  }
  body:is(.lustrelook-website,.lustrelook-landing) .thank-you-actions .button {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width:1024px) {
  body.lustrelook-website .legal-content { display: block; }
  body.lustrelook-website .legal-content .legal-toc { display: none; }
  body.lustrelook-website .legal-content article { width:100%; max-width:100%; }
}
@media (max-width:760px) {
  body.lustrelook-website .intro-strip .intro-strip-inner > p {
    padding-inline: 0;
    border-left: 0;
  }
  body.lustrelook-website .legal-content article > h2 { margin-top: 28px; }
}
@media (max-width:980px) {
  body.lustrelook-website.adm-nav-open .site-header {
    position: fixed;
    top: var(--adm-header-top,0px);
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fffdf9;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body.lustrelook-website .site-nav.adm-mobile-nav.is-open {
    display: flex;
    position: fixed;
    top: var(--adm-menu-top,80px);
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: var(--adm-menu-height,calc(100dvh - 80px));
    min-height: var(--adm-menu-height,calc(100dvh - 80px));
    max-height: var(--adm-menu-height,calc(100dvh - 80px));
    margin: 0;
    box-sizing: border-box;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: max(24px,env(safe-area-inset-bottom));
    border-bottom: 0;
    background: #fffdf9;
    box-shadow: none;
    z-index: 1001;
  }
  body.lustrelook-website .site-nav.adm-mobile-nav .nav-panel {
    max-height: none;
    overflow: visible;
  }
}
@media (prefers-reduced-motion:reduce) {
  body:is(.lustrelook-website,.lustrelook-landing) .adm-faq-answer { scroll-behavior:auto; }
}


/* Client content round, October 19: "Ask Naomi" callout under the process steps and the grouped full price list. */
body.lustrelook-landing .process .process-naomi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px 32px;
  grid-column: 1 / -1;
  position: relative;
  margin: 4px 0 0;
  padding: 26px 30px;
  border: 1px solid #6f6250;
  border-radius: 5px 24px 5px 5px;
  background: #2b2c23;
}
body.lustrelook-landing .process .process-naomi > div { flex: 1 1 460px; min-width: 0; }
body.lustrelook-landing .process .process-naomi h3 { margin: 0 0 8px; color: #fff; font-size: 25px; line-height: 1.24; }
body.lustrelook-landing .process .process-naomi p { max-width: 680px; margin: 0; color: #e3ddcf; font-size: 16px; line-height: 1.65; }
body.lustrelook-landing .process .process-naomi .button { flex: none; border-color: #b99b6d; color: #fff; }
body.lustrelook-landing .process .process-naomi .button:hover,
body.lustrelook-landing .process .process-naomi .button:focus-visible { background: #3a3b30; }
body.lustrelook-landing .treatment-pricing .treatment-pricing-table tr.pricing-group-row > th {
  padding: 15px 26px;
  border-bottom: 1px solid #e4dacb;
  background: #efe5d4;
  color: #58432a;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .075em;
  text-transform: uppercase;
}
body.lustrelook-landing .treatment-pricing .treatment-pricing-table tbody + tbody tr.pricing-group-row > th { border-top: 1px solid #d8ccb9; }
body.lustrelook-landing .treatment-pricing .treatment-pricing-table tbody tr:not(.pricing-group-row):nth-child(even) { background: transparent; }
body.lustrelook-landing .treatment-pricing .treatment-pricing-table tbody tr:not(.pricing-group-row):nth-child(odd) { background: #faf6ef; }
@media (max-width: 600px) {
  body.lustrelook-landing .process .process-naomi { margin-top: 6px; padding: 22px 20px; }
  body.lustrelook-landing .process .process-naomi h3 { font-size: 23px; }
  body.lustrelook-landing .process .process-naomi .button { width: 100%; }
  body.lustrelook-landing .treatment-pricing .treatment-pricing-table tr.pricing-group-row { display: block; padding: 0; border-bottom: 0; }
  body.lustrelook-landing .treatment-pricing .treatment-pricing-table tr.pricing-group-row > th { display: block; padding: 13px 22px; font-size: 12px; }
}

/* Client content round 2, October 20: five before-and-after examples (Janelle's cleaned images), three across on desktop. */
body:is(.lustrelook-website,.lustrelook-landing) .results-grid--five { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; }
body:is(.lustrelook-website,.lustrelook-landing) .results-grid--five > .result-figure { flex: 0 1 calc((100% - 56px) / 3); min-width: 0; }
body:is(.lustrelook-website,.lustrelook-landing) .results-grid--five .result-image { height: auto; aspect-ratio: 1 / 1; }
body:is(.lustrelook-website,.lustrelook-landing) .results-grid--five .result-image img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
@media (max-width: 900px) {
  body:is(.lustrelook-website,.lustrelook-landing) .results-grid--five > .result-figure { flex-basis: calc((100% - 28px) / 2); }
}
@media (max-width: 600px) {
  body:is(.lustrelook-website,.lustrelook-landing) .results-grid--five { gap: 22px; }
  body:is(.lustrelook-website,.lustrelook-landing) .results-grid--five > .result-figure { flex-basis: 100%; }
}

/* Client content round 2, October 20: each landing treatment card shows Bonnie's own before-and-after photo for that treatment, whole. */
body.lustrelook-landing .treatments .treatment-card > img.card-photo-whole { object-fit: contain; object-position: center; background: #fff; }

/* 868mk8v1c, 868mkd3zc: the link below the treatment cards ("View all treatments", "View available before-and-after examples") is centered under the cards. */
body.lustrelook-website :is(.all-treatments-link, .results-path) { display: table; margin-left: auto; margin-right: auto; }

/* 868mgxd5n: on phones and portrait tablets, content and footer buttons span the width of their container (header and menu buttons unchanged). */
@media (max-width: 767px), (max-width: 1024px) and (orientation: portrait) {
  body:is(.lustrelook-website,.lustrelook-landing) :is(#main, .site-footer) :is(.cta-pair, .hero-ctas, .hero-actions, .closing-actions, .thank-you-actions, .section-link, .about-next, .footer-contact, .process-naomi) { flex-wrap: wrap; }
  body:is(.lustrelook-website,.lustrelook-landing) :is(#main, .site-footer) :is(a.button, button.button, button.card-link) { display: flex; flex: 1 1 100%; width: 100%; min-width: 0; max-width: none; box-sizing: border-box; justify-content: center; text-align: center; }
}
