/* ===== v5 · Reservas: tarjetas oscuras, sin foto, acento burdeos =====
   Todas las reglas van bajo .reservas (la sección #reservar). No toca otras secciones. */
.reservas{--r-panel:#1B1B1D;--r-campo:#141416;--r-borde:#2E2E32;--r-borde-campo:#8A8A92;--r-txt:#F5F2EF;--r-txt2:#B9B5B4;--r-vino:#7B3043;--r-vino-h:#913B51;--r-vino-fondo:#5E2430;--r-acento:#E08A96;--r-error:#FFB4AB;
  background:var(--bg);padding-block:clamp(28px,4vw,64px);padding-inline:var(--gutter);border-bottom:1px solid var(--line)}
.reservas-in{max-width:1120px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
@media (min-width:960px){.reservas-in{grid-template-columns:360px minmax(0,1fr);gap:28px}}
/* Columna de información */
.reservas-info{display:flex;flex-direction:column;min-width:0}
.reservas .ceja{margin:0 0 14px;color:var(--r-acento)}
.reservas .ceja::before{width:40px}
.reservas .titulo{margin:0;font-size:clamp(2.4rem,1.9rem + 2vw,3.1rem);line-height:1.04;color:var(--r-txt);text-wrap:balance}
.reservas .reservas-texto{margin:10px 0 0;font-size:1.15rem;line-height:1.4;color:var(--r-txt2);max-width:none}
.reservas-contacto{list-style:none;margin:24px 0 0;padding:6px 20px;background:var(--r-panel);border:1px solid var(--r-borde);border-radius:16px}
.reservas-contacto li{display:flex;align-items:center;gap:16px;padding:14px 0}
.reservas-contacto li+li{border-top:1px solid var(--r-borde)}
.reservas .r-ico{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--r-vino-fondo);color:var(--r-txt)}
.reservas-contacto .r-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.reservas .r-et{font:600 .7rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--r-acento)}
.reservas .r-dato{display:inline-flex;align-items:center;min-height:32px;font-size:1.1rem;font-weight:500;color:var(--r-txt);overflow-wrap:anywhere}
.reservas .r-dato:hover{text-decoration:underline}
.reservas-contacto .price{font-size:1.05rem;line-height:1.5;color:var(--r-txt)}
.reservas .reservas-grupos{margin:12px 4px 0;font-size:.875rem;line-height:1.45;color:var(--r-txt2)}
/* Tarjeta del formulario */
.reservas #form-reserva{grid-column:auto;gap:16px 14px;padding:20px;background:var(--r-panel);border:1px solid var(--r-borde);border-radius:16px;color:var(--r-txt);min-width:0}
@media (min-width:640px){.reservas #form-reserva{padding:28px}}
.reservas-cab{grid-column:1/-1;display:flex;align-items:center;gap:16px;margin-bottom:4px}
.reservas-cab .r-ico{width:60px;height:60px;border-radius:12px;background:var(--r-vino)}
.reservas-cab .r-ico svg{width:26px;height:26px}
.reservas .reservas-h3{margin:0;font:400 clamp(1.6rem,1.3rem + 1vw,1.9rem)/1.1 var(--serif);color:var(--r-txt)}
.reservas-cab p{margin:4px 0 0;font-size:.95rem;line-height:1.4;color:var(--r-txt2)}
.reservas #form-reserva label{gap:7px;font-size:.9rem;line-height:1.3}
.reservas #form-reserva .r-ayuda{margin-top:-1px;font-size:.82rem;font-weight:400;line-height:1.4;color:var(--r-txt2)}
.reservas #form-reserva input:not([type=checkbox]),.reservas #form-reserva select,.reservas #form-reserva textarea{min-height:48px;padding-left:46px;background-color:var(--r-campo);background-repeat:no-repeat;background-position:14px 50%;background-size:20px 20px;border-color:var(--r-borde-campo);border-radius:8px;transition:border-color .15s,box-shadow .15s}
.reservas #form-reserva select{background-size:20px 20px,16px 16px}
.reservas #form-reserva textarea{min-height:96px;padding-top:12px;background-position:14px 13px;resize:vertical}
.reservas #form-reserva input:not([type=checkbox]):hover,.reservas #form-reserva select:hover,.reservas #form-reserva textarea:hover{border-color:#B0B0B8}
.reservas #form-reserva input:focus-visible,.reservas #form-reserva select:focus-visible,.reservas #form-reserva textarea:focus-visible,.reservas #form-reserva button:focus-visible,.reservas a:focus-visible{outline:2px solid var(--r-acento);outline-offset:2px}
.reservas #form-reserva label[for=r-privacidad],.reservas #form-reserva label[for=r-resena]{min-height:24px;line-height:1.45;color:var(--r-txt)}
.reservas #form-reserva label[for=r-privacidad] a{color:var(--r-acento)}
.reservas #form-reserva input[type=checkbox]{height:1.25rem;accent-color:var(--r-vino)}
.reservas #form-reserva #r-estado{font-size:.85rem;line-height:1.45}
.reservas #form-reserva .btn-p{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 28px;background:var(--r-vino);border:1px solid #B5566A;border-radius:10px;font-weight:600;transition:background-color .15s}
.reservas #form-reserva .btn-p::after{content:"→";font-size:1.15rem;letter-spacing:0;line-height:1}
.reservas #form-reserva .btn-p:disabled::after{content:none}
.reservas #form-reserva .btn-p:hover{background:var(--r-vino-h)}
.reservas .error-campo{color:var(--r-error);font-size:.85rem;line-height:1.4}
.reservas #form-reserva [aria-invalid=true]{border-color:var(--r-error)!important;box-shadow:0 0 0 1px var(--r-error)}
.reservas #form-reserva input[type=checkbox][aria-invalid=true]{outline-color:var(--r-error)}
@media (max-width:639px){.reservas #form-reserva{grid-template-columns:minmax(0,1fr)}.reservas #form-reserva .btn-p{width:100%}}
@media (max-width:359px){.reservas #form-reserva .grid-cols-2{grid-template-columns:minmax(0,1fr)}.reservas-cab .r-ico{width:48px;height:48px}}
@media (min-width:640px) and (max-width:959px){.reservas-contacto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.reservas-contacto li:nth-child(2){border-top:0}.reservas-contacto li:nth-child(3){grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.reservas *{transition:none!important}}
.reservas-cab>div{min-width:0;overflow-wrap:anywhere}
@media (max-width:359px){.reservas-cab{flex-direction:column;align-items:flex-start}}
/* Iconos dentro de los campos (solo decoración: no cambian el campo) */
.reservas #form-reserva #r-nombre{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='8'%20r='4'/%3E%3Cpath%20d='M4%2021c0-4.4%203.6-7%208-7s8%202.6%208%207'/%3E%3C/svg%3E")}
.reservas #form-reserva #r-telefono{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.1%204.2%202%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7c.1%201%20.4%201.9.7%202.8a2%202%200%200%201-.5%202.1L8%209.9a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.4c.9.3%201.8.6%202.8.7a2%202%200%200%201%201.7%202z'/%3E%3C/svg%3E")}
.reservas #form-reserva #r-fecha{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='4.5'%20width='18'%20height='16.5'%20rx='2'/%3E%3Cpath%20d='M16%202.5v4M8%202.5v4M3%2010h18'/%3E%3C/svg%3E")}
.reservas #form-reserva #r-email{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='14'%20rx='2'/%3E%3Cpath%20d='m3.5%206%208.5%207%208.5-7'/%3E%3C/svg%3E")}
.reservas #form-reserva #r-notas{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M21%2011.5a8.4%208.4%200%200%201-12.4%207.4L3%2021l2.1-5.4A8.4%208.4%200%201%201%2021%2011.5z'/%3E%3C/svg%3E")}
.reservas #form-reserva #r-hora{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207v5l3%202'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m6%209%206%206%206-6'/%3E%3C/svg%3E");background-position:14px 50%,right 14px center;-webkit-appearance:none;appearance:none;padding-right:40px}
.reservas #form-reserva #r-personas{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='9'%20cy='8'%20r='3.5'/%3E%3Cpath%20d='M2.5%2020c0-3.6%202.9-6%206.5-6s6.5%202.4%206.5%206'/%3E%3Cpath%20d='M16%204.6a3.5%203.5%200%200%201%200%206.8M18%2014.3c2.2.7%203.5%202.8%203.5%205.7'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m6%209%206%206%206-6'/%3E%3C/svg%3E");background-position:14px 50%,right 14px center;-webkit-appearance:none;appearance:none;padding-right:40px}
.reservas #form-reserva #r-zona{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021s-7-6.2-7-11.5a7%207%200%200%201%2014%200C19%2014.8%2012%2021%2012%2021z'/%3E%3Ccircle%20cx='12'%20cy='9.5'%20r='2.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m6%209%206%206%206-6'/%3E%3C/svg%3E");background-position:14px 50%,right 14px center;-webkit-appearance:none;appearance:none;padding-right:40px}

/* v4.12 · iPhone (Safari y Brave): el campo de fecha nativo se salía por la derecha */
.reservas #form-reserva label[for=r-fecha]{min-width:0;max-width:100%}
.reservas #form-reserva #r-fecha{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
@supports (-webkit-touch-callout:none){
  .reservas #form-reserva #r-fecha{-webkit-appearance:none;appearance:none;height:48px;line-height:46px;text-align:left}
  .reservas #form-reserva #r-fecha::-webkit-date-and-time-value{text-align:left;margin:0}
}

/* v4.14 · Hora: "Escribir otra hora…" cambia la lista por un campo para escribir */
.reservas #form-reserva #r-hora-txt{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;font-variant-numeric:tabular-nums;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B9B5B4'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207v5l3%202'/%3E%3C/svg%3E")}
.reservas #form-reserva #r-hora-txt[hidden],.reservas #form-reserva #r-hora[hidden]{display:none}
.reservas #form-reserva .r-hora-volver{align-self:flex-start;padding:4px 0;background:none;border:0;color:var(--r-acento);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.reservas #form-reserva .r-hora-volver[hidden]{display:none}
