@charset "UTF-8";
:root{
  --ink:#20201f;
  --ink-2:#30312e;
  --gold:#b48742;
  --gold-dark:#8c652d;
  --cream:#f5f1ea;
  --paper:#fffdfa;
  --muted:#6d675e;
  --line:#ded7cc;
  --green:#245f42;
  --shadow:0 18px 50px rgba(24,22,18,.12);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
body.no-scroll{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12}
h2{font-size:clamp(2.25rem,4.5vw,4rem);margin:.35rem 0 1rem}
p{margin-top:0}
address{font-style:normal}
.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.75rem 1rem;z-index:999}
.skip-link:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eyebrow{margin:0;color:var(--gold-dark);font-size:.76rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.eyebrow-light{color:#e3b96f}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:999px;background:var(--gold);color:#fff;padding:.78rem 1.35rem;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:.2s ease}
.button:hover,.button:focus-visible{background:var(--gold-dark);border-color:var(--gold-dark);transform:translateY(-1px)}
.button-small{min-height:42px;padding:.55rem 1rem;font-size:.82rem}
.button-block{width:100%}
.button-ghost{background:rgba(20,20,18,.3);border-color:rgba(255,255,255,.75);backdrop-filter:blur(8px)}
.button-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.button-light{background:#fff;color:var(--ink);border-color:#fff}
.button-light:hover{background:var(--cream);border-color:var(--cream)}
.text-link{display:inline-flex;gap:.65rem;align-items:center;color:var(--gold-dark);font-weight:800}
.text-link span{transition:transform .2s ease}
.text-link:hover span{transform:translateX(4px)}
.section{padding:clamp(4rem,8vw,8rem) max(1.25rem,6vw)}
.section-heading{max-width:760px;margin:0 auto 3rem;text-align:center}
.section-heading>p:last-child{color:var(--muted)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,250,.95);border-bottom:1px solid rgba(222,215,204,.8);backdrop-filter:blur(14px)}
.header-inner{height:86px;max-width:1500px;margin:auto;padding:0 max(1rem,4vw);display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand img{width:235px;height:auto}
.site-header nav{display:flex;align-items:center;gap:1.45rem;font-size:.83rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.site-header nav>a:not(.button){position:relative}
.site-header nav>a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:-.45rem;height:2px;background:var(--gold);transition:right .2s}
.site-header nav>a:not(.button):hover::after{right:0}
.phone-link{color:var(--gold-dark)}
.menu-button{display:none;border:0;background:none;width:44px;height:44px;padding:10px}
.menu-button span:not(.sr-only){display:block;height:2px;background:var(--ink);margin:5px 0}
.hero{min-height:760px;position:relative;background:url("assets/images/eingang.webp") center/cover no-repeat;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.58fr);gap:3rem;align-items:center;padding:5rem max(1.25rem,6vw)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,12,10,.88) 0%,rgba(9,12,10,.62) 48%,rgba(9,12,10,.18) 100%)}
.hero-content,.quick-book{position:relative;z-index:1}
.hero-content{max-width:740px;color:#fff}
.hero h1{font-size:clamp(3.5rem,7vw,7.2rem);margin:.5rem 0 1.5rem;letter-spacing:-.035em}
.hero h1 em{display:block;color:#e7c17d;font-weight:normal}
.hero-lead{max-width:680px;font:clamp(1.15rem,2.2vw,1.55rem)/1.6 Georgia,serif;color:#f4f0e8}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin:2rem 0}
.hero-points{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;padding:0;margin:1.8rem 0 0;list-style:none;color:#f1eadf;font-size:.92rem}
.hero-points li::before{content:"✓";color:#e3b96f;margin-right:.5rem}
.quick-book{justify-self:end;width:min(100%,450px);background:rgba(28,29,27,.94);color:#fff;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius);padding:2rem;box-shadow:0 26px 80px rgba(0,0,0,.35);backdrop-filter:blur(10px)}
.quick-book h2{font-size:2rem;margin:.35rem 0 1.5rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:block;margin-bottom:1rem;font-size:.82rem;font-weight:800}
input,select,textarea{width:100%;min-height:47px;margin-top:.4rem;border:1px solid #cfc7bc;border-radius:10px;background:#fff;color:var(--ink);padding:.72rem .82rem;outline:none}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(180,135,66,.2)}
.form-hint{margin:.8rem 0 0;color:#d7cec2;font-size:.76rem;line-height:1.5}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.trust-strip{position:relative;z-index:3;margin:-1.6rem auto 0;width:min(1320px,92%);display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.trust-strip article{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-right:1px solid var(--line)}
.trust-strip article:last-child{border:0}
.trust-strip strong,.trust-strip small{display:block}
.trust-strip small{color:var(--muted);margin-top:.1rem}
.trust-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:var(--cream);color:var(--gold-dark);font:700 1.2rem Arial,Helvetica,sans-serif}
.rooms-section{background:linear-gradient(#fffdfa,#f8f4ed)}
.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;max-width:1250px;margin:auto}
.room-card{background:#fff;border:1px solid #ece5db;border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 38px rgba(35,30,22,.08)}
.room-media{position:relative;overflow:hidden}
.room-media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}
.room-card:hover .room-media img{transform:scale(1.025)}
.price-badge{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(28,29,27,.92);color:#fff;padding:.55rem .8rem;border-radius:999px;font-size:.85rem;font-weight:800}
.room-content{padding:1.8rem}
.room-content h3{font-size:2.25rem;margin:.1rem 0 .7rem}
.room-type{margin:0;color:var(--gold-dark);font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.room-content>p{color:var(--muted)}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem;padding:0;margin:1.2rem 0 1.5rem;list-style:none}
.check-list li::before{content:"✓";color:var(--gold);font-weight:bold;margin-right:.45rem}
.price-note{max-width:850px;margin:2rem auto 0;text-align:center;color:var(--muted);font-size:.88rem}
.about-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;background:#fff}
.about-image{position:relative}
.about-image::before{content:"";position:absolute;inset:1.25rem -1.25rem -1.25rem 1.25rem;border:1px solid var(--gold);border-radius:var(--radius)}
.about-image img{position:relative;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.about-copy{max-width:650px}
.about-copy>p:not(.eyebrow){color:var(--muted);font-size:1.08rem}
.fact-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.2rem}
.fact-list div{padding:1.2rem;background:var(--cream);border-radius:14px}
.fact-list strong,.fact-list span{display:block}
.fact-list span{color:var(--muted);font-size:.82rem}
.gallery-section{background:var(--cream)}
.gallery-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:230px;gap:1rem}
.gallery-item{border:0;border-radius:16px;overflow:hidden;padding:0;cursor:zoom-in;background:#ddd}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gallery-item:hover img{transform:scale(1.035)}
.gallery-wide{grid-column:span 2}
.location-section{display:grid;grid-template-columns:1.15fr .55fr;gap:clamp(2rem,6vw,6rem);align-items:center;background:linear-gradient(120deg,#20201f,#34362f);color:#fff;padding:clamp(4rem,8vw,8rem) max(1.25rem,7vw)}
.location-copy{max-width:820px}
.location-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:2.2rem 0}
.location-facts article{padding:1.25rem;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.05)}
.location-facts strong,.location-facts span{display:block}
.location-facts strong{color:#e3b96f;font:1.65rem Georgia,serif}
.location-facts span{color:#e9e4dc;font-size:.88rem}
.address-card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.address-card h3{font-size:2rem;margin:.3rem 0 1rem}
.address-card a{display:block;color:var(--gold-dark);font-weight:800;margin-top:.6rem}
.booking-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,6rem);background:#fff}
.booking-intro{max-width:520px}
.booking-intro>p:not(.eyebrow){color:var(--muted)}
.booking-benefits{padding:0;list-style:none}
.booking-benefits li{margin:.65rem 0}
.booking-benefits li::before{content:"✓";display:inline-grid;place-items:center;width:25px;height:25px;margin-right:.7rem;border-radius:50%;background:var(--cream);color:var(--gold-dark);font-weight:800}
.main-form,.contact-form{padding:2rem;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius)}
.main-form .form-hint{color:var(--muted)}
.privacy-check{display:flex;gap:.7rem;align-items:flex-start;font-weight:normal;line-height:1.45}
.privacy-check input{width:auto;min-height:auto;margin-top:.25rem}
.privacy-check a{text-decoration:underline}
.contact-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,6rem);background:#f6f2eb}
.contact-info{max-width:520px}
.contact-info>p:not(.eyebrow){color:var(--muted)}
.contact-links{display:grid;gap:.8rem;margin-top:2rem}
.contact-links a{display:flex;flex-direction:column;padding:1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:12px}
.contact-links a:hover{border-color:var(--gold)}
.contact-links span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.contact-links strong{font-size:1.03rem}
.faq-section{background:#fff}
.faq-list{max-width:900px;margin:auto;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faq-list summary{cursor:pointer;font-weight:800;font-size:1.05rem}
.faq-list p{color:var(--muted);margin:1rem 0 0}
.site-footer{background:#171816;color:#eee}
.footer-main{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem;padding:3.5rem max(1.25rem,6vw)}
.footer-main img{width:270px}
.footer-main h3{font-size:1.05rem;color:#e3b96f;margin:0 0 .6rem}
.footer-main p{color:#d7d4cf;margin:0;font-size:.9rem}
.footer-main a:hover{color:#e3b96f}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding:1rem max(1.25rem,6vw);border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#bdbab5}
.footer-bottom nav{display:flex;gap:1.2rem}
.mobile-action-bar{display:none}
.lightbox{width:min(92vw,1100px);max-height:90vh;padding:0;border:0;border-radius:14px;background:#111;box-shadow:0 30px 100px #0008}
.lightbox::backdrop{background:rgba(0,0,0,.82)}
.lightbox img{width:100%;max-height:86vh;object-fit:contain}
.lightbox-close{position:absolute;right:.7rem;top:.5rem;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;font-size:2rem;cursor:pointer}
.legal-page{min-height:100vh;background:var(--cream)}
.legal-wrap{width:min(900px,calc(100% - 2rem));margin:0 auto;padding:4rem 0}
.legal-wrap h1{font-size:clamp(2.6rem,6vw,5rem)}
.legal-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,5vw,3.5rem);box-shadow:var(--shadow)}
.legal-card h2{font-size:1.65rem;margin-top:2rem}
.legal-note{padding:1rem;border-left:4px solid var(--gold);background:var(--cream)}
.success-page{min-height:100vh;display:grid;place-items:center;background:var(--cream);padding:1rem}
.success-card{max-width:650px;background:#fff;padding:3rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow)}
.success-card h1{font-size:3rem}
@media(max-width:1120px){
  .site-header nav{gap:.9rem;font-size:.76rem}
  .phone-link{display:none}
  .hero{grid-template-columns:1fr .72fr;padding-inline:4vw}
  .trust-strip{grid-template-columns:repeat(2,1fr)}
  .trust-strip article:nth-child(2){border-right:0}
  .trust-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:900px){
  html{scroll-padding-top:78px}
  .header-inner{height:76px}
  .brand img{width:205px}
  .menu-button{display:block}
  .site-header nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:.8rem 1rem 1rem;box-shadow:0 15px 30px #0002}
  .site-header nav.open{display:flex}
  .site-header nav a{padding:.85rem}
  .site-header nav .button{margin-top:.4rem}
  .hero{min-height:auto;grid-template-columns:1fr;padding:6rem 1.25rem 3rem;background-position:58% center}
  .hero-shade{background:linear-gradient(rgba(9,12,10,.7),rgba(9,12,10,.82))}
  .hero-content{max-width:780px}
  .quick-book{justify-self:stretch;width:100%;max-width:780px;margin:auto}
  .about-section,.booking-section,.contact-section,.location-section{grid-template-columns:1fr}
  .about-copy{max-width:none}
  .address-card{max-width:600px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  body{padding-bottom:66px}
  h2{font-size:2.35rem}
  .hero{padding-top:4.5rem}
  .hero h1{font-size:3.5rem}
  .hero-lead{font-size:1.05rem}
  .hero-actions{display:grid}
  .hero-actions .button{width:100%}
  .hero-points{display:grid}
  .quick-book{padding:1.3rem}
  .form-grid{grid-template-columns:1fr}
  .trust-strip{width:calc(100% - 1.5rem);grid-template-columns:1fr;margin-top:-.8rem}
  .trust-strip article{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .trust-strip article:last-child{border-bottom:0!important}
  .room-grid{grid-template-columns:1fr}
  .check-list{grid-template-columns:1fr}
  .about-image::before{inset:.7rem -.7rem -.7rem .7rem}
  .fact-list{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:245px}
  .gallery-wide{grid-column:auto}
  .location-facts{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr;padding-bottom:2rem}
  .footer-bottom{flex-direction:column}
  .mobile-action-bar{position:fixed;display:grid;grid-template-columns:1fr 1.35fr;left:.65rem;right:.65rem;bottom:.65rem;z-index:120;background:#fff;border-radius:999px;box-shadow:0 10px 35px #0004;overflow:hidden}
  .mobile-action-bar a{display:grid;place-items:center;min-height:52px;font-weight:800}
  .mobile-action-bar .mobile-primary{background:var(--gold);color:#fff}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}

.quick-privacy{font-size:.74rem;color:#ded6ca;margin-top:.15rem}.quick-privacy a{text-decoration:underline}

/* Sprachumschalter und kompakte Direktanfrage */
.lang-switch{display:inline-grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--line);border-radius:999px;color:var(--gold-dark)!important;font-weight:900}
.quick-book label{margin-bottom:.62rem}
.quick-book input,.quick-book select{min-height:42px;padding:.58rem .72rem;margin-top:.3rem}
.quick-book h2{margin-bottom:1rem}
.quick-book .form-grid{gap:.7rem}
.quick-book .privacy-check{margin-top:.15rem;margin-bottom:.55rem}
.quick-note input{font-size:.82rem}
@media(max-width:900px){.site-header nav .lang-switch{align-self:flex-start;padding:.3rem .8rem}}

.lang-switch{display:inline-flex;align-items:center;gap:.38rem;padding:.45rem .68rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:800;letter-spacing:.03em;text-transform:none}
.lang-switch .flag{font-size:1rem;line-height:1}
.lang-switch:hover{border-color:var(--gold);color:var(--gold-dark)}
.quick-note{margin-top:.2rem}

.lang-switch{display:inline-flex!important;align-items:center;gap:.4rem;padding:.42rem .65rem;border:1px solid var(--line);border-radius:999px;background:#fff;line-height:1}
.lang-switch img{width:24px;height:15px;object-fit:cover;border-radius:2px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.lang-switch span{line-height:1}
.brand img{width:250px;height:auto}
.footer-main img{width:300px;height:auto}
.quick-note{margin-bottom:1rem}
.quick-privacy{margin-bottom:1rem}

/* full reference logo update */
html{scroll-padding-top:118px}
.header-inner{height:118px}
.brand img,.brand-logo-full{width:150px!important;height:auto;display:block}
.footer-logo-full{width:170px!important;height:auto;display:block;background:#fff;padding:.55rem .75rem;border-radius:14px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.footer-main img{width:170px!important}
@media(max-width:900px){
  html{scroll-padding-top:92px}
  .header-inner{height:92px}
  .site-header nav{top:92px}
  .brand img,.brand-logo-full{width:132px!important}
}

/* v8 fixes: cleaner welcome image and transparent header logo */
.about-image::before{display:none!important}
.brand img,.brand-logo-clean{width:160px!important;height:auto;display:block}
@media(max-width:900px){.brand img,.brand-logo-clean{width:128px!important;height:auto}}

.trust-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.trust-icon-text{font-family:Arial,Helvetica,sans-serif;font-size:1.1rem;font-weight:800}

/* v13: einheitliche goldene Linien-Icons */
.trust-icon{border:1px solid rgba(180,135,66,.28);background:#fbf7f0}
.trust-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}
.trust-strip article{min-width:0}
.trust-strip strong{line-height:1.25}
.trust-strip small{line-height:1.35}


/* =========================================================
   V14 – eigenständige, kompakte Mobilansicht
   ========================================================= */
@media (max-width: 900px) {
  html { scroll-padding-top: 76px !important; }

  .header-inner {
    height: 76px !important;
    padding: 0 16px !important;
    gap: 12px !important;
  }

  .brand img,
  .brand-logo-clean,
  .brand-logo-full {
    width: 112px !important;
    max-height: 66px !important;
    object-fit: contain !important;
  }

  .menu-button {
    display: block !important;
    flex: 0 0 44px;
  }

  .site-header nav {
    top: 76px !important;
    max-height: calc(100vh - 76px);
    overflow-y: auto;
  }

  /* Auf Mobilgeräten nur die emotionale Titelansicht zeigen.
     Das vollständige Anfrageformular folgt weiter unten. */
  .quick-book {
    display: none !important;
  }

  .hero {
    min-height: 560px !important;
    display: flex !important;
    align-items: flex-end !important;
    padding: 72px 22px 42px !important;
    background-position: 58% center !important;
  }

  .hero-shade {
    background:
      linear-gradient(
        180deg,
        rgba(9, 12, 10, .30) 0%,
        rgba(9, 12, 10, .60) 48%,
        rgba(9, 12, 10, .92) 100%
      ) !important;
  }

  .hero-content {
    width: 100%;
    max-width: 620px;
  }

  .hero h1 {
    font-size: clamp(2.65rem, 12vw, 4rem) !important;
    line-height: .98 !important;
    margin: .35rem 0 1rem !important;
  }

  .hero-lead {
    max-width: 520px;
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 1.3rem 0 0 !important;
  }

  .hero-actions .button {
    width: 100%;
    min-height: 48px;
  }

  .hero-points {
    display: none !important;
  }

  /* Fünf Vorteile kompakt als 2-Spalten-Raster */
  .trust-strip {
    width: calc(100% - 24px) !important;
    margin: -18px auto 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    border-radius: 16px !important;
  }

  .trust-strip article {
    min-height: 128px;
    padding: 16px 10px !important;
    flex-direction: column !important;
    justify-content: center;
    text-align: center;
    gap: 8px !important;
    border-right: 1px solid var(--line) !important;
    border-bottom: 1px solid var(--line) !important;
  }

  .trust-strip article:nth-child(2n) {
    border-right: 0 !important;
  }

  .trust-strip article:last-child {
    grid-column: 1 / -1;
    min-height: 106px;
    border-right: 0 !important;
    border-bottom: 0 !important;
  }

  .trust-strip strong {
    font-size: .92rem;
  }

  .trust-strip small {
    font-size: .76rem;
  }

  .trust-icon {
    flex-basis: 42px !important;
    width: 42px !important;
    height: 42px !important;
  }

  .trust-icon svg {
    width: 21px !important;
    height: 21px !important;
  }

  .section {
    padding: 58px 18px !important;
  }

  .section-heading {
    margin-bottom: 28px !important;
  }

  .section-heading h2,
  .booking-intro h2,
  .contact-info h2 {
    font-size: 2.25rem !important;
  }

  .room-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .room-card {
    border-radius: 15px !important;
  }

  .room-media img {
    aspect-ratio: 16 / 10 !important;
  }

  .room-content {
    padding: 21px !important;
  }

  .room-content h3 {
    font-size: 1.85rem !important;
  }

  .check-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    font-size: .88rem;
  }

  .about-section,
  .booking-section,
  .contact-section,
  .location-section {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .about-image img {
    aspect-ratio: 16 / 11 !important;
  }

  .fact-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .fact-list div {
    padding: 12px 8px !important;
    text-align: center;
  }

  .fact-list strong {
    font-size: .78rem;
  }

  .fact-list span {
    font-size: .68rem;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 160px !important;
    gap: 9px !important;
  }

  .gallery-wide {
    grid-column: auto !important;
  }

  .gallery-item:last-child {
    grid-column: 1 / -1 !important;
  }

  .location-section {
    padding: 58px 18px !important;
  }

  .location-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .location-facts article {
    padding: 14px 11px !important;
  }

  .location-facts strong {
    font-size: 1.3rem !important;
  }

  .main-form,
  .contact-form {
    padding: 19px !important;
    border-radius: 15px !important;
  }

  .main-form .form-grid,
  .contact-form .form-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .contact-links a {
    padding: 13px 15px !important;
  }

  .faq-list summary {
    font-size: .98rem !important;
  }

  .footer-main {
    grid-template-columns: 1fr 1fr !important;
    padding: 42px 20px 26px !important;
    gap: 24px 16px !important;
  }

  .footer-main > img {
    grid-column: 1 / -1;
    width: 145px !important;
  }

  .footer-bottom {
    padding: 15px 20px 84px !important;
    flex-direction: column !important;
  }

  .mobile-action-bar {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
  }
}

@media (max-width: 420px) {
  .hero {
    min-height: 530px !important;
  }

  .trust-strip article {
    min-height: 120px;
  }

  .check-list {
    grid-template-columns: 1fr !important;
  }

  .fact-list {
    grid-template-columns: 1fr !important;
  }

  .fact-list div {
    text-align: left;
    padding: 13px 15px !important;
  }

  .gallery-grid {
    grid-auto-rows: 145px !important;
  }

  .location-facts {
    grid-template-columns: 1fr 1fr !important;
  }

  .footer-main {
    grid-template-columns: 1fr !important;
  }

  .footer-main > img {
    grid-column: auto;
  }
}
