/* Formularios Reserva + Visita — extraídos de la home (versión clara autoritativa) */
/* ============ AGENDAR VISITA ============ */
  .agenda{background:var(--bg);color:var(--ink);padding:clamp(80px,9vw,120px) 0;}
  .agenda .ag-head{text-align:center;max-width:760px;margin:0 auto;}
  .ag-title{font-family:var(--font-display);font-size:clamp(34px,5.2vw,64px);font-weight:800;
    letter-spacing:-.03em;line-height:.98;margin:18px auto 0;text-wrap:balance;}
  .ag-sub{margin:20px auto 0;max-width:520px;font-size:16px;line-height:1.6;color:var(--ink-soft);}
  .ag-cta-wrap{display:flex;justify-content:center;margin-top:34px;}
  .ag-open-btn{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--ink);background:var(--ink);
    color:var(--bg);font-size:15px;font-weight:700;letter-spacing:.02em;padding:16px 30px;border-radius:999px;
    cursor:pointer;transition:background .2s,color .2s;font-family:inherit;}
  .ag-open-btn:hover{background:transparent;color:var(--ink);}
  .ag-open-btn svg{width:18px;height:18px;}
  .ag-open-btn.is-open{display:none;}

  .ag-panel{max-width:1000px;margin:44px auto 0;display:none;text-align:left;}
  .ag-panel.show{display:block;animation:agIn .4s ease;}
  @keyframes agIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
  .ag-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
  @media(max-width:760px){.ag-grid{grid-template-columns:1fr;gap:20px;}}
  .ag-col{border:0;border-radius:0;padding:0;background:transparent;}
  .ag-step{display:none;}
  .ag-step-t{font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:-.01em;margin-bottom:18px;}

  .ag-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
  .ag-cal-month{font-weight:800;font-size:16px;text-transform:capitalize;letter-spacing:-.01em;}
  .ag-cal-nav{width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:transparent;
    display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:background .2s;}
  .ag-cal-nav:hover:not([disabled]){background:rgba(0,0,0,.05);}
  .ag-cal-nav[disabled]{opacity:.3;cursor:default;}
  .ag-cal-nav svg{width:16px;height:16px;}
  .ag-cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;}
  .ag-cal-dow span{text-align:center;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
  .ag-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
  .ag-day{aspect-ratio:1;border:0;background:transparent;border-radius:9px;font-size:14px;font-weight:600;
    color:var(--ink);cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;
    transition:background .15s,color .15s;}
  .ag-day:hover:not([disabled]):not(.is-sel){background:rgba(126,168,196,.18);}
  .ag-day[disabled]{color:rgba(17,16,15,.2);cursor:default;}
  .ag-day.is-sel{background:var(--ink);color:var(--bg);}
  .ag-day.is-empty{visibility:hidden;pointer-events:none;}

  .ag-slots-empty{color:var(--ink-soft);font-size:14px;line-height:1.5;}
  .ag-franja{margin-bottom:16px;}
  .ag-franja:last-child{margin-bottom:0;}
  .ag-franja-l{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
  .ag-slot-row{display:flex;flex-wrap:wrap;gap:8px;}
  .ag-slot{border:1px solid var(--line);background:transparent;border-radius:8px;padding:9px 13px;font-size:14px;
    font-weight:600;cursor:pointer;font-family:inherit;color:var(--ink);transition:background .15s,border-color .15s,color .15s;}
  .ag-slot:hover:not(.is-sel){border-color:var(--ink);}
  .ag-slot.is-sel{background:var(--c-blue);border-color:var(--c-blue);color:#fff;}
  .ag-slot[disabled]{opacity:.32;cursor:default;text-decoration:line-through;}
  .ag-slot[disabled]:hover{border-color:var(--line);}
  .ag-units-hint{font-size:13px;color:var(--ink-soft);margin-bottom:12px;line-height:1.5;}
  .ag-unit{border:1px solid var(--line);background:transparent;border-radius:8px;padding:10px 15px;font-size:14px;
    font-weight:600;cursor:pointer;font-family:inherit;color:var(--ink);transition:background .15s,border-color .15s,color .15s;}
  .ag-unit:hover:not(.is-sel){border-color:var(--ink);}
  .ag-unit.is-sel{background:var(--ink);border-color:var(--ink);color:var(--bg);}
  .ag-field.full{grid-column:1/-1;}

  .ag-form{margin-top:24px;}
  .ag-form[hidden]{display:none;}
  .ag-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  @media(max-width:760px){.ag-fields{grid-template-columns:1fr;}}
  .ag-field{display:flex;flex-direction:column;gap:9px;}
  .ag-field>span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);}
  .ag-field input,.ag-field select{background:transparent;border:0;border-bottom:1px solid rgba(17,16,15,.28);
    border-radius:0;padding:10px 0;font-size:17px;color:var(--ink);font-family:var(--font-display);
    letter-spacing:-.01em;outline:none;transition:border-color .2s;}
  .ag-field input:focus,.ag-field select:focus{border-color:var(--c-blue);}
  .ag-field select{cursor:pointer;}
  .ag-summary{margin-top:24px;font-size:15px;line-height:1.5;color:var(--ink);}
  .ag-summary b{font-weight:800;}
  .ag-confirm{margin-top:22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
  .ag-confirm-btn{border:1px solid var(--ink);background:var(--ink);color:var(--bg);font-size:15px;font-weight:700;
    padding:15px 32px;border-radius:999px;cursor:pointer;font-family:inherit;transition:background .2s,color .2s;}
  .ag-confirm-btn:hover:not([disabled]){background:transparent;color:var(--ink);}
  .ag-confirm-btn[disabled]{opacity:.4;cursor:default;}
  .ag-note{font-size:12.5px;color:var(--ink-soft);max-width:300px;line-height:1.5;}

  .ag-done{display:none;text-align:center;max-width:560px;margin:44px auto 0;}
  .ag-done.show{display:block;animation:agIn .4s ease;}
  .ag-done-ic{width:64px;height:64px;border-radius:999px;border:2px solid var(--c-green);color:var(--c-green);
    display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
  .ag-done-ic svg{width:30px;height:30px;}
  .ag-done h3{font-family:var(--font-display);font-size:clamp(26px,3.6vw,40px);font-weight:800;letter-spacing:-.02em;margin-bottom:14px;}
  .ag-done p{font-size:16px;line-height:1.6;color:var(--ink-soft);}
  .ag-card{margin:26px auto 0;border:1px solid var(--line);border-radius:12px;padding:18px 26px;display:inline-block;text-align:left;}
  .ag-card .ag-cl{display:flex;gap:14px;font-size:15px;padding:7px 0;}
  .ag-card .ag-cl span:first-child{color:var(--ink-soft);min-width:100px;}
  .ag-card .ag-cl span:last-child{font-weight:700;}
  .ag-reset{margin-top:24px;border:0;background:transparent;color:var(--ink-soft);text-decoration:underline;
    cursor:pointer;font-size:14px;font-family:inherit;}

  /* ============ LISTA DE ESPERA · ALQUILER ============ */
  .waitlist{background:var(--bg);color:var(--ink);padding:clamp(80px,9vw,120px) 0;border-top:1px solid var(--line);}
  .waitlist .wl-head{text-align:center;max-width:760px;margin:0 auto;}
  .waitlist .ag-step{color:var(--c-green);}
  .wl-panel{max-width:1000px;margin:40px auto 0;text-align:left;}
  .wl-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
  @media(max-width:760px){.wl-grid{grid-template-columns:1fr;gap:20px;}}
  .waitlist .ag-form{margin-top:0;}

  /* ============ SELECTOR DE FORMULARIO ============ */
  .chooser{background:var(--bg);color:var(--ink);padding:clamp(60px,7vw,90px) 0 clamp(22px,3vw,34px);text-align:center;}
  .ch-head{max-width:720px;margin:0 auto;}
  .ch-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:920px;margin:26px auto 0;}
  /* encabezado unificado de los 3 formularios dentro del selector: línea fina + mismas distancias (estilo “alquiler”) */
  #chSlot > section{padding-top:clamp(22px,3vw,36px);border-top:1px solid var(--line);display:block;}
  /* los 3 formularios SOLO se muestran cuando están dentro del selector; nada por defecto abajo */
  #reserva,#agenda,#alquiler{display:none;}
  /* la “reserva” ya no es sección oscura: fondo claro + sin el margen que dejaba la banda negra */
  #reserva{background:var(--bg);}
  #reserva .fin-form{margin-top:0;}
  #chSlot > #reserva{padding-top:0;}
  #chSlot > #reserva .fin-form{padding-top:clamp(22px,3vw,36px);}
  #reserva .fin-form-sub{margin-top:-4px;}
  #agenda .ag-sub{margin-top:-4px;}
  #alquiler .wl-head .ag-sub{margin-top:-4px;}
  .ch-btn{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;padding:24px 16px;
    border:1px solid var(--line);border-radius:14px;background:transparent;cursor:pointer;font-family:inherit;color:var(--ink);
    transition:border-color .2s,background .2s,transform .2s,color .2s;}
  @media(max-width:560px){.ch-btn{padding:16px 14px;}}
  .ch-btn:hover{border-color:var(--ink);transform:translateY(-2px);}
  .ch-btn.is-active{background:var(--ink);border-color:var(--ink);color:var(--bg);}
  .ch-b-t{font-family:var(--font-display);font-size:clamp(16px,2.2vw,22px);font-weight:800;letter-spacing:-.01em;line-height:1.12;}
  .ch-b-d{font-size:clamp(11px,1.3vw,13.5px);color:var(--ink-soft);line-height:1.4;}
  .ch-btn.is-active .ch-b-d{color:rgba(255,255,255,.72);}
  .formpane{display:none;}
  .formpane.is-active{display:block;}

  /* ============ FINANCIACION ============ */
  .finance{background:var(--bg);color:var(--ink);padding:clamp(56px,8vw,96px) 0 0;border-top:1px solid var(--line);}
  .finance .fin-eyebrow{color:var(--c-blue);}
  .fin-headwrap{text-align:center;}
  .fin-head{font-size:clamp(34px,5.2vw,68px);font-weight:800;letter-spacing:-.03em;line-height:.98;
    margin:18px auto 0;color:var(--ink);text-wrap:balance;}
  .fin-opts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:34px;
    border-top:1px solid var(--line);}
  .fin-opt{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 0 4px;}
  .fin-num{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--c-blue);margin-bottom:12px;}
  .fin-kind{margin:0 0 8px;font-size:21px;font-weight:700;letter-spacing:-.01em;color:var(--ink);}
  .fin-desc{font-size:16px;line-height:1.5;color:var(--ink-soft);max-width:300px;}
  .fin-desc strong{color:var(--ink);font-weight:700;}
  /* contact form → WhatsApp (editorial: hairlines, square edges, underline inputs) */
  .fin-form{margin:72px 0 0;width:100vw;margin-left:calc(50% - 50vw);
    background:var(--bg);color:var(--ink);padding:24px clamp(20px,5vw,40px) 96px;
    display:flex;flex-direction:column;align-items:center;text-align:center;}
  .fin-form>*{width:100%;max-width:760px;}
  .fin-form-title{font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.025em;color:var(--ink);margin-top:12px;}
  .fin-form-sub{font-size:15px;color:var(--ink-soft);margin-top:12px;max-width:460px;margin-inline:auto;line-height:1.5;}
  .fin-form-panel{margin-top:20px;padding:0;text-align:left;}
  .ff-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .ff-field{display:flex;flex-direction:column;gap:10px;}
  .ff-field>span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);}
  .ff-field input{background:transparent;border:0;border-bottom:1px solid rgba(17,16,15,.28);border-radius:0;
    padding:10px 0;font-size:18px;color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;
    transition:border-color .2s;}
  .ff-field input::placeholder{color:rgba(17,16,15,.32);font-weight:400;}
  .ff-field input:focus{outline:none;border-bottom-color:var(--ink);}
  .ff-tipos{margin-top:42px;}
  .fin-form-panel > .ff-tipos:first-child{margin-top:0;}
  .ff-tipos-label{display:block;text-align:center;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:6px;}
  .ff-tipos-hint{display:block;text-align:center;font-size:13px;color:var(--ink-soft);margin-bottom:8px;line-height:1.5;}
  .ff-cards{display:flex;flex-direction:column;}
  .ff-card{border:0;border-top:1px solid var(--line);border-radius:0;overflow:hidden;
    background:transparent;transition:background .25s;}
  .ff-cards .ff-card:last-child{border-bottom:1px solid var(--line);}
  .ff-card.open{background:rgba(17,16,15,.03);}
  .ff-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:20px 4px;cursor:pointer;user-select:none;}
  .ff-card-name{font-size:clamp(19px,2.2vw,26px);font-weight:800;letter-spacing:-.02em;color:var(--ink);
    font-family:var(--font-display);display:flex;align-items:center;gap:14px;}
  .ff-card-count{font-size:12px;font-weight:700;color:#10222e;background:var(--c-blue);
    min-width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
    padding:0 7px;opacity:0;transform:scale(.7);transition:.2s;}
  .ff-card.has-sel .ff-card-count{opacity:1;transform:none;}
  .ff-card-plus{width:20px;height:20px;flex:0 0 auto;color:rgba(17,16,15,.45);transition:transform .35s,color .25s;}
  .ff-card.open .ff-card-plus{transform:rotate(135deg);color:var(--ink);}
  .ff-card-body{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.5,0,.1,1);}
  .ff-card.open .ff-card-body{max-height:200px;}
  .ff-card-chips{display:flex;flex-wrap:wrap;gap:10px;padding:0 4px 22px;}
  .ff-chip{border:1px solid rgba(17,16,15,.3);background:transparent;color:var(--ink);
    border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer;
    font-family:inherit;transition:background .2s,border-color .2s,color .2s;}
  .ff-chip:hover{border-color:var(--ink);color:var(--ink);}
  .ff-chip.on{background:var(--ink);border-color:var(--ink);color:#fff;}
  /* tipologías as small selectable squares; options appear in a panel below */
  .ff-tiles{display:flex;flex-direction:column;gap:10px;}
  /* each tipología is a row: button on the left, its options inline to the right */
  .ff-trow{display:flex;justify-content:center;align-items:stretch;column-gap:16px;
    transition:justify-content .3s;}
  .ff-trow.open{justify-content:flex-start;}
  .ff-row-opts{display:none;flex:1 1 auto;flex-wrap:wrap;gap:10px;align-content:center;align-items:center;}
  .ff-trow.open .ff-row-opts{display:flex;}
  .ff-tile{position:relative;flex:0 0 62%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    text-align:center;min-height:74px;padding:14px;border:1px solid var(--ink);border-radius:10px;background:transparent;
    cursor:pointer;user-select:none;transition:background .2s,border-color .2s,color .2s;}
  .ff-trow.open .ff-tile{flex-basis:50%;}
  .ff-tile:hover{background:rgba(17,16,15,.05);}
  .ff-tile.active{box-shadow:inset 0 0 0 1px var(--ink);}
  .ff-tile.has-sel{background:var(--ink);border-color:var(--ink);}
  .ff-tile-name{font-family:var(--font-display);font-weight:800;letter-spacing:-.01em;line-height:1.12;
    font-size:clamp(18px,1.9vw,20px);color:var(--ink);}
  .ff-tile.has-sel .ff-tile-name{color:#fff;}
  .ff-tile-count{position:absolute;top:10px;right:10px;font-size:11px;font-weight:700;color:#fff;background:var(--ink);
    min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
    padding:0 6px;opacity:0;transform:scale(.7);transition:.2s;}
  .ff-tile.has-sel .ff-tile-count{opacity:1;transform:none;background:#fff;color:var(--ink);}
  /* shared options panel revealed below the squares */
  .ff-tile-panel{margin-top:0;display:none;}
  .ff-tile-panel.show{display:block;animation:ffPanelIn .3s ease;}
  @keyframes ffPanelIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
  .ff-tile-panel-label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:var(--c-blue);margin-bottom:12px;}
  .ff-tile-panel .ff-card-chips{padding:0;}
  @media(max-width:640px){
    .ff-tile-name{font-size:16px;}
    .ff-tile{min-height:64px;padding:11px;}
    .ff-trow{column-gap:12px;row-gap:8px;}
    .ff-row-opts{padding-bottom:4px;}
    .ff-tile-panel .ff-card-chips{gap:7px;}
    .ff-chip{padding:7px 13px;font-size:12.5px;}
  }
  .ff-submit{margin-top:40px;width:100%;border:none;border-radius:999px;background:var(--ink);color:#fff;
    padding:18px 42px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:.01em;
    display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .2s,color .2s,transform .1s;}
  .ff-submit:hover{background:var(--c-blue);color:#10222e;}
  .ff-submit:active{transform:translateY(1px);}
  .ff-submit svg{width:60px;height:60px;}
  .ff-note{margin-top:16px;font-size:12px;color:var(--ink-soft);text-align:center;}
  /* registration incentives */
  .ff-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:34px;
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:12px;overflow:hidden;}
  .ff-perk{background:#10222e;padding:22px 22px;display:flex;flex-direction:column;gap:9px;}
  .ff-perk-ico{width:26px;height:26px;color:var(--c-blue);}
  .ff-perk-ico svg{width:100%;height:100%;display:block;}
  .ff-perk-t{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.01em;}
  .ff-perk-d{font-size:12.5px;line-height:1.45;color:rgba(243,241,236,.6);}
  /* live summary that assembles as you choose */
  .ff-summary{margin-top:30px;padding:20px 22px;border-radius:12px;
    background:rgba(126,168,196,.1);border:1px solid rgba(126,168,196,.32);
    display:none;align-items:center;gap:16px;flex-wrap:wrap;
    opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;}
  .ff-summary.show{display:flex;opacity:1;transform:none;}
  .ff-contact{margin-top:30px;padding-top:28px;border-top:1px solid var(--line);}
  .ff-contact .ff-row{margin-top:16px;}
  .ff-summary-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:var(--c-blue);flex:0 0 auto;}
  .ff-summary-chips{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 auto;}
  .ff-sum-chip{font-size:13px;font-weight:600;color:var(--ink);background:rgba(17,16,15,.06);
    border-radius:999px;padding:6px 14px;white-space:nowrap;}
  @media(max-width:760px){
    .ff-perks{grid-template-columns:1fr;}
  }
  @media(max-width:760px){
    .fin-opts{grid-template-columns:1fr;gap:0;}
    .fin-opt{padding:26px 0;border-top:1px solid var(--line);}
    .ff-row{grid-template-columns:1fr;gap:28px;}
  }
  .fin-banks{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);
    display:flex;align-items:center;gap:34px;flex-wrap:wrap;}
  .fin-banks-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    color:var(--ink-soft);flex:0 0 auto;}
  .bank-row{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;}
  .bank{flex:1 1 0;min-width:0;height:78px;display:flex;align-items:center;justify-content:center;
    padding:8px 12px;border-radius:5px;background:#fff;overflow:hidden;
    box-shadow:0 2px 10px rgba(0,0,0,.18);}
  .bank img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;
    transform:scale(1.32);}
  .bank.bank--bna img{transform:scale(1.9);}
  .bank.bank--bna img{transform:scale(1.9);}
