:root{
  --avk-radius:14px; --avk-gap:12px; --avk-shadow:0 10px 20px rgba(0,0,0,.25);
  /* Colores vienen de wp_head (inject_css_vars) */
}

/* Base */
.avk{ background:transparent; }
.avk * { box-sizing:border-box }
.avk, .avk input, .avk select, .avk button {
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--avk-text);
}
.avk svg, .avk svg *{ stroke:currentColor!important; fill:none!important }
.avk .avk-container{ max-width:980px; margin:0 auto; padding:16px }
.avk .center{ display:flex; align-items:center; justify-content:center }
.avk .avk-card{
  background:var(--avk-surface);
  border-radius:var(--avk-radius);
  padding:20px;
  box-shadow:var(--avk-shadow);
  border:1px solid var(--avk-border);
  color:var(--avk-text);
}

/* ---------------- HERO NUEVO (una sola fila) ---------------- */
.avk .avk-hero{
  background:var(--avk-hero);
  border-radius:var(--avk-radius);
  padding:24px;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
  border:1px solid var(--avk-border);
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.avk h3, .avk .avk-title{ font-weight:700; margin:0 0 10px; line-height:1.2; text-align:center; color:#fff }
.avk p, .avk label, .avk small, .avk strong{ color:var(--avk-text) }

/* Fila 1: título */
.avk .avk-hero .avk-hero-row:first-child{ text-align:center }

/* Fila 2: sede + moneda + botón en una línea */
.avk .avk-hero .avk-hero-row:last-child{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:14px;
  flex-wrap:nowrap; /* ❗ Fuerza una sola fila en desktop */
}

/* Campo genérico (label + control) */
.avk .avk-field{
  display:flex; flex-direction:column; gap:6px;
  min-width:180px; /* un poquito más compacto para que quepan 3 */
  flex:1 1 0;
}
.avk .avk-field label{
  color:#fff; font-weight:600; font-size:.95rem;
}
.avk .avk-field select{
  width:100%;
  border:1px solid var(--avk-border);
  background:rgba(255,255,255,.08);
  border-radius:12px; padding:12px 14px; font-size:16px; color:#fff;
}

/* Botón reservar dentro del hero */
.avk .avk-field.avk-reservar{ align-items:center; justify-content:flex-end; flex:0 0 auto; }
.avk .avk-field.avk-reservar .avk-btn{
  height:48px;
  padding:0 24px;
  line-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Responsive: en tablet/móvil, el botón ocupa toda la fila y se apilan */
@media (max-width:900px){
  .avk .avk-hero .avk-hero-row:last-child{ flex-wrap:wrap; justify-content:stretch }
  .avk .avk-field{ min-width:unset; flex:1 1 100% }
  .avk .avk-field.avk-reservar{ align-items:stretch }
  .avk .avk-field.avk-reservar .avk-btn{ width:100% }
}

/* ------------------------------------------------------------ */

.avk .avk-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:var(--avk-gap) }
.avk .col-4{grid-column:span 4} .avk .col-6{grid-column:span 6} .avk .col-12{grid-column:span 12}
@media (max-width:768px){ .avk .col-4,.avk .col-6{grid-column:span 12} }

.avk select, .avk input[type="date"], .avk input[type="text"], .avk .avk-qty{
  width:100%; border:1px solid var(--avk-border); background:rgba(255,255,255,.08);
  border-radius:12px; padding:12px 14px; font-size:16px; color:#fff;
}
.avk input::placeholder{ color:rgba(255,255,255,.7) }
.avk select:focus, .avk input:focus{ outline:2px solid rgba(255,255,255,.35); outline-offset:2px }
#avk-root option{ background:var(--avk-bg); color:#fff }
#avk-loc,#avk-checkin,#avk-currency{ color:#fff!important }

.avk .avk-btn{
  appearance:none; border:1px solid rgba(255,255,255,.7); border-radius:12px;
  padding:14px 18px; font-weight:700; cursor:pointer; transition:.2s; background:transparent; color:#fff;
}
.avk .avk-btn:hover{ background:var(--avk-accent-2) }
.avk .avk-outline{ background:transparent; color:#fff; border:1px solid var(--avk-border) }
#avk-reservar.avk-btn{ background:var(--avk-cta); color:#fff; border:1px solid var(--avk-cta) }
#avk-reservar.avk-btn:hover{ background:var(--avk-cta-hover); border-color:var(--avk-cta-hover) }

.avk-modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:9999; padding:24px }
.avk-modal.active{ display:flex }
.avk-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.45) }
.avk-dialog{ position:relative; width:min(760px, 96vw) }
.avk-close{ position:absolute; top:-14px; right:-14px; width:42px; height:42px; line-height:40px; text-align:center; border-radius:999px; border:2px solid #fff; background:rgba(0,0,0,.85); color:#fff; font-size:22px; font-weight:800; cursor:pointer; box-shadow:0 8px 20px rgba(0,0,0,.25) }
.avk-close:hover{ background:#000 }
.avk-muted{ opacity:.85 }
.avk-foot{ display:flex; justify-content:space-between; gap:12px; margin-top:16px }

.avk-products{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px }
@media (max-width:640px){ .avk-products{ grid-template-columns:1fr } }
.avk-prod{ display:flex; flex-direction:column; gap:10px }
.avk-qty-wrap{ display:flex; align-items:center; gap:8px; justify-content:center }
.avk-qty-wrap button{ width:38px; height:38px; border-radius:10px; border:1px solid var(--avk-border); background:rgba(255,255,255,.08); font-weight:700; cursor:pointer; color:#fff }
.avk-qty-wrap button:hover{ background:var(--avk-accent-2) }

.avk-cal{ background:var(--avk-cal-bg); border:1px solid var(--avk-cal-cell-border); border-radius:12px; padding:12px; color:var(--avk-cal-text) }
.avk-cal *{ color:var(--avk-cal-text) }
.avk-cal-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px }
.avk-cal-nav{ display:flex; gap:8px }
.avk-cal-btn{ border:1px solid var(--avk-cal-cell-border); background:var(--avk-cal-cell); border-radius:8px; padding:6px 10px; cursor:pointer; font-weight:700; color:#e5e7eb }
.avk-cal-btn:hover{ background:var(--avk-cal-cell-hover) }
.avk-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; min-height:300px }
.avk-cal-wd{ font-weight:700; text-align:center; opacity:.95; padding:6px 0; color:#e5e7eb }
.avk-cal-cell{ height:42px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:var(--avk-cal-cell); border:1px solid var(--avk-cal-cell-border); cursor:pointer; user-select:none; color:#e5e7eb }
.avk-cal-cell:hover{ background:var(--avk-cal-cell-hover) }
.avk-cal-cell.today{ outline:2px dashed var(--avk-cal-today) }
.avk-cal-cell.disabled{ opacity:.35; pointer-events:none }
.avk-cal-cell.active{ background:var(--avk-cal-active); color:var(--avk-cal-active-text); border-color:#c9a600 }

.avk-hide{ display:none!important }
.avk-confirm{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:10000 }
.avk-confirm.active{ display:flex }
.avk-confirm .back{ position:absolute; inset:0; background:rgba(0,0,0,.5) }
.avk-confirm .box{ position:relative; background:var(--avk-surface); color:#fff; padding:20px; border-radius:12px; width:min(420px,92vw); box-shadow:var(--avk-shadow); border:1px solid var(--avk-border) }
.avk-confirm .actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:12px }
