/* Alambique & Barril — módulo de catas (v0.3.1) */

.ab-booking{
  --b:#6e1f2c;--bo:#511620;--oro:#b0894f;--oroc:#cdb589;
  --crema:#f8f4ec;--crema2:#f2ebdd;--linea:#e3d9c6;--gris:#6f6358;
  max-width:460px;background:var(--crema);border:1px solid var(--linea);
  border-radius:6px;padding:22px;color:#2a2320
}

/* ---------------------------------------------------------- pestañas */
.ab-cata-types{display:flex;gap:10px;margin-bottom:16px}
.ab-cata-tab{flex:1;padding:12px 14px;border:1px solid var(--oroc);border-radius:3px;
  background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:.2s}
.ab-cata-tab:hover{border-color:var(--oro)}
.ab-cata-tab.active{background:var(--oro);border-color:var(--oro);color:#fff}
.ab-cata-tab b{display:block;font-size:.95rem}
.ab-cata-tab small{font-size:.72rem;opacity:.9}

/* ------------------------------------------------------- cabecera mes */
.ab-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ab-cal-label{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.3rem;text-transform:capitalize}
.ab-cal-nav{width:32px;height:32px;border-radius:50%;border:1px solid var(--linea);
  background:var(--crema2);cursor:pointer;font-size:1.1rem;line-height:1;color:var(--b);padding:0}
.ab-cal-nav:hover{background:var(--oro);color:#fff;border-color:var(--oro)}

/* ------------------------------------------------------------ rejilla */
.ab-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}

.ab-cal-dow .ab-dow{
  display:flex;align-items:center;justify-content:center;
  font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gris);font-weight:600;padding-bottom:6px
}

/* Base del día. Los !important son a propósito: GeneratePress pinta todos los
   <button> con su color de acento y tapaba los estados del calendario. */
.ab-cal-body .ab-day{
  -webkit-appearance:none !important;appearance:none !important;
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font:inherit;font-size:.9rem;line-height:1;padding:0 !important;margin:0;
  border:1px solid transparent !important;border-radius:3px;
  background:transparent !important;color:#bdb3a2 !important;
  position:relative;cursor:default;box-shadow:none !important;
  transition:background .15s,color .15s,border-color .15s
}

/* Días sin cata / pasados: apagados y sin borde */
.ab-cal-body .ab-day.off,
.ab-cal-body .ab-day:disabled{
  background:transparent !important;border-color:transparent !important;
  color:#cfc6b6 !important;cursor:not-allowed;font-weight:400
}

/* Hueco de relleno: ocupa sitio pero no se ve */
.ab-cal-body .ab-day.empty{visibility:hidden}

/* ---- CON CATA: burdeos macizo, imposible no verlo ---- */
.ab-cal-body .ab-day.has{
  background:var(--b) !important;
  border-color:var(--b) !important;
  color:#fff !important;
  font-weight:700 !important;
  cursor:pointer;
  box-shadow:0 2px 6px rgba(110,31,44,.35) !important
}
.ab-cal-body .ab-day.has i{
  position:absolute;bottom:4px;left:50%;transform:translateX(-50%);
  width:5px;height:5px;border-radius:50%;background:#fff;opacity:.9
}
.ab-cal-body .ab-day.has:hover{background:var(--bo) !important;border-color:var(--bo) !important}

/* Completa: se ve que hubo cata, pero ya no se puede */
.ab-cal-body .ab-day.full{
  background:transparent !important;border-color:var(--linea) !important;
  color:#bfb5a4 !important;text-decoration:line-through;cursor:not-allowed;font-weight:400
}

/* Seleccionado: dorado con anillo oscuro, distinto de "disponible" */
.ab-cal-body .ab-day.sel{
  background:var(--oro) !important;border-color:var(--oro) !important;
  color:#fff !important;font-weight:700 !important;
  box-shadow:0 0 0 2px var(--b) !important
}
.ab-cal-body .ab-day.sel i{background:#fff}

/* ------------------------------------------------------------ leyenda */
.ab-cal-legend{display:flex;gap:16px;font-size:.72rem;color:var(--gris);margin-top:12px;flex-wrap:wrap}
.ab-cal-legend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px;
  vertical-align:-1px;border:1px solid var(--b);background:var(--b)}
.ab-cal-legend i.sel{background:var(--oro);border-color:var(--oro);box-shadow:0 0 0 1px var(--b)}

/* ------------------------------------------------------------ detalle */
.ab-cal-out{margin-top:16px;padding-top:14px;border-top:1px solid var(--linea);min-height:80px}
.ab-sel-line{font-size:.95rem;line-height:1.5}
.ab-sel-line b{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.15rem;color:var(--b)}
.ab-sel-txt{margin:8px 0;color:var(--gris);font-size:.92rem}

.ab-res-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}
.ab-res-row label{font-size:.9rem;color:var(--gris)}
.ab-res-row select{padding:6px 10px;border:1px solid var(--linea);border-radius:4px;font:inherit}
.ab-res-row .ab-reservar,.ab-form .ab-solicitar{
  background:var(--b);color:#fff;border:0;padding:12px 18px;border-radius:2px;
  font:inherit;font-weight:600;cursor:pointer
}
.ab-res-row .ab-reservar:hover,.ab-form .ab-solicitar:hover{background:var(--bo)}
.ab-res-row .ab-reservar:disabled,.ab-form .ab-solicitar:disabled{opacity:.6;cursor:wait}

.ab-form{display:grid;gap:10px;margin-top:12px}
.ab-form input,.ab-form textarea{width:100%;padding:10px 12px;border:1px solid var(--linea);
  border-radius:4px;font:inherit;background:#fff}

.ab-msg{margin-top:10px;font-size:.92rem}
.ab-msg.ok{color:#1a7f37}
.ab-msg.error{color:#b32d2e}

@media(max-width:480px){
  .ab-booking{padding:16px}
  .ab-cata-types{flex-direction:column}
}
