/* Apartman aloldal (single szobak) — a panorama-suite sablon alapján.
   Minden osztály `rs-` prefixet kap, hogy ne ütközzön a téma/Elementor
   általános neveivel (.wrap, .main, .stats, .book stb.).
   Betűtípusok: az oldal Elementor kitjének családjai (Cormorant Garamond +
   Manrope); a Sacramento csak a foglalási doboz kézírásos szavához töltődik be. */

/* ── A GeneratePress konténer semlegesítése, hogy a galéria teljes szélességű legyen ── */
body.river-aloldal #page,
body.river-aloldal #content,
body.river-aloldal #primary,
body.river-aloldal #main {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
    display: block;
}

body.river-aloldal .rs-single {
    background: #EAE4DA;
    color: #211E1A;
    font-family: "Manrope", system-ui, sans-serif;
}

.rs-single,
.rs-single * { box-sizing: border-box; }

.rs-single img { display: block; max-width: 100%; }

.rs-single a { color: #A98C55; text-decoration: none; }
.rs-single a:hover { color: #8A6F3E; }

.rs-wrap { max-width: 1140px; margin: 0 auto; }

/* ── Galéria slider ── */
.rs-gal-band { background: #211E1A; }
.rs-gal { position: relative; aspect-ratio: 16 / 8; min-height: 340px; overflow: hidden; background: #14120F; }
.rs-gal-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .45s ease; }
.rs-gal-slide.is-active { opacity: 1; }
.rs-gal-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(237,231,218,0.35); background: rgba(20,18,15,0.5); color: #EDE7DA; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; transition: all .25s ease; }
.rs-gal-nav:hover { background: #C6A968; color: #211E1A; border-color: #C6A968; }
.rs-gal-nav:focus-visible { outline: 2px solid #E4C989; outline-offset: 2px; }
.rs-gal-prev { left: 20px; }
.rs-gal-next { right: 20px; }
.rs-gal-hud { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 14px; background: rgba(20,18,15,0.55); border: 1px solid rgba(237,231,218,0.18); backdrop-filter: blur(8px); padding: 8px 16px; border-radius: 100px; }
.rs-gal-count { font-size: 13.5px; font-weight: 700; letter-spacing: 0.75px; color: #EDE7DA; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rs-gal-count span { color: #E4C989; }
.rs-gal-sep { width: 1px; height: 14px; background: rgba(237,231,218,0.25); }
.rs-gal-dots { display: flex; align-items: center; gap: 7px; }
.rs-gal-dot { padding: 0; border: none; cursor: pointer; border-radius: 100px; height: 6px; width: 6px; background: rgba(237,231,218,0.42); transition: all .25s ease; }
.rs-gal-dot.is-active { width: 22px; background: #E4C989; }
.rs-gal-dot:focus-visible { outline: 2px solid #E4C989; outline-offset: 3px; }

/* ── Cím + fő tartalom ── */
.rs-main { padding: 44px 0 90px; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 44px; align-items: start; }
.rs-eyebrow { font-size: 12px; letter-spacing: 2.42px; text-transform: uppercase; color: #A98C55; font-weight: 700; margin: 0 0 10px; }
.rs-title { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; font-size: 48px; line-height: 1.05; margin: 0 0 14px; letter-spacing: 0.96px; color: #211E1A; }
.rs-lead { font-size: 17px; line-height: 1.55; color: #5A5346; margin: 0 0 24px; max-width: 620px; }
.rs-lead p { margin: 0 0 12px; }
.rs-lead p:last-child { margin-bottom: 0; }

.rs-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: #EEE7DA; border: 1px solid #DDD3C2; border-radius: 14px; overflow: hidden; }
.rs-stat { background: #fff; padding: 18px 10px; text-align: center; }
.rs-stat-v { font-family: "Cormorant Garamond", Georgia, serif; font-size: 28px; font-weight: 700; color: #3B372F; line-height: 1; }
.rs-stat-l { font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: #8A8175; margin-top: 7px; }

.rs-sec-title { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; font-size: 28px; margin: 40px 0 18px; color: #211E1A; }

.rs-amen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 22px; }
.rs-amen-item { display: flex; align-items: center; gap: 11px; font-size: 16px; color: #3B372F; padding: 9px 0; border-bottom: 1px solid #DFD7C7; }
.rs-amen-ico { flex: none; width: 30px; height: 30px; border-radius: 50%; background: #fff; border: 1px solid #DDD3C2; display: flex; align-items: center; justify-content: center; color: #A98C55; }
.rs-amen-ico svg { width: 16px; height: 16px; }

.rs-rules { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.rs-rule { background: #fff; border: 1px solid #DDD3C2; border-radius: 12px; padding: 16px 18px; }
.rs-rule-l { font-size: 11.5px; letter-spacing: 1.68px; text-transform: uppercase; color: #A98C55; font-weight: 700; margin-bottom: 6px; }
.rs-rule-v { font-size: 16px; font-weight: 600; color: #211E1A; }

.rs-loc { background: #fff; border: 1px solid #DDD3C2; border-radius: 14px; padding: 22px 24px; }
.rs-loc-addr { font-size: 16px; color: #3B372F; font-weight: 600; margin-bottom: 14px; }
.rs-near { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 24px; }
.rs-near-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 15px; color: #5A5346; padding: 6px 0; border-bottom: 1px dashed #E4DBCB; }
.rs-near-d { color: #A98C55; font-weight: 700; white-space: nowrap; }
.rs-loc-map { display: inline-block; margin-top: 14px; font-size: 15px; font-weight: 700; }

/* ── Jobb oldal: foglalási kártyák ── */
.rs-side { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 14px; }
.rs-book { position: relative; background: #211E1A; border-radius: 16px; overflow: hidden; padding: 34px 30px; }
.rs-book-glow { position: absolute; inset: 0; background: radial-gradient(ellipse at 100% 0%, rgba(198,169,104,0.22), transparent 60%); }
.rs-book-line { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, transparent, #C6A968, transparent); }
.rs-book-inner { position: relative; }
.rs-book-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(228,201,137,0.12); border: 1px solid rgba(228,201,137,0.35); color: #E4C989; font-size: 11.5px; font-weight: 700; letter-spacing: 1.68px; text-transform: uppercase; padding: 6px 13px; border-radius: 100px; margin-bottom: 18px; }
.rs-book-title { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; font-size: 32px; line-height: 1.1; color: #FBF7EE; margin: 0 0 10px; }
.rs-book-script { font-family: "Sacramento", "Cormorant Garamond", cursive; font-size: 40px; color: #E4C989; font-weight: 400; }
.rs-book-text { font-size: 15.5px; line-height: 1.55; color: #C9C1B2; margin: 0 0 24px; }
/* A `.rs-single a` szabály (0,1,1) erősebb, mint egy sima `.rs-book-btn` (0,1,0),
   ezért a gomb szövege aranyra váltott az arany háttéren. A `.rs-single`
   előtaggal a fekete betűszín nyer — hoverre és fókuszra is. */
.rs-single .rs-book-btn { display: flex; align-items: center; justify-content: center; gap: 10px; background: #C6A968; color: #211E1A; font-weight: 700; font-size: 17px; padding: 19px 26px; border-radius: 100px; box-shadow: 0 10px 28px rgba(198,169,104,0.32); transition: all .25s ease; }
.rs-single .rs-book-btn:hover,
.rs-single .rs-book-btn:focus { background: #E4C989; color: #211E1A; box-shadow: 0 14px 34px rgba(198,169,104,0.45); }
.rs-single .rs-book-btn:focus-visible { outline: 3px solid #211E1A; outline-offset: 3px; }
.rs-single .rs-book-btn svg { flex: none; }

.rs-perk-card { background: #fff; border: 2px solid #C6A968; border-radius: 16px; overflow: hidden; box-shadow: 0 6px 24px rgba(33,30,26,0.07); }
.rs-perk-head { background: #C6A968; color: #211E1A; padding: 13px 22px; display: flex; align-items: center; gap: 10px; }
.rs-perk-head span { font-size: 12px; font-weight: 800; letter-spacing: 1.68px; text-transform: uppercase; }
.rs-perk-body { padding: 20px 22px 22px; }
.rs-perk-lead { font-size: 16.5px; line-height: 1.5; color: #211E1A; margin: 0 0 16px; font-weight: 600; }
.rs-perk-list { display: flex; flex-direction: column; gap: 1px; }
.rs-perk { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid #EEE7DA; }
.rs-perk-ico { flex: none; width: 28px; height: 28px; border-radius: 50%; background: #F6F1E6; border: 1px solid #E3D8C1; display: flex; align-items: center; justify-content: center; }
.rs-perk-label { font-size: 15px; line-height: 1.4; color: #3B372F; font-weight: 600; }

/* Kapcsolat — a foglalási dobozhoz hasonló súlyú kártya, jól olvasható
   értékekkel (a halvány #5A5346 helyett sötét #211E1A, nagyobb betűvel). */
.rs-contact { background: #fff; border: 2px solid #DDD3C2; border-radius: 16px; padding: 20px 22px 8px; box-shadow: 0 6px 24px rgba(33,30,26,0.07); }
.rs-contact-title { font-size: 12px; letter-spacing: 1.68px; text-transform: uppercase; color: #A98C55; font-weight: 800; margin-bottom: 12px; }
.rs-single .rs-contact-row { display: flex; align-items: center; gap: 13px; padding: 12px 0; border-top: 1px solid #EEE7DA; color: #211E1A; transition: color .2s ease; }
.rs-contact-row:first-of-type { border-top: 0; padding-top: 2px; }
.rs-single .rs-contact-row:hover,
.rs-single .rs-contact-row:focus { color: #8A6F3E; }
.rs-contact-ico { flex: none; width: 36px; height: 36px; border-radius: 50%; background: #F6F1E6; border: 1px solid #E3D8C1; display: flex; align-items: center; justify-content: center; color: #A98C55; }
.rs-contact-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rs-contact-label { font-size: 11.5px; letter-spacing: 1.4px; text-transform: uppercase; color: #8A8175; font-weight: 700; }
.rs-contact-value { font-size: 16px; font-weight: 700; color: inherit; line-height: 1.3; word-break: break-word; }

/* ── Megosztás ── */
.rs-share { background: #fff; border: 1px solid #DDD3C2; border-radius: 14px; padding: 18px 20px; }
.rs-share-title { font-size: 12px; letter-spacing: 1.68px; text-transform: uppercase; color: #A98C55; font-weight: 800; margin-bottom: 13px; }
.rs-share-list { display: flex; flex-wrap: wrap; gap: 9px; }
.rs-single .rs-share-btn { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border-radius: 50%; border: 1px solid #DDD3C2; background: #F6F1E6; color: #3B372F; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.rs-single .rs-share-btn:hover,
.rs-single .rs-share-btn:focus { background: #211E1A; border-color: #211E1A; color: #E4C989; transform: translateY(-2px); outline: none; }
.rs-single .rs-share-btn:focus-visible { outline: 2px solid #A98C55; outline-offset: 2px; }
.rs-single .rs-share-btn--facebook:hover { background: #1877F2; border-color: #1877F2; color: #fff; }
.rs-single .rs-share-btn--whatsapp:hover { background: #25D366; border-color: #25D366; color: #fff; }
.rs-single .rs-share-btn--x:hover        { background: #000; border-color: #000; color: #fff; }
.rs-single .rs-share-btn--copy.is-done   { background: #1a7f37; border-color: #1a7f37; color: #fff; }
.rs-share-feedback { margin: 0; max-height: 0; overflow: hidden; opacity: 0; font-size: 13.5px; font-weight: 700; color: #1a7f37; transition: opacity .2s ease, max-height .2s ease, margin .2s ease; }
.rs-share-feedback.is-visible { opacity: 1; max-height: 40px; margin-top: 11px; }

/* ── Kiemeltek ── */
.rs-highlights { display: grid; gap: 9px; margin: 0 0 26px; }
.rs-highlight { display: flex; align-items: flex-start; gap: 11px; }
.rs-highlight-ico { flex: none; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; background: #fff; border: 1px solid #DDD3C2; display: flex; align-items: center; justify-content: center; color: #A98C55; }
.rs-highlight-text { font-size: 15.5px; line-height: 1.5; color: #5A5346; }
.rs-highlight-text strong { color: #211E1A; font-weight: 700; }
.rs-highlight-text strong + span::before { content: " — "; color: #A98C55; }

/* ── Tablet ── */
@media (max-width: 1024px) {
    .rs-wrap { padding-left: 32px; padding-right: 32px; }
    .rs-main { grid-template-columns: 1fr; gap: 40px; padding-top: 36px; padding-bottom: 64px; }
    .rs-side { position: static; max-width: 560px; }
    .rs-title { font-size: 40px; }
    .rs-gal { aspect-ratio: 16 / 9; }
}

/* ── Mobil ── */
@media (max-width: 767px) {
    .rs-wrap { padding-left: 18px; padding-right: 18px; }
    .rs-main { padding-top: 28px; padding-bottom: 48px; gap: 32px; }
    .rs-title { font-size: 32px; }
    .rs-lead { font-size: 16px; }
    .rs-sec-title { font-size: 24px; }
    .rs-gal { aspect-ratio: 4 / 3; min-height: 260px; }
    .rs-gal-nav { width: 38px; height: 38px; }
    .rs-gal-prev { left: 10px; }
    .rs-gal-next { right: 10px; }
    .rs-gal-hud { bottom: 14px; padding: 6px 12px; gap: 10px; }
    .rs-gal-count { font-size: 12.5px; }
    .rs-stats { grid-template-columns: repeat(3, 1fr); }
    .rs-amen { grid-template-columns: 1fr; }
    .rs-rules { grid-template-columns: 1fr; }
    .rs-near { grid-template-columns: 1fr; }
    .rs-book { padding: 26px 20px; }
    .rs-book-title { font-size: 26px; }
    .rs-book-script { font-size: 30px; }
    .rs-single .rs-book-btn { font-size: 15.5px; padding: 16px 20px; }
    .rs-perk-head { padding: 12px 18px; }
    .rs-perk-body { padding: 16px 18px 18px; }
    .rs-loc { padding: 18px; }
    .rs-contact { padding: 18px 18px 6px; }
    .rs-contact-value { font-size: 15.5px; }
    .rs-highlights { margin-bottom: 22px; }
}

@media (prefers-reduced-motion: reduce) {
    .rs-gal-slide,
    .rs-single .rs-share-btn,
    .rs-single .rs-book-btn { transition: none; }
    .rs-single .rs-share-btn:hover { transform: none; }
}
