/* ===== Agenda inline — calendario embebido en el hero ·
        diseño profesional, tipografía Inter, amarillo como acento ===== */
.bk-inline{
  --bk-yellow:#f3c200;        /* acento de marca */
  --bk-yellow-soft:#fdf3cf;   /* relleno suave */
  --bk-yellow-line:#ecd98a;   /* borde suave */
  --bk-ink:#1b1b1b;
  --bk-muted:#6f6a62;
  --bk-line:#ebe7df;          /* líneas finas cálidas */
  --bk-field:#dcd8cf;
  --bk-disp:'Archivo',system-ui,sans-serif;
  --bk-body:'Inter',system-ui,-apple-system,sans-serif;
  font-family:var(--bk-body);
  background:#fff;color:var(--bk-ink);
  border-radius:18px;
  padding:clamp(1.1rem,1.6vw,1.4rem);
  box-shadow:0 24px 60px -20px rgba(0,0,0,.45);
  border:1px solid rgba(0,0,0,.04);
  width:100%;max-width:440px;min-width:0;
  justify-self:end;align-self:center;
  -webkit-font-smoothing:antialiased;
}
.bk-inline *{font-family:inherit}
.bk-inline__head{margin-bottom:.9rem}
.bk-inline__eyebrow{margin:0 0 .5rem;color:#a98a06;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em}
.bk-inline__head h2{margin:0 0 .3rem;font-family:var(--bk-disp);font-size:1.4rem;font-weight:700;letter-spacing:-.01em;line-height:1.1}
.bk-inline__head p{margin:0;color:var(--bk-muted);font-size:.86rem;line-height:1.5}
.bk-inline__directions{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-top:.85rem;padding:.65rem;border:1px solid var(--bk-line);border-radius:10px;background:#fff;color:#7a6500;text-decoration:none;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;transition:background .15s,border-color .15s}
.bk-inline__directions:hover{background:#fdfaf0;border-color:var(--bk-yellow-line)}

.bk-alert{margin:0 0 1rem;padding:.75rem .9rem;border-radius:9px;background:var(--bk-yellow-soft);color:#6b5800;font-size:.83rem}
.bk-alert.is-error{background:#fceeee;color:#9b2727}
.bk-dialog__body{padding:0}
.bk-panel{display:none}
.bk-panel.is-active{display:block;animation:bk-in .2s ease both}
@keyframes bk-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

.bk-service-picker{display:none}
.bk-service-picker>span{display:block;margin-bottom:.5rem;color:var(--bk-muted);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em}
.bk-service-picker>div{display:flex;gap:.4rem;overflow:auto;padding-bottom:.3rem;scrollbar-width:thin}
.bk-service{border:1px solid var(--bk-field);border-radius:999px;padding:.45rem .85rem;background:#fff;white-space:nowrap;cursor:pointer;font-size:.76rem;font-weight:500;color:#4a463f;transition:background .15s,border-color .15s,color .15s}
.bk-service:hover{border-color:#bdb8ae}
.bk-service.is-active{background:var(--bk-ink);border-color:var(--bk-ink);color:#fff}

.bk-calendar__nav{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;padding:.3rem 0 .7rem;border-bottom:1px solid var(--bk-line)}
.bk-calendar__nav strong{display:flex;align-items:baseline;justify-content:center;gap:.5rem;font-family:var(--bk-disp);font-size:1.15rem;font-weight:700}
.bk-month-name{text-transform:uppercase;letter-spacing:.04em}
.bk-month-year{color:var(--bk-muted);font-family:var(--bk-body);font-size:.7em;font-weight:500;letter-spacing:.08em}
.bk-calendar__nav button{width:36px;height:36px;border:1px solid var(--bk-line);border-radius:50%;background:#fafaf7;color:#2a2a2a;font-size:1.2rem;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
.bk-calendar__nav button:hover{background:var(--bk-yellow-soft);border-color:var(--bk-yellow-line)}
.bk-calendar__week,.bk-calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}
.bk-calendar__week{padding:.7rem 0 .45rem}
.bk-calendar__week span{text-align:center;color:#a9a399;font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.bk-day{position:relative;aspect-ratio:1.18;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;background:#f6f4ef;color:#bbb5ab;font-size:.9rem;font-weight:500;cursor:not-allowed;font-variant-numeric:tabular-nums}
.bk-day.is-empty{visibility:hidden}
.bk-day.is-free{background:#fff;border-color:var(--bk-yellow-line);color:var(--bk-ink);cursor:pointer;font-weight:600;transition:background .15s,border-color .15s,transform .12s}
.bk-day.is-free:hover{background:var(--bk-yellow-soft);border-color:var(--bk-yellow);transform:translateY(-1px)}
.bk-day.is-free::after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--bk-yellow);bottom:6px;left:50%;transform:translateX(-50%)}
.bk-day.is-full{background:#f1efea;color:#c2bcb2}
.bk-calendar__legend{display:flex;gap:1.4rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--bk-line)}
.bk-calendar__legend span{display:grid;grid-template-columns:auto auto;gap:0 .5rem;align-items:center}
.bk-calendar__legend i{grid-row:1/3;width:22px;height:22px;border-radius:6px;background:#f1efea;border:1px solid #e2ddd4}
.bk-calendar__legend i.is-free{background:#fff;border-color:var(--bk-yellow-line);position:relative}
.bk-calendar__legend i.is-free::after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--bk-yellow);bottom:3px;left:50%;transform:translateX(-50%)}
.bk-calendar__legend b{font-size:.78rem;font-weight:600;color:#3a3631}
.bk-calendar__legend small{color:#a9a399;font-size:.68rem}

.bk-back{display:inline-flex;align-items:center;margin-bottom:1rem;border:1px solid var(--bk-line);border-radius:999px;background:#fff;color:#4a463f;padding:.5rem .9rem;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s}
.bk-back:hover{background:#faf8f3}
.bk-date-title{margin:0 0 1.2rem;font-family:var(--bk-disp);font-size:1.4rem;font-weight:700;text-transform:capitalize}
.bk-times-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.bk-time{border:1px solid var(--bk-field);border-radius:11px;background:#fff;color:var(--bk-ink);padding:1.05rem;font-size:1.05rem;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums;transition:background .15s,color .15s,border-color .15s}
.bk-time:hover{background:var(--bk-ink);color:#fff;border-color:var(--bk-ink)}

.bk-form-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;margin-bottom:.85rem}
.bk-countdown{display:flex;align-items:center;gap:.45rem;padding:.5rem .8rem;border:1px solid var(--bk-line);border-radius:999px;color:var(--bk-muted);font-size:.74rem;font-weight:500}
.bk-countdown i{width:7px;height:7px;border-radius:50%;background:var(--bk-yellow)}
.bk-visit-summary{margin:0 0 1rem;padding:.8rem 1rem;border-radius:12px;background:#faf8f1;border:1px solid var(--bk-line)}
.bk-visit-summary span,.bk-visit-summary strong,.bk-visit-summary small{display:block}
.bk-visit-summary span{color:#9a8a55;font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em}
.bk-visit-summary strong{margin-top:.4rem;font-family:var(--bk-disp);font-size:1.1rem;font-weight:700;text-transform:capitalize}
.bk-visit-summary small{margin-top:.2rem;color:var(--bk-muted);font-size:.8rem}
.bk-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:.7rem}
.bk-fields__row{display:grid;grid-template-columns:minmax(0,1fr);gap:.7rem}
.bk-fields label{display:grid;gap:.35rem;color:var(--bk-muted);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.bk-optional{text-transform:none;letter-spacing:0;font-weight:400;color:#aaa499}
.bk-fields input,.bk-fields textarea,.bk-fields select{border:1px solid var(--bk-field);border-radius:9px;padding:.6rem .7rem;background:#fff;font-size:.9rem;font-weight:400;color:var(--bk-ink);outline:none;transition:border-color .15s,box-shadow .15s}
.bk-fields textarea{resize:vertical;min-height:2.4rem}
.bk-fields select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%236f6a62' stroke-width='1.7'%3E%3Cpath d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:1.9rem}
.bk-fields input:focus,.bk-fields textarea:focus,.bk-fields select:focus{border-color:var(--bk-ink);box-shadow:0 0 0 3px rgba(27,27,27,.06)}
.bk-honeypot{display:none}

/* Dropdown propio (reemplaza el select nativo) */
.bk-dd{position:relative}
.bk-dd__btn,.bk-dd__label,.bk-dd__opt{text-transform:none;letter-spacing:normal}
.bk-dd__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid var(--bk-field);border-radius:9px;padding:.6rem .7rem;background:#fff;font-family:inherit;font-size:.9rem;color:var(--bk-ink);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}
.bk-dd__btn:focus-visible{outline:none;border-color:var(--bk-ink);box-shadow:0 0 0 3px rgba(27,27,27,.06)}
.bk-dd.is-open .bk-dd__btn{border-color:var(--bk-ink);box-shadow:0 0 0 3px rgba(27,27,27,.06)}
.bk-dd__btn--placeholder{color:#a39d93}
.bk-dd__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-dd__chev{flex:none;display:flex;color:var(--bk-muted);transition:transform .18s}
.bk-dd.is-open .bk-dd__chev{transform:rotate(180deg)}
.bk-dd.is-invalid .bk-dd__btn{border-color:#d98b8b;box-shadow:0 0 0 3px rgba(217,139,139,.15)}
.bk-dd__list{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--bk-line);border-radius:11px;box-shadow:0 18px 44px -14px rgba(0,0,0,.3);padding:.3rem;max-height:240px;overflow:auto;display:none}
.bk-dd.is-open .bk-dd__list{display:block;animation:bk-in .14s ease both}
.bk-dd__opt{display:flex;align-items:center;gap:.5rem;padding:.55rem .6rem;border-radius:7px;font-size:.88rem;color:#3a3631;cursor:pointer;transition:background .12s}
.bk-dd__opt:hover{background:var(--bk-yellow-soft)}
.bk-dd__opt[aria-selected="true"]{font-weight:600;color:var(--bk-ink)}
.bk-dd__opt[aria-selected="true"]::after{content:'✓';margin-left:auto;color:#b8860b;font-size:.8rem}
.bk-primary{display:block;width:100%;margin-top:.9rem;border:0;border-radius:10px;background:var(--bk-ink);color:#fff;padding:.85rem;font-size:.86rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:opacity .15s}
.bk-primary:hover:not(:disabled){opacity:.88}
.bk-primary:disabled{opacity:.45;cursor:default}

.bk-success{text-align:center;padding:.5rem 0 .5rem}
.bk-success>span{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 1rem;border-radius:50%;background:var(--bk-yellow-soft);color:#8a6d00;font-size:1.5rem;border:1px solid var(--bk-yellow-line)}
.bk-success__eyebrow{margin:0;color:#a98a06;font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600}
.bk-code{margin:1rem auto 1.2rem;max-width:400px;padding:1rem 1.1rem;border-radius:12px;background:var(--bk-yellow-soft);border:1px dashed var(--bk-yellow-line)}
.bk-code>span{display:block;color:#9a8a55;font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em}
.bk-code>strong{display:block;margin:.3rem 0;font-size:1.7rem;font-weight:800;letter-spacing:.2em;color:var(--bk-ink);font-variant-numeric:tabular-nums}
.bk-code>small{display:block;color:#7a6500;font-size:.76rem;line-height:1.45}
.bk-code>small a{color:#8a6d00;font-weight:600}
.bk-success h3{margin:.45rem 0;font-family:var(--bk-disp);font-size:1.35rem;font-weight:700}
.bk-success>p:not(.bk-success__eyebrow){max-width:42ch;margin:0 auto 1.2rem;color:var(--bk-muted);font-size:.86rem;line-height:1.6}
.bk-success dl{display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1rem;max-width:380px;margin:0 auto;text-align:left;padding:1rem;border-radius:11px;background:#faf8f1;border:1px solid var(--bk-line)}
.bk-success dt{color:#9a8a55;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.bk-success dd{margin:0;font-size:.86rem;font-weight:500}
.bk-loading{color:var(--bk-muted);font-size:.85rem}

@media(max-width:540px){
  .bk-inline{padding:1.2rem 1rem}
  .bk-calendar__week,.bk-calendar__days{gap:.28rem}
  .bk-day{border-radius:9px;font-size:.88rem}
  .bk-times-grid{grid-template-columns:repeat(2,1fr)}
  .bk-fields__row{grid-template-columns:minmax(0,1fr)}
  .bk-date-title{font-size:1.25rem}
  .bk-calendar__legend{gap:.9rem}
}
