/* Jasne domknięcie strony: oferta i rzeczywisty kalendarz Cal. */
.booking{max-width:1210px;margin:0 auto 65px;padding:34px 20px 0;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:40px;align-items:start;scroll-margin-top:32px}
.booking-copy{padding-top:36px;min-width:0}
.booking h2{position:relative;font:900 clamp(40px,3.7vw,50px)/1.08 Nunito;letter-spacing:-1.7px;margin:0 0 38px;text-wrap:balance}
.booking h2:after{content:"";position:absolute;left:2px;bottom:-13px;width:111px;height:7px;border-radius:60% 45% 50% 40%;background:#ffe18b;transform:rotate(-2deg)}
.booking-star{position:absolute;right:14px;bottom:-21px;width:35px;height:35px;transform:rotate(10deg);pointer-events:none}
.booking-lead{font:500 17px/1.7 Nunito;max-width:360px;margin:0 0 28px}
.booking-price{margin:0 0 25px;line-height:1.5}
.booking-price strong{font:900 28px/1.2 Nunito;letter-spacing:-.8px;display:block;margin-bottom:10px}
.booking-price strong span{font-size:18px;letter-spacing:-.3px;font-weight:700;white-space:nowrap}
.booking-price>span{display:block;font:700 14px/1.65 Nunito}
.booking-price>small{display:block;font:600 14px/1.65 Nunito;color:#496553}
.booking-confirmation{font:500 14px/1.65 Nunito;max-width:340px;margin:0 0 28px;padding-left:15px;border-left:3px solid #c9e39b}
.booking-contact{font:500 13px/1.6 Nunito;margin:0;color:#496553}
.booking-contact a{display:inline-block;margin-top:6px;font:800 15px/1.5 Nunito;color:#224b3b;text-decoration:underline;text-decoration-color:#91b771;text-underline-offset:5px}
.booking-calendar{position:relative;min-width:0;padding-top:37px;isolation:isolate}
.booking-calendar:before{content:"";position:absolute;inset:43px -6px -7px 5px;background:#e4efcf;border-radius:27px;transform:rotate(1.3deg);z-index:-1}
.booking-note{position:absolute;top:-7px;left:19px;font:600 29px/1 Caveat;transform:rotate(-3deg);white-space:nowrap}
.booking-note svg{width:69px;height:43px;vertical-align:middle;margin-left:7px;transform:rotate(8deg)}
.calendar-shell{border:1px solid #e0e7d6;border-radius:24px;background:#fffdf7;padding:8px;overflow:hidden;box-shadow:0 8px 25px #224b3b06}
.calendar-mount{width:100%;min-height:510px;overflow:auto;border-radius:17px;background:#fffdf7}
.calendar-placeholder{min-height:480px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#edf4e3 0,transparent 65%);border-radius:17px}
.calendar-placeholder>svg{width:100px;height:100px;margin-bottom:26px;color:#224b3b;transform:rotate(-5deg)}
.calendar-placeholder h3{font:900 25px/1.25 Nunito;letter-spacing:-.6px;margin:0 0 12px}
.calendar-placeholder p{font:500 15px/1.65 Nunito;color:#496553;max-width:290px;margin:0 0 23px}
.calendar-placeholder .cta{font-size:14px;min-height:48px;padding:12px 22px}
.calendar-placeholder[hidden],.calendar-mount[hidden],.calendar-direct[hidden],.calendar-status[hidden]{display:none}
.calendar-status{font:600 13px/1.6 Nunito;text-align:center;padding:12px;margin:0}
.calendar-direct{display:block;text-align:right;margin:16px 11px 0;font:700 12px/1.5 Nunito;color:#496553;text-decoration:underline;text-underline-offset:4px}
.booking-faq{max-width:1170px;margin:0 auto 52px;padding:12px 0 0;display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px}
.booking-faq h2{font:900 27px/1.2 Nunito;letter-spacing:-.65px;max-width:260px;margin:10px 0 0}
.faq-list{min-width:0}
.faq-list details{border-bottom:1px solid #d7e2cb}
.faq-list details:first-child{border-top:1px solid #d7e2cb}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:19px 2px;font:800 15px/1.45 Nunito;min-height:60px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";font:500 27px/1 Nunito;flex:none;width:25px;text-align:center;color:#496553}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{font:500 14px/1.7 Nunito;max-width:600px;margin:0;padding:0 30px 20px 2px;color:#496553}
.faq-list summary:focus-visible{outline:3px solid #224b3b;outline-offset:3px;border-radius:6px}
.site-footer{max-width:1210px;margin:0 auto;padding:25px 35px 30px;border-top:1px solid #d7e2cb;display:flex;align-items:center;justify-content:space-between;gap:20px;font:600 12px/1.6 Nunito;color:#496553}
.site-footer strong{font-weight:800;color:#224b3b}.footer-links{display:flex;align-items:center;gap:22px}
.privacy-button{background:none;border:0;padding:4px 0;color:inherit;cursor:pointer;font:600 12px Nunito;text-decoration:underline;text-underline-offset:4px}
.booking-privacy{border:1px solid #d7e2cb;border-radius:22px;background:#fffdf7;color:#224b3b;padding:27px;width:min(560px,calc(100vw - 30px));max-height:calc(100dvh - 40px);overflow:auto}
.booking-privacy::backdrop{background:#14291fd9;backdrop-filter:blur(3px)}
.privacy-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.privacy-heading h2{font:900 27px/1.2 Nunito;margin:0;letter-spacing:-.5px}.privacy-close{width:40px;height:40px;flex:none;border:1px solid #d7e2cb;border-radius:50%;background:#edf4e3;font:500 27px Nunito;cursor:pointer;color:inherit}
.booking-privacy p{font:500 14px/1.7 Nunito;margin:0 0 16px}.booking-privacy a{text-decoration:underline;text-underline-offset:3px}
.booking-noscript{font-size:14px;padding:15px;text-align:center}
@media(max-width:1100px){.booking{margin-inline:25px;padding-inline:28px;gap:32px;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr)}.booking h2{font-size:45px}.booking-lead{font-size:16px}.booking-price strong{font-size:25px}.booking-price strong span{font-size:16px}.booking-faq{margin-inline:53px;gap:32px;grid-template-columns:.9fr 1.6fr}.site-footer{margin-inline:25px;padding-inline:28px}}
@media(max-width:1100px){.booking{grid-template-columns:1fr;gap:33px;padding-top:0}.booking-copy{display:grid;grid-template-columns:1.1fr .9fr;column-gap:35px;padding-top:12px}.booking h2,.booking-lead{grid-column:1}.booking-price{grid-column:2;grid-row:1 / 3;align-self:center;margin-bottom:0}.booking-confirmation{grid-column:1;margin-bottom:0}.booking-contact{grid-column:2;align-self:center}.booking-lead{max-width:470px;margin-bottom:22px}.booking-calendar{max-width:850px;width:100%;justify-self:center}.calendar-placeholder{min-height:415px}.booking-faq{grid-template-columns:1fr;gap:22px}.booking-faq h2{max-width:none}}
@media(max-width:600px){.booking{margin:0 0 47px;padding:0 28px;gap:31px;scroll-margin-top:20px}.booking-copy{display:block;padding-top:0}.booking h2{font-size:40px;max-width:300px;margin-bottom:34px;letter-spacing:-1.2px}.booking-star{width:31px;height:31px;right:10px;bottom:-21px}.booking-lead{font-size:16px;margin-bottom:23px}.booking-price{margin-bottom:21px}.booking-price strong{font-size:29px}.booking-price strong span{font-size:18px}.booking-confirmation{max-width:none;margin-bottom:21px}.booking-contact{font-size:13px}.booking-note{font-size:26px;left:10px;top:-5px}.booking-note svg{width:53px}.booking-calendar{padding-top:35px}.calendar-shell{border-radius:20px;padding:4px}.calendar-mount{min-height:480px}.calendar-placeholder{min-height:370px;padding:29px 20px}.calendar-placeholder>svg{width:83px;height:83px;margin-bottom:22px}.calendar-placeholder h3{font-size:23px}.calendar-placeholder p{font-size:14px}.booking-faq{margin:0 28px 38px;padding:0;gap:20px}.booking-faq h2{font-size:25px;margin:0}.faq-list summary{font-size:14px;min-height:62px;padding-block:16px}.faq-list details p{font-size:14px}.site-footer{margin:0 28px;padding:21px 0 27px;display:block;font-size:11px}.footer-links{margin-top:12px;gap:24px}.privacy-button{font-size:11px}.booking-privacy{padding:22px}.calendar-direct{font-size:11px;margin-top:14px}}
@media(max-width:360px){.booking{padding-inline:23px}.booking h2{font-size:36px}.booking-star{right:3px}.booking-lead{font-size:15px}.booking-price strong{font-size:27px}.booking-price strong span{font-size:16px}.booking-note{font-size:23px}.booking-note svg{width:46px;margin-left:4px}.calendar-placeholder h3{font-size:21px}.booking-faq,.site-footer{margin-inline:23px}}
