/* Balance Spa — tema de la agenda. Mismos tokens que todaps.com/balance-spa. */
@font-face{font-family:"Cormorant Garamond";src:url("/theme/cormorant-garamond-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/theme/cormorant-garamond-italic-latin.woff2") format("woff2");font-style:italic;font-weight:400 700;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/theme/hanken-grotesk-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}

:root{
  --sand:#e8dcc7; --oat:#d4b895; --ink:#373b30; --green:#505c45; --moss:#606c38;
  --clay:#b08b6e; --taupe:#8f7b63; --sage:#8b9d83;
  --tint:rgba(55,59,48,.055); --tint-2:rgba(55,59,48,.1); --muted:rgba(55,59,48,.66);
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Hanken Grotesk","Trebuchet MS",sans-serif;
  --ease:cubic-bezier(.2,.65,.25,1);
}

/* Página */
body{background:var(--sand)!important;color:var(--ink)!important;font-family:var(--sans)!important;
  -webkit-font-smoothing:antialiased;padding:1.5rem 1rem 2.5rem!important;gap:1.75rem!important;--booking-accent:var(--green)!important;--booking-accent-text:var(--sand)!important}
body::after{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23373B30' filter='url(%23n)' opacity='.8' d='M0 0h200v200H0z'/%3E%3C/svg%3E")}
button,input,select,textarea{font-family:inherit}
::selection{background:var(--green);color:var(--sand)}
body > header{padding:20px 16px 0!important}
body > header img{height:46px!important}
:focus-visible{outline:2px solid var(--green)!important;outline-offset:4px;border-radius:6px}

/* ── Directorio (/u/balance-spa) ── */
.dir-card{background:transparent;border:0;border-radius:0;max-width:44rem;padding:0}
.dir-head{display:block;text-align:center;margin:0 0 2rem}
.dir-avatar{display:none}
.dir-title{font-family:var(--serif);font-weight:400;font-size:clamp(46px,9vw,68px);line-height:.95;letter-spacing:-.035em;color:var(--ink)}
.dir-sub{font-size:15px;color:var(--muted);margin-top:.9rem}
.dir-list{gap:.6rem;margin:0;grid-template-columns:minmax(0,1fr)}
.dir-item,.dir-item-main{min-width:0}
.dir-item{border:0;background:var(--tint);border-radius:22px;padding:1.15rem 1.15rem 1.15rem 1.5rem;gap:1.25rem;
  transition:background .35s var(--ease),transform .35s var(--ease)}
.dir-item:hover{background:var(--tint-2);transform:translateY(-2px)}
.dir-item-name{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.08;letter-spacing:-.015em}
.dir-item-name a:hover{text-decoration:none}
.dir-item-meta{color:var(--muted);font-size:13px;margin-top:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dir-book{background:var(--green);color:var(--sand);border-radius:16px;padding:.8rem 1.2rem;font-size:13px;font-weight:500;
  transition:background .35s var(--ease)}
.dir-book:hover{background:var(--ink)}
.dir-empty{color:var(--muted);text-align:center}

/* ── Página de servicio (/book/...) ── */
.card{background:transparent!important;box-shadow:none!important;border-radius:0!important;max-width:940px;gap:1rem;overflow:visible}
.info,.cal-col,.right-col{border:0!important;background:var(--tint);border-radius:28px}
.info{width:290px;padding:2rem 1.75rem}
.cal-col{padding:2rem 1.75rem}
.right-col{padding:2rem 1.5rem}
.host-faces,.host-name{display:none!important}
.event-name{font-family:var(--serif);font-weight:500;font-size:36px;line-height:1;letter-spacing:-.03em;margin-bottom:1.25rem;color:var(--ink)}
.meta li{font-size:13px;color:var(--ink)}
.meta svg{color:var(--clay)}
.description{font-size:14px;line-height:1.7;color:var(--muted);white-space:pre-line}
.description strong{color:var(--ink)}
.desc-toggle{color:var(--green);font-size:13px}
.desc-toggle:hover{color:var(--ink)}

.month-label,.slots-header,.slot-label{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:-.02em;color:var(--ink);text-transform:lowercase}
.month-label::first-letter,.slots-header::first-letter,.slot-label::first-letter{text-transform:uppercase}
.cal-nav button{border:0;background:var(--tint-2);border-radius:50%;width:34px;height:34px;color:var(--ink)}
.cal-nav button:hover:not(:disabled){background:var(--oat);color:var(--ink)}
.ch{color:var(--taupe);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.cd{border-radius:50%;color:var(--ink);font-variant-numeric:tabular-nums}
.cd.available{background:rgba(212,184,149,.42);font-weight:500}
.cd.available:hover{background:var(--oat)}
.cd.sel{background:var(--green)!important;color:var(--sand)!important}
.cd:disabled{color:rgba(55,59,48,.28)}
.tz-wrapper select,.tz-label{color:var(--taupe)}

.time-periods{background:var(--tint-2);border-radius:16px}
.time-periods button{border-radius:12px;color:var(--ink)}
.time-periods button[aria-pressed="true"]{background:var(--sand);color:var(--ink);box-shadow:none}
.slot-btn{border:0!important;background:rgba(212,184,149,.42);border-radius:14px;color:var(--ink);font-weight:500;
  transition:background .3s var(--ease)}
.slot-btn:hover{background:var(--oat)}
.slot-btn.sel{background:var(--green)!important;color:var(--sand)!important}
.slot-btn.taken{background:transparent;color:rgba(55,59,48,.3);text-decoration:line-through}
.hint,.notice-hint{color:var(--muted)}
.back-btn,.cal-back{color:var(--green)!important;font-weight:500}
.back-btn:hover{color:var(--ink)!important}

.field label{color:var(--ink);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.field input,.field textarea,.field select{border:0!important;background:rgba(255,255,255,.42);border-radius:14px;padding:.85rem 1rem;font-family:var(--sans);font-size:15px;color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{background:rgba(255,255,255,.7);box-shadow:0 0 0 2px var(--green)!important;outline:0}
.field textarea{min-height:52px;height:52px;resize:none;line-height:1.4}
.required-star{color:var(--clay)}
.form-error{color:#9a3b2a}
.btn-primary{border-radius:18px!important;min-height:55px;font-size:14px!important;font-weight:500!important;letter-spacing:.01em;
  background:var(--green)!important;color:var(--sand)!important;transition:background .35s var(--ease),transform .35s var(--ease)}
.btn-primary:hover:not(:disabled){background:var(--ink)!important;transform:translateY(-2px)}

.confirm-icon{background:var(--green)!important;color:var(--sand)!important}
.confirm-icon svg{color:var(--sand)!important;stroke:var(--sand)}
.confirm-view h3{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1;letter-spacing:-.03em;margin-bottom:.75rem}
.confirm-view .when{color:var(--ink);font-size:15px}
.confirm-view .sub{color:var(--muted)}

/* Pie: solo enlaces legales y la firma */
.powered-by{color:var(--taupe);font-size:12px;gap:1.25rem}
.powered-by a,.powered-by .cookie-link{color:var(--taupe)}
.powered-by .lang-select{display:none!important}
.powered-todaps a{font-weight:600;color:var(--green)!important}

.cookie-banner{background:var(--sand);border:0;border-radius:22px;box-shadow:0 18px 50px rgba(55,59,48,.18)}
.cookie-btn{border:0;background:var(--tint-2);border-radius:14px;color:var(--ink)}
.cookie-btn-primary{background:var(--green);color:var(--sand)}

@media (max-width:700px){
  body{padding:.75rem .75rem 2rem!important}
  body > header img{height:40px!important}
  .card{gap:.75rem;min-height:0!important}
  .info,.cal-col,.right-col{width:100%;border-radius:24px;padding:1.4rem 1.25rem!important}
  .event-name{font-size:32px}
  .dir-title{font-size:48px}
  .dir-item{padding:1rem 1rem 1rem 1.2rem;border-radius:20px}
  .dir-item-name{font-size:22px}
  .dir-book{padding:.7rem 1rem}
  .cd{border-radius:14px}
}

/* Categorías del directorio */
.dir-cats{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;margin:0 -1rem 1.5rem;padding:.25rem 1rem;
  position:sticky;top:0;z-index:5;background:var(--sand)}
.dir-cats::-webkit-scrollbar{display:none}
.dir-cats a{flex-shrink:0;padding:.6rem 1.05rem;border-radius:999px;background:var(--tint-2);color:var(--ink);font-size:13px;font-weight:500;
  text-decoration:none;transition:background .3s var(--ease),color .3s var(--ease)}
.dir-cats a:hover{background:var(--green);color:var(--sand)}
.dir-group{scroll-margin-top:4rem;margin:0 0 2.5rem}
.dir-group-title{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1;letter-spacing:-.03em;margin:0 0 .5rem;color:var(--ink)}
.dir-group-note{color:var(--muted);font-size:14px;margin:0 0 1rem;max-width:56ch}
html{scroll-behavior:smooth}
@media (max-width:700px){.dir-group-title{font-size:34px}.dir-cats{margin:0 -.75rem 1.25rem;padding:.5rem .75rem}}
