/*==================================================
TYPOGRAPHY
==================================================*/

.section-subtitle{

    display:inline-block;

    color:var(--gold);

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:14px;

    font-weight:600;

    margin-bottom:15px;

}

.section-title{

    font-family:var(--font-title);

    font-size:56px;

    color:var(--black);

    line-height:1.2;

    margin-bottom:20px;

    text-align:center;

}

.section-title.left{

    text-align:left;

}

.section-description{

    font-size:18px;

    color:var(--gray-700);

    line-height:1.9;

    max-width:600px;

}

.section-line{

    width:90px;

    height:3px;

    background:var(--gold);

    margin:20px auto 60px;

}

.section-line.left{

    margin:20px 0 40px;

}



/*==================================================
BUTTONS
==================================================*/

.btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    min-width:190px;

    padding:16px 34px;

    border:none;

    border-radius:var(--radius-md);

    cursor:pointer;

    font-weight:600;

    transition:var(--transition);

    font-size:15px;

}

.btn-primary{

    background:var(--gold);

    color:white;

    box-shadow:0 10px 25px rgba(201,162,39,.35);

}

.btn-primary:hover{

    background:var(--gold-dark);

    transform:translateY(-4px);

}

.btn-outline{

    border:2px solid var(--gold);

    color:var(--gold);

    background:transparent;

}

.btn-outline:hover{

    background:var(--gold);

    color:white;

}



/*==================================================
CARDS
==================================================*/

.card{

    background:white;

    border-radius:var(--radius-lg);

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}



/*==================================================
ROOM CARD
==================================================*/

.room-card img{

    width:100%;

    height:250px;

    object-fit:cover;

}

.room-card-body{

    padding:25px;

    text-align:center;

}

.room-title{

    font-family:var(--font-title);

    font-size:26px;

    margin-bottom:10px;

}

.room-price{

    color:var(--gold);

    font-size:22px;

    font-weight:bold;

    margin:15px 0;

}



/*==================================================
SERVICE CARD
==================================================*/

.service-card{

    display:flex;

    flex-direction:column;

    height:100%;

    text-align:center;

}

.service-card img{

    width:100%;

    height:230px;

    object-fit:cover;

}

.service-card h3{

    padding:22px;

    font-family:var(--font-title);

    font-size:28px;

}

.service-card:hover{

    transform:translateY(-10px);

}



/*==================================================
IMAGE FRAME
==================================================*/

.image-frame{

    overflow:hidden;

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-md);

}

.image-frame img{

    width:100%;

    transition:.6s;

}

.image-frame:hover img{

    transform:scale(1.06);

}



/*==================================================
BADGES
==================================================*/

.badge{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

}

.badge-success{

    background:#E8F8EE;

    color:#2E8B57;

}

.badge-danger{

    background:#FDECEC;

    color:#DC3545;

}

.badge-warning{

    background:#FFF7DD;

    color:#CC8A00;

}



/*==================================================
FORMS
==================================================*/

.form-group{

    margin-bottom:25px;

}

.form-label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

}

.form-control{

    width:100%;

    padding:16px;

    border:1px solid var(--gray-300);

    border-radius:var(--radius-md);

    outline:none;

    transition:var(--transition);

    font-size:16px;

}

.form-control:focus{

    border-color:var(--gold);

    box-shadow:0 0 0 4px rgba(201,162,39,.15);

}



/*==================================================
TABLES
==================================================*/

.table{

    width:100%;

    border-collapse:collapse;

    background:white;

}

.table th{

    background:var(--gold);

    color:white;

    padding:18px;

}

.table td{

    padding:18px;

    border-bottom:1px solid var(--gray-200);

}

.table tr:hover{

    background:#fafafa;

}



/*==================================================
STAT CARD
==================================================*/

.stat-card{

    background:white;

    padding:35px;

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-sm);

    text-align:center;

}

.stat-card h2{

    font-size:42px;

    color:var(--gold);

    margin-bottom:10px;

}



/*==================================================
ANIMATIONS
==================================================*/

.fade-up{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}



.zoom{

    animation:zoom .7s ease;

}

@keyframes zoom{

    from{

        opacity:0;

        transform:scale(.9);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}