/* Lucia — one action system, including the two questionnaire shadow roots.
 * The ID in :is() deliberately outranks the archived Divi !important rules.
 * Do not add ordinary card links or navigation controls to these CTA lists. */
:root,:host{
 --action-ink:#303c2b;--action-paper:#fffaf3;--action-hover:#48583e;
 --action-ring:#925333;--action-radius:999px;--action-size:14px;
}
:is(.button,.next-primary,.closing-primary,.contact-submit,.project-primary,
 a.lr-primary-button,a.lr-round-link,a.lr-context-link,a.lr-rse-link,
 .menu-booking,.header-soin,#lr-choice-help){
 box-sizing:border-box!important;display:inline-flex!important;
 align-items:center!important;justify-content:center!important;gap:8px!important;
 width:fit-content!important;min-width:0!important;max-width:100%!important;
 min-height:48px!important;height:auto!important;padding:12px 24px!important;
 border:1px solid var(--action-border,var(--action-ink))!important;
 border-radius:var(--action-radius)!important;
 background:var(--action-bg,var(--action-ink))!important;
 color:var(--action-fg,var(--action-paper))!important;
 font:600 var(--action-size)/1.4 Arimo,Arial,sans-serif!important;
 letter-spacing:0!important;text-transform:none!important;text-align:center!important;
 text-decoration:none!important;text-shadow:none!important;white-space:normal!important;
 overflow-wrap:break-word!important;word-break:normal!important;
 box-shadow:none!important;cursor:pointer;
 transition:background-color .18s ease,color .18s ease,border-color .18s ease!important;
}
:is(.button,.next-primary,.closing-primary,.contact-submit,.project-primary,
 a.lr-primary-button,a.lr-round-link,a.lr-context-link,a.lr-rse-link,
 .menu-booking,.header-soin,#lr-choice-help):hover:not(:disabled):not([aria-disabled="true"]){
 background:var(--action-hover-bg,var(--action-hover))!important;
 border-color:var(--action-hover-border,var(--action-hover-bg,var(--action-hover)))!important;
 color:var(--action-hover-fg,var(--action-paper))!important;
 transform:none!important;
}
/* Primary action on a photograph; secondary discovery actions remain outlined. */
.immersive-copy .button,a.lr-sensory-cta,.lr-final-cta a.lr-primary-button{
 --action-bg:var(--action-paper);--action-fg:var(--action-ink);--action-border:var(--action-paper);
 --action-hover-bg:#e7eddf;--action-hover-fg:var(--action-ink);
}
a.lr-round-link,a.lr-rse-link{
 --action-bg:#202b2073;--action-fg:var(--action-paper);--action-border:#fffaf3b3;
 --action-hover-bg:var(--action-paper);--action-hover-fg:var(--action-ink);
}
/* Compact header, still one line even at 320 px. Booking stays in the mobile menu. */
#haut.header :is(.button-small,.header-soin){
 min-height:44px!important;padding:10px 16px!important;font-size:13px!important;
 white-space:nowrap!important;flex-shrink:0;
}
#haut.header .header-soin{
 --action-bg:#edf0e7;--action-fg:var(--action-ink);--action-border:#d6d9cc;
 --action-hover-bg:#dfe5d6;--action-hover-fg:var(--action-ink);
}
#menu .menu-booking{display:none!important}
/* No inherited Divi arrows or duplicated Planity logo after a complete label. */
:is(a.lr-primary-button,a.lr-round-link,a.lr-context-link,a.lr-rse-link,#lr-choice-help)::before,
:is(a.lr-primary-button,a.lr-round-link,a.lr-context-link,a.lr-rse-link,#lr-choice-help)::after{
 content:none!important;display:none!important;
}
#lr-choice-help svg{display:none}
/* Quiet secondary links: the same underline, typography and comfortable target. */
:is(.text-link,.rse-text-link,a.lr-text-button,.next-contact,.closing-secondary,
 .finish-contact,.project-secondary,.project-suggestion a,.project-back,.project-restart,
 .lr-choice-close,#lr-choice-browse){
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;
 min-height:44px!important;min-width:0!important;max-width:100%!important;
 padding:8px 0!important;border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;
 color:var(--action-link,var(--action-ink))!important;
 font:500 14px/1.5 Arimo,Arial,sans-serif!important;
 letter-spacing:0!important;text-transform:none!important;
 text-align:left!important;text-decoration:underline!important;
 text-decoration-thickness:1px!important;text-underline-offset:5px!important;
 white-space:normal!important;overflow-wrap:break-word!important;cursor:pointer;
 transition:color .18s ease!important;
}
:is(.text-link,.rse-text-link,a.lr-text-button,.next-contact,.closing-secondary,
 .finish-contact,.project-secondary,.project-suggestion a,.project-back,.project-restart,
 .lr-choice-close,#lr-choice-browse):hover{color:#795038!important;transform:none!important}
:is(a.lr-text-button,#lr-choice-browse)::before,
:is(a.lr-text-button,#lr-choice-browse)::after{content:none!important;display:none!important}
/* Selection is a different role from booking: keep the row/card shape and state. */
.next-choice button,.project-options button,.guide-options button{
 box-sizing:border-box;min-height:48px!important;max-width:100%;
 font:500 14px/1.45 Arimo,Arial,sans-serif!important;letter-spacing:0!important;
 text-transform:none!important;border-radius:8px!important;white-space:normal;
}
.project-options button[aria-pressed="true"],.next-choice button[aria-pressed="true"],
.guide-options button[aria-pressed="true"]{
 background:#e9eddf!important;border-color:#616950!important;color:#303c2b!important;
 box-shadow:inset 0 -2px 0 #616950!important;
}
/* Focus has a paper halo so it remains visible on both olive and cream. */
:is(.button,.next-primary,.closing-primary,.project-primary,.contact-submit,
 a.lr-primary-button,a.lr-round-link,a.lr-context-link,a.lr-rse-link,.menu-booking,
 .header-soin,.text-link,.rse-text-link,a.lr-text-button,.next-contact,.closing-secondary,
 .finish-contact,.project-secondary,.project-suggestion a,.project-back,.project-restart,
 .lr-choice-close,.project-options button,.next-choice button,.guide-options button,
 .nav-open,.mobile-open,.menu-close,.soin-tab,.soin-close,.lr-voices-control,
 #lr-choice-help,#lr-choice-browse):focus-visible{
 outline:2px solid var(--action-ring)!important;outline-offset:3px!important;
 box-shadow:0 0 0 3px var(--action-paper)!important;
}
:is(.button,.next-primary,.closing-primary,.project-primary,.contact-submit,
 .project-options button,.next-choice button,#lr-choice-help):is(:disabled,[aria-disabled="true"]){
 opacity:.55!important;cursor:not-allowed!important;transform:none!important;
}
:is(.project-primary,.contact-submit)[aria-busy="true"]{cursor:wait!important}
:is(.button,.next-primary,.closing-primary,.project-primary,.contact-submit,
 .header-soin,.menu-booking,#lr-choice-help)[hidden]{display:none!important}
@media(max-width:700px){
 #haut.header .header-soin{font-size:11px!important;padding:10px 12px!important}
 #haut.header .header-actions>.button-small{display:none!important}
 #menu .menu-booking{display:flex!important;width:100%!important}
}
@media(max-width:440px){
 .contact-feedback .contact-submit{width:100%!important}
 :is(.button,.next-primary,.closing-primary,.project-primary,.contact-submit,
 a.lr-primary-button,a.lr-round-link,a.lr-context-link,a.lr-rse-link,#lr-choice-help){padding-inline:20px!important}
 #haut.header .header-soin{padding-inline:12px!important}
}
@media(prefers-reduced-motion:reduce){
 :is(.button,.next-primary,.closing-primary,.project-primary,.contact-submit,
 a.lr-primary-button,a.lr-round-link,a.lr-context-link,a.lr-rse-link,.menu-booking,
 .header-soin,.text-link,.project-options button,.next-choice button,#lr-choice-help){transition:none!important}
}
