:root{--color-bg-overlay: rgba(0, 0, 0, .65);--color-card-bg: rgba(15, 15, 15, .9);--color-accent: #e2b46a;--color-accent-soft: rgba(226, 180, 106, .15);--color-text: #f7f4ee;--color-muted: #bfb8aa;--radius-card: 22px;--shadow-card: 0 18px 45px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:#000}.app-root{position:relative;min-height:100vh;background:url(/bg-peluqueria.jpg) center center / cover no-repeat fixed;display:flex;flex-direction:column;align-items:center}.background-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,#000000b3,#000000f2);z-index:0}.app-header{position:relative;z-index:1;padding:24px 16px 8px;width:100%;display:flex;justify-content:center}.logo-wrapper{padding:5px 12px}.logo-image{height:54px;width:auto;display:block}.app-main{position:relative;z-index:1;width:100%;display:flex;justify-content:center;padding:8px 16px 32px}.booking-card{width:100%;max-width:460px;margin-top:8px;margin-bottom:16px;border-radius:var(--radius-card);background:var(--color-card-bg);box-shadow:var(--shadow-card);padding:22px 20px 24px;border:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.booking-title{font-family:Playfair Display,Georgia,serif;font-size:24px;letter-spacing:.05em;text-transform:uppercase;text-align:center;margin:0 0 4px}.booking-subtitle{font-size:13px;color:var(--color-muted);text-align:center;margin:0 0 16px}.calendar-wrapper{display:grid;gap:14px;margin-bottom:14px}@media (min-width: 720px){.calendar-wrapper{grid-template-columns:1fr 1fr}}.calendar-month{background:radial-gradient(circle at top,#191513,#111);border-radius:18px;padding:10px 10px 12px;border:1px solid rgba(255,255,255,.06)}.calendar-month-header{font-family:Playfair Display,Georgia,serif;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;color:var(--color-muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day-name{font-size:10px;text-align:center;color:var(--color-muted);text-transform:uppercase;margin-bottom:2px}.calendar-day,.calendar-day.empty{height:30px;border-radius:999px;font-size:12px}.calendar-day.empty{background:transparent}.calendar-day{border:none;outline:none;cursor:pointer;background:#ffffff08;color:var(--color-text);display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease}.calendar-day:hover{background:#ffffff14}.calendar-day.disabled{opacity:.35;cursor:default}.calendar-day.disabled:hover{background:#ffffff08}.calendar-day.selected{background:var(--color-accent);color:#111;font-weight:600;box-shadow:0 0 0 1px #00000080}.timeslots-hint{font-size:13px;color:var(--color-muted);margin:2px 0 12px;text-align:center}.timeslots-wrapper{margin-top:2px;margin-bottom:14px}.timeslots-title{font-size:13px;margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.timeslots-grid{display:flex;flex-wrap:wrap;gap:6px}.timeslot-btn{flex:1 0 calc(25% - 6px);min-width:68px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:var(--color-text);font-size:12px;padding:7px 4px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.timeslot-btn:hover{background:#ffffff14}.timeslot-btn.selected{background:var(--color-accent);border-color:var(--color-accent);color:#111;font-weight:600}.booking-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}.form-label{font-size:13px;color:var(--color-muted);display:flex;flex-direction:column;gap:4px}.form-input,.form-textarea{background:#ffffff0a;border-radius:10px;border:1px solid rgba(255,255,255,.09);color:var(--color-text);padding:10px 11px;font-size:14px;outline:none}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px #e2b46a66}.form-textarea{resize:vertical;min-height:80px}.btn-primary,.btn-secondary{border-radius:999px;padding:11px 16px;font-size:15px;font-weight:500;cursor:pointer;border:none;outline:none;transition:background .15s ease,transform .1s ease,box-shadow .15s ease,border-color .15s ease}.btn-primary{width:100%;margin-top:6px;background:var(--color-accent);color:#171310;box-shadow:0 10px 25px #0009}.btn-primary:hover{background:#f0c379;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid rgba(255,255,255,.15)}.btn-secondary:hover{background:#ffffff0f}.form-actions{display:flex;gap:8px;justify-content:space-between;margin-top:6px}.booking-done{text-align:center}.app-footer{position:relative;z-index:1;width:100%;text-align:center;padding:6px 16px 16px;font-size:11px;color:var(--color-muted)}@media (min-width: 768px){.app-header{padding-top:32px}.logo-image{height:64px}.booking-card{padding:26px 24px;margin-top:16px}.booking-title{font-size:26px}}
