.vv-booking-wrapper{

max-width:1200px;

margin:50px auto;

padding:20px;

font-family:Poppins,sans-serif;

}

.vv-page-title{

text-align:center;

margin-bottom:40px;

font-size:38px;

font-weight:700;

color:#6b4f2c;

}

.vv-booking-layout{

display:flex;

gap:35px;

align-items:flex-start;

}

/* LEFT */

.vv-left{

flex:2;

}

/* RIGHT */

.vv-right{

flex:1;

position:sticky;

top:30px;

}

/* WHITE CARDS */

.vv-card{

background:#ffffff;

border:1px solid #ece8df;

border-radius:16px;

padding:28px;

margin-bottom:25px;

box-shadow:0 8px 25px rgba(0,0,0,.06);

}

.vv-card h3{

margin:0 0 25px;

font-size:30px;

font-weight:600;

color:#6b4f2c;

}

/* INPUTS */

.vv-field{

margin-bottom:22px;

}

.vv-field label{

display:block;

margin-bottom:8px;

font-weight:500;

font-size:15px;

color:#555;

}

.vv-field input,

.vv-field select{

width:100%;

padding:14px 16px;

border:1px solid #d8d8d8;

border-radius:8px;

font-size:15px;

box-sizing:border-box;

background:#fff;

}

.vv-field input:focus,

.vv-field select:focus{

outline:none;

border-color:#6b4f2c;

}

/* RIGHT SUMMARY */

.vv-summary-card{

background:#5f7f4d;

border-radius:18px;

padding:30px;

color:#fff;

box-shadow:0 10px 30px rgba(0,0,0,.15);

}

.vv-summary-card h3{

margin:0 0 30px;

font-size:32px;

font-weight:600;

color:#fff;

}

.vv-summary-row{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:18px;

font-size:16px;

}

.vv-summary-row span{

opacity:.95;

}

.vv-summary-row strong{

font-weight:600;

}

.vv-summary-card hr{

border:none;

height:1px;

background:rgba(255,255,255,.2);

margin:25px 0;

}

.vv-total{

font-size:24px;

font-weight:700;

}

.vv-payment-note{

margin-top:20px;

padding-top:20px;

border-top:1px solid rgba(255,255,255,.2);

font-size:14px;

line-height:1.7;

color:#edf6e9;

}

/* TERMS */

.vv-checkbox{

display:flex;

gap:10px;

align-items:flex-start;

line-height:1.6;

color:#555;

}

.vv-checkbox a{

color:#6b4f2c;

text-decoration:none;

font-weight:600;

}

/* BUTTON */

.vv-payment-btn{

width:100%;

padding:16px;

background:#6b4f2c;

border:none;

border-radius:10px;

color:#fff;

font-size:17px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.vv-payment-btn:hover{

background:#84633f;

}

/* MOBILE */

@media(max-width:768px){

.vv-booking-layout{

flex-direction:column;

}

.vv-left,

.vv-right{

width:100%;

}

.vv-right{

position:relative;

top:auto;

}

}

/* ===========================
   Booking Success Page
=========================== */

.vv-success-wrapper{

max-width:900px;

margin:60px auto;

padding:0 20px;

font-family:inherit;

}

.vv-success-card{

background:#36533A;

color:#fff;

padding:45px;

border-radius:18px;

text-align:center;

margin-bottom:30px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.vv-success-card h1{

margin:0 0 10px;

font-size:38px;

font-weight:700;

}

.vv-success-card p{

margin:0;

font-size:18px;

opacity:.9;

}

.vv-success-summary{

background:#fff;

border-radius:18px;

padding:35px;

box-shadow:0 12px 35px rgba(0,0,0,.06);

margin-bottom:30px;

}

.vv-row{

display:flex;

justify-content:space-between;

align-items:center;

padding:16px 0;

border-bottom:1px solid #ECECEC;

}

.vv-row:last-child{

border-bottom:none;

}

.vv-row span{

color:#666;

font-size:15px;

}

.vv-row strong{

font-size:16px;

font-weight:600;

color:#222;

text-align:right;

}

.vv-info-box{

background:#EDF5EE;

border-left:5px solid #36533A;

padding:30px;

border-radius:14px;

margin-bottom:30px;

}

.vv-info-box h3{

margin-top:0;

margin-bottom:18px;

color:#36533A;

}

.vv-info-box ul{

margin:0;

padding-left:18px;

}

.vv-info-box li{

margin-bottom:12px;

line-height:1.7;

color:#444;

}

.vv-balance-note{

margin-top:10px;

font-size:14px;

color:#36533A;

font-style:italic;

}

.vv-success-buttons{

display:flex;

gap:20px;

justify-content:center;

flex-wrap:wrap;

margin-top:40px;

}

.vv-success-buttons a{

padding:15px 34px;

border-radius:10px;

text-decoration:none;

font-weight:600;

transition:.3s;

}

.vv-home-btn{

background:#36533A;

color:#fff;

}

.vv-home-btn:hover{

background:#2C4330;

}

.vv-download-btn{

background:#fff;

color:#36533A;

border:2px solid #36533A;

}

.vv-download-btn:hover{

background:#36533A;

color:#fff;

}

@media(max-width:767px){

.vv-success-card{

padding:30px 20px;

}

.vv-success-card h1{

font-size:28px;

}

.vv-success-summary{

padding:22px;

}

.vv-row{

flex-direction:column;

align-items:flex-start;

gap:6px;

}

.vv-row strong{

text-align:left;

}

.vv-success-buttons{

flex-direction:column;

}

.vv-success-buttons a{

text-align:center;

width:100%;

}

}

/* ===========================
   Need Help Section
=========================== */

.vv-help-section{

margin-top:45px;

background:#36533A;

padding:45px 30px;

border-radius:18px;

text-align:center;

color:#fff;

}

.vv-help-section h2{

margin-top:0;

margin-bottom:10px;

font-size:30px;

}

.vv-help-section p{

margin-bottom:30px;

opacity:.9;

}

.vv-help-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.vv-help-btn{

display:inline-block;

padding:14px 28px;

background:#fff;

color:#36533A;

text-decoration:none;

border-radius:10px;

font-weight:600;

transition:.3s;

}

.vv-help-btn:hover{

background:#EDF5EE;

transform:translateY(-2px);

}

@media(max-width:767px){

.vv-help-buttons{

flex-direction:column;

}

.vv-help-btn{

width:100%;

}

}