/* ==================================================
   BASE
================================================== */

.dtb-booking-form{
    max-width:1100px;
    margin:auto;
    padding:5px 16px;
    background-color: rgba(201, 165, 82, 0.1);
    border-radius:10px;
    box-shadow:0 4px 18px rgba(0,0,0,.15);
    font-family:Arial,sans-serif;
}

/* Remove big heading space */
.dtb-booking-form h2{
    margin:0 0 8px;
    font-size:18px;
    text-align:center;
    color:#003366;
}

/* ==================================================
   MAIN BAR (ROW 1)
================================================== */

.dtb-main-bar{
    display:flex;
    flex-wrap:nowrap;
    margin-top: 2px;
    align-items:flex-end;
}

/* Columns */

.dtb-mini-col{
    flex:1;
    min-width:120px;
    display:flex;
}

/* ==================================================
   INPUTS
================================================== */

.dtb-mini-col input{
    height:36px;
    padding:0 8px;
    border-radius:5px;
    border:1px solid #ccc;
    font-size:13px;
}

.dtb-mini-col input:focus{
    outline:none;
    border-color:#0073aa;
}

/* ==================================================
   VIA BUTTON
================================================== */

.dtb-via-mini{
    flex:0 0 70px;
}

#add-via{
    height:36px;
    background:#f2f2f2;
    border:1px solid #ccc;
    border-radius:5px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
}

#add-via:hover{
    background:#e3e3e3;
}

/* ==================================================
   QUOTE BUTTON
================================================== */

.quote-mini{
    flex:0 0 120px;
}

#dtb-get-quote{
    height:36px;
    background:#0056b3;
    color:#fff;
    border:none;
    border-radius:5px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
}

#dtb-get-quote:hover{
    background:#003f7f;
}

/* ==================================================
   VIA ROW
================================================== */

.dtb-via-row{
    margin-top:6px;
}

.dtb-smart-via input{
    height:34px;
    padding:0 8px;
    border-radius:5px;
    border:1px solid #ccc;
}

/* ==================================================
   TRIP ROW (ROW 2)
================================================== */

.dtb-trip-row{
    margin-top:3px;
    display:flex;
    font-size:13px;
    font-weight:600;
  text-align: center;
  width: 80%;
  margin: 0 auto; 
}

/* ==================================================
   STEPS
================================================== */

.dtb-steps-circles{
    display:flex;
    justify-content:space-between;
    margin:14px 0;
}

.dtb-step-circle{
    width:32px;
    height:32px;
    border-radius:50%;
    background:#eee;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:700;
}

.dtb-step-circle.active{
    background:#0073aa;
    color:#fff;
}

.dtb-step-label{
    font-size:11px;
}

/* ==================================================
   RESULT BOX
================================================== */

.dtb-result-box{
    padding:10px 12px;
    border:1px solid #ddd;
    border-radius:8px;
    margin-bottom:8px;
    background:#fafafa;
}

.dtb-result-box h4{
    font-size:14px;
    margin:0 0 3px;
}

.dtb-result-box small{
    font-size:12px;
    color:#666;
}

.dtb-book-now{
    background:#28a745;
    color:#fff;
    border:none;
    border-radius:5px;
    padding:5px 12px;
    font-size:13px;
    cursor:pointer;
}

.dtb-book-now:hover{
    background:#1e7e34;
}

/* ==================================================
   BADGES
================================================== */

.dtb-service-badge{
    background:#e6e6e6;
    padding:2px 5px;
    border-radius:4px;
    font-size:11px;
    margin-right:3px;
}

/* ==================================================
   EXTRAS
================================================== */

.dtb-extras-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.dtb-extras-list label{
    flex:1 1 240px;
    background:#f2f2f2;
    padding:6px;
    border-radius:5px;
    font-size:12px;
}

.dtb-extras-summary{
    margin-top:10px;
    font-size:14px;
    font-weight:600;
}

/* ==================================================
   FORMS
================================================== */

.dtb-row{
    display:flex;
    gap:10px;
    margin-bottom:8px;
}

.dtb-col{
    flex:1;
}

.dtb-col label{
    font-size:12px;
    font-weight:600;
}

.dtb-col input,
.dtb-col textarea{
    height:34px;
    padding:0 7px;
    border-radius:5px;
    border:1px solid #ccc;
    font-size:13px;
}

/* ==================================================
   PAYMENT
================================================== */

#dtb-proceed-payment{
    height:36px;
    background:#0073aa;
    color:#fff;
    border:none;
    border-radius:5px;
    font-size:13px;
    font-weight:600;
}

#dtb-proceed-payment:hover{
    background:#005580;
}

/* ==================================================
   RESPONSIVE
================================================== */

@media(max-width:900px){

    .dtb-main-bar{
        flex-wrap:wrap;
    }

    .dtb-mini-col{
        min-width:48%;
    }

    .quote-mini{
        width:100%;
    }

    .dtb-row{
        flex-direction:column;
    }
}

@media(max-width:600px){

    .dtb-mini-col{
        min-width:100%;
    }

    #dtb-get-quote,
    #dtb-extras-next,
    #dtb-transfer-next,
    #dtb-proceed-payment{
        width:100%;
    }
}
/* ==================================================
   HEIGHT COMPRESSION (SLIM MODE)
================================================== */

/* Main container */
.dtb-booking-form.horizontal{
    padding:6px 10px !important;
    min-height:auto !important;
}

/* Title */
.dtb-booking-form.horizontal h2{
    margin:0 0 4px !important;
    font-size:15px !important;
    line-height:1.2;
}

/* Main bar */
.dtb-booking-form.horizontal .dtb-main-bar{
    margin:2px 0 !important;
    gap:6px !important;
}

/* Inputs */
.dtb-booking-form.horizontal input{
    height:30px !important;
    padding:0 6px !important;
    font-size:12px !important;
}

/* Buttons */
.dtb-booking-form.horizontal button{
    height:30px !important;
    padding:0 10px !important;
    font-size:12px !important;
}

/* Via container */
.dtb-booking-form.horizontal .dtb-via-row{
    margin-top:2px !important;
}

/* Trip type row */
.dtb-booking-form.horizontal .dtb-trip-row{
    margin:3px 0 !important;
    gap:12px !important;
    font-size:12px !important;
}

/* Remove hidden spacing */
.dtb-booking-form.horizontal > *{
    margin-bottom:2px !important;
}

/* Remove HR spacing */
.dtb-booking-form.horizontal hr{
    margin:4px 0 !important;
}
/* ==========================================
   HOMEPAGE WIDTH FIX
========================================== */

/* Limit width inside sliders / home sections */
.home .dtb-booking-form.horizontal,
.homepage .dtb-booking-form.horizontal,
.front-page .dtb-booking-form.horizontal{

    max-width:1100px !important;
    width:95% !important;

    margin-left:auto !important;
    margin-right:auto !important;

    box-sizing:border-box !important;
}
/* ==========================================
   HOMEPAGE HEIGHT FIX
========================================== */

/* Stop slider / hero from stretching form */
.home .dtb-booking-form.horizontal,
.front-page .dtb-booking-form.horizontal{
    min-height:auto !important;
    height:auto !important;
    max-height:none !important;
}

/* Fix parent hero/slider forcing height */
.home .dtb-booking-form.horizontal{
    align-self:flex-start !important;
}

/* Kill 100vh / 80vh sections */
.home .dtb-booking-form.horizontal{
    padding-top:6px !important;
    padding-bottom:6px !important;
}

/* If inside flex container */
.home .dtb-booking-form.horizontal{
    flex:0 0 auto !important;
}
/* Override homepage slider wrappers */
.home .dtb-booking-form.horizontal,
.home .dtb-booking-form.horizontal *{
    min-height:unset !important;
}


