:root{
  --amethyst:#9b5fc0;--amethyst-dark:#6b3a8a;--amethyst-deep:#3d1f5c;--amethyst-light:#c49de0;
  --gold:#d4a94a;--gold-light:#f0d080;--midnight:#0d0820;--dark-bg:#1a1530;
  --card-bg:rgba(30,18,50,.85);--card-border:rgba(155,95,192,.3);
  --text-light:#e8dff5;--text-muted:#9d8cb5;--success:#5bbf7a;--danger:#d45f5f;--warning:#d4a94a;
  --nav-h:64px;--radius:12px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Lato',sans-serif;background:var(--dark-bg);color:var(--text-light);min-height:100vh;overflow-x:hidden}
#stars-canvas{position:fixed;inset:0;pointer-events:none;z-index:0}
#app{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}

/* NAV */
nav{position:sticky;top:0;z-index:100;background:rgba(13,8,32,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--card-border);padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}
.nav-logo{font-family:'Cinzel Decorative',serif;font-size:.95rem;color:var(--gold);text-decoration:none;display:flex;align-items:center;gap:8px;flex-shrink:0;text-shadow:0 0 20px rgba(212,169,74,.4)}
.nav-logo span:first-child{font-size:1.3rem}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-btn{background:none;border:none;color:var(--text-muted);font-family:'Cinzel',serif;font-size:.75rem;letter-spacing:.05em;cursor:pointer;padding:8px 12px;border-radius:6px;transition:.2s;text-decoration:none;display:inline-block}
.nav-btn:hover,.nav-btn.active{color:var(--amethyst-light);background:rgba(155,95,192,.12)}
.nav-cta{background:linear-gradient(135deg,var(--amethyst-dark),var(--amethyst));color:#fff !important;font-weight:600}
.nav-cta:hover{opacity:.9}
.nav-user{display:flex;align-items:center;gap:6px;padding-left:8px;border-left:1px solid var(--card-border)}
.nav-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--amethyst-dark),var(--gold));display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#fff;flex-shrink:0}
.nav-username{color:var(--amethyst-light);font-size:.82rem;font-family:'Cinzel',serif}
.nav-logout{color:var(--danger) !important}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--amethyst-light);border-radius:2px;transition:.3s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* HERO */
.hero{min-height:calc(100vh - var(--nav-h));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px 40px}
}
.hero-title{font-family:'Cinzel Decorative',serif;font-size:clamp(1.6rem,5vw,3rem);color:var(--gold);text-shadow:0 0 30px rgba(212,169,74,.4);margin-bottom:14px}
.hero-subtitle{font-family:'Cinzel',serif;font-size:clamp(.85rem,2.5vw,1.05rem);color:var(--amethyst-light);letter-spacing:.12em;margin-bottom:10px}
.hero-desc{font-size:.95rem;color:var(--text-muted);max-width:480px;line-height:1.7;margin-bottom:36px}

/* BUTTONS */
.btn{padding:12px 28px;border-radius:50px;border:none;font-family:'Cinzel',serif;font-size:.85rem;letter-spacing:.06em;cursor:pointer;transition:.25s;text-decoration:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--amethyst-dark),var(--amethyst));color:#fff;box-shadow:0 4px 20px rgba(155,95,192,.4)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(155,95,192,.5)}
.btn-gold{background:linear-gradient(135deg,#9a7020,var(--gold));color:var(--midnight);font-weight:700;box-shadow:0 4px 20px rgba(212,169,74,.3)}
.btn-gold:hover{transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--amethyst-light);border:1.5px solid var(--amethyst)}
.btn-outline:hover{background:rgba(155,95,192,.12)}
.btn-danger{background:var(--danger);color:#fff}
.btn-success{background:var(--success);color:#fff}
.btn-sm{padding:7px 16px;font-size:.78rem}
.btn-icon{padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid var(--card-border);color:var(--text-muted);cursor:pointer;transition:.2s;font-size:.9rem}
.btn-icon:hover{border-color:var(--amethyst);color:var(--amethyst-light)}
.w-full{width:100%}

/* SECTION */
.section{padding:56px 20px;max-width:1100px;margin:0 auto}
.section-title{font-family:'Cinzel Decorative',serif;font-size:clamp(1.2rem,3vw,1.9rem);color:var(--gold);text-align:center;margin-bottom:10px}
.section-line{width:70px;height:2px;margin:0 auto 36px;background:linear-gradient(90deg,transparent,var(--amethyst),transparent)}

/* CARDS GRID */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:26px 22px;backdrop-filter:blur(8px);transition:.3s;position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--amethyst-light),transparent);opacity:0;transition:.3s}
.card:hover{transform:translateY(-3px);border-color:var(--amethyst)}
.card:hover::before{opacity:1}
.card.featured{border-color:var(--gold);background:linear-gradient(160deg,rgba(60,30,90,.9),rgba(40,20,60,.9))}
.card-icon{font-size:2.2rem;margin-bottom:14px}
.card-title{font-family:'Cinzel',serif;font-size:1rem;color:var(--amethyst-light);margin-bottom:7px}
.card-desc{color:var(--text-muted);font-size:.87rem;line-height:1.6;margin-bottom:18px}
.card-price{font-family:'Cinzel',serif;font-size:1.3rem;color:var(--gold);margin-bottom:3px}
.card-price-sub{color:var(--text-muted);font-size:.76rem;margin-bottom:14px}
.badge{position:absolute;top:14px;right:14px;background:var(--gold);color:var(--midnight);font-family:'Cinzel',serif;font-size:.65rem;font-weight:700;padding:3px 9px;border-radius:50px}

/* FORMS */
.form-page{min-height:calc(100vh - var(--nav-h));display:flex;align-items:center;justify-content:center;padding:36px 20px}
.form-box{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:36px;width:100%;max-width:420px;backdrop-filter:blur(12px)}
.form-title{font-family:'Cinzel Decorative',serif;font-size:1.25rem;color:var(--gold);text-align:center;margin-bottom:7px}
.form-sub{text-align:center;color:var(--text-muted);font-size:.86rem;margin-bottom:26px}
.form-group{margin-bottom:16px}
.form-row{display:flex;gap:12px}
.form-row .form-group{flex:1}
label{display:block;color:var(--amethyst-light);font-size:.8rem;letter-spacing:.04em;margin-bottom:5px;font-family:'Cinzel',serif}
input,select,textarea{width:100%;padding:11px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(155,95,192,.3);border-radius:10px;color:var(--text-light);font-family:'Lato',sans-serif;font-size:.93rem;transition:.2s;-webkit-appearance:none}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,169,74,.15)}
select option{background:var(--amethyst-deep)}
textarea{resize:vertical;min-height:80px}
.form-toggle{text-align:center;margin-top:18px;color:var(--text-muted);font-size:.84rem}
.form-toggle a{color:var(--amethyst-light);text-decoration:underline;cursor:pointer}

/* NOTICES */
.notice{padding:12px 15px;border-radius:8px;margin-bottom:15px;font-size:.88rem;border-left:3px solid}
.notice-success{background:rgba(91,191,122,.1);border-color:var(--success);color:var(--success)}
.notice-error{background:rgba(212,95,95,.1);border-color:var(--danger);color:var(--danger)}
.notice-info{background:rgba(155,95,192,.1);border-color:var(--amethyst-light);color:var(--amethyst-light)}
.notice-warning{background:rgba(212,169,74,.1);border-color:var(--gold);color:var(--gold)}
.status-badge{display:inline-block;padding:4px 10px;border-radius:10px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.status-pending{background:rgba(212,169,74,.15);color:var(--warning)}
.status-confirmed{background:rgba(91,191,122,.15);color:var(--success)}
.status-cancelled{background:rgba(212,95,95,.15);color:var(--danger)}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:.2s}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:linear-gradient(160deg,rgba(30,15,55,.98),rgba(20,10,38,.98));border:1px solid var(--amethyst);border-radius:20px;padding:32px;width:100%;max-width:500px;transform:scale(.95);transition:.25s;max-height:90vh;overflow-y:auto}
.modal-overlay.open .modal{transform:scale(1)}
.modal-title{font-family:'Cinzel Decorative',serif;color:var(--gold);font-size:1.15rem;margin-bottom:20px}
.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text-muted);font-size:1.3rem;cursor:pointer;line-height:1}

/* CONDITIONS BOX */
.conditions-box{background:rgba(212,169,74,.06);border:1px solid rgba(212,169,74,.3);border-radius:10px;padding:16px;margin:18px 0;font-size:.84rem;line-height:1.8;color:var(--text-muted)}
.conditions-box strong{color:var(--gold);display:block;margin-bottom:8px;font-family:'Cinzel',serif}
.conditions-box li{margin-left:16px;margin-bottom:4px}

/* DASHBOARD CLIENT */
.bookings-list{display:flex;flex-direction:column;gap:14px;max-width:760px;margin:0 auto;padding:0 20px 40px}
.booking-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:20px;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.booking-item-info{flex:1;min-width:200px}
.booking-item-service{font-family:'Cinzel',serif;color:var(--amethyst-light);font-size:.95rem;margin-bottom:5px}
.booking-item-date{color:var(--text-muted);font-size:.86rem;margin-bottom:4px}
.booking-item-comment{color:var(--text-muted);font-size:.82rem;font-style:italic;margin-top:6px;border-left:2px solid var(--card-border);padding-left:10px}
.booking-item-price{font-family:'Cinzel',serif;color:var(--gold);font-size:1rem}

/* FOOTER */
footer{border-top:1px solid var(--card-border);padding:36px 20px;text-align:center;color:var(--text-muted);font-size:.81rem}
.footer-logo{font-family:'Cinzel Decorative',serif;color:var(--gold);margin-bottom:10px;font-size:.95rem}
footer p{line-height:1.8}

/* COOLDOWN */
.cooldown-box{background:rgba(212,95,95,.08);border:1px solid rgba(212,95,95,.3);padding:12px;border-radius:8px;text-align:center;margin-bottom:14px;color:var(--danger);font-size:.86rem}
.cooldown-box strong{font-size:1.1rem;display:block;margin-top:3px}

/* UTILITIES */
.text-center{text-align:center}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-8{gap:8px}.gap-12{gap:12px}
.divider{height:1px;background:var(--card-border);margin:18px 0}

/* RESPONSIVE */
@media(prefers-reduced-motion:reduce){#stars-canvas{display:none}*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}

@media(max-width:768px){
    .nav-logo-text{display:none}
    .nav-hamburger{display:flex}
    .nav-links{display:none;position:absolute;top:var(--nav-h);left:0;right:0;background:rgba(13,8,32,.98);border-bottom:1px solid var(--card-border);padding:12px 16px;flex-direction:column;align-items:stretch;gap:4px}
    .nav-links.open{display:flex}
    .nav-btn{padding:12px 16px;font-size:.85rem}
    .nav-user{flex-direction:column;align-items:flex-start;border-left:none;border-top:1px solid var(--card-border);padding-top:10px;margin-top:6px;gap:4px}
    .nav-username{display:none}
    .cards-grid{grid-template-columns:1fr}
    .form-box{padding:24px 18px}
    .form-row{flex-direction:column;gap:0}
    .modal{padding:24px 18px}
    .booking-item{flex-direction:column}
}
@media(max-width:480px){
    .section{padding:40px 14px}
    .btn{padding:10px 20px;font-size:.8rem}
}


/* ════════════ LOGOS ════════════ */
.nav-logo-img{
    height:40px;width:40px;border-radius:50%;object-fit:cover;
    box-shadow:0 0 14px rgba(212,169,74,.35);
    transition:transform .3s,box-shadow .3s;
    flex-shrink:0;
}
.nav-logo:hover .nav-logo-img{transform:rotate(-8deg) scale(1.05);box-shadow:0 0 22px rgba(212,169,74,.55)}
.nav-logo-text{font-size:.85rem}

.hero-logo{
    width:240px;height:240px;border-radius:50%;
    margin-bottom:32px;
    box-shadow:0 0 60px rgba(155,95,192,.45),0 0 120px rgba(212,169,74,.18);
    animation:pulse-logo 5s ease-in-out infinite;
    object-fit:cover;
    border:2px solid rgba(212,169,74,.25);
}
@keyframes pulse-logo{
    0%,100%{box-shadow:0 0 60px rgba(155,95,192,.45),0 0 120px rgba(212,169,74,.18);transform:scale(1)}
    50%{box-shadow:0 0 90px rgba(155,95,192,.6),0 0 180px rgba(212,169,74,.3);transform:scale(1.02)}
}

.form-logo{
    width:90px;height:90px;border-radius:50%;
    display:block;margin:0 auto 18px;
    box-shadow:0 0 30px rgba(212,169,74,.3);
    border:2px solid rgba(212,169,74,.2);
}

.footer-logo-img{
    width:60px;height:60px;border-radius:50%;
    margin-bottom:14px;display:block;margin-left:auto;margin-right:auto;
    box-shadow:0 0 20px rgba(212,169,74,.25);
    border:1px solid rgba(212,169,74,.2);
}

/* ════════════ HERO IMPROVEMENTS ════════════ */
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* ════════════ FORM POLISH ════════════ */
.form-box{
    animation:fadeInUp .4s ease-out;
}
@keyframes fadeInUp{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}

button[type="submit"]:disabled{opacity:.6;cursor:not-allowed;transform:none !important}

/* MOBILE LOGO */
@media(max-width:768px){
    .nav-logo-img{height:36px;width:36px}
    .nav-logo-text{display:none}
    .hero-logo{width:180px;height:180px;margin-bottom:24px}
    .form-logo{width:75px;height:75px}
}
@media(max-width:480px){
    .hero-logo{width:150px;height:150px}
}


/* ════════════ FLUID TRANSITIONS ════════════ */
*, *::before, *::after { transition-property: background-color, border-color, color, opacity, transform, box-shadow }
body { transition-duration: .25s }

/* Smooth scrolling */
html { scroll-behavior: smooth }

/* Page transitions */
main { animation: pageIn .3s ease-out }
@keyframes pageIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* Card hover deeper */
.card { will-change: transform }
.card:hover { box-shadow: 0 12px 40px rgba(155,95,192,.15) }

/* Button ripple feel */
.btn { position: relative; overflow: hidden; will-change: transform }
.btn::after {
    content:''; position:absolute; inset:0;
    background: radial-gradient(circle at center, rgba(255,255,255,.3) 0%, transparent 60%);
    opacity: 0; transition: opacity .25s;
    pointer-events: none;
}
.btn:active::after { opacity: 1; transition-duration: 0s }
.btn:active { transform: translateY(1px) scale(.98) }

/* Input focus glow */
input, select, textarea { transition: border-color .2s, box-shadow .2s, background-color .2s }
input:hover, select:hover, textarea:hover { background: rgba(255,255,255,.07) }

/* Notice pop-in */
.notice { animation: noticePop .3s ease-out }
@keyframes noticePop { from{opacity:0;transform:scale(.95)} to{opacity:1;transform:scale(1)} }

/* Modal smoother */
.modal-overlay { transition: opacity .2s }
.modal { transition: transform .25s cubic-bezier(.34,1.56,.64,1), opacity .2s }

/* Status badge breathe (pending only) */
.status-pending { animation: breathe 2.5s ease-in-out infinite }
@keyframes breathe { 0%,100%{opacity:1} 50%{opacity:.7} }

/* Better link underline */
.form-toggle a { position:relative; padding-bottom:1px }
.form-toggle a::after {
    content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
    background: var(--gold); transform: scaleX(0); transition: transform .2s;
}
.form-toggle a:hover::after { transform: scaleX(1) }
.form-toggle a:hover { color: var(--gold) }

/* Loading button state */
button[type="submit"]:disabled::after { display: none }

/* ════════════ MOBILE FIRST RESPONSIVE ════════════ */

/* Touch targets minimum 44px */
@media (max-width: 768px) {
    .nav-btn { min-height: 44px; display: flex; align-items: center }
    .btn { min-height: 44px; padding: 12px 22px }
    .btn-sm { min-height: 38px }
    input, select, textarea { font-size: 16px } /* iOS prevents zoom on focus */
    .modal-close { width: 36px; height: 36px; font-size: 1.5rem }
}

/* Mobile nav fluid */
@media (max-width: 768px) {
    nav { padding: 0 14px }
    .nav-links {
        gap: 2px;
        animation: slideDown .25s ease-out;
        box-shadow: 0 8px 30px rgba(0,0,0,.4);
    }
    @keyframes slideDown { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:translateY(0)} }
    .nav-cta { margin-top: 8px }
    .nav-user {
        background: rgba(155,95,192,.08);
        border-radius: 10px;
        padding: 12px;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
    }
    .nav-username { display: inline !important; flex: 1 }
    .nav-avatar { width: 32px; height: 32px }
}

/* Hero compact mobile */
@media (max-width: 768px) {
    .hero { padding: 36px 18px 28px; min-height: auto }
    .hero-title { font-size: 1.7rem }
    .hero-subtitle { font-size: .8rem }
    .hero-desc { font-size: .9rem; padding: 0 8px }
    .hero-cta { flex-direction: column; width: 100%; max-width: 280px }
    .hero-cta .btn { width: 100% }
}

/* Cards mobile spacing */
@media (max-width: 768px) {
    .section { padding: 32px 14px 40px }
    .cards-grid { gap: 14px }
    .card { padding: 20px 18px }
    .card-icon { font-size: 1.8rem; margin-bottom: 10px }
    .card-title { font-size: .95rem }
    .card-desc { font-size: .82rem }
    .card-price { font-size: 1.15rem }
}

/* Forms mobile */
@media (max-width: 768px) {
    .form-page { padding: 20px 14px; min-height: calc(100vh - var(--nav-h)) }
    .form-box { padding: 28px 20px; border-radius: 16px }
    .form-title { font-size: 1.15rem }
    .form-sub { font-size: .82rem; margin-bottom: 22px }
    .form-row { flex-direction: column; gap: 0 }
    label { font-size: .78rem }
}

/* Modal mobile */
@media (max-width: 768px) {
    .modal-overlay { padding: 14px; align-items: flex-end }
    .modal {
        max-width: 100%;
        padding: 24px 20px;
        border-radius: 20px 20px 14px 14px;
        max-height: 88vh;
    }
    .modal-overlay.open .modal { animation: slideUp .3s cubic-bezier(.34,1.56,.64,1) }
    @keyframes slideUp { from{transform:translateY(40px);opacity:0} to{transform:translateY(0);opacity:1} }
    .conditions-box { font-size: .78rem; padding: 12px }
    .conditions-box li { margin-left: 14px }
}

/* Booking item mobile redesign */
@media (max-width: 768px) {
    .bookings-list { padding: 0 14px 32px; gap: 12px }
    .booking-item { padding: 16px; border-radius: 12px }
    .booking-item-info { width: 100% }
    .booking-item-service { font-size: .9rem }
    .booking-item-date { font-size: .82rem }
    .booking-item > div:last-child {
        width: 100%;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between;
        margin-top: 10px;
        padding-top: 12px;
        border-top: 1px solid var(--card-border);
    }
}

/* Very small screens */
@media (max-width: 380px) {
    .hero-logo { width: 130px; height: 130px }
    .hero-title { font-size: 1.4rem }
    .form-box { padding: 22px 16px }
    .nav-logo-img { height: 32px; width: 32px }
    .btn { padding: 11px 18px; font-size: .78rem }
    .modal-title { font-size: 1rem }
}

/* Landscape phone */
@media (max-height: 500px) and (orientation: landscape) {
    .hero { padding: 24px 18px; min-height: auto }
    .hero-logo { width: 120px; height: 120px; margin-bottom: 16px }
    .hero-title { font-size: 1.4rem; margin-bottom: 6px }
    .hero-desc { margin-bottom: 18px }
}

/* Iphone X+ safe area */
@supports (padding: max(0px)) {
    nav { padding-left: max(20px, env(safe-area-inset-left)); padding-right: max(20px, env(safe-area-inset-right)) }
    footer { padding-bottom: max(36px, env(safe-area-inset-bottom)) }
    .form-page, .section { padding-left: max(20px, env(safe-area-inset-left)); padding-right: max(20px, env(safe-area-inset-right)) }
}

/* Prefers dark already dark - adjust contrast for light mode users (graceful) */
@media (prefers-color-scheme: light) {
    /* Site stays dark by design but ensure form contrast is fine */
}

/* Print styles */
@media print {
    nav, footer, #stars-canvas, .btn, .modal-overlay { display: none !important }
    body { background: white; color: black }
}

/* Larger screens - max width content */
@media (min-width: 1400px) {
    .section { max-width: 1200px }
    .hero { max-width: 900px; margin: 0 auto }
}

/* Reduced motion users */
@media (prefers-reduced-motion: reduce) {
    .hero-logo { animation: none }
    .status-pending { animation: none }
    main, .notice, .form-box, .modal { animation: none }
}


/* ════════════ CONTACT CHOICE ════════════ */
.contact-choice{display:flex;gap:10px;margin-top:6px}
.contact-option{flex:1;display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(255,255,255,.04);border:1.5px solid rgba(155,95,192,.25);border-radius:10px;cursor:pointer;transition:.2s}
.contact-option:hover{border-color:var(--amethyst);background:rgba(155,95,192,.1)}
.contact-option input[type=radio]{display:none}
.contact-option:has(input:checked){border-color:var(--gold);background:rgba(212,169,74,.08)}
.contact-icon{font-size:1.4rem;flex-shrink:0}
.contact-option span:last-child{font-size:.8rem;color:var(--text-muted);line-height:1.4}
.contact-option span:last-child small{font-size:.72rem;display:block;margin-top:1px}
.contact-option:has(input:checked) span:last-child{color:var(--text-light)}
@media(max-width:480px){
    .contact-choice{flex-direction:column}
    .contact-option{padding:10px 12px}
}

/* ════════════ CARD TAG ════════════ */
.card-tag{display:inline-block;font-size:.72rem;padding:3px 9px;border-radius:10px;margin-bottom:12px;font-family:'Cinzel',serif;background:rgba(155,95,192,.1);border:1px solid rgba(155,95,192,.25);color:var(--amethyst-light)}

/* ════════════ STARS (canvas global) ════════════ */
/* Already in header/footer JS - ensure canvas always visible */
#stars-canvas{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.85}

/* ════════════ PC OPTIMIZATIONS ════════════ */
@media(min-width:1024px){
    .cards-grid{grid-template-columns:repeat(3,1fr)}
    .section{padding:64px 40px}
    .form-box{padding:44px 40px}
    .modal{max-width:560px}
    .hero-logo{width:260px;height:260px}
    .hero-title{font-size:2.8rem}
    .hero-subtitle{font-size:1rem}
    .hero-desc{font-size:1rem;max-width:520px}
    .hero-cta{gap:16px}
    .bookings-list{max-width:900px}
    .booking-item{padding:22px 26px}
}
@media(min-width:1400px){
    .cards-grid{grid-template-columns:repeat(4,1fr)}
    .section{max-width:1280px}
}

/* Dashboard client PC */
@media(min-width:768px){
    .booking-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}
    .booking-item-meta{flex-direction:column !important;align-items:flex-end !important;gap:7px !important;width:auto !important;border-top:none !important;padding-top:0 !important;margin-top:0 !important}
}
