/* DB Hotel Reservas - Frontend */
.dbhr{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#0f172a}
.dbhr *{box-sizing:border-box}
.dbhr-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(2,6,23,.06);margin:18px 0}
.dbhr-card-soft{background:#f8fafc}
.dbhr-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.dbhr-title{margin:0;font-size:22px;letter-spacing:-.2px}
.dbhr-subtitle{margin:6px 0 0;color:#475569}
.dbhr-badge{font-size:12px;background:#e0f2fe;color:#075985;padding:6px 10px;border-radius:999px;border:1px solid #bae6fd;white-space:nowrap}
.dbhr-alert{padding:10px 12px;border-radius:12px;margin:10px 0 14px}
.dbhr-alert-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.dbhr-alert-err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.dbhr-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.dbhr-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 980px){.dbhr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 560px){.dbhr-grid,.dbhr-grid-2{grid-template-columns:1fr}}
.dbhr-field span{display:block;font-size:12px;color:#475569;margin:0 0 6px}
.dbhr-field input,.dbhr-field select,.dbhr-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:10px 12px;font-size:14px;outline:none;background:#fff}
.dbhr-field input:focus,.dbhr-field select:focus,.dbhr-field textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 4px rgba(56,189,248,.2)}
.dbhr-quote{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0b1220;color:#fff;border-radius:16px;padding:14px 14px;margin:14px 0}
.dbhr-quote-label{font-size:12px;opacity:.8}
.dbhr-quote-value{font-size:20px;font-weight:700;letter-spacing:-.2px}
.dbhr-quote-meta{font-size:12px;opacity:.8;margin-top:3px}
.dbhr-btn{border:0;border-radius:14px;padding:10px 14px;font-weight:600;cursor:pointer;transition:transform .06s ease,opacity .2s ease}
.dbhr-btn:active{transform:translateY(1px)}
.dbhr-btn-primary{background:#0ea5e9;color:#fff}
.dbhr-btn-primary:hover{opacity:.92}
.dbhr-btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}
.dbhr-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:14px;flex-wrap:wrap}
.dbhr-footnote{font-size:12px;color:#64748b;max-width:520px}
.dbhr-terms{display:flex;align-items:flex-start;gap:10px;margin-top:10px;color:#334155;font-size:13px}
.dbhr-terms input{margin-top:3px}
.dbhr-muted{color:#64748b;font-size:12px}
.dbhr-section-title{margin:0;font-size:18px}
.dbhr-tarifas-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.dbhr-pill{font-size:12px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;padding:5px 10px;border-radius:999px}
.dbhr-accordion{display:flex;flex-direction:column;gap:10px}
.dbhr-season{border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;background:#fff}
.dbhr-season summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px;background:#f8fafc}
.dbhr-season summary::-webkit-details-marker{display:none}
.dbhr-season-name{font-weight:700}
.dbhr-season-dates{font-size:12px;color:#475569}
.dbhr-season-body{padding:14px}
.dbhr-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:14px}
.dbhr-table{width:100%;border-collapse:separate;border-spacing:0}
.dbhr-table th,.dbhr-table td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}
.dbhr-table th{background:#0b1220;color:#fff;position:sticky;top:0}
.dbhr-table tr:last-child td{border-bottom:0}
.dbhr-room-name{font-weight:700}
.dbhr-note{margin-top:10px}
