:root{
  --kay-ink:#171717;
  --kay-soft:#6f6a63;
  --kay-line:#e9e5df;
  --kay-ivory:#faf8f4;
  --kay-champagne:#d8c4a3;
  --kay-white:#fff;
  --kay-success:#e9f7ed;
  --kay-danger:#fbecec;
  --kay-warning:#fff5d8;
}
.kay-events-wrap,.kay-staff-wrap{max-width:1180px;margin:42px auto;padding:0 18px;color:var(--kay-ink);font-family:inherit}
.kay-events-header{text-align:center;margin:0 auto 30px;max-width:760px}.kay-events-header h2,.kay-staff-wrap h2{font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.035em;margin:0 0 10px}.kay-events-header p,.kay-staff-head p{color:var(--kay-soft);font-size:15px}
.kay-box,.kay-reservation-card,.kay-alert{background:var(--kay-white);border:1px solid var(--kay-line);border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:0 10px 28px rgba(20,16,12,.045)}.kay-alert{background:var(--kay-warning);border-color:#efd98e}
.kay-step-box{max-width:760px;margin:0 auto 22px}.kay-step-box label{display:block;margin-bottom:9px}.kay-step-box select,.kay-team-filter select,.kay-team-filter input{width:100%;min-height:48px;border:1px solid #d8d4cd;border-radius:12px;padding:9px 12px;box-sizing:border-box;background:#fff;color:#1b1b1b}
.kay-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}.kay-event-card{border:1px solid var(--kay-line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 18px 45px rgba(26,20,14,.08);transition:transform .2s ease,box-shadow .2s ease}.kay-event-card:hover{transform:translateY(-2px);box-shadow:0 22px 52px rgba(26,20,14,.11)}.kay-event-card__image{display:block;width:100%;height:300px;object-fit:cover;background:#f3f1ee}.kay-event-card__body{padding:24px}.kay-event-card h3{font-size:26px;line-height:1.08;letter-spacing:-.025em;margin:8px 0 5px}.kay-date{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--kay-ivory);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.kay-brand,.kay-muted{color:var(--kay-soft)}.kay-brand{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.kay-event-description{color:#514d48;line-height:1.7}.kay-event-description p{margin:9px 0}
.kay-reserve-form{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--kay-line)}.kay-reserve-form label{font-size:13px;letter-spacing:.01em}.kay-reserve-form input,.kay-reserve-form select{width:100%;min-height:48px;border:1px solid #d8d4cd;border-radius:12px;padding:10px 12px;box-sizing:border-box;background:#fff}.kay-reserve-form input:focus,.kay-reserve-form select:focus,.kay-team-filter select:focus,.kay-team-filter input:focus{outline:none;border-color:#8a7d6a;box-shadow:0 0 0 3px rgba(138,125,106,.12)}.kay-reserve-form button,.kay-btn{display:inline-flex;justify-content:center;align-items:center;background:var(--kay-ink);color:#fff!important;border:1px solid var(--kay-ink);border-radius:12px;padding:13px 18px;text-decoration:none!important;cursor:pointer;font-weight:700;transition:.18s ease}.kay-reserve-form button:hover,.kay-btn:hover{background:#000;transform:translateY(-1px)}.kay-btn-small{font-size:12px;padding:8px 11px;border-radius:9px}.kay-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kay-check{font-size:12px;color:#5e5a55}.kay-check input{width:auto;min-height:auto}.kay-link{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Confirmación premium */
.kay-confirm-shell{max-width:900px;margin:36px auto;padding:0 18px}.kay-confirm-premium{background:#fff;border:1px solid var(--kay-line);border-radius:28px;overflow:hidden;box-shadow:0 28px 80px rgba(24,18,12,.11)}.kay-confirm-visual{height:330px;overflow:hidden;background:#f5f2ed}.kay-confirm-visual img{width:100%;height:100%;object-fit:cover;display:block}.kay-confirm-head{text-align:center;padding:34px 28px 24px;background:linear-gradient(180deg,#fff 0%,#fcfaf7 100%)}.kay-eyebrow{display:inline-block;font-size:11px;letter-spacing:.18em;font-weight:800;color:#8b7c66;margin-bottom:12px}.kay-confirm-head h2{font-size:clamp(30px,5vw,48px);letter-spacing:-.04em;line-height:1.02;margin:0 0 10px}.kay-confirm-head>p{max-width:600px;margin:0 auto;color:var(--kay-soft);line-height:1.65}.kay-confirm-message{max-width:720px;margin:16px auto 0;padding:16px 18px;border:1px solid #eadfce;border-radius:16px;background:linear-gradient(180deg,#fffaf5 0%,#f8f0e4 100%);box-shadow:0 10px 26px rgba(60,42,18,.06)}.kay-confirm-message p{margin:0;color:#53493e;font-size:16px;line-height:1.75;font-weight:600}.kay-confirm-code{margin:22px auto 0;display:inline-flex;flex-direction:column;gap:4px;border:1px solid #ded6ca;border-radius:14px;padding:11px 18px;background:#fff}.kay-confirm-code span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8b8278}.kay-confirm-code strong{font-size:18px;letter-spacing:.06em}.kay-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 28px 22px}.kay-premium-panel{background:var(--kay-ivory);border:1px solid #eee7dd;border-radius:18px;padding:22px}.kay-panel-label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#8d806e;margin-bottom:9px}.kay-premium-panel h3{font-size:22px;margin:0 0 12px;letter-spacing:-.02em}.kay-brand-premium{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#766b5d;margin:-5px 0 12px}.kay-details-list{margin:0}.kay-details-list>div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:8px 0;border-top:1px solid #ece5dc}.kay-details-list>div:first-child{border-top:0}.kay-details-list dt{font-size:12px;color:#82786d}.kay-details-list dd{margin:0;font-size:13px;font-weight:650;overflow-wrap:anywhere}.kay-qr-premium{text-align:center;padding:28px;border-top:1px solid var(--kay-line);background:#fff}.kay-qr-code{width:306px;min-height:306px;margin:12px auto 18px;padding:10px;border:1px solid #ded8cf;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.kay-qr-code img,.kay-qr-code canvas{max-width:286px!important;width:100%!important;height:auto!important;display:block!important}.kay-qr-premium p{max-width:600px;margin:0 auto;color:var(--kay-soft);font-size:13px;line-height:1.6}.kay-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#eee;text-transform:capitalize;font-size:11px;font-weight:800}.kay-status-asistio{background:var(--kay-success);color:#236b37}.kay-status-no_asistio{background:var(--kay-danger);color:#8c2a2a}.kay-status-cancelada{background:#efefef;color:#555}.kay-status-pendiente{background:var(--kay-warning);color:#7d5d00}.kay-status-confirmada{background:#eef1ff;color:#3c4b8d}

/* Equipo */
.kay-staff-head,.kay-row-between{display:flex;justify-content:space-between;gap:16px;align-items:center}.kay-team-filter{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.kay-event-row{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid var(--kay-line);border-radius:15px;padding:16px;margin-bottom:10px;color:inherit!important;text-decoration:none!important;box-shadow:0 5px 16px rgba(0,0,0,.035)}.kay-event-row:hover{border-color:#cfc7bb}.kay-event-row small{display:block;color:#777;margin-top:4px}.kay-event-row-thumb{width:72px;height:72px;object-fit:cover;border-radius:12px;flex:0 0 auto}.kay-event-row-copy{flex:1;min-width:0}.kay-team-event-image{width:210px;max-width:100%;height:140px;object-fit:cover;border-radius:14px;margin-bottom:12px}.kay-reservation-card{display:grid;grid-template-columns:1fr auto;gap:12px}.kay-res-main{line-height:1.6}.kay-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;padding-top:10px;border-top:1px solid var(--kay-line)}.kay-actions form{margin:0}.kay-confirm-source{font-size:11px;color:#666;margin-top:6px;text-align:right}.kay-registration-summary{padding:10px 0 16px;color:#555}.kay-person-block,.kay-event-summary{background:var(--kay-ivory);border-radius:14px;padding:16px;margin:12px 0}.kay-person-name{font-size:20px;font-weight:800;margin:6px 0}

@media(max-width:760px){.kay-confirm-grid{grid-template-columns:1fr;padding:0 16px 16px}.kay-confirm-head{padding:28px 18px 20px}.kay-confirm-visual{height:250px}.kay-confirm-message{padding:14px 14px;border-radius:14px}.kay-confirm-message p{font-size:15px;line-height:1.65}.kay-qr-premium{padding:24px 16px}.kay-two,.kay-team-filter{grid-template-columns:1fr}.kay-reservation-card{grid-template-columns:1fr}.kay-staff-head,.kay-row-between{align-items:flex-start;flex-direction:column}.kay-confirm-source{text-align:left}.kay-event-card__image{height:230px}.kay-event-row{align-items:flex-start}.kay-event-row-thumb{width:58px;height:58px}.kay-details-list>div{grid-template-columns:88px 1fr}}
.kay-staff-search{margin-top:16px}.kay-staff-search label{display:block;margin-bottom:8px}.kay-search-line{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:center}.kay-search-line input{width:100%;min-height:46px;border:1px solid #d8d4cd;border-radius:12px;padding:9px 12px}.kay-btn-light{background:#fff!important;color:#222!important;border-color:#d8d4cd!important}.kay-btn-light:hover{background:#f7f5f2!important}
@media(max-width:760px){.kay-search-line{grid-template-columns:1fr}.kay-search-line .kay-btn{width:100%}}

/* =========================================================
   KAY Eventos 2.4 — experiencia pública visual + modal
   ========================================================= */
.kay-events-v24{max-width:1240px}
.kay-events-hero{text-align:center;max-width:760px;margin:10px auto 34px;padding:12px 18px}
.kay-events-hero h2{font-size:clamp(34px,5vw,58px);line-height:.98;letter-spacing:-.045em;margin:4px 0 14px;font-weight:800}
.kay-events-hero p{margin:0;color:var(--kay-soft);font-size:16px;line-height:1.65}

.kay-location-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:28px;align-items:center;background:linear-gradient(135deg,#171717 0%,#2b2926 100%);color:#fff;border-radius:24px;padding:24px 26px;margin:0 auto 16px;box-shadow:0 18px 50px rgba(17,17,17,.13)}
.kay-location-copy{display:flex;gap:14px;align-items:center}.kay-location-copy strong{display:block;font-size:18px;margin-bottom:4px}.kay-location-copy small{display:block;color:rgba(255,255,255,.68);font-size:12px;line-height:1.45}
.kay-step-number{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.12em;flex:0 0 auto}
.kay-location-picker select{width:100%;min-height:52px;border-radius:14px;border:1px solid rgba(255,255,255,.18);padding:0 15px;background:#fff;color:#171717;font-weight:650;box-shadow:none}
.kay-event-help{text-align:center;color:#756d63;font-size:13px;margin:14px auto 24px}

.kay-event-grid-premium{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.kay-event-card-premium{border:0;border-radius:24px;box-shadow:0 18px 50px rgba(27,23,18,.09);overflow:hidden;background:#fff}
.kay-event-card-premium:hover{transform:translateY(-5px);box-shadow:0 28px 65px rgba(27,23,18,.14)}
.kay-event-card-click{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;margin:0;width:100%;height:100%;display:block;text-align:left;color:inherit;font:inherit;cursor:pointer}
.kay-event-card-click:focus-visible{outline:3px solid rgba(120,101,73,.35);outline-offset:-3px;border-radius:24px}
.kay-event-card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eee9e1}
.kay-event-card__image{height:100%;width:100%;object-fit:cover;transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.kay-event-card-click:hover .kay-event-card__image{transform:scale(1.035)}
.kay-event-card-placeholder,.kay-event-modal-placeholder{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,#f7f0e6 0,#ded2c2 48%,#a8957b 100%);color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.12)}
.kay-event-card-placeholder span,.kay-event-modal-placeholder span{font-size:44px;letter-spacing:.13em;font-weight:800}.kay-event-card-placeholder small,.kay-event-modal-placeholder small{font-size:10px;letter-spacing:.28em;margin-top:7px}
.kay-card-date,.kay-card-capacity{position:absolute;top:16px;padding:7px 11px;border-radius:999px;font-size:11px;line-height:1;font-weight:800;letter-spacing:.035em;backdrop-filter:blur(9px)}
.kay-card-date{left:16px;background:rgba(255,255,255,.92);color:#181818}.kay-card-capacity{right:16px;background:rgba(23,23,23,.86);color:#fff}.kay-card-capacity.is-soldout{background:rgba(110,32,32,.9)}
.kay-event-card-premium .kay-event-card__body{padding:22px 22px 24px}.kay-event-card-premium .kay-brand{font-size:10px;letter-spacing:.15em;margin-bottom:7px;color:#8a7962}.kay-event-card-premium h3{font-size:26px;margin:0 0 8px;line-height:1.05}.kay-card-location{font-size:12px;font-weight:700;color:#5e5952;margin-bottom:14px}.kay-card-location span{color:#b5a995;margin:0 3px}.kay-card-description{color:#746e66;line-height:1.62;font-size:13px;min-height:63px;margin:0 0 18px}.kay-card-cta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eee9e2;padding-top:16px;font-weight:800;font-size:12px;letter-spacing:.015em}.kay-card-cta span{font-size:20px;font-weight:400;transition:transform .2s ease}.kay-event-card-click:hover .kay-card-cta span{transform:translateX(4px)}

body.kay-modal-open{overflow:hidden}
.kay-event-modal[hidden]{display:none!important}.kay-event-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px}
.kay-event-modal-backdrop{position:absolute;inset:0;background:rgba(8,8,8,.72);backdrop-filter:blur(8px)}
.kay-event-modal-dialog{position:relative;z-index:1;width:min(1080px,100%);max-height:min(90vh,900px);overflow:auto;background:#fff;border-radius:28px;box-shadow:0 40px 120px rgba(0,0,0,.34);animation:kayModalIn .24s ease-out}
@keyframes kayModalIn{from{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:none}}
.kay-event-modal-close{position:absolute;z-index:4;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.94);color:#171717;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.08)}
.kay-event-modal-layout{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);min-height:650px}
.kay-event-modal-visual{position:relative;min-height:100%;overflow:hidden;background:#ebe4da}.kay-event-modal-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.kay-event-modal-overlay{position:absolute;left:0;right:0;bottom:0;padding:90px 30px 28px;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.72) 82%);color:#fff;font-size:12px;font-weight:700}.kay-modal-date{display:inline-flex;margin-bottom:8px;background:rgba(255,255,255,.94);color:#171717;padding:7px 10px;border-radius:999px;font-size:11px}
.kay-event-modal-content{padding:50px 44px 38px}.kay-event-modal-content>.kay-eyebrow{margin-bottom:14px}.kay-modal-brand{margin-bottom:8px}.kay-event-modal-content>h2{font-size:clamp(32px,4vw,48px);line-height:1;letter-spacing:-.045em;margin:0 0 18px}.kay-event-modal-description{color:#666057;line-height:1.75;font-size:14px;margin-bottom:20px}.kay-event-modal-description p{margin:0 0 10px}.kay-modal-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 26px}.kay-modal-meta>div{background:#faf8f4;border:1px solid #efe9e1;border-radius:13px;padding:11px 12px}.kay-modal-meta span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#9a8d7c;margin-bottom:4px;font-weight:800}.kay-modal-meta strong{font-size:12px;line-height:1.35;display:block}
.kay-reserve-form-modal{border-top:1px solid #eee8e0;margin-top:0;padding-top:24px;gap:10px}.kay-form-section-title{display:flex;align-items:center;gap:9px;margin:2px 0 2px}.kay-form-section-title span{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#171717;color:#fff;font-size:9px;letter-spacing:.06em}.kay-form-section-title strong{font-size:13px}.kay-reserve-form-modal input,.kay-reserve-form-modal select{background:#fff;border-color:#ded7cd;border-radius:13px;min-height:50px}.kay-check-premium{display:flex!important;align-items:flex-start;gap:8px;line-height:1.5;margin-top:2px}.kay-check-premium input{margin-top:3px}.kay-reserve-submit{min-height:52px!important;border-radius:13px!important;margin-top:5px;font-size:13px;display:flex!important;justify-content:space-between!important;padding-left:19px!important;padding-right:16px!important}.kay-reserve-submit span{font-size:18px}.kay-soldout-box{background:#faf4f2;border:1px solid #edd8d2;border-radius:15px;padding:18px;color:#6d3930}.kay-soldout-box p{margin:4px 0 0;color:#8b675f;font-size:13px}

/* QR: QRCode.js genera canvas + img de respaldo. Se muestra solamente una salida. */
.kay-qr-code{width:282px;min-height:282px;padding:11px}
.kay-qr-code canvas{display:block!important;width:260px!important;height:260px!important;max-width:100%!important}
.kay-qr-code img{display:none!important}

.kay-event-card-media,.kay-event-modal-visual,.kay-confirm-visual{overflow:hidden}.kay-event-card__image,.kay-event-modal-visual>img,.kay-confirm-visual img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:980px){
  .kay-event-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kay-event-modal-layout{grid-template-columns:1fr;min-height:0}.kay-event-modal-visual{min-height:320px}.kay-event-modal-content{padding:34px 28px 30px}
}
@media(max-width:700px){
  .kay-events-wrap{padding:0 12px;margin-top:24px}.kay-events-hero{margin-bottom:22px}.kay-events-hero h2{font-size:38px}
  .kay-location-picker{grid-template-columns:1fr;padding:20px;border-radius:19px;gap:16px}.kay-location-copy small{max-width:290px}
  .kay-event-grid-premium{grid-template-columns:1fr;gap:18px}.kay-event-card-media{aspect-ratio:4/3}.kay-card-description{min-height:0}
  .kay-event-modal{padding:0;align-items:flex-end}.kay-event-modal-dialog{width:100%;max-height:95vh;border-radius:24px 24px 0 0}.kay-event-modal-close{right:14px;top:14px}.kay-event-modal-visual{min-height:250px}.kay-event-modal-content{padding:28px 18px 26px}.kay-event-modal-content>h2{font-size:34px}.kay-modal-meta{grid-template-columns:1fr 1fr}.kay-two{grid-template-columns:1fr}.kay-event-modal-overlay{padding:70px 20px 20px}
  .kay-qr-code{width:min(282px,100%);min-height:0}.kay-qr-code canvas{width:100%!important;height:auto!important}
}


/* v2.5.0: ubicación y metadatos de eventos */
.kay-map-qr-link{display:inline-block;text-decoration:none;border-radius:22px;transition:transform .2s ease,box-shadow .2s ease}
.kay-map-qr-link:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
.kay-map-button{display:inline-block;background:#171717;color:#fff!important;text-decoration:none;padding:12px 20px;border-radius:999px;font-weight:700}
.kay-event-type{display:inline-block;margin:4px 0 10px;padding:6px 10px;border:1px solid #e4ded5;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.kay-event-product{margin:6px 0 14px;color:#5f5a54}
.kay-event-benefit{margin:16px 0;padding:12px 14px;background:#f6f1e9;border-radius:12px;font-weight:700;color:#40382e}

/* v2.5.3: panel del equipo filtrado por mes y local */
.kay-month-local-filter{max-width:860px;margin-left:auto;margin-right:auto}
.kay-month-filter-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:14px;align-items:end}
.kay-month-filter-form label{display:block;margin-bottom:8px}
.kay-month-filter-form select{width:100%;min-height:52px;border:1px solid var(--kay-line);border-radius:14px;background:#fff;padding:0 14px;font-weight:700}
.kay-month-filter-form select[name="mes"]{text-transform:capitalize}
.kay-filter-action .kay-btn{min-height:52px;white-space:nowrap}
.kay-event-group-title{margin:24px 0 10px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7f7467}
@media(max-width:700px){.kay-month-filter-form{grid-template-columns:1fr}.kay-filter-action .kay-btn{width:100%}}

/* v2.5.6: ajuste EXCLUSIVO para escritorio. En móvil se conserva el diseño existente. */
@media (min-width:981px){
  /* Modal del evento: mostrar la pieza completa, sin recortar */
  .kay-event-modal-visual{
    min-height:650px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f5f1eb;
  }
  .kay-event-modal-visual>img{
    position:relative;
    inset:auto;
    width:100%;
    height:100%;
    max-height:760px;
    object-fit:contain;
    object-position:center center;
    background:#f5f1eb;
  }

  /* Confirmación: imagen completa en desktop, sin corte superior/inferior */
  .kay-confirm-visual{
    height:auto;
    min-height:0;
    max-height:none;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f5f1eb;
  }
  .kay-confirm-visual img{
    width:100%;
    height:auto;
    max-height:640px;
    object-fit:contain;
    object-position:center center;
    display:block;
    background:#f5f1eb;
  }
}


/* v2.5.7: refinamiento desktop del modal y confirmación */
@media (min-width:981px){
  /* Modal desktop: la imagen no se estira a toda la altura de la columna.
     Así evitamos bloques vacíos grandes cuando la pieza es horizontal. */
  .kay-event-modal-dialog{
    width:min(1120px,96vw);
  }
  .kay-event-modal-layout{
    grid-template-columns:minmax(380px,.92fr) minmax(0,1.08fr);
    min-height:0;
    align-items:start;
  }
  .kay-event-modal-visual{
    position:relative;
    min-height:0;
    max-height:560px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:#f5f1eb;
  }
  .kay-event-modal-visual>img{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    max-height:500px;
    object-fit:contain;
    object-position:center center;
    display:block;
    margin:0 auto;
    background:#f5f1eb;
  }
  .kay-event-modal-overlay{
    left:24px;
    right:24px;
    bottom:24px;
    padding:18px 18px 16px;
    border-radius:0 0 18px 18px;
    background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.58) 100%);
  }

  /* Confirmación desktop: pieza más compacta y elegante */
  .kay-confirm-shell{
    max-width:820px;
  }
  .kay-confirm-premium{
    max-width:820px;
    margin:0 auto;
  }
  .kay-confirm-visual{
    height:auto;
    min-height:0;
    max-height:400px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f5f1eb;
  }
  .kay-confirm-visual img{
    width:100%;
    height:auto;
    max-height:400px;
    object-fit:contain;
    object-position:center center;
    display:block;
    margin:0 auto;
    background:#f5f1eb;
  }
}


/* v2.5.8: ajuste final desktop solicitado por usuario */
@media (min-width:981px){
  /* Modal desktop: pieza visual más limpia y sin sensación de vacío */
  .kay-event-modal-dialog{
    width:min(1100px,95vw);
    max-height:min(90vh,880px);
  }
  .kay-event-modal-layout{
    grid-template-columns:minmax(370px,0.88fr) minmax(0,1.12fr);
    align-items:start;
  }
  .kay-event-modal-visual{
    align-self:start;
    position:sticky;
    top:0;
    min-height:0;
    max-height:none;
    height:auto;
    padding:22px 22px 74px;
    box-sizing:border-box;
    background:#eee8df;
  }
  .kay-event-modal-visual > img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:center center;
    display:block;
    margin:0 auto;
    border-radius:18px;
    box-shadow:0 14px 36px rgba(17,17,17,.10);
    background:#f7f3ed;
  }
  .kay-event-modal-overlay{
    left:22px;
    right:22px;
    bottom:22px;
    padding:14px 16px 14px;
    border-radius:0 0 18px 18px;
    background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.62) 100%);
  }

  /* Confirmación desktop: imagen más contenida y elegante */
  .kay-confirm-shell{
    max-width:760px;
  }
  .kay-confirm-premium{
    max-width:760px;
    margin:0 auto;
  }
  .kay-confirm-visual{
    max-height:none;
    height:auto;
    min-height:0;
    padding:0 18px;
    box-sizing:border-box;
    background:#f5f1eb;
  }
  .kay-confirm-visual img{
    width:100%;
    max-width:680px;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:center center;
    display:block;
    margin:0 auto;
    border-radius:20px 20px 0 0;
    background:#f5f1eb;
  }
  .kay-confirm-head{
    padding:28px 26px 20px;
  }
  .kay-confirm-message{
    margin-top:14px;
  }
}


/* =========================================================
   v2.5.9 — Modal desktop premium KAY
   Mejora visual exclusiva de escritorio. Móvil/tablet se conserva.
   ========================================================= */
@media (min-width:981px){
  .kay-event-modal{
    padding:28px;
  }

  .kay-event-modal-backdrop{
    background:rgba(16,14,12,.68);
    backdrop-filter:blur(12px);
  }

  .kay-event-modal-dialog{
    width:min(1180px,95vw);
    height:min(84vh,780px);
    max-height:84vh;
    overflow:hidden;
    border-radius:32px;
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 42px 110px rgba(0,0,0,.38);
    background:#fff;
  }

  .kay-event-modal-layout{
    display:grid;
    grid-template-columns:minmax(400px,43%) minmax(0,57%);
    height:100%;
    min-height:0;
    align-items:stretch;
  }

  /* Columna visual izquierda */
  .kay-event-modal-visual{
    position:relative;
    min-height:0;
    height:100%;
    max-height:none;
    padding:32px 30px 28px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:20px;
    background:
      radial-gradient(circle at 20% 12%,rgba(255,255,255,.78),transparent 35%),
      linear-gradient(160deg,#f4eee5 0%,#ebe1d4 100%);
    overflow:hidden;
  }

  .kay-event-modal-visual::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:-95px;
    bottom:-80px;
    border-radius:50%;
    background:rgba(255,255,255,.22);
    pointer-events:none;
  }

  .kay-event-modal-visual>img{
    position:relative;
    inset:auto;
    z-index:1;
    width:100%;
    height:auto;
    max-height:505px;
    object-fit:contain;
    object-position:center center;
    display:block;
    margin:0 auto;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 45px rgba(38,29,18,.16);
  }

  .kay-event-modal-placeholder{
    position:relative;
    z-index:1;
    min-height:420px;
    border-radius:24px;
    overflow:hidden;
  }

  .kay-event-modal-overlay{
    position:relative;
    z-index:2;
    left:auto;
    right:auto;
    bottom:auto;
    padding:0 4px;
    margin:0;
    background:none;
    color:#27231f;
    font-size:12px;
    font-weight:700;
  }

  .kay-event-modal-overlay .kay-modal-date{
    display:inline-flex;
    align-items:center;
    margin:0 0 10px;
    padding:8px 12px;
    border-radius:999px;
    background:#171717;
    color:#fff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:none;
  }

  .kay-event-modal-overlay>div{
    font-size:13px;
    line-height:1.45;
    color:#51493f;
  }

  /* Columna derecha: sólo esta zona hace scroll */
  .kay-event-modal-content{
    height:100%;
    overflow-y:auto;
    box-sizing:border-box;
    padding:46px 48px 42px;
    scrollbar-width:thin;
    scrollbar-color:#c9bba8 transparent;
    background:linear-gradient(180deg,#fff 0%,#fff 78%,#fcfaf7 100%);
  }

  .kay-event-modal-content::-webkit-scrollbar{width:8px}
  .kay-event-modal-content::-webkit-scrollbar-track{background:transparent}
  .kay-event-modal-content::-webkit-scrollbar-thumb{background:#cfc1af;border-radius:99px}

  .kay-event-modal-close{
    position:absolute;
    right:18px;
    top:18px;
    width:46px;
    height:46px;
    z-index:10;
    border:1px solid #e5dfd7;
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 24px rgba(24,18,12,.10);
  }

  .kay-event-modal-content>.kay-eyebrow{
    margin-bottom:12px;
    color:#9a8060;
    font-size:11px;
    letter-spacing:.19em;
  }

  .kay-modal-brand{
    margin-bottom:8px;
    color:#6d6256;
  }

  .kay-event-modal-content>h2{
    margin:0 0 18px;
    font-size:clamp(38px,4vw,54px);
    line-height:.98;
    letter-spacing:-.045em;
    color:#262626;
  }

  .kay-event-type{
    margin:0 0 12px;
    background:#faf7f2;
    border-color:#e8dfd3;
  }

  .kay-event-modal-description{
    margin:2px 0 20px;
    max-width:620px;
    color:#6c655d;
    font-size:14px;
    line-height:1.72;
  }

  .kay-event-benefit{
    margin:14px 0 22px;
    padding:13px 16px;
    border:1px solid #eadfce;
    background:linear-gradient(180deg,#fffaf4,#f7efe3);
    color:#4f4335;
    border-radius:14px;
  }

  .kay-modal-meta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:18px 0 28px;
  }

  .kay-modal-meta>div{
    min-height:74px;
    padding:14px 15px;
    border:1px solid #eee5da;
    border-radius:16px;
    background:#fbf9f6;
    box-sizing:border-box;
  }

  .kay-modal-meta>div:nth-child(3){
    grid-column:1 / -1;
    min-height:auto;
  }

  .kay-modal-meta span{
    font-size:9px;
    letter-spacing:.15em;
    color:#9e8a70;
  }

  .kay-modal-meta strong{
    margin-top:3px;
    font-size:13px;
    line-height:1.42;
    color:#202020;
  }

  .kay-reserve-form-modal{
    margin-top:0;
    padding-top:28px;
    gap:12px;
    border-top:1px solid #eee6dc;
  }

  .kay-form-section-title{
    margin:2px 0 5px;
    gap:10px;
  }

  .kay-form-section-title span{
    width:31px;
    height:31px;
    background:#171717;
  }

  .kay-form-section-title strong{
    font-size:14px;
    color:#252525;
  }

  .kay-reserve-form-modal input,
  .kay-reserve-form-modal select{
    min-height:54px;
    padding:0 16px;
    border:1px solid #ddd3c7;
    border-radius:15px;
    background:#fff;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
  }

  .kay-reserve-form-modal input:focus,
  .kay-reserve-form-modal select:focus{
    border-color:#9c8567;
    box-shadow:0 0 0 4px rgba(156,133,103,.10);
    background:#fffdfa;
  }

  .kay-check-premium{
    margin:2px 0 2px;
    padding:8px 2px;
    color:#696159;
  }

  .kay-reserve-submit{
    min-height:58px!important;
    margin-top:8px!important;
    border-radius:15px!important;
    padding-left:20px!important;
    padding-right:18px!important;
    font-size:13px!important;
    letter-spacing:.01em;
    box-shadow:0 12px 28px rgba(17,17,17,.14);
  }

  .kay-reserve-submit:hover{
    transform:translateY(-1px);
    box-shadow:0 16px 34px rgba(17,17,17,.18);
  }

  /* Confirmación: más compacta y elegante en desktop */
  .kay-confirm-shell{
    max-width:780px;
    margin-top:30px;
  }
  .kay-confirm-premium{
    max-width:780px;
    margin:0 auto;
    border-radius:30px;
  }
  .kay-confirm-visual{
    height:auto;
    max-height:none;
    min-height:0;
    padding:20px 20px 0;
    box-sizing:border-box;
    background:#f5f1eb;
  }
  .kay-confirm-visual img{
    width:100%;
    max-width:690px;
    height:auto;
    max-height:390px;
    object-fit:contain;
    display:block;
    margin:0 auto;
    border-radius:22px 22px 0 0;
    box-shadow:0 10px 28px rgba(34,26,18,.10);
  }
  .kay-confirm-head{
    padding:28px 26px 20px;
  }
  .kay-confirm-head h2{
    font-size:clamp(34px,4vw,46px);
  }
  .kay-confirm-message{
    max-width:660px;
    padding:15px 18px;
  }
}


/* =========================================================
   KAY Eventos 2.6.0 — Rediseño premium integral del frontend
   Conserva funcionalidades, datos, formularios, QR y responsive.
   ========================================================= */

/* ---------- DETALLES GENERALES ---------- */
.kay-events-v24{
  --kay-lux-ink:#181715;
  --kay-lux-copy:#645d54;
  --kay-lux-line:#e8dfd3;
  --kay-lux-cream:#f6f0e7;
  --kay-lux-cream-2:#fcfaf7;
  --kay-lux-gold:#b59468;
}

.kay-events-v24 .kay-events-hero .kay-eyebrow{
  color:#9b805d;
}

.kay-events-v24 .kay-event-card-premium{
  border:1px solid #eee7de;
  box-shadow:0 20px 54px rgba(31,24,17,.08);
}

/* ---------- MODAL PREMIUM DESKTOP ---------- */
@media (min-width:981px){
  .kay-event-modal{
    padding:26px !important;
  }

  .kay-event-modal-backdrop{
    background:rgba(16,15,14,.72) !important;
    backdrop-filter:blur(14px) saturate(.9) !important;
  }

  .kay-event-modal-dialog{
    width:min(1240px,94vw) !important;
    height:min(830px,90vh) !important;
    max-height:90vh !important;
    overflow:hidden !important;
    border-radius:30px !important;
    background:#fff !important;
    border:1px solid rgba(255,255,255,.22) !important;
    box-shadow:0 45px 130px rgba(0,0,0,.42) !important;
  }

  .kay-event-modal-layout{
    display:grid !important;
    grid-template-columns:minmax(430px,46%) minmax(0,54%) !important;
    height:100% !important;
    min-height:0 !important;
    align-items:stretch !important;
  }

  /* Izquierda: composición editorial del evento */
  .kay-event-modal-visual{
    position:relative !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    padding:34px 32px 28px !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-rows:minmax(0,1fr) auto auto !important;
    align-items:stretch !important;
    gap:18px !important;
    background:
      radial-gradient(circle at 15% 8%,rgba(255,255,255,.92),transparent 34%),
      radial-gradient(circle at 102% 92%,rgba(255,255,255,.36),transparent 32%),
      linear-gradient(145deg,#f7f2eb 0%,#eee4d8 100%) !important;
    overflow:hidden !important;
  }

  .kay-event-modal-visual::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 38%);
  }

  .kay-event-modal-art{
    position:relative;
    z-index:1;
    min-height:0;
    height:100%;
    border-radius:24px;
    overflow:hidden;
    background:#f7f4ef;
    box-shadow:0 20px 52px rgba(40,31,21,.15);
  }

  .kay-event-modal-art>img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
    margin:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#f7f4ef !important;
  }

  .kay-event-modal-art>img.kay-event-modal-image--custom{
    object-fit:contain !important;
    object-position:center center !important;
    padding:18px !important;
    box-sizing:border-box !important;
    background:linear-gradient(180deg,#f8f4ee 0%,#efe5d9 100%) !important;
  }

  .kay-event-modal-art>.kay-event-modal-placeholder{
    min-height:100%;
    border-radius:0;
  }

  .kay-event-modal-art .kay-modal-date{
    position:absolute !important;
    left:18px !important;
    bottom:18px !important;
    z-index:3 !important;
    margin:0 !important;
    padding:10px 14px !important;
    display:inline-flex !important;
    align-items:center !important;
    border-radius:999px !important;
    background:#171717 !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.02em !important;
    box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
  }

  .kay-event-modal-location{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:28px;
    padding:0 6px;
    color:#26231f;
  }

  .kay-event-modal-location .kay-location-pin{
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid #2b2824;
    font-size:14px;
    font-weight:800;
    line-height:1;
  }

  .kay-event-modal-location strong{
    font-size:14px;
    line-height:1.35;
    font-weight:750;
  }

  .kay-event-modal-tagline{
    position:relative;
    z-index:1;
    padding:18px 4px 2px;
    border-top:1px solid rgba(113,94,72,.16);
    color:#2b2722;
    text-align:center;
    font-size:11px;
    font-weight:650;
    letter-spacing:.42em;
    white-space:nowrap;
  }

  /* Derecha */
  .kay-event-modal-content{
    height:100% !important;
    overflow-y:auto !important;
    box-sizing:border-box !important;
    padding:42px 46px 40px !important;
    background:linear-gradient(180deg,#fff 0%,#fff 78%,#fcfaf7 100%) !important;
    scrollbar-width:thin;
    scrollbar-color:#c8b69e transparent;
  }

  .kay-event-modal-content::-webkit-scrollbar{width:7px}
  .kay-event-modal-content::-webkit-scrollbar-thumb{background:#ccbba3;border-radius:999px}
  .kay-event-modal-content::-webkit-scrollbar-track{background:transparent}

  .kay-event-modal-close{
    right:20px !important;
    top:20px !important;
    width:46px !important;
    height:46px !important;
    border-radius:50% !important;
    border:1px solid #e8e0d7 !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 10px 30px rgba(35,27,18,.10) !important;
  }

  .kay-event-modal-content>.kay-eyebrow{
    margin-bottom:14px !important;
    color:#9a7f5d !important;
    font-size:11px !important;
    letter-spacing:.20em !important;
  }

  .kay-modal-brand{
    margin:0 0 7px !important;
    color:#6d6357 !important;
    font-size:12px !important;
    letter-spacing:.09em !important;
  }

  .kay-event-modal-content>h2{
    margin:0 0 22px !important;
    color:#22211f !important;
    font-size:clamp(42px,4vw,58px) !important;
    line-height:.98 !important;
    letter-spacing:-.05em !important;
  }

  .kay-event-type{
    margin:0 0 12px !important;
    background:#fbf8f4 !important;
    border-color:#e8dfd4 !important;
  }

  .kay-event-modal-description{
    margin:0 0 18px !important;
    max-width:640px !important;
    color:#686159 !important;
    font-size:14px !important;
    line-height:1.7 !important;
  }

  .kay-event-product{
    margin:0 0 14px !important;
  }

  .kay-event-benefit{
    margin:12px 0 20px !important;
    padding:13px 15px !important;
    border:1px solid #eadfce !important;
    border-radius:15px !important;
    background:linear-gradient(180deg,#fffaf4,#f8f1e7) !important;
  }

  .kay-modal-meta{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    margin:18px 0 26px !important;
  }

  .kay-modal-meta>div{
    min-height:76px !important;
    padding:14px 16px !important;
    border:1px solid #e9dfd3 !important;
    border-radius:17px !important;
    background:#fbf9f6 !important;
    box-sizing:border-box !important;
  }

  .kay-modal-meta>div:nth-child(3){
    grid-column:1 / -1 !important;
    min-height:auto !important;
  }

  .kay-modal-meta span{
    color:#9b866b !important;
    font-size:9px !important;
    font-weight:800 !important;
    letter-spacing:.15em !important;
  }

  .kay-modal-meta strong{
    margin-top:4px !important;
    display:block !important;
    color:#20201f !important;
    font-size:13px !important;
    line-height:1.4 !important;
  }

  .kay-reserve-form-modal{
    margin-top:0 !important;
    padding-top:26px !important;
    gap:12px !important;
    border-top:1px solid #eee5db !important;
  }

  .kay-form-section-title{
    margin:3px 0 5px !important;
    gap:10px !important;
  }

  .kay-form-section-title span{
    width:32px !important;
    height:32px !important;
    background:#171717 !important;
  }

  .kay-form-section-title strong{
    color:#25231f !important;
    font-size:14px !important;
  }

  .kay-reserve-form-modal input,
  .kay-reserve-form-modal select{
    min-height:54px !important;
    padding:0 16px !important;
    border:1px solid #ded4c8 !important;
    border-radius:15px !important;
    background:#fff !important;
    transition:border-color .18s ease,box-shadow .18s ease !important;
  }

  .kay-reserve-form-modal input:focus,
  .kay-reserve-form-modal select:focus{
    outline:none !important;
    border-color:#9c8567 !important;
    box-shadow:0 0 0 4px rgba(156,133,103,.10) !important;
  }

  .kay-check-premium{
    margin:2px 0 0 !important;
    padding:7px 1px !important;
    color:#6b635a !important;
  }

  .kay-reserve-submit{
    min-height:58px !important;
    margin-top:8px !important;
    border-radius:15px !important;
    padding:0 20px !important;
    background:#151515 !important;
    box-shadow:0 14px 30px rgba(17,17,17,.15) !important;
  }

  .kay-reserve-submit:hover{
    background:#000 !important;
    transform:translateY(-1px) !important;
    box-shadow:0 18px 38px rgba(17,17,17,.20) !important;
  }
}

/* ---------- CONFIRMACIÓN PREMIUM ---------- */
.kay-confirm-shell{
  width:min(100%,980px);
  max-width:980px;
  margin:34px auto;
  padding:0 16px;
  box-sizing:border-box;
}

.kay-confirm-premium{
  overflow:hidden;
  border:1px solid #e9e0d5;
  border-radius:30px;
  background:#fff;
  box-shadow:0 32px 90px rgba(29,22,16,.10);
}

.kay-confirm-visual{
  padding:18px 18px 0;
  background:linear-gradient(180deg,#faf7f2 0%,#f4ede3 100%);
}

.kay-confirm-visual img{
  width:100%;
  height:auto;
  max-width:none;
  max-height:none;
  display:block;
  margin:0;
  object-fit:contain;
  border-radius:23px 23px 0 0;
  box-shadow:0 12px 34px rgba(37,27,18,.08);
}

.kay-confirm-head{
  padding:34px 34px 24px;
  background:#fff;
}

.kay-confirm-head .kay-eyebrow{
  color:#a08562;
  margin-bottom:11px;
}

.kay-confirm-head h2{
  color:#292826;
  font-size:clamp(34px,5vw,52px);
  letter-spacing:-.045em;
  margin-bottom:14px;
}

.kay-confirm-message{
  max-width:780px;
  margin:0 auto 18px;
  padding:16px 20px;
  border:1px solid #e8d8c2;
  border-radius:16px;
  background:linear-gradient(180deg,#fffaf3 0%,#f8efe1 100%);
  box-shadow:0 9px 22px rgba(74,53,27,.05);
}

.kay-confirm-message p{
  color:#4e4439;
  font-size:15px;
  font-weight:650;
  line-height:1.65;
}

.kay-confirm-code{
  margin:2px auto 0;
  padding:12px 22px;
  border:1px solid #ded2c4;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 18px rgba(35,27,19,.04);
}

.kay-confirm-code span{
  color:#9a8469;
}

.kay-confirm-code strong{
  color:#595c67;
  font-size:20px;
  letter-spacing:.055em;
}

.kay-confirm-grid{
  gap:18px;
  padding:0 34px 30px;
}

.kay-premium-panel{
  padding:24px;
  border:1px solid #e9dfd4;
  border-radius:18px;
  background:#fbf9f6;
}

.kay-panel-label{
  color:#9a8264;
}

.kay-premium-panel h3{
  color:#252421;
}

.kay-details-list>div{
  border-color:#e8dfd4;
}

.kay-details-list dt{
  color:#877b6e;
}

.kay-details-list dd{
  color:#34312d;
}

.kay-qr-premium{
  padding:32px 28px 38px;
  border-top:1px solid #eae1d7;
  background:linear-gradient(180deg,#fff 0%,#fcfaf7 100%);
}

.kay-qr-code{
  border-radius:20px;
  border-color:#e3d9cc;
  box-shadow:0 12px 30px rgba(29,23,18,.06);
}

.kay-map-button{
  margin-top:12px;
  padding:13px 22px;
  border-radius:999px;
  background:#171717;
  box-shadow:0 10px 24px rgba(17,17,17,.13);
}

/* Confirmación desktop: hero visual más editorial y controlado */
@media (min-width:981px){
  .kay-confirm-shell{
    max-width:940px !important;
  }
  .kay-confirm-premium{
    max-width:940px !important;
    margin:0 auto !important;
  }
  .kay-confirm-visual{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:18px 18px 0 !important;
    display:block !important;
    background:linear-gradient(180deg,#faf7f2,#f3eadf) !important;
  }
  .kay-confirm-visual img{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:420px !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 auto !important;
    border-radius:22px 22px 0 0 !important;
    background:#f7f3ed !important;
  }
}

/* ---------- TABLET ---------- */
@media (min-width:701px) and (max-width:980px){
  .kay-event-modal-dialog{
    width:min(760px,96vw);
  }
  .kay-event-modal-layout{
    grid-template-columns:1fr;
  }
  .kay-event-modal-visual{
    min-height:0;
    padding:22px;
    background:linear-gradient(145deg,#f7f2eb,#eee4d8);
  }
  .kay-event-modal-art{
    position:relative;
    overflow:hidden;
    border-radius:20px;
  }
  .kay-event-modal-art>img{
    width:100%;
    height:auto;
    display:block;
  }
  .kay-event-modal-art .kay-modal-date{
    position:absolute;
    left:14px;
    bottom:14px;
    margin:0;
    padding:8px 11px;
    border-radius:999px;
    background:#171717;
    color:#fff;
  }
  .kay-event-modal-location{
    display:flex;
    gap:8px;
    align-items:center;
    margin-top:14px;
  }
  .kay-event-modal-tagline{
    display:none;
  }
}

/* ---------- MÓVIL: conservar experiencia ya aprobada ---------- */
@media (max-width:700px){
  .kay-event-modal-art{
    position:relative;
    min-height:250px;
    overflow:hidden;
  }
  .kay-event-modal-art>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .kay-event-modal-art .kay-modal-date{
    position:absolute;
    left:16px;
    bottom:16px;
    z-index:2;
    margin:0;
    background:rgba(255,255,255,.94);
    color:#171717;
    padding:7px 10px;
    border-radius:999px;
  }
  .kay-event-modal-location,
  .kay-event-modal-tagline{
    display:none;
  }
  .kay-confirm-shell{
    margin:24px auto;
    padding:0 12px;
  }
  .kay-confirm-visual{
    padding:0;
  }
  .kay-confirm-visual img{
    border-radius:22px 22px 0 0;
    box-shadow:none;
  }
  .kay-confirm-head{
    padding:28px 18px 20px;
  }
  .kay-confirm-grid{
    padding:0 16px 18px;
  }
}


/* =========================================================
   KAY Eventos 2.6.1 — Hero premium de confirmación opcional
   No modifica tarjetas, reservas, QR ni flujo del modal.
   ========================================================= */
@media (min-width:981px){
  .kay-confirm-premium{
    background:#fff !important;
  }

  /* Cuando existe la imagen horizontal premium 16:9 */
  .kay-confirm-visual--hero{
    padding:20px 20px 0 !important;
    background:#fffaf4 !important;
  }
  .kay-confirm-visual--hero img{
    width:100% !important;
    aspect-ratio:16 / 9 !important;
    height:auto !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:22px !important;
    box-shadow:0 16px 42px rgba(42,31,19,.10) !important;
    background:#f7f3ed !important;
  }

  /* Respaldo con la foto 4:3 actual: presentación más limpia y compacta */
  .kay-confirm-visual--fallback{
    padding:20px 20px 0 !important;
    background:#fffaf4 !important;
    display:flex !important;
    justify-content:center !important;
  }
  .kay-confirm-visual--fallback img{
    width:auto !important;
    max-width:min(100%,720px) !important;
    height:auto !important;
    max-height:405px !important;
    object-fit:contain !important;
    border-radius:22px !important;
    box-shadow:0 16px 42px rgba(42,31,19,.10) !important;
    background:#f7f3ed !important;
  }
}

@media (max-width:980px){
  .kay-confirm-visual--hero img,
  .kay-confirm-visual--fallback img{
    width:100% !important;
    height:auto !important;
    object-fit:cover !important;
  }
}


/* =========================================================
   KAY Eventos 2.6.7 — Mobile editorial + copy premium
   ========================================================= */
.kay-events-v24 .kay-events-hero .kay-eyebrow{letter-spacing:.19em}
.kay-events-v24 .kay-events-hero h2{max-width:980px;margin-left:auto;margin-right:auto}
.kay-events-v24 .kay-events-hero p{max-width:720px;margin-left:auto;margin-right:auto}

/* Los cupos salen de la fotografía para no competir con el arte. */
.kay-card-capacity{display:none!important}
.kay-card-availability,.kay-modal-availability{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:8px 11px;border:1px solid #e7dfd4;border-radius:999px;background:#faf7f2;color:#50483e;font-size:11px;line-height:1;font-weight:800;letter-spacing:.02em}
.kay-card-availability{margin:-4px 0 14px}
.kay-modal-availability{margin:0 0 15px}
.kay-card-availability.is-soldout,.kay-modal-availability.is-soldout{background:#faf2f0;border-color:#ecd9d4;color:#7c3a32}
.kay-availability-dot{width:6px;height:6px;border-radius:50%;background:#7d9b78;flex:0 0 6px}
.is-soldout .kay-availability-dot{background:#a65a50}
.kay-modal-intro{margin:-5px 0 13px;color:#746b60;font-size:13px;line-height:1.6;max-width:590px}

.kay-event-card-media picture,.kay-event-modal-art picture{display:block;width:100%;height:100%}
.kay-event-card-media picture img,.kay-event-modal-art picture img{width:100%;height:100%;display:block}

@media (max-width:700px){
  .kay-events-wrap{padding:0 14px!important}
  .kay-events-hero{padding:6px 2px 2px!important}
  .kay-events-hero .kay-eyebrow{font-size:10px!important;margin-bottom:12px!important}
  .kay-events-hero h2{font-size:34px!important;line-height:1.03!important;letter-spacing:-.045em!important;margin-bottom:12px!important}
  .kay-events-hero p{font-size:14px!important;line-height:1.6!important;padding:0 8px!important}

  /* La imagen móvil tiene un formato propio 3:4: ya no se corta. */
  .kay-event-card-media{aspect-ratio:3/4!important;background:#f4f0ea!important}
  .kay-event-card-media picture,.kay-event-card__image{width:100%!important;height:100%!important}
  .kay-event-card__image{object-fit:cover!important;object-position:center center!important}
  .kay-card-date{top:14px!important;left:14px!important;padding:8px 11px!important}
  .kay-event-card-premium .kay-event-card__body{padding:20px 20px 22px!important}
  .kay-event-card-premium h3{font-size:27px!important}
  .kay-card-location{line-height:1.45!important;margin-bottom:12px!important}
  .kay-card-availability{margin:0 0 15px!important}
  .kay-card-description{font-size:13px!important;line-height:1.65!important;margin-bottom:17px!important}
  .kay-card-cta{font-size:12px!important}

  /* Modal mobile: la imagen vertical usa todo su encuadre en 3:4. */
  .kay-event-modal-visual{min-height:0!important;height:auto!important;background:#f5f0e9!important}
  .kay-event-modal-art{aspect-ratio:3/4!important;min-height:0!important;height:auto!important;background:#f5f0e9!important}
  .kay-event-modal-art picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
  .kay-event-modal-art picture img,
  .kay-event-modal-art>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;padding:0!important;background:#f5f0e9!important}
  .kay-event-modal-content{padding:28px 20px 30px!important}
  .kay-event-modal-content>.kay-eyebrow{font-size:10px!important;line-height:1.5!important}
  .kay-modal-intro{font-size:13px!important;margin-bottom:12px!important}
  .kay-modal-availability{margin-bottom:17px!important}
}


/* =========================================================
   KAY Eventos 2.7.0 — Eventos de varios días
   ========================================================= */
.kay-reserve-form-modal .kay-date-select{font-weight:700;background:#fff;}
.kay-event-modal-content .kay-form-section-title + .kay-date-select{margin-bottom:8px;}
@media(max-width:700px){
  .kay-reserve-form-modal .kay-date-select{min-height:54px;font-size:15px;}
}


/* KAY Eventos 2.7.1 — reportes por fecha de asistencia + soporte de confirmación */
.kay-event-card .kay-card-date{display:none!important;}
.kay-confirm-help{max-width:760px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #ece4da;border-radius:18px;background:#fbf9f6;text-align:left;box-sizing:border-box;}
.kay-confirm-help--footer{margin:0 28px 28px;max-width:none;}
.kay-confirm-help-copy{min-width:0;}
.kay-confirm-help-copy strong{display:block;margin:0 0 5px;font-size:13px;font-weight:700;color:#292622;}
.kay-confirm-help-copy p{margin:0!important;color:#746d64!important;font-size:12px!important;line-height:1.6!important;}
.kay-confirm-help-call{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid #ddd2c4;color:#171717!important;text-decoration:none!important;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 4px 14px rgba(35,29,23,.04);}
.kay-confirm-help-call:hover{background:#171717;color:#fff!important;border-color:#171717;}
@media(max-width:760px){.kay-confirm-help--footer{margin:0 16px 18px}.kay-confirm-help{display:block;padding:15px 16px;border-radius:15px}.kay-confirm-help-call{width:100%;box-sizing:border-box;margin-top:12px}.kay-confirm-help-copy strong{font-size:12px}.kay-confirm-help-copy p{font-size:11px!important}}


/* =========================================================
   KAY Eventos 2.7.2 — cupos vivos + fechas limpias
   ========================================================= */
/* La fecha ya se elige dentro del formulario; no se superpone sobre la imagen del modal. */
.kay-event-modal-art .kay-modal-date{display:none!important;}

/* Las fechas disponibles deben verse neutrales, no en negrita. */
.kay-reserve-form-modal .kay-date-select,
.kay-reserve-form-modal .kay-date-select option{
  font-weight:400!important;
}

/* El contador de cupos queda como información secundaria y se actualiza con disponibilidad real. */
.kay-card-availability [data-kay-availability-text],
.kay-modal-availability [data-kay-availability-text]{font-weight:700;}


/* =========================================================
   KAY Eventos 2.7.4 — Hero limpio y espaciado uniforme
   ========================================================= */
/* Oculta únicamente el título que imprime el tema de WordPress ("Eventos")
   en la página pública. El encabezado propio de KAY permanece visible. */
.kay-events-page .entry-title,
.kay-events-page .page-title,
.kay-events-page .wp-block-post-title,
.kay-events-page main > header.entry-header,
.kay-events-page article > header.entry-header{
  display:none !important;
}

/* El hero pasa a ser el primer encabezado visual de la página. */
.kay-events-page .kay-events-wrap{
  margin-top:0 !important;
  padding-top:0 !important;
}
.kay-events-page .kay-events-hero{
  max-width:1040px !important;
  margin:0 auto 42px !important;
  padding:44px 24px 0 !important;
  text-align:center !important;
}
.kay-events-page .kay-events-hero .kay-eyebrow{
  display:block !important;
  margin:0 0 22px !important;
  line-height:1.2 !important;
}
.kay-events-page .kay-events-hero h2{
  max-width:980px !important;
  margin:0 auto 22px !important;
  line-height:1.02 !important;
}
.kay-events-page .kay-events-hero p{
  max-width:760px !important;
  margin:0 auto !important;
  line-height:1.6 !important;
}

@media(max-width:760px){
  .kay-events-page .kay-events-hero{
    margin-bottom:28px !important;
    padding:28px 18px 0 !important;
  }
  .kay-events-page .kay-events-hero .kay-eyebrow{
    margin-bottom:16px !important;
  }
  .kay-events-page .kay-events-hero h2{
    margin-bottom:16px !important;
  }
}


/* =========================================================
   KAY Eventos 2.7.5 — Banner editorial del hero
   ========================================================= */
.kay-events-page .kay-events-hero--banner{
  width:100% !important;
  max-width:1280px !important;
  margin:0 auto 42px !important;
  padding:30px 20px 0 !important;
  box-sizing:border-box !important;
}
.kay-events-page .kay-events-hero-banner{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  border-radius:24px !important;
  box-shadow:0 18px 50px rgba(37,31,25,.07) !important;
}
.kay-sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
@media(max-width:760px){
  .kay-events-page .kay-events-hero--banner{
    margin-bottom:26px !important;
    padding:18px 12px 0 !important;
  }
  .kay-events-page .kay-events-hero-banner{
    border-radius:16px !important;
    box-shadow:0 12px 34px rgba(37,31,25,.06) !important;
  }
}


/* =========================================================
   KAY Eventos 2.7.6 — Banner configurable, limpio y sin recorte
   ========================================================= */
.kay-events-page .kay-events-wrap{
  margin-top:0 !important;
}
.kay-events-page .kay-events-hero--banner{
  width:100% !important;
  max-width:1380px !important;
  margin:0 auto 34px !important;
  padding:10px 20px 0 !important;
}
.kay-events-page .kay-events-hero-banner{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  image-rendering:auto !important;
  border-radius:22px !important;
  box-shadow:0 14px 42px rgba(37,31,25,.055) !important;
}
@media(max-width:760px){
  .kay-events-page .kay-events-hero--banner{
    margin-bottom:22px !important;
    padding:6px 10px 0 !important;
  }
  .kay-events-page .kay-events-hero-banner{
    border-radius:14px !important;
    box-shadow:0 10px 28px rgba(37,31,25,.05) !important;
  }
}


/* KAY Eventos 2.7.9 — reenvío de correo desde panel del equipo */
.kay-resend-mail-form{display:inline-flex;margin:0}
.kay-btn-mail{background:#fff!important;color:#171717!important;border:1px solid #171717!important}
.kay-btn-mail:hover{background:#f7f3ed!important;color:#171717!important}
.kay-mail-status{margin-top:9px;font-size:11px;color:#6e675e;display:flex;align-items:center;gap:5px}
.kay-mail-status.is-ok{color:#376744}.kay-mail-status.is-error{color:#963c35}
.kay-mail-notice{margin:0 0 16px!important;padding:14px 16px!important;border-radius:14px!important}
.kay-mail-notice--ok{background:#f1f8f3!important;border-color:#d4ead9!important;color:#285d35!important}
.kay-mail-notice--error{background:#fff4f2!important;border-color:#f0d8d4!important;color:#8e312b!important}
@media(max-width:760px){.kay-resend-mail-form{width:100%}.kay-resend-mail-form .kay-btn-mail{width:100%;justify-content:center}}

/* v2.9.2 · Panel del equipo: filtros por día y estado */
.kay-filter-block{margin:6px 0 18px}
.kay-filter-label{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#6b5232;margin-bottom:10px}
.kay-day-chips{display:flex;flex-wrap:wrap;gap:10px}
.kay-day-chip{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:13px 17px;border:1px solid #e3dccf;border-radius:14px;background:#fff;color:var(--kay-ink)!important;text-decoration:none!important;transition:.15s ease}
.kay-day-chip:hover{border-color:#bfb4a2}
.kay-day-chip__label{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800}
.kay-day-chip__sub{font-size:12.5px;color:#5c5c5c}
.kay-day-chip.is-active{background:var(--kay-ink);border-color:var(--kay-ink);color:#fff!important}
.kay-day-chip.is-active .kay-day-chip__sub{color:#e8e2d8}
.kay-today-badge{font-size:10px;font-weight:800;letter-spacing:.08em;padding:3px 7px;border-radius:999px;background:var(--kay-ink);color:#fff}
.kay-day-chip.is-active .kay-today-badge{background:#fff;color:var(--kay-ink)}
.kay-state-chips{display:flex;flex-wrap:wrap;gap:8px}
.kay-state-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid #e3dccf;border-radius:999px;background:#f8f5f0;color:#3d3d3d!important;font-size:14px;font-weight:700;text-decoration:none!important}
.kay-state-chip:hover{border-color:#bfb4a2}
.kay-state-chip.is-active{background:#6b5232;border-color:#6b5232;color:#fff!important}
.kay-day-group{margin:22px 0 8px}
.kay-day-group__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 2px 9px;margin-bottom:12px;border-bottom:2px solid var(--kay-ink)}
.kay-day-group__head strong{font-size:21px;letter-spacing:-.02em}
.kay-day-group__head span{font-size:13.5px;color:#4d4d4d}
.kay-res-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:start}
.kay-res-time{padding-top:20px;font-size:20px;font-weight:800;letter-spacing:-.01em}
.kay-res-card-wrap{min-width:0}
@media(max-width:760px){
  .kay-day-chip{min-width:calc(50% - 5px);box-sizing:border-box}
  .kay-day-group__head{flex-direction:column;gap:2px}
  .kay-res-row{grid-template-columns:1fr;gap:0}
  .kay-res-time{padding:0 0 6px;font-size:18px}
}

/* v2.10.0 · Sesión individual, seguimiento y movimientos */
.kay-user-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:14px}
.kay-user-name{font-weight:800;padding:7px 12px;border-radius:999px;background:#f8f5f0;border:1px solid #ece5da}
.kay-login-wrap{max-width:520px}
.kay-login-box h2{margin-top:0}
.kay-login-box form p{margin:0 0 14px}
.kay-login-box label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.kay-login-box input[type=text],.kay-login-box input[type=password]{width:100%;min-height:50px;border:1px solid #e3dccf;border-radius:12px;padding:10px 14px;box-sizing:border-box;font-size:16px}
.kay-login-box .login-remember label{display:flex;gap:8px;align-items:center;font-weight:500}
.kay-login-box input[type=submit]{width:100%;min-height:52px;border:0;border-radius:12px;background:var(--kay-ink);color:#fff;font-weight:800;font-size:16px;cursor:pointer}
.kay-last-move{margin-top:8px;font-size:13px;padding:7px 10px;border-radius:10px;background:#f6f4f0;color:#3d3d3d}
.kay-last-move.is-danger{background:#fbecec;color:#8c2a2a}
.kay-follow-status{margin-top:6px;font-size:13px;padding:7px 10px;border-radius:10px;background:#eef4fb;color:#1d4a7a}
.kay-btn-light{background:#fff!important;color:var(--kay-ink)!important;border:1px solid #cfc6b7!important}
.kay-btn-wa{background:#1f7a4d!important;border-color:#1f7a4d!important}
.kay-followup{width:100%}
.kay-followup>summary{list-style:none;display:inline-flex}
.kay-followup>summary::-webkit-details-marker{display:none}
.kay-followup-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;padding:14px;border:1px solid #ece5da;border-radius:14px;background:#faf8f4}
.kay-followup-form label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700}
.kay-followup-form select,.kay-followup-form input,.kay-followup-form textarea{min-height:42px;border:1px solid #e3dccf;border-radius:10px;padding:8px 10px;font:inherit;font-weight:400;background:#fff}
.kay-followup-note{grid-column:1/-1}
.kay-followup-form button{justify-self:start}
.kay-moves-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.kay-moves-filter label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700}
.kay-moves-filter input{min-height:46px;border:1px solid #e3dccf;border-radius:12px;padding:0 12px}
.kay-move-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:14px 16px;margin-bottom:10px;border:1px solid var(--kay-line);border-radius:14px;background:#fff}
.kay-move-row.is-danger{border-color:#e8b9b9;background:#fdf6f6}
.kay-move-when{font-size:13px;color:#5c5c5c}
.kay-move-when strong{font-size:18px;color:var(--kay-ink)}
.kay-move-body{display:flex;flex-direction:column;gap:3px}
@media(max-width:760px){.kay-followup-form{grid-template-columns:1fr}.kay-move-row{grid-template-columns:1fr}.kay-user-bar{gap:10px}}

/* v2.11.0 · Bloqueo de estados, motivos y panel de administración */
.kay-lock-timer{margin-top:8px;font-size:13px;padding:9px 12px;border-radius:10px;background:#fff5d8;color:#6e4a0c;border:1px solid #efd98e}
.kay-lock-note{margin-top:8px;font-size:13px;padding:9px 12px;border-radius:10px;background:#f1efeb;color:#3d3d3d;border:1px dashed #bdb4a5}
.kay-actions .kay-btn[disabled]{background:#e7e4df!important;color:#8a8580!important;border-color:#e7e4df!important;cursor:not-allowed}
.kay-actions .kay-btn[aria-pressed=true]{outline:3px solid #b9a37f;outline-offset:1px}
.kay-btn-danger{background:#9b2c2c!important;border-color:#9b2c2c!important;color:#fff!important}
.kay-btn-correct{background:#fff!important;color:#6b5232!important;border:1px solid #6b5232!important}
.kay-alert-ok{background:#e0efe4!important;color:#1f5a35!important;border-color:#b8dcc3!important}
.kay-alert-warn{background:#fff5d8!important;color:#6e4a0c!important;border-color:#efd98e!important}
.kay-red{color:#9b2c2c}
.kay-sup-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 20px;border-bottom:1px solid var(--kay-line)}
.kay-sup-tab{padding:12px 16px;font-weight:700;font-size:15px;color:#4d4d4d!important;text-decoration:none!important;border-bottom:3px solid transparent;margin-bottom:-1px}
.kay-sup-tab:hover{color:var(--kay-ink)!important}
.kay-sup-tab.is-active{color:var(--kay-ink)!important;border-bottom-color:var(--kay-ink)}
.kay-sup-h{margin:26px 0 10px;font-size:20px;letter-spacing:-.01em}
.kay-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:6px 0 4px}
.kay-kpi{padding:16px 18px;border:1px solid var(--kay-line);border-radius:16px;background:#fff}
.kay-kpi span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b5232}
.kay-kpi strong{display:block;margin-top:6px;font-size:30px;letter-spacing:-.02em}
.kay-table-wrap{overflow-x:auto;border:1px solid var(--kay-line);border-radius:14px;background:#fff}
.kay-table{width:100%;border-collapse:collapse;font-size:14px}
.kay-table th{text-align:left;font-size:12px;letter-spacing:.04em;color:#5c5c5c;padding:11px 12px;border-bottom:2px solid var(--kay-ink);white-space:nowrap}
.kay-table td{padding:11px 12px;border-bottom:1px solid var(--kay-line);vertical-align:top}
.kay-table tr:last-child td{border-bottom:0}
.kay-table tr.is-danger td{background:#fdf6f6}
.kay-table tr.is-correct td{background:#faf6ee}
.kay-moves-filter select{min-height:46px;border:1px solid #e3dccf;border-radius:12px;padding:0 10px;background:#fff}
.kay-moves-filter input[type=search]{min-width:220px}
.kay-acc{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12.5px;font-weight:700}
.kay-acc-ok{background:#e0efe4;color:#1f5a35}.kay-acc-pend{background:#fbf0dc;color:#6e4a0c}.kay-acc-off{background:#fbecec;color:#8c2a2a}
.kay-team-actions{white-space:nowrap}
.kay-team-actions form{display:inline-block;margin:0 4px 4px 0}
.kay-sup-trays{margin-bottom:10px}
.kay-login-box form input[type=password]{width:100%;min-height:50px;border:1px solid #e3dccf;border-radius:12px;padding:10px 14px;box-sizing:border-box;font-size:16px}
@media(max-width:900px){.kay-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v2.11.1 · Gestión del equipo desde el panel */
.kay-team-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.kay-team-tool>summary{cursor:pointer;font-size:16px;list-style:none}
.kay-team-tool>summary::-webkit-details-marker{display:none}
.kay-team-tool[open]>summary{margin-bottom:12px}
.kay-member-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}
.kay-member-form>label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.kay-member-form input[type=text],.kay-member-form input[type=email],.kay-member-form select{min-height:46px;border:1px solid #e3dccf;border-radius:12px;padding:0 12px;font:inherit;font-weight:400;background:#fff}
.kay-member-locals{grid-column:1/-1;border:1px solid #ece5da;border-radius:12px;padding:10px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
.kay-member-locals legend{font-size:13px;font-weight:800;padding:0 6px}
.kay-check{display:flex;gap:8px;align-items:center;font-size:14px}
.kay-member-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.kay-edit-row td{background:#faf8f4;padding-top:6px!important}
.kay-edit-row details>summary{cursor:pointer;font-size:13px}
@media(max-width:800px){.kay-team-tools,.kay-member-form,.kay-member-locals{grid-template-columns:1fr}}

/* v2.11.2 · Equipo separado por perfiles */
.kay-team-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.kay-team-section{margin-top:26px}
.kay-team-section__head h3{margin:0;font-size:22px;letter-spacing:-.01em}
.kay-team-section__head p{margin:4px 0 12px}
.kay-team-section .kay-team-tool{margin-bottom:12px}
@media(max-width:700px){.kay-team-counts{grid-template-columns:1fr}}
