/* ===========================================================================
   RISOS TEMASI  —  yalnızca body.theme-risos altında geçerlidir

   Modern otel/booking dili: yuvarlak köşeli kart hero, hero üstüne binen
   müsaitlik arama kutusu, mavi kimlik, Archivo tipografi.

   RENKLER SABİT DEĞİL. `--rs-*` değişkenleri `includes/theme_palette.php`
   tarafından `body.theme-risos` bloğuyla ezilir; buradaki değerler YEDEK:
   PHP tarafı bloğu basmazsa site renksiz kalmaz, tasarımın kendi paletine
   düşer. Sabit hex yazmayın — otel renk seçtiğinde o kural etkisiz kalır ve
   sessizce eski tasarımın rengi görünmeye devam eder (bu tuzağa dört temada
   da düşülmüştü).

   ÖZGÜLLÜK NOTU: bölüm ve bağlantı sınıfları `body.theme-risos` ile
   yazılıdır. site.css'te `.site-main > section { max-width: 100% }` ve
   `body.theme-risos a { color: … }` kuralları var; sade sınıf (0,1,0) onları
   yenemiyor ve bölümler tam genişliğe yayılıp düğme metinleri mavi kalıyordu.
   =========================================================================== */

body.theme-risos {
    --rs-accent: #1176b0;
    --rs-ink: #0a2233;
    --rs-line: #e1e9f0;
    --rs-tint: #f4f8fb;
    --rs-body: #42596b;
    --rs-meta: #6d879b;
    --rs-star: #f5c451;
    --rs-soft: 0 18px 40px -24px rgba(10, 34, 51, 0.35);
    --rs-lift: 0 24px 50px -30px rgba(10, 34, 51, 0.45);
    --rs-hover: 0 22px 44px -28px rgba(10, 34, 51, 0.5);

    /* Ortak katmanla uyum: site.css'in genel bileşenleri bunları okur. */
    --ink: var(--rs-ink);
    --muted: var(--rs-meta);
    --cream: #ffffff;
    --sand: var(--rs-tint);
    --border: var(--rs-line);
    --radius: 14px;

    --font-display: "Archivo", system-ui, -apple-system, sans-serif;
    --font-body: "Archivo", system-ui, -apple-system, sans-serif;

    background: #ffffff;
    color: var(--rs-ink);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
}

body.theme-risos a { color: var(--rs-accent); text-decoration: none; }
body.theme-risos a:hover { color: var(--rs-ink); }
body.theme-risos ::selection { background: rgba(17, 118, 176, 0.16); }

/* Tarayıcı varsayılan odak halkası yerine tema rengi — klavyeyle gezinen
   ziyaretçi nerede olduğunu görebilmeli (handoff gereği). */
body.theme-risos :focus-visible {
    outline: 2px solid var(--rs-accent);
    outline-offset: 2px;
}

body.theme-risos h1,
body.theme-risos h2,
body.theme-risos h3 {
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.rs-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
}

/* ——— Üst iletişim şeridi ——— */
.rs-topbar { background: var(--rs-ink); color: #fff; }

.rs-topbar__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    padding: 10px 28px;
    font-size: 13px;
    max-width: 1280px;
    margin: 0 auto;
}

/* Dar ekranda adres kesilir; sarıp şeridi iki satıra çıkarmasın. */
.rs-topbar__addr {
    opacity: 0.7;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.rs-topbar__links { display: flex; gap: 18px; align-items: center; flex: 0 0 auto; }
body.theme-risos .rs-topbar__links a { color: #fff; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
body.theme-risos .rs-topbar__links a:hover { color: #fff; opacity: 0.8; }
.rs-topbar__links i { font-size: 11px; opacity: 0.7; }

/* ——— Sticky nav ——— */
body.theme-risos .site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--rs-line);
    box-shadow: none;
}

body.theme-risos .site-header .wrap,
body.theme-risos .site-header__inner {
    max-width: 1280px;
    padding: 16px 28px;
    display: flex;
    gap: 20px;
    row-gap: 14px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

body.theme-risos .logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 19px;
    letter-spacing: 0.06em;
    color: var(--rs-ink);
    text-transform: uppercase;
}

/*
 * KENARLIK SIFIRLANIR.
 *
 * site.css'te `.main-nav a { border-bottom: 2px solid transparent }` var ve
 * aktif bağlantıda o kenarlık vurgu rengine dönüyor. Risos'un hap biçimli
 * (border-radius: 999px) bağlantılarında bu alt kenarlık hapın altında
 * EĞRİ BİR YAY olarak çiziliyordu — aktif "Odalar" düğmesinin altındaki
 * o tuhaf kavis buydu. Aynı kural dil seçicisini de vuruyordu.
 */
body.theme-risos .main-nav a {
    color: #3e5768;
    padding: 9px 14px;
    border: 0;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.15s ease, color 0.15s ease;
}

body.theme-risos .main-nav a:hover {
    background: var(--rs-tint);
    color: var(--rs-ink);
}

body.theme-risos .main-nav a.active {
    background: var(--rs-tint);
    color: var(--rs-ink);
    font-weight: 700;
}

/* ——— Dil seçici ——— */
body.theme-risos .lang-switch {
    border-color: var(--rs-line);
    padding: 2px;
    gap: 0;
}

body.theme-risos .lang-switch__item {
    border: 0;
    padding: 6px 12px;
    min-width: 0;
    color: var(--rs-meta);
}

body.theme-risos .lang-switch__item:hover {
    background: var(--rs-tint);
    color: var(--rs-ink);
}

body.theme-risos .lang-switch__item.is-active {
    background: var(--rs-accent);
    color: #fff;
}

/* ——— Ortak düğmeler ——— */
body.theme-risos .btn {
    border-radius: 12px;
    font-weight: 700;
    font-size: 14px;
    padding: 14px 24px;
    letter-spacing: 0;
    text-transform: none;
}

body.theme-risos .btn-primary { background: var(--rs-accent); color: #fff; box-shadow: var(--rs-soft); }
body.theme-risos .btn-primary:hover { background: var(--rs-ink); color: #fff; transform: none; }
body.theme-risos .btn-secondary { background: var(--rs-tint); color: var(--rs-ink); border: 0; }
body.theme-risos .btn-secondary:hover { background: var(--rs-accent); color: #fff; }

/* ——— Hero ——— */
.rs-hero-shell { max-width: 1280px; margin: 0 auto; padding: 24px 28px 0; }

.rs-hero {
    position: relative;
    width: 100%;
    height: clamp(460px, 56vh, 600px);
    border-radius: 28px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

/* Metin solda okunur kalsın diye gradient soldan sağa açılır. */
.rs-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(10, 34, 51, 0.82) 0%, rgba(10, 34, 51, 0.42) 58%, rgba(10, 34, 51, 0.06) 100%);
}

.rs-hero__body {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 clamp(24px, 4vw, 56px);
}

.rs-hero__inner { max-width: 640px; color: #fff; }

.rs-hero__score {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.28);
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.rs-hero__score i { font-size: 11px; color: var(--rs-star); }

.rs-hero__title {
    margin: 0 0 18px;
    font-size: clamp(36px, 4.8vw, 60px);
    line-height: 1.04;
    letter-spacing: -0.025em;
    text-wrap: pretty;
    color: #fff;
}

.rs-hero__lead {
    margin: 0 0 30px;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.85);
    max-width: 32em;
}

.rs-hero__lead p { margin: 0 0 0.6em; }
.rs-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }

body.theme-risos .rs-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 26px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
}

body.theme-risos .rs-btn--light { background: #fff; color: var(--rs-ink); }
body.theme-risos .rs-btn--light:hover { background: var(--rs-tint); color: var(--rs-ink); }
body.theme-risos .rs-btn--ghost { background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.35); color: #fff; }
body.theme-risos .rs-btn--ghost:hover { background: rgba(255, 255, 255, 0.22); color: #fff; }

.rs-hero__thumbs {
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 2;
    display: flex;
    gap: 10px;
}

.rs-hero__thumb {
    width: 96px;
    height: 66px;
    border-radius: 14px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.45);
    background-size: cover;
    background-position: center;
    padding: 0;
    cursor: pointer;
}

.rs-hero__thumb.is-active { border-color: #fff; }

/* Küçük ekranda küçük kareler metnin üstüne biner; gizlenir. */
@media (max-width: 720px) {
    .rs-hero__thumbs { display: none; }
}

/* ——— Müsaitlik arama ——— */
.rs-search {
    margin-top: -40px;
    position: relative;
    z-index: 20;
    background: #fff;
    border: 1px solid var(--rs-line);
    border-radius: 20px;
    box-shadow: var(--rs-lift);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 4px;
    padding: 10px;
}

/*
 * SEÇİCİ DÜZELTİLDİ: kutunun hücreleri `quick-search__cell` sınıfını
 * taşıyor, `rs-search__cell` diye bir öge sayfada HİÇ YOK. Bu yüzden
 * aşağıdaki kurallar hiç uygulanmıyor, tarih alanları genel form
 * kuralındaki çerçeveyi alıyor ve kutunun içinde çerçeveli kutucuklar
 * görünüyordu.
 */
.rs-search .quick-search__cell { padding: 16px 18px; border-radius: 14px; }
.rs-search .quick-search__cell:hover { background: var(--rs-tint); }

.rs-search .quick-search__cell label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--rs-meta);
    margin-bottom: 6px;
}

/* ÇERÇEVE BURADA SIFIRLANMAZ — aşağıdaki genel form kuralı (`:not()`
   zinciriyle (0,4,2)) buradaki (0,3,2) kuralı eziyordu ve tarih alanları
   çerçeveli kalıyordu. Sıfırlama site.css'te, kazanan ağırlıkla duruyor.
   Burada yalnızca tipografi var. */
body.theme-risos .rs-search .quick-search__cell input,
body.theme-risos .rs-search .quick-search__cell select {
    width: 100%;
    padding: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--rs-ink);
}

.rs-search__go {
    border: 0;
    background: var(--rs-accent);
    color: #fff;
    padding: 18px 28px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
}

.rs-search__go:hover { background: var(--rs-ink); }

/* ——— Bölüm ritmi ——— */
body.theme-risos .rs-section { max-width: 1280px; margin: 0 auto; padding: 80px 28px 0; }
body.theme-risos .rs-section--last { padding-bottom: 80px; }

.rs-kicker {
    display: inline-block;
    background: var(--rs-tint);
    color: var(--rs-accent);
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.rs-h2 {
    margin: 0 0 20px;
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.1;
    color: var(--rs-ink);
}

.rs-h2--sm { font-size: clamp(24px, 2.6vw, 34px); }
.rs-prose { margin: 0 0 18px; font-size: 17px; line-height: 1.8; color: var(--rs-body); max-width: 46em; }
.rs-prose p { margin: 0 0 1em; }

.rs-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.rs-head .rs-h2 { margin-bottom: 0; }

body.theme-risos .rs-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--rs-line);
    padding: 12px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rs-ink);
    flex: 0 0 auto;
}

body.theme-risos .rs-link-btn:hover { background: var(--rs-tint); color: var(--rs-ink); }

/* ——— Tanıtım ——— */
.rs-about { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 56px; align-items: start; }
.rs-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 32px; }

.rs-chip {
    border: 1px solid var(--rs-line);
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
}

.rs-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.rs-stat { background: var(--rs-tint); border-radius: 18px; padding: 22px 20px; }
.rs-stat__num { font-size: 32px; font-weight: 800; line-height: 1; color: var(--rs-accent); }
.rs-stat__label { margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--rs-meta); }

.rs-about__media { display: grid; gap: 12px; }
.rs-about__big { height: 300px; border-radius: 22px; background-size: cover; background-position: center; background-color: var(--rs-tint); }
.rs-about__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rs-about__pair > span { height: 170px; border-radius: 22px; background-size: cover; background-position: center; background-color: var(--rs-tint); }

/* ——— Tesis özellikleri ——— */
.rs-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }

/*
 * KART İÇERİĞİ ORTALANIR ve DİKEYDE ORTAYA OTURUR.
 *
 * Kartlar ızgarada eşit yükseklikte; açıklaması olan kart uzayınca ötekiler
 * de uzuyor ve içerikleri tepeye yapışıp altları boş kalıyordu. Flex ile
 * dikey ortalama bunu düzeltir — kutu uzasa da yazı kutunun ortasında durur.
 */
.rs-feature {
    border: 1px solid var(--rs-line);
    border-radius: 20px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 4px;
}

.rs-feature i { font-size: 22px; color: var(--rs-accent); }
.rs-feature__title { margin: 10px 0 0; font-size: 15px; font-weight: 700; }
.rs-feature__text { font-size: 13px; color: var(--rs-meta); margin: 0; }

/* Yüklenen ikon da ortalansın: `display:block` + otomatik kenar boşluğu,
   ikonun genişliği ne olursa olsun kutunun ortasına oturtur. */
.rs-feature .rs-feature__icon { margin-left: auto; margin-right: auto; }

/* ——— Odalar ——— */
.rs-rooms { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; }

.rs-room {
    border: 1px solid var(--rs-line);
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
}

.rs-room:hover { box-shadow: var(--rs-hover); }
/* Yükseklik 210'dan 260'a: kart iki sütunlu ızgarada genişleyince fotoğraf
   çok dar bir şeride sıkışıyor ve tepesi kesik görünüyordu. */
/*
 * ODA FOTOĞRAFI KIRPILMADAN GÖSTERİLİR.
 *
 * `cover` kutuyu doldurmak için fotoğrafın kenarlarını kesiyordu; otelin
 * göstermek istediği şey (bahçe, deniz, mutfak) tam da kesilen yerde
 * olabiliyor ve otel bunu düzeltemiyor. `contain` fotoğrafın TAMAMINI
 * gösterir; oranı tutmayan fotoğrafta kenarlarda sönük bir zemin kalır —
 * eksik bilgi göstermektense boşluk göstermek yeğdir.
 */
/* Fotoğrafın nasıl oturacağını `.photo-frame` yönetir (site.css);
   burada yalnızca kutunun ölçüsü ve zemini var. */
.rs-room__media {
    position: relative;
    height: 260px;
    background-color: var(--rs-tint);
}

.rs-room__badge {
    position: absolute;
    left: 14px;
    top: 14px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--rs-ink);
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.rs-room__body { padding: 22px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; }
.rs-room__title { margin: 0; font-size: 20px; line-height: 1.25; font-weight: 700; }
.rs-room__meta { font-size: 13px; font-weight: 600; color: var(--rs-meta); }
.rs-room__text { font-size: 14px; line-height: 1.7; color: var(--rs-body); margin: 0; }

.rs-room__price {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--rs-line);
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.rs-room__feats {
    list-style: none;
    margin: 2px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 12px;
}

.rs-room__feats li {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    font-size: 13px;
    color: var(--rs-body);
}

.rs-room__feats li span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rs-room__feats i { color: var(--rs-accent); width: 14px; text-align: center; flex-shrink: 0; }
.rs-room__feats .feature-icon-img { width: 14px; height: 14px; margin-top: 0; }

.rs-room__deal {
    margin: 2px 0 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    align-self: flex-start;
    padding: 6px 11px;
    border-radius: 999px;
    background: var(--rs-tint);
    color: var(--rs-accent);
    font-size: 12.5px;
    font-weight: 700;
}

.rs-room__amount { font-size: 21px; font-weight: 800; }
.rs-room__per { font-size: 13px; color: var(--rs-meta); }

body.theme-risos .rs-room__go {
    display: block;
    text-align: center;
    background: var(--rs-tint);
    color: var(--rs-ink);
    padding: 13px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
}

body.theme-risos .rs-room__go:hover { background: var(--rs-accent); color: #fff; }

/* ——— Galeri ——— */
.rs-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); grid-auto-rows: 210px; gap: 14px; }
body.theme-risos .rs-gallery > a { border-radius: 22px; background-size: cover; background-position: center; background-color: var(--rs-tint); display: block; }
body.theme-risos .rs-gallery > a:first-child { grid-column: span 2; grid-row: span 2; }

/* Tek kolona düşen ekranda "span 2" satırı taşırır. */
@media (max-width: 520px) {
    body.theme-risos .rs-gallery > a:first-child { grid-column: span 1; grid-row: span 1; }
}

/* ——— Hikaye ——— */
.rs-story {
    background: var(--rs-tint);
    border-radius: 28px;
    padding: clamp(28px, 4vw, 56px);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
    align-items: start;
}

.rs-story__img { height: 280px; border-radius: 20px; background-size: cover; background-position: center; background-color: #fff; margin-top: 22px; }

/*
 * HİKAYE BANNER'I — sol sütun yalnızca başlıkla bomboş duruyordu.
 *
 * Yazı kutusu görselin ÜSTÜNE biner ve metin yazılmadıysa hiç basılmaz;
 * boş bir karartma katmanı fotoğrafı sebepsiz koyulaştırırdı.
 */
.rs-story__banner {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 340px;
    margin-top: 22px;
    border-radius: 20px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-color: var(--rs-tint);
}

.rs-story__banner-body {
    position: relative;
    width: 100%;
    padding: 26px;
    background: linear-gradient(180deg, rgba(9, 30, 46, 0) 0%, rgba(9, 30, 46, 0.82) 100%);
    color: #fff;
}

.rs-story__banner-body p {
    margin: 0 0 14px;
    font-size: 17px;
    line-height: 1.6;
    font-weight: 600;
    max-width: 34ch;
}

@media (max-width: 900px) {
    .rs-story__banner { min-height: 240px; }
}
.rs-story__cards { display: grid; gap: 14px; }
.rs-story__card { background: #fff; border-radius: 20px; padding: 24px; }
.rs-story__card h3 { margin: 0 0 8px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--rs-accent); }
.rs-story__card p { margin: 0; font-size: 15px; line-height: 1.75; color: var(--rs-body); }

/* ——— Konum ——— */
.rs-location { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; align-items: start; }
.rs-location__card { border: 1px solid var(--rs-line); border-radius: 24px; padding: 30px; }
.rs-dist { display: grid; gap: 8px; margin: 22px 0; }

.rs-dist__row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    background: var(--rs-tint);
    border-radius: 14px;
    padding: 13px 16px;
    font-size: 14px;
}

.rs-dist__row strong { font-weight: 600; }
.rs-dist__row span { color: var(--rs-meta); }
.rs-location__map { height: 480px; border-radius: 24px; overflow: hidden; background: var(--rs-tint); border: 1px solid var(--rs-line); }
.rs-location__map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ——— Erken rezervasyon CTA ——— */
.rs-cta {
    background: var(--rs-accent);
    border-radius: 28px;
    padding: clamp(32px, 5vw, 64px);
    color: #fff;
    text-align: center;
}

.rs-cta .rs-kicker { background: rgba(255, 255, 255, 0.18); color: #fff; }
.rs-cta h2 { margin: 0 0 24px; font-size: clamp(26px, 3.4vw, 42px); line-height: 1.12; color: #fff; }
.rs-cta__btns { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* ——— Footer ——— */
body.theme-risos .site-footer {
    background: var(--rs-ink);
    color: #fff;
    border-radius: 32px 32px 0 0;
    margin-top: 64px;
    border-top: 0;
}

body.theme-risos .site-footer a { color: rgba(255, 255, 255, 0.75); }
body.theme-risos .site-footer a:hover { color: #fff; }
body.theme-risos .site-footer h4 { color: #fff; }
body.theme-risos .footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); }

/* ===========================================================================
   İÇ SAYFALAR  —  odalar · oda detayı · hakkımızda · iletişim · galeri

   NİYE GEREKLİ: ana sayfa kendi `.rs-*` bileşenleriyle çiziliyor ama iç
   sayfalar ortak bileşenleri (`.page-hero`, `.room-showcase`, `.contact-card`…)
   kullanıyor. Bunlar ezilmediğinde iç sayfalar Klasik temanın diliyle
   görünüyor: ana sayfada yuvarlak kart hero ve mavi kimlik, bir tık ötede
   tam genişlik bant ve mercan fiyat etiketi. Ziyaretçi aynı otelde
   olduğunu anlamıyor.

   Diğer temalar bunu zaten yapıyor (Atelier 64, Dream 26, Sona 20 kural).
   Özgüllük notu yukarıda: `.site-main > section` gibi kurallar sade sınıfı
   yendiği için hepsi `body.theme-risos` ile yazılı.
   =========================================================================== */

/* ——— Sayfa ritmi ——— */
body.theme-risos .wrap { max-width: 1280px; padding-inline: 28px; }

body.theme-risos .section { padding-block: 80px 0; }
body.theme-risos .section:last-of-type { padding-bottom: 80px; }
body.theme-risos .section--soft { background: var(--rs-tint); padding-block: 80px; }
body.theme-risos .section--tight { padding-block: 48px 0; }

body.theme-risos .section-title {
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: -0.02em;
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.1;
    color: var(--rs-ink);
}

body.theme-risos .section-head__lead,
body.theme-risos .muted { color: var(--rs-body); }

/* ——— Üst bantlar: tam genişlik değil, yuvarlak kart ——— */
body.theme-risos .page-hero,
body.theme-risos .rooms-page-hero--photo {
    max-width: 1280px;
    margin: 24px auto 0;
    width: calc(100% - 56px);
    border-radius: 28px;
    overflow: hidden;
    min-height: clamp(280px, 34vh, 380px);
    display: flex;
    align-items: center;
}

body.theme-risos .page-hero--compact { min-height: clamp(220px, 26vh, 300px); }

/* Gradient soldan sağa açılır: metin solda okunur kalsın. */
/* Fotoğrafsız sayfa bandı: Risos'un lacivertinden çıkan sade geçiş. */
body.theme-risos .page-hero {
    background-color: var(--rs-ink);
    background-image:
        linear-gradient(100deg, rgba(10, 34, 51, 0.9) 0%, rgba(10, 34, 51, 0.55) 100%),
        var(--page-hero-image, linear-gradient(135deg, var(--rs-accent), var(--rs-ink)));
}

body.theme-risos .page-hero__inner {
    max-width: 640px;
    margin: 0;
    padding-inline: clamp(24px, 4vw, 56px);
    text-align: left;
}

body.theme-risos .page-hero__eyebrow {
    display: inline-block;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.theme-risos .page-hero__title {
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: -0.025em;
    font-size: clamp(32px, 4.2vw, 52px);
    line-height: 1.06;
}

body.theme-risos .page-hero__lead {
    color: rgba(255, 255, 255, 0.85);
    font-size: 17px;
    line-height: 1.7;
    margin-inline: 0;
}

/* Fotoğraflı oda bandı: Risos'un kendi lacivert örtüsü. */
body.theme-risos {
    /* Orta durak 0.38'de bırakılınca açıklama metni palmiyelerin üstüne
       düşüp okunmuyordu; ölçüldü ve 0.58'e çekildi. */
    --hero-scrim-1: rgba(10, 34, 51, 0.88);
    --hero-scrim-2: rgba(10, 34, 51, 0.58);
}

body.theme-risos .rooms-page-hero--photo::before { border-radius: 28px; }

body.theme-risos .rooms-page-eyebrow {
    display: inline-block;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.14em;
    margin-bottom: 14px;
}

body.theme-risos .rooms-page-title {
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: -0.025em;
    font-size: clamp(32px, 4.2vw, 52px);
    line-height: 1.06;
}

body.theme-risos .rooms-stat {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 14px;
}

body.theme-risos .rooms-stat__value { font-family: var(--font-display); font-weight: 800; }

/* Fotoğrafsız oda bandı: açık zeminli, kart değil. */
body.theme-risos .rooms-page-hero:not(.rooms-page-hero--photo) {
    background: var(--rs-tint);
    border-bottom: 1px solid var(--rs-line);
}

/* ——— Oda kartları / vitrin ——— */
body.theme-risos .room-card,
body.theme-risos .room-showcase {
    border: 1px solid var(--rs-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
}

body.theme-risos .room-card:hover,
body.theme-risos .room-showcase:hover {
    box-shadow: var(--rs-hover);
    transform: none;
}

body.theme-risos .room-showcase__title,
body.theme-risos .room-card-body h3 {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--rs-ink);
}

body.theme-risos .room-showcase__desc { color: var(--rs-body); line-height: 1.75; }
body.theme-risos .room-showcase__code,
body.theme-risos .room-showcase__feat-heading { color: var(--rs-meta); }

/* Dekoratif desen Risos'un sade diline uymuyor. */
body.theme-risos .room-showcase__pattern { display: none; }

body.theme-risos .room-pill {
    background: var(--rs-tint);
    color: var(--rs-ink);
    border: 0;
    border-radius: 999px;
    font-weight: 600;
}

body.theme-risos .room-pill--accent { background: var(--rs-accent); color: #fff; }

body.theme-risos .price-tag {
    background: transparent;
    border: 0;
    color: var(--rs-ink);
    padding: 0;
}

body.theme-risos .price-tag__new {
    font-family: var(--font-display);
    font-size: 21px;
    font-weight: 800;
    color: var(--rs-ink);
}

body.theme-risos .price-tag__old { color: var(--rs-meta); }

body.theme-risos .feature-icon-grid i { color: var(--rs-accent); }

/* ——— Odalar sayfası filtre kutusu ——— */
body.theme-risos .rooms-filter-box {
    border: 1px solid var(--rs-line);
    border-radius: 20px;
    box-shadow: var(--rs-lift);
    background: #fff;
}

/* ——— Hakkımızda ——— */
body.theme-risos .about-sidebar-card {
    border: 1px solid var(--rs-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
}

body.theme-risos .about-grid__prose { color: var(--rs-body); line-height: 1.8; }

body.theme-risos .check-list li {
    color: var(--rs-body);
}

body.theme-risos .check-list i { color: var(--rs-accent); }

/* ——— İletişim ——— */
body.theme-risos .contact-card {
    border: 1px solid var(--rs-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
}

body.theme-risos .contact-card__title {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--rs-ink);
}

body.theme-risos .booking-fieldset {
    border: 1px solid var(--rs-line);
    border-radius: 20px;
    background: #fff;
}

body.theme-risos .booking-legend { color: var(--rs-accent); font-weight: 700; }

/* ——— Galeri ——— */
body.theme-risos .site-gallery-grid { gap: 14px; }

body.theme-risos .site-gallery-item {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid var(--rs-line);
}

body.theme-risos .gallery-empty-card {
    border: 1px dashed var(--rs-line);
    border-radius: 22px;
    background: var(--rs-tint);
}

/* ——— Form alanları ——— */
body.theme-risos input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.theme-risos select,
body.theme-risos textarea {
    border: 1px solid var(--rs-line);
    border-radius: 12px;
    font-family: var(--font-body);
}

body.theme-risos input:focus,
body.theme-risos select:focus,
body.theme-risos textarea:focus {
    border-color: var(--rs-accent);
    box-shadow: 0 0 0 3px rgba(17, 118, 176, 0.14);
    outline: none;
}

body.theme-risos label { color: var(--rs-ink); font-weight: 600; }

/* ——— Uyarı kutuları ——— */
body.theme-risos .alert {
    border-radius: 14px;
    border: 1px solid var(--rs-line);
}

body.theme-risos .alert-success { background: var(--rs-tint); color: var(--rs-ink); }

/* Slider küçük kareleri: müsaitlik kutusu hero'nun altına -40px bindiği
   için kareler onun altında kalıyordu; yukarı alınır. */
body.theme-risos .hero-slider__thumbs { bottom: 76px; }

@media (max-width: 720px) {
    body.theme-risos .hero-slider__thumbs { bottom: 16px; }
}

/* Yüklenen ikon: Font Awesome simgesiyle aynı boyda dursun. */
.rs-feature__icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    display: block;
}
