/*
Theme Name: TEL-TECH Apartament Demo
Theme URI: https://tel-tech.com.pl/
Author: TEL-TECH
Author URI: https://tel-tech.com.pl/
Description: Lekki, indywidualny motyw demonstracyjny WordPress dla apartamentu na wynajem krótkoterminowy. One-page, RWD, gotowy do integracji z IdoBooking.
Version: 1.0.6
Text Domain: teltech-apartament
*/

:root{
  --bg:#f7f5ef; --paper:#fff; --ink:#2e2e2b; --muted:#66665f;
  --green:#657054; --green-dark:#4f5941; --line:#dedbd2; --sand:#efede6;
  --radius:24px; --shadow:0 18px 55px rgba(48,45,37,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Manrope",Arial,Helvetica,sans-serif;line-height:1.72;letter-spacing:.005em}
body.scrolled .site-header{box-shadow:0 10px 28px rgba(36,34,28,.08);border-bottom-color:rgba(0,0,0,.08)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-weight:600;line-height:1.02;letter-spacing:-.015em;margin:0}
p{margin:0}
.admin-bar .site-header{top:32px}
.site-header{position:sticky;top:0;z-index:50;height:92px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);display:grid;grid-template-columns:160px 1fr 230px;align-items:center;padding:0 5vw;border-bottom:1px solid rgba(0,0,0,.05)}
.brand{display:flex;align-items:center;gap:12px;color:#5f6b50}
.brand svg{width:88px;height:42px}
.desktop-nav{display:flex;justify-content:center;gap:44px;font-size:15px}
.desktop-nav a{position:relative}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--green);transition:.25s}
.desktop-nav a:hover:after{right:0}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:14px 22px;border-radius:8px;border:1px solid transparent;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .28s ease, box-shadow .28s ease, background-color .28s ease, border-color .28s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(43,43,38,.10)}
.btn:active{transform:translateY(0)}
.btn-primary{
background:linear-gradient(180deg, #6d785b 0%, #566047 100%);
color:white;
box-shadow:0 10px 24px rgba(50,56,42,.16)
}
.btn-primary:hover{
background:linear-gradient(180deg, #768262 0%, #5b654c 100%)
}
.btn-outline{border-color:#998b6f;background:rgba(255,255,255,.72)}
.header-cta{justify-self:end}
.menu-btn{display:none;background:none;border:0;width:38px}
.menu-btn span{display:block;height:2px;background:#333;margin:7px 0}
.hero{min-height:650px;background:white;display:grid;grid-template-columns:46% 54%;overflow:hidden}
.hero-copy{padding:110px 8vw 90px 7.3vw;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#fff 72%,rgba(255,255,255,.96) 87%,rgba(255,255,255,.73) 100%);position:relative;z-index:3}
.eyebrow{letter-spacing:.19em;color:#8a7a5d;font-size:12px;font-weight:700;text-transform:uppercase}
.hero h1{font-size:clamp(58px,5.2vw,92px);margin:20px 0 18px;color:#2f2a23;text-wrap:balance;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.rule{width:66px;height:2px;background:linear-gradient(90deg,#7f6c4d 0%, #b79b6a 100%);margin:6px 0 26px;border-radius:999px}
.hero p{font-size:18px;max-width:470px;margin-bottom:30px;color:#5d5a53}
.hero-image{min-height:650px;position:relative;isolation:isolate;overflow:hidden;background:#4d4b42}
.hero-parallax{position:absolute;inset:-7% -4%;will-change:transform;transform:translate3d(0,var(--hero-parallax,0px),0);transition:transform .08s linear}
.hero-kenburns{position:absolute;inset:0;background-image:var(--hero-bg);background-position:center center;background-size:cover;background-repeat:no-repeat;animation:heroKenBurns 18s cubic-bezier(.37,0,.63,1) infinite alternate;will-change:transform}
.hero-shade{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(22,20,17,.42) 0%,rgba(25,22,18,.22) 38%,rgba(20,18,15,.10) 64%,rgba(18,17,14,.28) 100%),
  linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.22) 100%);
pointer-events:none}
.hero-badge{position:absolute;right:34px;bottom:30px;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;color:#fff;background:rgba(35,34,29,.46);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(0,0,0,.14);font-size:12px;font-weight:700;letter-spacing:.10em;text-transform:uppercase}
.hero-badge-dot{width:7px;height:7px;border-radius:50%;background:#d9c9a7;box-shadow:0 0 0 5px rgba(217,201,167,.12);animation:badgePulse 2.8s ease-in-out infinite}
@keyframes heroKenBurns{
  0%{transform:scale(1.06) translate3d(-.8%,.2%,0)}
  100%{transform:scale(1.15) translate3d(1.2%,-1.2%,0)}
}
@keyframes badgePulse{
  0%,100%{box-shadow:0 0 0 4px rgba(217,201,167,.10)}
  50%{box-shadow:0 0 0 8px rgba(217,201,167,.03)}
}
.benefits{background:white;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:38px 9vw 46px;border-top:1px solid #eee}
.benefits article{display:flex;align-items:center;gap:20px;padding-right:26px;border-right:1px solid var(--line);transition:transform .28s ease, opacity .28s ease}
.benefits article:hover{transform:translateY(-4px)}
.icon{width:70px;height:70px;flex:0 0 70px;background:#f2f1ec;border-radius:50%;display:grid;place-items:center;font-size:29px;color:#56614a}
.benefits h3{font-size:21px;margin-bottom:5px}
.benefits p{font-size:14px;color:var(--muted)}
.section{padding:110px 8vw}
.section-tight{padding:38px 4.5vw 105px}
.section-heading{max-width:720px;margin-bottom:56px}
.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}
.section-heading h2{font-size:clamp(38px,4vw,58px);margin:16px 0}
.section-heading p{color:var(--muted);font-size:17px;max-width:760px;margin-left:auto;margin-right:auto}
.intro{background:#f7f5ef}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.intro-grid .lead{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:30px;line-height:1.32;margin-bottom:20px;font-weight:600;color:#38362f}
.intro-grid p:not(.lead){color:var(--muted)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.facts div{background:var(--bg);padding:26px 24px;display:flex;flex-direction:column}
.facts strong{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:48px;font-weight:700;color:#576149;line-height:1}
.facts span{font-size:14px;color:var(--muted)}
.gallery{background:var(--bg)}
.carousel{position:relative;--gap:22px;--spv:3}
.carousel-viewport{overflow:hidden}
.carousel-track{display:flex;gap:var(--gap);will-change:transform;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.carousel-slide{flex:0 0 calc((100% - (var(--gap) * (var(--spv) - 1))) / var(--spv));margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:#ebe7df;box-shadow:var(--shadow);position:relative;transition:transform .38s ease, box-shadow .38s ease, opacity .38s ease}
.carousel-slide::after{content:"";position:absolute;inset:auto 0 0 0;height:32%;background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(34,33,29,.08) 100%);pointer-events:none;opacity:.58}
.carousel-slide img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .75s ease}
.carousel-slide:hover{transform:translateY(-8px);box-shadow:0 24px 58px rgba(48,45,37,.16)}
.carousel-slide:hover img{transform:scale(1.045)}
.carousel-slide.is-active{transform:translateY(-4px)}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(165,149,120,.18);background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(243,237,226,.98) 100%);box-shadow:0 12px 32px rgba(48,45,37,.16);display:grid;place-items:center;font-size:34px;line-height:1;color:#4d5641;cursor:pointer;z-index:2;transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease}
.carousel-btn:hover{transform:translateY(-50%) scale(1.05);box-shadow:0 16px 35px rgba(48,45,37,.18);background:#fff}
.carousel-btn-prev{left:-18px}
.carousel-btn-next{right:-18px}
.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:26px}
.carousel-dot{width:11px;height:11px;border-radius:50%;border:0;background:#d1cdc2;cursor:pointer;transition:transform .24s ease, background-color .24s ease, width .24s ease}
.carousel-dot.is-active{background:#74684c;transform:scale(1.12);width:28px;border-radius:999px}

.gallery-lightbox-trigger{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;font:inherit}
.gallery-lightbox-trigger img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .75s ease,filter .45s ease}
.carousel-slide:hover .gallery-lightbox-trigger img{transform:scale(1.055);filter:saturate(1.04) contrast(1.02)}
.gallery-zoom{position:absolute;right:16px;bottom:16px;z-index:3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.90);color:#514936;box-shadow:0 10px 24px rgba(42,38,31,.16);font-size:23px;line-height:1;opacity:0;transform:translateY(8px) scale(.94);transition:opacity .28s ease,transform .28s ease,background-color .28s ease}
.carousel-slide:hover .gallery-zoom,.gallery-lightbox-trigger:focus-visible .gallery-zoom{opacity:1;transform:none}
.gallery-lightbox-trigger:focus-visible{outline:2px solid #9b835c;outline-offset:-3px}

.lightbox{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:34px;background:rgba(20,19,17,.88);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox-stage{position:relative;width:min(1180px,92vw);height:min(820px,84vh);display:flex;align-items:center;justify-content:center}
.lightbox-image{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.42);transform:scale(.965);opacity:.6;transition:transform .32s ease,opacity .32s ease}
.lightbox.is-open .lightbox-image{transform:scale(1);opacity:1}
.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);color:#fff;backdrop-filter:blur(10px);cursor:pointer;display:grid;place-items:center;transition:background-color .24s ease,transform .24s ease,border-color .24s ease}
.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.28)}
.lightbox-close{top:22px;right:22px;width:48px;height:48px;border-radius:50%;font-size:28px;z-index:3}
.lightbox-nav{top:50%;width:54px;height:54px;border-radius:50%;font-size:34px;line-height:1;transform:translateY(-50%)}
.lightbox-nav:hover{transform:translateY(-50%) scale(1.05)}
.lightbox-prev{left:22px}
.lightbox-next{right:22px}
.lightbox-counter{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:rgba(26,25,22,.50);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.88);font-size:12px;font-weight:700;letter-spacing:.12em}
body.lightbox-open{overflow:hidden}

.amenities{background:white}
.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.amenities-grid>div{background:white;padding:42px 36px;transition:transform .28s ease, box-shadow .28s ease}
.amenities-grid>div:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(48,45,37,.08)}
.amenities-grid span{font-size:28px;color:var(--green)}
.amenities-grid h3{font-size:21px;margin:14px 0 9px}
.amenities-grid p{font-size:14px;color:var(--muted)}
.area{display:grid;grid-template-columns:1.1fr .9fr;background:#e9e6dd}
.area-image{min-height:650px}
.area-image img{width:100%;height:100%;object-fit:cover}
.area-copy{padding:100px 8vw 100px 7vw;display:flex;flex-direction:column;justify-content:center}
.area-copy h2{font-size:clamp(42px,4.6vw,67px);margin:18px 0 28px}
.area-copy>p{color:#5d5d55;font-size:17px;margin-bottom:38px}
.area-links{border-top:1px solid #cfcac0}
.area-links a{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #cfcac0;transition:padding-left .24s ease,color .24s ease}
.area-links a:hover{padding-left:10px;color:#49553d}
.area-links a span{transition:transform .24s ease}
.area-links a:hover span{transform:translateX(4px)}
.story{background:#fff}
.story-card{max-width:980px;margin:auto;padding:86px 8vw;background:linear-gradient(180deg,#f4efe6 0%, #eee6d9 100%);border-radius:30px;text-align:center;transition:transform .32s ease, box-shadow .32s ease;border:1px solid rgba(181,164,132,.14)}
.story-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(48,45,37,.10)}
.story-card h2{font-size:clamp(37px,4vw,56px);margin:18px 0 25px}
.story-card p{max-width:700px;margin:0 auto;color:var(--muted)}
.story-card .signature{margin-top:24px;color:var(--ink);font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:24px;font-weight:600;letter-spacing:.02em}
.reviews{background:#fff;padding-top:48px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review-grid blockquote{margin:0;position:relative;background:linear-gradient(180deg, #f8f4ec 0%, #f1ebe1 100%);border-radius:24px;padding:38px 34px 34px;min-height:270px;display:flex;flex-direction:column;border:1px solid rgba(183,164,126,.16);box-shadow:0 18px 40px rgba(51,44,34,.10), inset 0 1px 0 rgba(255,255,255,.65);transition:transform .30s ease, box-shadow .30s ease, border-color .30s ease;overflow:hidden}
.review-grid blockquote::before{content:"“";position:absolute;top:10px;right:18px;font-family:"Cormorant Garamond",Georgia,serif;font-size:92px;line-height:1;color:rgba(135,111,73,.13)}
.review-grid blockquote::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#7e7155 0%, #b89e72 52%, #7e7155 100%);opacity:.85}
.review-grid blockquote:hover{transform:translateY(-8px);box-shadow:0 24px 46px rgba(51,44,34,.14), inset 0 1px 0 rgba(255,255,255,.75);border-color:rgba(183,164,126,.26)}
.stars{letter-spacing:.16em;color:#8b7652;margin-bottom:20px;font-size:14px}
.review-grid blockquote p{font-family:"Cormorant Garamond",Georgia,serif;font-size:29px;line-height:1.22;color:#312d26;position:relative;z-index:1}
.review-grid footer{margin-top:auto;padding-top:26px;color:#7b7367;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.10em}
.faq{background:#f7f5ef;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.faq-list details{border-top:1px solid #cfcac0;padding:20px 0}
.faq-list details:last-child{border-bottom:1px solid #cfcac0}
.faq-list summary{cursor:pointer;font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:24px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-list summary:after{content:"+";font-family:Arial;font-weight:400;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ece8df;transition:transform .24s ease, background-color .24s ease}
.faq-list summary:hover:after{background:#e2ddd2}
.faq-list details[open] summary:after{content:"−";transform:rotate(180deg)}
.faq-list details p{color:var(--muted);padding-top:14px;max-width:650px}
.booking{padding:100px 8vw;background:linear-gradient(135deg,#3f4338 0%, #505644 44%, #6b735c 100%);color:#fff;display:grid;grid-template-columns:1fr .9fr;gap:9vw;align-items:center;position:relative;overflow:hidden}
.booking .eyebrow{color:#d5dacd}
.booking h2{font-size:clamp(42px,4.5vw,66px);margin:17px 0 25px}
.booking>div>p{color:#e3e6de;max-width:650px}
.booking-box{background:linear-gradient(180deg,#fff 0%, #f7f3ec 100%);color:var(--ink);padding:28px;border-radius:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px;transition:transform .3s ease, box-shadow .3s ease;border:1px solid rgba(184,165,132,.18)}
.booking-box:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(14,14,14,.16)}
.booking-box label{font-size:12px;font-weight:600;color:#6a6a62}
.booking-box input,.booking-box select{display:block;width:100%;margin-top:7px;border:1px solid #d9d7d0;padding:13px 11px;border-radius:7px;font-family:inherit;background:#fff}
.booking-box .btn{grid-column:1/-1;margin-top:5px}
.booking-box small{grid-column:1/-1;color:#888;text-align:center}
.contact{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.contact h2{font-size:clamp(38px,4vw,56px);margin:16px 0 20px}
.contact p{color:var(--muted);max-width:560px;font-size:16px}
.contact-form{display:grid;gap:14px}
.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid #bdbab2;padding:15px 4px;font-family:inherit;font-size:15px;resize:vertical;transition:border-color .24s ease, transform .24s ease}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#657054;transform:translateY(-1px)}
.contact-form .btn{justify-self:start;margin-top:10px}
.footer{background:#292b27;color:#e7e8e2;padding:60px 8vw 30px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;align-items:start}
.footer-brand{color:#d8ddcf;flex-direction:column;align-items:flex-start}
.footer-brand span{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:24px;font-weight:600;letter-spacing:.02em}
.footer-links,.socials{display:flex;flex-direction:column;gap:9px;color:#c8cac5}
.demo-note{grid-column:1/-1;border-top:1px solid #464944;padding-top:18px;margin-top:25px;color:#8f928b;font-size:12px}
.mobile-book{display:none}
.mobile-book small{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;opacity:.78;margin-bottom:2px}
.mobile-book strong{display:block;font-size:16px;font-weight:700;line-height:1.1}
.mobile-book-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10)}
.mobile-book-icon svg{width:21px;height:21px}
.mobile-book-copy{display:block;text-align:left;flex:1;max-width:220px}
.mobile-book-arrow{font-size:22px;transition:transform .24s ease}
.mobile-book:hover .mobile-book-arrow{transform:translateX(4px)}
@media(max-width:980px){
  .admin-bar .site-header{top:46px}
  .site-header{grid-template-columns:1fr auto auto;padding:0 4vw;height:76px}
  .desktop-nav{display:none}
  .header-cta{margin-right:15px;padding:11px 15px;font-size:13px}
  .menu-btn{display:block}
  .site-header.open .desktop-nav{display:flex;position:absolute;top:76px;left:0;right:0;background:white;flex-direction:column;gap:0;padding:15px 4vw 24px;box-shadow:0 15px 25px rgba(0,0,0,.08)}
  .site-header.open .desktop-nav a{padding:12px 0;border-bottom:1px solid #eee}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:76px 7vw 58px}
  .hero-image{min-height:520px;order:-1}
  .hero-badge{right:24px;bottom:24px}
  .benefits{grid-template-columns:1fr;padding:24px 7vw}
  .benefit-card{
border-right:0;
border-bottom:1px solid rgba(224,216,197,.10);
padding:18px 18px;
border-radius:22px
}
  .icon{width:84px;height:84px;flex-basis:84px}
  .benefit-card:last-child{border-bottom:0}
  .intro-grid,.faq,.contact,.booking,.area{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .carousel{--spv:2}
  .carousel-btn-prev{left:-10px}
  .carousel-btn-next{right:-10px}
  .gallery figure:nth-child(2),.gallery figure:nth-child(4){transform:none}
  .amenities-grid{grid-template-columns:1fr 1fr}
  .review-grid{grid-template-columns:1fr}
  .area-image{min-height:520px}
  .area-copy{padding:75px 8vw}
  .booking{gap:45px}
}
@media(max-width:640px){
  body{padding-bottom:102px}
  .site-header{height:68px}
  .brand svg{width:70px}
  .site-header.open .desktop-nav{top:68px}
  .header-cta{display:none}
  .hero-image{min-height:390px}
  .hero-badge{right:16px;bottom:16px;font-size:10px;padding:8px 10px}
  .lightbox{padding:12px}
  .lightbox-stage{width:96vw;height:82vh}
  .lightbox-close{top:10px;right:10px}
  .lightbox-prev{left:10px}
  .lightbox-next{right:10px}
  .gallery-zoom{opacity:1;transform:none;width:38px;height:38px;right:12px;bottom:12px;font-size:20px}
  .hero-copy{padding:52px 6vw 48px}
  .hero h1{font-size:44px}
  .hero p{font-size:16px}
  .section{padding:78px 6vw}
  .section-tight{padding:25px 5vw 75px}
  .section-heading{margin-bottom:36px}
  .section-heading h2{font-size:38px}
  .intro-grid{gap:45px}
  .facts div{padding:20px 14px}
  .facts strong{font-size:34px}
  .gallery-grid{grid-template-columns:1fr;gap:12px}
  .carousel{--spv:1;--gap:14px}
  .carousel-btn{width:44px;height:44px;font-size:28px}
  .carousel-btn-prev{left:8px}
  .carousel-btn-next{right:8px}
  .amenities-grid{grid-template-columns:1fr}
  .amenities-grid>div{padding:30px 26px}
  .area-image{min-height:390px}
  .area-copy{padding:68px 6vw}
  .story-card{padding:58px 7vw}
  .review-grid blockquote{padding:28px}
  .booking{padding:72px 6vw}
  .booking-box{grid-template-columns:1fr}
  .booking-box .btn,.booking-box small{grid-column:auto}
  .contact{gap:40px}
  .footer{grid-template-columns:1fr 1fr;padding:48px 6vw 25px}
  .footer-brand{grid-column:1/-1}
  .mobile-book{display:flex;position:fixed;z-index:60;left:14px;right:14px;bottom:12px;align-items:center;justify-content:center;gap:10px;text-align:center;background:linear-gradient(135deg, rgba(53,56,47,.96) 0%, rgba(111,98,72,.96) 100%);color:#fff;padding:12px 18px 13px;border-radius:18px;font-weight:600;box-shadow:0 18px 34px rgba(17,16,14,.28), inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(12px);border:1px solid rgba(224,213,191,.14)}
}
