.otr-app{--green:#176c3a;--green2:#23864b;--green3:#0f5130;--ink:#17231c;--muted:#66736b;--line:#dfe8e2;--soft:#f5f8f6;--cream:#fbfaf6;--danger:#c9342c;--shadow:0 18px 48px rgba(23,65,39,.10);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);width:min(1240px,calc(100vw - 32px));max-width:none!important;margin:24px auto 48px;box-sizing:border-box;container-type:inline-size}.otr-app *{box-sizing:border-box}.otr-app button,.otr-app input,.otr-app textarea{font:inherit}.otr-app .otr-svg{width:22px;height:22px;display:inline-flex;flex:0 0 auto;color:var(--green)}.otr-app .otr-svg svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.otr-topline{display:grid;grid-template-columns:minmax(190px,1fr) minmax(300px,1.5fr) minmax(250px,1fr);gap:28px;align-items:center;padding:18px 24px;margin-bottom:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(23,65,39,.07)}.otr-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1;min-width:0}.otr-brand-logo{display:block;width:auto;max-width:170px;height:82px;object-fit:contain;object-position:left center}.otr-brand strong{font-size:31px;font-weight:570;letter-spacing:-1.4px;color:var(--green)}.otr-brand strong span{color:#d78b24}.otr-brand small{font-size:11px;letter-spacing:1.15px;font-weight:850;margin-top:8px;color:#1d2b23;white-space:nowrap}.otr-topline-title{display:flex;align-items:center;justify-content:center;gap:14px;min-width:0;color:var(--green3)}.otr-topline-title strong{font-size:clamp(20px,2.25vw,34px);line-height:1.1;font-weight:900;letter-spacing:.035em;text-align:center;white-space:nowrap}.otr-topline-title span{height:1px;min-width:28px;max-width:100px;flex:1;background:linear-gradient(90deg,transparent,#78a94f)}.otr-topline-title span:last-child{background:linear-gradient(90deg,#78a94f,transparent)}.otr-contact{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-left:26px;border-left:1px solid var(--line);min-width:0}.otr-contact small{display:block;font-size:14px;font-weight:800;color:#526158;margin-bottom:5px}.otr-contact a{display:flex;align-items:center;gap:11px;color:var(--green);font-size:clamp(24px,2.5vw,38px);line-height:1;font-weight:900;text-decoration:none;white-space:nowrap}.otr-contact .otr-svg{width:34px;height:34px}
.otr-progress{position:relative;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px 20px;box-shadow:0 12px 34px rgba(23,65,39,.07);margin-bottom:20px;overflow:hidden}.otr-progress:before{content:"";position:absolute;left:9%;right:9%;top:39px;height:2px;background:#e7ece9}.otr-progress-item{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;color:#8a958e}.otr-step-no{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#eef2ef;color:#859088;border:1px solid #e2e8e4;position:relative;flex:0 0 auto}.otr-step-no .otr-svg{width:21px;height:21px;color:inherit}.otr-step-no b{display:none}.otr-progress-item>span:last-child{display:flex;flex-direction:column;min-width:0}.otr-progress-item strong{font-size:13px;color:#334139;white-space:nowrap}.otr-progress-item small{font-size:10px;margin-top:3px;color:#89938d;white-space:nowrap}.otr-progress-item.active .otr-step-no,.otr-progress-item.done .otr-step-no{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 5px 14px rgba(23,108,58,.23)}.otr-progress-item.active strong,.otr-progress-item.done strong{color:var(--green)}
.otr-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(330px,.82fr);gap:20px;align-items:start}.otr-main,.otr-summary,.otr-benefits{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.otr-main{padding:0 34px 30px;min-width:0}.otr-panel-head{position:relative;display:flex;align-items:center;gap:18px;min-height:128px;margin:0 -34px 32px;padding:24px 34px;color:#fff;overflow:hidden;background-color:#0b6437;background-image:linear-gradient(90deg,rgba(7,82,42,.99) 0%,rgba(7,82,42,.96) 40%,rgba(7,82,42,.64) 62%,rgba(7,82,42,.16) 100%),url("images/pro-forest-banner.webp");background-position:center,right center;background-size:100% 100%,cover;background-repeat:no-repeat}.otr-panel-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#d79a34,#f0cf73,transparent)}.otr-panel-head>div{position:relative;z-index:1}.otr-panel-icon{width:58px;height:58px;border-radius:17px;background:rgba(255,255,255,.96);display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.16);flex:0 0 auto}.otr-panel-icon .otr-svg{width:31px;height:31px}.otr-panel-head h1{font-size:28px;line-height:1.12;margin:0;font-weight:820;letter-spacing:-.55px;text-shadow:0 1px 2px rgba(0,0,0,.22)}.otr-panel-head p{margin:7px 0 0;font-size:13px;color:rgba(255,255,255,.9);text-shadow:0 1px 2px rgba(0,0,0,.18)}.otr-alert{display:none;margin:-8px 0 22px;border-radius:12px;padding:13px 15px;font-size:14px;font-weight:700}.otr-alert.error{display:block;background:#fff1f0;color:var(--danger);border:1px solid #f2b9b5}.otr-alert.success{display:block;background:#ecf8ef;color:var(--green);border:1px solid #b9dfc3}.otr-step{display:none;animation:otrFade .24s ease}.otr-step.active{display:block}.otr-step h2{font-size:27px;line-height:1.16;margin:0 0 8px;letter-spacing:-.45px}.otr-lead{margin:0 0 24px;color:var(--muted);font-size:15px;line-height:1.55}.otr-info-line{display:flex;align-items:center;gap:10px;padding:13px 15px;background:#edf7f0;border:1px solid #d6eadc;border-radius:13px;color:#315b40;margin-bottom:22px;font-size:14px}
.otr-dates,.otr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.otr-app label{font-weight:740;min-width:0}.otr-app label>span:first-child{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:14px}.otr-app em{font-style:normal;color:var(--danger)}.otr-app input,.otr-app textarea,.otr-app select{display:block;width:100%;min-width:0;min-height:52px;border:1px solid #cfd9d2;border-radius:12px;background:#fff;color:var(--ink);padding:14px 15px;outline:none;transition:.18s}.otr-app input:hover,.otr-app textarea:hover{border-color:#9fb6a6}.otr-app input:focus,.otr-app textarea:focus{border-color:var(--green2);box-shadow:0 0 0 4px rgba(35,134,75,.10)}.otr-app input::placeholder,.otr-app textarea::placeholder{color:#98a19b}.otr-dates label{display:block;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#fbfdfb)}.otr-dates input{font-size:16px;font-weight:760}.otr-calendar-status{margin-top:15px;font-size:14px;font-weight:760}.otr-calendar-status.ok{color:var(--green)}.otr-calendar-status.bad{color:var(--danger)}
.otr-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.otr-type{position:relative;min-height:184px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink);cursor:pointer;transition:.18s}.otr-type:hover{border-color:#9eb7a5;box-shadow:0 10px 24px rgba(23,65,39,.09);transform:translateY(-2px)}.otr-type.selected{border:2px solid var(--green);background:#f4faf6;box-shadow:0 11px 27px rgba(23,108,58,.13)}.otr-type-check{display:none;position:absolute;top:10px;right:10px;width:25px;height:25px;border-radius:50%;background:var(--green);color:#fff;place-items:center;font-size:13px}.otr-type.selected .otr-type-check{display:grid}.otr-type img{width:102px;height:76px;object-fit:contain}.otr-type strong{font-size:13px;line-height:1.28;text-align:center}.otr-type small{font-size:11px;color:var(--green);font-weight:760}.otr-choice-grid,.otr-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:22px}.otr-choice{position:relative;display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.otr-choice>span{display:flex;flex-direction:column}.otr-choice small,.otr-services small{color:var(--muted);font-weight:450;margin-top:3px}.otr-choice input{position:absolute;opacity:0}.otr-choice i{width:46px;height:26px;border-radius:50px;background:#d7dfda;position:relative}.otr-choice i:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.22);transition:.18s}.otr-choice input:checked+i{background:var(--green)}.otr-choice input:checked+i:after{left:23px}.otr-section-title{font-size:18px;margin:26px 0 12px}.otr-services{margin-top:0}.otr-services label{display:flex;flex-direction:row;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff;cursor:pointer}.otr-services input{width:20px;height:20px;min-height:20px;padding:0}.otr-services span{display:flex;flex-direction:column}.otr-message{display:block;margin-top:20px;position:relative}.otr-message textarea{min-height:120px;resize:vertical}.otr-counter{position:absolute;right:13px;bottom:10px;background:#fff;color:#8a948e;font-weight:500;font-size:11px}.otr-consent{display:flex!important;align-items:flex-start;gap:10px;margin-top:20px;font-weight:500!important;line-height:1.5}.otr-consent input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin-top:2px}.otr-consent a{color:var(--green);font-weight:760}.otr-safe,.otr-payment-safe{display:flex;align-items:center;gap:12px;border:1px solid #e4ebe6;background:#f4f7f5;border-radius:13px;padding:14px;margin-top:18px}.otr-safe span,.otr-payment-safe span{display:flex;flex-direction:column}.otr-safe small,.otr-payment-safe small{color:var(--muted);font-size:12px;margin-top:2px;line-height:1.4}.otr-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.otr-nav button,.otr-submit{border:0;border-radius:11px;min-height:49px;padding:13px 24px;font-size:14px;font-weight:820;cursor:pointer}.otr-prev{background:#eff3f0;color:#27352c}.otr-next,.otr-submit{background:linear-gradient(90deg,var(--green),var(--green2));color:#fff;box-shadow:0 8px 20px rgba(23,108,58,.20)}.otr-next{min-width:190px}.otr-submit{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px}.otr-submit .otr-svg{color:#fff}.otr-submit:disabled{opacity:.55;cursor:wait}.otr-final{display:grid;gap:14px}.otr-final-card{border:1px solid var(--line);border-radius:16px;background:#fbfdfb;padding:18px}.otr-final-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}.otr-final-item small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.otr-final-item strong{font-size:14px}.otr-final-total{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#125b31,#228348);color:#fff;border-radius:15px;padding:19px 21px}.otr-final-total span{font-weight:760}.otr-final-total strong{font-size:29px}.otr-app[data-step="5"] .otr-layout{grid-template-columns:1fr}.otr-app[data-step="5"] .otr-summary{display:none}.otr-app[data-step="5"] .otr-main{max-width:820px;width:100%;margin:auto}
.otr-summary{position:sticky;top:18px}.otr-summary-banner{height:124px;background:url("images/pro-forest-banner.webp") center/cover}.otr-summary-inner{padding:23px}.otr-summary h3{display:flex;align-items:center;gap:9px;font-size:22px;margin:0 0 13px}.otr-summary-content{border-top:1px solid var(--line)}.otr-sum-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:14px 0;border-bottom:1px solid #e8eee9}.otr-sum-row .otr-svg{width:25px;height:25px;margin-top:2px}.otr-summary-emoji{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eef6f0;font-size:15px}.otr-sum-row small{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.otr-sum-row strong{display:block;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.otr-costs{margin-top:14px;border:1px solid var(--line);border-radius:13px;background:#fcfdfc;padding:14px}.otr-costs h4{font-size:15px;margin:0 0 9px}.otr-cost-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px}.otr-cost-line.discount{color:var(--green)}.otr-total{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;background:linear-gradient(135deg,#125b31,#228348);color:#fff;border-radius:13px;padding:17px 18px}.otr-total span{font-size:14px;font-weight:780}.otr-total strong{font-size:27px;white-space:nowrap}.otr-local{display:grid;gap:9px;margin-top:14px}.otr-local>div{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}.otr-local span{display:flex;flex-direction:column}.otr-local strong{font-size:13px;color:var(--green)}.otr-local small{font-size:11px;color:var(--muted);margin-top:2px}.otr-payment-safe{margin-top:12px}.otr-benefits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:17px;margin-top:20px}.otr-benefits>div{display:flex;align-items:flex-start;gap:9px;padding:5px;min-width:0}.otr-benefits strong{display:block;font-size:12px}.otr-benefits small{display:block;font-size:10px;color:var(--muted);line-height:1.35;margin-top:3px}
@keyframes otrFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@container (max-width:980px){.otr-layout{grid-template-columns:minmax(0,1fr) 320px}.otr-progress-item small{display:none}.otr-types{grid-template-columns:repeat(2,minmax(0,1fr))}.otr-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (max-width:760px){.otr-topline{grid-template-columns:1fr 1fr;gap:16px;padding:16px}.otr-topline-title{grid-column:1/-1;grid-row:2}.otr-topline-title strong{font-size:22px}.otr-topline-title span{max-width:70px}.otr-contact{justify-self:end;padding-left:16px}.otr-contact a{font-size:22px}.otr-contact .otr-svg{width:25px;height:25px}.otr-layout{grid-template-columns:1fr}.otr-summary{position:static}.otr-summary-banner{display:none}.otr-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:560px){.otr-app{width:calc(100vw - 16px);margin-top:10px}.otr-topline{grid-template-columns:1fr;gap:12px;padding:14px 16px}.otr-brand{align-items:center}.otr-brand-logo{height:70px;max-width:150px;object-position:center}.otr-brand strong{font-size:24px}.otr-brand small{font-size:9px;white-space:normal;text-align:center}.otr-topline-title{grid-column:1;grid-row:auto;order:2;width:100%}.otr-topline-title strong{font-size:20px;white-space:normal}.otr-contact{order:3;justify-self:stretch;align-items:center;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.otr-contact small{display:block;font-size:12px}.otr-contact a{font-size:24px}.otr-contact .otr-svg{width:26px;height:26px}.otr-progress{grid-template-columns:repeat(5,1fr);padding:9px 7px;border-radius:14px}.otr-progress:before,.otr-progress-item>span:last-child{display:none}.otr-step-no{width:36px;height:36px;margin:auto}.otr-main{padding:0 18px 22px;border-radius:17px}.otr-panel-head{min-height:112px;margin:0 -18px 23px;padding:18px;background-position:center,right center;background-size:100% 100%,auto 100%}.otr-panel-icon{width:48px;height:48px;border-radius:13px}.otr-panel-head h1{font-size:21px;max-width:220px;white-space:normal}.otr-panel-head p{font-size:11px;max-width:220px;white-space:normal;line-height:1.35}.otr-step h2{font-size:23px}.otr-lead{font-size:14px;margin-bottom:19px}.otr-dates,.otr-grid,.otr-choice-grid,.otr-services,.otr-final-grid{grid-template-columns:1fr}.otr-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.otr-type{min-height:152px;padding:10px 7px}.otr-type img{width:78px;height:58px}.otr-nav{position:sticky;bottom:0;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);padding:10px 0 2px;z-index:4}.otr-nav button{padding:12px 15px}.otr-next{min-width:150px}.otr-summary{border-radius:17px}.otr-summary-inner{padding:18px}.otr-benefits{grid-template-columns:1fr;padding:13px}.otr-benefits>div{padding:8px}.otr-final-total strong{font-size:24px}}
@media(max-width:760px){.otr-app{width:calc(100vw - 16px);margin-left:50%;transform:translateX(-50%)}.otr-layout{grid-template-columns:1fr}.otr-summary{position:static}}

/* v1.1.6 — poprawki zgodności bez zmiany zaakceptowanego układu */
.otr-type img{display:block;opacity:1!important;visibility:visible!important;filter:none!important}
body.admin-bar .otr-summary{top:50px}
@media screen and (max-width:782px){body.admin-bar .otr-summary{top:auto}}

/* 1.2.2 — wybór kategorii zgodny z Cennikiem OdpocznijTu */
.otr-category-stage{margin-top:8px}.otr-category-heading{display:flex;flex-direction:column;gap:3px;margin:0 0 14px}.otr-category-heading strong{font-size:17px}.otr-category-heading small{font-size:12px;color:var(--muted)}
.otr-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.otr-category{border:1px solid var(--line);border-radius:17px;background:#fff;min-height:190px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:.2s;color:var(--ink)}.otr-category:hover{transform:translateY(-3px);border-color:#91b19b;box-shadow:0 12px 28px rgba(23,65,39,.11)}.otr-category img{width:118px;height:88px;object-fit:contain}.otr-category span{display:flex;flex-direction:column;gap:4px;align-items:center}.otr-category strong{font-size:14px}.otr-category small{font-size:11px;color:var(--green);font-weight:780}.otr-selected-category{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border:1px solid #cfe1d4;background:#f4faf6;border-radius:14px;margin-bottom:18px}.otr-selected-category div{display:flex;flex-direction:column}.otr-selected-category small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.otr-selected-category strong{font-size:16px}.otr-change-category{border:0;background:transparent;color:var(--green);font-weight:800;cursor:pointer}.otr-options-stage .otr-type[hidden]{display:none!important}.otr-field-img{width:38px;height:38px;object-fit:contain;vertical-align:middle;margin-right:6px}
@container (max-width:980px){.otr-categories{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (max-width:560px){.otr-categories{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px;gap:10px}.otr-category{flex:0 0 76%;min-height:175px;scroll-snap-align:center}.otr-category img{width:130px;height:92px}.otr-selected-category{align-items:flex-start;gap:10px}.otr-change-category{white-space:nowrap}.otr-options-stage .otr-types{grid-template-columns:repeat(2,minmax(0,1fr))}.otr-field-img{width:32px;height:32px}}

/* === OTR 1.2.5: poprawki stabilności bez zmiany układu === */
.otr-app{
 width:100%;
 max-width:1240px!important;
 margin-left:auto;
 margin-right:auto;
 overflow-x:clip;
}
.otr-app img{max-width:100%;height:auto}
.otr-layout,.otr-main,.otr-summary,.otr-step,.otr-grid,.otr-dates,.otr-types,.otr-categories{min-width:0}
.otr-main,.otr-summary{max-width:100%}
.otr-field input,.otr-app input,.otr-app textarea,.otr-app select{max-width:100%;min-width:0}
.otr-panel-head{isolation:isolate}
.otr-panel-head:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,82,42,.99) 0%,rgba(7,82,42,.94) 42%,rgba(7,82,42,.48) 67%,rgba(7,82,42,.08) 100%);z-index:0;pointer-events:none}
.otr-panel-head{background-image:url("images/pro-forest-banner.webp");background-position:right center;background-size:cover;background-repeat:no-repeat}

.otr-summary-banner{background-position:center;background-size:cover;background-repeat:no-repeat}
.otr-progress-item,.otr-progress-item>span:last-child,.otr-sum-row>div{min-width:0}
.otr-progress-item strong,.otr-progress-item small,.otr-sum-row strong,.otr-local strong,.otr-local small{overflow-wrap:anywhere}
.otr-nav{max-width:100%}

/* Elementor może zwężać shortcode mimo szerokiego okna. Zachowujemy układ bazowy,
   ale zapobiegamy wymuszaniu szerokości viewportu i przesuwaniu komponentu. */
@media(max-width:760px){
 .otr-app{width:100%;margin-left:auto;margin-right:auto;transform:none}
}

@container (max-width:760px){
 .otr-app{width:100%;margin-left:auto;margin-right:auto;transform:none}
 .otr-main,.otr-summary,.otr-benefits{width:100%}
}

@container (max-width:560px){
 .otr-app{width:100%;margin-top:10px}
 .otr-panel-head{background-position:68% center;background-size:auto 100%}
 .otr-panel-head:before{background:linear-gradient(90deg,rgba(7,82,42,.99) 0%,rgba(7,82,42,.96) 58%,rgba(7,82,42,.48) 82%,rgba(7,82,42,.12) 100%)}
 .otr-panel-head h1,.otr-panel-head p{max-width:min(235px,calc(100% - 62px))}
 .otr-nav{left:auto;right:auto;width:100%}
}


/* === OTR 1.2.6: niezależny nagłówek panelu „Twój pobyt” === */
.otr-summary-banner{
 position:relative;
 height:92px;
 overflow:hidden;
 isolation:isolate;
 background:linear-gradient(118deg,#0b5d33 0%,#14733e 57%,#23874a 100%);
 border-bottom:1px solid rgba(255,255,255,.18);
}
.otr-summary-banner::before{
 content:"PODSUMOWANIE REZERWACJI";
 position:absolute;
 left:23px;
 top:50%;
 transform:translateY(-50%);
 z-index:2;
 max-width:190px;
 color:#fff;
 font-size:11px;
 line-height:1.35;
 font-weight:850;
 letter-spacing:1.55px;
 text-shadow:0 1px 2px rgba(0,0,0,.18);
}
.otr-summary-banner::after{
 content:"";
 position:absolute;
 right:15px;
 top:50%;
 width:72px;
 height:72px;
 transform:translateY(-50%);
 z-index:2;
 background:url("images/premium-calendar.webp") center/contain no-repeat;
 filter:drop-shadow(0 8px 12px rgba(0,0,0,.19));
}
.otr-summary-banner{
 background-image:
  radial-gradient(circle at 82% 44%,rgba(255,255,255,.12) 0 16%,transparent 17%),
  linear-gradient(118deg,#0b5d33 0%,#14733e 57%,#23874a 100%);
 background-position:center;
 background-size:auto;
 background-repeat:no-repeat;
}
@container (max-width:760px){
 .otr-summary-banner{display:block;height:82px}
 .otr-summary-banner::before{left:18px;font-size:10px;max-width:165px}
 .otr-summary-banner::after{right:13px;width:62px;height:62px}
}
@container (max-width:560px){
 .otr-summary-banner{height:74px}
 .otr-summary-banner::before{left:16px;font-size:9px;letter-spacing:1.25px;max-width:150px}
 .otr-summary-banner::after{right:12px;width:55px;height:55px}
}
@media(max-width:760px){
 .otr-summary-banner{display:block}
}

/* === OTR 1.2.7: spójne nagłówki formularza i podsumowania === */
.otr-panel-head{
 position:relative;
 min-height:92px;
 height:92px;
 margin:0 -34px 28px;
 padding:0 23px;
 gap:15px;
 overflow:hidden;
 isolation:isolate;
 color:#fff;
 background-image:
  radial-gradient(circle at 86% 42%,rgba(255,255,255,.12) 0 16%,transparent 17%),
  linear-gradient(118deg,#0b5d33 0%,#14733e 57%,#23874a 100%);
 background-position:center;
 background-size:auto;
 background-repeat:no-repeat;
 border-bottom:1px solid rgba(255,255,255,.18);
}
.otr-panel-head::before{display:none!important}
.otr-panel-head::after{display:none!important}
.otr-panel-head>div{position:relative;z-index:2}
.otr-panel-icon{
 width:72px;
 height:72px;
 margin-left:auto;
 order:2;
 flex:0 0 72px;
 border-radius:0;
 background-color:transparent;
 background-position:center;
 background-repeat:no-repeat;
 background-size:contain;
 box-shadow:none;
 filter:drop-shadow(0 8px 12px rgba(0,0,0,.19));
}
.otr-panel-icon .otr-svg{display:none}
.otr-panel-head>div:last-child{
 order:1;
 margin-right:auto;
 min-width:0;
}
.otr-panel-head h1{
 max-width:none;
 margin:0;
 font-size:21px;
 line-height:1.15;
 font-weight:850;
 letter-spacing:-.3px;
 text-shadow:0 1px 2px rgba(0,0,0,.18);
}
.otr-panel-head p{
 max-width:none;
 margin:5px 0 0;
 color:rgba(255,255,255,.9);
 font-size:11px;
 line-height:1.35;
 font-weight:650;
 text-shadow:0 1px 2px rgba(0,0,0,.14);
}

@container (max-width:760px){
 .otr-panel-head{height:82px;min-height:82px;margin-bottom:23px;padding:0 18px}
 .otr-panel-icon{width:62px;height:62px;flex-basis:62px}
 .otr-panel-head h1{font-size:19px}
 .otr-panel-head p{font-size:10px}
}
@container (max-width:560px){
 .otr-panel-head{height:74px;min-height:74px;margin:0 -18px 22px;padding:0 16px;gap:10px}
 .otr-panel-icon{width:55px;height:55px;flex-basis:55px}
 .otr-panel-head h1{font-size:17px;white-space:normal}
 .otr-panel-head p{font-size:9px;white-space:normal;margin-top:3px}
}
@media(max-width:760px){
 .otr-panel-head{background-image:radial-gradient(circle at 86% 42%,rgba(255,255,255,.12) 0 16%,transparent 17%),linear-gradient(118deg,#0b5d33 0%,#14733e 57%,#23874a 100%)}
}


/* ==========================================================================
   OTR 1.2.8 — STABILNA AKTUALIZACJA FUNKCJONALNA
   Układ 1.2.7 jest zamrożony. Poniższe reguły dotyczą wyłącznie nowych
   ikon, szczegółów kosztów i wyboru płatności. Nie zmieniają siatki,
   szerokości kolumn, kolejności sekcji ani breakpointów układu.
   ========================================================================== */
.otr-summary-picture{
 display:grid;
 place-items:center;
 width:38px;
 height:38px;
 border-radius:10px;
 background:#eef6f0;
 overflow:hidden;
}
.otr-summary-picture img{
 display:block;
 width:34px;
 height:34px;
 object-fit:contain;
}
.otr-sum-row .otr-summary-picture{margin-top:0}
.otr-choice-img{
 width:54px;
 height:54px;
 object-fit:contain;
 flex:0 0 54px;
}
.otr-service-img{
 width:48px;
 height:48px;
 object-fit:contain;
 flex:0 0 48px;
}
.otr-services label{min-width:0}
.otr-services label>span{min-width:0}
.otr-payment-method{margin-top:22px}
.otr-payment-method .otr-section-title{margin-bottom:4px}
.otr-payment-note{
 margin:0 0 12px;
 color:var(--muted);
 font-size:13px;
 line-height:1.45;
}
.otr-payment-options{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:13px;
}
.otr-payment-options label{
 position:relative;
 display:flex;
 align-items:flex-start;
 gap:11px;
 padding:15px;
 border:1px solid var(--line);
 border-radius:14px;
 background:#fff;
 cursor:pointer;
}
.otr-payment-options input{
 width:20px;
 height:20px;
 min-height:20px;
 margin:2px 0 0;
 padding:0;
 flex:0 0 20px;
 accent-color:var(--green);
}
.otr-payment-options span{display:flex;flex-direction:column;min-width:0}
.otr-payment-options strong{font-size:14px}
.otr-payment-options small{
 margin-top:3px;
 color:var(--muted);
 font-size:11px;
 line-height:1.4;
}
.otr-payment-options label:has(input:checked){
 border-color:var(--green);
 background:#f2faf5;
 box-shadow:0 0 0 1px var(--green);
}
.otr-costs{padding:14px 14px 10px}
.otr-costs h4{margin-bottom:10px}
.otr-cost-detail{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:15px;
 padding:9px 0;
 border-bottom:1px solid #edf1ee;
 font-size:12px;
}
.otr-cost-detail:last-child{border-bottom:0}
.otr-cost-detail>span{
 display:flex;
 flex-direction:column;
 min-width:0;
}
.otr-cost-detail>span strong{
 color:var(--ink);
 font-size:12px;
 line-height:1.35;
}
.otr-cost-detail>span small{
 margin-top:2px;
 color:var(--muted);
 font-size:10px;
 line-height:1.4;
}
.otr-cost-detail>b{
 white-space:nowrap;
 font-size:12px;
 color:var(--ink);
}
.otr-cost-subtotal{
 margin-top:3px;
 border-top:1px solid var(--line);
 border-bottom:0;
 padding-top:11px;
}
.otr-cost-subtotal>span strong,.otr-cost-subtotal>b{font-size:13px}
.otr-cost-discount>span strong,.otr-cost-discount>b{color:var(--green)}
.otr-final>.otr-costs{
 margin-top:0;
 border-radius:16px;
 background:#fbfdfb;
 padding:18px;
}
@container (max-width:560px){
 .otr-choice-img{width:46px;height:46px;flex-basis:46px}
 .otr-service-img{width:42px;height:42px;flex-basis:42px}
 .otr-payment-options{grid-template-columns:1fr}
 .otr-cost-detail{gap:10px}
}
@media(max-width:560px){
 .otr-payment-options{grid-template-columns:1fr}
}

/* OTR 1.2.9 — większe grafiki gości i usług, bez zmiany głównego układu */
.otr-guest-grid .otr-guest-item{
 display:grid;
 grid-template-columns:82px minmax(0,1fr);
 grid-template-rows:auto auto;
 column-gap:16px;
 align-items:center;
 padding:15px 16px;
 border:1px solid var(--line);
 border-radius:15px;
 background:linear-gradient(180deg,#fff,#fbfdfb);
 min-width:0;
}
.otr-guest-grid .otr-guest-item>.otr-guest-img{
 grid-column:1;
 grid-row:1 / span 2;
 width:78px;
 height:78px;
 object-fit:contain;
 margin:0;
}
.otr-guest-grid .otr-guest-item>span:first-of-type{
 grid-column:2;
 grid-row:1;
 display:flex;
 align-items:center;
 gap:4px;
 margin:0 0 7px;
 font-size:14px;
 font-weight:760;
 min-width:0;
}
.otr-guest-grid .otr-guest-item>input{
 grid-column:2;
 grid-row:2;
 min-height:50px;
 margin:0;
}
.otr-services label{
 min-height:92px;
 gap:16px;
 padding:14px 16px;
}
.otr-service-img{
 width:68px;
 height:68px;
 flex:0 0 68px;
 object-fit:contain;
}
@container (max-width:560px){
 .otr-guest-grid .otr-guest-item{
  grid-template-columns:68px minmax(0,1fr);
  column-gap:13px;
  padding:13px;
 }
 .otr-guest-grid .otr-guest-item>.otr-guest-img{
  width:64px;
  height:64px;
 }
 .otr-service-img{
  width:58px;
  height:58px;
  flex-basis:58px;
 }
 .otr-services label{min-height:82px;gap:13px}
}

/* OTR 1.2.10 — większe ikony gości, dodatków, płatności i podsumowania.
   Zmiany są ograniczone do wnętrza istniejących komponentów; układ główny pozostaje bez zmian. */
.otr-guest-grid .otr-guest-item{
 grid-template-columns:118px minmax(0,1fr);
 column-gap:18px;
 min-height:142px;
}
.otr-guest-grid .otr-guest-item>.otr-guest-img{
 width:116px;
 height:116px;
}
.otr-choice-img{
 width:82px;
 height:82px;
 flex:0 0 82px;
}
.otr-choice{
 min-height:112px;
 gap:16px;
}
.otr-summary-picture{
 width:58px;
 height:58px;
 border-radius:14px;
}
.otr-summary-picture img{
 width:52px;
 height:52px;
}
.otr-sum-row{
 grid-template-columns:60px minmax(0,1fr);
 gap:14px;
 align-items:center;
}
.otr-payment-options label{
 grid-template-columns:auto minmax(0,1fr);
 align-items:center;
 gap:15px;
 min-height:104px;
}
.otr-payment-method-img{
 display:block;
 width:92px;
 height:76px;
 flex:0 0 92px;
 object-fit:contain;
 border-radius:10px;
}
@container (max-width:760px){
 .otr-guest-grid .otr-guest-item{
  grid-template-columns:94px minmax(0,1fr);
  min-height:116px;
  column-gap:14px;
 }
 .otr-guest-grid .otr-guest-item>.otr-guest-img{width:92px;height:92px}
 .otr-choice-img{width:70px;height:70px;flex-basis:70px}
 .otr-choice{min-height:98px}
 .otr-payment-method-img{width:78px;height:64px;flex-basis:78px}
}
@media(max-width:760px){
 .otr-guest-grid .otr-guest-item{
  grid-template-columns:94px minmax(0,1fr);
  min-height:116px;
  column-gap:14px;
 }
 .otr-guest-grid .otr-guest-item>.otr-guest-img{width:92px;height:92px}
 .otr-choice-img{width:70px;height:70px;flex-basis:70px}
 .otr-choice{min-height:98px}
 .otr-payment-method-img{width:78px;height:64px;flex-basis:78px}
}
@container (max-width:480px){
 .otr-guest-grid .otr-guest-item{grid-template-columns:82px minmax(0,1fr);padding:12px}
 .otr-guest-grid .otr-guest-item>.otr-guest-img{width:80px;height:80px}
 .otr-summary-picture{width:50px;height:50px}
 .otr-summary-picture img{width:45px;height:45px}
 .otr-sum-row{grid-template-columns:52px minmax(0,1fr);gap:11px}
 .otr-payment-method-img{width:68px;height:56px;flex-basis:68px}
}
@media(max-width:480px){
 .otr-guest-grid .otr-guest-item{grid-template-columns:82px minmax(0,1fr);padding:12px}
 .otr-guest-grid .otr-guest-item>.otr-guest-img{width:80px;height:80px}
 .otr-summary-picture{width:50px;height:50px}
 .otr-summary-picture img{width:45px;height:45px}
 .otr-sum-row{grid-template-columns:52px minmax(0,1fr);gap:11px}
 .otr-payment-method-img{width:68px;height:56px;flex-basis:68px}
}
/* v1.3.0 – rozszerzenia bez zmiany układu */
.otr-guest-img{width:108px!important;height:108px!important;object-fit:contain;flex:0 0 108px}
.otr-summary-row .otr-summary-img,.otr-summary-content img{width:64px!important;height:64px!important;object-fit:contain}
.otr-promo-field{margin:18px 0}.otr-promo-field label{display:block}.otr-promo-field span{display:block;font-weight:700;margin-bottom:7px}.otr-promo-field input{width:100%;box-sizing:border-box}
.otr-marketing-consent{margin-top:10px;background:#f7fbf7;border:1px solid #dcebdc;padding:12px;border-radius:12px}
@media(max-width:620px){.otr-guest-img{width:84px!important;height:84px!important;flex-basis:84px}.otr-summary-row .otr-summary-img,.otr-summary-content img{width:54px!important;height:54px!important}}
/* v1.4.0 — icons-only enhancement; locked layout remains unchanged */
.otr-summary-row[data-key="guests"] img,
.otr-summary-item[data-key="guests"] img,
.otr-summary-content .otr-summary-guests img{width:74px!important;height:74px!important;object-fit:contain!important;flex:0 0 74px!important}

/* Pełna kontrola wyglądu 1.7.0 — wartości domyślne zachowują układ 1.6.0 */
.otr-app{color:var(--otr-text,#1f2d24);background:var(--otr-bg,#f4f7f2)}
.otr-app .otr-main,.otr-app .otr-summary-inner,.otr-app .otr-topline,.otr-app .otr-progress,.otr-app .otr-benefits-wrap{background-color:var(--otr-surface,#fff);border-color:var(--otr-border,#dfe7df)}
.otr-app p,.otr-app small,.otr-app .otr-lead{color:var(--otr-muted,#68766e)}
.otr-app h1,.otr-app h2,.otr-app h3,.otr-app h4,.otr-app strong{color:inherit}
.otr-app h1{font-size:calc(2rem * var(--otr-heading-scale,1))}.otr-app h2{font-size:calc(1.55rem * var(--otr-heading-scale,1))}.otr-app h3{font-size:calc(1.2rem * var(--otr-heading-scale,1))}
.otr-brand-logo{display:block;max-width:220px;max-height:72px;object-fit:contain}.otr-panel-icon img{width:72px;height:72px;object-fit:contain}.otr-summary-title-img{width:44px;height:44px;object-fit:contain;vertical-align:middle}.otr-benefits-wrap{margin-top:20px;padding:20px;border:1px solid var(--otr-border,#dfe7df);border-radius:var(--otr-radius,16px)}.otr-benefits-wrap>h2{text-align:center;margin:0 0 18px}.otr-benefit-img{width:62px;height:62px;object-fit:contain;flex:0 0 auto}.otr-safe img{width:60px;height:60px;object-fit:contain}.otr-app input,.otr-app select,.otr-app textarea{border-color:var(--otr-border,#dfe7df);color:var(--otr-text,#1f2d24);background:var(--otr-surface,#fff)}.otr-app .otr-next,.otr-app .otr-submit{background:var(--otr-primary,#2f7d32)}.otr-app .otr-total{background:linear-gradient(135deg,var(--otr-primary,#2f7d32),var(--otr-secondary,#205d2a))}
@media(max-width:820px){.otr-app{max-width:100%!important}.otr-brand-logo{max-width:175px}}


/* ==========================================================================
   OTR 1.7.1 — korekta wyrównania nagłówków bez zmiany układu kolumn
   ========================================================================== */
.otr-layout{
 align-items:start;
}
.otr-main,
.otr-summary{
 border-radius:var(--otr-radius,16px);
 overflow:hidden;
}
.otr-main{
 padding-top:0!important;
}
.otr-panel-head{
 box-sizing:border-box;
 width:auto;
 min-height:104px;
 height:104px;
 margin:0 calc(var(--otr-card-padding,24px) * -1) 28px!important;
 padding:0 24px!important;
 border-radius:0!important;
 display:flex;
 align-items:center;
}
.otr-summary-banner{
 box-sizing:border-box;
 min-height:104px;
 height:104px;
 border-radius:0!important;
}
.otr-panel-head h1{
 font-size:clamp(22px,2.25vw,32px)!important;
 line-height:1.08!important;
 letter-spacing:-.45px!important;
}
.otr-panel-head p{
 margin-top:7px!important;
 font-size:12px!important;
 line-height:1.35!important;
 color:rgba(255,255,255,.88)!important;
}
.otr-panel-icon{
 width:76px!important;
 height:76px!important;
 flex-basis:76px!important;
}
.otr-summary-banner::before{
 left:24px!important;
 max-width:210px!important;
 font-size:12px!important;
 line-height:1.35!important;
 letter-spacing:1.45px!important;
}
.otr-summary-banner::after{
 right:18px!important;
 width:76px!important;
 height:76px!important;
}
.otr-summary-inner{
 border-radius:0!important;
}

@container (max-width:760px){
 .otr-panel-head,
 .otr-summary-banner{
  min-height:88px;
  height:88px;
 }
 .otr-panel-head{padding:0 18px!important;margin-bottom:22px!important}
 .otr-panel-icon{width:62px!important;height:62px!important;flex-basis:62px!important}
 .otr-panel-head h1{font-size:21px!important}
 .otr-panel-head p{font-size:10px!important;margin-top:4px!important}
 .otr-summary-banner::before{left:18px!important;font-size:10px!important;max-width:165px!important}
 .otr-summary-banner::after{right:14px!important;width:62px!important;height:62px!important}
}
@container (max-width:560px){
 .otr-panel-head,
 .otr-summary-banner{
  min-height:80px;
  height:80px;
 }
 .otr-panel-head{
  margin:0 calc(var(--otr-card-padding,18px) * -1) 21px!important;
  padding:0 16px!important;
  gap:10px!important;
 }
 .otr-panel-icon{width:56px!important;height:56px!important;flex-basis:56px!important}
 .otr-panel-head h1{font-size:18px!important;max-width:220px!important}
 .otr-panel-head p{font-size:9px!important;max-width:220px!important}
 .otr-summary-banner::before{left:16px!important;font-size:9px!important;max-width:145px!important}
 .otr-summary-banner::after{right:12px!important;width:56px!important;height:56px!important}
}
@media(max-width:760px){
 .otr-panel-head,
 .otr-summary-banner{min-height:88px;height:88px}
}
@media(max-width:560px){
 .otr-panel-head,
 .otr-summary-banner{min-height:80px;height:80px}
}

.otr-type em{display:block;font-style:normal;font-size:11px;line-height:1.35;color:var(--otr-muted,#6b7a72);margin-top:4px;min-height:30px}

/* OTR 1.7.3 — frontend quality completion. Existing two-column layout remains unchanged. */
.otr-guest-grid .otr-guest-item{
 grid-template-columns:118px minmax(0,1fr)!important;
 grid-template-rows:auto auto!important;
}
.otr-guest-label{grid-column:2;grid-row:1;margin:0 0 8px!important;align-self:end}
.otr-number-control{
 grid-column:2;grid-row:2;display:grid;grid-template-columns:48px minmax(58px,1fr) 48px;
 align-items:center;gap:8px;max-width:250px;
}
.otr-number-control button{
 width:48px;height:48px;min-width:48px;border:1px solid var(--line);border-radius:12px;
 background:#f3f7f4;color:var(--green);font-size:27px;line-height:1;font-weight:850;cursor:pointer;
 display:grid;place-items:center;padding:0;transition:.15s;
}
.otr-number-control button:hover{background:#e7f3e9;border-color:#9ec5a9}
.otr-number-control button:focus-visible,.otr-edit-step:focus-visible,.otr-type:focus-visible{
 outline:3px solid rgba(35,134,75,.28);outline-offset:2px;
}
.otr-number-control input{grid-column:2;grid-row:1;text-align:center;font-size:19px;font-weight:800;min-height:48px;padding:7px}
.otr-number-control input::-webkit-inner-spin-button,.otr-number-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.otr-number-control input{-moz-appearance:textfield}
.otr-guest-total{margin:14px 0 2px;padding:11px 14px;border-radius:12px;background:#edf7f0;color:#285a39;font-size:14px;font-weight:750}
.otr-service-description{display:block;color:var(--muted);font-weight:450;line-height:1.35;margin:2px 0}
.otr-field-invalid input,.otr-field-invalid textarea,.otr-field-invalid select{border-color:var(--danger)!important;box-shadow:0 0 0 3px rgba(180,35,24,.09)!important}
.otr-field-error{display:block!important;color:var(--danger);font-weight:650;font-size:12px;line-height:1.35;margin-top:6px;grid-column:1/-1}
.otr-sum-meta{display:grid;gap:9px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px 0 13px}
.otr-sum-meta>div{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.otr-sum-meta small{color:var(--muted);font-size:11px;flex:0 0 auto}
.otr-sum-meta strong{font-size:12px;text-align:right;line-height:1.45}
.otr-edit-step{border:0;background:transparent;color:var(--green);font-size:11px;font-weight:800;padding:2px 4px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.otr-final-item small{display:flex;align-items:center;justify-content:space-between;gap:8px}
.otr-alert.warning{display:block;background:#fff8e8;color:#7a4d00;border:1px solid #e8c66b}
.otr-step h2:focus{outline:none}
.otr-type[aria-pressed="true"]{border:2px solid var(--green);background:#f4faf6}
.otr-app button,.otr-app input,.otr-app textarea,.otr-app select{touch-action:manipulation}
@media(max-width:760px){
 .otr-guest-grid .otr-guest-item{grid-template-columns:96px minmax(0,1fr)!important;min-height:126px}
 .otr-guest-grid .otr-guest-item>.otr-guest-img{width:94px!important;height:94px!important}
 .otr-number-control{grid-template-columns:46px minmax(50px,1fr) 46px;max-width:none;width:100%}
 .otr-number-control button{width:46px;height:46px;min-width:46px;font-size:26px}
 .otr-number-control input{min-height:46px}
 .otr-sum-meta>div{display:block}.otr-sum-meta strong{display:block;text-align:left;margin-top:3px}
}
@media(max-width:480px){
 .otr-guest-grid .otr-guest-item{grid-template-columns:82px minmax(0,1fr)!important;padding:12px!important}
 .otr-guest-grid .otr-guest-item>.otr-guest-img{width:80px!important;height:80px!important}
 .otr-number-control{grid-template-columns:44px minmax(48px,1fr) 44px;gap:6px}
 .otr-number-control button{width:44px;height:44px;min-width:44px;font-size:25px}
 .otr-number-control input{min-height:44px;padding:5px}
}
@media(prefers-reduced-motion:reduce){
 .otr-app *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* v1.8.0 — dopracowanie wyborów i rezerwacji grupowych */
.otr-tent-mode-stage{margin:18px 0}.otr-tent-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.otr-tent-mode{display:flex;align-items:center;gap:16px;text-align:left;border:2px solid var(--otr-border);background:var(--otr-surface);border-radius:16px;padding:16px;cursor:pointer;min-height:112px}.otr-tent-mode:hover,.otr-tent-mode:focus-visible{border-color:var(--otr-primary);box-shadow:0 0 0 3px rgba(47,125,50,.12)}.otr-tent-mode img{width:88px;height:88px;object-fit:contain}.otr-tent-mode span{display:flex;flex-direction:column;gap:5px}.otr-tent-mode strong{font-size:18px}.otr-tent-mode small{color:var(--otr-muted)}
.otr-guest-img{width:calc(var(--otr-icon-size)*1.25)!important;height:calc(var(--otr-icon-size)*1.25)!important;flex:0 0 auto}.otr-choice-img,.otr-service-img{width:calc(var(--otr-icon-size)*1.5)!important;height:calc(var(--otr-icon-size)*1.5)!important;flex:0 0 auto}.otr-services label,.otr-choice{min-height:112px;align-items:center}.otr-panel-icon[hidden]{display:none!important}
.otr-group-booking{margin-top:28px;padding:20px;border:1px solid var(--otr-border);border-radius:var(--otr-radius);background:color-mix(in srgb,var(--otr-bg) 55%,white)}.otr-group-booking-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.otr-group-booking-head h3{margin:0 0 5px;font-size:21px}.otr-group-booking-head p{margin:0;color:var(--otr-muted)}.otr-station-count{white-space:nowrap;padding:7px 12px;border-radius:999px;background:#e9f5e9;color:var(--otr-primary);font-weight:800}.otr-group-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.otr-group-actions button{min-height:46px;border-radius:12px;padding:0 16px;font-weight:800;cursor:pointer}.otr-add-station{background:var(--otr-primary);color:#fff;border:0}.otr-copy-station{background:#fff;color:var(--otr-primary);border:1px solid var(--otr-primary)}
.otr-extra-stations{display:grid;gap:16px;margin-top:18px}.otr-extra-station{background:#fff;border:1px solid var(--otr-border);border-radius:16px;padding:18px}.otr-extra-station>header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.otr-extra-station>header div{display:flex;flex-direction:column}.otr-extra-station>header small{color:var(--otr-muted)}.otr-extra-station>header strong{font-size:18px}.otr-remove-station{border:1px solid #d92d20;background:#fff;color:#b42318;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}.otr-extra-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.otr-extra-type{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid var(--otr-border);background:#fff;border-radius:12px;padding:10px;cursor:pointer}.otr-extra-type.selected{border:2px solid var(--otr-primary);background:#f1faf1}.otr-extra-type img{width:54px;height:54px;object-fit:contain}.otr-extra-type span{display:flex;flex-direction:column}.otr-extra-type small{font-size:11px;color:var(--otr-muted)}.otr-extra-guests{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.otr-extra-guests label{font-weight:700;font-size:13px}.otr-extra-guests input{width:100%;margin-top:5px;min-height:44px;border:1px solid var(--otr-border);border-radius:10px;text-align:center}.otr-extra-addons{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.otr-extra-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.otr-extra-services label{display:flex;align-items:center;gap:8px;border:1px solid var(--otr-border);border-radius:10px;padding:8px}.otr-extra-services img{width:42px;height:42px;object-fit:contain}.otr-extra-services span{display:flex;flex-direction:column}.otr-extra-note{display:block;margin-top:12px;font-weight:700}.otr-extra-note textarea{width:100%;margin-top:5px;border:1px solid var(--otr-border);border-radius:10px;padding:10px}.otr-station-summary{padding-left:0}
@media(max-width:760px){.otr-tent-modes{grid-template-columns:1fr}.otr-tent-mode{min-height:96px}.otr-tent-mode img{width:72px;height:72px}.otr-extra-type-grid{grid-template-columns:1fr 1fr}.otr-extra-guests{grid-template-columns:1fr 1fr}.otr-extra-services{grid-template-columns:1fr}.otr-group-booking-head{flex-direction:column}.otr-group-actions button{width:100%}}
@media(max-width:420px){.otr-extra-type-grid{grid-template-columns:1fr}.otr-guest-img{width:calc(var(--otr-icon-size)*1.25)!important;height:calc(var(--otr-icon-size)*1.25)!important}.otr-choice-img,.otr-service-img{width:calc(var(--otr-icon-size)*1.5)!important;height:calc(var(--otr-icon-size)*1.5)!important}}


/* v1.8.2 — poprawka krytyczna bez zmiany układu */
.otr-layout{align-items:start!important}
.otr-summary{align-self:start!important;margin-top:0!important;transform:none!important}
.otr-station-summary{padding-left:0!important}
.otr-station-summary>div{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.otr-station-summary small{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
.otr-station-summary strong{white-space:nowrap!important;flex:0 0 auto}
.otr-extra-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 12px}
.otr-extra-category{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:82px;padding:8px;border:1px solid var(--otr-border);border-radius:11px;background:#fff;cursor:pointer;text-align:center}
.otr-extra-category img{width:48px;height:38px;object-fit:contain}
.otr-extra-category strong{font-size:11px;line-height:1.2}
.otr-extra-category.selected{border:2px solid var(--otr-primary);background:#f1faf1}
.otr-extra-tent-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
.otr-extra-tent-mode{display:flex;align-items:center;gap:10px;min-height:82px;padding:10px;border:1px solid var(--otr-border);border-radius:11px;background:#fff;text-align:left;cursor:pointer}
.otr-extra-tent-mode img{width:58px;height:52px;object-fit:contain;flex:0 0 auto}
.otr-extra-tent-mode span{display:flex;flex-direction:column;gap:2px}
.otr-extra-tent-mode small{font-size:10px;color:var(--otr-muted)}
.otr-extra-tent-mode.selected{border:2px solid var(--otr-primary);background:#f1faf1}
@media(max-width:900px){.otr-extra-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.otr-extra-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.otr-extra-tent-modes{grid-template-columns:1fr}}

/* v1.8.3 — ujednolicenie komponentów dodatkowych stanowisk bez zmiany głównego układu */
.otr-extra-station{
 --otr-extra-guest-icon:clamp(58px,calc(var(--otr-icon-size,44px) * 1.55),78px);
 --otr-extra-option-icon:clamp(76px,calc(var(--otr-icon-size,44px) * 2),96px);
 --otr-extra-checkbox:26px;
 min-width:0;
 overflow:hidden;
}
.otr-extra-station *{box-sizing:border-box}
.otr-extra-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.otr-extra-category{min-width:0;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px solid var(--otr-border);border-radius:12px;background:#fff;color:var(--otr-text);cursor:pointer}
.otr-extra-category.selected,.otr-extra-tent-mode.selected,.otr-extra-type.selected{border:2px solid var(--otr-primary);background:#f1faf1}
.otr-extra-category-media,.otr-extra-type-media{width:74px;height:58px;display:grid;place-items:center;flex:0 0 auto}
.otr-extra-category-media img,.otr-extra-type-media img{display:block;max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain;object-position:center}
.otr-extra-category strong{font-size:13px;line-height:1.25;text-align:center}
.otr-extra-tent-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 12px}
.otr-extra-tent-mode{min-width:0;min-height:100px;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;text-align:left;border:1px solid var(--otr-border);background:#fff;border-radius:12px;padding:12px;cursor:pointer}
.otr-extra-tent-mode>span:last-child,.otr-extra-type>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}
.otr-extra-tent-mode strong,.otr-extra-type strong{overflow-wrap:normal;word-break:normal;hyphens:none;line-height:1.25}
.otr-extra-tent-mode small,.otr-extra-type small{color:var(--otr-muted);line-height:1.3}
.otr-extra-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.otr-extra-type{min-width:0;min-height:100px;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;padding:10px}
.otr-extra-guests{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.otr-extra-guest{min-width:0;display:grid;grid-template-columns:var(--otr-extra-guest-icon) minmax(0,1fr);align-items:center;gap:14px;border:1px solid var(--otr-border);border-radius:14px;padding:14px;background:#fff}
.otr-extra-icon-box{display:grid;place-items:center;flex:0 0 auto;overflow:visible}
.otr-extra-icon-box img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center}
.otr-extra-guest-icon{width:var(--otr-extra-guest-icon);height:var(--otr-extra-guest-icon)}
.otr-extra-guest-body{min-width:0;display:flex;flex-direction:column;gap:8px}
.otr-extra-guest-body>strong{font-size:14px;line-height:1.25}
.otr-extra-stepper{display:grid;grid-template-columns:48px minmax(56px,1fr) 48px;align-items:center;gap:8px}
.otr-extra-stepper input{width:100%!important;min-width:0;height:48px!important;min-height:48px!important;margin:0!important;padding:4px 6px!important;border:1px solid var(--otr-border)!important;border-radius:10px!important;text-align:center;font-weight:800;font-size:16px;-moz-appearance:textfield}
.otr-extra-stepper input::-webkit-outer-spin-button,.otr-extra-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.otr-extra-step{width:48px;height:48px;border:1px solid #cfe0d3;border-radius:10px;background:#f2f7f3;color:var(--otr-primary);font-size:25px;font-weight:800;line-height:1;cursor:pointer}
.otr-extra-step:hover,.otr-extra-step:focus-visible{background:#e5f2e8;border-color:var(--otr-primary);outline:3px solid rgba(31,126,61,.15);outline-offset:1px}
.otr-extra-addons,.otr-extra-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:12px;margin-top:14px}
.otr-extra-services-title{margin:22px 0 0;font-size:18px;font-weight:500}
.otr-extra-option{position:relative;min-width:0;min-height:112px;display:grid!important;grid-template-columns:var(--otr-extra-checkbox) var(--otr-extra-option-icon) minmax(0,1fr);align-items:center;gap:14px;border:1px solid var(--otr-border)!important;border-radius:14px!important;padding:14px!important;background:#fff;cursor:pointer;overflow:hidden}
.otr-extra-option.is-selected{border:2px solid var(--otr-primary)!important;background:#f1faf1}
.otr-extra-checkbox{appearance:none!important;-webkit-appearance:none!important;width:var(--otr-extra-checkbox)!important;height:var(--otr-extra-checkbox)!important;min-width:var(--otr-extra-checkbox)!important;min-height:var(--otr-extra-checkbox)!important;max-width:var(--otr-extra-checkbox)!important;max-height:var(--otr-extra-checkbox)!important;margin:0!important;padding:0!important;border:2px solid #aebdb2!important;border-radius:5px!important;background:#fff!important;box-shadow:none!important;position:relative;z-index:2;cursor:pointer}
.otr-extra-checkbox:checked{background:var(--otr-primary)!important;border-color:var(--otr-primary)!important}
.otr-extra-checkmark{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:var(--otr-extra-checkbox);height:var(--otr-extra-checkbox);display:grid;place-items:center;color:#fff;font-size:18px;font-weight:900;pointer-events:none;z-index:3;opacity:0}
.otr-extra-checkbox:checked+.otr-extra-checkmark{opacity:1}
.otr-extra-checkbox:focus-visible{outline:3px solid rgba(31,126,61,.22)!important;outline-offset:3px!important}
.otr-extra-addon-icon,.otr-extra-service-icon{width:var(--otr-extra-option-icon);height:76px}
.otr-extra-option-copy{min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.otr-extra-option-copy strong{font-size:16px;line-height:1.25;overflow-wrap:normal;word-break:normal;hyphens:none}
.otr-extra-option-copy small{font-size:13px;color:var(--otr-muted);line-height:1.35;overflow-wrap:normal;word-break:normal}
.otr-extra-price-unit{white-space:nowrap}
.otr-extra-note textarea{min-height:112px;resize:vertical}
@media(max-width:1100px){.otr-extra-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.otr-extra-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .otr-extra-station{--otr-extra-guest-icon:64px;--otr-extra-option-icon:82px;--otr-extra-checkbox:28px;padding:14px}
 .otr-extra-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .otr-extra-category{min-height:104px}
 .otr-extra-tent-modes,.otr-extra-type-grid,.otr-extra-guests,.otr-extra-addons,.otr-extra-services{grid-template-columns:1fr}
 .otr-extra-guest{grid-template-columns:64px minmax(0,1fr);padding:12px}
 .otr-extra-stepper{grid-template-columns:52px minmax(68px,1fr) 52px}
 .otr-extra-step,.otr-extra-stepper input{height:52px!important;min-height:52px!important}
 .otr-extra-step{width:52px}
 .otr-extra-option{grid-template-columns:28px 82px minmax(0,1fr);min-height:108px;padding:12px!important;gap:12px}
 .otr-extra-checkmark{left:12px;width:28px;height:28px}
 .otr-extra-option-copy strong{font-size:15px}
}
@media(max-width:390px){
 .otr-extra-category-grid{grid-template-columns:1fr 1fr;gap:8px}
 .otr-extra-category-media{width:64px;height:50px}
 .otr-extra-tent-mode,.otr-extra-type{grid-template-columns:68px minmax(0,1fr)}
 .otr-extra-option{grid-template-columns:28px 68px minmax(0,1fr)}
 .otr-extra-addon-icon,.otr-extra-service-icon{width:68px;height:68px}
}

/* v1.8.4 — dwukrotne powiększenie ikon wskazanych przez administratora.
   Zmiana nie przebudowuje głównej siatki, kolejności sekcji ani kolumn. */
.otr-app{
 --otr-guest-icon-2x:clamp(104px,calc(var(--otr-icon-size,44px) * 2.5),132px);
 --otr-addon-icon-2x:clamp(116px,calc(var(--otr-icon-size,44px) * 3),154px);
}

/* Główne stanowisko: Dorośli, dzieci, maluchy, zwierzęta. */
.otr-guest-grid .otr-guest-item{
 min-height:154px;
 grid-template-columns:var(--otr-guest-icon-2x) minmax(0,1fr)!important;
 align-items:center;
}
.otr-guest-grid .otr-guest-item>.otr-guest-img,
.otr-guest-img{
 width:var(--otr-guest-icon-2x)!important;
 height:var(--otr-guest-icon-2x)!important;
 max-width:none!important;
 max-height:none!important;
 object-fit:contain!important;
 flex:0 0 var(--otr-guest-icon-2x)!important;
}

/* Główne stanowisko: prąd, wynajem namiotu i usługi dodatkowe. */
.otr-choice-img,
.otr-service-img{
 width:var(--otr-addon-icon-2x)!important;
 height:var(--otr-addon-icon-2x)!important;
 max-width:none!important;
 max-height:none!important;
 object-fit:contain!important;
 flex:0 0 var(--otr-addon-icon-2x)!important;
}
.otr-services label,
.otr-choice{
 min-height:176px!important;
 align-items:center!important;
}

/* Dodatkowe stanowiska: te same dwukrotnie większe rozmiary. */
.otr-extra-station{
 --otr-extra-guest-icon:var(--otr-guest-icon-2x);
 --otr-extra-option-icon:var(--otr-addon-icon-2x);
}
.otr-extra-guest{
 grid-template-columns:var(--otr-extra-guest-icon) minmax(0,1fr)!important;
 min-height:154px;
}
.otr-extra-guest-icon{
 width:var(--otr-extra-guest-icon)!important;
 height:var(--otr-extra-guest-icon)!important;
}
.otr-extra-option{
 grid-template-columns:var(--otr-extra-checkbox) var(--otr-extra-option-icon) minmax(0,1fr)!important;
 min-height:176px!important;
}
.otr-extra-addon-icon,
.otr-extra-service-icon{
 width:var(--otr-extra-option-icon)!important;
 height:var(--otr-extra-option-icon)!important;
}

/* Kontenery nie przycinają powiększonych grafik. */
.otr-extra-icon-box,
.otr-guest-item,
.otr-choice,
.otr-services label{
 overflow:visible!important;
}

@media(max-width:760px){
 .otr-app{
  --otr-guest-icon-2x:104px;
  --otr-addon-icon-2x:116px;
 }
 .otr-guest-grid .otr-guest-item{
  grid-template-columns:104px minmax(0,1fr)!important;
  min-height:142px;
 }
 .otr-guest-grid .otr-guest-item>.otr-guest-img,
 .otr-guest-img{width:104px!important;height:104px!important;flex-basis:104px!important}
 .otr-services label,.otr-choice{min-height:158px!important}
 .otr-extra-station{--otr-extra-guest-icon:104px;--otr-extra-option-icon:116px}
 .otr-extra-guest{grid-template-columns:104px minmax(0,1fr)!important;min-height:142px}
 .otr-extra-option{grid-template-columns:28px 116px minmax(0,1fr)!important;min-height:158px!important}
 .otr-extra-addon-icon,.otr-extra-service-icon{width:116px!important;height:116px!important}
}

@media(max-width:420px){
 .otr-app{
  --otr-guest-icon-2x:92px;
  --otr-addon-icon-2x:104px;
 }
 .otr-guest-grid .otr-guest-item{
  grid-template-columns:92px minmax(0,1fr)!important;
  min-height:132px;
 }
 .otr-guest-grid .otr-guest-item>.otr-guest-img,
 .otr-guest-img{width:92px!important;height:92px!important;flex-basis:92px!important}
 .otr-choice-img,.otr-service-img{width:104px!important;height:104px!important;flex-basis:104px!important}
 .otr-services label,.otr-choice{min-height:148px!important}
 .otr-extra-station{--otr-extra-guest-icon:92px;--otr-extra-option-icon:104px}
 .otr-extra-guest{grid-template-columns:92px minmax(0,1fr)!important;min-height:132px}
 .otr-extra-option{grid-template-columns:28px 104px minmax(0,1fr)!important;min-height:148px!important}
 .otr-extra-addon-icon,.otr-extra-service-icon{width:104px!important;height:104px!important}
}

/* v1.8.5 — grafika liczby stanowisk w panelu podsumowania. */
.otr-station-summary .otr-summary-picture img{object-fit:contain;object-position:center}

/* v1.8.6 — naprawa pola liczby stanowisk, checkboxów usług i nowa grafika noclegów. */
.otr-station-summary > div{
 display:flex!important;
 flex-direction:column!important;
 align-items:flex-start!important;
 justify-content:center!important;
 min-width:0!important;
}
.otr-station-summary > div > small,
.otr-station-summary > div > strong{
 display:block!important;
 width:100%!important;
 margin-left:0!important;
}
.otr-station-summary > div > small{margin-bottom:3px!important}

/* Jednolity, odporny na style motywu i Elementora checkbox usług głównego stanowiska. */
.otr-services .otr-service-checkbox{
 appearance:auto!important;
 -webkit-appearance:checkbox!important;
 width:26px!important;
 height:26px!important;
 min-width:26px!important;
 min-height:26px!important;
 max-width:26px!important;
 max-height:26px!important;
 flex:0 0 26px!important;
 margin:0!important;
 padding:0!important;
 transform:none!important;
 box-sizing:border-box!important;
 accent-color:var(--otr-primary)!important;
 align-self:center!important;
}
.otr-services label{
 grid-template-columns:26px var(--otr-addon-icon-2x) minmax(0,1fr)!important;
 display:grid!important;
 min-width:0!important;
}
.otr-services label > span{min-width:0!important}
.otr-services label > span > strong,
.otr-services label > span > small{overflow-wrap:normal!important;word-break:normal!important}

/* Nowa grafika noclegów jest skalowana tak samo jak inne ikony podsumowania. */
.otr-sum-row .otr-summary-picture img{
 width:100%!important;
 height:100%!important;
 object-fit:contain!important;
 object-position:center!important;
}

@media(max-width:760px){
 .otr-services .otr-service-checkbox{
  width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;flex-basis:28px!important;
 }
 .otr-services label{grid-template-columns:28px 116px minmax(0,1fr)!important}
}
@media(max-width:420px){
 .otr-services label{grid-template-columns:28px 104px minmax(0,1fr)!important}
}

/* v1.8.7 — kolorowe grafiki i dopracowane stany paska kroków */
.otr-progress{
  min-height:94px;
  padding:16px 18px;
  align-items:center;
}
.otr-progress:before{
  top:47px;
  left:8%;
  right:8%;
  height:3px;
  background:#dfe8e2;
  border-radius:999px;
}
.otr-progress-item{
  gap:11px;
  justify-content:center;
  padding:0 5px;
}
.otr-step-no{
  width:58px;
  height:58px;
  border-radius:50%;
  background:#f4f7f4;
  border:2px solid #dfe7e1;
  overflow:hidden;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background-color .2s ease;
}
.otr-progress-img{
  width:46px;
  height:46px;
  display:block;
  object-fit:contain;
  object-position:center;
  filter:saturate(.72) opacity(.62);
  transition:filter .2s ease,transform .2s ease;
}
.otr-progress-item>span:last-child{
  gap:1px;
}
.otr-progress-item strong{
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  color:#667269;
  white-space:nowrap;
}
.otr-progress-item small{
  font-size:11px;
  line-height:1.25;
  margin-top:3px;
  color:#8a948e;
  white-space:nowrap;
}
.otr-progress-item.done .otr-step-no{
  background:#eff8f1;
  border-color:#7fbd8e;
  box-shadow:0 4px 12px rgba(23,108,58,.12);
}
.otr-progress-item.done .otr-progress-img{
  filter:saturate(.95) opacity(.92);
}
.otr-progress-item.done strong{
  color:#25713e;
}
.otr-progress-item.active .otr-step-no{
  background:#fff;
  border-color:var(--green);
  box-shadow:0 6px 18px rgba(23,108,58,.24),0 0 0 4px rgba(23,108,58,.09);
  transform:scale(1.06);
}
.otr-progress-item.active .otr-progress-img{
  filter:none;
  transform:scale(1.05);
}
.otr-progress-item.active strong{
  color:var(--green);
  font-weight:800;
}
.otr-progress-item.active small{
  color:#54665a;
}
.otr-progress-item[aria-current="step"] .otr-step-no{
  outline:0;
}
.otr-progress-item.done:not(:last-child):after{
  border-color:#69aa78;
}
@media (prefers-reduced-motion:reduce){
  .otr-step-no,.otr-progress-img{transition:none!important}
}
@container (max-width:980px){
  .otr-progress{min-height:82px;padding:12px 12px}
  .otr-progress:before{top:39px}
  .otr-step-no{width:50px;height:50px}
  .otr-progress-img{width:40px;height:40px}
  .otr-progress-item strong{font-size:12px}
}
@container (max-width:700px){
  .otr-progress{padding:10px 7px;min-height:66px}
  .otr-progress:before{top:31px;left:10%;right:10%;height:2px}
  .otr-progress-item{padding:0;gap:0}
  .otr-progress-item>span:last-child{display:none}
  .otr-step-no{width:44px;height:44px;margin:auto;border-width:2px}
  .otr-progress-img{width:35px;height:35px}
  .otr-progress-item.active .otr-step-no{transform:none;box-shadow:0 4px 12px rgba(23,108,58,.2),0 0 0 3px rgba(23,108,58,.08)}
}
@container (max-width:380px){
  .otr-progress{padding-inline:4px}
  .otr-step-no{width:40px;height:40px}
  .otr-progress-img{width:32px;height:32px}
}

/* v1.8.8 – dynamiczna ikona wybranego rodzaju pobytu */
.otr-progress-item:nth-child(2) .otr-step-no.has-dynamic-type .otr-progress-img{
  filter:none;
}


/* === OTR 1.9.3 — grupowane koszty === */
/* Podsumowanie kosztów grupowane według stanowisk. */
.otr-cost-station{border:1px solid #dce8df;border-radius:14px;background:#fff;margin:12px 0;overflow:hidden}
.otr-cost-station-head{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:11px;padding:12px 13px;background:#f3f9f5;border-bottom:1px solid #dce8df}
.otr-cost-station-head .otr-summary-picture{width:58px!important;height:58px!important;background:transparent!important;border-radius:0!important}
.otr-cost-station-head .otr-summary-picture img{width:100%!important;height:100%!important;object-fit:contain!important}
.otr-cost-station-head>div{display:flex;flex-direction:column;min-width:0}
.otr-cost-station-head small{font-size:10px;font-weight:850;letter-spacing:.08em;color:#23713d}
.otr-cost-station-head strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.otr-cost-station-lines{padding:3px 12px}
.otr-cost-station-lines .otr-cost-detail:last-child{border-bottom:0}
.otr-cost-station-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#eaf6ed;border-top:1px solid #d4e7d9;color:#155f32;font-weight:850}
.otr-cost-station-total span{font-size:12px;text-transform:uppercase;letter-spacing:.035em}
.otr-cost-station-total b{font-size:15px;white-space:nowrap}

/* Nowe grafiki z przezroczystym tłem nie dostają sztucznego tła w pasku i podsumowaniu. */
.otr-progress-img,.otr-summary-picture img{background:transparent!important}

@container (max-width:760px){
 .otr-cost-station-head{grid-template-columns:52px minmax(0,1fr)}
 .otr-cost-station-head .otr-summary-picture{width:52px!important;height:52px!important}
}
@container (max-width:560px){
 .otr-cost-station-head{grid-template-columns:46px minmax(0,1fr);padding:10px}
 .otr-cost-station-head .otr-summary-picture{width:46px!important;height:46px!important}
 .otr-cost-station-total{padding:10px}
}


/* === OTR 1.9.5 — podsumowanie końcowe === */
.otr-final-stations{margin:0 0 16px}
.otr-final-stations>h3{margin:0 0 10px;font-size:17px}
.otr-final-station-card{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:13px 14px;
  margin:0 0 10px;
  border:1px solid #dce8df;
  border-radius:14px;
  background:#f7fbf8;
}
.otr-final-station-card .otr-summary-picture{
  width:74px!important;
  height:64px!important;
  border-radius:0!important;
  background:transparent!important;
}
.otr-final-station-card .otr-summary-picture img{width:100%!important;height:100%!important;object-fit:contain!important}
.otr-final-station-card>div{display:flex;flex-direction:column;min-width:0}
.otr-final-station-card small{font-size:10px;font-weight:850;letter-spacing:.08em;color:#23713d}
.otr-final-station-card strong{font-size:15px;line-height:1.25}
.otr-final-station-card span{font-size:12px;color:#53645a;margin-top:3px}
.otr-final-station-card em{font-size:11px;color:#637269;font-style:normal;margin-top:2px}
@container (max-width:560px){
  .otr-final-station-card{grid-template-columns:58px minmax(0,1fr);padding:11px}
  .otr-final-station-card .otr-summary-picture{width:58px!important;height:52px!important}
}


/* OTR 1.9.6 — skonsolidowany komponent grafiki zielonego nagłówka; zachowuje wygląd 1.9.5 */
.otr-panel-head{position:relative;overflow:hidden;padding-right:166px}
.otr-panel-head .otr-panel-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:clamp(118px,11vw,156px);height:clamp(118px,11vw,156px);display:grid;place-items:center;margin:0;flex:0 0 auto;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;z-index:2;pointer-events:none}
.otr-panel-head .otr-panel-icon[hidden]{display:none}
.otr-panel-head .otr-panel-icon::before,.otr-panel-head .otr-panel-icon::after{content:none;display:none}
.otr-panel-head .otr-panel-icon>img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;background:transparent}
@container (max-width:760px){.otr-panel-head{padding-right:138px}.otr-panel-head .otr-panel-icon{right:5px}}
@container (max-width:560px){.otr-panel-head{padding-right:116px}.otr-panel-head .otr-panel-icon{right:2px}.otr-panel-head h1,.otr-panel-head p{max-width:calc(100% - 4px)}}


/* OTR 1.9.7 — korekty czytelności podsumowania bez zmiany układu */
.otr-sum-row{align-items:center;gap:16px}
.otr-sum-row small{font-size:12px;line-height:1.25}
.otr-sum-row strong{line-height:1.45}
.otr-summary-secondary{display:block;margin-top:4px;color:#627068;font-size:11px;line-height:1.35}
.otr-station-summary strong{font-weight:800}
.otr-summary-addons{display:flex!important;flex-direction:column;gap:3px}
.otr-summary-addons>span{display:block;position:relative;padding-left:13px;font-weight:600}
.otr-summary-addons>span::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.otr-cost-station>summary{list-style:none;cursor:pointer}
.otr-cost-station>summary::-webkit-details-marker{display:none}
.otr-cost-station-head{grid-template-columns:58px minmax(0,1fr) auto}
.otr-cost-station-head::after{content:"⌄";font-size:18px;color:#26733f;transition:transform .2s ease;margin-left:4px}
.otr-cost-station[open]>.otr-cost-station-head::after{transform:rotate(180deg)}
.otr-cost-station-summary-total{font-size:13px;font-weight:850;color:#155f32;white-space:nowrap}
.otr-cost-station[open] .otr-cost-station-summary-total{display:none}
@container (max-width:560px){
 .otr-sum-row{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:13px 0}
 .otr-sum-row .otr-summary-picture{width:60px;height:60px}
 .otr-sum-row .otr-summary-picture img{width:56px!important;height:56px!important}
 .otr-cost-station-head{grid-template-columns:46px minmax(0,1fr) auto auto;gap:8px}
 .otr-cost-station-head::after{font-size:16px}
 .otr-cost-station-summary-total{font-size:12px}
}

/* OTR 1.9.8 — poprawa panelu „Twój pobyt” na desktopie.
   Zachowuje duże grafiki, ale rezerwuje dla nich pełną kolumnę, aby nie nachodziły na tekst. */
.otr-summary .otr-summary-content .otr-sum-row{
  grid-template-columns:92px minmax(0,1fr)!important;
  column-gap:16px!important;
  align-items:center!important;
  min-height:112px;
}
.otr-summary .otr-summary-content .otr-sum-row .otr-summary-picture{
  width:84px!important;
  height:84px!important;
  min-width:84px!important;
  min-height:84px!important;
  margin:0!important;
  align-self:center!important;
  overflow:visible!important;
}
.otr-summary .otr-summary-content .otr-sum-row .otr-summary-picture img{
  display:block!important;
  width:80px!important;
  height:80px!important;
  max-width:80px!important;
  max-height:80px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.otr-summary .otr-summary-content .otr-sum-row>div{
  min-width:0!important;
  align-self:center!important;
}
.otr-summary .otr-summary-content .otr-sum-row small{
  display:block!important;
  margin:0 0 4px!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.otr-summary .otr-summary-content .otr-sum-row strong{
  display:block!important;
  min-width:0!important;
  font-size:14px!important;
  line-height:1.4!important;
  overflow-wrap:anywhere!important;
}
.otr-summary .otr-summary-content .otr-station-summary strong{
  font-weight:850!important;
}
@media(max-width:760px){
  .otr-summary .otr-summary-content .otr-sum-row{
    grid-template-columns:72px minmax(0,1fr)!important;
    min-height:94px;
    column-gap:13px!important;
  }
  .otr-summary .otr-summary-content .otr-sum-row .otr-summary-picture{
    width:66px!important;height:66px!important;min-width:66px!important;min-height:66px!important;
  }
  .otr-summary .otr-summary-content .otr-sum-row .otr-summary-picture img{
    width:62px!important;height:62px!important;max-width:62px!important;max-height:62px!important;
  }
}
@media(max-width:420px){
  .otr-summary .otr-summary-content .otr-sum-row{
    grid-template-columns:64px minmax(0,1fr)!important;
    min-height:86px;
    column-gap:11px!important;
  }
  .otr-summary .otr-summary-content .otr-sum-row .otr-summary-picture{
    width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;
  }
  .otr-summary .otr-summary-content .otr-sum-row .otr-summary-picture img{
    width:54px!important;height:54px!important;max-width:54px!important;max-height:54px!important;
  }
}


/* v2.0.4 – numery rejestracyjne stanowisk */
.otr-vehicle-registration-field[hidden]{display:none!important}.otr-extra-registration{display:block;margin-top:14px;font-weight:700}.otr-extra-registration input{display:block;width:100%;margin-top:6px;min-height:44px;border:1px solid var(--otr-border);border-radius:10px;padding:9px 12px;text-transform:uppercase}.otr-extra-registration em,.otr-vehicle-registration-field em{color:var(--otr-error)}


/* OTR 2.1.1 — krytyczna poprawka finalizacji rezerwacji.
   Przycisk końcowy jest częścią wspólnej nawigacji, dzięki czemu nie może zniknąć
   wskutek nadpisania zawartości kroku 5 ani stylów motywu. */
.otr-nav .otr-submit{
  width:auto!important;
  min-width:240px;
  margin:0!important;
  display:none;
  justify-content:center;
  align-items:center;
  flex:0 0 auto;
}
.otr-app[data-step="5"] .otr-nav .otr-submit:not([hidden]){display:inline-flex!important}
.otr-nav .otr-submit[hidden]{display:none!important}
.otr-app[data-step="5"] .otr-nav{align-items:center}
@container (max-width:560px){
 .otr-app[data-step="5"] .otr-nav{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
 .otr-app[data-step="5"] .otr-nav .otr-submit{width:100%!important;min-width:0}
}

/* v2.1.8 — korekta geometrii rezerwacji grupowej.
   Zmiana ograniczona do dodatkowych stanowisk; nie zmienia kolejności sekcji ani logiki formularza. */
.otr-extra-station{
  --otr-extra-section-gap:24px;
  --otr-extra-card-gap:12px;
}
.otr-extra-station > header{
  align-items:flex-start;
  gap:16px;
}
.otr-extra-station > header > div{
  min-width:0;
}
.otr-extra-category-grid{
  margin-top:12px;
  margin-bottom:28px;
}
.otr-extra-guests{
  margin-top:0;
  gap:var(--otr-extra-card-gap);
}
.otr-extra-guest{
  min-width:0;
  min-height:162px;
  grid-template-columns:104px minmax(0,1fr)!important;
  gap:16px;
  padding:16px 18px;
  overflow:hidden!important;
}
.otr-extra-guest-icon{
  width:104px!important;
  height:104px!important;
  justify-self:center;
}
.otr-extra-guest-body{
  min-width:0;
  width:100%;
  justify-content:center;
  align-items:stretch;
  gap:10px;
}
.otr-extra-guest-body > strong{
  margin:0;
  text-align:left;
  font-size:15px;
  font-weight:500;
  line-height:1.3;
}
.otr-extra-stepper{
  width:100%;
  max-width:180px;
  grid-template-columns:48px minmax(56px,1fr) 48px;
  justify-self:start;
}
.otr-extra-addons,
.otr-extra-services{
  gap:var(--otr-extra-card-gap);
  margin-top:var(--otr-extra-section-gap);
}
.otr-extra-services-title{
  margin:var(--otr-extra-section-gap) 0 0;
  line-height:1.3;
}
.otr-extra-option{
  min-height:184px!important;
  grid-template-columns:30px 112px minmax(0,1fr)!important;
  gap:12px!important;
  padding:16px 18px!important;
  overflow:hidden!important;
}
.otr-extra-checkbox{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  min-height:26px!important;
  max-width:26px!important;
  max-height:26px!important;
  justify-self:center;
}
.otr-extra-checkmark{
  left:20px;
  width:26px;
  height:26px;
}
.otr-extra-addon-icon,
.otr-extra-service-icon{
  width:112px!important;
  height:112px!important;
  justify-self:center;
}
.otr-extra-option-copy{
  min-width:0;
  width:100%;
  justify-content:center;
  align-items:flex-start;
  gap:4px;
}
.otr-extra-option-copy strong,
.otr-extra-option-copy small{
  max-width:100%;
  white-space:normal;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto;
}
.otr-extra-option-copy strong{
  font-size:16px;
  line-height:1.25;
}
.otr-extra-option-copy small{
  font-size:13px;
  line-height:1.35;
}
.otr-extra-note{
  display:block;
  margin-top:var(--otr-extra-section-gap);
}
.otr-extra-note textarea{
  margin-top:7px;
  width:100%;
}
.otr-extra-station + .otr-group-actions,
.otr-group-actions{
  margin-top:18px;
}

@media (max-width:1100px){
  .otr-extra-guest{
    grid-template-columns:96px minmax(0,1fr)!important;
    min-height:154px;
    padding:15px 16px;
  }
  .otr-extra-guest-icon{
    width:96px!important;
    height:96px!important;
  }
  .otr-extra-stepper{
    max-width:168px;
    grid-template-columns:44px minmax(52px,1fr) 44px;
    gap:7px;
  }
  .otr-extra-step,
  .otr-extra-stepper input{
    height:48px!important;
    min-height:48px!important;
  }
  .otr-extra-step{width:44px}
  .otr-extra-option{
    grid-template-columns:28px 102px minmax(0,1fr)!important;
    min-height:174px!important;
    gap:10px!important;
    padding:15px!important;
  }
  .otr-extra-addon-icon,
  .otr-extra-service-icon{
    width:102px!important;
    height:102px!important;
  }
  .otr-extra-checkmark{left:16px}
}

@media (max-width:760px){
  .otr-extra-category-grid{margin-bottom:22px}
  .otr-extra-guests,
  .otr-extra-addons,
  .otr-extra-services{grid-template-columns:1fr}
  .otr-extra-guest{
    grid-template-columns:96px minmax(0,1fr)!important;
    min-height:146px;
  }
  .otr-extra-option{
    grid-template-columns:28px 100px minmax(0,1fr)!important;
    min-height:158px!important;
  }
  .otr-extra-addon-icon,
  .otr-extra-service-icon{
    width:100px!important;
    height:100px!important;
  }
}

@media (max-width:420px){
  .otr-extra-station{--otr-extra-section-gap:20px}
  .otr-extra-guest{
    grid-template-columns:82px minmax(0,1fr)!important;
    min-height:132px;
    gap:12px;
    padding:12px;
  }
  .otr-extra-guest-icon{
    width:82px!important;
    height:82px!important;
  }
  .otr-extra-stepper{
    max-width:none;
    grid-template-columns:44px minmax(54px,1fr) 44px;
  }
  .otr-extra-option{
    grid-template-columns:26px 82px minmax(0,1fr)!important;
    min-height:142px!important;
    padding:12px!important;
    gap:9px!important;
  }
  .otr-extra-addon-icon,
  .otr-extra-service-icon{
    width:82px!important;
    height:82px!important;
  }
  .otr-extra-checkmark{left:13px}
  .otr-extra-option-copy strong{font-size:15px}
  .otr-extra-option-copy small{font-size:12px}
}

/* v2.1.9 — bezpieczny odstęp między wariantami namiotu a kafelkami gości.
   Naprawa nie zmienia struktury formularza ani wymiarów grafik. */
.otr-extra-station .otr-extra-type-grid{
  position:relative!important;
  display:grid!important;
  height:auto!important;
  min-height:0!important;
  margin-top:0!important;
  margin-bottom:24px!important;
  padding-bottom:0!important;
  align-items:stretch!important;
  overflow:visible!important;
  transform:none!important;
}
.otr-extra-station .otr-extra-type{
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  height:auto!important;
  align-self:stretch!important;
}
.otr-extra-station .otr-extra-guests{
  position:relative!important;
  clear:both;
  margin-top:0!important;
  transform:none!important;
}
@media (max-width:760px){
  .otr-extra-station .otr-extra-type-grid{margin-bottom:20px!important}
}
@media (max-width:420px){
  .otr-extra-station .otr-extra-type-grid{margin-bottom:18px!important}
}

/* v2.1.10 — mobilna korekta liczników gości w dodatkowych stanowiskach.
   Każdy element licznika mieści się w szerokości kafelka również w bardzo wąskich osadzeniach. */
@media (max-width:620px){
  .otr-extra-station{
    --otr-extra-guest-icon:clamp(64px,22vw,82px);
  }
  .otr-extra-guest{
    grid-template-columns:var(--otr-extra-guest-icon) minmax(0,1fr)!important;
    column-gap:10px!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  .otr-extra-guest-body{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .otr-extra-guest-body > strong{
    width:100%;
    min-width:0;
    margin:0 0 6px!important;
    text-align:left;
    overflow-wrap:anywhere;
  }
  .otr-extra-stepper{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    overflow:hidden!important;
  }
  .otr-extra-step,
  .otr-extra-stepper input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:46px!important;
    min-height:46px!important;
    padding-left:2px!important;
    padding-right:2px!important;
    box-sizing:border-box!important;
  }
  .otr-extra-step{font-size:20px!important}
}

@media (max-width:360px){
  .otr-extra-station{
    --otr-extra-guest-icon:58px;
  }
  .otr-extra-guest{
    grid-template-columns:58px minmax(0,1fr)!important;
    column-gap:8px!important;
    padding:10px!important;
  }
  .otr-extra-stepper{gap:4px!important}
  .otr-extra-step,
  .otr-extra-stepper input{
    height:42px!important;
    min-height:42px!important;
    border-radius:9px!important;
  }
}

/* v2.1.11 — dobowa dostępność stanowisk */
.otr-availability-box{
 margin-top:18px;
 padding:18px;
 border:1px solid var(--otr-border);
 border-radius:14px;
 background:var(--otr-surface);
}
.otr-availability-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:18px;
 margin-bottom:16px;
}
.otr-availability-head>div:first-child{
 display:flex;
 flex-direction:column;
 gap:4px;
}
.otr-availability-head strong{font-size:1.05em}
.otr-availability-head small{color:var(--otr-muted);line-height:1.45}
.otr-availability-legend{
 display:flex;
 flex-wrap:wrap;
 justify-content:flex-end;
 gap:8px;
}
.otr-availability-legend span{
 display:inline-flex;
 align-items:center;
 gap:6px;
 padding:5px 9px;
 border-radius:999px;
 font-size:12px;
 font-weight:700;
 white-space:nowrap;
}
.otr-availability-legend span::before{
 content:"";
 width:9px;
 height:9px;
 border-radius:50%;
 background:currentColor;
}
.otr-availability-legend .is-green{color:#237a3b;background:#e9f7ed}
.otr-availability-legend .is-yellow{color:#8a6800;background:#fff7cf}
.otr-availability-legend .is-orange{color:#a94e00;background:#fff0df}
.otr-availability-legend .is-red{color:#a12020;background:#fde8e8}
.otr-availability-calendar{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px;
 transition:opacity .2s ease;
}
.otr-availability-calendar.is-loading{opacity:.55}
.otr-availability-month{
 min-width:0;
 padding:12px;
 border:1px solid var(--otr-border);
 border-radius:12px;
 background:#fff;
}
.otr-availability-month h4{
 margin:0 0 10px;
 text-align:center;
 text-transform:capitalize;
 font-size:15px;
}
.otr-availability-weekdays,
.otr-availability-grid{
 display:grid;
 grid-template-columns:repeat(7,minmax(0,1fr));
 gap:5px;
}
.otr-availability-weekdays{margin-bottom:5px}
.otr-availability-weekdays span{
 text-align:center;
 color:var(--otr-muted);
 font-size:11px;
 font-weight:700;
}
.otr-availability-empty{min-height:48px}
.otr-availability-day{
 min-width:0;
 min-height:48px;
 padding:5px 2px;
 border:1px solid transparent;
 border-radius:9px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:1px;
 line-height:1.1;
 cursor:default;
 transition:border-color .15s ease;
}
.otr-availability-day span{font-size:14px;font-weight:800}
.otr-availability-day.level-green{background:#e9f7ed;color:#1f6d35;border-color:#b9dec3}
.otr-availability-day.level-yellow{background:#fff7cf;color:#785d00;border-color:#ead77d}
.otr-availability-day.level-orange{background:#fff0df;color:#984600;border-color:#efbd8d}
.otr-availability-day.level-red{background:#fde8e8;color:#9b1c1c;border-color:#e7aaaa}
.otr-availability-day.cannot-fit{background-image:repeating-linear-gradient(135deg,transparent,transparent 5px,rgba(130,0,0,.06) 5px,rgba(130,0,0,.06) 10px)}
.otr-availability-summary{
 margin-top:14px;
 padding:13px 15px;
 border-radius:11px;
 background:#f4f7f2;
 display:flex;
 flex-direction:column;
 gap:4px;
}
.otr-availability-summary strong{line-height:1.35}
.otr-availability-summary small{color:var(--otr-muted);line-height:1.45}
.otr-availability-summary.is-available{background:#e9f7ed;border:1px solid #b9dec3}
.otr-availability-summary.is-unavailable{background:#fde8e8;border:1px solid #e7aaaa;color:#8d1717}
.otr-availability-contact{margin:6px 0 0;font-size:13px;line-height:1.45}.otr-availability-contact a{font-weight:800;color:inherit;text-decoration:underline}
.otr-availability-error{margin:0;color:var(--otr-error);font-weight:700}

@media(max-width:900px){
 .otr-availability-calendar{grid-template-columns:1fr}
 .otr-availability-head{flex-direction:column}
 .otr-availability-legend{justify-content:flex-start}
}
@media(max-width:480px){
 .otr-availability-box{padding:12px}
 .otr-availability-month{padding:8px}
 .otr-availability-grid,.otr-availability-weekdays{gap:3px}
 .otr-availability-day{min-height:43px;border-radius:7px}
 .otr-availability-day span{font-size:13px}
 .otr-availability-legend span{font-size:10px;padding:4px 7px}
}



/* v2.1.14 — czytelne oznaczenia P/W i niebieski zakres pobytu */
.otr-availability-day.is-selected-range{
 position:relative;
 background:#e8f1ff!important;
 color:#174a8b!important;
 border-color:#8eb9ef!important;
 box-shadow:inset 0 0 0 1px #8eb9ef,0 2px 6px rgba(37,99,235,.12);
}
.otr-availability-day.is-arrival,
.otr-availability-day.is-departure{
 position:relative;
 z-index:1;
 background:#2563eb!important;
 color:#fff!important;
 border-color:#174bb5!important;
 box-shadow:inset 0 0 0 2px #174bb5,0 3px 9px rgba(37,99,235,.25);
}
.otr-availability-day.is-arrival>span,
.otr-availability-day.is-departure>span{
 color:#fff!important;
}
.otr-availability-day.is-arrival small,
.otr-availability-day.is-departure small{
 position:absolute;
 top:3px;
 left:3px;
 display:flex;
 align-items:center;
 justify-content:center;
 width:15px;
 height:15px;
 margin:0;
 padding:0;
 border-radius:50%;
 background:#fff;
 color:#174bb5;
 font-size:9px;
 font-weight:900;
 line-height:1;
 box-shadow:0 1px 3px rgba(0,0,0,.18);
}
.otr-availability-day.is-arrival.cannot-fit,
.otr-availability-day.is-departure.cannot-fit,
.otr-availability-day.is-selected-range.cannot-fit{
 background-blend-mode:multiply;
}
.otr-availability-legend .is-arrival-key,
.otr-availability-legend .is-departure-key,
.otr-availability-legend .is-stay-key{
 color:#174a8b;
 background:#e8f1ff;
}
.otr-availability-legend .is-arrival-key::before,
.otr-availability-legend .is-departure-key::before{
 width:16px;
 height:16px;
 border-radius:50%;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 background:#2563eb;
 color:#fff;
 font-size:9px;
 font-weight:900;
}
.otr-availability-legend .is-arrival-key::before{content:"P"}
.otr-availability-legend .is-departure-key::before{content:"W"}
.otr-availability-legend .is-stay-key::before{
 content:"";
 width:14px;
 height:14px;
 border-radius:4px;
 background:#e8f1ff;
 border:2px solid #2563eb;
 box-sizing:border-box;
}
@media(max-width:480px){
 .otr-availability-day.is-arrival small,
 .otr-availability-day.is-departure small{
  top:2px;
  left:2px;
  width:13px;
  height:13px;
  font-size:8px;
 }
}


/* v2.1.15 — lokalne czyszczenie kart formularza */
.otr-step-card-header{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 margin:0 0 8px;
}
.otr-step-card-header h2{margin:0;min-width:0}
.otr-clear-card,.otr-clear-station{
 appearance:none;
 border:1px solid #cbd5e1;
 background:#fff;
 color:#475569;
 border-radius:9px;
 min-height:36px;
 padding:7px 12px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 font-size:13px;
 font-weight:700;
 line-height:1;
 cursor:pointer;
 white-space:nowrap;
}
.otr-clear-card:hover,.otr-clear-station:hover{border-color:#94a3b8;background:#f8fafc;color:#0f172a}
.otr-clear-card:focus-visible,.otr-clear-station:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
.otr-clear-card span{font-size:18px;font-weight:500;line-height:.8}
.otr-extra-station-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:620px){
 .otr-step-card-header{align-items:flex-start;gap:10px}
 .otr-clear-card{min-height:32px;padding:6px 9px;font-size:12px}
 .otr-extra-station-actions{gap:6px}
 .otr-clear-station,.otr-remove-station{min-height:34px;padding:6px 9px;font-size:12px}
}

/* OTR 2.1.20 — liczba stanowisk w podsumowaniu bez pogrubienia */
.otr-summary .otr-summary-content .otr-station-summary .otr-station-count-value{
  display:block;
  min-width:0;
  font-size:14px;
  line-height:1.4;
  font-weight:400;
  color:inherit;
  overflow-wrap:anywhere;
}


/* v2.1.22 — dolna sekcja korzyści jako osobne karty */
.otr-benefits-wrap{padding:28px 26px 22px;background:linear-gradient(180deg,#fff 0%,#fbfdfb 100%);box-shadow:0 16px 38px rgba(28,74,45,.07)}
.otr-benefits-wrap>h2{margin:0 0 22px;font-size:clamp(25px,2.2vw,34px);font-weight:650;letter-spacing:-.45px;color:var(--otr-text,#1f2d24)}
.otr-benefits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.otr-benefit-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;min-height:176px;padding:22px 15px 18px;text-align:center;background:#fff;border:1px solid var(--otr-border,#dfe7df);border-radius:18px;box-shadow:0 8px 22px rgba(31,74,47,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.otr-benefit-card:nth-child(odd){background:#f6fbf7}
.otr-benefit-card:before{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,#2f7d32,#74a943)}
.otr-benefit-card:hover{transform:translateY(-4px);border-color:#b7d5bd;box-shadow:0 14px 30px rgba(31,74,47,.12)}
.otr-benefit-icon{display:grid;place-items:center;width:66px;height:66px;margin-bottom:15px;border-radius:18px;background:#eaf5ed;color:var(--otr-primary,#2f7d32);transition:transform .2s ease}
.otr-benefit-card:hover .otr-benefit-icon{transform:scale(1.06)}
.otr-benefit-icon .otr-svg{width:35px;height:35px}
.otr-benefit-img{width:72px;height:72px;margin-bottom:12px;object-fit:contain}
.otr-benefit-copy{display:block;min-width:0}
.otr-benefit-copy strong{display:block;font-size:15px;line-height:1.25;font-weight:760;color:var(--otr-text,#1f2d24)}
.otr-benefit-copy small{display:block;margin-top:7px;font-size:12px;line-height:1.45;color:var(--otr-muted,#69756d)}
.otr-trust-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 26px;margin-top:20px;padding:14px 16px;border-top:1px solid var(--otr-border,#dfe7df);color:#315b40;font-size:12px;font-weight:650}
@container (max-width:980px){.otr-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}.otr-benefit-card:nth-child(4),.otr-benefit-card:nth-child(5){min-height:160px}}
@container (max-width:760px){.otr-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.otr-benefit-card:last-child{grid-column:1/-1;justify-self:center;width:min(100%,340px)}.otr-benefits-wrap{padding:23px 18px 18px}.otr-trust-strip{gap:9px 16px}}
@container (max-width:430px){.otr-benefit-card{min-height:154px;padding:19px 11px 15px}.otr-benefit-icon{width:58px;height:58px;margin-bottom:12px}.otr-benefit-icon .otr-svg{width:31px;height:31px}.otr-benefit-copy strong{font-size:14px}.otr-benefit-copy small{font-size:11px}.otr-trust-strip{display:grid;grid-template-columns:1fr 1fr;text-align:left;font-size:11px}}


/* v2.3.0 — interaktywny pasek nawigacji kreatora */
.otr-progress{--otr-progress-ratio:0;isolation:isolate}
.otr-progress:after{content:"";position:absolute;z-index:0;left:8%;right:8%;top:47px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--green2));transform:scaleX(var(--otr-progress-ratio));transform-origin:left center;transition:transform .28s ease}
.otr-progress-item{border-radius:14px;outline:0;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease;user-select:none}
.otr-progress-item.is-clickable{cursor:pointer}
.otr-progress-item.is-clickable:not(.active):hover{background:#f4faf6;box-shadow:0 8px 22px rgba(23,108,58,.10);transform:translateY(-2px)}
.otr-progress-item.is-clickable:not(.active):hover .otr-step-no{border-color:#6dae7d;box-shadow:0 6px 17px rgba(23,108,58,.18);transform:scale(1.035)}
.otr-progress-item.is-clickable:not(.active):hover .otr-progress-img{filter:none;transform:scale(1.04)}
.otr-progress-item:focus-visible{box-shadow:0 0 0 3px rgba(23,108,58,.22)}
.otr-progress-item.is-locked{cursor:not-allowed;opacity:.62}
.otr-progress-item.done .otr-step-no:after{content:"✓";position:absolute;right:-3px;bottom:-3px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;border:2px solid #fff;font-size:12px;font-weight:900;line-height:1;box-shadow:0 3px 8px rgba(23,108,58,.25)}
.otr-progress-item.active{background:linear-gradient(180deg,#f7fcf8,#eef8f1);box-shadow:inset 0 0 0 1px rgba(23,108,58,.10)}
.otr-progress-item.active>span:last-child strong{color:var(--green)}
@media (prefers-reduced-motion:reduce){.otr-progress:after,.otr-progress-item{transition:none!important}}
@container (max-width:980px){.otr-progress:after{top:39px}}
@container (max-width:700px){.otr-progress:after{top:31px;left:10%;right:10%;height:2px}.otr-progress-item.is-clickable:not(.active):hover{transform:none;box-shadow:none;background:transparent}.otr-progress-item.done .otr-step-no:after{width:17px;height:17px;font-size:10px;right:-2px;bottom:-2px}}


/* v2.3.1 — usunięcie strzałek pomiędzy krokami */
.otr-progress-item::after{content:none!important;display:none!important}

/* v2.4.0 – wynajem namiotu, dokumenty prawne i rezygnacja */
.otr-rental-tent-options{margin:14px 0 20px;padding:18px;border:1px solid #dfe7df;border-radius:14px;background:#f8fbf7}.otr-rental-tent-options[hidden]{display:none!important}.otr-rental-tent-options-head{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.otr-rental-tent-options-head small{color:var(--otr-muted)}.otr-rental-tent-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.otr-rental-tent-setup-grid label{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--otr-border);border-radius:12px;background:#fff;cursor:pointer}.otr-rental-tent-setup-grid input{margin-top:3px}.otr-rental-tent-setup-grid span{display:flex;flex-direction:column;gap:3px}.otr-rental-tent-setup-grid small{color:var(--otr-primary);font-weight:700}.otr-tent-deposit-info{margin-top:12px;padding:13px 14px;border-radius:10px;background:#fff8e8;border:1px solid #f0d9a5}.otr-tent-deposit-info strong,.otr-tent-deposit-info span{display:block}.otr-tent-deposit-info span{margin-top:4px;font-size:.88em;color:#685b3e}.otr-cancellation-policy{margin:18px 0;padding:14px 16px;border-left:4px solid #b42318;background:#fff7f7;border-radius:10px}.otr-cancellation-policy p{margin:5px 0 0}.otr-consent .otr-legal-link{appearance:none;border:0;background:none;padding:0;color:var(--otr-primary);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.otr-legal-modal{position:fixed;inset:0;z-index:999999}.otr-legal-modal[hidden]{display:none!important}.otr-legal-backdrop{position:absolute;inset:0;background:rgba(15,28,20,.62)}.otr-legal-dialog{position:relative;z-index:2;width:min(860px,calc(100vw - 28px));max-height:min(86vh,900px);margin:7vh auto;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}.otr-legal-content{padding:24px 26px;overflow:auto;line-height:1.6}.otr-legal-content h2{margin-top:0}.otr-legal-content h3{margin-top:22px;margin-bottom:7px}.otr-legal-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:#eef3ee;font-size:25px;cursor:pointer}.otr-legal-done{margin:0 24px 22px;min-height:44px;border:0;border-radius:9px;background:var(--otr-primary);color:#fff;font-weight:700;cursor:pointer}.otr-modal-open{overflow:hidden}.otr-cost-deposit{background:#fff8e8!important;border-color:#f0d9a5!important}.otr-extra-tent-setup{margin:10px 0 16px;padding:12px;border:1px solid #e1e8e1;border-radius:10px;background:#fbfdfb}.otr-extra-tent-setup strong,.otr-extra-tent-setup small{display:block}.otr-extra-tent-setup select{width:100%;margin:8px 0;padding:8px;border:1px solid #cfd9cf;border-radius:8px}
@media(max-width:720px){.otr-rental-tent-setup-grid{grid-template-columns:1fr}.otr-legal-dialog{margin:3vh auto;max-height:94vh}.otr-legal-content{padding:22px 18px}}

/* v2.4.2: Regulamin wynajmu namiotu jest widoczny wyłącznie przy faktycznym wynajmie namiotu. */
.otr-tent-terms-consent[hidden],
.otr-tent-terms-consent.is-hidden{display:none!important;}


/* v2.4.4 – dopracowanie modułu przygotowania wynajmowanego namiotu */
.otr-rental-tent-options{
  margin:16px 0 20px;
  padding:20px;
  border:1px solid #d9e5da;
  border-radius:16px;
  background:#f8fbf8;
}
.otr-rental-tent-options-head{gap:4px;margin-bottom:14px}
.otr-rental-tent-options-head>strong{font-size:1.05rem;font-weight:700;line-height:1.3;color:var(--otr-text)}
.otr-rental-tent-options-head>small{font-size:.9rem;line-height:1.45;color:var(--otr-muted)}
.otr-rental-tent-setup-grid{gap:14px}
.otr-rental-tent-setup-grid label{
  position:relative;
  min-height:118px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:18px 20px;
  border:1px solid #d7e1d8;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.otr-rental-tent-setup-grid label:hover{
  border-color:#9bc8a5;
  background:#fbfefb;
  box-shadow:0 5px 16px rgba(25,98,52,.07);
}
.otr-rental-tent-setup-grid label:has(input:checked){
  border-color:var(--otr-primary);
  background:#f1f8f2;
  box-shadow:0 0 0 2px rgba(39,125,55,.09);
}
.otr-rental-tent-setup-grid input[type="radio"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #9eaaa1!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:none!important;
  outline:none!important;
  display:block!important;
  flex:0 0 24px!important;
}
.otr-rental-tent-setup-grid input[type="radio"]:checked{
  border:6px solid var(--otr-primary)!important;
  background:#fff!important;
}
.otr-rental-tent-setup-grid input[type="radio"]:focus-visible{
  outline:3px solid rgba(39,125,55,.2)!important;
  outline-offset:3px!important;
}
.otr-rental-tent-setup-grid span{gap:5px;min-width:0}
.otr-rental-tent-setup-grid span>strong{
  font-size:1rem;
  line-height:1.4;
  font-weight:700;
  color:var(--otr-text);
}
.otr-rental-tent-setup-grid span>small{
  font-size:.9rem;
  line-height:1.3;
  color:var(--otr-primary);
  font-weight:700;
}
.otr-tent-deposit-info{
  position:relative;
  margin-top:14px;
  padding:14px 16px 14px 48px;
  border:1px solid #ead39b;
  border-radius:12px;
  background:#fffaf0;
}
.otr-tent-deposit-info:before{
  content:"i";
  position:absolute;
  left:16px;
  top:15px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f2dfae;
  color:#715b1b;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
}
.otr-tent-deposit-info strong{font-size:.98rem;line-height:1.35;color:#3b3526}
.otr-tent-deposit-info span{margin-top:5px;font-size:.86rem;line-height:1.5;color:#75684a}
@media(max-width:720px){
  .otr-rental-tent-options{padding:16px}
  .otr-rental-tent-setup-grid{gap:10px}
  .otr-rental-tent-setup-grid label{min-height:96px;padding:15px 16px;grid-template-columns:24px minmax(0,1fr);gap:12px}
  .otr-rental-tent-setup-grid input[type="radio"]{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important}
  .otr-tent-deposit-info{padding:13px 14px 13px 44px}
  .otr-tent-deposit-info:before{left:14px;top:14px}
}

/* v2.4.5 — końcowe okno potwierdzenia rezerwacji */
.otr-booking-success-modal{position:fixed;inset:0;z-index:1000000;display:grid;place-items:center;padding:20px}
.otr-booking-success-modal[hidden]{display:none!important}
.otr-booking-success-backdrop{position:absolute;inset:0;background:rgba(12,31,20,.64);backdrop-filter:blur(3px)}
.otr-booking-success-dialog{position:relative;z-index:2;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#fff;border:1px solid #dbe8df;border-radius:24px;box-shadow:0 30px 90px rgba(11,62,33,.28);padding:34px 34px 30px;text-align:center}
.otr-booking-success-icon{width:76px;height:76px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#197c43,#2f9b59);color:#fff;font-size:42px;font-weight:800;box-shadow:0 12px 28px rgba(31,130,70,.25)}
.otr-booking-success-eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:850;color:#267447;margin-bottom:7px}
.otr-booking-success-dialog h2{margin:0;color:#1f2e25;font-size:29px;line-height:1.18;letter-spacing:-.4px}
.otr-booking-success-lead{margin:9px auto 22px;color:#657269;font-size:15px;line-height:1.55;max-width:430px}
.otr-booking-success-code{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 18px;background:#f2f8f3;border:1px solid #d4e8d8;border-radius:15px;margin-bottom:14px}
.otr-booking-success-code small{font-size:11px;text-transform:uppercase;letter-spacing:.9px;color:#6c796f;font-weight:760}
.otr-booking-success-code strong{font-size:21px;color:#176c3a;letter-spacing:.2px}
.otr-booking-success-mail{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 16px;border-radius:14px;background:#edf8f0;border:1px solid #cde7d4;color:#315a3d}
.otr-booking-success-mail strong{font-size:14px}
.otr-booking-success-mail span{font-size:12.5px;line-height:1.5;color:#607067}
.otr-booking-success-mail.is-warning{background:#fff8e8;border-color:#efd8a1;color:#755516}
.otr-booking-success-note{margin:18px 4px 22px;color:#536159;font-size:13.5px;line-height:1.62}
.otr-booking-success-close{width:100%;min-height:50px;border:0;border-radius:12px;background:linear-gradient(90deg,#176c3a,#2c884c);color:#fff;font-weight:820;font-size:15px;cursor:pointer;box-shadow:0 9px 22px rgba(23,108,58,.18)}
.otr-booking-success-close:hover{filter:brightness(1.04);transform:translateY(-1px)}
@media(max-width:600px){
 .otr-booking-success-modal{padding:12px}
 .otr-booking-success-dialog{width:calc(100vw - 24px);padding:26px 20px 22px;border-radius:20px}
 .otr-booking-success-icon{width:66px;height:66px;font-size:36px}
 .otr-booking-success-dialog h2{font-size:24px}
 .otr-booking-success-code strong{font-size:18px;word-break:break-word}
}



/* v2.4.8 — definitywna naprawa zielonych znaczników ukończonych kroków */
.otr-progress{
  overflow:visible!important;
}

/* To jest rzeczywisty rodzic zielonego znacznika.
   Wcześniejsze overflow:hidden odcinało prawą i dolną część kółeczka. */
.otr-progress-item .otr-step-no{
  position:relative!important;
  overflow:visible!important;
  z-index:2!important;
}

/* Grafika pozostaje w obrębie koła. */
.otr-progress-item .otr-progress-img{
  position:relative;
  z-index:1;
}

/* Rzeczywisty zielony znacznik generowany w aktualnym HTML/CSS. */
.otr-progress-item.done .otr-step-no::after{
  content:"✓"!important;
  position:absolute!important;
  right:-9px!important;
  bottom:-8px!important;
  left:auto!important;
  top:auto!important;

  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;

  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;

  border:3px solid #fff!important;
  border-radius:50%!important;
  background:var(--green)!important;
  color:#fff!important;

  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;

  box-shadow:0 4px 10px rgba(23,108,58,.28)!important;
  z-index:50!important;

  transform:none!important;
  clip-path:none!important;
  overflow:visible!important;
  pointer-events:none!important;
}

/* Aktywny krok nie może przykrywać badge poprzedniego kroku. */
.otr-progress-item{
  overflow:visible!important;
}
.otr-progress-item.done{
  z-index:3!important;
}
.otr-progress-item.active{
  z-index:2!important;
}

/* Rozmiary na mniejszych ekranach — nadal w całości poza kołem. */
@container (max-width:700px){
  .otr-progress-item.done .otr-step-no::after{
    right:-7px!important;
    bottom:-6px!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    border-width:2px!important;
    font-size:10px!important;
  }
}
@container (max-width:380px){
  .otr-progress-item.done .otr-step-no::after{
    right:-6px!important;
    bottom:-5px!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
    font-size:9px!important;
  }
}


/* CampBooking 2.5.10 — czytelniejszy wybór kategorii i powiadomienie toast */
.otr-category-stage{margin-bottom:30px}
.otr-selected-category{
 margin-top:30px;
 margin-bottom:22px;
 padding:15px 16px;
}
.otr-selected-category>div{gap:2px}
.otr-category span>em{display:none!important}
.otr-nav-left{display:flex;align-items:center;gap:10px;min-width:0}
.otr-change-category{
 min-height:49px;
 padding:13px 18px;
 border:1px solid #b9d5c1;
 border-radius:11px;
 background:#f4faf6;
 color:var(--green);
 font-size:14px;
 font-weight:820;
 cursor:pointer;
 white-space:nowrap;
}
.otr-change-category:hover{background:#eaf6ee;border-color:#91b19b}
.otr-change-category[hidden]{display:none!important}
.otr-toast-stack{
 position:fixed;
 top:22px;
 right:22px;
 z-index:2147483000;
 display:grid;
 gap:10px;
 width:min(390px,calc(100vw - 28px));
 pointer-events:none;
}
.otr-toast{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:14px;
 min-height:54px;
 padding:14px 14px 14px 16px;
 border:1px solid #f0aaa5;
 border-radius:13px;
 background:#fff5f4;
 color:#b42318;
 box-shadow:0 16px 38px rgba(37,47,41,.18);
 font-size:14px;
 font-weight:780;
 line-height:1.4;
 opacity:0;
 transform:translateY(-10px);
 transition:opacity .18s ease,transform .18s ease;
 pointer-events:auto;
}
.otr-toast.is-visible{opacity:1;transform:translateY(0)}
.otr-toast.is-leaving{opacity:0;transform:translateY(-8px)}
.otr-toast-close{
 flex:0 0 auto;
 width:30px;
 height:30px;
 padding:0;
 border:0;
 border-radius:8px;
 background:transparent;
 color:inherit;
 font-size:24px;
 line-height:1;
 cursor:pointer;
}
.otr-toast-close:hover{background:rgba(180,35,24,.08)}
@container (max-width:560px){
 .otr-category-stage{margin-bottom:24px}
 .otr-selected-category{margin-top:24px;margin-bottom:18px}
 .otr-nav{align-items:flex-end}
 .otr-nav-left{gap:7px;flex-wrap:wrap}
 .otr-change-category{min-height:44px;padding:11px 13px;font-size:12px}
}
@media(max-width:560px){
 .otr-toast-stack{top:12px;right:10px;width:calc(100vw - 20px)}
 .otr-toast{min-height:50px;padding:12px 12px 12px 14px;font-size:13px}
}


/* CampBooking 2.5.12 — czytelniejszy przycisk zmiany kategorii */
.otr-change-category{
 min-height:49px;
 padding:12px 20px;
 border:2px solid var(--green);
 border-radius:11px;
 background:#fff;
 color:var(--green);
 font-size:14px;
 font-weight:850;
 box-shadow:0 2px 8px rgba(23,65,39,.08);
}
.otr-change-category:hover,
.otr-change-category:focus-visible{
 background:#eef8f1;
 border-color:var(--green);
 box-shadow:0 4px 12px rgba(23,65,39,.14);
 outline:none;
}

/* CampBooking 2.5.13 — wyraźny przycisk „Zmień kategorię” */
.otr-app .otr-change-category{
 min-height:49px;
 padding:12px 22px;
 border:2px solid #176c3a;
 border-radius:11px;
 background:#176c3a;
 color:#fff;
 font-size:14px;
 font-weight:850;
 letter-spacing:.01em;
 box-shadow:0 7px 18px rgba(23,108,58,.20);
 text-shadow:none;
 transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.otr-app .otr-change-category:hover,
.otr-app .otr-change-category:focus-visible{
 background:#0f5130;
 border-color:#0f5130;
 color:#fff;
 box-shadow:0 9px 22px rgba(23,108,58,.28);
 transform:translateY(-1px);
 outline:none;
}
.otr-app .otr-change-category:active{transform:translateY(0)}
.otr-app .otr-change-category[hidden]{display:none!important}
@container (max-width:560px){
 .otr-app .otr-change-category{min-height:44px;padding:11px 15px;font-size:12px}
}


/* CampBooking 2.5.14 — centralne okno komunikatów walidacji na każdym etapie */
.otr-validation-modal{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;padding:20px}
.otr-validation-modal[hidden]{display:none!important}
.otr-validation-backdrop{position:absolute;inset:0;background:rgba(15,28,20,.58);backdrop-filter:blur(2px)}
.otr-validation-dialog{box-sizing:border-box;position:relative;z-index:2;width:min(500px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:30px 30px 26px;border:1px solid #ead5d2;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(12,31,20,.30);text-align:center}
.otr-validation-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 16px;border-radius:50%;background:#fde8e6;color:#c62828;font-size:42px;font-weight:850;line-height:1}
.otr-validation-dialog h2{margin:0 38px 9px;color:#243028;font-size:24px;line-height:1.22;letter-spacing:-.25px}
.otr-validation-dialog p{margin:0 auto 22px;max-width:400px;color:#5e6b63;font-size:15px;line-height:1.55}
.otr-validation-x{position:absolute;top:13px;right:13px;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:transparent;color:#59675f;font-size:28px;line-height:1;cursor:pointer}
.otr-validation-x:hover,.otr-validation-x:focus-visible{background:#f3f5f3;outline:none}
.otr-validation-ok{width:min(300px,100%);min-height:50px;padding:12px 22px;border:0;border-radius:11px;background:#c62828;color:#fff;font-size:15px;font-weight:850;cursor:pointer;box-shadow:0 8px 20px rgba(198,40,40,.20)}
.otr-validation-ok:hover,.otr-validation-ok:focus-visible{filter:brightness(.94);outline:none}
.otr-validation-modal.is-warning .otr-validation-dialog{border-color:#edd7a7}
.otr-validation-modal.is-warning .otr-validation-icon{background:#fff4d8;color:#9a6700}
.otr-validation-modal.is-warning .otr-validation-ok{background:#9a6700;box-shadow:0 8px 20px rgba(154,103,0,.18)}
.otr-validation-modal.is-success .otr-validation-dialog{border-color:#cfe4d5}
.otr-validation-modal.is-success .otr-validation-icon{background:#e7f5eb;color:#176c3a}
.otr-validation-modal.is-success .otr-validation-ok{background:#176c3a;box-shadow:0 8px 20px rgba(23,108,58,.18)}
@media(max-width:560px){
 .otr-validation-modal{
  box-sizing:border-box;
  width:100%;
  width:100dvw;
  min-height:100%;
  min-height:100dvh;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  overflow:hidden;
 }
 .otr-validation-dialog{
  box-sizing:border-box;
  width:min(100%,500px);
  max-width:100%;
  max-height:calc(100vh - 24px);
  max-height:calc(100dvh - 24px);
  margin:0;
  padding:24px 18px 18px;
  border-radius:16px;
  overflow:auto;
  overscroll-behavior:contain;
 }
 .otr-validation-icon{width:56px;height:56px;margin-bottom:13px;font-size:34px}
 .otr-validation-dialog h2{margin-left:30px;margin-right:30px;font-size:20px;line-height:1.22}
 .otr-validation-dialog p{margin-bottom:18px;font-size:14px;line-height:1.45}
 .otr-validation-x{top:9px;right:9px;width:38px;height:38px}
 .otr-validation-ok{width:100%;min-height:48px}
}
@media(max-width:360px){
 .otr-validation-modal{padding:8px}
 .otr-validation-dialog{padding:22px 14px 14px;border-radius:14px}
 .otr-validation-icon{width:50px;height:50px;font-size:31px}
 .otr-validation-dialog h2{margin-left:26px;margin-right:26px;font-size:18px}
 .otr-validation-dialog p{font-size:13px}
}


/* CampDesk 2.6.1 — czytelna walidacja wymaganych zgód */
.otr-app .otr-consent.otr-consent-error{
 box-sizing:border-box;
 margin-top:14px;
 padding:12px 14px;
 border:2px solid #c62828;
 border-radius:12px;
 background:#fff1f0;
 box-shadow:0 0 0 3px rgba(198,40,40,.07);
 color:#7f1d1d;
}
.otr-app .otr-consent.otr-consent-error input[type="checkbox"]{
 accent-color:#c62828;
 outline:2px solid #c62828;
 outline-offset:2px;
 border-radius:3px;
}
.otr-app .otr-consent.otr-consent-error .otr-legal-link{color:#a51f1f}
@media(max-width:560px){
 .otr-app .otr-consent.otr-consent-error{padding:11px 12px;border-radius:10px}
}

/* v2.6.4 — jawne zastosowanie kodu rabatowego */
.otr-promo-field{margin:20px 0}
.otr-promo-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.otr-promo-row input{min-width:0;text-transform:uppercase;font-weight:700;letter-spacing:.02em}
.otr-apply-promo{appearance:none;border:1px solid #18743a;border-radius:11px;background:#18743a;color:#fff;padding:0 18px;min-height:46px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 4px 10px rgba(24,116,58,.12)}
.otr-apply-promo:hover{background:#125f2f;border-color:#125f2f}
.otr-apply-promo:focus-visible{outline:3px solid rgba(24,116,58,.2);outline-offset:2px}
.otr-apply-promo:disabled{opacity:.65;cursor:wait}
.otr-promo-feedback{margin-top:10px;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.4}
.otr-promo-feedback.is-success{background:#edf9f0;border:1px solid #b8dfc2;color:#12642f}
.otr-promo-feedback.is-error{background:#fff1f1;border:1px solid #efb5b5;color:#b42318}
.otr-promo-feedback.is-info{background:#f5f8f6;border:1px solid #d6e2da;color:#365148}
@media(max-width:640px){.otr-promo-row{grid-template-columns:1fr}.otr-apply-promo{width:100%;min-height:48px}}

/* v2.6.5 — prąd zawsze poza rabatami */
.otr-discount-electricity-note{display:flex;flex-direction:column;gap:3px;margin:10px 0 2px;padding:11px 12px;border:1px solid #cfe4d5;border-left:4px solid var(--green);border-radius:10px;background:#f2f8f4;color:#264c33;font-size:12px;line-height:1.45}
.otr-discount-electricity-note strong{font-size:12px;color:var(--green)}
.otr-discount-electricity-note span{color:#52665a}
