:root{--forest:#0d281e;--forest-2:#163c2c;--forest-3:#1d4f39;--ink:#241812;--brown:#32180f;--wood:#27120c;--gold:#c99a48;--gold-light:#e2c17e;--cream:#f6efe3;--ivory:#fffaf1;--paper:#f3eadc;--line:rgba(115,78,37,.2);--shadow:0 24px 70px rgba(28,18,10,.15);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.55}body.modal-open{overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.icon{width:1.2em;height:1.2em;flex:none}.shell{width:min(1220px,calc(100% - 48px));margin-inline:auto}.site-header{position:fixed;z-index:80;inset:0 0 auto;background:linear-gradient(180deg,rgba(27,12,8,.96),rgba(27,12,8,.84));border-bottom:1px solid rgba(224,190,122,.15);backdrop-filter:blur(16px);transition:.35s ease}.site-header.is-scrolled{box-shadow:0 12px 45px rgba(0,0,0,.24);background:rgba(21,10,7,.97)}.header-row{height:84px;display:flex;align-items:center;gap:28px}.brand{align-self:stretch;width:200px;display:flex;align-items:center}.brand img{width:190px;height:76px;object-fit:cover;object-position:center;border-radius:0 0 10px 10px;box-shadow:0 10px 32px rgba(0,0,0,.28)}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:30px;flex:1}.desktop-nav a{position:relative;color:#f9f0e1;text-decoration:none;font-family:var(--serif);font-size:16px;padding:28px 0;transition:color .25s}.desktop-nav a:after{content:"";position:absolute;left:50%;bottom:18px;width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light),transparent);transition:.35s ease;transform:translateX(-50%)}.desktop-nav a:hover{color:var(--gold-light)}.desktop-nav a:hover:after{width:120%}.header-cta{display:flex;align-items:center;gap:12px}.top-phone,.top-book{height:46px;border-radius:8px;display:inline-flex;align-items:center;gap:9px;padding:0 16px;text-decoration:none;font-weight:750;letter-spacing:.02em;transition:.25s;cursor:pointer}.top-phone{color:var(--gold-light);border:1px solid rgba(214,168,85,.72);background:rgba(7,24,18,.52)}.top-book{border:1px solid rgba(222,188,117,.32);background:linear-gradient(135deg,#275d3c,#124127);color:#fff}.top-phone:hover,.top-book:hover{transform:translateY(-2px);filter:brightness(1.08)}.glow-soft{position:relative}.glow-soft:before{content:"";position:absolute;inset:-4px;border-radius:inherit;background:inherit;filter:blur(13px);opacity:.18;z-index:-1;animation:softPulse 3.4s ease-in-out infinite}@keyframes softPulse{0%,100%{opacity:.10;transform:scale(.98)}50%{opacity:.28;transform:scale(1.025)}}.mobile-menu-button{display:none;border:0;background:none;color:white;padding:10px}.mobile-menu-button .icon{width:28px;height:28px}.hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:#12241d}.hero-slides,.hero-slide,.hero-overlay{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:opacity 1.1s ease,transform 7s ease}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-overlay{background:linear-gradient(90deg,rgba(8,17,13,.94) 0%,rgba(8,17,13,.72) 38%,rgba(8,17,13,.12) 70%,rgba(8,17,13,.35) 100%),linear-gradient(0deg,rgba(8,17,13,.62),transparent 50%)}.hero-inner{position:relative;z-index:3;padding-top:104px}.hero-copy{max-width:710px;color:#fff}.kicker{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:800;color:#8b642d}.kicker:after{content:"";width:38px;height:1px;background:currentColor}.kicker-gold{color:var(--gold-light)}.hero h1{font-family:var(--serif);font-size:clamp(48px,5.6vw,82px);font-weight:500;line-height:1.03;letter-spacing:-.035em;margin:23px 0 22px;text-wrap:balance}.hero p{font-size:19px;max-width:630px;color:rgba(255,255,255,.85);margin:0}.hero-actions{display:flex;gap:14px;margin-top:34px}.btn{border:0;border-radius:7px;min-height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:850;cursor:pointer;transition:.25s ease}.btn:hover{transform:translateY(-2px)}.btn-green{background:linear-gradient(135deg,#2a633f,#17452c);color:#fff;box-shadow:0 12px 32px rgba(15,65,38,.2)}.btn-gold{background:linear-gradient(135deg,#d5ad5d,#b7802d);color:#21140e}.btn-outline-gold{background:rgba(22,18,13,.36);border:1px solid rgba(230,194,124,.72);color:#f5ddb0}.btn.full{width:100%}.slide-arrow{position:absolute;z-index:4;top:50%;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.38);background:rgba(10,20,15,.35);color:white;font-size:32px;display:grid;place-items:center;cursor:pointer;transition:.25s}.slide-arrow:hover{background:rgba(19,67,43,.86);border-color:var(--gold)}.slide-prev{left:20px}.slide-next{right:20px}.slide-dots{position:absolute;z-index:5;left:50%;bottom:104px;display:flex;gap:9px;transform:translateX(-50%)}.slide-dots button{width:9px;height:9px;border:1px solid white;border-radius:50%;padding:0;background:transparent}.slide-dots button.is-active{background:var(--gold-light);border-color:var(--gold-light)}.booking-strip{position:relative;z-index:20;margin-top:-70px}.booking-strip-inner{background:rgba(255,250,241,.98);border:1px solid rgba(202,153,72,.55);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr 1fr .75fr 1.25fr;box-shadow:0 28px 65px rgba(24,14,8,.2)}.booking-strip label{padding:4px 18px;border-right:1px solid var(--line)}.booking-strip label span{display:block;font-family:var(--serif);font-size:15px;margin-bottom:5px}.booking-strip input,.booking-strip select{width:100%;border:0;background:transparent;color:#4d3b2d;font-weight:700;outline:none}.booking-submit{border:0;border-radius:8px;background:linear-gradient(135deg,#1c5335,#0f3824);color:white;font-family:var(--serif);font-size:18px;padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;cursor:pointer}.booking-submit small{display:block;width:100%;font-family:var(--sans);font-size:10px;font-weight:500;opacity:.72}.dark-band{background:linear-gradient(115deg,#092119,#153d2c,#0b281e);color:white;border-top:1px solid rgba(210,171,92,.3);border-bottom:1px solid rgba(210,171,92,.3)}.amenity-grid{display:grid;grid-template-columns:repeat(5,1fr);padding:86px 0 31px}.amenity-grid article{text-align:center;padding:10px 22px;border-right:1px solid rgba(217,181,106,.23)}.amenity-grid article:last-child{border:0}.amenity-grid .icon{width:31px;height:31px;color:var(--gold-light);display:block;margin:0 auto 11px}.amenity-grid strong{font-family:var(--serif);font-size:17px;display:block;color:#f6dfad}.amenity-grid span{font-size:12px;color:rgba(255,255,255,.64);display:block;margin-top:5px}.section{padding:96px 0;position:relative}.section-light{background:linear-gradient(115deg,#fffaf1,#f5ecdd)}.section-ivory{background:#f9f4eb}.split-about{display:grid;grid-template-columns:.9fr 1.35fr;gap:66px;align-items:center}.section-copy h2,.section-head h2,.business-copy h2,.contact-card h2{font-family:var(--serif);font-size:clamp(40px,4vw,58px);font-weight:500;line-height:1.08;margin:15px 0}.section-copy h3{font:500 23px/1.4 var(--serif);color:#604126}.section-copy p,.section-head p,.business-copy p{color:#65584c}.mini-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.mini-facts span{border:1px solid #d5bea0;background:rgba(255,255,255,.6);padding:8px 12px;border-radius:99px;font-size:12px;font-weight:750}.premium-image{position:relative;margin:0;padding:12px;border:1px solid rgba(180,134,66,.45);background:#fff;box-shadow:var(--shadow)}.premium-image:before,.premium-image:after{content:"";position:absolute;width:70px;height:70px;border-color:var(--gold);pointer-events:none}.premium-image:before{left:-6px;top:-6px;border-left:2px solid;border-top:2px solid}.premium-image:after{right:-6px;bottom:-6px;border-right:2px solid;border-bottom:2px solid}.premium-image img{display:block;width:100%;height:430px;object-fit:cover}.premium-image figcaption{position:absolute;right:27px;bottom:25px;background:rgba(10,30,22,.88);color:#f5ddab;padding:10px 15px;font:14px var(--serif)}.section-head{text-align:center;max-width:780px;margin:0 auto 45px}.section-head.light h2{color:#fff}.section-head.light p{color:rgba(255,255,255,.66)}.rooms-layout{display:grid;grid-template-columns:1fr 330px;gap:28px;align-items:stretch}.rooms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.room-card{background:#fff;border:1px solid rgba(177,133,73,.32);box-shadow:0 15px 35px rgba(43,28,16,.08);transition:.28s}.room-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(43,28,16,.16);border-color:var(--gold)}.room-image{border:0;padding:0;background:none;width:100%;height:210px;cursor:zoom-in;overflow:hidden}.room-image img{width:100%;height:100%;object-fit:cover;transition:.6s}.room-card:hover img{transform:scale(1.05)}.room-info{padding:20px;text-align:center}.room-info h3{font:500 23px var(--serif);margin:0 0 5px}.room-info p,.room-info span{margin:0;color:#7c6a5a;font-size:13px}.room-info span{display:block;margin-top:5px}.price{margin-top:16px;color:#7b5b38}.price strong{color:var(--forest-2);font:600 25px var(--serif)}.price-panel{background:linear-gradient(160deg,#102e22,#082117);color:white;border:1px solid #c69a4e;outline:5px solid rgba(12,42,30,.08);padding:30px;box-shadow:var(--shadow)}.price-panel h3{font:500 31px var(--serif);margin:15px 0 24px}.price-panel>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(224,190,122,.2);font-size:13px}.price-panel>div strong{color:#f4dca9}.price-panel p{font-size:12px;color:rgba(255,255,255,.58);margin:22px 0}.section-dark{background:radial-gradient(circle at 70% 20%,rgba(67,96,54,.18),transparent 38%),linear-gradient(120deg,#071b14,#102d22 55%,#1e160f);color:white}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{position:relative;min-height:390px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid rgba(222,187,115,.34);background-image:var(--service-image);background-size:cover;background-position:center;box-shadow:0 18px 45px rgba(0,0,0,.25)}.service-card:before{content:"";position:absolute;inset:0;background-image:var(--service-image);background-size:cover;background-position:center;transition:.65s}.service-card:hover:before{transform:scale(1.07)}.service-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,15,10,.96),rgba(3,15,10,.16) 70%)}.service-card>div:last-child{position:relative;z-index:2;padding:25px}.service-card span{color:var(--gold-light);text-transform:uppercase;letter-spacing:.15em;font-size:10px}.service-card h3{font:500 29px var(--serif);margin:7px 0}.service-card p{font-size:13px;color:rgba(255,255,255,.72)}.service-card button{border:0;background:none;color:#f1d59a;padding:0;display:flex;align-items:center;gap:8px;font-weight:800;cursor:pointer}.service-card button .icon{transition:.25s}.service-card:hover button .icon{transform:translateX(5px)}.business-split{display:grid;grid-template-columns:1.1fr .9fr;align-items:center}.business-photo{position:relative}.business-photo img{width:100%;height:500px;object-fit:cover;display:block;box-shadow:var(--shadow)}.business-copy{background:#fff;padding:55px;margin-left:-70px;position:relative;z-index:2;border:1px solid rgba(186,140,72,.3);box-shadow:var(--shadow)}.business-copy ul{list-style:none;padding:0;margin:25px 0}.business-copy li{padding:8px 0;color:#3e503f}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:180px;gap:12px}.gallery-tile{border:0;padding:0;overflow:hidden;background:#ddd;cursor:zoom-in;box-shadow:0 12px 28px rgba(35,22,12,.1)}.gallery-tile.gallery-large{grid-column:span 2;grid-row:span 2}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:.55s}.gallery-tile:hover img{transform:scale(1.07)}.gallery-empty{padding:40px;background:white;border:1px dashed #bea77f;text-align:center}.contact-section{background:linear-gradient(115deg,#092119,#14392a);color:white;padding-bottom:70px}.contact-layout{display:grid;grid-template-columns:420px 1fr;gap:26px}.contact-card{padding:38px;border:1px solid rgba(224,190,122,.34);background:rgba(4,20,14,.52)}.contact-card h2{font-size:42px}.contact-card>a,.contact-card>p{display:flex;gap:14px;align-items:center;color:white;text-decoration:none;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);margin:0}.contact-card .icon{color:var(--gold-light);width:24px;height:24px}.contact-card small{display:block;color:rgba(255,255,255,.5);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.map-card{position:relative;min-height:520px}.map-card iframe{border:0;width:100%;height:100%;min-height:520px;filter:sepia(.18) saturate(.8) contrast(1.03)}.map-navigation{position:absolute;right:20px;bottom:20px;background:var(--forest);color:white;padding:14px 18px;text-decoration:none;border:1px solid var(--gold);display:flex;align-items:center;gap:8px}.site-footer{background:linear-gradient(rgba(25,11,7,.94),rgba(25,11,7,.97)),url('../images/logo-kasztelan.jpg') center/cover;color:#e7d9c7;padding:55px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:45px}.footer-brand img{width:185px;height:105px;object-fit:cover}.footer-grid h3{font:500 17px var(--serif);color:#e7c47f}.footer-grid a,.footer-grid p{display:block;color:#d8c9b6;text-decoration:none;font-size:13px;margin:7px 0}.cms-link{color:var(--gold-light)!important;margin-top:18px!important}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:30px;font-size:11px;color:rgba(255,255,255,.5)}.mobile-dock{display:none}.mobile-drawer{position:fixed;z-index:120;inset:0 0 0 auto;width:min(370px,88vw);background:linear-gradient(150deg,#102b20,#1f100b);padding:72px 35px 30px;color:white;box-shadow:-25px 0 60px rgba(0,0,0,.35)}.mobile-drawer[hidden]{display:none}.mobile-drawer img{width:190px;height:115px;object-fit:cover}.mobile-drawer nav{display:grid;margin:30px 0}.mobile-drawer nav a{color:white;text-decoration:none;font:25px var(--serif);padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1)}.drawer-close{position:absolute;right:20px;top:20px;background:none;border:0;color:white}.drawer-close .icon{width:32px;height:32px}.drawer-phone{display:flex;gap:10px;color:var(--gold-light);text-decoration:none;font-size:19px}.reservation-modal[hidden],.lightbox[hidden]{display:none}.reservation-modal{position:fixed;z-index:150;inset:0;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(3,12,8,.78);backdrop-filter:blur(8px)}.reservation-panel{position:relative;z-index:2;width:min(720px,100%);background:linear-gradient(145deg,#fffaf2,#f3e7d5);padding:42px;border:1px solid var(--gold);box-shadow:0 35px 100px rgba(0,0,0,.5)}.reservation-panel h2{font:500 42px var(--serif);margin:12px 0}.reservation-panel>p{color:#6b5b4d}.modal-close{position:absolute;right:15px;top:15px;border:0;background:#e7d7c0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.reservation-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:25px 0}.reservation-fields label{font:15px var(--serif)}.reservation-fields input,.reservation-fields select{display:block;width:100%;margin-top:6px;border:1px solid #d5bea0;background:white;padding:13px}.reservation-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px}.reservation-actions button,.reservation-actions a{border:1px solid #d5bea0;background:white;color:#2b2119;min-height:72px;padding:12px;display:flex;align-items:center;gap:12px;text-decoration:none;text-align:left;cursor:pointer}.reservation-actions .icon{width:28px;height:28px;color:var(--forest-3)}.reservation-actions strong,.reservation-actions small{display:block}.reservation-actions small{font-size:11px;color:#7d6d5e}.action-whatsapp{background:#e8f4eb!important;border-color:#9cc7a9!important}.lightbox{position:fixed;z-index:170;inset:0;background:rgba(3,10,7,.94);display:grid;place-items:center;padding:35px}.lightbox img{max-width:92vw;max-height:86vh;box-shadow:0 30px 90px rgba(0,0,0,.5)}.lightbox button{position:absolute;right:20px;top:20px;background:none;color:white;border:1px solid rgba(255,255,255,.4);border-radius:50%;width:46px;height:46px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:1060px){.desktop-nav{gap:18px}.top-phone span{display:none}.rooms-layout{grid-template-columns:1fr}.price-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.price-panel h3,.price-panel .kicker,.price-panel p,.price-panel .btn{grid-column:1/-1}.service-grid{grid-template-columns:repeat(2,1fr)}.amenity-grid{grid-template-columns:repeat(3,1fr)}.amenity-grid article:nth-child(3){border-right:0}.amenity-grid article:nth-child(n+4){border-top:1px solid rgba(217,181,106,.2)}.gallery-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:780px){html{scroll-padding-top:74px}.shell{width:min(100% - 28px,1220px)}body{padding-bottom:76px}.site-header{height:72px}.header-row{height:72px}.brand{width:145px}.brand img{width:140px;height:68px}.desktop-nav,.top-book{display:none}.top-phone{margin-left:auto;height:42px;padding:0 12px}.top-phone span{display:inline;font-family:var(--serif)}.mobile-menu-button{display:block}.hero{min-height:650px}.hero-inner{padding-top:70px}.hero-copy{padding-top:80px}.hero h1{font-size:48px}.hero p{font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.slide-arrow{display:none}.slide-dots{bottom:88px}.booking-strip{margin-top:-58px}.booking-strip-inner{grid-template-columns:1fr 1fr}.booking-strip label:nth-child(2){border-right:0}.booking-strip label:nth-child(3){border-top:1px solid var(--line)}.booking-submit{min-height:68px}.amenity-grid{grid-template-columns:repeat(2,1fr);padding-top:52px}.amenity-grid article{border-bottom:1px solid rgba(217,181,106,.2)}.amenity-grid article:nth-child(even){border-right:0}.amenity-grid article:last-child{grid-column:1/-1}.section{padding:72px 0}.split-about,.business-split,.contact-layout{grid-template-columns:1fr}.premium-image img{height:290px}.rooms-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:330px}.business-copy{margin:-35px 18px 0;padding:32px}.business-photo img{height:350px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.gallery-tile.gallery-large{grid-column:span 2}.contact-card{padding:28px}.map-card,.map-card iframe{min-height:390px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.mobile-dock{position:fixed;z-index:100;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(120deg,#0c2f20,#1e5136);box-shadow:0 -10px 35px rgba(0,0,0,.24);transform:translateY(115%);transition:.35s}.mobile-dock.is-visible{transform:none}.mobile-dock a,.mobile-dock button{height:70px;border:0;border-right:1px solid rgba(255,255,255,.12);background:none;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;font:12px var(--serif)}.mobile-dock button:nth-child(2){background:linear-gradient(#e3bd72,#c99a48);color:#25150d}.mobile-dock .icon{width:22px;height:22px}.footer-bottom{flex-direction:column;gap:5px}}
@media(max-width:520px){.top-phone span{font-size:15px}.hero{min-height:610px}.hero-copy{padding-top:72px}.hero h1{font-size:40px}.hero-actions{grid-template-columns:1fr}.booking-strip-inner{grid-template-columns:1fr 1fr;padding:10px}.booking-strip label{padding:5px 10px}.booking-strip label:nth-child(3){grid-column:1/-1;border-right:0}.booking-submit{grid-column:1/-1}.amenity-grid{grid-template-columns:1fr 1fr}.section-copy h2,.section-head h2,.business-copy h2{font-size:38px}.rooms-grid{grid-template-columns:1fr}.room-image{height:230px}.price-panel{grid-template-columns:1fr}.price-panel>div{grid-column:1/-1}.service-grid{grid-template-columns:1fr}.service-card{min-height:350px}.gallery-grid{grid-auto-rows:140px}.contact-card h2{font-size:37px}.footer-grid{grid-template-columns:1fr}.reservation-panel{padding:30px 18px}.reservation-panel h2{font-size:34px}.reservation-fields{grid-template-columns:1fr}.reservation-actions{grid-template-columns:1fr}}


/* ===== Kasztelan Premium v2 ===== */
.phone-pulse{isolation:isolate;animation:phoneFloat 3.2s ease-in-out infinite}.phone-pulse:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(226,193,126,.45);border-radius:inherit;opacity:0;animation:phoneRing 2.8s ease-out infinite;pointer-events:none}@keyframes phoneRing{0%{opacity:0;transform:scale(.96)}25%{opacity:.45}80%,100%{opacity:0;transform:scale(1.14)}}@keyframes phoneFloat{0%,100%{box-shadow:0 0 0 rgba(226,193,126,0)}50%{box-shadow:0 0 28px rgba(226,193,126,.16)}}
.about-more{margin-top:26px}.room-detail-link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:var(--forest-2);font-weight:800;font-size:12px;text-decoration:none}.room-detail-link .icon{width:15px}.room-image{display:block}
.service-tabs{border:1px solid rgba(221,184,111,.33);background:rgba(255,255,255,.03);box-shadow:0 35px 80px rgba(0,0,0,.28)}.service-tab-nav{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(221,184,111,.28)}.service-tab-nav button{min-height:96px;border:0;border-right:1px solid rgba(221,184,111,.2);background:rgba(255,255,255,.025);color:#e9ddcd;padding:18px;cursor:pointer;transition:.3s}.service-tab-nav button:last-child{border-right:0}.service-tab-nav button span,.service-tab-nav button strong{display:block}.service-tab-nav button span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.52)}.service-tab-nav button strong{font:500 20px var(--serif);margin-top:5px}.service-tab-nav button:hover,.service-tab-nav button.is-active{background:linear-gradient(135deg,rgba(205,156,70,.2),rgba(21,78,49,.24));color:#f3d79e}.service-tab-nav button.is-active{box-shadow:inset 0 -3px var(--gold)}.service-detail{display:grid;grid-template-columns:1.15fr .85fr;min-height:460px}.service-detail[hidden]{display:none}.service-detail-image img{width:100%;height:100%;min-height:460px;object-fit:cover;display:block}.service-detail-copy{padding:52px;align-self:center;color:white}.service-detail-copy h3{font:500 43px var(--serif);margin:13px 0}.service-detail-copy p{color:rgba(255,255,255,.72)}.service-detail-copy ul{list-style:none;padding:0;margin:24px 0}.service-detail-copy li{padding:6px 0;color:#ead8b6}
.reviews-section{background:radial-gradient(circle at 20% 0,rgba(201,154,72,.15),transparent 32%),linear-gradient(135deg,#0b271d,#183b2d);color:white}.reviews-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}.reviews-heading h2{font:500 clamp(40px,4vw,58px) var(--serif);margin:12px 0}.reviews-heading p{color:rgba(255,255,255,.62)}.rating-summary{text-align:right;min-width:160px}.rating-summary strong{display:block;font:600 52px var(--serif);color:#f3d59b}.rating-summary small{display:block;color:rgba(255,255,255,.55)}.stars{color:#e2b65f;letter-spacing:.08em}.reviews-track{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));border:1px solid rgba(224,190,122,.25);padding:28px;min-height:260px}.review-card>.icon{color:var(--gold-light);width:30px;height:30px}.review-card p{font:19px/1.55 var(--serif);color:#f2e8dc}.review-card footer{margin-top:24px}.review-card footer strong,.review-card footer span{display:block}.review-card footer span{font-size:11px;color:rgba(255,255,255,.48)}.reviews-actions{display:flex;justify-content:center;gap:12px;margin-top:28px}
.subpage-main{padding-top:84px}.subpage-hero{position:relative;min-height:610px;display:flex;align-items:center;color:white;background-image:linear-gradient(90deg,rgba(5,18,13,.94),rgba(5,18,13,.48),rgba(5,18,13,.2)),var(--subpage-image);background-size:cover;background-position:center}.subpage-hero h1{font:500 clamp(54px,7vw,86px)/1.02 var(--serif);max-width:820px;margin:20px 0}.subpage-hero p{font-size:19px;max-width:690px;color:rgba(255,255,255,.82)}.about-page-grid{display:grid;grid-template-columns:1fr 360px;gap:70px}.long-copy h2{font:500 54px var(--serif);margin:16px 0}.long-copy .lead{font:500 23px/1.5 var(--serif);color:#6f4b2d}.long-copy p{font-size:16px;color:#66584c}.about-facts{background:linear-gradient(160deg,#102f22,#092117);color:white;border:1px solid var(--gold);padding:34px;align-self:start}.about-facts h3{font:500 30px var(--serif);margin:0 0 20px}.about-facts>div{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.about-facts .btn{margin-top:24px}.about-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.about-gallery button{border:0;padding:0;height:260px;overflow:hidden;background:#111}.about-gallery img{width:100%;height:100%;object-fit:cover;transition:.5s}.about-gallery button:hover img{transform:scale(1.05)}.subpage-cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.subpage-cta h2{font:500 48px var(--serif);margin:10px 0}.subpage-cta>div:last-child{display:flex;gap:12px;flex-wrap:wrap}
.rooms-hero{background-position:center 35%}.page-price-table{display:grid;grid-template-columns:1.1fr repeat(2,1fr);background:white;border:1px solid rgba(184,137,68,.35);box-shadow:var(--shadow)}.page-price-table>div{grid-row:span 2;padding:34px;border-right:1px solid var(--line)}.page-price-table h2{font:500 38px var(--serif);margin:10px 0}.page-price-table>a{padding:24px;display:flex;justify-content:space-between;gap:20px;color:var(--ink);text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.page-price-table>a strong{color:var(--forest-2)}.page-price-table>p{grid-column:2/-1;padding:15px 24px;margin:0;color:#776756;font-size:12px}.room-detail-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}.room-detail-section.room-dark{color:white}.room-main-photo{width:100%;height:420px;border:0;padding:0;overflow:hidden;background:#ddd;cursor:zoom-in}.room-main-photo img{width:100%;height:100%;object-fit:cover}.room-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.room-thumbs button{height:95px;border:0;padding:0;overflow:hidden}.room-thumbs img{width:100%;height:100%;object-fit:cover}.room-detail-copy h2{font:500 49px var(--serif);margin:13px 0}.room-detail-copy p{color:#685a4e}.room-dark .room-detail-copy p{color:rgba(255,255,255,.7)}.room-detail-copy ul{list-style:none;padding:0}.room-detail-copy li{padding:6px 0}.room-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.room-meta span{border:1px solid rgba(190,151,88,.35);padding:8px 11px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.room-detail-price{font-size:15px;margin:24px 0}.room-detail-price strong{font:600 33px var(--serif);color:var(--gold)}
.contact-choice-modal[hidden]{display:none}.contact-choice-modal{position:fixed;z-index:151;inset:0;display:grid;place-items:center;padding:20px}.contact-choice-panel{width:min(680px,100%)}.choice-actions{grid-template-columns:1fr 1fr}.choice-actions button,.choice-actions a{min-height:82px}
@media(max-width:1120px){.desktop-nav{gap:15px}.desktop-nav a{font-size:14px}.top-phone{padding:0 12px}.top-book{padding:0 13px}.reviews-track{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.top-book{display:none}.service-detail{grid-template-columns:1fr}.service-detail-image img{min-height:330px;height:330px}.page-price-table{grid-template-columns:1fr 1fr}.page-price-table>div{grid-column:1/-1;grid-row:auto}.page-price-table>p{grid-column:1/-1}.room-detail-layout{grid-template-columns:1fr}.about-page-grid{grid-template-columns:1fr}.about-facts{width:100%}}
@media(max-width:780px){.slide-dots{display:none}.top-phone{padding:0 10px;min-width:137px;justify-content:center}.top-phone span{font-size:15px;white-space:nowrap}.brand{width:118px}.brand img{width:116px;height:66px}.header-row{gap:7px}.header-cta{gap:5px}.mobile-menu-button{padding:7px}.subpage-main{padding-top:72px}.subpage-hero{min-height:560px}.subpage-hero h1{font-size:50px}.service-tab-nav{grid-template-columns:1fr 1fr}.service-tab-nav button:nth-child(2){border-right:0}.service-tab-nav button:nth-child(-n+2){border-bottom:1px solid rgba(221,184,111,.2)}.service-detail-copy{padding:32px 24px}.service-detail-copy h3{font-size:37px}.reviews-heading{align-items:start}.reviews-track{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.review-card{min-width:82vw;scroll-snap-align:start}.about-gallery{grid-template-columns:1fr 1fr}.about-gallery button{height:180px}.subpage-cta{display:block}.subpage-cta>div:last-child{margin-top:24px}.room-detail-section{padding:68px 0}.page-price-table{grid-template-columns:1fr}.page-price-table>a{border-right:0}.room-main-photo{height:330px}.reviews-actions{flex-direction:column}.reviews-actions .btn{width:100%}}
@media(max-width:520px){.top-phone{min-width:128px}.top-phone span{font-size:14px}.service-tab-nav{grid-template-columns:1fr}.service-tab-nav button{border-right:0;border-bottom:1px solid rgba(221,184,111,.2)!important;min-height:72px;text-align:left}.service-detail-image img{height:245px;min-height:245px}.reviews-heading{display:block}.rating-summary{text-align:left;margin-top:18px}.about-gallery{grid-template-columns:1fr}.about-gallery button{height:220px}.subpage-hero h1{font-size:42px}.page-price-table>a{display:block}.page-price-table>a strong{display:block;margin-top:5px}.room-main-photo{height:260px}.room-thumbs{grid-template-columns:repeat(3,1fr)}.room-thumbs button{height:76px}.choice-actions{grid-template-columns:1fr}}
@media(max-width:1060px) and (min-width:781px){.top-phone span{display:inline;white-space:nowrap}.top-phone{padding-inline:11px}.top-book{display:none}}
@media(max-width:980px) and (min-width:781px){.desktop-nav{display:none}.mobile-menu-button{display:block}.header-cta{margin-left:auto}}


/* Rooms page v3 — szybki wybór pokoju */
.rooms-page{background:#f6efe3}.rooms-compact-head{padding:138px 0 34px;background:radial-gradient(circle at 78% 20%,rgba(207,166,87,.16),transparent 32%),linear-gradient(135deg,#0b261b,#24120c);color:#fff;border-bottom:1px solid rgba(213,174,99,.55)}.rooms-compact-head-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:36px}.rooms-compact-head h1{font:500 clamp(44px,6vw,72px)/.98 var(--serif);margin:8px 0 12px}.rooms-compact-head p{max-width:660px;margin:0;color:rgba(255,255,255,.75);font-size:17px}.rooms-head-phone{display:flex;align-items:center;gap:13px;padding:13px 20px;border:1px solid rgba(224,187,111,.75);color:#f5d18b;text-decoration:none;background:rgba(6,27,18,.62);white-space:nowrap}.rooms-head-phone .icon{width:24px;height:24px}.rooms-head-phone small,.rooms-head-phone strong{display:block}.rooms-head-phone small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62)}.rooms-head-phone strong{font:22px var(--serif);margin-top:2px}.room-jump-wrap{position:sticky;z-index:45;top:79px;background:rgba(250,245,236,.95);border-bottom:1px solid rgba(137,101,54,.22);box-shadow:0 14px 35px rgba(40,24,12,.09);backdrop-filter:blur(14px)}.room-jump-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:12px;padding-bottom:12px}.room-jump-item{min-width:0;display:grid;grid-template-columns:56px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:8px;border:1px solid transparent;color:#281c14;text-decoration:none;transition:.25s;background:rgba(255,255,255,.45)}.room-jump-item img{width:56px;height:48px;object-fit:cover}.room-jump-item strong,.room-jump-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-jump-item strong{font:17px var(--serif)}.room-jump-item small{font-size:11px;color:#7e6650;margin-top:3px}.room-jump-item .icon{width:17px;height:17px;color:#9c7437;transition:.25s}.room-jump-item:hover,.room-jump-item.is-active{border-color:#c89b4f;background:#fff9ed;box-shadow:0 8px 24px rgba(91,57,20,.1)}.room-jump-item:hover .icon,.room-jump-item.is-active .icon{transform:translateX(3px)}.room-showcase{scroll-margin-top:175px;padding:86px 0;border-bottom:1px solid rgba(128,95,50,.18)}.room-showcase-light{background:linear-gradient(140deg,#fffaf1,#efe2cf)}.room-showcase-dark{background:radial-gradient(circle at 15% 20%,rgba(200,155,75,.14),transparent 30%),linear-gradient(140deg,#0b281d,#24130d);color:white}.room-showcase-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:58px;align-items:center}.room-showcase-dark .room-showcase-gallery{order:2}.room-showcase-gallery{display:grid;gap:10px}.room-showcase-main{position:relative;padding:0;border:0;background:#160e09;overflow:hidden;cursor:zoom-in;box-shadow:0 25px 55px rgba(36,20,8,.2)}.room-showcase-main img{display:block;width:100%;height:430px;object-fit:cover;transition:transform .7s}.room-showcase-main:hover img{transform:scale(1.025)}.room-showcase-main>span{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:8px;padding:10px 13px;background:rgba(10,34,23,.9);color:white;font:14px var(--serif)}.room-showcase-main .icon{width:16px}.room-showcase-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.room-showcase-thumbs button{border:0;padding:0;background:none;cursor:zoom-in}.room-showcase-thumbs img{display:block;width:100%;height:92px;object-fit:cover;transition:.25s}.room-showcase-thumbs button:hover img{filter:brightness(.82)}.room-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(122,89,47,.24);padding-bottom:18px}.room-showcase-dark .room-title-row{border-color:rgba(255,255,255,.15)}.room-title-row h2{font:500 clamp(38px,4vw,58px)/1 var(--serif);margin:6px 0 0}.room-price-compact{text-align:right;white-space:nowrap}.room-price-compact small,.room-price-compact span{display:block;font-size:11px;opacity:.65}.room-price-compact strong{font:34px var(--serif);color:#8b5e20}.room-showcase-dark .room-price-compact strong{color:#edc778}.room-quick-meta{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.room-quick-meta span{display:inline-flex;gap:7px;align-items:center;padding:8px 12px;border:1px solid rgba(132,93,43,.25);font-size:12px}.room-showcase-dark .room-quick-meta span{border-color:rgba(229,192,117,.24)}.room-quick-meta .icon{width:17px;height:17px;color:#a47631}.room-description{font-size:16px;line-height:1.75;opacity:.82}.room-amenities-block{margin-top:26px}.room-amenities-block h3{font:22px var(--serif);margin:0 0 12px}.room-amenity-chips{display:flex;flex-wrap:wrap;gap:8px}.room-amenity-chips span{padding:8px 11px;background:rgba(255,255,255,.72);border:1px solid rgba(129,94,47,.18);font-size:12px}.room-showcase-dark .room-amenity-chips span{background:rgba(255,255,255,.07);border-color:rgba(230,194,123,.2)}.room-more-details{margin-top:22px;border-top:1px solid rgba(127,94,50,.2);border-bottom:1px solid rgba(127,94,50,.2)}.room-showcase-dark .room-more-details{border-color:rgba(255,255,255,.14)}.room-more-details summary{display:flex;align-items:center;justify-content:space-between;padding:14px 0;cursor:pointer;font:16px var(--serif);list-style:none}.room-more-details summary::-webkit-details-marker{display:none}.room-more-details summary .icon{width:17px;transition:.25s}.room-more-details[open] summary .icon{transform:rotate(90deg)}.room-more-details ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;margin:0 0 18px;padding-left:18px;font-size:13px;opacity:.78}.room-showcase-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
@media(max-width:1060px){.room-jump-menu{grid-template-columns:repeat(2,1fr)}.room-showcase-grid{grid-template-columns:1fr;gap:34px}.room-showcase-dark .room-showcase-gallery{order:0}.room-showcase-copy{max-width:760px}}
@media(max-width:780px){.rooms-compact-head{padding:106px 0 24px}.rooms-compact-head-inner{display:block}.rooms-compact-head h1{font-size:44px}.rooms-compact-head p{font-size:14px}.rooms-head-phone{margin-top:22px;width:max-content}.room-jump-wrap{top:71px}.room-jump-menu{display:flex;overflow-x:auto;gap:8px;padding:9px 14px;width:100%;scrollbar-width:none}.room-jump-menu::-webkit-scrollbar{display:none}.room-jump-item{flex:0 0 225px;grid-template-columns:48px minmax(0,1fr) 16px}.room-jump-item img{width:48px;height:43px}.room-showcase{scroll-margin-top:145px;padding:56px 0}.room-showcase-grid{gap:27px}.room-showcase-main img{height:300px}.room-showcase-thumbs{gap:6px}.room-showcase-thumbs img{height:68px}.room-title-row{align-items:flex-start}.room-title-row h2{font-size:39px}.room-price-compact strong{font-size:27px}.room-more-details ul{grid-template-columns:1fr}}
@media(max-width:520px){.rooms-compact-head h1{font-size:39px}.rooms-head-phone{width:100%;justify-content:center}.room-showcase-main img{height:240px}.room-showcase-thumbs{grid-template-columns:repeat(3,1fr)}.room-showcase-thumbs button:nth-child(n+4){display:none}.room-title-row{display:block}.room-price-compact{text-align:left;margin-top:15px}.room-price-compact small,.room-price-compact span{display:inline}.room-showcase-actions{display:grid;grid-template-columns:1fr 1fr}.room-showcase-actions .btn{padding-left:12px;padding-right:12px}}

/* ===== Kasztelan Premium v4 ===== */
.brand img,.mobile-drawer>img,.footer-brand img{object-fit:contain;background:rgba(31,14,9,.35)}
.footer-bottom a{color:inherit;text-decoration:none}.footer-bottom a:hover{color:var(--gold-light)}
.footer-keywords{margin-top:28px;padding:17px 0;border-top:1px solid rgba(229,194,123,.13);display:flex;align-items:center;justify-content:center;gap:8px 14px;flex-wrap:wrap;color:rgba(255,255,255,.42);font-size:11px;letter-spacing:.025em}
.footer-keywords>span:first-child{color:rgba(230,195,124,.72);font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.footer-keyword{position:relative}.footer-keyword:not(:last-child):after{content:'•';position:absolute;right:-10px;color:rgba(230,195,124,.35)}
.room-picker-assistant{display:none}
.room-jump-wrap{position:sticky;overflow:hidden}
.room-jump-edge{display:none;position:absolute;z-index:4;top:0;bottom:0;width:38px;pointer-events:none}
.room-jump-edge-left{left:0;background:linear-gradient(90deg,#faf5ec,rgba(250,245,236,0))}
.room-jump-edge-right{right:0;background:linear-gradient(-90deg,#faf5ec,rgba(250,245,236,0))}
@media(max-width:780px){
  .room-picker-assistant{display:block;background:linear-gradient(120deg,#102e22,#1b4934);color:#fff;border-top:1px solid rgba(226,190,119,.42);border-bottom:1px solid rgba(226,190,119,.38)}
  .room-picker-assistant-inner{min-height:82px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 42px;align-items:center;gap:8px;padding-top:9px;padding-bottom:9px}
  .room-picker-arrow{width:40px;height:40px;border-radius:50%;border:1px solid rgba(224,190,122,.55);background:rgba(255,255,255,.06);color:#f1d79e;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 0 rgba(218,176,92,.18);animation:pickerGlow 2.7s ease-in-out infinite}
  .room-picker-prev .icon{transform:rotate(180deg)}
  .room-picker-message{min-width:0;text-align:center;line-height:1.15}
  .room-picker-kicker{display:block;color:#dcb970;text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:900;margin-bottom:3px}
  .room-picker-message strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 18px var(--serif);color:#fff9ee}
  .room-picker-message small{display:block;margin-top:5px;color:rgba(255,255,255,.66);font-size:10px}
  .swipe-hand{display:inline-block;transform:rotate(-22deg);transform-origin:50% 100%;animation:swipeHint 1.7s ease-in-out infinite}
  .room-picker-count{display:flex;align-items:baseline;gap:2px;color:rgba(255,255,255,.5);font-size:11px}.room-picker-count b{font:600 20px var(--serif);color:#edcc88}
  .room-picker-assistant.is-teasing .room-picker-next{animation:pickerNudge .75s ease-in-out 2}
  .room-jump-wrap{top:71px}
  .room-jump-edge{display:block}
  .room-jump-menu{scroll-snap-type:x mandatory;scroll-padding-inline:50%;padding-left:26px;padding-right:26px}
  .room-jump-item{scroll-snap-align:center;flex-basis:min(78vw,270px);border-radius:10px;box-shadow:0 8px 20px rgba(74,47,17,.06)}
  .room-jump-item.is-active{transform:translateY(-1px);box-shadow:0 10px 26px rgba(62,42,20,.14),inset 0 0 0 1px rgba(200,155,79,.25)}
  .footer-keywords{justify-content:flex-start;padding-inline:0;font-size:10px}
}
@keyframes pickerGlow{0%,100%{box-shadow:0 0 0 0 rgba(218,176,92,.12)}50%{box-shadow:0 0 0 7px rgba(218,176,92,0)}}
@keyframes swipeHint{0%,100%{transform:translateX(-2px) rotate(-22deg)}50%{transform:translateX(8px) rotate(-12deg)}}
@keyframes pickerNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){.room-picker-arrow,.swipe-hand{animation:none}}
@media(max-width:520px){
  .top-phone{min-width:142px;max-width:calc(100vw - 198px);padding-inline:9px}
  .top-phone span{display:inline!important;font-size:14px!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
  .top-phone .icon{width:17px;height:17px}
  .room-picker-assistant-inner{width:calc(100% - 22px);grid-template-columns:38px minmax(0,1fr) auto 38px}
  .room-picker-arrow{width:36px;height:36px}
}

/* ===== Kasztelan Premium v5: privacy page + refined mobile navigation ===== */
.mobile-drawer-overlay{position:fixed;z-index:110;inset:0;background:rgba(7,10,8,.72);backdrop-filter:blur(5px);opacity:0;transition:opacity .34s ease;cursor:pointer}
.mobile-drawer-overlay[hidden]{display:none}
.mobile-drawer-overlay.is-open{opacity:1}
.mobile-drawer{display:block;transform:translate3d(104%,0,0);opacity:.96;visibility:hidden;transition:transform .38s cubic-bezier(.22,.78,.24,1),opacity .3s ease,visibility 0s linear .38s;will-change:transform}
.mobile-drawer.is-open{transform:translate3d(0,0,0);opacity:1;visibility:visible;transition-delay:0s}
.mobile-menu-button{width:44px;height:44px;border:1px solid rgba(226,193,126,.28);border-radius:12px;background:linear-gradient(145deg,rgba(40,75,55,.78),rgba(21,35,27,.9));box-shadow:0 10px 28px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.08);align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;transition:background .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease}
.mobile-menu-button:hover{border-color:rgba(226,193,126,.58);box-shadow:0 12px 34px rgba(0,0,0,.32),0 0 22px rgba(201,154,72,.13)}
.mobile-menu-button .menu-line{display:block;width:21px;height:2px;border-radius:99px;background:var(--gold-light);transform-origin:center;transition:transform .34s cubic-bezier(.22,.78,.24,1),opacity .22s ease,width .28s ease}
.mobile-menu-button .menu-line-middle{width:16px;align-self:center}
.mobile-menu-button.is-active{background:linear-gradient(145deg,#6a3a1f,#2d180f);border-color:rgba(226,193,126,.72);transform:rotate(0.001deg)}
.mobile-menu-button.is-active .menu-line-top{transform:translateY(7px) rotate(45deg)}
.mobile-menu-button.is-active .menu-line-middle{opacity:0;transform:scaleX(.2)}
.mobile-menu-button.is-active .menu-line-bottom{transform:translateY(-7px) rotate(-45deg)}
.mobile-drawer nav a{position:relative;transition:color .2s ease,padding-left .25s ease}
.mobile-drawer nav a:before{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--gold-light);transition:width .28s ease}
.mobile-drawer nav a:hover{color:var(--gold-light);padding-left:7px}
.mobile-drawer nav a:hover:before{width:100%}
body.menu-open .site-header{background:rgba(18,9,6,.98)}

.privacy-hero{padding:154px 0 76px;background:radial-gradient(circle at 78% 15%,rgba(201,154,72,.15),transparent 29%),linear-gradient(135deg,#0b261b 0%,#153a29 48%,#28130c 100%);color:#fff;position:relative;overflow:hidden}
.privacy-hero:after{content:"";position:absolute;inset:auto -10% -170px 45%;height:330px;border:1px solid rgba(226,193,126,.15);border-radius:50%;transform:rotate(-8deg)}
.privacy-hero .shell{position:relative;z-index:1}
.privacy-hero h1{font:500 clamp(44px,6vw,72px)/1.04 var(--serif);letter-spacing:-.035em;margin:18px 0 18px;max-width:850px}
.privacy-hero p{max-width:780px;color:rgba(255,255,255,.78);font-size:18px;margin:0}
.privacy-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:38px;align-items:start;padding-top:64px;padding-bottom:90px}
.privacy-nav{position:sticky;top:112px;padding:22px;background:#f1e6d6;border:1px solid rgba(121,82,39,.18);box-shadow:0 18px 50px rgba(54,30,13,.08)}
.privacy-nav strong{display:block;font:500 18px var(--serif);margin-bottom:10px;color:#392116}
.privacy-nav a{display:block;padding:9px 0;color:#675345;text-decoration:none;font-size:13px;border-bottom:1px solid rgba(121,82,39,.11)}
.privacy-nav a:hover{color:#0e4b35}
.privacy-content{min-width:0}
.privacy-card{scroll-margin-top:112px;background:#fffdf8;border:1px solid rgba(121,82,39,.16);padding:34px 38px;margin-bottom:18px;box-shadow:0 18px 58px rgba(55,32,14,.07)}
.privacy-card h2{font:500 clamp(28px,3.6vw,40px)/1.1 var(--serif);margin:0 0 18px;color:#2e1c13}
.privacy-card h3{font:600 19px var(--serif);margin:25px 0 8px;color:#17402f}
.privacy-card p,.privacy-card li{color:#5f5147;font-size:15px}
.privacy-card ul{padding-left:21px}
.privacy-card li+li{margin-top:7px}
.privacy-controller{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.privacy-controller div{background:#f4ecdf;border:1px solid rgba(121,82,39,.13);padding:15px 17px}
.privacy-controller span{display:block;text-transform:uppercase;letter-spacing:.12em;color:#96713b;font-size:10px;font-weight:800;margin-bottom:4px}
.privacy-controller strong{font-size:14px;color:#33231a;overflow-wrap:anywhere}
.privacy-note{border-left:3px solid var(--gold);padding:14px 18px;background:#f7efe2;color:#5b4637;margin:22px 0}
.privacy-date{display:inline-flex;margin-top:22px;border:1px solid rgba(226,193,126,.42);padding:9px 13px;color:var(--gold-light);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.footer-legal-links{display:inline-flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.footer-legal-links a{color:inherit;text-decoration:none}
.footer-legal-links a:hover{color:var(--gold-light)}

@media(max-width:780px){
  .header-cta{margin-left:auto;margin-right:54px}
  .mobile-menu-button{display:inline-flex;position:fixed;right:14px;top:14px;z-index:140}
  .mobile-drawer{width:min(370px,89vw);padding:94px 30px 32px}
  .mobile-drawer img{width:170px;height:96px}
  .mobile-drawer nav{margin:22px 0}
  .mobile-drawer nav a{font-size:23px;padding:13px 0}
  .privacy-hero{padding:122px 0 58px}
  .privacy-hero h1{font-size:44px}
  .privacy-hero p{font-size:16px}
  .privacy-layout{grid-template-columns:1fr;gap:20px;padding-top:32px;padding-bottom:70px}
  .privacy-nav{position:relative;top:auto;display:flex;gap:8px;overflow:auto;padding:12px;scrollbar-width:none}
  .privacy-nav::-webkit-scrollbar{display:none}
  .privacy-nav strong{display:none}
  .privacy-nav a{white-space:nowrap;border:1px solid rgba(121,82,39,.16);background:#fff9ef;border-radius:99px;padding:9px 13px}
  .privacy-card{padding:27px 22px}
  .privacy-controller{grid-template-columns:1fr}
  .footer-legal-links{justify-content:flex-start}
}
@media(max-width:520px){
  .header-cta{margin-right:50px}
  .top-phone{padding:0 10px;min-width:0}
  .top-phone span{font-size:14px}
  .privacy-hero h1{font-size:39px}
}

/* ===== Kasztelan Premium v6 ===== */
.slide-arrow{display:none!important}
.hotel-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0 6px}.hotel-highlight-card{aspect-ratio:1/1;min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;text-align:center;border:1px solid rgba(166,122,62,.32);background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(242,230,211,.72));box-shadow:0 12px 28px rgba(55,33,15,.07);transition:.28s}.hotel-highlight-card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 18px 36px rgba(55,33,15,.13)}.hotel-highlight-card .icon{width:27px;height:27px;color:#9b6b28}.hotel-highlight-card strong{font:500 15px/1.25 var(--serif)}
.price small,.price em{font-size:11px;font-style:normal;color:#8a755f}.price small{display:block;text-transform:uppercase;letter-spacing:.09em}.stay-hours{background:rgba(255,255,255,.055);margin-top:12px;padding-inline:10px!important}.stay-hours strong{white-space:nowrap}
.rooms-stay-info{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.rooms-stay-info span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(226,193,126,.26);background:rgba(255,255,255,.06);font-size:12px;color:rgba(255,255,255,.75)}.rooms-stay-info .icon{color:var(--gold-light);width:17px}.rooms-stay-info strong{color:#fff}
.room-media-track{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.room-media-slide{position:relative;border:0;padding:0;background:#160e09;overflow:hidden;cursor:zoom-in;height:92px}.room-media-slide:first-child{grid-column:1/-1;height:430px;box-shadow:0 25px 55px rgba(36,20,8,.2)}.room-media-slide img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .25s}.room-media-slide:hover img{transform:scale(1.025);filter:brightness(.9)}.room-media-slide>span{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:8px;padding:10px 13px;background:rgba(10,34,23,.9);color:#fff;font:14px var(--serif)}.room-swipe-hint{display:none}.room-showcase-dark .room-media-slide{box-shadow:0 25px 55px rgba(0,0,0,.28)}
.swipe-gallery-hint{display:none;align-items:center;justify-content:center;gap:8px;margin-top:15px;color:#8a693b;font-size:12px;font-weight:750}.swipe-gallery-hint .icon{width:17px}.gallery-swipe{display:flex;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b78a45 transparent;padding:4px 2px 18px}.gallery-swipe-item{flex:0 0 min(31vw,360px);height:275px;border:0;padding:0;background:#23150e;scroll-snap-align:start;overflow:hidden;cursor:zoom-in;box-shadow:0 15px 32px rgba(49,28,12,.12)}.gallery-swipe-item.is-featured{flex-basis:min(46vw,540px)}.gallery-swipe-item img{width:100%;height:100%;object-fit:cover;display:block;transition:.55s}.gallery-swipe-item:hover img{transform:scale(1.035);filter:brightness(.9)}
.reviews-slider{max-width:880px;margin:0 auto}.reviews-viewport{overflow:hidden}.reviews-track{display:flex!important;gap:0!important;transition:transform .72s cubic-bezier(.22,.75,.2,1);will-change:transform}.review-card{flex:0 0 100%;min-width:100%!important;min-height:280px;padding:38px 44px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.review-card p{font-size:clamp(20px,2.3vw,28px);max-width:720px;margin:17px auto}.review-card footer{margin-top:16px}.reviews-progress{height:2px;background:rgba(255,255,255,.12);margin:18px auto 0;width:min(260px,55vw);overflow:hidden}.reviews-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:left}.reviews-progress span.is-running{animation:reviewProgress 5.2s linear forwards}@keyframes reviewProgress{to{transform:scaleX(1)}}
.contact-hours{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.contact-hours span{display:grid;grid-template-columns:26px 1fr;align-items:center;column-gap:7px;padding:12px;border:1px solid rgba(223,188,117,.2);background:rgba(255,255,255,.045)}.contact-hours .icon{grid-row:1/3;color:var(--gold-light)}.contact-hours small,.contact-hours strong{display:block}.contact-hours small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55)}.contact-hours strong{font:17px var(--serif);color:#fff}
.mobile-dock.is-footer-hidden{transform:translateY(120%)!important;opacity:0;pointer-events:none}.mobile-dock [data-dock-reservation]{position:relative}.mobile-dock [data-dock-reservation].is-coach-target{z-index:210;animation:dockBookingPulse 1.1s ease-in-out infinite}@keyframes dockBookingPulse{50%{filter:brightness(1.18);box-shadow:0 0 28px rgba(232,193,112,.75)}}
.dock-coach-overlay[hidden],.dock-booking-coach[hidden]{display:none}.dock-coach-overlay{position:fixed;z-index:185;inset:0;background:rgba(5,12,9,.72);backdrop-filter:blur(3px)}.dock-booking-coach{position:fixed;z-index:211;left:14px;right:14px;bottom:calc(87px + env(safe-area-inset-bottom));max-width:470px;margin-inline:auto;padding:19px 18px;background:linear-gradient(145deg,#fff9ed,#eee0c9);border:1px solid #d1a75d;color:#24160d;box-shadow:0 30px 75px rgba(0,0,0,.36);display:grid;grid-template-columns:42px 1fr;gap:12px;transform:translateY(24px) scale(.96);opacity:0;transition:.28s}.dock-booking-coach.is-open{transform:none;opacity:1}.dock-booking-coach>button:first-child{position:absolute;right:8px;top:8px;border:0;background:none;color:#765938;padding:6px}.dock-booking-coach .coach-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d6aa58,#b87b27);color:#fff}.dock-booking-coach .coach-icon .icon{width:22px}.dock-booking-coach strong{font:24px var(--serif)}.dock-booking-coach p{margin:4px 0 0;font-size:12px;color:#695744}.coach-action{grid-column:1/-1;border:0;background:linear-gradient(135deg,#1c5838,#0c3823);color:#fff;min-height:44px;font-weight:800;cursor:pointer}
body.directions-coach-open .map-card{z-index:205;position:relative;box-shadow:0 0 0 5px rgba(229,189,109,.55),0 30px 80px rgba(0,0,0,.5)}.map-arrival-bubble[hidden]{display:none}.map-arrival-bubble{position:absolute;z-index:5;left:18px;right:18px;top:18px;padding:15px 18px;background:rgba(8,39,26,.95);border:1px solid var(--gold-light);color:#fff;box-shadow:0 16px 45px rgba(0,0,0,.3)}.map-arrival-bubble strong,.map-arrival-bubble span{display:block}.map-arrival-bubble strong{font:24px var(--serif);color:#f3d59a}.map-arrival-bubble span{font-size:12px;margin-top:4px}.map-navigation.is-navigation-pulse{animation:navigationPulse 1.05s ease-in-out infinite}@keyframes navigationPulse{50%{transform:translateX(-50%) scale(1.04);box-shadow:0 0 35px rgba(226,183,92,.8)}}
.reservation-stay-note{display:flex;align-items:center;gap:9px;margin:14px 0 20px;padding:10px 12px;background:#f5ecde;color:#694d2b;font-size:12px}.reservation-stay-note .icon{color:#9b6b28}
.lightbox-arrow{position:fixed;z-index:3;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.36);background:rgba(6,25,17,.72);color:#fff;display:grid;place-items:center;cursor:pointer}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox-close{position:fixed!important}.lightbox-counter{position:fixed;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);padding:7px 12px;background:rgba(6,25,17,.72);color:#fff;font-size:12px;border:1px solid rgba(255,255,255,.2)}
.reception-toast[hidden]{display:none}.reception-toast{position:fixed;z-index:130;right:22px;bottom:22px;width:min(430px,calc(100% - 28px));display:grid;grid-template-columns:34px 1fr 28px;align-items:center;gap:10px;padding:14px 15px;background:linear-gradient(145deg,#0b3222,#1a5035);border:1px solid rgba(226,192,121,.6);color:#fff;box-shadow:0 20px 55px rgba(0,0,0,.28);transform:translateY(24px);opacity:0;transition:.28s}.reception-toast.is-visible{transform:none;opacity:1}.reception-toast>.icon{color:var(--gold-light);width:27px}.reception-toast strong,.reception-toast span{display:block}.reception-toast strong{font:18px var(--serif)}.reception-toast span{font-size:11px;color:rgba(255,255,255,.68)}.reception-toast button{border:0;background:none;color:#fff;padding:4px}
.service-page-main{background:#f8f1e5}.service-page-hero{position:relative;min-height:610px;display:flex;align-items:center;background-image:var(--service-image);background-size:cover;background-position:center}.service-page-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,15,.94),rgba(5,22,15,.55),rgba(5,22,15,.18))}.service-page-hero-inner{position:relative;z-index:2;color:#fff}.service-page-hero h1{font:500 clamp(54px,7vw,88px)/1 var(--serif);margin:17px 0}.service-page-hero p{font-size:19px;max-width:680px;color:rgba(255,255,255,.8)}.service-page-grid{display:grid;grid-template-columns:1fr 350px;gap:70px}.service-page-copy h2{font:500 56px/1.05 var(--serif);margin:16px 0}.service-page-lead{font:21px/1.65 var(--serif);color:#60482e}.service-page-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.service-page-points span{display:flex;align-items:center;gap:9px;padding:14px;border:1px solid rgba(161,117,55,.25);background:#fff}.service-page-points .icon{width:17px;color:#a6762d}.service-page-contact{align-self:start;padding:32px;background:linear-gradient(150deg,#0c2d20,#24130d);color:#fff;border:1px solid var(--gold)}.service-page-contact h3{font:500 34px var(--serif);margin:15px 0}.service-page-contact p{color:rgba(255,255,255,.65)}.service-page-contact .btn+.btn{margin-top:10px}
@media(max-width:980px){.hotel-highlight-grid{grid-template-columns:repeat(3,1fr)}.service-page-grid{grid-template-columns:1fr}.service-page-contact{width:100%}}
@media(max-width:780px){
  .hotel-highlight-grid{grid-template-columns:repeat(2,1fr);gap:8px}.hotel-highlight-card{min-height:118px}.slide-dots{display:none!important}
  .rooms-stay-info{margin-top:15px;gap:6px}.rooms-stay-info span{flex:1 1 45%;justify-content:center;text-align:center}.room-media-track{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-14px;padding-inline:14px}.room-media-track::-webkit-scrollbar{display:none}.room-media-slide,.room-media-slide:first-child{flex:0 0 87vw;height:300px;grid-column:auto;scroll-snap-align:center;box-shadow:0 16px 38px rgba(30,16,6,.2)}.room-media-slide>span{right:12px;bottom:12px}.room-swipe-hint{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 12px;border:1px solid rgba(184,139,67,.35);font-size:11px}.room-swipe-hint .icon{width:17px;animation:swipeHint 1.8s ease-in-out infinite}.room-swipe-hint span{opacity:.62}@keyframes swipeHint{50%{transform:translateX(9px)}}
  .swipe-gallery-hint{display:flex}.gallery-swipe{margin-inline:-14px;padding-inline:14px;scrollbar-width:none}.gallery-swipe::-webkit-scrollbar{display:none}.gallery-swipe-item,.gallery-swipe-item.is-featured{flex:0 0 82vw;height:255px}.gallery-swipe:not(.has-been-swiped){animation:galleryNudge 2.2s ease-in-out 1 1.2s}@keyframes galleryNudge{40%{transform:translateX(-16px)}70%{transform:translateX(0)}}
  .review-card{padding:28px 20px;min-height:310px}.review-card p{font-size:21px}.contact-hours{grid-template-columns:1fr}.reception-toast{right:14px;bottom:calc(86px + env(safe-area-inset-bottom));}.lightbox-arrow{width:44px;height:44px}.lightbox-prev{left:8px}.lightbox-next{right:8px}
  .service-page-hero{min-height:560px}.service-page-hero h1{font-size:50px}.service-page-grid{gap:35px}.service-page-copy h2{font-size:44px}.service-page-points{grid-template-columns:1fr}.service-page-contact{padding:25px}
}
@media(max-width:520px){.hotel-highlight-card{min-height:105px}.room-media-slide,.room-media-slide:first-child{height:250px}.room-price-compact small,.room-price-compact span{display:block}.rooms-stay-info span{flex-basis:100%}.service-page-hero h1{font-size:42px}.service-page-hero p{font-size:16px}}
body.booking-coach-open .mobile-dock{z-index:210}

/* v7 — dopracowanie opinii, rezerwacji i statusu recepcji */
.reviews-viewport{position:relative;overflow:hidden!important;width:100%;min-height:300px}
.reviews-track{display:flex!important;gap:0!important;width:auto;overflow:visible!important;transition:transform .66s cubic-bezier(.2,.78,.18,1);will-change:transform}
.review-card{flex:0 0 auto!important;min-width:0!important;width:100%;opacity:.15;transform:translateY(20px) scale(.93);filter:blur(2px);transition:opacity .52s ease,transform .65s cubic-bezier(.2,.8,.2,1),filter .52s ease;border-color:rgba(224,190,122,.18);box-shadow:0 20px 60px rgba(0,0,0,.08)}
.review-card.is-active{opacity:1;transform:translateY(0) scale(1);filter:none;border-color:rgba(224,190,122,.42);box-shadow:0 28px 80px rgba(0,0,0,.2),0 0 42px rgba(201,154,72,.08)}
.reviews-progress span.is-running{animation:reviewProgress var(--review-duration,3400ms) linear forwards}
@media(max-width:780px){.reviews-slider{width:100%;max-width:none}.reviews-viewport{min-height:360px}.review-card{min-height:340px!important;padding:30px 22px!important}.review-card p{font-size:20px!important;line-height:1.55}.reviews-progress{margin-top:10px}}

[data-reception-status]{position:relative}
[data-reception-status] [data-reception-state]{font:800 10px/1 var(--sans);letter-spacing:.02em;text-transform:none}
[data-reception-status].is-open [data-reception-state]{color:#34b76c}
[data-reception-status].is-closed [data-reception-state]{color:#e45c55}
.rooms-stay-info [data-reception-status].is-open{border-color:rgba(52,183,108,.55);background:rgba(52,183,108,.1)}
.rooms-stay-info [data-reception-status].is-closed{border-color:rgba(228,92,85,.48);background:rgba(228,92,85,.08)}
.contact-hours [data-reception-status].is-open{box-shadow:inset 3px 0 0 #34b76c}
.contact-hours [data-reception-status].is-closed{box-shadow:inset 3px 0 0 #e45c55}

.reception-toast{isolation:isolate;overflow:hidden;grid-template-columns:42px 1fr 30px;padding:16px 16px 15px;background:transparent!important;border:0!important;border-radius:12px}
.reception-toast:before{content:"";position:absolute;z-index:-2;inset:-100%;background:conic-gradient(from 0deg,transparent 0 32%,rgba(235,201,128,.95) 42%,transparent 52% 82%,rgba(80,203,132,.78) 92%,transparent);animation:toastOrbit 4.2s linear infinite}
.reception-toast:after{content:"";position:absolute;z-index:-1;inset:2px;border-radius:10px;background:linear-gradient(145deg,#0b3222,#1a5035)}
.reception-toast.is-closed:before{background:conic-gradient(from 0deg,transparent 0 34%,rgba(232,177,103,.9) 45%,transparent 55% 84%,rgba(223,84,76,.82) 94%,transparent)}
.reception-toast.is-closed:after{background:linear-gradient(145deg,#321614,#4c211c)}
@keyframes toastOrbit{to{transform:rotate(1turn)}}
.reception-toast-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);color:var(--gold-light)}
.reception-toast-icon .icon{width:23px;height:23px}
.reception-toast-copy{min-width:0}.reception-toast-copy strong{font:20px var(--serif)}
.reception-toast-copy>span{margin-top:2px;line-height:1.4}
.reception-toast-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.reception-toast-actions a,.reception-toast-actions button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:5px;border:1px solid rgba(234,204,145,.38);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:11px;font-weight:800;cursor:pointer}
.reception-toast-actions a{background:linear-gradient(135deg,#d3a44f,#a96f25);color:#24150b}
.reception-toast-actions .icon{width:15px;height:15px}.reception-toast-close{align-self:start}
@media(max-width:780px){.reception-toast{right:12px;left:12px;width:auto;bottom:calc(86px + env(safe-area-inset-bottom));grid-template-columns:38px 1fr 26px}.reception-toast-copy strong{font-size:18px}.reception-toast-actions a,.reception-toast-actions button{flex:1 1 auto;justify-content:center}}

.dock-booking-coach{isolation:isolate;overflow:hidden;background:transparent!important;border:0!important;border-radius:12px}
.dock-booking-coach:before{content:"";position:absolute;z-index:-2;inset:-110%;background:conic-gradient(from 0deg,transparent 0 30%,rgba(226,190,115,.98) 42%,transparent 54% 82%,rgba(77,200,127,.86) 93%,transparent);animation:coachOrbit 3.6s linear infinite}
.dock-booking-coach:after{content:"";position:absolute;z-index:-1;inset:2px;border-radius:10px;background:linear-gradient(145deg,#fff9ed,#eee0c9)}
.dock-booking-coach>*{position:relative;z-index:1}
@keyframes coachOrbit{to{transform:rotate(1turn)}}
.dock-booking-coach.is-open{box-shadow:0 30px 80px rgba(0,0,0,.42),0 0 48px rgba(218,174,87,.26)}
.mobile-dock [data-dock-reservation].is-coach-target{animation:dockBookingPulse .95s ease-in-out infinite}
@keyframes dockBookingPulse{0%,100%{filter:brightness(1);box-shadow:0 0 0 rgba(232,193,112,0);transform:translateY(0)}50%{filter:brightness(1.22);box-shadow:0 0 30px rgba(232,193,112,.88);transform:translateY(-2px)}}

.price em{font-style:normal;margin-left:4px;font-size:11px;opacity:.65}

/* v7.3 — wieloakapitowe opisy usług */
.service-page-prose{max-width:780px;color:#60482e;font-size:18px;line-height:1.82}
.service-page-prose p{margin:0 0 1.35em}
.service-page-prose p:last-child{margin-bottom:0}
.service-page-prose-primary{font-size:19px}
.service-page-prose-secondary{margin-top:30px;padding:27px 29px;border-left:3px solid var(--gold);background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(247,239,226,.84));box-shadow:0 16px 42px rgba(55,36,22,.07)}
.service-page-prose-secondary p{color:#514033}
@media(max-width:760px){.service-page-prose{font-size:17px;line-height:1.72}.service-page-prose-primary{font-size:18px}.service-page-prose-secondary{margin-top:24px;padding:22px 20px}}


/* v7.4 — subtelny CMS i dopracowana nawigacja */
.cms-link{color:rgba(255,255,255,.34)!important;font-size:10px!important;letter-spacing:.04em;opacity:.72;transition:.2s ease}.cms-link:hover{color:rgba(235,202,139,.68)!important;opacity:1}
.map-navigation{overflow:visible;isolation:isolate;transition:transform .28s ease,box-shadow .3s ease,filter .3s ease}
.map-navigation.is-navigation-pulse{animation:navigationPulseV74 .78s cubic-bezier(.22,.75,.25,1) 2!important}
@keyframes navigationPulseV74{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.025);box-shadow:0 0 34px rgba(226,183,92,.72)}}
.map-navigation.is-navigation-glow{box-shadow:0 0 0 1px rgba(238,201,126,.55),0 0 28px rgba(226,183,92,.55),0 14px 34px rgba(0,0,0,.28);filter:brightness(1.06)}
.map-navigation.is-navigation-glow:after{content:"";position:absolute;z-index:-1;left:8%;right:8%;bottom:-16px;height:18px;border-radius:50%;background:rgba(220,169,73,.52);filter:blur(14px);animation:navigationUnderglow 2.2s ease-in-out infinite}
@keyframes navigationUnderglow{50%{opacity:.45;transform:scaleX(.88)}}
@media(prefers-reduced-motion:reduce){.map-navigation.is-navigation-pulse{animation:none!important}.map-navigation.is-navigation-glow:after{animation:none}}

/* ===== v7.6: prezentacja pokojów i folderowe podstrony ===== */
.rooms-focus-overlay{position:fixed;z-index:54;inset:0;background:rgba(6,13,9,.42);backdrop-filter:blur(1.8px);opacity:0;transition:opacity .34s ease;pointer-events:none}
.rooms-focus-overlay.is-visible{opacity:1}
.rooms-pricing{isolation:isolate}
.rooms-pricing.is-spotlight-active{z-index:60;box-shadow:0 0 0 1px rgba(226,193,126,.18),0 0 90px rgba(201,154,72,.16)}
.rooms-pricing.is-spotlight-active .section-head{position:relative;z-index:2}
.room-card{position:relative;isolation:isolate}
.room-card>*{position:relative;z-index:2}
.room-card.is-spotlit{z-index:4;transform:translateY(-7px) scale(1.012);border-color:rgba(225,184,101,.9);box-shadow:0 26px 65px rgba(31,19,11,.26),0 0 30px rgba(225,184,101,.32)}
.room-card.is-spotlit:before{content:"";position:absolute;z-index:1;inset:-4px;padding:3px;border-radius:5px;background:conic-gradient(from var(--room-glow-angle),rgba(255,255,255,0) 0 54%,rgba(255,230,169,.98) 66%,rgba(197,139,49,.96) 74%,rgba(255,255,255,0) 86%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:roomGlowOrbit 1.05s linear infinite}
@property --room-glow-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes roomGlowOrbit{to{--room-glow-angle:360deg}}
.price-panel-placeholder{min-width:0}
.price-panel.is-temporarily-fixed{position:fixed!important;z-index:68!important;top:var(--panel-fixed-top)!important;left:var(--panel-fixed-left)!important;width:var(--panel-fixed-width)!important;max-height:calc(100vh - 125px);overflow:auto;animation:pricePanelArrival .55s cubic-bezier(.2,.8,.2,1) both}
.price-panel.is-price-panel-focused{box-shadow:0 30px 90px rgba(0,0,0,.43),0 0 0 1px rgba(237,204,135,.76),0 0 42px rgba(225,181,91,.38)}
.price-panel.is-price-panel-focused:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(239,205,136,.4);pointer-events:none;animation:pricePanelHalo 1.8s ease-in-out infinite}
@keyframes pricePanelArrival{0%{opacity:.4;transform:translateY(20px) scale(.97)}100%{opacity:1;transform:none}}
@keyframes pricePanelHalo{0%,100%{opacity:.18;transform:scale(.985)}50%{opacity:.8;transform:scale(1.018)}}
body.rooms-spotlight-open .site-header{box-shadow:0 14px 50px rgba(0,0,0,.38)}
.service-page-main .service-page-contact button.full{width:100%;margin-top:10px}

@media(max-width:980px){
  .rooms-focus-overlay{display:none!important}
  .price-panel.is-temporarily-fixed{position:relative!important;inset:auto!important;width:auto!important;max-height:none}
  .price-panel-placeholder{display:none}
}

/* ===== Kasztelan Premium v7.7: stabilny cennik i mobilny wybór pokoju ===== */
.price-panel.is-temporarily-fixed{
  top:var(--panel-fixed-top,96px)!important;
  max-height:var(--panel-fixed-max-height,calc(100vh - 116px));
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(226,190,119,.72) rgba(255,255,255,.08);
}
.price-panel.is-temporarily-fixed::-webkit-scrollbar{width:7px}
.price-panel.is-temporarily-fixed::-webkit-scrollbar-track{background:rgba(255,255,255,.06)}
.price-panel.is-temporarily-fixed::-webkit-scrollbar-thumb{background:rgba(226,190,119,.7);border-radius:99px}
.business-copy>p{max-width:640px}

@media(max-width:780px){
  .site-header{will-change:transform}
  .room-jump-wrap{
    top:71px;
    background:linear-gradient(135deg,rgba(7,37,26,.98),rgba(16,68,45,.98));
    border-top:1px solid rgba(229,193,120,.28);
    border-bottom:1px solid rgba(229,193,120,.44);
    box-shadow:0 13px 34px rgba(4,25,17,.28);
    transition:top .42s cubic-bezier(.22,.78,.24,1),box-shadow .35s ease,background .35s ease;
  }
  .room-jump-edge-left{background:linear-gradient(90deg,#0b3425,rgba(11,52,37,0))}
  .room-jump-edge-right{background:linear-gradient(-90deg,#0b3425,rgba(11,52,37,0))}
  .room-jump-item{
    color:#fff9ed;
    background:rgba(255,255,255,.055);
    border-color:rgba(229,193,120,.12);
    box-shadow:0 8px 22px rgba(0,0,0,.12);
  }
  .room-jump-item small{color:rgba(255,255,255,.62)}
  .room-jump-item .icon{color:#e4bf75}
  .room-jump-item:hover,.room-jump-item.is-active{
    color:#fff;
    border-color:rgba(235,201,132,.88);
    background:linear-gradient(145deg,rgba(43,103,68,.98),rgba(20,72,48,.98));
    box-shadow:0 10px 28px rgba(0,0,0,.27),0 0 0 1px rgba(232,197,125,.22),0 0 26px rgba(215,171,84,.2);
  }
  body.room-selection-focus .site-header{transform:translate3d(0,-115%,0)}
  body.room-selection-focus .room-jump-wrap{
    top:0;
    z-index:96;
    box-shadow:0 18px 42px rgba(0,0,0,.4),0 0 30px rgba(203,156,68,.21);
  }
  body.room-selection-focus .room-jump-wrap:after{
    content:"Wybierz pokój — przesuń listę palcem";
    position:absolute;
    left:50%;
    bottom:-27px;
    transform:translateX(-50%);
    padding:5px 12px;
    border-radius:0 0 10px 10px;
    background:#123e2c;
    color:rgba(255,246,225,.86);
    font-size:10px;
    letter-spacing:.04em;
    white-space:nowrap;
    box-shadow:0 8px 18px rgba(0,0,0,.22);
    animation:roomMenuHintIn .42s ease both;
  }
  body.room-selection-focus .room-showcase{scroll-margin-top:98px}
}
@keyframes roomMenuHintIn{from{opacity:0;transform:translate(-50%,-5px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){body.room-selection-focus .site-header,.room-jump-wrap{transition:none!important}body.room-selection-focus .room-jump-wrap:after{animation:none}}


/* v7.8 — wiarygodne opinie Booking.com i Google */
.review-card{position:relative;overflow:hidden}
.review-card-top{position:absolute;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.review-source{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border-radius:999px;font:700 11px/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff}
.review-source-booking-com{background:#063b76;border-color:#2f7fd2;color:#fff}
.review-source-google{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.95);color:#303134}
.review-score{font:700 15px/1 var(--sans);color:#f4d69a;padding:7px 10px;border:1px solid rgba(224,190,122,.35);background:rgba(8,31,23,.52);border-radius:9px}
.review-card h3{font:600 clamp(21px,2vw,27px)/1.2 var(--serif);color:#fff;margin:10px 0 -4px}
.review-card footer span{max-width:680px;margin:5px auto 0;line-height:1.45}
@media(max-width:780px){.review-card-top{top:14px;left:14px;right:14px}.review-card{padding-top:66px!important;min-height:390px!important}.review-card h3{font-size:22px}.review-card footer span{font-size:10px}.review-source{font-size:10px;min-height:28px}.review-score{font-size:13px}}

/* SEO i nowe podstrony v8.0 */
.seo-breadcrumbs{padding:18px 0 12px;font-size:.82rem;color:#7b715f}.seo-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.seo-breadcrumbs li:not(:last-child)::after{content:"/";margin-left:8px;opacity:.45}.seo-breadcrumbs a{color:inherit;text-decoration:none}.seo-breadcrumbs a:hover{color:#aa7a28}.seo-breadcrumbs span[aria-current=page]{color:#443b2f;font-weight:700}
.contact-page-hero,.gallery-page-hero{padding:76px 0;background:linear-gradient(135deg,#09251a,#173f2e);color:#fff}.contact-page-hero h1,.gallery-page-hero h1{font-size:clamp(2.4rem,6vw,5rem);margin:.2em 0}.contact-page-hero p,.gallery-page-hero p{max-width:720px;color:#e9e1d2;font-size:1.12rem}.contact-page-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;align-items:stretch}.contact-details-card,.contact-map-card{background:#fff;border:1px solid rgba(120,91,42,.18);border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(33,25,14,.09)}.contact-detail-row{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #eee6d7;color:#283a31;text-decoration:none}.contact-detail-row .icon{width:25px}.contact-detail-row span{display:grid}.contact-detail-row small{color:#887c68}.contact-detail-row strong{font-size:1.05rem}.contact-hours{display:grid;gap:9px;padding:20px 0}.contact-map-card{display:flex;flex-direction:column;gap:16px}.contact-map-card iframe{width:100%;min-height:430px;border:0;border-radius:16px}.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-page-grid button{border:0;padding:0;background:none;border-radius:18px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}.gallery-page-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-page-grid button:hover img{transform:scale(1.04)}.error-page{min-height:70vh;display:grid;place-items:center;text-align:center;padding:120px 20px;background:linear-gradient(135deg,#071d15,#173f2e);color:#fff}.error-page h1{font-size:clamp(2.5rem,7vw,5.5rem);max-width:900px;margin:.2em auto}.error-page p{color:#eee3d2;font-size:1.1rem}
@media(max-width:800px){.seo-breadcrumbs{padding:12px 2px 8px;white-space:nowrap;overflow:auto}.contact-page-grid{grid-template-columns:1fr}.contact-page-hero,.gallery-page-hero{padding:54px 0}.contact-map-card iframe{min-height:330px}.gallery-page-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px}.gallery-page-grid button{min-width:84%;scroll-snap-align:center}.gallery-page-grid::-webkit-scrollbar{height:5px}}


/* ===== Kontakt i stopka v8.1 ===== */
.contact-page-main .contact-page-hours{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 24px;padding:0}
.contact-page-main .contact-page-hours>div{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid #e4d6c2;border-radius:14px;background:linear-gradient(145deg,#fffdf8,#f4eadc);box-shadow:0 10px 24px rgba(65,43,22,.06)}
.contact-page-main .contact-page-hours .icon{width:25px;height:25px;color:#9a6a26}
.contact-page-main .contact-page-hours span{display:grid;gap:2px}
.contact-page-main .contact-page-hours small{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.12em;color:#806f5c}
.contact-page-main .contact-page-hours strong{font:600 17px/1.2 var(--serif);color:#2b2119}
.contact-specialists{display:grid;grid-template-columns:1fr;gap:12px;margin:8px 0 22px}
.contact-specialist-card{display:grid;grid-template-columns:50px minmax(0,1fr);gap:15px;padding:18px;border:1px solid rgba(171,126,54,.28);border-radius:17px;background:linear-gradient(135deg,rgba(14,55,38,.98),rgba(30,76,53,.96));color:#fff;box-shadow:0 15px 35px rgba(18,54,38,.14)}
.contact-specialist-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(220,183,108,.13);border:1px solid rgba(229,194,126,.3);color:#e7c47f}
.contact-specialist-icon .icon{width:25px;height:25px}
.contact-specialist-card small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:#e6c888}
.contact-specialist-card h3{margin:3px 0 8px;font:500 20px/1.22 var(--serif);color:#fff}
.contact-specialist-card p{margin:0 0 5px;color:rgba(255,255,255,.74);font-size:13px}
.contact-specialist-card a{display:inline-flex;align-items:center;gap:7px;color:#fff1cf;text-decoration:none;font:600 18px var(--serif)}
.contact-specialist-card a:hover{color:#fff}
.contact-specialist-card a .icon{width:18px;height:18px}
.contact-availability{display:flex!important;align-items:center;gap:6px;margin-top:7px;color:rgba(255,255,255,.66);font-size:11px}
.contact-availability .icon{width:14px;height:14px}
.footer-specialist-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.footer-specialist-contacts article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start;padding:16px 18px;border:1px solid rgba(225,187,112,.2);border-radius:13px;background:rgba(255,255,255,.035)}
.footer-contact-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:rgba(214,171,87,.11);color:#e7c47f}
.footer-contact-icon .icon{width:21px;height:21px}
.footer-specialist-contacts small,.footer-specialist-contacts strong,.footer-specialist-contacts a,.footer-specialist-contacts article div>span{display:block}
.footer-specialist-contacts small{text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:#c8a967}
.footer-specialist-contacts strong{margin:2px 0;color:#f1e3d0;font:500 15px var(--serif)}
.footer-specialist-contacts a{color:#fff0c8;text-decoration:none;font:600 18px var(--serif)}
.footer-specialist-contacts article div>span{margin-top:3px;font-size:10px;color:rgba(255,255,255,.52)}
@media(max-width:800px){.contact-page-main .contact-page-hours{grid-template-columns:1fr}.footer-specialist-contacts{grid-template-columns:1fr}}
@media(max-width:520px){.contact-specialist-card{grid-template-columns:42px minmax(0,1fr);padding:15px}.contact-specialist-icon{width:40px;height:40px}.contact-specialist-card h3{font-size:18px}.footer-specialist-contacts article{padding:14px}}


/* ===== Poprawki v8.2: kontakt, rezerwacja mobilna i dojazd ===== */
.contact-page-main .contact-page-hours>.contact-hour-card{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:start;
  column-gap:12px;
  min-width:0;
}
.contact-page-main .contact-page-hours>.contact-hour-card>.icon{
  grid-column:1;
  grid-row:1;
  margin-top:2px;
}
.contact-page-main .contact-page-hours .contact-hour-copy{
  grid-column:2;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  min-width:0;
  grid-template-columns:none!important;
}
.contact-page-main .contact-page-hours .contact-hour-copy small,
.contact-page-main .contact-page-hours .contact-hour-copy strong{
  position:static;
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  white-space:normal;
  overflow-wrap:anywhere;
}
.contact-page-main .contact-page-hours .contact-hour-copy strong{line-height:1.35}

@media(max-width:780px){
  .dock-booking-coach{
    position:fixed!important;
    z-index:260!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(86px + env(safe-area-inset-bottom))!important;
    max-height:calc(100dvh - 118px - env(safe-area-inset-bottom));
    overflow:auto;
    overscroll-behavior:contain;
  }
  body.booking-coach-open .mobile-dock{z-index:261}
  body.booking-coach-open .dock-coach-overlay{z-index:245}
}
