:root{
  --fy-orange:#F97316;
  --fy-cream:#F7F2EC;
  --fy-green:#467a59;
  --fy-navy:#0F172A;
  --fy-slate:#3E5062;
  --fy-border:rgba(15,23,42,.14);
  --fy-primary:var(--fy-orange);
  --fy-primary-hover:#EA580C;
  --fy-accent:var(--fy-green);
  --fy-bg:#F5F1EA;
  --fy-card:#ffffff;
  --fy-text:var(--fy-navy);
  --fy-muted:var(--fy-slate);
  --fy-success:#0F766E;
  --fy-warning:#C2410C;
  --fy-danger:#DC2626;
  --fy-focus:0 0 0 3px rgba(249,115,22,.24);
}
*{box-sizing:border-box}
body{margin:0;background:var(--fy-bg);font-family:'Nunito Sans',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fy-text)}
.fy-header{position:sticky;top:0;z-index:80;background:rgba(247,242,236,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--fy-border)}
.fy-inner{max-width:1120px;margin:0 auto;padding:0 16px}
.fy-head{display:flex;justify-content:space-between;align-items:center;padding:12px 0}
.fy-logo{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--fy-primary);text-decoration:none}
.fy-logo img{height:34px;width:auto;object-fit:contain}
.fy-steps{display:flex;gap:8px;flex-wrap:wrap}
.fy-step{font-size:12px;font-weight:900;padding:5px 12px;border-radius:999px;background:#F4DDCA;color:#7C2D12}
.fy-step.on{background:var(--fy-primary);color:#fff}
.fy-page{padding:18px 0 34px}
.fy-card{background:var(--fy-card);border:1px solid #D8D3CD;border-radius:22px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.fy-p16{padding:16px}
.fy-p20{padding:20px}
.fy-title{margin:0 0 6px;font-size:28px;line-height:1.2;font-weight:900;letter-spacing:-.01em}
.fy-muted{color:var(--fy-muted)}
.fy-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fy-types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fy-type{border:1px solid #F3B17E;background:#fff;border-radius:22px;padding:16px;cursor:pointer;transition:.2s}
.fy-type:hover{transform:translateY(-1px);box-shadow:0 12px 18px rgba(249,115,22,.12)}
.fy-type.on{border-color:var(--fy-primary);box-shadow:0 0 0 2px rgba(249,115,22,.15) inset}
.fy-type.off{opacity:.68;background:#F6F6F7;cursor:not-allowed}
.fy-badge{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900}
.fy-badge-main{background:#FFE7D2;color:#9A3412}
.fy-badge-warn{background:#FEF3C7;color:#92400E}
.fy-badge-danger{background:#FFF2E8;border:1px solid #FDBA74;color:#9A3412}
.fy-help{font-size:12px;background:#DCF4EA;border:1px solid #9EE2C7;color:#0F5B45;border-radius:12px;padding:10px}
.fy-input,.fy-select,.fy-textarea{width:100%;padding:11px;border:1px solid #D5DDE6;border-radius:14px;background:#fff;color:var(--fy-text);font-family:inherit;font-size:17px}
.fy-input:focus,.fy-select:focus,.fy-textarea:focus{outline:none;box-shadow:var(--fy-focus);border-color:var(--fy-primary)}
.fy-input-missing{animation:fyFieldError .9s ease-in-out 1;border-color:var(--fy-primary)!important}
@keyframes fyFieldError{0%{transform:translateX(0)}25%{transform:translateX(-2px)}50%{transform:translateX(2px)}75%{transform:translateX(-1px)}100%{transform:translateX(0)}}
.fy-cta{border:0;border-radius:18px;padding:12px 18px;font-weight:900;cursor:pointer;font-family:inherit}
.fy-cta-main{background:var(--fy-primary);color:#fff}
.fy-cta-main:hover{background:var(--fy-primary-hover)}
.fy-cta-main:disabled{opacity:.45;cursor:not-allowed}
.fy-cta-ghost{background:#FFE9D7;color:#9A3412}
.fy-cta-red{background:var(--fy-danger);color:#fff}
.fy-cta-red:hover{filter:brightness(.96)}
.fy-cta-accent{background:var(--fy-accent);color:#fff}
.fy-terapiz{display:grid;grid-template-columns:320px 1fr;gap:14px}
.fy-days{max-height:64vh;overflow:auto;padding:10px}
.fy-day{padding:10px;border:1px solid #F2BE95;border-radius:12px;background:#fff;cursor:pointer;margin-bottom:8px}
.fy-day.on{border-color:var(--fy-primary);background:var(--fy-cream)}
.fy-mobile-days{display:none;gap:8px;overflow:auto;padding-bottom:8px}
.fy-chip{white-space:nowrap;padding:8px 10px;border:1px solid #FED7AA;border-radius:999px;background:#fff}
.fy-chip.on{background:var(--fy-primary);border-color:var(--fy-primary);color:#fff}
.fy-slot-head{position:sticky;top:62px;background:#fff;z-index:15;border-bottom:1px solid #F3E6D9;padding:8px 0 10px}
.fy-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding-top:10px}
.fy-slot{border:1px solid #F3C8A6;border-radius:12px;background:#fff;padding:10px;cursor:pointer;font-weight:900;transition:all .18s ease}
.fy-slot:hover{border-color:var(--fy-primary)}
.slot-selected,.fy-slot.on{border-color:var(--fy-primary);background:var(--fy-cream);color:#9A3412;box-shadow:0 8px 20px rgba(249,115,22,.16);animation:fyPulse .25s ease-out}
.fy-slot.rel{border-color:#FBBF24;background:#FFFBEB}
@keyframes fyPulse{0%{transform:scale(.98);box-shadow:0 0 0 0 rgba(249,115,22,.18)}100%{transform:scale(1);box-shadow:0 8px 20px rgba(249,115,22,.16)}}
.fy-spark{animation:fySpark 2.2s ease-in-out 1}
@keyframes fySpark{0%,100%{box-shadow:0 0 0 0 rgba(251,191,36,.26)}50%{box-shadow:0 0 0 9px rgba(251,191,36,0)}}
.fy-skeleton{height:42px;border-radius:12px;background:linear-gradient(90deg,#FDEAD7 25%,#FFF7ED 50%,#FDEAD7 75%);background-size:200% 100%;animation:fySh 1.1s infinite}
@keyframes fySh{0%{background-position:200% 0}100%{background-position:-200% 0}}
.fy-ok{padding:12px;border:1px solid #A7F3D0;background:#ECFDF5;border-radius:12px;color:#065F46}
.fy-warn{padding:12px;border:1px solid #FDBA74;background:#FFF7ED;border-radius:12px;color:#9A3412}
.fy-err{padding:12px;border:1px solid #FCA5A5;background:#FEF2F2;border-radius:12px;color:#991B1B}
@media (max-width:1200px){.fy-title{font-size:30px}}
@media (max-width:980px){
  .fy-title{font-size:28px}
  .fy-types{grid-template-columns:1fr}
  .fy-terapiz{grid-template-columns:1fr}
  .fy-days{display:none}
  .fy-mobile-days{display:flex}
  .fy-slot-head{top:54px}
  .fy-grid-2{grid-template-columns:1fr}
}
@media (max-width:640px){.fy-title{font-size:22px}}

/* Header harmonized with flowya.fr home */
.fy-header{border-bottom-left-radius:34px;border-bottom-right-radius:34px;box-shadow:0 2px 0 rgba(15,23,42,.05)}
.fy-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}
.fy-nav{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.fy-nav a{font-size:16px;font-weight:800;color:#467a59;text-decoration:none;white-space:nowrap}
.fy-nav a:hover{color:var(--fy-orange)}
.fy-logo span{font-size:16px;line-height:1.1;font-weight:900;letter-spacing:-.005em;white-space:nowrap}
.fy-logo img{height:38px}
.fy-cta-book{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:14px;background:var(--fy-orange);color:#fff!important;text-decoration:none;font-size:16px;font-weight:800;line-height:1}
.fy-cta-book:hover{background:var(--fy-primary-hover)}
.fy-steps-row{padding:0 16px 10px}
.fy-steps{justify-content:flex-end}
@media (max-width:1400px){
  .fy-logo span{font-size:16px}
  .fy-nav a{font-size:16px}
  .fy-cta-book{font-size:15px;padding:9px 16px}
}
@media (max-width:1100px){
  .fy-nav{display:none}
  .fy-logo span{font-size:15px}
  .fy-logo img{height:34px}
  .fy-cta-book{font-size:14px;padding:8px 14px}
  .fy-steps{justify-content:flex-start}
}
@media (max-width:640px){
  .fy-topbar{gap:10px;padding:10px 12px}
  .fy-logo span{font-size:14px}
  .fy-logo img{height:28px}
  .fy-cta-book{font-size:11px;padding:7px 10px;border-radius:10px}
}
