/* CP35: opt-in palette on the public pages only. Existing light themes are unchanged.
 * Keep this file AFTER public-shared.css and classic/premium.css. */
.public-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--wine-dark);font:800 .82rem/1.3 Inter,"Segoe UI",Arial,sans-serif;cursor:pointer;white-space:nowrap}
.public-theme-toggle:hover{border-color:var(--pink)}
.public-theme-toggle:focus-visible{outline:3px solid #2b70d5;outline-offset:3px}
.classic-theme-actions{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.classic .classic-theme-actions .language-toggle{margin:0}
@media(max-width:470px){.premium .nav-actions,.gallery-page .nav-actions{flex-wrap:wrap;justify-content:flex-end}.public-theme-toggle{font-size:.75rem;padding:8px 10px}}

:root[data-public-theme="dark"]{
 color-scheme:dark;
 --wine:#e48bb8;--wine-dark:#f5c4da;--pink:#e39ac3;--rose:#342333;
 --ink:#f3eaf1;--muted:#c5b6c3;--cream:#17131c;--line:#504052;
 --ok:#a4ebbe;--danger:#ffb6c3;--shadow:0 18px 50px rgba(0,0,0,.38);
 --public-panel:#25202b;--public-raised:#302635;--public-input:#211c27;
}
:root[data-public-theme="dark"] body{background:#17131c;color:var(--ink)}
:root[data-public-theme="dark"] .skip-link{background:#29202c;color:#fff}
:root[data-public-theme="dark"] .language-toggle,
:root[data-public-theme="dark"] .public-theme-toggle{background:#332838;color:#ffe5f2;border-color:#76607a}
:root[data-public-theme="dark"] .booking-card,
:root[data-public-theme="dark"] .booking-fallback,
:root[data-public-theme="dark"] .choice-card,
:root[data-public-theme="dark"] .service-card,
:root[data-public-theme="dark"] .review-card,
:root[data-public-theme="dark"] .gallery-item,
:root[data-public-theme="dark"] #faqList details,
:root[data-public-theme="dark"] .location-card,
:root[data-public-theme="dark"] .modal-card,
:root[data-public-theme="dark"] .booking-review,
:root[data-public-theme="dark"] .date-time-picker{
 background:var(--public-panel);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow);
}
:root[data-public-theme="dark"] .booking-review{box-shadow:none}
:root[data-public-theme="dark"] .date-time-picker{background:linear-gradient(180deg,#2a2230,#211c28);box-shadow:none}
:root[data-public-theme="dark"] .booking-summary{background:#40283a;color:#ffe4f0;border:1px solid #74506b}
:root[data-public-theme="dark"] .booking-summary small{color:#ffe0ef}
:root[data-public-theme="dark"] .booking-progress li:before{background:#403344;color:#f0deeb;border-color:#6a5369}
:root[data-public-theme="dark"] .booking-progress li.active:before{background:#9c376b;color:#fff;border-color:#d780b0}
:root[data-public-theme="dark"] .booking-progress li.active{color:#ffc2dd}
:root[data-public-theme="dark"] .booking-progress li.done:before{background:#244a36;color:#b3f5ca;border-color:#588e70}
:root[data-public-theme="dark"] .booking-progress li.done:after{background:#588e70}
:root[data-public-theme="dark"] .choice-card:hover{background:#34293a;border-color:#c679a6}
:root[data-public-theme="dark"] .field input,
:root[data-public-theme="dark"] .field textarea,
:root[data-public-theme="dark"] .field select,
:root[data-public-theme="dark"] .qty-input,
:root[data-public-theme="dark"] .calendar-jump input{
 background:var(--public-input);color:var(--ink);border-color:#725d73;
}
:root[data-public-theme="dark"] input::placeholder,
:root[data-public-theme="dark"] textarea::placeholder{color:#c0afc0;opacity:1}
:root[data-public-theme="dark"] input[type="checkbox"],
:root[data-public-theme="dark"] input[type="radio"]{accent-color:#df8ab5}
:root[data-public-theme="dark"] input:disabled,
:root[data-public-theme="dark"] button:disabled{opacity:.65}
:root[data-public-theme="dark"] .time-chip,
:root[data-public-theme="dark"] .secondary-step-btn,
:root[data-public-theme="dark"] .calendar-nav,
:root[data-public-theme="dark"] .gallery-all-link,
:root[data-public-theme="dark"] .classic-gallery-link{background:#34283a;border:1px solid #8b6080;color:#ffdaed}
:root[data-public-theme="dark"] .time-chip:hover,
:root[data-public-theme="dark"] .calendar-day.free:hover,
:root[data-public-theme="dark"] .gallery-all-link:hover{background:#493249;color:#fff}
:root[data-public-theme="dark"] .time-chip.selected,
:root[data-public-theme="dark"] .calendar-day.selected{background:#9c376b;color:#fff;border-color:#d985b3}
:root[data-public-theme="dark"] .calendar-day{background:#24202a;color:#c3b5c4;border-color:#4c4250}
:root[data-public-theme="dark"] .calendar-day.free{background:#302537;color:#ffd0e8;border-color:#996889;box-shadow:none}
:root[data-public-theme="dark"] .calendar-day.free small,
:root[data-public-theme="dark"] .calendar-legend span:first-child{color:#a5efba}
:root[data-public-theme="dark"] .calendar-day.selected small{color:#fff}
:root[data-public-theme="dark"] .calendar-day.failed{background:#493122;color:#ffcbac;border-color:#b88158}
:root[data-public-theme="dark"] .calendar-day.failed small{color:#ffcbac}
:root[data-public-theme="dark"] .calendar-toolbar strong,
:root[data-public-theme="dark"] .calendar-jump label,
:root[data-public-theme="dark"] .available-hours h4,
:root[data-public-theme="dark"] #faqList summary{color:#ffe0f0}
:root[data-public-theme="dark"] .review-row{border-color:var(--line)}
:root[data-public-theme="dark"] .pending-note,
:root[data-public-theme="dark"] .preview-note,
:root[data-public-theme="dark"] .maintenance-banner{background:#49391f;color:#ffe2a2!important;border-color:#8d7144}
:root[data-public-theme="dark"] .booking-message.success{background:#203f30;color:#b4f4cd}
:root[data-public-theme="dark"] .booking-message.error{background:#542936;color:#ffc8d0}
:root[data-public-theme="dark"] .gallery-photo{background:#342333}
:root[data-public-theme="dark"] .gallery-item figcaption{color:#eee2ed}
:root[data-public-theme="dark"] .modal-close{background:#4e3a4e;color:#fff}
:root[data-public-theme="dark"] .business-details{border-color:var(--line)}
:root[data-public-theme="dark"] .legal-links button{color:#e5b9d2}
:root[data-public-theme="dark"] .site-footer,
:root[data-public-theme="dark"] .classic-footer{color:var(--muted);border-color:var(--line)}
:root[data-public-theme="dark"] .environment-badge{background:#37315d;color:#fff}
:root[data-public-theme="dark"] .primary-btn,
:root[data-public-theme="dark"] .nav-cta{background:#9c376b;color:#fff!important;box-shadow:0 5px 16px rgba(0,0,0,.24)}
:root[data-public-theme="dark"] .booking-success-wa{color:#ffcee5}
:root[data-public-theme="dark"] .legal-link{color:#f8b8d7}
:root[data-public-theme="dark"] :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #ffc77f;outline-offset:3px}

/* Premium: preserve the layout and brand treatment; change only the palette. */
:root[data-public-theme="dark"] body.premium{background:radial-gradient(circle at 80% 0%,#352133 0,transparent 28%),linear-gradient(#17131c,#1d1721)}
:root[data-public-theme="dark"] .topbar{background:rgba(29,23,33,.96);border-bottom:1px solid #574058}
:root[data-public-theme="dark"] .nav-links a{color:#eed7e7}
:root[data-public-theme="dark"] .hero h1,
:root[data-public-theme="dark"] .section-head h2,
:root[data-public-theme="dark"] .gallery-page-heading h1{color:#ffd3e6}
:root[data-public-theme="dark"] .hero-logo-wrap:before{background:linear-gradient(145deg,#372437,#4c2c42);box-shadow:0 30px 80px rgba(0,0,0,.35)}
:root[data-public-theme="dark"] .about-panel{background:linear-gradient(135deg,#41203a,#632848);color:#fff;border:1px solid #805473}
:root[data-public-theme="dark"] .about-panel #aboutText,
:root[data-public-theme="dark"] .about-panel p{color:#ffe6f2}
:root[data-public-theme="dark"] .about-panel .instagram-link{color:#ffd7ed}
:root[data-public-theme="dark"] .instagram-card{background:linear-gradient(135deg,#2a202d,#392436);border-color:#614b60;box-shadow:var(--shadow)}
:root[data-public-theme="dark"] .instagram-card strong{color:#ffd6e7}

/* Classic: original compact layout remains intact; override its hard-coded whites. */
:root[data-public-theme="dark"] body.classic{background:#17131c;color:var(--ink)}
:root[data-public-theme="dark"] .classic-shell{background:#25202b;box-shadow:0 12px 36px rgba(0,0,0,.38)}
:root[data-public-theme="dark"] .classic-header p,
:root[data-public-theme="dark"] .classic .booking-card>h2,
:root[data-public-theme="dark"] .classic .booking-step h3,
:root[data-public-theme="dark"] .classic .field label{color:#f2e4ee}
:root[data-public-theme="dark"] .classic-location{background:#352736;border-color:#77536e;color:#efdeeb}
:root[data-public-theme="dark"] .classic .booking-card{background:#25202b;box-shadow:none}
:root[data-public-theme="dark"] .classic .choice-card{background:#302633;color:#f6edf4;border-color:#59485d}
:root[data-public-theme="dark"] .classic .choice-card:hover{background:#3c2b3d;border-color:#d083ad}
:root[data-public-theme="dark"] .classic .booking-addons{border-color:#69526a}
:root[data-public-theme="dark"] .classic .field input,
:root[data-public-theme="dark"] .classic .field textarea,
:root[data-public-theme="dark"] .classic .field select,
:root[data-public-theme="dark"] .classic .qty-input{background:#211c27;color:#f6eaf3;border-color:#725d73}
:root[data-public-theme="dark"] .classic .field input:focus,
:root[data-public-theme="dark"] .classic .field textarea:focus,
:root[data-public-theme="dark"] .classic .field select:focus,
:root[data-public-theme="dark"] .classic .qty-input:focus{background:#2d2431;border-color:#e59ec3}
:root[data-public-theme="dark"] .classic .time-chip{background:#34283a;color:#ffdaed;border-color:#a46b90}
:root[data-public-theme="dark"] .classic .time-chip:hover{background:#493249;color:#fff}
:root[data-public-theme="dark"] .classic .time-chip.selected{background:#9c376b;color:#fff}
:root[data-public-theme="dark"] .classic .booking-summary{background:#40283a;border-color:#74506b;color:#ffe4f0}
:root[data-public-theme="dark"] .classic .primary-btn{background:#9c376b;color:#fff}
:root[data-public-theme="dark"] .classic .primary-btn:disabled{background:#5b4c59;color:#ddd}
:root[data-public-theme="dark"] .classic .secondary-step-btn{background:#34283a;color:#ffdaed;border-color:#8b6080}
:root[data-public-theme="dark"] .classic .pending-note,
:root[data-public-theme="dark"] .classic .privacy-notice{background:#423044;color:#f2e4ef;border-color:#795576}
:root[data-public-theme="dark"] .classic .booking-progress li.active{color:#ffc1df}
:root[data-public-theme="dark"] .classic-footer .legal-links button{color:#eed0e2}

/* Gallery follows the saved public mode regardless of Premium/Classic choice. */
:root[data-public-theme="dark"] body.gallery-page[data-gallery-theme="classic"]{background:#17131c}
:root[data-public-theme="dark"] .gallery-lightbox{background:rgba(8,6,12,.95)}
:root[data-public-theme="dark"] .gallery-lightbox-close,
:root[data-public-theme="dark"] .gallery-lightbox-nav{background:#372c3d;color:#fff;border:1px solid #84678a}
