/* =============================================================
   page-inner.css – shared styles for all inner pages
   ============================================================= */

/* --- Banner section --- */
.elementor-element-61a6cea {
    background-image: url('../images/inner-page-banner.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    --display: flex;
    --flex-direction: row;
    --justify-content: center;
    --align-items: center;
    --overlay-opacity: 0.85;
    --padding-top: 100px;
    --padding-bottom: 100px;
    --padding-left: 20px;
    --padding-right: 20px;
}
.elementor-element-61a6cea::before {
    background-color: var(--e-global-color-text);
    --background-overlay: '';
}

/* Banner page title – gold */
.elementor-element-813bfc2 {
    text-align: center;
}
.elementor-element-813bfc2 .elementor-heading-title {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-size: var(--e-global-typography-primary-font-size);
    font-weight: var(--e-global-typography-primary-font-weight);
    color: var(--e-global-color-secondary);
}

/* --- Hotel listing content section --- */
.elementor-element-56458b9 {
    --display: flex;
    --flex-direction: column;
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 20px;
    --padding-right: 20px;
}

/* Hotel card rows: direct e-con-full children of the inner wrapper */
.elementor-element-56458b9 > .e-con-inner > .e-con-full {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    border-top: 1px solid var(--e-global-color-5453b05, #e0d9ce);
    border-bottom: 1px solid var(--e-global-color-5453b05, #e0d9ce);
    padding-top: 15px;
    padding-bottom: 15px;
    --padding-top: 15px;
    --padding-bottom: 15px;
    --padding-left: 0;
    --padding-right: 0;
}

/* Image sub-column: 40 %, text sub-column: 60 % (tablet+) */
@media (min-width: 768px) {
    .elementor-element-56458b9 > .e-con-inner > .e-con-full > .e-con-full:first-child {
        --width: 40%;
        flex: 0 0 40%;
        max-width: 40%;
    }
    .elementor-element-56458b9 > .e-con-inner > .e-con-full > .e-con-full:last-child {
        --width: 60%;
        flex: 0 0 60%;
        max-width: 60%;
    }
}

/* Hotel card images */
.elementor-element-56458b9 .elementor-widget-image img {
    height: 300px;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* "See Details" buttons – gold background */
.elementor-element-56458b9 .elementor-widget-button .elementor-button {
    background-color: var(--e-global-color-secondary);
    color: var(--e-global-color-6277136);
}
.elementor-element-56458b9 .elementor-widget-button .elementor-button:hover,
.elementor-element-56458b9 .elementor-widget-button .elementor-button:focus {
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-6277136);
}

/* --- Who We Are: second content section with overlay --- */
.elementor-element-a87b11e {
    background-image: url('../images/inner-page-banner.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    --display: flex;
    --flex-direction: column;
    --justify-content: center;
    --align-items: center;
    --overlay-opacity: 0.55;
    --padding-top: 20px;
    --padding-bottom: 50px;
    --padding-left: 20px;
    --padding-right: 20px;
}
.elementor-element-a87b11e::before {
    background-color: var(--e-global-color-text);
    --background-overlay: '';
}

/* White card inside who-we-are */
.elementor-element-0e3d04a {
    --display: flex;
    --overlay-opacity: 0.75;
    --border-radius: 15px;
    border-radius: 15px;
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 20px;
    --padding-right: 20px;
}
.elementor-element-0e3d04a::before {
    background-color: var(--e-global-color-6277136);
    --background-overlay: '';
    border-radius: 15px;
}

/* --- Contact form (connect-with-us) --- */
.elementor-form-fields-wrapper {
    width: 100%;
    max-width: 620px;
}
.elementor-field-group {
    margin-bottom: 16px;
}
.elementor-field-label {
    display: block;
    margin-bottom: 5px;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: 500;
    color: var(--e-global-color-text);
}
.elementor-field-textual {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--e-global-color-5453b05, #e0d9ce);
    border-radius: 4px;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: 15px;
    color: var(--e-global-color-text);
    background: #fff;
    box-sizing: border-box;
}
.elementor-field-textual:focus {
    outline: 2px solid var(--e-global-color-secondary);
    outline-offset: 1px;
    border-color: var(--e-global-color-secondary);
}
.elementor-form .e-form__buttons .elementor-button {
    background-color: var(--e-global-color-secondary);
    color: var(--e-global-color-6277136);
    border: none;
    width: 100%;
    cursor: pointer;
    display: block;
}
.elementor-form .e-form__buttons .elementor-button:hover,
.elementor-form .e-form__buttons .elementor-button:focus {
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-6277136);
}

/* Form feedback messages */
.rr-form-message {
    padding: 14px 20px;
    border-radius: 6px;
    margin-bottom: 24px;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: 15px;
}
.rr-form-message--success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}
.rr-form-message--error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}
.rr-form-message p:last-child {
    margin-bottom: 0;
}

/* --- Contact and legal page content --- */
.rr-contact-content > .e-con-inner,
.rr-legal-content > .e-con-inner {
    width: 100%;
}
.rr-contact-content .elementor-widget-form {
    width: 100%;
}
.rr-legal-content article {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    line-height: 1.7;
}
.rr-legal-content p:last-child {
    margin-bottom: 0;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
    .elementor-element-61a6cea,
    .elementor-element-a87b11e {
        --flex-direction: column;
    }
}

@media (max-width: 767px) {
    .elementor-element-61a6cea {
        --padding-top: 50px;
        --padding-bottom: 50px;
    }
    .elementor-element-61a6cea .elementor-hidden-mobile {
        display: block !important;
    }
    .elementor-element-61a6cea .elementor-heading-title {
        font-size: clamp(30px, 10vw, 42px) !important;
        overflow-wrap: break-word;
        hyphens: auto;
    }
    .elementor-element-a87b11e {
        --padding-top: 50px;
        --padding-bottom: 50px;
    }
    /* Stack hotel cards vertically on mobile */
    .elementor-element-56458b9 > .e-con-inner > .e-con-full {
        flex-direction: column;
    }
}

/* Desktop: parallax scroll on banner */
@media (min-width: 1025px) {
    .elementor-element-61a6cea,
    .elementor-element-a87b11e {
        background-attachment: fixed;
    }
}
