:root { color-scheme: light; --ink:#20263f; --muted:#66708a; --purple:#6358d5; --line:#dedfee; --paper:#f8f7f4; }
body { background: var(--paper); color: var(--ink); } h1,h2,h3,p { margin-top: 0; } .eyebrow { color: var(--purple); font-size: .68rem; font-weight: 800; letter-spacing: .16em; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 27px; min-height: 74px; padding: 10px max(22px,calc((100vw - 1240px)/2)); border-bottom: 1px solid var(--line); background: #fffdf9ef; backdrop-filter: blur(15px); }.brand { font: 800 1.9rem 'Manrope',sans-serif; letter-spacing: -.09em; text-decoration: none; }.brand span { color: #f0917b; }.topbar nav { display: flex; gap: 5px; margin-left: auto; }.topbar nav a { padding: 10px 12px; border-radius: 9px; color: #49536b; text-decoration: none; font-size: .78rem; font-weight: 800; }.topbar nav a.active { background: #eeedff; color: #4b40bd; }.topbar nav b { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-left: 3px; border-radius: 50%; background: #ddd9fb; font-size: .65rem; }.codec-return { color: #4c5580; font-size: .72rem; white-space: nowrap; }
.hero { position: relative; display: grid; grid-template-columns: 1fr 340px; align-items: center; gap: 50px; min-height: 470px; padding: 66px max(22px,calc((100vw - 1240px)/2)); overflow: hidden; background: radial-gradient(circle at 73% 50%, #d9d4fa, transparent 40%), linear-gradient(120deg,#f1f0ff,#fcf9f4); }.hero::after { content:''; position:absolute; width:500px;height:500px;right:-150px;top:-240px;border:1px solid #a39fe744;border-radius:50%;box-shadow:0 0 0 80px #aaa6e615,0 0 0 170px #aaa6e611;pointer-events:none; }.hero-copy,.hero-calendar { position:relative;z-index:1; }.hero h1 { margin:20px 0; font:800 clamp(3rem,5.5vw,5.7rem)/1.05 'Manrope',sans-serif; letter-spacing:-.07em; }.hero h1 em { color:var(--purple);font-style:normal; }.hero p { max-width:590px;color:#58647d;line-height:1.7; }.hero-points { display:flex;flex-wrap:wrap;gap:8px;margin-top:24px; }.hero-points span { padding:9px 12px;border:1px solid #cac8e8;border-radius:30px;background:#ffffff99;font-size:.7rem;font-weight:800;color:#4e4d8a; }.hero-calendar { padding:24px;border:1px solid #d8d5f3;border-radius:20px;background:#fff;box-shadow:0 30px 80px #3b32662a;transform:rotate(4deg); }.hero-calendar>span { font-size:.67rem;font-weight:800;letter-spacing:.16em;color:#817ac9; }.hero-calendar>div { display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:24px 0; }.hero-calendar i { display:grid;place-items:center;height:40px;border-radius:8px;background:#f1f0f9;font-style:normal;font-size:.74rem;font-weight:700; }.hero-calendar i.selected { background:var(--purple);color:white; }.hero-calendar strong { display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:10px;background:#eeedff;font-size:1.5rem; }.hero-calendar small { color:#6358d5;font-size:.63rem; }
.demo-note { display:flex;align-items:center;gap:15px;padding:14px max(22px,calc((100vw - 1240px)/2));background:#29264a;color:white; }.demo-note strong { white-space:nowrap;font-size:.64rem;letter-spacing:.1em;color:#d6ceff; }.demo-note span { flex:1;color:#e0deeb;font-size:.71rem; }.demo-note button { border:1px solid #ffffff6b;border-radius:7px;padding:7px 11px;background:none;color:white;font-size:.7rem; }.feedback { max-width:1240px;min-height:0;margin:auto;padding:0 22px;color:#357252;font-size:.78rem; }.feedback:not(:empty) { padding-top:15px; }.feedback.error { color:#b44a46; }
.experience { max-width:1284px;margin:auto;padding:72px 22px 95px;scroll-margin-top:83px; }.section-heading { margin-bottom:34px; }.section-heading h2 { margin:11px 0;font:800 clamp(2.3rem,4vw,3.9rem)/1.08 'Manrope',sans-serif;letter-spacing:-.065em; }.section-heading p { color:var(--muted); }.booking-layout { display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:23px; }.booking-steps,.booking-summary,.availability-panel { border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 16px 40px #2420440c; }.booking-steps { padding:24px; }.step-head { display:flex;align-items:center;gap:12px;margin:13px 0 15px; }.step-head:not(:first-child) { margin-top:33px;padding-top:23px;border-top:1px solid var(--line); }.step-head span { display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eeedff;color:var(--purple);font-size:.68rem;font-weight:800; }.step-head h3 { margin:0;font-size:1.06rem; }.rubro-list,.service-list,.day-list,.time-list { display:grid;gap:9px; }.rubro-list { grid-template-columns:repeat(3,minmax(0,1fr)); }.rubro-list button,.service-list button,.day-list button,.time-list button { text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink); }.rubro-list button { display:grid;gap:10px;min-height:110px;padding:15px;font-weight:800; }.rubro-list button span { color:var(--purple);font-size:1.3rem; }.service-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.service-list button { display:grid;gap:5px;padding:15px; }.service-list button strong { font-size:.82rem; }.service-list button small { color:var(--muted);font-size:.69rem; }.day-list { grid-template-columns:repeat(5,minmax(0,1fr)); }.day-list button { min-height:49px;padding:7px;text-align:center;font-size:.7rem;font-weight:800;text-transform:capitalize; }.time-list { grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px; }.time-list button { min-height:42px;text-align:center;font-size:.76rem;font-weight:800; }.rubro-list button.selected,.service-list button.selected,.day-list button.selected,.time-list button.selected { border-color:var(--purple);background:#efedff;box-shadow:inset 0 0 0 1px var(--purple); }.time-list button:disabled { background:#f3f2f1;text-decoration:line-through;color:#9ca1ad; }
.booking-summary { position:sticky;top:95px;padding:25px; }.booking-summary h3 { margin:10px 0 24px;font:800 1.65rem/1.18 'Manrope',sans-serif;letter-spacing:-.05em; }.summary-line { display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.75rem; }.summary-line span { color:var(--muted); }.summary-line strong { text-align:right; }.booking-summary label { display:block;margin-top:24px;font-size:.73rem;font-weight:800; }.booking-summary input { width:100%;min-height:46px;margin:7px 0 13px;padding:11px;border:1px solid #bcbde0;border-radius:8px;background:white;color:var(--ink); }.primary { min-height:45px;padding:11px 17px;border:1px solid var(--purple);border-radius:8px;background:var(--purple);color:white;font-weight:800;font-size:.78rem; }.primary:hover { background:#4d42bc; }.booking-summary .primary { width:100%; }.booking-summary>small { display:block;margin-top:13px;color:var(--muted);font-size:.67rem; }.success { margin-top:20px;padding:14px;border:1px solid #68bb85;border-radius:8px;background:#ebf8ef;color:#2b6341;font-size:.77rem; }.success a { display:block;margin-top:8px;font-weight:800; }
.admin-toolbar { display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:20px; }.admin-toolbar label { display:grid;gap:5px;min-width:175px;color:var(--muted);font-size:.68rem;font-weight:800; }.admin-toolbar select { min-height:43px;padding:8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink); }.admin-toolbar>div { min-width:135px;padding:10px 17px;border:1px solid var(--line);border-radius:9px;background:white; }.admin-toolbar strong { display:block;font:800 1.3rem 'Manrope',sans-serif; }.admin-toolbar span { color:var(--muted);font-size:.65rem; }.agenda-layout { display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px; }.list-head { display:flex;justify-content:space-between;align-items:center; }.list-head h3 { font-size:1.2rem; }.list-head span { color:var(--muted);font-size:.72rem;text-transform:capitalize; }.booking-card { display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:9px;padding:15px;border:1px solid var(--line);border-left:4px solid var(--purple);border-radius:10px;background:white; }.booking-card.closed { opacity:.64; }.booking-card>strong { color:var(--purple);font-size:.95rem; }.booking-card h4 { margin:0;font-size:.83rem; }.booking-card p { margin:4px 0;color:var(--muted);font-size:.7rem; }.booking-card small { color:#7269b1;font-size:.64rem;font-weight:800;text-transform:uppercase; }.booking-actions { display:flex;flex-wrap:wrap;justify-content:end;gap:5px; }.booking-actions button,.block-list button { min-height:34px;padding:6px 9px;border:1px solid #c7c4e3;border-radius:6px;background:white;color:#4e47a2;font-size:.68rem;font-weight:800; }.booking-actions button:hover,.block-list button:hover { background:#f1efff; }.booking-empty { padding:30px;border:1px dashed #bcb8dc;border-radius:9px;color:var(--muted);font-size:.8rem; }.booking-empty strong { display:block;color:var(--ink);font-size:1rem; }.availability-panel { padding:23px; }.availability-panel h3 { margin:9px 0; }.availability-panel p { color:var(--muted);font-size:.74rem; }.block-list { display:grid;grid-template-columns:repeat(2,1fr);gap:7px; }.block-list button.blocked { background:#e8e6fa;color:#514bb0; }.block-list button:disabled { color:#a4a6b3;text-decoration:line-through; }
.next { padding:58px max(22px,calc((100vw - 1240px)/2));background:#e9e7f7; }.next h2 { margin:11px 0 23px;font:800 clamp(1.7rem,3.2vw,3rem) 'Manrope',sans-serif;letter-spacing:-.06em; }.next a { display:inline-block;margin:0 7px 8px 0;padding:11px 14px;border:1px solid #b7b3d9;border-radius:7px;text-decoration:none;font-size:.75rem;font-weight:800; }footer { display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:25px max(22px,calc((100vw - 1240px)/2));color:var(--muted);font-size:.72rem; }footer a { color:var(--purple);text-decoration:none; }
@media(max-width:900px){.hero { grid-template-columns:1fr 260px; }.booking-layout,.agenda-layout { grid-template-columns:1fr; }.booking-summary { position:static; }.availability-panel { max-width:none; }}
@media(max-width:650px){.topbar { min-height:65px;padding:9px 15px;gap:8px; }.brand { font-size:1.3rem; }.topbar nav { margin-left:auto; }.topbar nav a { padding:7px;font-size:.64rem; }.topbar .codec-return { display:none; }.hero { min-height:auto;grid-template-columns:1fr;padding:57px 18px; }.hero-calendar { display:none; }.hero h1 { font-size:clamp(2.6rem,11vw,4rem); }.demo-note { flex-wrap:wrap;padding:11px 17px; }.demo-note span { flex-basis:100%;order:3; }.demo-note button { margin-left:auto; }.experience { padding:49px 15px 70px; }.booking-steps,.booking-summary { padding:16px; }.rubro-list { grid-template-columns:repeat(3,1fr);gap:5px; }.rubro-list button { min-height:90px;padding:8px;font-size:.66rem; }.service-list { grid-template-columns:1fr; }.day-list { gap:4px; }.day-list button { padding:4px;font-size:.61rem; }.time-list { grid-template-columns:repeat(4,1fr);gap:5px; }.time-list button { font-size:.68rem; }.booking-card { grid-template-columns:53px 1fr; }.booking-actions { grid-column:1/-1;justify-content:start; }.next { padding:45px 18px; }}
.hero-calendar i { height:auto;min-height:48px;padding:4px;text-align:center;text-transform:capitalize;font-size:.57rem; }
