/* WordPress layout contract: shared rhythm, full-width section surfaces, native CF7. */
body.lustrelook-website {
  --space: 72px;
  --section-paper: #fffdf9;
  --section-sand: #f3ece2;
  --section-line: #ded2c1;
}
body.lustrelook-website #main > section:not(.home-hero):not(.intro-strip):not(.contact-main):not(.thank-you) {
  padding-block: var(--space);
  margin-block: 0;
}
body.lustrelook-website .section,
body.lustrelook-website .approach-section,
body.lustrelook-website .overview-feature,
body.lustrelook-website .detail-opening,
body.lustrelook-website .about-story,
body.lustrelook-website .pricing-intro,
body.lustrelook-website .cost-process,
body.lustrelook-website .faq-feature,
body.lustrelook-website .closing-section {
  padding-block: var(--space);
}
body.lustrelook-website #main > section {
  box-sizing: border-box;
  display: flow-root;
}
body.lustrelook-website #main > section > .wrap { min-width: 0; }
body.lustrelook-website .section-lead { margin-bottom: 32px; }
body.lustrelook-website :is(.section-lead,.detail-opening-copy,.approach-copy,.about-copy,.practitioner-content,.pricing-intro-grid,.cost-process-grid) h2 { margin: 0 0 20px; }
body.lustrelook-website .section-lead h2 { margin-bottom: 0; }
body.lustrelook-website p { margin-bottom: 18px; }
body.lustrelook-website :is(.detail-opening-copy,.approach-copy,.about-copy) > p:last-child { margin-bottom: 0; }
body.lustrelook-website :is(.section-link,.about-next) { margin: 32px 0 0; }
body.lustrelook-website .cta-pair { gap: 12px; }
body.lustrelook-website .cta-pair .button { margin: 0; }
body.lustrelook-website :is(.services-feature,.detail-plan,.about-values,.contact-next,.related,.pricing-groups) { background: var(--section-paper); }
body.lustrelook-website :is(.approach-section,.overview-feature,.detail-opening,.about-story,.pricing-intro,.cost-process) { background: var(--section-sand); }
body.lustrelook-website .cost-process { background: var(--dark); }
body.lustrelook-website #main > :is(.approach-section,.overview-feature,.detail-opening,.about-story,.pricing-intro,.cost-process,.closing-section,.faq-feature,.related) { border-top: 1px solid var(--section-line); }
body.lustrelook-website:is(.page-acne-scar-treatment,.page-body-scar-revision,.page-pico-genesis) .detail-plan { padding: var(--space) 0; border: 0; background: var(--section-paper); }
body.lustrelook-website.page-laser-skin-treatments #all-treatments { padding: var(--space) 0; border-inline: 0; margin-block: 0; }
body.lustrelook-website .closing-section { background: var(--section-sand); }
body.lustrelook-website .closing-inner { padding-left: 24px; }
body.lustrelook-website .closing-inner :is(.eyebrow,h2,p) { margin-bottom: 18px; }
body.lustrelook-website .closing-inner .closing-address { margin: 0; }
body.lustrelook-website .closing-actions .button { margin: 0; }
body.lustrelook-website :is(.detail-photo,.overview-feature-image,.approach-image,.about-photo,.practitioner-portrait) { width: 100%; max-width: none; margin: 0; }
body.lustrelook-website :is(.detail-photo,.overview-feature-image,.approach-image,.about-photo,.practitioner-portrait,.service-card-media) > img { display: block; width: 100%; height: 100%; }
body.lustrelook-website .faq-list details:not([open]) > :not(summary) { display: none; }
body.lustrelook-website .faq-list summary { padding: 20px 24px; min-height: 72px; }
body.lustrelook-website .faq-list details p { margin: 0 24px 24px; }
body.lustrelook-website .faq-list details p:last-child { margin-bottom: 24px; }
body.lustrelook-website.page-contact .contact-main { padding: 32px 0 var(--space); background: var(--section-sand); }
body.lustrelook-website.page-contact .contact-grid { gap: 56px; padding-top: 32px; }
body.lustrelook-website.page-contact .form-card { border-radius: 8px; padding: 32px; }
body.lustrelook-website.page-contact .form-card h2 { margin: 0 0 24px; }
body.lustrelook-website .form-card .wpcf7 form { display: grid; gap: 18px; margin: 0; }
body.lustrelook-website .wpcf7 .field { display: grid; gap: 8px; margin: 0; }
body.lustrelook-website .wpcf7 .field label { margin: 0; font-size: 13px; line-height: 1.4; }
body.lustrelook-website .form-card .wpcf7 textarea { height: 132px; min-height: 120px; max-height: none; resize: vertical; }
body.lustrelook-website .form-card .wpcf7 .form-care { margin: -6px 0 0; font-size: 13px; line-height: 1.55; }
body.lustrelook-website .adm-lustre-sms { margin: 0; padding: 16px; border: 1px solid var(--section-line); background: var(--cream); font-size: 13px; line-height: 1.6; }
body.lustrelook-website .adm-lustre-sms .wpcf7-list-item { display: block; margin: 0; }
body.lustrelook-website .adm-lustre-sms .wpcf7-list-item > label { display: flex; align-items: flex-start; gap: 12px; margin: 0; font-size: 13px; line-height: 1.6; font-weight: 400; }
body.lustrelook-website .adm-lustre-sms .wpcf7-list-item-label { flex: 1; min-width: 0; }
body.lustrelook-website .form-card .wpcf7 input[type=checkbox] { display: inline-block; flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; margin: 3px 0 0; padding: 0; accent-color: var(--gold-dark); cursor: pointer; }
body.lustrelook-website .adm-lustre-consent { margin: -4px 0 0; line-height: 1.5; }
body.lustrelook-website .wpcf7 input.form-submit { margin: 0; border-radius: 4px; min-height: 52px; }
body.lustrelook-website .wpcf7 form .wpcf7-response-output { margin: 0; }
@media (max-width: 980px) {
  body.lustrelook-website { --space: 60px; }
  body.lustrelook-website.page-contact .contact-grid { gap: 32px; }
}
@media (max-width: 760px) {
  body.lustrelook-website { --space: 48px; }
  body.lustrelook-website .section-lead { gap: 18px; margin-bottom: 28px; }
  body.lustrelook-website .closing-inner { gap: 28px; padding-left: 20px; }
  body.lustrelook-website :is(.section-link,.about-next) { margin-top: 28px; }
  body.lustrelook-website :is(.about-photo,.practitioner-portrait) { max-width: none; }
  body.lustrelook-website.page-contact .contact-grid { padding-top: 28px; }
  body.lustrelook-website .faq-list summary { padding: 18px; min-height: 64px; }
  body.lustrelook-website .faq-list details p { margin: 0 18px 20px; }
}
@media (max-width: 520px) {
  body.lustrelook-website .wrap { width: calc(100% - 36px); }
  body.lustrelook-website.page-contact .form-card { padding: 24px 20px; }
  body.lustrelook-website .adm-lustre-sms { padding: 14px; }
  body.lustrelook-website .form-card .wpcf7 textarea { height: 120px; }
}
