/* ==========================================================================
   PERU TRAVEL — ITINERARY LANDING PAGE TEMPLATE
   css/styleitinerary.css
   Shared by index.html and confirmation.html
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap');

:root{
    --jade:        #0e6655;
    --jade-dark:   #0a4d40;
    --jade-light:  #14a085;
    --navy:        #0b2545;
    --gold:        #f1c40f;
    --gold-deep:   #d4a017;
    --cream:       #faf8f4;
    --cream-deep:  #f2ede2;
    --ink:         #1c1c1c;
    --muted:       #6b7280;
    --border:      #e5e0d3;
    --white:       #ffffff;
    --green-ok:    #1e8e5a;
    --red-no:      #c0392b;
    --shadow-soft: 0 10px 40px rgba(11,37,69,.08);
    --shadow-lift: 0 20px 60px rgba(11,37,69,.14);
    --radius:      10px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
    margin:0;
    font-family:'Montserrat',sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
    font-family:'Cinzel',serif;
    color:var(--navy);
    margin:0;
    font-weight:600;
}

a{ color:inherit; }

.container{ max-width:1140px; margin:0 auto; padding:0 24px; }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
    position:relative;
    min-height:88vh;
    background-image:
        linear-gradient(100deg, rgba(11,20,15,.72) 0%, rgba(11,20,15,.42) 45%, rgba(11,20,15,.15) 75%),
        url('../images/hero-bg.jpg');
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:flex-end;
}

.hero-content{
    padding:0 6vw 90px;
    max-width:640px;
    color:var(--white);
}

.hero-content h1{
    color:var(--white);
    font-size:clamp(2.2rem, 5vw, 3.6rem);
    line-height:1.15;
    letter-spacing:.5px;
    margin-bottom:16px;
}

.hero-content h2{
    color:rgba(255,255,255,.88);
    font-family:'Montserrat',sans-serif;
    font-weight:300;
    font-size:clamp(1rem, 2vw, 1.3rem);
    letter-spacing:.5px;
    margin-bottom:32px;
    max-width:520px;
}

.hero-note{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--gold);
    font-size:.8rem;
    font-weight:500;
    letter-spacing:1.5px;
    text-transform:uppercase;
    margin-bottom:26px;
}

.btn-hero{
    display:inline-block;
    background:var(--gold);
    color:var(--navy);
    font-weight:700;
    text-decoration:none;
    padding:16px 38px;
    border-radius:4px;
    font-size:.82rem;
    letter-spacing:2px;
    text-transform:uppercase;
    border:2px solid var(--gold);
    transition:all .3s ease;
    cursor:pointer;
}
.btn-hero:hover{
    background:transparent;
    color:var(--white);
    border-color:var(--white);
}

/* ==========================================================================
   STICKY TAB NAV
   ========================================================================== */
.tabs-nav{
    position:sticky;
    top:0;
    z-index:500;
    background:var(--white);
    box-shadow:0 2px 12px rgba(0,0,0,.06);
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
}

.tab-btn{
    background:none;
    border:none;
    border-bottom:3px solid transparent;
    color:var(--navy);
    font-family:'Montserrat',sans-serif;
    font-weight:600;
    font-size:.78rem;
    letter-spacing:1.2px;
    text-transform:uppercase;
    padding:20px 22px;
    cursor:pointer;
    transition:all .3s ease;
    white-space:nowrap;
}

.tab-btn:hover{
    color:var(--jade);
    background:rgba(14,102,85,.05);
}

.tab-btn.active{
    color:var(--jade);
    border-bottom-color:var(--jade);
}

.tab-btn.request-btn{
    color:var(--gold-deep);
}
.tab-btn.request-btn:hover,
.tab-btn.request-btn.active{
    color:var(--gold-deep);
    border-bottom-color:var(--gold-deep);
}

@media (max-width:768px){
    .tab-btn{ padding:14px 12px; font-size:.68rem; letter-spacing:.8px; }
}

/* ==========================================================================
   MAP SECTION
   ========================================================================== */
.map-section{
    background:var(--cream-deep);
    padding:50px 24px;
    text-align:center;
}

.map-eyebrow{
    font-size:.72rem;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--jade);
    font-weight:600;
    margin-bottom:8px;
    display:block;
}

.map-title{
    font-size:1.6rem;
    letter-spacing:2px;
    margin-bottom:28px;
}

.map-wrapper{
    max-width:900px;
    margin:0 auto;
    position:relative;
    border-radius:var(--radius);
    overflow:hidden;
    cursor:zoom-in;
    box-shadow:var(--shadow-soft);
    border:1px solid var(--border);
    transition:box-shadow .35s ease, transform .35s ease;
}
.map-wrapper:hover{ box-shadow:var(--shadow-lift); transform:translateY(-3px); }
.map-wrapper img{ width:100%; display:block; }

.map-hint{
    margin-top:14px;
    font-size:.78rem;
    color:var(--muted);
    letter-spacing:.5px;
}

.map-modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(10,15,12,.92);
    z-index:2000;
    align-items:center;
    justify-content:center;
    padding:30px;
}
.map-modal.active{ display:flex; }
.map-modal img{ max-width:100%; max-height:90vh; border-radius:6px; }
.map-modal-close{
    position:fixed;
    top:24px; right:30px;
    width:44px; height:44px;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.2);
    color:#fff;
    font-size:1.3rem;
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
}
.map-modal-close:hover{ background:var(--jade); border-color:var(--jade); }

/* ==========================================================================
   TAB CONTENT PANELS
   ========================================================================== */
.tab-content{
    display:none;
    padding:70px 24px;
    animation:fadeIn .4s ease;
    scroll-margin-top:74px; /* offset for the sticky tab nav when scrolled into view */
}
.tab-content.active{ display:block; }

@keyframes fadeIn{
    from{ opacity:0; transform:translateY(8px); }
    to{ opacity:1; transform:translateY(0); }
}

.section-eyebrow{
    display:block;
    text-align:center;
    font-size:.72rem;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--jade);
    font-weight:600;
    margin-bottom:10px;
}

.section-heading{
    text-align:center;
    font-size:1.9rem;
    letter-spacing:2px;
    margin-bottom:8px;
}

.section-lead{
    text-align:center;
    color:var(--muted);
    max-width:560px;
    margin:0 auto 48px;
    font-size:.92rem;
}

.divider-jade{
    width:60px; height:2px;
    background:linear-gradient(90deg,transparent,var(--jade),transparent);
    margin:18px auto 0;
}

/* ---- Itinerary Summary ---- */
.summary-list{
    max-width:760px;
    margin:0 auto;
    list-style:none;
    padding:0;
    border-top:1px solid var(--border);
}

.summary-item{
    display:flex;
    gap:26px;
    align-items:baseline;
    padding:16px 6px;
    border-bottom:1px solid var(--border);
    transition:background .25s ease;
}
.summary-item:hover{ background:rgba(14,102,85,.04); }

.summary-day{
    flex:0 0 110px;
    font-family:'Cinzel',serif;
    font-weight:600;
    color:var(--jade);
    font-size:.9rem;
    letter-spacing:1px;
    text-transform:uppercase;
}

.summary-text{
    color:var(--ink);
    font-size:.98rem;
}

/* ---- Day by Day / Detailed Itinerary ---- */
.day-card{
    max-width:900px;
    margin:0 auto 40px;
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow-soft);
}

.day-card img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
}
@media (max-width:600px){
    .day-card img{ height:200px; }
}

.day-card-body{ padding:32px 34px; }

.day-card-title{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
}

.day-card-title .day-calendar-icon{ flex-shrink:0; }

.day-card-title h3{
    font-size:1.25rem;
    letter-spacing:.5px;
}

.day-card-desc{
    color:#3a3a3a;
    font-size:.98rem;
    margin-bottom:22px;
}

.day-info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    background:var(--cream-deep);
    padding:16px 20px;
    border-radius:6px;
    border-left:3px solid var(--jade);
}
@media (max-width:480px){
    .day-info-grid{ grid-template-columns:1fr; }
}

.info-item{ font-size:.86rem; color:#333; }
.info-item b{ color:var(--navy); }

/* ---- Included / Not Included ---- */
.inclusions-grid{
    max-width:960px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
}
@media (max-width:700px){
    .inclusions-grid{ grid-template-columns:1fr; }
}

.inclusions-col h4{
    font-size:1.05rem;
    letter-spacing:1px;
    margin-bottom:18px;
    padding-bottom:12px;
    border-bottom:2px solid var(--border);
}
.inclusions-col.is-included h4{ color:var(--green-ok); border-color:var(--green-ok); }
.inclusions-col.is-excluded h4{ color:var(--red-no); border-color:var(--red-no); }

.inclusions-col ul{ list-style:none; padding:0; margin:0; }
.inclusions-col li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:10px 0;
    font-size:.92rem;
    border-bottom:1px dashed var(--border);
}
.inclusions-col li i{ margin-top:3px; flex:0 0 auto; }
.inclusions-col.is-included li i{ color:var(--green-ok); }
.inclusions-col.is-excluded li i{ color:var(--red-no); }

/* ==========================================================================
   RATES / PAYMENT (adapted from client reference)
   ========================================================================== */
#payment{
    font-family:'Montserrat',sans-serif;
    max-width:950px;
    margin:0 auto;
    padding:0;
    background:transparent;
}

.controls{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:22px;
    margin:0 auto 46px;
    padding:16px 32px;
    background:#ffffff;
    border-radius:50px;
    box-shadow:var(--shadow-soft);
    border:1px solid var(--border);
    max-width:360px;
}
.controls label{
    font-size:.72rem; font-weight:600; letter-spacing:1.6px;
    text-transform:uppercase; color:var(--navy);
}
.pax-wrapper{ display:flex; align-items:center; gap:14px; }
.pax-btn{
    width:34px; height:34px; border-radius:50%;
    border:1px solid var(--border); background:#fff; color:var(--navy);
    font-size:1.1rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:all .3s ease;
}
.pax-btn:hover{ border-color:var(--jade); background:var(--jade); color:#fff; }
#pax-count{
    width:42px; border:none; border-bottom:1px solid var(--jade);
    background:transparent; font-family:'Cinzel',serif; font-size:1.1rem;
    text-align:center; color:var(--navy);
}

.package-list{ display:flex; flex-direction:column; gap:18px; margin-bottom:50px; }

.package-item{
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    background:#fff; padding:24px 28px; border-radius:6px;
    border:1px solid var(--border);
    transition:all .35s cubic-bezier(.25,.8,.25,1);
    position:relative; overflow:hidden;
}
.package-item::before{
    content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
    background:var(--tier-color, var(--navy));
}
.package-item:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-soft);
    border-color:var(--tier-color, var(--jade));
}
.package-item.featured{
    border-color:var(--gold-deep);
    background:linear-gradient(135deg,#ffffff 0%,#fdfbf3 100%);
}
.featured-tag{
    position:absolute; top:-1px; right:24px;
    background:var(--navy); color:var(--gold);
    font-size:.6rem; letter-spacing:2px; text-transform:uppercase;
    padding:6px 14px; border-radius:0 0 6px 6px; font-weight:600;
}
.package-info h3{
    margin:0 0 4px; font-size:1.1rem; letter-spacing:1px;
    color:var(--ink); display:flex; align-items:center; gap:10px;
}
.stars{ color:var(--gold-deep); font-size:.75rem; letter-spacing:2px; }
.package-info small{ font-size:.78rem; color:var(--muted); }
.package-right{ display:flex; align-items:center; gap:22px; }
.price-box{ text-align:right; min-width:120px; }
.price-box .amount{
    font-family:'Cinzel',serif; font-size:1.4rem; color:var(--navy);
    display:block; line-height:1;
}
.price-box .per-label{
    font-size:.6rem; color:var(--muted); letter-spacing:1px;
    text-transform:uppercase; margin-top:4px; display:block;
}
.confirm-btn{
    background:var(--jade); color:#fff; text-decoration:none;
    padding:12px 26px; border-radius:3px; font-weight:600;
    text-transform:uppercase; font-size:.7rem; letter-spacing:1.5px;
    transition:all .3s ease; border:1px solid var(--jade); cursor:pointer; white-space:nowrap;
}
.confirm-btn:hover{ background:var(--gold); border-color:var(--gold); color:var(--navy); }

.trust-section{ border-top:1px solid var(--border); padding-top:34px; text-align:center; }
.payment-methods-label{
    font-size:.66rem; letter-spacing:2px; text-transform:uppercase;
    color:var(--muted); margin-bottom:16px; display:block;
}
.card-icons{ display:flex; justify-content:center; gap:18px; margin-bottom:28px; flex-wrap:wrap; }
.card-icons i{ font-size:2rem; color:#4a5560; transition:color .3s ease; }
.card-icons i:hover{ color:var(--jade); }
.trust-badges{ display:flex; justify-content:center; gap:32px; flex-wrap:wrap; }
.trust-badge{ display:flex; align-items:center; gap:8px; font-size:.75rem; color:var(--navy); }
.trust-badge i{ color:var(--gold-deep); }
.secure-note{ margin-top:22px; font-size:.7rem; color:var(--muted); }
.secure-note i{ color:var(--gold-deep); margin-right:4px; }

@media (max-width:640px){
    .package-item{ flex-direction:column; align-items:flex-start; gap:14px; }
    .package-right{ width:100%; justify-content:space-between; }
    .price-box{ text-align:left; }
}

/* ==========================================================================
   REQUEST TRIP FORM
   ========================================================================== */
.booking-inner{ max-width:820px; margin:0 auto; }

.form-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:6px; }
@media (max-width:640px){ .form-grid-2{ grid-template-columns:1fr; } }

.form-group{ margin-bottom:22px; }

.form-label{
    display:block; font-size:.72rem; font-weight:600; letter-spacing:1px;
    text-transform:uppercase; color:var(--navy); margin-bottom:8px;
}

.form-input,.form-textarea{
    width:100%; padding:13px 16px; border:1px solid var(--border);
    border-radius:5px; font-family:'Montserrat',sans-serif; font-size:.92rem;
    color:var(--ink); background:#fff; transition:border-color .25s ease, box-shadow .25s ease;
}
.form-input:focus,.form-textarea:focus{
    outline:none; border-color:var(--jade); box-shadow:0 0 0 3px rgba(14,102,85,.12);
}
.form-textarea{ resize:vertical; min-height:110px; }

.char-count{ text-align:right; font-size:.7rem; color:var(--muted); margin-top:6px; }

.form-counter-wrap{ display:flex; align-items:center; gap:12px; }
.form-counter-btn{
    width:38px; height:38px; border-radius:50%; border:1px solid var(--border);
    background:#fff; color:var(--navy); font-size:1.1rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:all .25s ease;
}
.form-counter-btn:hover{ border-color:var(--jade); background:var(--jade); color:#fff; }
.form-counter-input{
    width:56px; text-align:center; border:1px solid var(--border); border-radius:5px;
    padding:10px 4px; font-family:'Cinzel',serif; font-size:1rem; color:var(--navy);
}

/* Country picker */
.country-picker-wrap{ position:relative; }
.country-picker-display{
    display:flex; align-items:center; gap:10px;
    border:1px solid var(--border); border-radius:5px; padding:13px 16px;
    cursor:pointer; background:#fff; transition:border-color .25s ease;
}
.country-picker-display:hover,
.country-picker-display.open{ border-color:var(--jade); }
.cp-flag{ font-size:1.2rem; }
.cp-text{ flex:1; font-size:.92rem; color:var(--ink); }
.cp-text.placeholder{ color:var(--muted); }
.cp-arrow{ color:var(--muted); font-size:.75rem; transition:transform .25s ease; }
.country-picker-display.open .cp-arrow{ transform:rotate(180deg); }

.country-picker-dropdown{
    display:none;
    position:absolute; top:calc(100% + 6px); left:0; right:0;
    background:#fff; border:1px solid var(--border); border-radius:8px;
    box-shadow:var(--shadow-lift); z-index:50; max-height:280px;
    overflow:hidden; flex-direction:column;
}
.country-picker-dropdown.open{ display:flex; }
.cp-search{
    border:none; border-bottom:1px solid var(--border); padding:12px 16px;
    font-size:.88rem; font-family:'Montserrat',sans-serif; outline:none;
}
.cp-list{ overflow-y:auto; }
.cp-option{
    display:flex; align-items:center; gap:10px; padding:10px 16px;
    cursor:pointer; font-size:.88rem;
}
.cp-option:hover{ background:var(--cream-deep); }

.form-check{
    display:flex; align-items:flex-start; gap:10px;
    font-size:.82rem; color:var(--muted); margin:6px 0 30px;
}
.form-check input{ margin-top:3px; }
.form-check a{ color:var(--jade); text-decoration:underline; }

.btn-submit{
    display:flex; align-items:center; justify-content:center; gap:10px;
    width:100%; background:var(--jade); color:#fff; border:none;
    padding:17px; border-radius:5px; font-weight:700; letter-spacing:2px;
    text-transform:uppercase; font-size:.82rem; cursor:pointer;
    transition:background .3s ease;
}
.btn-submit:hover{ background:var(--jade-dark); }
.btn-submit:disabled{ opacity:.6; cursor:not-allowed; }

.form-msg{
    margin-top:16px; padding:14px 16px; border-radius:6px; font-size:.85rem; display:none;
}
.form-msg.show{ display:block; }
.form-msg.error{ background:#fdecea; color:var(--red-no); border:1px solid #f5c6c2; }

/* ==========================================================================
   FOOTER (client brand reference)
   ========================================================================== */
.super-footer{
    background:#0a0a0a; color:#fff; padding:60px 24px 30px;
    font-family:'Montserrat',sans-serif; border-top:2px solid rgba(241,196,15,.2);
    position:relative; overflow:hidden;
}
.footer-container{
    max-width:1140px; margin:0 auto; display:grid;
    grid-template-columns:2fr 1.5fr 1.5fr 1fr; gap:40px; position:relative; z-index:1;
}
.footer-col h4{
    font-family:'Cinzel',serif; font-size:.85rem; letter-spacing:3px;
    text-transform:uppercase; color:var(--gold); margin-bottom:16px;
    padding-bottom:10px; position:relative;
}
.footer-col h4::after{
    content:''; position:absolute; bottom:0; left:0; width:26px; height:2px; background:var(--gold);
}
.footer-col p,.footer-col li{
    font-size:.83rem; line-height:1.8; color:#bbb; margin:6px 0; list-style:none;
}
.footer-col p strong{ color:#fff; font-weight:500; }
.footer-col ul{ list-style:none; padding:0; margin:0; }
.footer-col ul li a{ color:#bbb; text-decoration:none; transition:color .3s ease; }
.footer-col ul li a:hover{ color:var(--gold); }
.footer-brand .footer-logo{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
    font-family:'Cinzel',serif;
    font-size:1.35rem;
    font-weight:700;
    letter-spacing:1px;
    color:var(--gold);
}
.footer-brand .footer-logo .nav-logo-icon{ color:var(--gold); flex-shrink:0; }
.footer-brand .footer-logo .logo-white{ color:#ffffff; }
.footer-brand .footer-logo .logo-gold{ color:var(--gold); }
.footer-brand .brand-tagline{
    font-size:.72rem; letter-spacing:3px; text-transform:uppercase; color:#888; margin-top:2px;
}
.footer-brand .brand-desc{ font-size:.83rem; color:#999; margin-top:10px; max-width:300px; }
.social-links{ display:flex; gap:12px; margin-top:14px; }
.social-links a{
    width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.08);
    display:flex; align-items:center; justify-content:center; color:#888;
    text-decoration:none; transition:all .35s ease;
}
.social-links a:hover{ background:var(--gold); border-color:var(--gold); color:#0a0a0a; transform:translateY(-3px); }
.footer-bottom{
    max-width:1140px; margin:36px auto 0; padding-top:22px;
    border-top:1px solid rgba(255,255,255,.06); display:flex; justify-content:space-between;
    align-items:center; flex-wrap:wrap; gap:14px;
}
.footer-bottom p{ font-size:.68rem; color:#666; margin:0; }
.footer-bottom .footer-links{ display:flex; gap:18px; }
.footer-bottom .footer-links a{ font-size:.68rem; color:#666; text-decoration:none; }
.footer-bottom .footer-links a:hover{ color:var(--gold); }

@media (max-width:1024px){
    .footer-container{ grid-template-columns:1.5fr 1fr 1fr; }
    .footer-col:last-child{ grid-column:span 3; }
}
@media (max-width:768px){
    .footer-container{ grid-template-columns:1fr; gap:28px; }
    .footer-col:last-child{ grid-column:span 1; }
    .footer-bottom{ flex-direction:column; text-align:center; }
}

/* WhatsApp float */
.whatsapp-float{
    position:fixed; bottom:26px; right:26px; background:#25D366; color:#fff;
    width:58px; height:58px; border-radius:50%; display:flex; align-items:center;
    justify-content:center; font-size:28px; text-decoration:none;
    box-shadow:0 6px 26px rgba(37,211,102,.4); z-index:1000;
    border:2px solid rgba(255,255,255,.15); transition:all .35s cubic-bezier(.25,.8,.25,1);
}
.whatsapp-float:hover{ transform:scale(1.08) translateY(-3px); background:#1ebe5c; }
.whatsapp-float .tooltip{
    position:absolute; right:70px; top:50%; transform:translateY(-50%);
    background:#1a1a1a; color:#fff; font-size:.7rem; padding:6px 12px; border-radius:6px;
    white-space:nowrap; opacity:0; pointer-events:none; transition:all .3s ease;
}
.whatsapp-float:hover .tooltip{ opacity:1; right:75px; }
@media (max-width:600px){ .whatsapp-float .tooltip{ display:none; } }

/* ==========================================================================
   CONFIRMATION PAGE
   ========================================================================== */
.confirmation-wrap{
    max-width:640px; margin:80px auto; background:#fff; border:1px solid var(--border);
    border-radius:var(--radius); box-shadow:var(--shadow-lift); padding:56px 44px; text-align:center;
}
.check-circle{
    width:88px; height:88px; border-radius:50%; background:var(--green-ok);
    display:flex; align-items:center; justify-content:center; margin:0 auto 26px;
    color:#fff; font-size:2.6rem; animation:pop .5s cubic-bezier(.26,1.4,.44,1);
}
@keyframes pop{ from{ transform:scale(0); opacity:0; } to{ transform:scale(1); opacity:1; } }
.confirmation-wrap h1{ font-size:1.7rem; margin-bottom:8px; }
.confirmation-wrap .sub{ color:var(--muted); font-size:.92rem; margin-bottom:30px; }
.booking-id-box{
    background:var(--cream-deep); border:1px dashed var(--gold-deep); border-radius:8px;
    padding:18px; margin-bottom:30px;
}
.booking-id-box .label{
    font-size:.68rem; letter-spacing:2px; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:6px;
}
.booking-id-box .code{
    font-family:'Cinzel',serif; font-size:1.5rem; color:var(--navy); letter-spacing:2px;
}
.confirm-details{ text-align:left; border-top:1px solid var(--border); padding-top:22px; margin-bottom:30px; }
.confirm-row{
    display:flex; justify-content:space-between; padding:9px 0; font-size:.88rem;
    border-bottom:1px dashed var(--border);
}
.confirm-row span:first-child{ color:var(--muted); }
.confirm-row span:last-child{ color:var(--ink); font-weight:600; text-align:right; }
.btn-explore{
    display:inline-block; background:var(--jade); color:#fff; text-decoration:none;
    padding:15px 34px; border-radius:5px; font-weight:700; letter-spacing:1.5px;
    text-transform:uppercase; font-size:.78rem; transition:background .3s ease;
}
.btn-explore:hover{ background:var(--jade-dark); }

@media (max-width:600px){
    .confirmation-wrap{ margin:30px 16px; padding:36px 22px; }
}
