/* ══════════════════════════════════════════════════════════════════
   HOTELS — ADC Money color palette
   --teal:        #00bfa5   primary accent / CTA
   --teal-dark:   #00897b   hover / headings
   --teal-light:  #e0f5f2   backgrounds / borders
   --green:       #2ecc71   free-cancel / available
   --orange:      #f39c12   price / secondary highlight
   --cyan:        #00b4d8   info accents
   ══════════════════════════════════════════════════════════════════ */

/* ── hotels/index.blade.php ── */
.h-hero {
    min-height:400px;
    background:linear-gradient(145deg,#072520 0%,#0d3d34 40%,#0f4a3e 70%,#083028 100%);
    position:relative; overflow:hidden;
    display:flex; flex-direction:column; align-items:center;
    padding:0 1rem;
}
.h-hero::before {
    content:''; position:absolute; inset:0;
    background:
        radial-gradient(circle at 80% 20%, rgba(0,191,165,.15) 0%, transparent 45%),
        radial-gradient(circle at 10% 75%, rgba(46,204,113,.1) 0%, transparent 40%),
        radial-gradient(1.5px 1.5px at 20% 30%, rgba(255,255,255,.6) 0%, transparent 100%),
        radial-gradient(1px 1px at 50% 20%, rgba(255,255,255,.45) 0%, transparent 100%),
        radial-gradient(2px 2px at 70% 40%, rgba(0,191,165,.5) 0%, transparent 100%),
        radial-gradient(1.5px 1.5px at 85% 25%, rgba(255,255,255,.5) 0%, transparent 100%),
        radial-gradient(1px 1px at 35% 65%, rgba(255,255,255,.35) 0%, transparent 100%);
}
.h-hero::after {
    content:''; position:absolute; right:-80px; bottom:0; left:0; top:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 400' preserveAspectRatio='none'%3E%3Cpath d='M0,200 C200,120 400,280 600,200 C800,120 1000,260 1200,180' fill='none' stroke='rgba(0,191,165,0.15)' stroke-width='2'/%3E%3Cpath d='M0,240 C200,160 400,320 600,240 C800,160 1000,300 1200,220' fill='none' stroke='rgba(46,204,113,0.1)' stroke-width='2'/%3E%3Cpath d='M0,280 C200,200 400,360 600,280 C800,200 1000,340 1200,260' fill='none' stroke='rgba(0,191,165,0.08)' stroke-width='2'/%3E%3C/svg%3E");
    background-size:100% 100%; opacity:.9;
}

/* Tab strip */
.h-tabs {
    display:flex; margin-top:1.75rem; position:relative; z-index:2;
    background:rgba(255,255,255,.08); border-radius:10px; padding:.25rem; gap:.15rem;
}
.htab {
    display:flex; align-items:center; gap:.4rem;
    padding:.55rem 1.4rem; border-radius:7px; border:none;
    background:transparent; cursor:pointer; font-family:'Inter',sans-serif;
    font-size:.85rem; font-weight:600; color:rgba(255,255,255,.65);
    transition:all .15s; text-decoration:none;
}
.htab svg { width:18px; height:18px; }
.htab.active { background:#fff; color:#00897b; }
.htab:hover:not(.active) { background:rgba(255,255,255,.12); color:#fff; }

/* Search card */
.h-search-card {
    background:#fff; border-radius:14px;
    box-shadow:0 12px 40px rgba(0,0,0,.25);
    width:100%; max-width:960px;
    margin-top:.75rem; position:relative; z-index:2;
    margin-bottom:-50px; padding:1.5rem;
}
.h-fields { display:grid; grid-template-columns:1fr 160px 160px 1fr; gap:.65rem; align-items:end; }
.hf { display:flex; flex-direction:column; gap:.25rem; }
.hf label { font-size:.67rem; font-weight:700; color:#5a7570; text-transform:uppercase; letter-spacing:.06em; }
.hf-box {
    border:1.5px solid #e0f5f2; border-radius:10px;
    display:flex; align-items:center; gap:.5rem;
    padding:.6rem .9rem; background:#fff;
    transition:border-color .15s; height:52px; position:relative;
}
.hf-box:focus-within { border-color:#00bfa5; box-shadow:0 0 0 3px rgba(0,191,165,.08); }
.hf-box > svg { width:17px; height:17px; color:#00bfa5; flex-shrink:0; }
.hf-box input[type=text] {
    border:none; outline:none; background:transparent;
    font-family:'Inter',sans-serif; font-size:.88rem; font-weight:500; flex:1; color:#1a2e2b;
}
.hf-box input[type=text]::placeholder { color:#a7d9d2; }
.hf-box input[type=date] {
    border:none; outline:none; background:transparent;
    font-family:'Inter',sans-serif; font-size:.88rem; font-weight:600; flex:1; cursor:pointer; color:#1a2e2b;
}

/* Guests trigger */
.guests-trigger { cursor:pointer; }
.guests-trigger .gtxt { flex:1; font-size:.88rem; color:#1a2e2b; font-weight:600; }
.guests-trigger svg.caret { width:16px; height:16px; color:#5a7570; flex-shrink:0; }

/* Guests panel */
.guests-panel {
    position:absolute; top:calc(100% + 6px); right:0; left:0;
    background:#fff; border:1.5px solid #e0f5f2; border-radius:12px;
    box-shadow:0 8px 32px rgba(0,191,165,.15); z-index:200;
    padding:1.1rem; display:none; min-width:280px;
}
.guests-panel.open { display:block; }
.gp-row { display:flex; align-items:center; justify-content:space-between; padding:.5rem 0; border-bottom:1px solid #f0faf8; }
.gp-row:last-of-type { border-bottom:none; }
.gp-label { font-size:.85rem; font-weight:600; color:#1a2e2b; }
.gp-sub   { font-size:.72rem; color:#5a7570; margin-top:.05rem; }
.gp-counter { display:flex; align-items:center; gap:.5rem; }
.gp-btn {
    width:28px; height:28px; border-radius:50%;
    border:1.5px solid #c8ede8; background:#fff;
    font-size:1rem; font-weight:700; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    color:#1a2e2b; transition:all .12s; line-height:1;
}
.gp-btn:hover { border-color:#00bfa5; color:#00897b; }
.gp-val { font-size:.9rem; font-weight:700; min-width:22px; text-align:center; color:#1a2e2b; }
.btn-gp-done {
    width:100%; background:linear-gradient(135deg,#00bfa5,#2ecc71); color:#fff; border:none;
    border-radius:8px; padding:.65rem; font-family:'Inter',sans-serif;
    font-size:.88rem; font-weight:700; cursor:pointer; margin-top:.85rem; transition:opacity .15s;
}
.btn-gp-done:hover { opacity:.88; }

/* Search button */
.btn-h-search {
    display:block; width:100%;
    background:linear-gradient(135deg,#00bfa5,#2ecc71);
    color:#fff; border:none; border-radius:10px; height:52px; margin-top:1.1rem;
    font-family:'Inter',sans-serif; font-size:1rem; font-weight:700;
    cursor:pointer; transition:opacity .15s;
    box-shadow:0 4px 16px rgba(0,191,165,.35);
}
.btn-h-search:hover { opacity:.88; }
.h-spacer { height:70px; background:linear-gradient(to bottom,#0f4a3e,#f4faf8); }

@media(max-width:860px) { .h-fields { grid-template-columns:1fr 1fr; } }
@media(max-width:560px) { .h-fields { grid-template-columns:1fr; } }


/* ══════════════════════════════════════════════════════════════════
   RESULTS
   ══════════════════════════════════════════════════════════════════ */
.hr-wrap { display:grid; grid-template-columns:240px 1fr; gap:1.25rem; max-width:1160px; margin:1.5rem auto; padding:0 1.25rem 2rem; }

/* Filters */
.filters { background:#fff; border:1.5px solid #e0f5f2; border-radius:12px; padding:1.1rem; align-self:start; position:sticky; top:1rem; }
.filter-title { font-size:.88rem; font-weight:700; color:#1a2e2b; margin-bottom:.85rem; padding-bottom:.5rem; border-bottom:2px solid #e0f5f2; }
.filter-section { margin-bottom:1.1rem; }
.filter-section h4 { font-size:.72rem; font-weight:700; color:#00897b; margin-bottom:.55rem; text-transform:uppercase; letter-spacing:.06em; }
.filter-opt { display:flex; align-items:center; gap:.5rem; font-size:.82rem; color:#374151; margin-bottom:.4rem; cursor:pointer; }
.filter-opt input { accent-color:#00bfa5; width:15px; height:15px; }

/* Star buttons */
.star-row { display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:.5rem; }
.star-btn {
    border:1.5px solid #e0f5f2; border-radius:6px;
    padding:.25rem .6rem; font-size:.78rem; font-weight:600;
    cursor:pointer; background:#fff; color:#5a7570; transition:all .15s;
}
.star-btn.active, .star-btn:hover { border-color:#00bfa5; color:#00897b; background:#e0f5f2; }

/* Price range */
.price-range { display:flex; align-items:center; gap:.5rem; font-size:.8rem; color:#5a7570; }
.price-range input[type=range] { flex:1; accent-color:#00bfa5; }

/* Results header */
.hr-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.hr-header h2 { font-size:.95rem; font-weight:700; color:#1a2e2b; }
.hr-header span { font-size:.82rem; color:#5a7570; }

/* Hotel card */
.hc {
    background:#fff; border:1.5px solid #e0f5f2; border-radius:12px;
    margin-bottom:.85rem; overflow:hidden;
    display:grid; grid-template-columns:220px 1fr auto; transition:all .15s;
}
.hc:hover { box-shadow:0 6px 24px rgba(0,191,165,.12); border-color:#a7d9d2; }

.hc-img { position:relative; height:180px; overflow:hidden; flex-shrink:0; }
.hc-img img { width:100%; height:100%; object-fit:cover; }
.hc-img .no-img { width:100%; height:100%; background:#e0f5f2; display:flex; align-items:center; justify-content:center; color:#5a7570; font-size:.8rem; }
.hc-stars { position:absolute; top:.5rem; left:.5rem; display:flex; gap:2px; }
.hc-stars span { color:#f39c12; font-size:.78rem; }

.hc-body { padding:1rem 1.1rem; }
.hc-name { font-size:1rem; font-weight:700; color:#1a2e2b; margin-bottom:.25rem; }
.hc-addr { font-size:.75rem; color:#5a7570; margin-bottom:.6rem; display:flex; align-items:center; gap:.3rem; }
.hc-addr svg { width:12px; height:12px; color:#00bfa5; flex-shrink:0; }
.hc-tags { display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:.6rem; }
.hc-tag { background:#e0f5f2; color:#00897b; font-size:.7rem; font-weight:600; padding:.18rem .5rem; border-radius:4px; }
.hc-tag.free-cancel { background:#dcfce7; color:#15803d; }

.hc-price-col {
    display:flex; flex-direction:column; align-items:flex-end;
    justify-content:space-between; padding:1rem 1.1rem;
    min-width:160px; border-left:1.5px solid #e0f5f2;
}
.hc-price { font-size:1.35rem; font-weight:800; color:#f39c12; }
.hc-price-sub { font-size:.72rem; color:#5a7570; margin-top:.1rem; }
.hc-tax { font-size:.72rem; color:#a7d9d2; }
.btn-view {
    background:linear-gradient(135deg,#00bfa5,#2ecc71); color:#fff; border:none;
    border-radius:8px; padding:.5rem 1.2rem; font-family:'Inter',sans-serif;
    font-size:.82rem; font-weight:700; cursor:pointer; text-decoration:none;
    display:inline-block; text-align:center; transition:opacity .15s;
    box-shadow:0 2px 8px rgba(0,191,165,.3);
}
.btn-view:hover { opacity:.88; }
.no-hotels { text-align:center; padding:4rem 2rem; background:#fff; border-radius:12px; border:1.5px solid #e0f5f2; }

@media(max-width:900px) { .hr-wrap { grid-template-columns:1fr; } .hc { grid-template-columns:1fr; } }


/* ══════════════════════════════════════════════════════════════════
   SHOW (hotel detail)
   ══════════════════════════════════════════════════════════════════ */
.hs-wrap { max-width:1100px; margin:0 auto; padding:1.25rem; display:grid; grid-template-columns:1fr 320px; gap:1.25rem; align-items:start; }

.hs-header { background:#fff; border:1.5px solid #e0f5f2; border-radius:12px; padding:1.1rem 1.25rem; margin-bottom:1rem; }
.hs-name { font-size:1.25rem; font-weight:800; color:#1a2e2b; margin-bottom:.3rem; }
.hs-addr { font-size:.8rem; color:#5a7570; display:flex; align-items:center; gap:.35rem; }
.hs-addr svg { width:13px; height:13px; color:#00bfa5; flex-shrink:0; }

.hs-gallery { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:180px 180px; gap:.5rem; border-radius:12px; overflow:hidden; margin-bottom:1rem; }
.hs-gallery .main-img { grid-row:1/3; position:relative; }
.hs-gallery img { width:100%; height:100%; object-fit:cover; }
.hs-gallery .thumb { position:relative; overflow:hidden; }
.view-all-btn { position:absolute; bottom:.5rem; right:.5rem; background:rgba(0,0,0,.55); color:#fff; border:none; border-radius:6px; padding:.3rem .65rem; font-size:.72rem; font-weight:600; cursor:pointer; }

/* Tabs */
.hs-tabs { display:flex; border-bottom:2px solid #e0f5f2; margin-bottom:1rem; }
.hs-tab {
    display:flex; align-items:center; gap:.4rem;
    padding:.7rem 1.5rem; border:none; background:transparent; cursor:pointer;
    font-family:'Inter',sans-serif; font-size:.85rem; font-weight:600;
    color:#5a7570; border-bottom:2.5px solid transparent; margin-bottom:-2px; transition:all .15s;
}
.hs-tab svg { width:15px; height:15px; }
.hs-tab.active { color:#00897b; border-bottom-color:#00bfa5; }
.hs-tab:hover:not(.active) { color:#1a2e2b; background:#f4faf8; }
.hs-tab-pane { display:none; }
.hs-tab-pane.active { display:block; }

.kf-text { font-size:.85rem; color:#374151; line-height:1.75; }

/* Amenities */
.am-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:.35rem; }
.am-item { display:flex; align-items:center; gap:.4rem; font-size:.8rem; color:#374151; padding:.3rem 0; }
.am-item::before { content:'›'; color:#00bfa5; font-weight:700; font-size:1rem; }

/* Room cards */
.room-card { border:1.5px solid #e0f5f2; border-radius:10px; overflow:hidden; margin-bottom:.85rem; display:grid; grid-template-columns:180px 1fr; transition:border-color .15s; }
.room-card:hover { border-color:#00bfa5; }
.room-img { height:160px; position:relative; }
.room-img img { width:100%; height:100%; object-fit:cover; }
.room-img .no-img { width:100%; height:100%; background:#e0f5f2; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#5a7570; font-size:.72rem; gap:.25rem; }
.room-img .view-all-btn { position:absolute; bottom:.4rem; left:50%; transform:translateX(-50%); white-space:nowrap; }
.room-body { padding:.85rem 1rem; display:flex; flex-direction:column; }
.room-name { font-size:.92rem; font-weight:700; color:#1a2e2b; margin-bottom:.2rem; }
.room-type { font-size:.75rem; color:#5a7570; display:flex; align-items:center; gap:.3rem; margin-bottom:.5rem; }
.room-type svg { width:13px; height:13px; color:#00bfa5; }
.room-tags { display:flex; gap:.35rem; flex-wrap:wrap; margin-bottom:.6rem; }
.room-tag { background:#e0f5f2; color:#00897b; font-size:.7rem; font-weight:500; padding:.15rem .45rem; border-radius:4px; }
.room-price { font-size:1.1rem; font-weight:800; color:#f39c12; }
.room-avail { font-size:.72rem; font-weight:600; color:#15803d; background:#dcfce7; padding:.15rem .45rem; border-radius:4px; display:inline-block; margin-left:.4rem; }
.room-nonref { font-size:.72rem; font-weight:600; color:#dc2626; background:#fef2f2; padding:.15rem .45rem; border-radius:4px; display:inline-block; margin-left:.3rem; }
.room-cancel { font-size:.75rem; color:#00897b; cursor:pointer; text-decoration:underline; margin-top:.3rem; }
.btn-select {
    align-self:flex-end; margin-top:auto;
    background:#fff; border:1.5px solid #e0f5f2; border-radius:8px;
    padding:.45rem 1.1rem; font-family:'Inter',sans-serif; font-size:.82rem; font-weight:600;
    cursor:pointer; transition:all .15s;
}
.btn-select:hover { border-color:#00bfa5; color:#00897b; background:#e0f5f2; }

/* Age note */
.age-note { background:#f4faf8; border:1.5px solid #e0f5f2; border-radius:10px; padding:.85rem 1rem; margin-top:1rem; }
.age-note div { display:flex; align-items:center; gap:.5rem; font-size:.8rem; color:#374151; margin-bottom:.3rem; }
.age-note div::before { content:'›'; color:#00bfa5; font-weight:700; }

/* Right sidebar */
.hs-sidebar-card { background:#fff; border:1.5px solid #e0f5f2; border-radius:12px; padding:1.1rem; margin-bottom:1rem; }
.rating-badge { display:inline-flex; align-items:center; gap:.4rem; font-size:1rem; font-weight:700; color:#1a2e2b; margin-bottom:.85rem; }
.rating-badge span { font-size:1.2rem; }
.info-row { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-bottom:.75rem; }
.info-item label { display:block; font-size:.72rem; color:#5a7570; margin-bottom:.15rem; display:flex; align-items:center; gap:.3rem; }
.info-item label svg { width:13px; height:13px; color:#00bfa5; }
.info-item .val { font-size:.88rem; font-weight:600; color:#1a2e2b; }
.sidebar-price { font-size:1.5rem; font-weight:800; color:#1a2e2b; margin:.5rem 0 .75rem; }

.btn-book-now {
    display:block; width:100%;
    background:linear-gradient(135deg,#00bfa5,#2ecc71);
    color:#fff; border:none; border-radius:10px; padding:.8rem;
    font-family:'Inter',sans-serif; font-size:.95rem; font-weight:700;
    cursor:pointer; text-align:center; text-decoration:none; margin-bottom:.75rem;
    transition:opacity .15s; box-shadow:0 4px 16px rgba(0,191,165,.35);
}
.btn-book-now:hover { opacity:.88; }

.session-warn {
    background:linear-gradient(135deg,#e0f5f2,#f0faf8);
    border:1.5px solid #a7d9d2; border-radius:8px;
    padding:.65rem .85rem; font-size:.78rem; color:#00897b;
    display:flex; align-items:flex-start; gap:.45rem;
}
.session-warn svg { width:14px; height:14px; color:#00bfa5; flex-shrink:0; margin-top:.1rem; }

.note-box { background:#fff; border:1.5px solid #e0f5f2; border-radius:12px; padding:1rem; margin-top:1rem; }
.note-box h4 { font-size:.82rem; font-weight:700; color:#00897b; margin-bottom:.65rem; display:flex; align-items:center; gap:.35rem; }
.note-item { display:flex; align-items:flex-start; gap:.4rem; font-size:.78rem; color:#374151; margin-bottom:.4rem; }
.note-item::before { content:'›'; color:#00bfa5; flex-shrink:0; font-weight:700; }

@media(max-width:860px) { .hs-wrap { grid-template-columns:1fr; } .am-grid { grid-template-columns:1fr 1fr; } .room-card { grid-template-columns:1fr; } }


/* ══════════════════════════════════════════════════════════════════
   BOOK
   ══════════════════════════════════════════════════════════════════ */
.hb-session-bar {
    background:linear-gradient(135deg,#e0f5f2,#f0faf8);
    border-bottom:1.5px solid #a7d9d2;
    padding:.65rem 1.5rem; text-align:center; font-size:.83rem; color:#00897b;
    display:flex; align-items:center; justify-content:center; gap:.5rem; font-weight:500;
}
.hb-session-bar svg { width:15px; height:15px; color:#00bfa5; }
.hb-session-bar strong { color:#00897b; font-weight:800; }

.hb-wrap { max-width:1100px; margin:1.5rem auto; padding:0 1.25rem 3rem; display:grid; grid-template-columns:1fr 340px; gap:1.25rem; align-items:start; }

.hb-card { background:#fff; border:1.5px solid #e0f5f2; border-radius:12px; overflow:hidden; margin-bottom:1rem; }
.hb-card-title {
    font-size:.95rem; font-weight:700; color:#fff;
    padding:.85rem 1.1rem;
    background:linear-gradient(135deg,#072520,#0d3d34);
}

.hb-section { padding:1.1rem; }
.hb-section-title { font-size:.85rem; font-weight:700; color:#00897b; margin-bottom:.85rem; padding-bottom:.5rem; border-bottom:1.5px solid #e0f5f2; }

/* Contact / form fields */
.hb-grid4 { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:.65rem; }
.hb-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.hb-f { display:flex; flex-direction:column; gap:.25rem; }
.hb-f label { font-size:.72rem; font-weight:700; color:#5a7570; text-transform:uppercase; letter-spacing:.04em; }
.hb-f input, .hb-f select {
    border:1.5px solid #e0f5f2; border-radius:8px;
    padding:.52rem .8rem; font-family:'Inter',sans-serif; font-size:.82rem;
    outline:none; color:#1a2e2b; width:100%; transition:border-color .15s; background:#fff;
}
.hb-f input:focus, .hb-f select:focus { border-color:#00bfa5; box-shadow:0 0 0 3px rgba(0,191,165,.08); }
.hb-f input::placeholder { color:#a7d9d2; }

/* Passenger block */
.pax-block { border:1.5px solid #e0f5f2; border-radius:10px; padding:.85rem 1rem; margin-bottom:.75rem; background:#fafffe; }
.pax-block-title { font-size:.85rem; font-weight:700; color:#00897b; margin-bottom:.75rem; }
.hb-grid4-pax { display:grid; grid-template-columns:180px 130px 1fr 1fr; gap:.65rem; }

.btn-add-pax {
    background:linear-gradient(135deg,#2ecc71,#27ae60); color:#fff; border:none;
    border-radius:8px; padding:.55rem 1.25rem; font-family:'Inter',sans-serif;
    font-size:.82rem; font-weight:700; cursor:pointer; transition:opacity .15s;
}
.btn-add-pax:hover { opacity:.88; }

/* Invoice sidebar */
.inv-card { background:#fff; border:1.5px solid #e0f5f2; border-radius:12px; padding:1.1rem; margin-bottom:1rem; }
.inv-title { font-size:1rem; font-weight:700; color:#1a2e2b; margin-bottom:.85rem; padding-bottom:.5rem; border-bottom:1.5px solid #e0f5f2; }
.inv-row { display:flex; justify-content:space-between; align-items:flex-start; padding:.4rem 0; font-size:.82rem; border-bottom:1px solid #f0faf8; }
.inv-row:last-of-type { border-bottom:none; }
.inv-row .il { color:#5a7570; }
.inv-row .ir { color:#1a2e2b; font-weight:600; text-align:right; }
.inv-sub { font-size:.72rem; color:#5a7570; display:block; margin-top:.1rem; }
.inv-divider { border:none; border-top:1.5px solid #e0f5f2; margin:.5rem 0; }
.inv-total-row { display:flex; justify-content:space-between; align-items:center; padding:.6rem 0; background:#e0f5f2; border-radius:8px; padding:.65rem .85rem; margin-top:.35rem; }
.inv-total-row .il { font-size:.92rem; font-weight:800; color:#1a2e2b; }
.inv-total-row .ir { font-size:1.2rem; font-weight:800; color:#00897b; }
.inv-note { font-size:.72rem; color:#5a7570; margin-top:.65rem; line-height:1.55; }
.inv-extra { display:flex; justify-content:space-between; font-size:.8rem; color:#374151; padding:.35rem 0; }

.btn-proceed {
    display:block; width:100%;
    background:linear-gradient(135deg,#00bfa5,#2ecc71);
    color:#fff; border:none; border-radius:10px; padding:.85rem;
    font-family:'Inter',sans-serif; font-size:.95rem; font-weight:700;
    cursor:pointer; margin-top:.85rem; text-align:center; transition:opacity .15s;
    box-shadow:0 4px 16px rgba(0,191,165,.35);
}
.btn-proceed:hover { opacity:.88; }

/* Cancellation policy */
.cancel-policy-card { background:#fff; border:1.5px solid #e0f5f2; border-radius:12px; overflow:hidden; }
.cancel-policy-hdr {
    display:flex; align-items:center; justify-content:space-between;
    padding:.85rem 1.1rem; cursor:pointer; background:#f4faf8; transition:background .15s;
}
.cancel-policy-hdr:hover { background:#e0f5f2; }
.cancel-policy-hdr h3 { font-size:.9rem; font-weight:700; color:#1a2e2b; }
.cancel-policy-hdr span { color:#00897b; font-weight:700; font-size:1.1rem; }
.cancel-policy-body {
    padding:.75rem 1.1rem 1rem; font-size:.78rem; color:#374151;
    line-height:1.65; border-top:1.5px solid #e0f5f2; display:none;
}
.cancel-policy-body.open { display:block; }

@media(max-width:860px) {
    .hb-wrap { grid-template-columns:1fr; }
    .hb-grid4, .hb-grid4-pax { grid-template-columns:1fr 1fr; }
    .hb-grid2 { grid-template-columns:1fr; }
}
