/*
Theme Name: NYRA Collection
Theme URI: https://nyra-collection.com
Description: Ultra Luxury All Inclusive Resort - NYRA Resort & Spa Ruegen | v8.3
Author: Puerto Fantasia S. de R.L. de C.V.
Author URI: https://puertofantasia.com
Version: 8.4
License: Private
Text Domain: nyra-collection
*/

/* === TOKENS =============================================== */
:root {
  --bg:        #0c1d3a;  /* exact logo background */
  --bg2:       #0f2244;
  --bg3:       #122550;
  --bg4:       #112338;
  --bg5:       #1a3266;
  --steel:     #1e3a6e;
  --gold:      #c9a84c;
  --gold-l:    #e0c070;
  --gold-dim:  rgba(201,168,76,.22);
  --cream:     #f0ece2;
  --cream2:    #dce6f0;
  --border:    rgba(201,168,76,.14);
  --r:         3px;
  --shadow:    0 16px 56px rgba(0,0,0,.6);
}

/* === RESET ================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Raleway',sans-serif;background:var(--bg);color:var(--cream);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--gold);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-l)}
ul{list-style:none}
address{font-style:normal}

/* === TYPOGRAPHY =========================================== */
.eyebrow{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem}
.eyebrow::before,.eyebrow::after{content:'';flex:0 0 28px;height:1px;background:var(--gold-dim)}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.15}
.section-title{font-size:clamp(2.2rem,4vw,3.4rem);color:var(--cream);margin-bottom:1.3rem}
.section-title em{font-style:italic;color:var(--gold)}
.page-title{font-size:clamp(2.8rem,5vw,4.5rem);color:var(--cream);margin-bottom:1rem}
.page-title em{font-style:italic;color:var(--gold)}
.lead{font-size:1.05rem;font-weight:300;color:#dce6f0;line-height:1.85;max-width:580px}
.lead-wide{font-size:1.05rem;font-weight:300;color:#dce6f0;line-height:1.85}
.gold-rule{width:48px;height:1px;background:var(--gold);margin:1.4rem 0}
p{font-size:1rem;color:#dce6f0;line-height:1.8;margin-bottom:1rem}

/* === LAYOUT =============================================== */
.container{max-width:1240px;margin:0 auto;padding:0 2.5rem}
.container-wide{max-width:1440px;margin:0 auto;padding:0 2.5rem}
.section{padding:8rem 0}
.section-dark{background:var(--bg2);padding:8rem 0}
.section-mid{background:var(--bg3);padding:8rem 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}

/* === BUTTONS ============================================== */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.5rem;font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;border-radius:var(--r);transition:all .25s;cursor:pointer;white-space:nowrap;border:none}
.btn-gold{background:var(--gold);color:var(--bg);font-weight:700}
.btn-gold:hover{background:var(--gold-l);color:var(--bg);transform:translateY(-2px);box-shadow:0 8px 28px rgba(201,168,76,.35)}
.btn-outline{border:1px solid var(--gold);color:var(--gold);background:transparent}
.btn-outline:hover{background:var(--gold);color:var(--bg);transform:translateY(-2px)}
.btn-outline-w{border:1px solid rgba(240,236,226,.35);color:var(--cream);background:transparent}
.btn-outline-w:hover{background:var(--cream);color:var(--bg);transform:translateY(-2px)}
.btn-group{display:flex;flex-wrap:wrap;gap:1.1rem;align-items:center}

/* === NAVIGATION =========================================== */
#nyra-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg);border-bottom:1px solid var(--border);transition:box-shadow .3s}
#nyra-nav.scrolled{box-shadow:0 4px 40px rgba(0,0,0,.7)}
.nav-inner{max-width:1440px;margin:0 auto;padding:0 2.5rem;height:80px;display:flex;align-items:center;gap:1.5rem}
.nav-logo{display:flex;align-items:center;flex-shrink:0}
.nav-logo img{height:58px;width:auto}
.nav-links{display:flex;align-items:center;gap:.1rem;margin-left:auto}
.nav-links>li{position:relative}
.nav-links>li>a{display:flex;align-items:center;gap:.35rem;padding:.5rem .85rem;font-family:'Cinzel',serif;font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(220,230,244,.82);transition:color .2s}
.nav-links>li>a:hover{color:var(--gold)}
.nav-links svg{width:8px;height:8px;opacity:.45}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:210px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:.6rem 0;opacity:0;pointer-events:none;transform:translateY(-6px);transition:all .2s}
.has-dropdown:hover .dropdown{opacity:1;pointer-events:all;transform:translateY(0)}
.dropdown a{display:block;padding:.65rem 1.3rem;font-family:'Cinzel',serif;font-size:.61rem;letter-spacing:.1em;color:#dce6f0;transition:all .15s}
.dropdown a:hover{color:var(--gold);padding-left:1.7rem}
.nav-book{margin-left:.8rem;padding:.65rem 1.5rem;font-family:'Cinzel',serif;font-size:.61rem;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:var(--bg);border-radius:var(--r);font-weight:700;transition:all .2s;flex-shrink:0}
.nav-book:hover{background:var(--gold-l);color:var(--bg)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;margin-left:auto}
.hamburger span{display:block;width:24px;height:1.5px;background:var(--gold);transition:all .3s}
#mobile-menu{display:none;position:fixed;top:80px;left:0;right:0;background:var(--bg);border-top:1px solid var(--border);z-index:999;padding:2rem 2.5rem;max-height:calc(100vh - 80px);overflow-y:auto}
#mobile-menu.open{display:block}
.mobile-links{display:flex;flex-direction:column;gap:.2rem}
.mobile-links a{display:block;padding:.75rem 0;font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.12em;color:#dce6f0;border-bottom:1px solid rgba(201,168,76,.07);transition:color .2s}
.mobile-links a:hover{color:var(--gold)}
.mobile-links .mobile-sub a{padding-left:1.2rem;font-size:.63rem;color:rgba(200,208,220,.5)}
.mobile-book{margin-top:1.8rem;display:flex;justify-content:center}

/* === PAGE HERO (Unterseiten) ============================== */
.page-hero{padding:10rem 0 6rem;background:var(--bg);position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--border)}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.15}
.page-hero-content{position:relative;z-index:2}
.breadcrumb{font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.16em;color:rgba(200,208,220,.45);margin-bottom:1.5rem}
.breadcrumb a{color:var(--gold);opacity:.7}
.breadcrumb a:hover{opacity:1}

/* === HERO (Frontpage) ===================================== */
.nyra-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--bg)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.2;transform:scale(1.03)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(12,29,58,.35) 0%,rgba(12,29,58,.1) 35%,rgba(12,29,58,.55) 75%,var(--bg) 100%)}
.hero-content{position:relative;z-index:2;padding:7rem 2rem 5rem;max-width:960px;width:100%}
.hero-logo-wrap{margin-bottom:3rem;display:flex;justify-content:center}
.hero-logo-wrap img{width:min(340px,70vw);height:auto}
.hero-divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.8rem}
.hero-divider span{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.24em;color:var(--gold)}
.hero-divider::before,.hero-divider::after{content:'';flex:0 0 50px;height:1px;background:var(--gold-dim)}
.nyra-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6rem);font-weight:300;line-height:1.05;color:var(--cream);margin-bottom:1.1rem;letter-spacing:.02em}
.nyra-h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-family:'Cinzel',serif;font-size:clamp(.6rem,1.5vw,.78rem);letter-spacing:.32em;color:var(--gold);margin-bottom:.6rem}
.hero-tagline{font-size:1rem;font-weight:300;color:var(--cream2);margin-bottom:2.8rem;letter-spacing:.04em}
.hero-btns{justify-content:center;margin-bottom:3rem}
.hero-badge{display:inline-flex;align-items:center;gap:.9rem;border:1px solid var(--border);padding:.65rem 1.6rem;font-family:'Cinzel',serif;font-size:.57rem;letter-spacing:.18em;color:var(--gold);border-radius:2px}
.hero-badge .dot{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0}
.hero-wave{position:absolute;bottom:-1px;left:0;right:0;z-index:3}
.hero-wave svg{display:block;width:100%}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--cream2);font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.15em;animation:bounce 2.2s infinite}
.hero-scroll .vl{width:1px;height:32px;background:linear-gradient(to bottom,transparent,var(--gold))}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}

/* === RIBBON =============================================== */
.nyra-ribbon{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.ribbon-grid{max-width:1240px;margin:0 auto;padding:0 2.5rem;display:grid;grid-template-columns:repeat(4,1fr)}
.ribbon-item{padding:2.6rem 1.5rem;text-align:center;border-right:1px solid var(--border);transition:background .3s}
.ribbon-item:last-child{border-right:none}
.ribbon-item:hover{background:rgba(201,168,76,.04)}
.ribbon-num{display:block;font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:var(--gold);line-height:1;margin-bottom:.5rem}
.ribbon-lbl{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.14em;color:var(--cream2);line-height:1.65}

/* === FEATURE LIST ========================================= */
.feature-list{display:flex;flex-direction:column;gap:2px}
.feature-item{background:var(--bg4);padding:1.7rem 1.8rem;display:flex;gap:1.2rem;align-items:flex-start;border-left:2px solid transparent;transition:border-color .3s}
.feature-item:hover{border-left-color:var(--gold)}
.fi-icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}
.fi-label{font-family:'Cinzel',serif;font-size:.63rem;letter-spacing:.16em;color:var(--gold);margin-bottom:.35rem}
.fi-text{font-size:.9rem;font-weight:400;color:#e2ebf4;line-height:1.7}

/* === ROOM CARDS =========================================== */
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:3rem}
.room-card{background:var(--bg4);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;cursor:pointer}
.room-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(201,168,76,.3)}
.room-img{height:240px;background-size:cover;background-position:center;position:relative}
.room-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(12,29,58,.8) 0%,transparent 55%)}
.room-cat{position:absolute;top:1rem;right:1rem;background:var(--gold);color:var(--bg);font-family:'Cinzel',serif;font-size:.54rem;letter-spacing:.14em;padding:.35rem .8rem;border-radius:2px;font-weight:700;z-index:2}
.room-body{padding:1.8rem}
.room-name{font-family:'Cormorant Garamond',serif;font-size:1.65rem;color:var(--cream);margin-bottom:.35rem}
.room-size{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.16em;color:var(--gold);margin-bottom:.5rem}
.room-meta{font-size:.82rem;font-weight:400;color:#dce6f0;line-height:1.6;margin-bottom:.6rem}
.room-desc{font-size:.88rem;font-weight:400;color:#dce6f0;line-height:1.7}
.room-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.1rem;font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:.14em;color:var(--gold);transition:gap .2s}
.room-link:hover{gap:.7rem;color:var(--gold-l)}
.room-link::after{content:'→'}

/* === ROOM DETAIL (Unterseite) ============================= */
.room-detail{display:grid;grid-template-columns:1fr 420px;gap:4rem;align-items:start;margin-bottom:5rem;padding-bottom:5rem;border-bottom:1px solid var(--border)}
.room-detail:last-child{border-bottom:none}
.room-detail-img{height:480px;background-size:cover;background-position:center;border-radius:var(--r);position:relative;overflow:hidden}
.room-detail-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(12,29,58,.4) 0%,transparent 60%)}
.room-equip h4{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.16em;color:var(--gold);margin:1.5rem 0 .7rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.room-equip ul{display:flex;flex-direction:column;gap:.4rem}
.room-equip li{font-size:.88rem;color:var(--cream2);display:flex;align-items:center;gap:.6rem}
.room-equip li::before{content:'✦';color:var(--gold);font-size:.45rem;flex-shrink:0}

/* === RESTAURANTS ========================================== */
.rest-intro{max-width:720px;margin:0 auto 4.5rem;text-align:center}
.restaurant-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--border);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.rest-card{background:var(--bg4);padding:2.2rem 1.4rem;text-align:center;transition:background .3s;cursor:pointer;position:relative}
.rest-card:hover{background:var(--steel)}
.rest-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s}
.rest-card:hover::before{transform:scaleX(1)}
.rest-num{display:block;font-family:'Cormorant Garamond',serif;font-size:.75rem;color:rgba(201,168,76,.3);margin-bottom:.5rem;letter-spacing:.1em}
.rest-name{display:block;font-family:'Cinzel',serif;font-size:.82rem;letter-spacing:.16em;color:var(--cream);margin-bottom:.5rem}
.rest-cuisine{display:block;font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;color:var(--gold);margin-bottom:.7rem}
.rest-desc{font-size:.78rem;font-weight:400;color:#dce6f0;line-height:1.65}
.rest-badge{display:inline-block;margin-top:.9rem;padding:.28rem .7rem;border:1px solid var(--border);font-family:'Cinzel',serif;font-size:.5rem;letter-spacing:.12em;color:var(--gold);border-radius:2px}

/* === REST DETAIL (Unterseite) ============================= */
.rest-detail{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;padding:3.5rem 0;border-bottom:1px solid var(--border)}
.rest-detail:last-child{border-bottom:none}
.rest-detail-img{height:400px;background-size:cover;background-position:center;border-radius:var(--r)}
.rest-detail:nth-child(even) .rest-detail-img{order:2}
.rest-highlight{background:var(--bg4);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem;margin-top:1.5rem}
.rest-highlight-title{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.16em;color:var(--gold);margin-bottom:.8rem}
.rest-highlight-items{display:flex;flex-direction:column;gap:.4rem}
.rest-highlight-item{font-size:.88rem;color:var(--cream2);display:flex;align-items:flex-start;gap:.6rem}
.rest-highlight-item::before{content:'·';color:var(--gold);flex-shrink:0;margin-top:.05rem}

/* === SPA =================================================== */
.spa-split{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
.spa-img{background-size:cover;background-position:center;position:relative}
.spa-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 30%,var(--bg2))}
.spa-content{background:var(--bg2);padding:5.5rem 5rem;display:flex;flex-direction:column;justify-content:center}
.spa-features{margin-top:2.2rem;display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.spa-feat{display:flex;align-items:center;gap:.65rem;font-size:.88rem;color:#e2ebf4}
.spa-feat::before{content:'✦';color:var(--gold);font-size:.45rem;flex-shrink:0}

/* === RÜGEN BANNER ======================================== */
.ruegen-banner{position:relative;padding:9rem 2rem;text-align:center;overflow:hidden}
.ruegen-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.25) saturate(.5)}
.ruegen-content{position:relative;z-index:2;max-width:780px;margin:0 auto}
.ruegen-facts{display:flex;justify-content:center;gap:3.5rem;margin-top:3rem;flex-wrap:wrap}
.ruegen-fact-num{display:block;font-family:'Cormorant Garamond',serif;font-size:2.6rem;color:var(--gold);line-height:1}
.ruegen-fact-lbl{display:block;font-family:'Cinzel',serif;font-size:.56rem;letter-spacing:.14em;color:var(--cream2);margin-top:.35rem}

/* === ALL INCLUSIVE ======================================== */
.ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;margin-top:3.5rem}
.ai-card{background:var(--bg4);border:1px solid var(--border);border-radius:var(--r);padding:2.2rem 1.8rem;text-align:center;transition:transform .3s,border-color .3s}
.ai-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.35)}
.ai-icon{font-size:2.2rem;margin-bottom:1.1rem;display:block}
.ai-title{display:block;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.14em;color:var(--gold);margin-bottom:.65rem}
.ai-text{font-size:.88rem;font-weight:400;color:#dce6f0;line-height:1.7}

/* === GALLERY ============================================== */
.gallery-masonry{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:210px;gap:3px}
.gc{position:relative;overflow:hidden;cursor:pointer}
.gc-wide{grid-column:span 2;grid-row:span 2}
.gc-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s ease}
.gc:hover .gc-bg{transform:scale(1.07)}
.gc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,29,58,.65) 0%,transparent 55%);transition:opacity .3s}
.gc:hover .gc-ov{opacity:.85}
.gc-label{position:absolute;bottom:.9rem;left:1.1rem;font-family:'Cinzel',serif;font-size:.55rem;letter-spacing:.14em;color:rgba(240,236,226,.8);text-transform:uppercase}

/* === CTA =================================================== */
.cta-section{background:var(--bg2);padding:9rem 0}
.cta-inner{max-width:740px;margin:0 auto;text-align:center}
.cta-logo{margin:0 auto 2.8rem;display:flex;justify-content:center}
.cta-logo img{width:200px;height:auto}
.cta-divider{display:flex;align-items:center;justify-content:center;gap:1.2rem;color:var(--gold);font-size:.75rem;margin-bottom:2.8rem}
.cta-divider .dl{flex:0 0 60px;height:1px;background:var(--gold-dim)}
.cta-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,4.5vw,3.8rem);font-weight:300;line-height:1.15;color:var(--cream);margin-bottom:1.3rem}
.cta-h em{font-style:italic;color:var(--gold)}
.cta-p{font-size:1rem;font-weight:300;color:var(--cream2);line-height:1.9;margin-bottom:2.8rem}
.cta-contacts{margin-top:3.2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1.1rem}
.cta-ct{background:var(--bg4);border:1px solid var(--border);border-radius:var(--r);padding:1.1rem 2rem;display:flex;flex-direction:column;gap:.3rem;text-align:center;min-width:185px}
.cta-ct-l{font-family:'Cinzel',serif;font-size:.56rem;letter-spacing:.14em;color:var(--gold)}
.cta-ct-v{font-size:.88rem;color:var(--cream2)}

/* === FOOTER ================================================ */
.nyra-footer{background:var(--bg);border-top:1px solid var(--border)}
.footer-main{max-width:1240px;margin:0 auto;padding:5.5rem 2.5rem 3.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3.5rem}
.footer-logo{margin-bottom:1.3rem}
.footer-logo img{height:95px;width:auto}
.footer-brand-txt{font-size:.88rem;font-weight:300;color:#dce6f0;line-height:1.8;margin-bottom:1.6rem;max-width:290px}
.footer-social{display:flex;gap:.65rem}
.footer-sc{width:38px;height:38px;border:1px solid var(--border);border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:.56rem;color:var(--cream2);transition:all .2s}
.footer-sc:hover{border-color:var(--gold);color:var(--gold)}
.footer-col h4{font-family:'Cinzel',serif;font-size:.64rem;letter-spacing:.16em;color:var(--gold);margin-bottom:1.3rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}
.footer-col ul{display:flex;flex-direction:column;gap:.55rem}
.footer-col a{font-size:.88rem;color:#dce6f0;transition:color .2s}
.footer-col a:hover{color:var(--gold)}
.footer-col address{font-size:.88rem;color:var(--cream2);line-height:1.9}
.footer-bottom{max-width:1240px;margin:0 auto;padding:1.6rem 2.5rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-copy{font-size:.72rem;color:rgba(200,208,220,.3);letter-spacing:.05em}
.footer-legal{display:flex;gap:1.6rem}
.footer-legal a{font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:.1em;color:rgba(200,208,220,.3)}
.footer-legal a:hover{color:var(--gold)}

/* === REVEAL ================================================ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.d1{transition-delay:.1s!important}.d2{transition-delay:.2s!important}
.d3{transition-delay:.3s!important}.d4{transition-delay:.4s!important}

/* === RESPONSIVE ============================================ */
@media(max-width:1100px){
  .nav-links,.nav-book{display:none}
  .hamburger{display:flex}
  .restaurant-grid{grid-template-columns:repeat(3,1fr)}
  .footer-main{grid-template-columns:1fr 1fr}
  .room-detail{grid-template-columns:1fr}
  .room-detail-img{height:320px}
  .rest-detail{grid-template-columns:1fr}
  .rest-detail:nth-child(even) .rest-detail-img{order:0}
}
@media(max-width:768px){
  body{font-size:16px}
  .section,.section-dark,.section-mid{padding:5rem 0}
  .grid-2{grid-template-columns:1fr;gap:3rem}
  .room-grid{grid-template-columns:1fr}
  .ai-grid{grid-template-columns:1fr 1fr}
  .ribbon-grid{grid-template-columns:1fr 1fr}
  .ribbon-item{border-right:none;border-bottom:1px solid var(--border)}
  .restaurant-grid{grid-template-columns:1fr 1fr}
  .spa-split{grid-template-columns:1fr}
  .spa-img{height:280px}
  .spa-img::after{background:linear-gradient(to top,var(--bg2),transparent)}
  .spa-content{padding:3rem 2.5rem}
  .footer-main{grid-template-columns:1fr;gap:2.5rem;padding:3.5rem 2rem}
  .footer-bottom{flex-direction:column;text-align:center}
  .hero-logo-wrap img{width:min(280px,75vw)}
  .gallery-masonry{grid-template-columns:repeat(3,1fr);grid-auto-rows:160px}
  .gc-wide{grid-column:span 2}
}
@media(max-width:480px){
  .restaurant-grid{grid-template-columns:1fr}
  .ai-grid{grid-template-columns:1fr}
  .gallery-masonry{grid-template-columns:repeat(2,1fr)}
  .ruegen-facts{gap:2rem}
}

/* === ROOM CATEGORY SCROLL ================================= */
.room-category-scroll {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 1rem;
  scrollbar-width: thin;
  scrollbar-color: var(--gold-dim) transparent;
  -webkit-overflow-scrolling: touch;
}
.room-category-scroll::-webkit-scrollbar { height: 3px; }
.room-category-scroll::-webkit-scrollbar-track { background: transparent; }
.room-category-scroll::-webkit-scrollbar-thumb { background: var(--gold-dim); border-radius: 2px; }

.rcat-card {
  flex: 0 0 200px;
  text-decoration: none;
  display: block;
  border-radius: var(--r);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform .3s, border-color .3s;
}
.rcat-card:hover {
  transform: translateY(-5px);
  border-color: rgba(201,168,76,.4);
}
.rcat-img {
  height: 160px;
  background-size: cover;
  background-position: center;
}
.rcat-info {
  padding: 1rem;
  background: var(--bg4);
}
.rcat-size {
  font-family: 'Cinzel', serif;
  font-size: .56rem;
  letter-spacing: .14em;
  color: var(--gold);
  margin-bottom: .3rem;
}
.rcat-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  color: var(--cream);
}

/* === PAGE HERO FIX ======================================== */
.page-hero { padding-top: 120px; }


/* === ICON PLACEHOLDERS (bis echte Icons kommen) =========== */
.ai-icon-num {
  display: block;
  width: 44px;
  height: 44px;
  border: 1px solid var(--gold-dim);
  border-radius: 50%;
  margin: 0 auto 1.1rem;
  position: relative;
}
.ai-icon-num::before {
  content: '';
  display: block;
  width: 16px;
  height: 1px;
  background: var(--gold);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.fi-no-icon {
  font-family: 'Cinzel', serif;
  font-size: .6rem;
  letter-spacing: .1em;
  color: var(--gold);
  background: transparent;
  border: 1px solid var(--gold-dim);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: .55rem;
}

/* === RESTAURANT LOGOS ===================================== */
.rest-logo-wrap {
  margin-bottom: 1.8rem;
}
.rest-logo-wrap img {
  max-height: 120px;
  max-width: 240px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1) opacity(0.92);
  transition: opacity .3s;
}
.rest-logo-wrap img:hover {
  opacity: 1;
}

/* === RESTAURANT PAGE - LOGO GRID OVERVIEW ================ */
.rest-logo-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: var(--r);
  overflow: hidden;
  margin-top: 2.5rem;
}
.rest-logo-tile {
  background: var(--bg4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.2rem;
  text-decoration: none;
  transition: background .3s;
  gap: .8rem;
  border-top: 2px solid transparent;
  transition: all .3s;
}
.rest-logo-tile:hover {
  background: var(--steel);
  border-top-color: var(--gold);
}
.rest-logo-tile img {
  max-height: 80px;
  max-width: 140px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1) opacity(.85);
  transition: opacity .3s;
}
.rest-logo-tile:hover img { opacity: 1; }
.rlt-time {
  font-family: 'Cinzel', serif;
  font-size: .5rem;
  letter-spacing: .14em;
  color: var(--gold);
  text-transform: uppercase;
}

/* === RESTAURANT DETAIL SECTIONS ========================== */
.rest-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
  margin-bottom: 3px;
  border-radius: var(--r);
  overflow: hidden;
}
.rest-section-img {
  background-size: cover;
  background-position: center;
  position: relative;
  min-height: 400px;
}
.rest-section-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(12,29,58,.6) 0%, transparent 60%);
}
.rest-section-num {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  font-family: 'Cormorant Garamond', serif;
  font-size: 4rem;
  font-weight: 300;
  color: rgba(201,168,76,.25);
  line-height: 1;
  z-index: 2;
}
.rest-section-content {
  background: var(--bg4);
  padding: 3.5rem 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid var(--border);
}
.rest-section-content.flip {
  order: -1;
  border-left: none;
  border-right: 1px solid var(--border);
}
.rest-logo-display {
  margin-bottom: 1.5rem;
}
.rest-logo-display img {
  max-height: 110px;
  max-width: 220px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1) opacity(.9);
}
.rest-meta-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.rest-tag {
  background: var(--gold);
  color: var(--bg);
  font-family: 'Cinzel', serif;
  font-size: .5rem;
  letter-spacing: .14em;
  padding: .28rem .7rem;
  border-radius: 2px;
  font-weight: 700;
}
.rest-cuisine-small {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-style: italic;
  color: var(--cream2);
}
.rest-highlights-box {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 1.3rem 1.5rem;
  margin-top: .5rem;
}
.rest-hl-item {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .5rem 0;
  font-size: .95rem;
  color: var(--cream2);
  border-bottom: 1px solid rgba(201,168,76,.05);
}
.rest-hl-item:last-child { border-bottom: none; }
.rest-hl-dot {
  width: 5px;
  height: 5px;
  background: var(--gold);
  border-radius: 50%;
  flex-shrink: 0;
}

/* === RESPONSIVE =========================================== */
@media(max-width:900px) {
  .rest-logo-grid { grid-template-columns: repeat(3, 1fr); }
  .rest-section { grid-template-columns: 1fr; }
  .rest-section-img { min-height: 260px; }
  .rest-section-content { padding: 2.5rem 2rem; }
  .rest-section-content.flip { order: 0; }
}
@media(max-width:500px) {
  .rest-logo-grid { grid-template-columns: repeat(2, 1fr); }
}

/* === ROOM EQUIPMENT GRID ================================== */
.room-equip-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: var(--r);
  overflow: hidden;
  margin-top: 2.5rem;
}
.req-item {
  background: var(--bg4);
  padding: 1.2rem 1.4rem;
  display: flex;
  align-items: center;
  gap: .7rem;
  font-family: 'Cinzel', serif;
  font-size: .62rem;
  letter-spacing: .1em;
  color: var(--cream2);
  transition: background .3s;
}
.req-item:hover { background: var(--bg5); }
.req-dot {
  width: 5px; height: 5px;
  background: var(--gold);
  border-radius: 50%;
  flex-shrink: 0;
}
@media(max-width:900px) { .room-equip-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:500px) { .room-equip-grid { grid-template-columns: 1fr; } }

/* === FOOTER REDESIGN ====================================== */

/* Pre-footer CTA strip */
.footer-cta-strip {
  background: var(--bg3);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 3rem 0;
}
.footer-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}
.footer-cta-logo {
  height: 72px;
  width: auto;
  flex-shrink: 0;
}
.footer-cta-text {
  flex: 1;
  min-width: 200px;
}
.footer-cta-text .eyebrow { margin-bottom: .5rem; justify-content: flex-start; }

/* Footer body */
.footer-body {
  background: var(--bg2);
  padding: 5rem 0 3rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 5rem;
  align-items: start;
}

/* Brand column */
.footer-brand-col { display: flex; flex-direction: column; gap: 1.5rem; }
.footer-logo img { height: 90px; width: auto; }
.footer-tagline {
  font-family: 'Cinzel', serif;
  font-size: .6rem;
  letter-spacing: .16em;
  color: var(--gold);
  line-height: 1.8;
}
.footer-address {
  font-size: .85rem;
  color: var(--cream2);
  line-height: 1.9;
}
.footer-address a { color: var(--cream2); transition: color .2s; }
.footer-address a:hover { color: var(--gold); }
.footer-social { display: flex; gap: .6rem; }
.footer-sc {
  width: 36px; height: 36px;
  border: 1px solid var(--border);
  border-radius: 2px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Cinzel', serif; font-size: .54rem;
  color: var(--cream2); transition: all .2s;
}
.footer-sc:hover { border-color: var(--gold); color: var(--gold); }

/* Links column — 2 sub-columns */
.footer-links-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  padding-top: .5rem;
}
.footer-links-title {
  font-family: 'Cinzel', serif;
  font-size: .62rem;
  letter-spacing: .16em;
  color: var(--gold);
  margin-bottom: 1.2rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid var(--border);
}
.footer-links-col ul { display: flex; flex-direction: column; gap: .5rem; }
.footer-links-col a {
  font-size: .82rem;
  color: var(--cream2);
  transition: color .2s, padding-left .15s;
  display: block;
}
.footer-links-col a:hover { color: var(--gold); padding-left: .3rem; }

/* Bottom bar */
.footer-bar {
  background: var(--bg);
  border-top: 1px solid var(--border);
  padding: 1.4rem 0;
}
.footer-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .8rem;
}
.footer-copy {
  font-size: .68rem;
  color: rgba(158,170,187,.3);
  letter-spacing: .05em;
}

/* Responsive */
@media(max-width:900px) {
  .footer-grid { grid-template-columns: 1fr; gap: 3rem; }
  .footer-cta-inner { flex-direction: column; text-align: center; }
  .footer-cta-text .eyebrow { justify-content: center; }
}
@media(max-width:600px) {
  .footer-links-col { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bar-inner { flex-direction: column; text-align: center; }
}

/* === FOOTER COMPACT REDESIGN ============================== */

/* Remove old footer styles - override */
.footer-body { background: var(--bg2); padding: 4rem 0 2.5rem; }
.footer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3rem;
}

/* Divider line at top */
.footer-divider-line {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3rem;
  position: relative;
}
.footer-divider-line::before,
.footer-divider-line::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border);
}
.footer-divider-dot {
  font-size: .65rem;
  color: var(--gold);
  padding: 0 1rem;
}

/* Column blocks */
.footer-col-block {}
.footer-col-title {
  font-family: 'Cinzel', serif;
  font-size: .58rem;
  letter-spacing: .18em;
  color: var(--cream2);
  text-transform: uppercase;
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--border);
}

/* Contact block */
.footer-contact-block {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin-bottom: 1.2rem;
}
.footer-contact-block p {
  font-size: .88rem;
  color: rgba(158,170,187,.55);
  line-height: 1.7;
  margin: 0;
}
.footer-contact-block a {
  font-size: .88rem;
  color: rgba(158,170,187,.55);
  transition: color .2s;
}
.footer-contact-block a:hover { color: var(--gold); }

/* Social icons — SVG */
.footer-social { display: flex; gap: .7rem; margin-top: .5rem; }
.footer-sc {
  width: 36px; height: 36px;
  border: 1px solid rgba(201,168,76,.25);
  border-radius: 2px;
  display: flex; align-items: center; justify-content: center;
  color: rgba(158,170,187,.5);
  transition: all .25s;
  text-decoration: none;
}
.footer-sc svg { width: 16px; height: 16px; }
.footer-sc:hover { border-color: var(--gold); color: var(--gold); }

/* Link list — compact */
.footer-link-list {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  list-style: none;
}
.footer-link-list a {
  font-size: .88rem;
  color: rgba(158,170,187,.55);
  transition: color .2s;
  display: block;
}
.footer-link-list a:hover { color: var(--gold); }

/* Bottom bar */
.footer-bar {
  background: var(--bg);
  border-top: 1px solid var(--border);
  padding: 1.2rem 0;
}
.footer-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .6rem;
}
.footer-copy {
  font-size: .64rem;
  color: rgba(158,170,187,.25);
  letter-spacing: .04em;
}

/* === PAGE CLOSING STRIP =================================== */
.page-closing-strip {
  background: var(--bg3);
  border-top: 1px solid var(--border);
  padding: 3rem 0;
}
.pcs-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}
.pcs-inner .eyebrow { margin-bottom: .5rem; }

/* === RESPONSIVE FOOTER ==================================== */
@media(max-width:900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer-col-block:first-child { grid-column: 1 / -1; }
  .pcs-inner { flex-direction: column; text-align: center; }
  .pcs-inner .eyebrow { justify-content: center; }
}
@media(max-width:500px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .footer-col-block:first-child { grid-column: 1 / -1; }
  .footer-bar-inner { flex-direction: column; text-align: center; }
  .footer-link-list a { font-size: .82rem; }
}

/* === ACTIVE/ANIMATED REPLACEMENTS FOR BLUE BOXES ========= */

/* Feature items - left border animation instead of box */
.feature-item {
  background: transparent !important;
  border-left: 2px solid var(--border);
  padding: 1.2rem 1.4rem;
  transition: border-color .3s, padding-left .3s;
}
.feature-item:hover {
  border-left-color: var(--gold);
  padding-left: 2rem;
}

/* AI cards - transparent with hover reveal */
.ai-card {
  background: transparent !important;
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.ai-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(201,168,76,.06) 0%, transparent 60%);
  opacity: 0;
  transition: opacity .3s;
}
.ai-card:hover::before { opacity: 1; }
.ai-card:hover { border-color: rgba(201,168,76,.4); }

/* Rest cards - no flat bg */
.rest-section-content {
  background: linear-gradient(to right, var(--bg3), var(--bg2)) !important;
}

/* Room cards - slightly more transparent */
.room-card { background: rgba(22,46,92,.6) !important; }

/* Animated gold underline for section titles */
.section-title {
  position: relative;
  display: inline-block;
}

/* Ribbon items - more transparent */
.ribbon-item { background: transparent !important; }

/* Page hero - more vibrant blue overlay */
.page-hero {
  background: var(--bg) !important;
  padding-top: 120px !important;
  padding-bottom: 5rem !important;
}
.page-hero-bg {
  opacity: .18 !important;
}

/* Smooth scroll animation for anchor links */
html { scroll-behavior: smooth; }

/* Hover zoom on images */
.rest-section-img,
.room-detail-img,
.spa-img,
.ruegen-bg {
  transition: transform .6s ease !important;
}
.rest-section:hover .rest-section-img,
.room-detail:hover .room-detail-img {
  transform: scale(1.03);
}

/* Gold shimmer animation on headings */
@keyframes goldShimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.section-title em, .page-title em, .nyra-h1 em {
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-l) 45%, var(--gold) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: goldShimmer 4s linear infinite;
}

/* === NYRA ICONS =========================================== */
.nyra-icon {
  width: 56px;
  height: 56px;
  object-fit: contain;
  display: block;
  margin: 0 auto 1.2rem;
  opacity: .9;
  filter: drop-shadow(0 2px 8px rgba(201,168,76,.2));
  transition: transform .3s, opacity .3s;
}
.ai-card:hover .nyra-icon {
  transform: scale(1.1);
  opacity: 1;
}

/* =========================================================
   STICKY NAV — transparent → solid on scroll
   ========================================================= */
.nyra-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: transparent;
  transition: background .35s ease, box-shadow .35s ease, padding .35s ease;
  padding: 1.4rem 0;
}
.nyra-nav.scrolled {
  background: rgba(12,29,58,.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 40px rgba(0,0,0,.35);
  padding: .8rem 0;
}
.nyra-nav.mobile-open {
  background: rgba(12,29,58,.99);
}
.nav-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.nav-logo img {
  height: 52px;
  width: auto;
  display: block;
  transition: height .35s;
}
.nyra-nav.scrolled .nav-logo img { height: 40px; }

/* Desktop links */
.nav-links {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  list-style: none;
}
.nav-links > li > a {
  font-family: 'Cinzel', serif;
  font-size: .58rem;
  letter-spacing: .14em;
  color: var(--cream2);
  transition: color .2s;
  white-space: nowrap;
}
.nav-links > li > a:hover { color: var(--gold); }

/* Dropdown */
.has-dropdown { position: relative; }
.nav-dropdown {
  position: absolute;
  top: calc(100% + .8rem);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(12,29,58,.98);
  border: 1px solid var(--border);
  border-radius: 3px;
  min-width: 220px;
  padding: .6rem 0;
  list-style: none;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(8px);
  transition: opacity .2s, transform .2s;
  backdrop-filter: blur(12px);
}
.has-dropdown:hover .nav-dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown a {
  display: block;
  padding: .6rem 1.4rem;
  font-family: 'Cinzel', serif;
  font-size: .56rem;
  letter-spacing: .12em;
  color: var(--cream2);
  transition: color .15s, background .15s;
}
.nav-dropdown a:hover {
  color: var(--gold);
  background: rgba(201,168,76,.06);
}

/* Nav CTA */
.nav-cta {
  font-size: .58rem !important;
  padding: .55rem 1.2rem !important;
  white-space: nowrap;
}
.nav-right { display: flex; align-items: center; gap: 1rem; }

/* Arrow on buttons */
.btn-arrow {
  display: inline-block;
  margin-left: .4rem;
  transition: transform .2s;
}
.btn:hover .btn-arrow { transform: translateX(4px); }

/* Burger */
.nav-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: .4rem;
}
.nav-burger span {
  display: block;
  width: 24px; height: 2px;
  background: var(--cream2);
  transition: all .3s;
  transform-origin: center;
}
.nav-burger[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.nav-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-burger[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Mobile menu */
.nav-mobile {
  display: none;
  background: rgba(12,29,58,.99);
  border-top: 1px solid var(--border);
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease, padding .3s;
}
.nav-mobile.open {
  max-height: 90vh;
  overflow-y: auto;
  padding: 1rem 0 2rem;
}
.nav-mobile ul { list-style: none; }
.nav-mobile a {
  display: block;
  padding: .8rem 2rem;
  font-family: 'Cinzel', serif;
  font-size: .62rem;
  letter-spacing: .14em;
  color: var(--cream2);
  border-bottom: 1px solid rgba(201,168,76,.06);
  transition: color .2s;
}
.nav-mobile a:hover { color: var(--gold); }
.nav-mobile li:last-child a {
  color: var(--gold);
  margin-top: .5rem;
}

/* Page hero fix with sticky nav */
.page-hero { padding-top: 140px; }

/* Responsive nav */
@media(max-width:1100px) {
  .nav-links { gap: 1.2rem; }
}
@media(max-width:900px) {
  .nav-links { display: none; }
  .nav-burger { display: flex; }
  .nav-mobile { display: block; }
}

/* =========================================================
   RÜGEN DESTINATION SECTION
   ========================================================= */
.ruegen-section {
  position: relative;
  overflow: hidden;
  min-height: 560px;
  display: flex;
  align-items: center;
}
.ruegen-bg {
  position: absolute;
  inset: 0;
  background-image: url('');
  background-size: cover;
  background-position: center;
  transform: scale(1.08);
  transition: transform 8s ease;
}
.ruegen-section:hover .ruegen-bg { transform: scale(1.0); }
.ruegen-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(12,29,58,.92) 0%, rgba(12,29,58,.6) 50%, transparent 100%);
}
.ruegen-content {
  position: relative;
  z-index: 2;
  max-width: 580px;
  padding: 4rem 0;
}
.ruegen-facts {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.ruegen-fact-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.2rem;
  font-weight: 300;
  color: var(--gold);
  display: block;
  line-height: 1;
}
.ruegen-fact-lbl {
  font-family: 'Cinzel', serif;
  font-size: .52rem;
  letter-spacing: .12em;
  color: var(--cream2);
  display: block;
  margin-top: .3rem;
}

/* =========================================================
   NEWSLETTER FOOTER BLOCK
   ========================================================= */
.footer-newsletter {
  border-top: 1px solid var(--border);
  padding: 2rem 0;
  margin-top: 2.5rem;
}
.footer-newsletter-inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer-nl-text {
  font-family: 'Cinzel', serif;
  font-size: .6rem;
  letter-spacing: .14em;
  color: var(--cream2);
}
.footer-nl-form {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.footer-nl-form input[type="email"] {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 2px;
  padding: .65rem 1rem;
  color: var(--cream);
  font-family: 'Raleway', sans-serif;
  font-size: .82rem;
  min-width: 240px;
  outline: none;
  transition: border-color .2s;
}
.footer-nl-form input[type="email"]:focus { border-color: var(--gold); }
.footer-nl-form button {
  padding: .65rem 1.4rem;
  font-size: .58rem;
}

/* === LESBARKEIT & KONTRAST VERBESSERUNGEN ================
   v5.9 — größere Fließtexte, besserer Kontrast
   ========================================================= */

/* Basis-Fließtext */
body { font-size: 17px; line-height: 1.75; }

/* Alle Beschreibungstexte */
.lead-wide  { font-size: 1.05rem !important; line-height: 1.8; color: var(--cream2); }
.lead       { font-size: 1.15rem !important; line-height: 1.75; }

/* Karten-Texte */
.ai-text    { font-size: .95rem !important; line-height: 1.75; }
.room-desc  { font-size: 1rem !important; }

/* Listen in Karten */
.rest-hl-item,
.room-equip li,
.spa-feat    { font-size: .95rem !important; line-height: 1.7; }

/* Footer */
.footer-link-list a,
.footer-contact-block a,
.footer-contact-block p { font-size: .88rem !important; }
.footer-copy { font-size: .72rem !important; color: rgba(158,170,187,.45) !important; }

/* Kontrast cream2 global */
:root { --cream2: #c8d4e0; }

/* Adresse Anfragen-Seite */
address,
.footer-address { font-size: .9rem !important; line-height: 1.9; }

/* Zimmerausstattungs-Grid */
.req-item { font-size: .65rem !important; }

/* Breadcrumb */
.breadcrumb, .breadcrumb a { font-size: .8rem !important; }

/* Mobile: Schriften etwas größer */
@media(max-width:600px) {
  .lead-wide  { font-size: 1rem !important; }
  .lead       { font-size: 1.05rem !important; }
  .ai-text    { font-size: .92rem !important; }
  .section-title { font-size: clamp(1.8rem, 6vw, 2.4rem) !important; }
  .page-title    { font-size: clamp(2.2rem, 8vw, 3.5rem) !important; }
  .rest-hl-item  { font-size: .9rem !important; }
  .footer-link-list a { font-size: .9rem !important; }
}

/* ============================================================
   v8.3 — NEUE HERO STRUKTUR
   ============================================================ */
.nyra-hero-new { display:flex; flex-direction:column; }

.hero-logo-block {
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5rem 2rem 4rem;
  border-bottom: 1px solid var(--border);
}
.hero-logo-inner { text-align: center; }
.hero-logo-main {
  width: min(320px, 65vw);
  height: auto;
  display: block;
  margin: 0 auto;
}

.hero-panorama {
  width: 100%;
  height: 320px;
  background-size: cover;
  background-position: center 35%;
  flex-shrink: 0;
}
@media(max-width:768px){ .hero-panorama { height: 220px; } }

.hero-text-block {
  background: var(--bg);
  padding: 5rem 0 5rem;
  text-align: center;
}
.hero-text-inner { max-width: 700px; margin: 0 auto; }
.hero-eyebrow {
  font-family: 'Cinzel', serif;
  font-size: .6rem;
  letter-spacing: .22em;
  color: var(--gold);
  margin-bottom: 1.2rem;
}
.hero-headline {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.4rem, 6vw, 4.2rem);
  font-weight: 300;
  color: var(--cream);
  line-height: 1.15;
  margin-bottom: 1.2rem;
}
.hero-headline em { color: var(--gold); font-style: italic; }
.hero-sub-text {
  font-family: 'Cinzel', serif;
  font-size: .62rem;
  letter-spacing: .18em;
  color: var(--cream2);
  margin-bottom: 2.5rem;
}
.hero-new-btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ============================================================
   v8.3 — RIBBON VERBESSERT
   ============================================================ */
.ribbon-item { padding: 2.8rem 1.5rem; }
.ribbon-num {
  font-size: 3.4rem;
  margin-bottom: .7rem;
}
.ribbon-lbl {
  font-size: .68rem;
  letter-spacing: .16em;
  color: var(--cream);
  line-height: 1.5;
  white-space: nowrap;
}
@media(max-width:600px){
  .ribbon-lbl { white-space: normal; font-size: .62rem; }
  .ribbon-num { font-size: 2.6rem; }
}

/* ============================================================
   v8.3 — PHILOSOPHIE BILD
   ============================================================ */
.phil-img {
  width: 100%;
  height: 420px;
  background-size: cover;
  background-position: center;
  border-radius: 0;
  overflow: hidden;
}
@media(max-width:768px){ .phil-img { height: 280px; margin-top: 2rem; } }

/* ============================================================
   v8.3 — ZIMMER SPLIT
   ============================================================ */
.rooms-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}
@media(max-width:768px){ .rooms-split { grid-template-columns: 1fr; } }

.rooms-block {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 2px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .3s;
}
.rooms-block:hover { border-color: rgba(201,168,76,.4); }

.rooms-block-img {
  height: 260px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
  border-radius: 0;
}
.rooms-block-content {
  padding: 2rem 1.8rem 2.2rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.rooms-block-content h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--cream);
  margin: .5rem 0 .8rem;
}
.rooms-block-content p {
  font-size: .95rem;
  color: var(--cream2);
  line-height: 1.7;
  margin-bottom: 1.2rem;
  flex: 1;
}
.rooms-cats {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1.5rem;
}
.rooms-cats span {
  font-family: 'Cinzel', serif;
  font-size: .54rem;
  letter-spacing: .1em;
  color: var(--gold);
  border: 1px solid var(--border);
  padding: .3rem .7rem;
  border-radius: 2px;
}

/* ============================================================
   v8.3 — ALL INCLUSIVE KACHELN
   ============================================================ */
.ai-grid-new {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media(max-width:900px){ .ai-grid-new { grid-template-columns: 1fr 1fr; } }
@media(max-width:520px){ .ai-grid-new { grid-template-columns: 1fr; } }

.ai-kachel {
  background: var(--bg3);
  border: 2px solid var(--border);
  border-radius: var(--r);
  padding: 2.2rem 1.8rem;
  transition: border-color .3s, transform .3s;
}
.ai-kachel:hover {
  border-color: rgba(201,168,76,.5);
  transform: translateY(-4px);
}
.ai-kachel-num {
  font-family: 'Cinzel', serif;
  font-size: .58rem;
  letter-spacing: .2em;
  color: var(--gold);
  margin-bottom: .8rem;
}
.ai-kachel-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  color: var(--cream);
  margin-bottom: .7rem;
  line-height: 1.3;
}
.ai-kachel-text {
  font-size: .9rem;
  color: var(--cream2);
  line-height: 1.7;
}

/* ============================================================
   v8.3 — RESTAURANT LOGO GRID
   ============================================================ */
.rest-logo-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  align-items: stretch;
}
.rest-logo-grid a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 4px;
  padding: 1rem;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  transition: box-shadow .3s, transform .3s;
}
.rest-logo-grid a:hover {
  box-shadow: 0 4px 20px rgba(201,168,76,.35);
  transform: translateY(-3px);
}
.rest-logo-grid img {
  width: 85%;
  height: 85%;
  object-fit: contain;
  display: block;
}
@media(max-width:768px){
  .rest-logo-grid { grid-template-columns: repeat(3,1fr); }
}
@media(max-width:480px){
  .rest-logo-grid { grid-template-columns: repeat(2,1fr); }
}

/* ============================================================
   v8.3 — RÜGEN DESTINATION
   ============================================================ */
.ruegen-section {
  position: relative;
  padding: 7rem 0;
  overflow: hidden;
}
.ruegen-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.ruegen-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(12,29,58,.92) 0%, rgba(12,29,58,.75) 60%, rgba(12,29,58,.5) 100%);
}
.ruegen-content {
  position: relative;
  z-index: 2;
  padding-left: 2rem;
  padding-right: 2rem;
}
.ruegen-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin: 2.5rem 0 2.5rem;
}
@media(max-width:700px){
  .ruegen-stats { grid-template-columns: repeat(2,1fr); }
}
.ruegen-stat { text-align: left; }
.ruegen-num {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.2rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: .35rem;
}
.ruegen-lbl {
  font-family: 'Cinzel', serif;
  font-size: .55rem;
  letter-spacing: .13em;
  color: var(--cream2);
  line-height: 1.5;
}

/* ============================================================
   v8.3 — GALERIE CURATED
   ============================================================ */
.gallery-curated {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 280px 220px;
  gap: 8px;
}
.gc-item {
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  display: block;
  border-radius: 3px;
  text-decoration: none;
}
.gc-item.gc-wide { grid-column: span 2; }
.gc-item span {
  position: absolute;
  bottom: 1rem;
  left: 1.2rem;
  font-family: 'Cinzel', serif;
  font-size: .56rem;
  letter-spacing: .16em;
  color: #fff;
  background: rgba(12,29,58,.65);
  padding: .3rem .7rem;
  border-radius: 2px;
  opacity: 0;
  transition: opacity .3s;
}
.gc-item:hover span { opacity: 1; }
.gc-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(12,29,58,0);
  transition: background .3s;
}
.gc-item:hover::after { background: rgba(12,29,58,.18); }

@media(max-width:768px){
  .gallery-curated {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(4, 180px);
  }
  .gc-item.gc-wide { grid-column: span 2; }
  .gc-item span { opacity: 1; }
}

/* ============================================================
   v8.3 — CLOSING STRIP
   ============================================================ */
.closing-strip {
  background: var(--bg2);
  padding: 7rem 0;
  border-top: 1px solid var(--border);
}

/* ============================================================
   v8.3 — ALIGN CENTER HELPER
   ============================================================ */
.align-center { align-items: center; }


/* ============================================================
   v8.3 — FULL GALLERY PAGE
   ============================================================ */
.full-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 280px;
  gap: 8px;
}
.fg-item {
  background-size: cover;
  background-position: center;
  border-radius: 3px;
  transition: transform .4s;
}
.fg-item:hover { transform: scale(1.01); }
.fg-item.fg-wide { grid-column: span 2; }

@media(max-width:768px){
  .full-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 200px; }
  .fg-item.fg-wide { grid-column: span 2; }
}
@media(max-width:480px){
  .full-gallery { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .fg-item.fg-wide { grid-column: span 1; }
}

/* ============================================================
   v8.3 — BUTTON CENTERING & MISC FIXES
   ============================================================ */
.section .btn,
.section-dark .btn,
.section-mid .btn {
  display: inline-block;
}
/* Rooms-block buttons always full width on mobile */
@media(max-width:600px){
  .rooms-block-content .btn { width: 100%; text-align: center; }
  .hero-new-btns { flex-direction: column; align-items: center; }
  .hero-new-btns .btn { width: 80%; text-align: center; }
}

/* ============================================================
   v6.4 — FIXES
   ============================================================ */

/* Pulsierender Gold-Button für "Was ist inklusive?" */
.btn-outline-gold-pulse {
  display: inline-block;
  font-family: 'Cinzel', serif;
  font-size: .65rem;
  letter-spacing: .2em;
  padding: 1rem 2rem;
  border: 1px solid var(--gold);
  color: var(--gold);
  text-decoration: none;
  transition: all .3s;
  position: relative;
  overflow: hidden;
  background: transparent;
  animation: pulse-gold 2.5s infinite;
}
.btn-outline-gold-pulse:hover {
  background: var(--gold);
  color: var(--bg);
  animation: none;
}
@keyframes pulse-gold {
  0%   { box-shadow: 0 0 0 0 rgba(201,168,76,.4); }
  50%  { box-shadow: 0 0 0 8px rgba(201,168,76,.0); }
  100% { box-shadow: 0 0 0 0 rgba(201,168,76,.0); }
}

/* Kein Gap vor Rügen */
.ruegen-section { margin-top: 0 !important; }

/* Restaurant Logos section kein extra bottom padding */
.section-dark + .ruegen-section { margin-top: 0; }


/* ============================================================
   v6.5 — GLOBAL BILD-FIX: Keine weißen Ränder
   ============================================================ */

/* Alle Bild-Container: overflow hidden, kein border, kein outline */
.phil-img,
.rooms-block-img,
.gc-item,
.fg-item,
.page-hero-bg,
.hero-panorama,
.ruegen-bg,
.rcat-img,
.rcat-card,
.rooms-block {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

.phil-img,
.rooms-block-img,
.gc-item,
.fg-item,
.ruegen-bg {
  background-color: var(--bg) !important;
  overflow: hidden !important;
}

/* Bilder selbst: immer cover, niemals weiße Lücken */
.phil-img,
.rooms-block-img,
.gc-item,
.fg-item,
.ruegen-bg,
.hero-panorama,
.page-hero-bg {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* img Tags: nie über Container hinaus */
img {
  display: block;
  max-width: 100%;
}

/* Galerie: keine gaps/borders zwischen Kacheln */
.gallery-curated,
.full-gallery {
  background: var(--bg);
  gap: 4px;
}

/* rooms-block: overflow hidden damit Bild nicht übersteht */
.rooms-block {
  overflow: hidden;
}
.rooms-block-img {
  background-color: var(--bg3);
  flex-shrink: 0;
}


/* ============================================================
   v6.6 — BILDER EDGE-TO-EDGE AUF MOBILE
   ============================================================ */

/* Phil-img auf Mobile: bricht aus Container aus */
@media(max-width:900px) {
  .grid-2 .phil-img {
    margin-left: calc(-1 * var(--container-pad, 2rem));
    margin-right: calc(-1 * var(--container-pad, 2rem));
    width: calc(100% + 2 * var(--container-pad, 2rem));
    border-radius: 0 !important;
  }
  /* Grid auf Mobile: Bild-Spalte kommt vor Text */
  .grid-2.align-center {
    display: flex;
    flex-direction: column;
  }
  .grid-2.align-center > .reveal.d1 {
    order: -1;
  }
}

/* Alle phil-img: keine Border, keine Outline, kein Shadow */
.phil-img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  display: block;
}

/* Container padding Variable setzen */
.container {
  --container-pad: 2rem;
  padding-left: var(--container-pad);
  padding-right: var(--container-pad);
}

/* Rooms-block-img: weißer Rand unterhalb fixen */
.rooms-block-img {
  border-bottom: none !important;
  outline: none !important;
  margin-bottom: 0 !important;
  display: block;
}

/* Alle background-image Divs: keine weißen Linien */
[style*="background-image"] {
  border: none !important;
  outline: none !important;
}

/* Entertainment + Spa Bilder mobile: volle Breite */
@media(max-width:900px) {
  .section-dark .grid-2 .phil-img,
  .section .grid-2 .phil-img {
    margin-left: -2rem;
    margin-right: -2rem;
    width: calc(100% + 4rem);
    border-radius: 0 !important;
    height: 300px;
  }
}


/* Rooms-block auf Mobile: volle Breite, kein seitlicher Abstand */
@media(max-width:768px) {
  .rooms-split {
    gap: 2rem;
  }
  .rooms-block {
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
  }
  .rooms-block-img {
    height: 280px;
    margin: 0 !important;
  }
  /* Rooms-block: volle Container-Breite */
  .rooms-split .rooms-block {
    margin-left: 0;
    margin-right: 0;
  }
}

/* Galerie labels immer sichtbar auf mobile */
@media(max-width:768px) {
  .gc-item span { opacity: 1 !important; }
}


/* ============================================================
   v6.7 — MARE & HAVEN Logo-Hintergründe
   ============================================================ */
/* MARE: cremefarbener Hintergrund passend zum Logo */
.rest-logo-grid a:has(img[alt="MARE Pool & Juice Bar"]) {
  background: #f5ede0;
}
/* HAVEN: dunkler Hintergrund passend zum Logo */
.rest-logo-grid a:has(img[alt="HAVEN Lobby Bar"]) {
  background: #0d1f18;
}

/* Logo-Grid auf 6 Spalten für 12 Logos */
.rest-logo-grid {
  grid-template-columns: repeat(6, 1fr);
}
@media(max-width:900px){
  .rest-logo-grid { grid-template-columns: repeat(4,1fr); }
}
@media(max-width:600px){
  .rest-logo-grid { grid-template-columns: repeat(3,1fr); }
}
@media(max-width:400px){
  .rest-logo-grid { grid-template-columns: repeat(2,1fr); }
}


/* ============================================================
   v6.8 — LOGO GRID FIX + BILDER FIX
   ============================================================ */

/* Logo Grid: zurück zu 5 Spalten, größer */
.rest-logo-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: .8rem !important;
}
.rest-logo-grid a {
  padding: .8rem !important;
  border-radius: 3px !important;
  aspect-ratio: 1/1 !important;
}
.rest-logo-grid img {
  width: 90% !important;
  height: 90% !important;
  object-fit: contain !important;
}
@media(max-width:768px){
  .rest-logo-grid { grid-template-columns: repeat(4,1fr) !important; }
}
@media(max-width:480px){
  .rest-logo-grid { grid-template-columns: repeat(3,1fr) !important; }
}

/* BILDER FIX: Negative Margins rückgängig — keine Verzerrung */
.grid-2 .phil-img {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  border-radius: 0 !important;
  height: 400px !important;
  background-size: cover !important;
  background-position: center !important;
}
@media(max-width:900px) {
  .grid-2 .phil-img {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    height: 300px !important;
  }
}

/* Rooms-block: saubere Proportionen */
.rooms-block {
  border-radius: 2px !important;
  overflow: hidden !important;
}
.rooms-block-img {
  height: 260px !important;
  background-size: cover !important;
  background-position: center !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Entertainment und Spa Bilder: normale Darstellung */
.section-dark .grid-2 .phil-img,
.section .grid-2 .phil-img {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}


/* ============================================================
   v7.0 — HERO VIDEO PANORAMA
   ============================================================ */
.hero-panorama-video {
  width: 100%;
  height: 360px;
  overflow: hidden;
  position: relative;
  background: var(--bg);
  flex-shrink: 0;
}
.hero-panorama-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media(max-width:768px) {
  .hero-panorama-video { height: 240px; }
}

/* ============================================================
   v7.0 — ZIMMER TEASER OVERHAUL
   ============================================================ */
/* Kategorie-Zeilen statt Badges */
.rooms-cats {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-bottom: 1.5rem;
}
.rooms-cats span {
  font-family: 'Cinzel', serif;
  font-size: .62rem;
  letter-spacing: .12em;
  color: var(--cream2);
  border: none;
  padding: .35rem 0;
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  border-radius: 0;
}

/* Rooms-block: weißer Rand komplett weg */
.rooms-block {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.rooms-block:hover {
  border: none !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.3) !important;
}

/* Rooms-block-content: Gold-Linie oben als Trenner */
.rooms-block-content {
  border-top: 2px solid var(--gold) !important;
}

/* Rooms-block h3: größer, klarer */
.rooms-block-content h3 {
  font-size: 1.6rem !important;
  margin-bottom: 1rem !important;
  color: var(--cream) !important;
}


/* Größen in Gold rechts */
.rooms-cats span em {
  font-style: normal;
  color: var(--gold);
  font-family: 'Cormorant Garamond', serif;
  font-size: .85rem;
  margin-left: auto;
  padding-left: 1rem;
}


/* ============================================================
   v7.0 — CLEAN REBUILD
   ============================================================ */

/* Button text always centered */
.btn, .btn-gold, .btn-outline, .btn-outline-w, .btn-navy-gold,
.btn-outline-gold-pulse {
  text-align: center !important;
  justify-content: center !important;
}

/* Navy + Gold border button for Zimmer/Residences */
.btn-navy-gold {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: 1rem 2.5rem;
  font-family: 'Cinzel', serif;
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  background: var(--bg);
  color: var(--gold);
  border: 2px solid var(--gold);
  text-decoration: none;
  transition: all .3s;
  cursor: pointer;
  white-space: nowrap;
  text-align: center;
  justify-content: center;
}
.btn-navy-gold:hover {
  background: var(--gold);
  color: var(--bg);
}
.btn-navy-gold.btn-arrow::after {
  content: '→';
  margin-left: .3rem;
}

/* Hero eyebrow two lines */
.hero-eyebrow {
  font-family: 'Cinzel', serif;
  font-size: .62rem;
  letter-spacing: .2em;
  color: var(--gold);
  margin-bottom: 1.2rem;
  line-height: 1.8;
  text-align: center;
}

/* White border fix - global */
.rooms-block { border: none !important; }
.rooms-block:hover { box-shadow: 0 8px 30px rgba(0,0,0,.3) !important; }
.rooms-block-content { border-top: 2px solid var(--gold) !important; }
.phil-img { border: none !important; outline: none !important; }


/* Room features list */
.room-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .4rem .8rem;
  margin: 1.2rem 0 1.8rem;
}
.room-features span {
  font-family: 'Cinzel', serif;
  font-size: .58rem;
  letter-spacing: .1em;
  color: var(--cream2);
  line-height: 1.6;
}
@media(max-width:480px){
  .room-features { grid-template-columns: 1fr; }
}


/* ============================================================
   v7.2 — RIBBON LUXURY REDESIGN
   ============================================================ */
.nyra-ribbon {
  background: var(--bg2);
  border-top: 2px solid var(--gold);
  border-bottom: none;
}
.ribbon-grid {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: repeat(4,1fr);
}
.ribbon-item {
  padding: 3.5rem 1rem;
  text-align: center;
  border-right: 1px solid rgba(201,168,76,.15);
  transition: background .3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .8rem;
}
.ribbon-item:last-child { border-right: none; }
.ribbon-item:hover { background: rgba(201,168,76,.03); }

.ribbon-num {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 4rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  letter-spacing: -.02em;
}
.ribbon-lbl {
  font-family: 'Cinzel', serif;
  font-size: .62rem;
  letter-spacing: .22em;
  color: var(--cream2);
  line-height: 1.4;
  white-space: nowrap;
}

@media(max-width:768px) {
  .ribbon-grid { grid-template-columns: 1fr 1fr; }
  .ribbon-item { 
    padding: 2.5rem 1rem;
    border-right: 1px solid rgba(201,168,76,.15);
    border-bottom: 1px solid rgba(201,168,76,.15);
  }
  .ribbon-item:nth-child(2n) { border-right: none; }
  .ribbon-item:nth-child(3),
  .ribbon-item:nth-child(4) { border-bottom: none; }
  .ribbon-num { font-size: 3rem; }
  .ribbon-lbl { white-space: normal; font-size: .58rem; }
}


/* ============================================================
   v7.5 — DEFINITIVE WHITE BORDER FIX
   ============================================================ */

/* Root cause: containers have padding that shows section background */
/* Fix: image divs get dark bg + strict no-border */

.phil-img {
  background-color: var(--bg2) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.rooms-block-img {
  background-color: var(--bg3) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rooms-block {
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

/* Gallery items */
.gc-item, .fg-item {
  background-color: var(--bg) !important;
  background-size: cover !important;
  background-position: center !important;
  border: none !important;
  border-radius: 0 !important;
  outline: none !important;
}

/* Ruegen section bg */
.ruegen-bg {
  background-color: var(--bg) !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Page hero bg */
.page-hero-bg {
  background-size: cover !important;
  background-position: center !important;
  border: none !important;
}

/* Grid gaps — use section bg color not white */
.grid-2 {
  background: transparent !important;
}

/* Remove any inherited borders from WordPress */
.section img, .section-dark img, .section-mid img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}


/* ============================================================
   v7.6 — GOLD BORDERS + LEFT ALIGN + RIBBON LUXURY
   ============================================================ */

/* GOLD BORDER on all image containers */
.phil-img {
  border: 2px solid var(--gold) !important;
  background-color: var(--bg2) !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.rooms-block-img {
  border: none !important;
  background-color: var(--bg3) !important;
  background-size: cover !important;
  background-position: center !important;
}

.rooms-block {
  border: 2px solid var(--gold) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

.rooms-block:hover {
  border-color: var(--gold-l) !important;
  box-shadow: 0 8px 30px rgba(201,168,76,.2) !important;
}

/* Gallery items gold border */
.gc-item {
  border: 1px solid rgba(201,168,76,.3) !important;
  border-radius: 0 !important;
}

/* LEFT ALIGN everything on front page */
.section .eyebrow,
.section-dark .eyebrow,
.section .section-title,
.section-dark .section-title,
.section .lead,
.section-dark .lead {
  text-align: left !important;
}

/* But keep centered where explicitly needed */
.rest-logo-grid,
.ribbon-grid,
.closing-strip,
.ruegen-content {
  text-align: left;
}
.closing-strip { text-align: center !important; }

/* RIBBON LUXURY REDESIGN */
.ribbon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  padding: 3rem 1rem;
}
.ribbon-num {
  font-size: 4.5rem !important;
  line-height: 1 !important;
}
.ribbon-sub {
  font-family: 'Raleway', sans-serif;
  font-size: .65rem;
  font-weight: 300;
  letter-spacing: .18em;
  color: var(--cream2);
  text-transform: uppercase;
}
.ribbon-lbl {
  font-family: 'Cinzel', serif;
  font-size: .7rem !important;
  letter-spacing: .2em !important;
  color: var(--gold) !important;
  white-space: nowrap;
}


/* ============================================================
   v8.3 — FINAL LOGO FIX + ICON SYSTEM + IMAGE POLISH
   ============================================================ */

/* --- LOGO TILES: each keeps its own brand background --- */
.rest-logo-grid a,
.rest-logo-tile {
  background: #f5ede0 !important; /* default cream for most logos */
  border-radius: 0 !important;
  border: 1px solid rgba(201,168,76,.15) !important;
  transition: transform .25s, box-shadow .25s !important;
}
.rest-logo-grid a:hover,
.rest-logo-tile:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;
}
/* NØRD: white bg with gold */
.rest-logo-grid a[href*="nord"],
.rest-logo-tile.tile-nord { background: #ffffff !important; }
/* HAVEN: dark green */
.rest-logo-grid a[href*="haven"],
.rest-logo-tile.tile-haven { background: #0d1f18 !important; }
/* MARE: cream */
.rest-logo-grid a[href*="mare"],
.rest-logo-tile.tile-mare  { background: #f5ede0 !important; }

/* Logo images: fill the tile, no extra border */
.rest-logo-grid a img,
.rest-logo-tile img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 6% !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  display: block !important;
}

/* Rest-section logo display (detail pages) */
.rest-logo-display {
  width: 180px;
  height: 180px;
  background: #f5ede0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.8rem;
  border: 1px solid rgba(201,168,76,.2);
}
.rest-logo-display.dark-bg { background: #0d1f18; }
.rest-logo-display img {
  width: 85%;
  height: 85%;
  object-fit: contain;
  border: none !important;
  box-shadow: none !important;
}

/* --- NYRA ICONS: gold line-art on white bg --- */
/* On dark navy sections: multiply blends white away */
.nyra-icon,
.section .nyra-icon,
.section-dark .nyra-icon,
.section-mid .nyra-icon,
img.nyra-icon {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block;
  margin: 0 auto 1.4rem;
  mix-blend-mode: multiply;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  filter: brightness(1.05);
}

/* --- AI KACHELN mit Icon --- */
.ai-kachel {
  background: var(--bg4);
  border: 1px solid var(--border);
  border-radius: 0;
  padding: 2.5rem 2rem;
  text-align: center;
  transition: border-color .3s, transform .3s;
}
.ai-kachel:hover {
  border-color: rgba(201,168,76,.4);
  transform: translateY(-4px);
}
.ai-kachel .nyra-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 1.2rem;
}
.ai-kachel-num {
  font-family: 'Cinzel', serif;
  font-size: .58rem;
  letter-spacing: .2em;
  color: var(--gold);
  margin-bottom: .6rem;
}
.ai-kachel-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--cream);
  margin-bottom: .7rem;
  display: block;
}
.ai-kachel-text {
  font-family: 'Raleway', sans-serif;
  font-size: .82rem;
  line-height: 1.7;
  color: var(--cream2);
}
.ai-grid-new {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-top: 3rem;
}
@media(max-width:900px){ .ai-grid-new { grid-template-columns: repeat(2,1fr); } }
@media(max-width:560px){ .ai-grid-new { grid-template-columns: 1fr; } }

/* --- SPA FEATURE TAGS --- */
.spa-feat {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--bg4);
  border: 1px solid var(--border);
  padding: .45rem 1rem;
  font-family: 'Cinzel', serif;
  font-size: .58rem;
  letter-spacing: .12em;
  color: var(--cream2);
  margin: .3rem;
}
.spa-feat::before {
  content: '✦';
  color: var(--gold);
  font-size: .5rem;
}

/* --- IMAGE SECTIONS with gold accent line --- */
.img-gold-frame {
  position: relative;
  border: 2px solid var(--gold);
  overflow: hidden;
}
.img-gold-frame .bg-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  display: block;
}

/* --- SECTION IMAGE BLOCKS (phil-img replacement) --- */
.nyra-img-block {
  position: relative;
  overflow: hidden;
  border: 2px solid var(--gold);
}
.nyra-img-block .bg-img {
  width: 100%;
  height: 460px;
  background-size: cover;
  background-position: center;
}
@media(max-width:768px){ .nyra-img-block .bg-img { height: 280px; margin-top: 2rem; } }

/* --- ROOM FEATURES LIST --- */
.room-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .4rem .8rem;
  margin: 1.5rem 0 2rem;
}
.room-features span {
  font-family: 'Raleway', sans-serif;
  font-size: .8rem;
  color: var(--cream2);
  letter-spacing: .04em;
}

/* --- RESIDENCE CATEGORY CARDS --- */
.res-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5px;
  background: var(--border);
  border: 1px solid var(--border);
  margin: 3rem 0;
}
.res-card {
  background: var(--bg2);
  padding: 2.2rem 1.8rem;
  transition: background .3s;
}
.res-card:hover { background: var(--bg3); }
.res-card-size {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.2rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: .4rem;
}
.res-card-name {
  font-family: 'Cinzel', serif;
  font-size: .65rem;
  letter-spacing: .18em;
  color: var(--cream);
  margin-bottom: .8rem;
}
.res-card-desc {
  font-family: 'Raleway', sans-serif;
  font-size: .82rem;
  color: var(--cream2);
  line-height: 1.65;
}
@media(max-width:768px){ .res-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:480px){ .res-grid { grid-template-columns: 1fr; } }

/* --- REST-SECTION layout fix --- */
.rest-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
  margin-bottom: 1.5px;
  border-bottom: 1px solid var(--border);
}
.rest-section:last-child { border-bottom: none; }
.rest-section-img {
  background-size: cover;
  background-position: center;
  position: relative;
  min-height: 400px;
}
.rest-section-num {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  font-family: 'Cinzel', serif;
  font-size: .58rem;
  letter-spacing: .2em;
  color: var(--cream);
  background: rgba(12,29,58,.6);
  padding: .3rem .7rem;
  backdrop-filter: blur(4px);
}
.rest-section-content {
  background: var(--bg2);
  padding: 3.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rest-section-content.flip { order: -1; }
@media(max-width:900px){
  .rest-section { grid-template-columns: 1fr; }
  .rest-section-content.flip { order: unset; }
  .rest-section-content { padding: 2.5rem 2rem; }
}

/* rest-logo-display per-outlet background */
.rest-logo-display { border: 1px solid rgba(201,168,76,.15); }
.rest-logo-display.bg-nord  { background: #ffffff; }
.rest-logo-display.bg-haven { background: #0d1f18; }
.rest-logo-display.bg-cream { background: #f5ede0; }

/* --- CLOSING STRIP --- */
.closing-strip {
  background: var(--bg2);
  border-top: 1px solid var(--border);
  padding: 7rem 0;
  text-align: center;
}

/* --- GALERIE FULLSCREEN GRID --- */
.fg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5px;
  background: var(--border);
}
.fg-item {
  height: 320px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border: none !important;
}
.fg-item.fg-wide { grid-column: span 2; height: 380px; }
.fg-item::after {
  content: '';
  position: absolute; inset: 0;
  background: rgba(12,29,58,.2);
  transition: background .3s;
}
.fg-item:hover::after { background: rgba(12,29,58,.05); }
@media(max-width:768px){
  .fg-grid { grid-template-columns: 1fr 1fr; }
  .fg-item.fg-wide { grid-column: span 2; height: 260px; }
  .fg-item { height: 200px; }
}

/* img tags: never show browser borders */
img { border: none !important; outline: none !important; }


/* ============================================================
   v8.3 — WEDDING PACKAGES + EXPERIENCE PAGE
   ============================================================ */

/* WEDDING PACKAGES GRID */
.wedding-packages {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5px;
  background: var(--border);
  border: 1px solid var(--border);
}
@media(max-width:1100px){ .wedding-packages { grid-template-columns: repeat(2,1fr); } }
@media(max-width:600px) { .wedding-packages { grid-template-columns: 1fr; } }

.wedding-pkg {
  background: var(--bg2);
  padding: 2.8rem 2.2rem;
  display: flex;
  flex-direction: column;
  transition: background .3s;
  position: relative;
}
.wedding-pkg:hover { background: var(--bg3); }
.wedding-pkg.featured {
  background: var(--bg3);
  border-top: 3px solid var(--gold);
}
.wedding-pkg.featured::before {
  content: 'BELIEBT';
  position: absolute;
  top: -1px; left: 50%; transform: translateX(-50%);
  background: var(--gold);
  color: var(--bg);
  font-family: 'Cinzel', serif;
  font-size: .5rem;
  letter-spacing: .2em;
  padding: .25rem .9rem;
}
.wpkg-num {
  font-family: 'Cinzel', serif;
  font-size: .56rem;
  letter-spacing: .2em;
  color: var(--gold);
  margin-bottom: .8rem;
}
.wpkg-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.55rem;
  font-weight: 600;
  color: var(--cream);
  line-height: 1.2;
  margin-bottom: .3rem;
}
.wpkg-sub {
  font-family: 'Raleway', sans-serif;
  font-size: .75rem;
  color: var(--cream2);
  margin-bottom: .8rem;
  font-style: italic;
}
.wpkg-guests {
  font-family: 'Cinzel', serif;
  font-size: .56rem;
  letter-spacing: .14em;
  color: var(--cream2);
  margin-bottom: .6rem;
}
.wpkg-price {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 1.8rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}
.wpkg-items {
  flex: 1;
  margin-bottom: 2rem;
}
.wpkg-item {
  display: flex;
  gap: .8rem;
  padding: .5rem 0;
  border-bottom: 1px solid rgba(201,168,76,.07);
  font-family: 'Raleway', sans-serif;
  font-size: .8rem;
  color: var(--cream2);
  line-height: 1.5;
}
.wpkg-dot {
  color: var(--gold);
  font-size: .5rem;
  flex-shrink: 0;
  padding-top: .25rem;
}
.wpkg-btn { width: 100%; justify-content: center; margin-top: auto; }

/* PRICE DISPLAY big number */
.price-display {
  display: flex;
  align-items: baseline;
  gap: .8rem;
  margin: 1.5rem 0 2rem;
}
.price-big {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3.2rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
}
.price-label {
  font-family: 'Cinzel', serif;
  font-size: .58rem;
  letter-spacing: .14em;
  color: var(--cream2);
}

/* TAG BADGE */
.pkg-tag {
  display: inline-block;
  background: var(--gold);
  color: var(--bg);
  font-family: 'Cinzel', serif;
  font-size: .54rem;
  letter-spacing: .18em;
  padding: .3rem .9rem;
  margin-bottom: 1rem;
}


/* ============================================================
   v8.3 — CRITICAL FIXES: Logos sichtbar, Icons transparent,
          grid-flip, spa-layout, aktivitäten, mix-blend entfernt
   ============================================================ */

/* LOGO IMAGES: filter entfernen — waren unsichtbar wegen brightness(0) */
.rest-logo-tile img,
.rest-logo-grid a img,
.rest-logo-display img {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  width: auto !important;
  max-width: 85% !important;
  max-height: 85% !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
}

/* LOGO TILES: korrekte Hintergründe */
.rest-logo-tile,
.rest-logo-grid a {
  background: #f5ede0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: 1 / 1 !important;
  padding: 8% !important;
  overflow: hidden !important;
  border-top: 2px solid transparent !important;
  transition: border-top-color .3s, transform .3s !important;
  border-radius: 0 !important;
  text-decoration: none !important;
}
.rest-logo-tile:hover,
.rest-logo-grid a:hover {
  border-top-color: var(--gold) !important;
  transform: translateY(-3px) !important;
}
/* HAVEN: dunkel */
.rest-logo-tile.bg-haven,
.rest-logo-grid a[href*="haven"] { background: #0d1f18 !important; }
/* NØRD: weiß */
.rest-logo-tile.bg-nord,
.rest-logo-grid a[href*="nord"] { background: #ffffff !important; }

/* LOGO DISPLAY (Detailseite) */
.rest-logo-display {
  width: 200px !important;
  height: 200px !important;
  background: #f5ede0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 2rem !important;
  padding: 10% !important;
}
.rest-logo-display.bg-haven { background: #0d1f18 !important; }
.rest-logo-display.bg-nord  { background: #ffffff !important; }
.rest-logo-display img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  max-width: unset !important;
  max-height: unset !important;
  margin: 0 !important;
}

/* ICONS: mix-blend-mode entfernen — jetzt transparent */
.nyra-icon,
.section .nyra-icon,
.section-dark .nyra-icon,
.section-mid .nyra-icon,
img.nyra-icon {
  mix-blend-mode: normal !important;
  filter: none !important;
  background: transparent !important;
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto 1.4rem !important;
}
/* Inline icons (kleinere Größe) */
.nyra-icon-sm {
  width: 44px !important;
  height: 44px !important;
  mix-blend-mode: normal !important;
  object-fit: contain !important;
  display: block !important;
  flex-shrink: 0 !important;
}

/* GRID-FLIP: Spalten umkehren */
.grid-flip > *:first-child { order: 2; }
.grid-flip > *:last-child  { order: 1; }
@media(max-width:768px) {
  .grid-flip > *:first-child { order: unset; }
  .grid-flip > *:last-child  { order: unset; }
}

/* SPA SPLIT: padding fix */
.spa-content { padding: 5rem 4rem 5rem 5rem; max-width: 680px; }
@media(max-width:768px){ .spa-content { padding: 3rem 2rem; max-width: 100%; } }

/* ALIGN-CENTER für grid-2 */
.grid-2.align-center { align-items: center; }

/* LOGO GRID: columns */
.rest-logo-grid {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 1.5px !important;
  background: var(--border) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  margin-top: 3rem !important;
}
@media(max-width:900px){ .rest-logo-grid { grid-template-columns: repeat(4,1fr) !important; } }
@media(max-width:560px){ .rest-logo-grid { grid-template-columns: repeat(3,1fr) !important; } }

/* rlt-time label unter Logo */
.rlt-time {
  font-family: 'Cinzel', serif !important;
  font-size: .52rem !important;
  letter-spacing: .14em !important;
  color: #444 !important;
  text-transform: uppercase !important;
  margin-top: .5rem !important;
}


/* ============================================================
   v8.4 — LEERE BILDCONTAINER UNSICHTBAR + MOBILE FIXES
   ============================================================ */

/* Wenn Bild nicht lädt: Rahmen und Container unsichtbar machen */
.nyra-img-block {
  border: none !important;
  background: transparent !important;
}
.nyra-img-block .bg-img {
  background-color: transparent !important;
  min-height: 0 !important;
}
/* Nur wenn tatsächlich ein Bild-Background gesetzt ist, zeigen */
.nyra-img-block .bg-img[style*="background-image"] {
  height: 460px !important;
  background-size: cover !important;
  background-position: center !important;
  display: block !important;
}
@media(max-width:768px){
  .nyra-img-block .bg-img[style*="background-image"] { height: 280px !important; }
}

/* phil-img: auch ohne Bild keinen Rahmen zeigen */
.phil-img {
  border: none !important;
  background-color: transparent !important;
}
.phil-img[style*="background-image"] {
  border: 2px solid var(--gold) !important;
  height: 460px !important;
  background-size: cover !important;
  background-position: center !important;
}
@media(max-width:768px){
  .phil-img[style*="background-image"] { height: 260px !important; margin-top: 2rem; }
}

/* ICONS: Wenn nicht geladen, keine leere Fläche */
.nyra-icon {
  min-height: 0 !important;
}
.nyra-icon[src=""] { display: none !important; }

/* MOBILE NAV verbessert */
@media(max-width:768px){
  .grid-2 { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .grid-flip > * { order: unset !important; }
  .container { padding: 0 1.5rem !important; }
  .section { padding: 4rem 0 !important; }
  .section-dark { padding: 4rem 0 !important; }
  .page-hero-content { padding-top: 7rem !important; }
}

