/* Datos de una reserva: componente compartido por Dexcaro y cada restaurante TB&Go. */
.reservation-icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle;color:inherit}
.reservation-identity{display:flex;align-items:center;gap:12px;margin:4px 0 16px;min-width:0}
.reservation-identity>div{min-width:0}
.reservation-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:14px;background:#e8f4ed;color:#0b6048}
.reservation-avatar .reservation-icon{width:24px;height:24px;flex-basis:24px}
.reservation-eyebrow{margin:0 0 4px;font:600 11px/1.3 var(--sans,Arial,sans-serif);color:#52675b;letter-spacing:.06em;text-transform:uppercase}
.reservation-identity h3{margin:0;font:600 clamp(20px,2vw,25px)/1.25 var(--sans,Arial,sans-serif);color:#17211d;overflow-wrap:anywhere}
.reservation-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}
.reservation-fact{min-width:0;padding:12px;border:1px solid #dce7df;border-radius:12px;background:#f8fbf9}
.reservation-fact dt{display:flex;align-items:center;gap:7px;color:#476452;font:500 12px/1.3 var(--sans,Arial,sans-serif)}
.reservation-fact dd{margin:7px 0 0;font:600 16px/1.35 var(--sans,Arial,sans-serif);color:#17211d;overflow-wrap:anywhere}
.reservation-fact-mode{grid-column:1/-1;background:#edf7f1;border-color:#c4dfce}
.reservation-fact-mode dd{font-size:18px}
.reservation-section{margin:16px 0;padding:16px;border:1px solid #dce7df;border-radius:14px;background:#fff}
.reservation-section h4{display:flex;align-items:center;gap:8px;margin:0 0 13px;font:600 15px/1.35 var(--sans,Arial,sans-serif);color:#223e2f}
.reservation-contact-item{display:flex;align-items:center;gap:10px;margin-top:13px;min-width:0;color:#0b6048}
.reservation-contact-item>div{display:grid;gap:4px;min-width:0}
.reservation-contact-item span{font:500 12px/1.3 var(--sans,Arial,sans-serif);color:#5b6a60}
.reservation-contact-item strong,.reservation-contact-item a{font:500 15px/1.4 var(--sans,Arial,sans-serif);color:#17211d;overflow-wrap:anywhere;text-underline-offset:3px}
.reservation-contact-item a:hover{color:#0b6048}
.reservation-notes{background:#fffaf2;border-color:#e6cca6}
.reservation-notes h4{color:#714719}
.reservation-note-label{margin:12px 0 6px;font:600 12px/1.4 var(--sans,Arial,sans-serif);color:#6a512e}
.reservation-note-text{margin:0;font:400 15px/1.55 var(--sans,Arial,sans-serif);white-space:pre-line;color:#392e1e;overflow-wrap:anywhere}
.reservation-allergens{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0}
.reservation-allergens li{padding:5px 9px;background:#fff0d9;border:1px solid #e4c492;border-radius:8px;color:#674319;font:600 13px/1.35 var(--sans,Arial,sans-serif)}
.reservation-reference{border-bottom:1px solid #e0e9e3;padding:0 3px 8px;margin:0 0 14px}
.reservation-reference>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font:600 13px/1.4 var(--sans,Arial,sans-serif);color:#28553e;list-style:none}
.reservation-reference>summary::after{content:'›';font-size:23px;margin-left:auto;transform:rotate(90deg);flex:none}
.reservation-reference[open]>summary::after{transform:rotate(-90deg)}
.reservation-reference>summary::-webkit-details-marker{display:none}
.reservation-reference p{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:600px){.reservation-section{padding:13px}}
