.agenda-section{padding:96px 0;background:linear-gradient(180deg,#f7f8f6 0%,#fff 100%);color:#151813}.agenda-shell{display:grid;grid-template-columns:.85fr 1.35fr;gap:34px;align-items:start}.agenda-copy{position:sticky;top:110px}.agenda-copy h2{font-family:"Barlow Condensed",sans-serif;font-size:clamp(2.5rem,5vw,4.4rem);line-height:.92;margin:14px 0 18px}.agenda-copy h2 span{color:#f49b20}.agenda-copy p{font-size:1.02rem;color:#5e655b;max-width:540px;line-height:1.75}.agenda-benefits{display:grid;gap:13px;margin-top:28px}.agenda-benefit{display:flex;gap:11px;align-items:center;font-weight:700}.agenda-benefit i{width:30px;height:30px;border-radius:9px;background:#111;color:#fff;display:grid;place-items:center;font-style:normal}.agenda-card{background:#fff;border:1px solid #e4e7e1;border-radius:24px;box-shadow:0 22px 70px rgba(14,18,12,.08);overflow:hidden}.agenda-card-head{padding:24px 26px;border-bottom:1px solid #edf0eb;display:flex;align-items:center;justify-content:space-between;gap:16px}.agenda-card-head strong{font-size:1.1rem}.agenda-step{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#6f756b}.agenda-body{padding:26px}.agenda-days{display:flex;gap:9px;overflow:auto;padding-bottom:10px;scrollbar-width:thin}.agenda-day{min-width:112px;border:1px solid #dfe3dc;background:#fff;border-radius:16px;padding:13px 12px;cursor:pointer;text-align:left;transition:.2s}.agenda-day:hover,.agenda-day.is-active{border-color:#111;background:#111;color:#fff;transform:translateY(-1px)}.agenda-day small{display:block;opacity:.65;text-transform:uppercase;font-size:.7rem}.agenda-day b{display:block;margin-top:4px}.agenda-hours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}.agenda-hour{border:1px solid #dfe3dc;background:#fafbf9;border-radius:12px;padding:12px;cursor:pointer;font-weight:800}.agenda-hour:hover,.agenda-hour.is-active{background:#f49b20;border-color:#f49b20;color:#111}.agenda-empty{padding:34px 0;text-align:center;color:#737a70}.agenda-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;padding-top:22px;border-top:1px solid #edf0eb}.agenda-field{display:grid;gap:7px}.agenda-field.full{grid-column:1/-1}.agenda-field label{font-size:.8rem;font-weight:800;color:#50564d}.agenda-field input,.agenda-field textarea{width:100%;border:1px solid #dfe3dc;border-radius:12px;padding:13px 14px;background:#fff;color:#111;font:inherit;outline:none}.agenda-field input:focus,.agenda-field textarea:focus{border-color:#f49b20;box-shadow:0 0 0 3px rgba(244,155,32,.13)}.agenda-field textarea{min-height:90px;resize:vertical}.agenda-selected{grid-column:1/-1;background:#f7f8f5;border-radius:13px;padding:12px 14px;font-weight:700;display:none}.agenda-selected.show{display:block}.agenda-submit{grid-column:1/-1;border:0;border-radius:13px;background:#111;color:#fff;padding:15px 18px;font-weight:900;cursor:pointer}.agenda-submit:hover{background:#f49b20;color:#111}.agenda-submit:disabled{opacity:.5;cursor:not-allowed}.agenda-alert{grid-column:1/-1;padding:13px 14px;border-radius:12px;display:none}.agenda-alert.show{display:block}.agenda-alert.ok{background:#e9f8ed;color:#1c6b31}.agenda-alert.bad{background:#fff0ee;color:#9b3329}.agenda-success{text-align:center;padding:34px 18px}.agenda-success-icon{width:68px;height:68px;border-radius:50%;background:#111;color:#f49b20;display:grid;place-items:center;font-size:2rem;margin:0 auto 18px}.agenda-success h3{font-size:1.7rem;margin:0 0 8px}.agenda-success a{display:inline-flex;margin-top:18px;text-decoration:none;background:#f49b20;color:#111;padding:13px 18px;border-radius:12px;font-weight:900}.agenda-hp{position:absolute!important;left:-9999px!important}.agenda-loading{height:140px;display:grid;place-items:center;color:#737a70}
@media(max-width:900px){.agenda-section{padding:70px 0}.agenda-shell{grid-template-columns:1fr}.agenda-copy{position:static}.agenda-hours{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.agenda-card{border-radius:18px}.agenda-card-head,.agenda-body{padding:18px}.agenda-hours{grid-template-columns:repeat(2,1fr)}.agenda-form{grid-template-columns:1fr}.agenda-field.full,.agenda-selected,.agenda-submit,.agenda-alert{grid-column:1}.agenda-day{min-width:104px}}
.agenda-weekly{padding:22px 26px 20px;background:#fbfcfa;border-bottom:1px solid #edf0eb}.agenda-weekly-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.agenda-weekly-title strong{font-size:.95rem}.agenda-weekly-title span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:#72796f}.agenda-weekly-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.agenda-weekday{border:1px solid #e1e5de;border-radius:12px;padding:11px 10px;background:#fff;min-width:0}.agenda-weekday b{display:block;font-size:.78rem;margin-bottom:4px}.agenda-weekday span{display:block;font-size:.74rem;color:#687066;white-space:nowrap}.agenda-weekday.is-open{border-color:#f0d4ad;background:#fff8ef}.agenda-weekday.is-open b{color:#9b5c08}.agenda-weekday.is-closed{opacity:.65;background:#f3f4f1}
@media(max-width:700px){.agenda-weekly{padding:18px}.agenda-weekly-grid{display:flex;overflow:auto;padding-bottom:4px}.agenda-weekday{min-width:122px}.agenda-weekly-title{align-items:flex-start;flex-direction:column;gap:4px}}


/* Horarios públicos: disponibles y reservados visibles */
.agenda-hour{display:flex;align-items:center;justify-content:center;gap:7px;min-height:54px;flex-wrap:wrap}
.agenda-hour small{display:block;width:100%;font-size:.64rem;line-height:1;text-transform:uppercase;letter-spacing:.05em;opacity:.62;font-weight:800}
.agenda-hour.is-reserved{background:#f1f2ef;border-color:#d9ddd5;color:#7a8177;cursor:not-allowed;opacity:1;box-shadow:none}
.agenda-hour.is-reserved:hover{background:#f1f2ef;border-color:#d9ddd5;color:#7a8177;transform:none}
.agenda-hour.is-reserved .agenda-lock{font-size:.9rem;filter:grayscale(1);opacity:.78}
.agenda-hour.is-reserved small{color:#8a9087;opacity:1}

/* Ajustes compactos de tarjetas y horarios */
.agenda-weekly{padding:16px 20px 14px}
.agenda-weekly-title{margin-bottom:10px}
.agenda-weekly-grid{gap:6px}
.agenda-weekday{border-radius:10px;padding:8px 9px}
.agenda-weekday b{font-size:.72rem;margin-bottom:2px}
.agenda-weekday span{font-size:.68rem}
.agenda-card-head{padding:18px 20px}
.agenda-body{padding:20px}
.agenda-days{gap:7px;padding-bottom:7px}
.agenda-day{min-width:94px;border-radius:12px;padding:9px 10px}
.agenda-day small{font-size:.64rem}
.agenda-day b{font-size:.9rem;margin-top:2px}
.agenda-hours{gap:7px;margin-top:16px}
.agenda-hour{min-height:44px;border-radius:10px;padding:8px;font-size:.88rem;gap:5px}
.agenda-hour small{font-size:.57rem}
.agenda-hour.is-reserved .agenda-lock{font-size:.78rem}

/* CAPTCHA propio */
.agenda-captcha{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e1e5de;background:#fafbf9;border-radius:12px}
.agenda-captcha label{display:block;font-size:.76rem;font-weight:800;color:#50564d;margin-bottom:3px}
.agenda-captcha strong{display:block;font-size:1rem}
.agenda-captcha small{display:block;color:#777e74;margin-top:3px;font-size:.68rem}
.agenda-captcha-answer{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.agenda-captcha-answer input{width:82px;text-align:center;border:1px solid #dfe3dc;border-radius:10px;padding:10px;font:inherit;font-weight:800}
.agenda-captcha-answer button{width:38px;height:38px;border:1px solid #dfe3dc;border-radius:10px;background:#fff;cursor:pointer;font-size:1.05rem}
.agenda-captcha-answer button:hover{border-color:#f49b20;background:#fff8ef}

/* Modal de confirmación */
.agenda-confirm-dialog{border:0;padding:0;background:transparent;max-width:min(520px,calc(100vw - 28px));width:100%;overflow:visible}
.agenda-confirm-dialog::backdrop{background:rgba(10,12,9,.58);backdrop-filter:blur(3px)}
.agenda-confirm-card{position:relative;background:#fff;border-radius:20px;padding:30px 26px 24px;text-align:center;box-shadow:0 28px 90px rgba(0,0,0,.24)}
.agenda-confirm-card h3{font-size:1.65rem;margin:0 0 10px}
.agenda-confirm-card p{color:#62695f;line-height:1.6}
.agenda-modal-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#f2f3f0;font-size:1.35rem;cursor:pointer}
.agenda-modal-done{width:100%;margin-top:18px;border:0;border-radius:12px;background:#111;color:#fff;padding:13px 16px;font-weight:900;cursor:pointer}
.agenda-modal-done:hover{background:#f49b20;color:#111}
.agenda-meet-button{display:inline-flex;margin-top:12px;text-decoration:none;background:#f49b20;color:#111;padding:12px 17px;border-radius:11px;font-weight:900}
.agenda-success-note{margin-top:14px!important;font-size:.9rem}
.agenda-confirm-card .agenda-success-icon{width:58px;height:58px;font-size:1.7rem;margin-bottom:14px}

@media(max-width:600px){
  .agenda-weekly{padding:14px}
  .agenda-weekday{min-width:106px;padding:7px 8px}
  .agenda-card-head,.agenda-body{padding:15px}
  .agenda-day{min-width:88px;padding:8px}
  .agenda-hours{grid-template-columns:repeat(3,1fr)}
  .agenda-hour{min-height:42px;padding:7px 5px}
  .agenda-captcha{align-items:flex-start;flex-direction:column}
  .agenda-captcha-answer{width:100%}
  .agenda-captcha-answer input{flex:1;width:auto}
}
@media(max-width:390px){.agenda-hours{grid-template-columns:repeat(2,1fr)}}
