/* Grand Rimedya — additions on top of the Cappa theme (style.css). */

/* Inner page header: dark, typographic, no photo required. Replaces the
   theme's 60vh image banner. */
.page-head {
    position: relative;
    overflow: hidden;
    padding: 145px 0 60px;
    background:
        radial-gradient(ellipse 60% 120% at 85% 50%, rgba(170, 132, 83, .16), transparent 70%),
        linear-gradient(135deg, #1b1a18 0%, #2b2a28 100%);
    color: #fff;
}
.page-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(170, 132, 83, .6), transparent); }
.page-head--photo { background: linear-gradient(90deg, rgba(20, 19, 17, .92) 0%, rgba(20, 19, 17, .7) 100%), var(--page-head-image) center / cover no-repeat; }
.page-head .container { position: relative; z-index: 1; }
.page-head__crumbs { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-bottom: 22px; font-family: 'Barlow Condensed', sans-serif; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255, 255, 255, .5); }
.page-head__crumbs a { color: rgba(255, 255, 255, .75); }
.page-head__crumbs a:hover { color: #aa8453; }
.page-head__crumbs [aria-current] { color: #aa8453; }
.page-head__eyebrow { margin-bottom: 10px; color: #aa8453; font-family: 'Barlow Condensed', sans-serif; font-size: 15px; letter-spacing: 5px; text-transform: uppercase; }
.page-head__title { margin: 0; color: #fff; font-family: 'Gilda Display', serif; font-size: 52px; font-weight: 400; line-height: 1.15; }
.page-head__mark { position: absolute; right: 6%; top: 50%; width: 260px; height: auto; opacity: .07; transform: translateY(-38%); pointer-events: none; }
.page-head--slim { padding: 100px 0 0; }
.page-head--slim::after { display: none; }
@media screen and (max-width: 767px) {
    .page-head { padding: 130px 0 45px; }
    .page-head__title { font-size: 34px; }
    .page-head__crumbs { font-size: 12px; letter-spacing: 1px; margin-bottom: 15px; }
    .page-head__mark { width: 160px; right: -30px; }
}

/* Booking bar: without a hotel selector the remaining columns share the row. */
/* With the hotel selector: give it room for "Otel Seçiniz" (18+18+18+14+14+18). */
.form1:not(.no-hotel) .col2.hotel-col { width: 18%; }
.form1:not(.no-hotel) .col1 { width: 18%; }
.form1.no-hotel .col1 { width: 26%; }
.form1.no-hotel .col2 { width: 15%; }
.form1.no-hotel .col3 { width: 18%; }
.booking-form-error {
    clear: both;
    margin: 10px 0 0;
    padding: 10px 15px;
    background: #fdf1f0;
    color: #a3352c;
    font-size: 14px;
}
.booking-wrapper--page { position: relative; margin-top: -60px; z-index: 5; }
.booking-box--inline { background: #fff; padding: 40px; }
.booking-box--inline .head-box h6 { color: #aa8453; }
.booking-box--inline .head-box h4 { color: #222; }
.ui-datepicker { z-index: 1000 !important; }
.form1 .select2-container .select2-selection--single .select2-selection__rendered {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.form1 .select2-container { display: block; height: 62px; }
.form1 .select2-container .selection { display: block; }
.form1 .select2-container .select2-selection--single { height: 62px; overflow: hidden; }

/* Text logo: fit two-word brand on one line. */
.logo-wrapper .logo h2 { font-size: 24px; white-space: nowrap; }

/* SVG logo: white over the dark header, gold on the white sticky navbar. */
.navbar .logo-wrapper { flex-shrink: 0; }
.logo-wrapper .logo { display: block; padding: 10px 0; }
.logo-wrapper .logo-img { width: auto; height: 80px; max-width: none; padding: 0; object-fit: contain; }
.logo-wrapper .logo-img--gold { display: none; }
.nav-scroll .logo-wrapper .logo { padding: 8px 0; }
.nav-scroll .logo-wrapper .logo-img { width: auto; height: 72px; }
.nav-scroll .logo-wrapper .logo-img--light { display: none; }
.nav-scroll .logo-wrapper .logo-img--gold { display: block; }
.footer-logo { display: inline-block; margin-bottom: 25px; }
.footer-logo img { width: 160px; height: auto; }

/* Cards */
.rooms1 .item .con h5 small.room-card-branch { font-size: 14px; color: #aa8453; letter-spacing: 1px; }
.hotel-card-count { font-size: 14px; color: #fff; margin-left: 4px; }
.rooms1 .item img, .hotel-card img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.about-img, .facility-detail-img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.services .img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* Facilities grid: whole card is a link; icons sized like the theme's originals. */
.single-facility-link, .single-facility-link:hover { color: inherit; display: block; }
.single-facility .facility-icon { font-size: 45px; color: #aa8453; display: block; margin-bottom: 20px; }
.single-facility .facility-shape span { font-size: 150px; }
.single-facility .facility-branch { color: #aa8453; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 10px; }

/* Home: room types in one tab per hotel. Inactive panes stay laid out (not
   display:none) so Owl Carousel can measure their width. */
.room-tabs { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-bottom: 40px; }
.room-tabs__tab {
    padding: 12px 22px;
    border: 1px solid rgba(255, 255, 255, .25);
    background: transparent;
    color: rgba(255, 255, 255, .7);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 15px;
    letter-spacing: 3px;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .3s, color .3s, background .3s;
}
.room-tabs__tab span { margin-left: 6px; color: #aa8453; letter-spacing: 0; }
.room-tabs__tab:hover { border-color: #aa8453; color: #fff; }
.room-tabs__tab.is-active { border-color: #aa8453; background: #aa8453; color: #fff; }
.room-tabs__tab.is-active span { color: #fff; }
.room-tabs__panes { position: relative; }
.room-tabs__pane:not(.is-active) { position: absolute; top: 0; left: 0; right: 0; visibility: hidden; pointer-events: none; }
.room-tabs__pane.is-active { animation: room-tab-in .5s ease; }
@keyframes room-tab-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.room-tabs__more { margin-top: 10px; text-align: right; }
.room-tabs__more a { color: #aa8453; font-family: 'Barlow Condensed', sans-serif; font-size: 15px; letter-spacing: 3px; text-transform: uppercase; }
.room-tabs__more a:hover { color: #fff; }
@media screen and (max-width: 991px) {
    .room-tabs { justify-content: flex-start; margin: 10px 0 30px; }
}
@media screen and (max-width: 575px) {
    .room-tabs__tab { flex: 1 1 auto; padding: 10px 12px; font-size: 13px; letter-spacing: 1px; }
}

/* Home: facilities of all branches grouped by category. */
.amenity-card { position: relative; width: 100%; margin-bottom: 30px; padding: 45px 30px 30px; background: #fff; border: 1px solid #f1eeeb; overflow: hidden; transition: transform .4s, box-shadow .4s, border-color .4s; }
.amenity-card::before { content: ""; position: absolute; top: 0; left: 0; width: 0; height: 3px; background: #aa8453; transition: width .5s; }
.amenity-card:hover { transform: translateY(-6px); border-color: transparent; box-shadow: 0 20px 45px rgba(0, 0, 0, .08); }
.amenity-card:hover::before { width: 100%; }
.amenity-card__number { position: absolute; top: 18px; right: 25px; font-family: 'Gilda Display', serif; font-size: 48px; line-height: 1; color: #f4efe9; transition: color .4s; }
.amenity-card:hover .amenity-card__number { color: #ece2d6; }
.amenity-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 70px; height: 70px; margin-bottom: 25px; border: 1px solid #aa8453; border-radius: 50%; color: #aa8453; font-size: 26px; transition: background .4s, color .4s; }
.amenity-card:hover .amenity-card__icon { background: #aa8453; color: #fff; }
.amenity-card h5 { font-size: 22px; color: #222; margin-bottom: 15px; }
.amenity-card p { font-size: 15px; line-height: 1.75; color: #666; margin-bottom: 20px; }
.amenity-card__list { margin: 0; padding: 18px 0 0; list-style: none; border-top: 1px solid #f1eeeb; }
.amenity-card__list li + li { margin-top: 10px; }
.amenity-card__list li + li { margin-top: 12px; }
.amenity-card__list a { display: block; font-size: 15px; line-height: 1.4; color: #222; transition: color .3s; }
.amenity-card__list a:hover { color: #aa8453; }
.amenity-card__list small { display: block; margin-top: 2px; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: #aa8453; }

/* Page lists with Font Awesome icons */
.page-list-icon .fa-solid, .page-list-icon .fa-regular { font-size: 18px; color: #aa8453; }
.lead-text { font-size: 18px; color: #222; }

/* Contact: one card per branch with its map. */
.branch-card { display: flex; flex-direction: column; width: 100%; margin-bottom: 30px; background: #fff; border: 1px solid #ece4da; transition: box-shadow .4s, transform .4s; }
.branch-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(0, 0, 0, .08); }
.branch-card__map { position: relative; height: 220px; overflow: hidden; background: #2b2a28; }
.branch-card__map iframe, .branch-card__map img { width: 100%; height: 100%; border: 0; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter .5s; }
.branch-card:hover .branch-card__map iframe { filter: none; }
.branch-card__city { position: absolute; left: 20px; bottom: 0; padding: 7px 14px; background: #aa8453; color: #fff; font-family: 'Barlow Condensed', sans-serif; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; pointer-events: none; }
.branch-card__body { display: flex; flex-direction: column; flex: 1; padding: 30px; }
.branch-card__eyebrow { margin-bottom: 6px; color: #aa8453; font-family: 'Barlow Condensed', sans-serif; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; }
.contact .branch-card__name { margin-bottom: 22px; font-size: 28px; line-height: 1.2; }
.branch-card__name a { color: #222; }
.branch-card__name a:hover { color: #aa8453; }
.branch-card__list { margin: 0 0 25px; padding: 0; list-style: none; }
.branch-card__list li { display: flex; gap: 15px; padding: 12px 0; border-top: 1px solid #f1eeeb; }
.branch-card__list li:first-child { border-top: 0; padding-top: 0; }
.branch-card__list i { flex-shrink: 0; width: 18px; margin-top: 4px; color: #aa8453; font-size: 15px; text-align: center; }
.branch-card__list div { min-width: 0; }
.branch-card__list span { display: block; color: #999; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.branch-card__list a, .branch-card__list p { display: block; margin: 0; color: #222; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.branch-card__list a:hover { color: #aa8453; }
.branch-card__actions { display: flex; gap: 10px; margin-top: auto; }
.branch-card__btn { display: inline-flex; flex: 1 1 auto; align-items: center; justify-content: center; gap: 8px; padding: 11px 10px; border: 1px solid #aa8453; color: #aa8453; font-family: 'Barlow Condensed', sans-serif; font-size: 14px; letter-spacing: 1px; white-space: nowrap; text-transform: uppercase; transition: background .3s, color .3s; }
.branch-card__btn[aria-label] { flex: 0 0 46px; font-size: 18px; }
.branch-card__btn:hover, .branch-card__btn--solid { background: #aa8453; color: #fff; }
.branch-card__btn--solid:hover { background: #222; border-color: #222; color: #fff; }
.branch-card__more { margin-top: 18px; color: #222; font-family: 'Barlow Condensed', sans-serif; font-size: 14px; letter-spacing: 3px; text-transform: uppercase; }
.branch-card__more:hover { color: #aa8453; }
.contact-form-box { padding: 45px; background: #fff; }
@media screen and (max-width: 767px) {
    .contact-form-box { padding: 25px; }
    .branch-card__body { padding: 25px; }
}

/* Contact & legal */
.contact-branch-title { font-size: 24px; margin-bottom: 25px; }
.reservations .text { min-width: 0; overflow-wrap: anywhere; }
.contact-branch-title a { color: #222; }
.map-link { color: #aa8453; text-decoration: underline; }
/* Bank accounts: one card per account with copy buttons. */
.bank-accounts__title { margin-bottom: 15px; color: #222; font-family: 'Barlow Condensed', sans-serif; font-size: 15px; letter-spacing: 3px; text-transform: uppercase; }
.bank-card { width: 100%; margin-bottom: 20px; padding: 22px 24px; background: #fff; border: 1px solid #ece4da; border-top: 3px solid #aa8453; }
.bank-card__head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.bank-card__icon { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid #aa8453; border-radius: 50%; color: #aa8453; font-size: 16px; }
.bank-card .bank-card__bank { margin: 0; color: #222; font-family: 'Gilda Display', serif; font-size: 20px; text-transform: none; letter-spacing: 0; }
.bank-card__hotel { color: #aa8453; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.bank-card__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid #f1eeeb; }
.bank-card__field { min-width: 0; }
.bank-card__label { display: block; color: #999; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.bank-card__holder { display: block; color: #444; font-size: 13px; line-height: 1.5; }
.bank-card__iban { display: block; margin-top: 2px; color: #222; font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace; font-size: 15px; letter-spacing: .5px; word-spacing: 2px; }
.bank-card__row--iban { flex-direction: column; align-items: stretch; padding-bottom: 0; }
.bank-card__row--iban .bank-card__copy { justify-content: center; padding: 11px 12px; font-size: 14px; letter-spacing: 2px; }
.bank-card__copy { display: inline-flex; flex-shrink: 0; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid #aa8453; background: transparent; color: #aa8453; font-family: 'Barlow Condensed', sans-serif; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: background .3s, color .3s; }
.bank-card__copy:hover { background: #aa8453; color: #fff; }
.bank-card__copy--icon { padding: 8px 10px; border-color: #e4dccf; color: #999; }
.bank-card__copy.is-copied { border-color: #3d8b5f; background: #3d8b5f; color: #fff; }
.bank-accounts__note { display: flex; gap: 8px; margin: 5px 0 0; color: #777; font-size: 14px; line-height: 1.6; }
.bank-accounts__note i { margin-top: 4px; color: #aa8453; }
@media screen and (max-width: 400px) {
    .bank-card { padding: 18px; }
    .bank-card__iban { font-size: 13px; }
}
.contact-terms { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.6; cursor: pointer; }
.contact-terms input { width: auto !important; margin-top: 5px; }
.contact-terms a { color: #aa8453; text-decoration: underline; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.site-page-content h2 { font-size: 26px; margin: 0 0 25px; }
.site-page-content h3 { font-size: 21px; margin: 35px 0 15px; }
.site-page-content p, .site-page-content li { line-height: 1.85; }
.site-page-content ul { padding-left: 20px; margin-bottom: 20px; list-style: disc; }
.checkin-notice { font-size: 14px; color: #666; }

/* Footer branch contacts */
.footer-branch-name { color: #aa8453; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; font-size: 13px; }
.footer-contact-text a { color: inherit; }

/* Highlight the reservation link in the menu. */
.navbar .navbar-nav .nav-link.nav-booking-link { border: 1px solid #aa8453; margin-left: 10px; }

@media screen and (max-width: 991px) {
    .form1:not(.no-hotel) .col2.hotel-col { width: 100%; border-right: 0; border-bottom: 1px solid #ececec; }
    .form1:not(.no-hotel) .col1 { width: 50%; }
    .form1.no-hotel .col1 { width: 50%; }
    .form1.no-hotel .col2 { width: 25%; }
    .form1.no-hotel .col3 { width: 50%; }
    .booking-wrapper--page { margin-top: 0; }
    .navbar .navbar-nav .nav-link.nav-booking-link { border: 0; margin-left: 0; }
}
@media screen and (max-width: 767px) {
    .form1.no-hotel .col1, .form1.no-hotel .col2, .form1.no-hotel .col3 { width: 100%; }
    .form1:not(.no-hotel) .col1 { width: 100%; }
    .booking-box--inline { padding: 25px; }
    .logo-wrapper .logo h2 { font-size: 20px; }
}
