/**
* Theme Name: Bluebell Child
* Description: This is a child theme of Bluebell, generated by Merlin WP.
* Author: <a href="http://themeforest.net/user/theme-kalia">Theme Arc</a>
* Template: bluebell
* Version: 1.5
*/



.room-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:20px;
    margin-bottom:40px;
}

.room-card{
    background:#fff;
    border-radius:15px;
    padding:25px;
    text-align:center;
    box-shadow:0 5px 25px rgba(0,0,0,.08);
    transition:.3s;
}

.room-card:hover{
    transform:translateY(-8px);
    box-shadow:0 12px 35px rgba(0,0,0,.15);
}

.room-card h4{
    margin:15px 0 10px;
    font-size:18px;
    font-weight:700;
}

.room-card p{
    color:#c59d5f;
    font-size:18px;
    font-weight:700;
}


.hotel-booking-form{
    background:#fff;
    padding:30px;
    border-radius:15px;
    display:flex;
    flex-wrap:wrap;
    gap:0 20px; /* horizontal gap between columns */
    box-sizing:border-box;
}

.hotel-booking-form *,
.hotel-booking-form *::before,
.hotel-booking-form *::after{
    box-sizing:border-box;
}

.hotel-booking-form .col-md-6{
    flex:0 0 calc(50% - 10px);
    max-width:calc(50% - 10px);
    margin-bottom:20px;
}

.hotel-booking-form .col-md-12{
    flex:0 0 100%;
    max-width:100%;
    margin-bottom:20px;
}

/* Stack to single column on smaller screens */
@media (max-width:600px){
    .hotel-booking-form .col-md-6{
        flex:0 0 100%;
        max-width:100%;
    }
}

.field-label{
    display:flex;
    align-items:center;
    margin-bottom:8px;
    font-size:15px;
    font-weight:600;
    color:#333;
}

.optional-tag{
    font-size:12px;
    font-weight:400;
    color:#888;
    margin-left:6px;
}

.hotel-booking-form .form-control,
.hotel-booking-form .room-select{
    width:100%;
    height:55px;
    padding:12px 15px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:15px;
    background:#fff;
    font-family:inherit;
}

.hotel-booking-form textarea.form-control{
    height:120px;
    resize:none;
}

.hotel-booking-form .form-control:focus,
.hotel-booking-form .room-select:focus{
    border-color:#c59d5f;
    box-shadow:0 0 8px rgba(197,157,95,.25);
    outline:none;
}

.room-select{
    cursor:pointer;
    font-weight:500;
}

/* Calendar icon */
.cal-icon{
    display:inline-block;
    flex-shrink:0;
    width:16px;
    height:16px;
    margin-right:6px;
    background-color:#c59d5f;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zm12 8H5v10h14V10zM5 8h14V6H5v2z'/></svg>");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zm12 8H5v10h14V10zM5 8h14V6H5v2z'/></svg>");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.date-error{
    display:block;
    margin-top:6px;
    font-size:13px;
    color:#d64040;
}

.hotel-booking-form .form-control.field-invalid{
    border-color:#d64040 !important;
    box-shadow:0 0 8px rgba(214,64,64,.25) !important;
}

.hotel-btn{
    background:#d64040;
    color:#fff !important;
    border:none;
    padding:15px 45px;
    border-radius:8px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.hotel-btn:hover{
    background:#b53030;
}


.contact-reservations-section{
    max-width:1200px;
    margin:0 auto;
    padding:40px 20px;
    box-sizing:border-box;
}

.contact-reservations-section *,
.contact-reservations-section *::before,
.contact-reservations-section *::after{
    box-sizing:border-box;
}

/* Header Banner */
.contact-header-banner{
    text-align:center;
    margin-bottom:45px;
}

.contact-page-title{
    font-size:36px;
    font-weight:700;
    color:#fff;
    margin:0 0 12px;
}

.contact-subtitle{
    font-size:16px;
    color:#666;
    max-width:600px;
    margin:0 auto;
    line-height:1.6;
}

/* Contact Details Layout */
.contact-details-wrap{
    display:flex;
    flex-direction:column;
    gap:28px;
    max-width:480px;
}

.contact-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:20px;
    background:#fff;
    border:1px solid #eee;
    border-radius:12px;
    transition:.3s;
}

.contact-item:hover{
    border-color:#c59d5f;
    box-shadow:0 4px 15px rgba(197,157,95,.12);
}

.contact-text h4{
    margin:0 0 6px;
    font-size:16px;
    font-weight:600;
    color:#222;
}

.contact-text p{
    margin:0;
    font-size:14.5px;
    color:#666;
    line-height:1.6;
}

.contact-text a{
    color:#666;
    text-decoration:none;
}

.contact-text a:hover{
    color:#c59d5f;
}

/* Thin line icons (stroke-based SVG via mask) */
.contact-icon{
    display:inline-block;
    flex-shrink:0;
    width:26px;
    height:26px;
    margin-top:2px;
    background-color:#c59d5f;
}

.icon-address{
    -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-7-6.5-7-11.5A7 7 0 0 1 12 2a7 7 0 0 1 7 7.5C19 14.5 12 21 12 21z'/><circle cx='12' cy='9.5' r='2.5'/></svg>");
    mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-7-6.5-7-11.5A7 7 0 0 1 12 2a7 7 0 0 1 7 7.5C19 14.5 12 21 12 21z'/><circle cx='12' cy='9.5' r='2.5'/></svg>");
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:contain;
    mask-size:contain;
}

.icon-phone{
    -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.362 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/></svg>");
    mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.362 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/></svg>");
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:contain;
    mask-size:contain;
}

.icon-email{
    -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='16' rx='2'/><path d='m22 6-10 7L2 6'/></svg>");
    mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='16' rx='2'/><path d='m22 6-10 7L2 6'/></svg>");
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:contain;
    mask-size:contain;
}

.icon-clock{
    -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>");
    mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>");
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:contain;
    mask-size:contain;
}

/* Responsive */
@media (max-width:600px){
    .contact-page-title{
        font-size:26px;
    }
    .contact-item{
        padding:16px;
        gap:14px;
    }
    .contact-icon{
        width:22px;
        height:22px;
    }
}
