/* Moova Studio — style frontu */

.moova{
  --moova-turq:#6AC3C7; --moova-turq-d:#2B7A7D; --moova-turq-dd:#0E3D3F;
  --moova-lav:#CDBEDF; --moova-lav-d:#6B5B8A;
  --moova-yel:#FFD846; --moova-yel-d:#B5651D;
  --moova-cream:#FFF0D9; --moova-dark:#2B2A2C; --moova-muted:#5B5550;
  --moova-faint:#9A8F80; --moova-line:#EFE7DA;
  color:var(--moova-dark);
  font-size:15px; line-height:1.6;
}
.moova *{box-sizing:border-box}
.moova img{max-width:100%;display:block}

/* przyciski */
.moova-btn{display:inline-block;border:none;border-radius:26px;padding:12px 22px;font-size:14px;
  font-family:inherit;cursor:pointer;text-decoration:none;text-align:center;line-height:1.3}
.moova-btn-y{background:var(--moova-yel);color:var(--moova-dark)}
.moova-btn-t{background:var(--moova-turq);color:var(--moova-turq-dd)}
.moova-btn-o{background:transparent;border:1.5px solid var(--moova-turq);color:var(--moova-turq-d)}
.moova-row{display:flex;gap:10px;flex-wrap:wrap}

/* przełączniki */
.moova-seggroup{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.moova-seglab{font-size:10px;letter-spacing:1px;color:var(--moova-faint);margin-bottom:6px}
.moova-seg{display:inline-flex;background:var(--moova-cream);border:1.5px solid #E0D3BC;
  border-radius:22px;padding:3px;gap:2px;flex-wrap:wrap;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}
.moova-seg button{background:transparent;border:none;color:#6B6055;font-size:12.5px;
  padding:8px 15px;border-radius:20px;font-family:inherit;cursor:pointer}
.moova-seg button.on{color:#fff}

/* siatka kart */
.moova-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.moova-card{background:#fff;border:1px solid var(--moova-line);border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;cursor:pointer}
.moova-card .moova-pic{position:relative}
.moova-card .moova-pic img{aspect-ratio:4/3;object-fit:cover;width:100%}
.moova-team-card .moova-pic img{aspect-ratio:1/1}
.moova-pol{position:absolute;top:8px;left:8px;background:var(--moova-yel);color:#6B4A10;
  font-size:10px;padding:4px 9px;border-radius:12px}
.moova-card .moova-txt{padding:13px 14px;flex:1;display:flex;flex-direction:column}
.moova-card .moova-name{font-size:15px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.moova-card .moova-sub{font-size:12px;color:var(--moova-muted);margin-top:4px;line-height:1.5}
.moova-arrow{width:22px;height:22px;border-radius:50%;flex:0 0 auto;display:flex;
  align-items:center;justify-content:center;font-size:11px;background:var(--moova-cream);color:var(--moova-turq-d)}
.moova-grid>.moova-card{max-width:360px;width:100%;margin:0 auto}
.moova-team .moova-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.moova-team .moova-grid>.moova-card{max-width:230px}

/* panel rozwinięcia */
.moova-pan{grid-column:1/-1;max-width:none!important;width:100%;margin:0!important;
  background:#fff;border:1px solid var(--moova-line);border-radius:14px;padding:16px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;align-items:start;cursor:auto}
.moova-team .moova-pan{grid-template-columns:150px minmax(0,1fr)}
.moova-pan h4{margin:0 0 6px;font-size:17px;font-weight:500}
.moova-pan .moova-spec{font-size:12px;color:var(--moova-faint);margin:0 0 10px}
.moova-pan .moova-desc{font-size:13.5px;color:var(--moova-muted);margin:0 0 11px}
.moova-pan .moova-desc p{margin:0 0 8px}
.moova-thumbs{display:flex;gap:6px;margin-top:6px}
.moova-thumbs button{flex:1;height:38px;border:none;border-radius:8px;padding:0;cursor:pointer;overflow:hidden}
.moova-thumbs img{width:100%;height:100%;object-fit:cover}
.moova-chip{font-size:10px;padding:4px 10px;border-radius:14px;display:inline-block}
.moova-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.moova-prow{font-size:12px;color:var(--moova-muted);margin:0 0 10px}

/* cennik */
.moova-pcard{background:#fff;border-radius:13px;overflow:hidden;display:flex;flex-direction:column}
.moova-phead{padding:11px 13px;font-size:13.5px;text-align:center}
.moova-pbody{flex:1;display:flex;flex-direction:column;justify-content:center}
.moova-pline{padding:14px 13px;text-align:center}
.moova-plab{font-size:11.5px;color:var(--moova-muted);margin-bottom:3px}
.moova-pval{font-size:22px;line-height:1.25}
.moova-pold{text-decoration:line-through;color:#BCB0A0;font-size:12.5px;margin-left:7px}
.moova-pper{font-size:10.5px;color:var(--moova-faint)}
.moova-ptwo{display:grid;grid-template-columns:1fr 1px 1fr}
.moova-ptwo>.moova-sep{background:#F4EFE6}
.moova-note{font-size:12px;color:#6B6055;margin:15px 0 0;line-height:1.7}
.moova-tablewrap{display:none;margin-top:14px;background:#fff;border-radius:13px;padding:14px;overflow-x:auto}
.moova-tablewrap.on{display:block}
.moova-tablewrap table{width:100%;border-collapse:collapse;font-size:12px;min-width:560px}
.moova-tablewrap th{text-align:center;padding:8px;color:var(--moova-muted);font-weight:500}
.moova-tablewrap th:first-child,.moova-tablewrap td:first-child{text-align:left}
.moova-tablewrap td{padding:7px 8px;border-top:1px solid #F4EFE6;text-align:center}
.moova-link{background:none;border:none;color:var(--moova-turq-d);text-decoration:underline;
  font-size:12px;padding:12px 4px;font-family:inherit;cursor:pointer}

.moova-karnety .moova-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.moova-karnety .moova-infos{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.moova-karnety .moova-infos:empty{display:none}

/* promocje */
.moova-promo .moova-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.moova-promo-card{background:#fff;border-radius:14px;padding:20px;display:flex;flex-direction:column}
.moova-promo-head{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.moova-ic{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:17px;flex:0 0 auto}
.moova-war{margin:0 0 14px;padding:0;list-style:none}
.moova-war li{font-size:11.5px;color:#7A6E5E;margin-bottom:5px}

/* okno z formularzem */
.moova-ov{display:none;position:fixed;inset:0;background:rgba(43,42,44,.5);z-index:99999;
  align-items:center;justify-content:center;padding:18px}
.moova-ov.on{display:flex}
.moova-modal{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:420px;
  position:relative;max-height:88vh;overflow-y:auto;font-size:15px;color:#2B2A2C}
.moova-modal h3{margin:0 0 5px;font-size:19px;font-weight:500}
.moova-ov-s{font-size:13px;color:#5B5550;margin:0 0 14px}
.moova-ov-f{font-size:11px;text-align:center;color:#9A8F80;margin:11px 0 0}
.moova-ov-warn{font-size:13px;color:#b32d2e}
.moova-close{position:absolute;top:12px;right:12px;background:none;border:none;color:#9A8F80;
  font-size:22px;padding:2px 8px;line-height:1;cursor:pointer}
.moova-form-open{background:#fff;border-radius:14px;padding:20px}

/* wynajem */
.moova-wyn{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.moova-wyn-card{background:#fff;border-radius:13px;padding:16px;color:#2B2A2C}
.moova-wyn-card h4{margin:0 0 4px;font-size:15px;font-weight:500}
.moova-wyn-opis{font-size:12.5px;color:#9A8F80;margin:0 0 10px}
.moova-wyn-cena{font-size:22px}
.moova-wyn-cena span{font-size:12px;color:#9A8F80}
.moova-wyn-list{background:rgba(255,255,255,.08);border:1px solid rgba(106,195,199,.3);color:#fff}
.moova-wyn-list ul{list-style:none;margin:0;padding:0;font-size:12.5px;line-height:2;color:#B8D6D7}
.moova-wyn-nota{color:#B8D6D7}


/* banery na styku sekcji */
.moova-baner{position:relative;z-index:5;pointer-events:none;
  margin:calc(min(159px, (100vw - 40px) / 5.4) * -1) 0}
.moova-baner-in{position:relative;max-width:860px;margin:0 auto;padding:0 20px}
.moova-baner-box{pointer-events:auto;position:relative;aspect-ratio:2.7/1;border-radius:20px;
  overflow:hidden;background:#EFE9E1;box-shadow:0 18px 40px rgba(43,42,44,.18)}
.moova-baner-track,.moova-baner-track img{position:absolute;inset:0;width:100%;height:100%}
.moova-baner-track img{object-fit:cover;opacity:0;transition:opacity .9s ease}
.moova-baner-track img.on{opacity:1}
.moova-baner-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#9A8F80;font-size:14px}
.moova-baner-arr{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;
  border-radius:50%;border:none;background:rgba(255,255,255,.85);color:#2B2A2C;font-size:24px;line-height:1;
  cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.moova-baner-arr.prev{left:12px}
.moova-baner-arr.next{right:12px}
.moova-baner-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:7px;z-index:2}
.moova-baner-dots button{width:8px;height:8px;border-radius:50%;border:none;padding:0;cursor:pointer;
  background:rgba(255,255,255,.6);transition:all .25s}
.moova-baner-dots button.on{background:#fff;width:22px;border-radius:5px}
.moova-baner-ill{position:absolute;bottom:0;height:340px;width:auto;z-index:1;pointer-events:none}
.moova-baner-prawo .moova-baner-ill{right:-250px}
.moova-baner-lewo .moova-baner-ill{left:-250px;transform:scaleX(-1)}
@media(max-width:1000px){.moova-baner-ill{display:none}}

/* ===== nagłówek ===== */
.mv-wrap{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.mv-top{background:#6AC3C7;color:#12494B;font-size:12.5px;padding:8px 0}
.mv-top a{color:#12494B;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.mv-top svg{flex:0 0 auto;opacity:.85}
.mv-addr{display:inline-flex;align-items:center;gap:6px}
.mv-top-r{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mv-soc{display:flex;gap:14px}
.mv-nav{background:#fff;border-bottom:1px solid #EFE7DA;position:sticky;top:0;z-index:999}
.admin-bar .mv-nav{top:32px}
.mv-nav .mv-wrap{padding-top:10px;padding-bottom:10px}
.mv-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}
.mv-logo-znak{width:42px;height:auto}
.mv-logo-napis{height:34px;width:auto}
.mv-logo-full{height:44px;width:auto}
.mv-menu{display:flex;gap:18px;font-size:14px;flex-wrap:wrap;justify-content:center}
.mv-menu a{color:#2B2A2C;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.mv-menu a:hover{border-bottom-color:#6AC3C7}
.mv-navicons{display:none;align-items:center;gap:14px;color:#2B7A7D}
.mv-navicons a{color:#2B7A7D;display:inline-flex}
.mv-navicons svg{width:19px;height:19px}
.mv-rez{flex:0 0 auto;padding:10px 18px!important;font-size:13.5px!important}
.mv-burger{display:none;background:none;border:none;color:#2B2A2C;padding:6px;cursor:pointer}
.mv-burger svg{width:26px;height:26px}
.mv-lang{position:relative;display:inline-block}
.mv-lang button{background:#fff;color:#2B7A7D;border:1px solid rgba(255,255,255,.7);border-radius:18px;
  padding:4px 13px;font-size:12px;font-family:inherit;white-space:nowrap;min-width:54px;cursor:pointer}
.mv-navicons .mv-lang button{background:#FFF0D9;border-color:#EFE7DA}
.mv-langmenu{display:none;position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #EFE7DA;
  border-radius:10px;padding:5px;box-shadow:0 8px 20px rgba(0,0,0,.12);z-index:1000;min-width:62px}
.mv-langmenu.on{display:block}
.mv-langmenu a{display:block;padding:9px 14px;font-size:13px;color:#2B2A2C;text-decoration:none;border-radius:7px}
.mv-langmenu a:hover{background:#FFF0D9}

/* przyciski społecznościowe */
.mv-socbtns{display:flex;gap:8px;flex-wrap:wrap}
.mv-socbtns a{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:22px;
  border:1.5px solid #6AC3C7;color:#2B7A7D;text-decoration:none;font-size:13px;background:#fff}
.mv-socbtns a:hover{background:#E8F4F5}
.mv-socbtns svg{width:16px;height:16px}

/* ===== stopka ===== */
.moova-ftr{background:#2B2A2C;color:#C9C2BA;padding:42px 0 26px;font-size:13px;line-height:1.7}
.moova-ftr .mv-wrap{display:block}
.mv-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px;margin-bottom:26px}
.moova-ftr h4{color:#fff;font-size:13px;margin:0 0 10px;font-weight:500}
.moova-ftr p{margin:0}
.moova-ftr ul{list-style:none;margin:0;padding:0}
.moova-ftr li{margin-bottom:6px}
.moova-ftr a{color:#C9C2BA;text-decoration:none}
.moova-ftr a:hover{color:#fff}
.mv-fsoc{display:flex;gap:14px;margin-top:10px}
.mv-fsoc svg{width:18px;height:18px}
.mv-copy{border-top:1px solid #45423F;padding-top:18px;font-size:12px;color:#8C857D;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ===== pasek na telefonie ===== */
.mv-sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:998;
  padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -6px 18px rgba(0,0,0,.12)}
.mv-sb{flex:1 1 0;min-width:0;text-align:center;padding:15px 8px;font-size:14px;text-decoration:none;
  font-family:inherit;border:none;line-height:1.25;cursor:pointer}
.mv-sb-t{background:#6AC3C7;color:#0E3D3F}
.mv-sb-y{background:#FFD846;color:#2B2A2C}

@media(max-width:1024px){
  .mv-menu{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;gap:0;
    border-bottom:1px solid #EFE7DA;box-shadow:0 12px 24px rgba(0,0,0,.07)}
  .mv-menu.on{display:flex}
  .mv-menu a{padding:13px 20px;border-bottom:1px solid #EFE7DA}
  .mv-burger{display:block}
  .mv-rez{display:none!important}
  .mv-navicons{display:flex}
  .mv-soc,.mv-top .mv-lang{display:none}
  .mv-top .mv-wrap{justify-content:center;flex-wrap:wrap;gap:6px 14px}
  .mv-addr{font-size:11px}
  .mv-sticky{display:flex}
  body{padding-bottom:62px}
}
@media(max-width:782px){.admin-bar .mv-nav{top:46px}}
@media(max-width:640px){
  .mv-wrap{padding:0 14px}
  .mv-logo-napis{height:28px}
  .mv-logo-znak{width:36px}
}

@media(max-width:640px){
  .moova-baner-in{padding:0 14px}
  .moova-baner-box{border-radius:14px}
  .moova-baner-arr{width:32px;height:32px;font-size:20px}
}

@media(max-width:640px){
  .moova-ind{grid-template-columns:1fr 1fr!important}
  .moova-wyn{grid-template-columns:1fr!important}
  .moova-grid{grid-template-columns:1fr 1fr!important;gap:9px}
  .moova-grid>.moova-card{max-width:none}
  .moova-pan{grid-template-columns:1fr!important;gap:12px!important}
  .moova-ptwo{grid-template-columns:1fr!important}
  .moova-ptwo>.moova-sep{height:1px;margin:0 14px}
  .moova-cwide{grid-column:1/-1}
  .moova-cwide .moova-ptwo{grid-template-columns:1fr 1px 1fr!important}
  .moova-cwide .moova-ptwo>.moova-sep{height:auto;margin:0}
  .moova-row .moova-btn{flex:1 1 calc(50% - 5px);min-width:0;font-size:13px;padding:11px 10px}
  .moova-seg{width:100%}
  .moova-seg button{flex:1 1 auto;padding:8px 10px;font-size:11.5px}
  .moova-promo .moova-grid{grid-template-columns:1fr!important}
}


/* ===== zabezpieczenie przed stylami motywu (Hello Elementor maluje przyciski na #c36) ===== */
.moova-btn-y,.moova-btn-y:hover,.moova-btn-y:focus,.moova-btn-y:active{background-color:#FFD846!important;color:#2B2A2C!important;border-color:transparent!important}
.moova-btn-y:hover,.moova-btn-y:focus{background-color:#6AC3C7!important;color:#0E3D3F!important}
.moova-btn-t,.moova-btn-t:hover,.moova-btn-t:focus,.moova-btn-t:active{background-color:#6AC3C7!important;color:#0E3D3F!important;border-color:transparent!important}
.moova-btn-t:hover,.moova-btn-t:focus{background-color:#FFD846!important;color:#2B2A2C!important}
.moova-btn-o,.moova-btn-o:hover,.moova-btn-o:focus,.moova-btn-o:active{background-color:#fff!important;color:#2B7A7D!important;border:1.5px solid #6AC3C7!important}
.moova-btn-o:hover,.moova-btn-o:focus{background-color:#E8F4F5!important}
.moova-btn{transition:background-color .15s ease}
.moova-seg button:not(.on):hover,.moova-seg button:not(.on):focus{background-color:rgba(255,255,255,.75)!important;color:#6B6055!important}
.moova-seg button.on:hover,.moova-seg button.on:focus{color:#fff!important}
.moova-link,.moova-link:hover,.moova-link:focus{background:none!important;color:#2B7A7D!important}
.moova-close,.moova-close:hover,.moova-close:focus{background:none!important;color:#9A8F80!important}
.moova-thumbs button:hover,.moova-thumbs button:focus{background:none!important}
.moova-baner-arr:hover,.moova-baner-arr:focus{background:#fff!important;color:#2B2A2C!important}
.moova-baner-dots button:hover,.moova-baner-dots button:focus{background:rgba(255,255,255,.85)!important}
.moova-baner-dots button.on:hover{background:#fff!important}
.mv-burger,.mv-burger:hover,.mv-burger:focus{background:none!important;color:#2B2A2C!important;border:none!important}
.mv-lang button:hover,.mv-lang button:focus{background:#fff!important;color:#2B7A7D!important}
.mv-navicons .mv-lang button:hover{background:#FFF0D9!important}
.mv-sb-y,.mv-sb-y:focus{background:#FFD846!important;color:#2B2A2C!important}
.mv-sb-y:hover{background:#F5CC2E!important;color:#2B2A2C!important}
.mv-sb-t,.mv-sb-t:hover,.mv-sb-t:focus{background:#6AC3C7!important;color:#0E3D3F!important}
.moova-card,.moova-card:hover{color:inherit}


/* ===== kotwice pod lepkim nagłówkiem ===== */
html{scroll-behavior:smooth}
@media(max-width:1024px){html{scroll-behavior:auto}}
[id]{scroll-margin-top:84px}
@media(max-width:1024px){[id]{scroll-margin-top:72px}}

/* ===== Contact Form 7 w oknie i w formularzu otwartym ===== */
.moova-ov .wpcf7 p,.moova-form-open .wpcf7 p{margin:0 0 12px}
.moova-ov .wpcf7 label,.moova-form-open .wpcf7 label{display:block;font-size:12px;color:#5B5550}
.moova-ov .wpcf7 input[type=text],.moova-ov .wpcf7 input[type=tel],.moova-ov .wpcf7 input[type=email],.moova-ov .wpcf7 textarea,
.moova-form-open .wpcf7 input[type=text],.moova-form-open .wpcf7 input[type=tel],.moova-form-open .wpcf7 input[type=email],.moova-form-open .wpcf7 textarea{
  display:block;width:100%;margin-top:5px;border:1px solid #E3DACB;border-radius:9px;padding:11px 12px;
  font-size:15px;font-family:inherit;color:#2B2A2C;background:#fff;box-shadow:none}
.moova-ov .wpcf7 textarea,.moova-form-open .wpcf7 textarea{min-height:72px;height:72px;resize:vertical}
.moova-ov .wpcf7 input:focus,.moova-ov .wpcf7 textarea:focus,
.moova-form-open .wpcf7 input:focus,.moova-form-open .wpcf7 textarea:focus{outline:none;border-color:#6AC3C7;box-shadow:0 0 0 3px rgba(106,195,199,.2)}
.moova-ov .wpcf7-acceptance,.moova-form-open .wpcf7-acceptance{font-size:11.5px;line-height:1.5;color:#7A6E5E}
.moova-ov .wpcf7-acceptance label,.moova-form-open .wpcf7-acceptance label{display:flex;gap:9px;align-items:flex-start;font-size:11.5px}
.moova-ov .wpcf7-acceptance input,.moova-form-open .wpcf7-acceptance input{width:16px;height:16px;margin:2px 0 0;flex:0 0 auto}
.moova-ov .wpcf7-list-item,.moova-form-open .wpcf7-list-item{margin:0}
.moova-ov .wpcf7 input[type=submit],.moova-form-open .wpcf7 input[type=submit]{
  display:block;width:100%;border:none!important;border-radius:26px;padding:13px;font-size:15px;font-family:inherit;
  background:#FFD846!important;color:#2B2A2C!important;cursor:pointer}
.moova-ov .wpcf7 input[type=submit]:hover,.moova-form-open .wpcf7 input[type=submit]:hover{background:#6AC3C7!important;color:#0E3D3F!important}
.moova-ov .wpcf7-not-valid-tip,.moova-form-open .wpcf7-not-valid-tip{font-size:11.5px;color:#C0392B;margin-top:4px}
.moova-ov .wpcf7 form .wpcf7-response-output,.moova-form-open .wpcf7 form .wpcf7-response-output{
  margin:12px 0 0;padding:10px 12px;border-radius:9px;font-size:13px;border-width:1px}
.moova-ov .wpcf7 .wpcf7-spinner,.moova-form-open .wpcf7 .wpcf7-spinner{display:block;margin:8px auto 0}
.moova-thanks{text-align:center;padding:18px 6px}
.moova-thanks b{display:block;font-size:19px;font-weight:500;margin-bottom:6px;color:#2B2A2C}
.moova-thanks span{font-size:13.5px;color:#5B5550}


/* ===== pasek z adresem przyklejony razem z menu — tylko na komputerze ===== */
@media(min-width:1025px){
  .mv-top{position:sticky;top:0;z-index:1000;height:36px;padding:0;display:flex;align-items:center}
  .mv-top .mv-wrap{width:100%}
  .mv-nav{top:36px}
  .admin-bar .mv-top{top:32px}
  .admin-bar .mv-nav{top:68px}
  [id]{scroll-margin-top:120px}
}

/* ===== podpowiedź pod telefonem ===== */
.moova-tel-hint{display:block;font-size:11px;color:#9A8F80;margin-top:4px}
.moova-tel-err{display:block;font-size:11.5px;color:#C0392B;margin-top:4px}


/* ===== rezerwacja: wybór zajęcia / masaż ===== */
.mv-rezbox{position:relative;display:inline-block;flex:0 0 auto}
.mv-rezmenu{display:none;position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #EFE7DA;
  border-radius:14px;padding:6px;box-shadow:0 12px 28px rgba(0,0,0,.14);z-index:1001;min-width:210px}
.mv-rezbox.on .mv-rezmenu{display:block}
.mv-rezmenu a{display:block;padding:12px 16px;border-radius:10px;color:#2B2A2C;text-decoration:none;font-size:14px}
.mv-rezmenu a:hover{background:#FFF0D9}
.mv-rezmenu a+a{margin-top:2px}

.mv-sheet{display:none;position:fixed;inset:0;z-index:100000;background:rgba(43,42,44,.45);align-items:flex-end}
.mv-sheet.on{display:flex}
.mv-sheet-in{position:relative;width:100%;background:#fff;border-radius:20px 20px 0 0;
  padding:22px 18px calc(22px + env(safe-area-inset-bottom,0px))}
.mv-sheet-t{margin:0 0 14px;font-size:16px;color:#2B2A2C;text-align:center}
.mv-sheet-in a{display:block;text-align:center;padding:16px;border-radius:26px;font-size:16px;text-decoration:none;margin-bottom:10px}
.mv-sheet-in a:nth-of-type(1){background:#6AC3C7;color:#0E3D3F}
.mv-sheet-in a:nth-of-type(2){background:#CDBEDF;color:#2B2A2C}
.mv-sheet-x,.mv-sheet-x:hover,.mv-sheet-x:focus{position:absolute;top:12px;right:12px;background:none!important;border:none;color:#9A8F80!important;padding:4px;cursor:pointer}
.mv-sheet-x svg{width:20px;height:20px}


/* ===== grafik z Altegio (na ciemnym tle) ===== */
.mv-graf{margin-top:18px}
.mv-gtabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px;-webkit-overflow-scrolling:touch}
.mv-gtab,.mv-gtab:hover,.mv-gtab:focus{flex:0 0 auto;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:1px;
  padding:9px 12px;border-radius:14px;border:1px solid rgba(106,195,199,.35)!important;background:rgba(255,255,255,.06)!important;
  color:#B8D6D7!important;font-family:inherit;cursor:pointer}
.mv-gtab b{font-size:13.5px;font-weight:500}
.mv-gtab span{font-size:11px;opacity:.8}
.mv-gtab.on,.mv-gtab.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
.mv-gday{display:none}
.mv-gday.on{display:block}
.mv-gdayname{color:#6AC3C7;font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:0 0 8px}
.mv-grow{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;
  background:#fff;border-radius:13px;padding:12px 14px;margin-bottom:8px;color:#2B2A2C}
.mv-gtime{font-size:17px;line-height:1.1}
.mv-gtime small{display:block;font-size:11px;color:#9A8F80;margin-top:3px}
.mv-ginfo b{display:block;font-size:14.5px;font-weight:500}
.mv-ginfo span{font-size:12px;color:#7A6E5E}
.mv-gact{display:flex;align-items:center;gap:10px}
.mv-gact .moova-btn{padding:9px 16px!important;font-size:13px!important}
.mv-gfree{font-size:11.5px;color:#2B7A7D;white-space:nowrap}
.mv-gfree.few{color:#B5651D}
.mv-gfree.full{color:#9A8F80}
.mv-gnote{font-size:12px;color:#B8D6D7;margin:12px 0 0}
.mv-gnote a{color:#FFD846}
.mv-graf-empty{margin-top:14px}
@media(max-width:640px){
  .mv-grow{grid-template-columns:52px minmax(0,1fr);gap:10px}
  .mv-gact{grid-column:1/-1;justify-content:space-between}
}


/* ===== filtry grafiku ===== */
.mv-gfilters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.mv-gsel{appearance:none;-webkit-appearance:none;background:rgba(255,255,255,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236AC3C7'/%3E%3C/svg%3E") no-repeat right 12px center;
  border:1px solid rgba(106,195,199,.4);color:#fff;border-radius:20px;padding:8px 32px 8px 14px;font-size:13px;font-family:inherit;max-width:100%}
.mv-gsel option{color:#2B2A2C;background:#fff}
.mv-gsel.on{background-color:#6AC3C7;color:#0E3D3F;border-color:#6AC3C7}
.mv-gfree-only{display:inline-flex;align-items:center;gap:7px;color:#B8D6D7;font-size:13px;cursor:pointer;padding:6px 4px}
.mv-gfree-only input{width:16px;height:16px;accent-color:#FFD846}
.mv-grow.hide{display:none}
.mv-gnone{display:none;color:#B8D6D7;font-size:13px;padding:10px 2px}
.mv-gday.empty .mv-gnone{display:block}
.mv-gtab.dim{opacity:.4}
@media(max-width:640px){.mv-gsel{flex:1 1 calc(50% - 4px)}}


/* ===== najbliższe terminy w kartach ===== */
.mv-sess{background:#FBF8F3;border-radius:12px;padding:10px 12px;margin:0 0 12px}
.mv-sess-t{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:#9A8F80;margin:0 0 6px}
.mv-srow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid #EFE7DA;font-size:13px}
.mv-srow:first-of-type{border-top:none}
.mv-swhen{white-space:nowrap}
.mv-swhen b{font-weight:500}
.mv-swho{color:#7A6E5E;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mv-sfree{font-size:11px;color:#2B7A7D;white-space:nowrap}
.mv-sfree.few{color:#B5651D}
.mv-sfree.full{color:#9A8F80}
.mv-sbook,.mv-sbook:hover{font-size:12px;padding:6px 12px;border-radius:16px;background:#FFD846;color:#2B2A2C!important;text-decoration:none;white-space:nowrap}
.mv-sbook:hover{background:#6AC3C7}
@media(max-width:640px){
  .mv-srow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .mv-swho{grid-column:1/2;grid-row:2}
  .mv-sfree{grid-column:2;grid-row:1}
  .mv-sbook{grid-column:2;grid-row:2;justify-self:end}
}


/* ===== dwie drogi ===== */
.mv-drogi{font-size:12.5px;color:#5B5550;line-height:1.6;margin:0 0 8px}
.mv-drogi a,.mv-drogi a:hover{color:#2B7A7D;text-decoration:underline;background:none!important}
.mv-gintro{font-size:14px;color:#DDEFEF;line-height:1.6;margin:0 0 14px;max-width:720px}
.mv-gintro a,.mv-gintro a:hover{color:#FFD846;text-decoration:underline;background:none!important}
.moova-ov-g{text-align:center;margin:10px 0 0;font-size:13px}
.moova-ov-g a,.moova-ov-g a:hover{color:#2B7A7D;text-decoration:underline;background:none!important}


/* ===== strona nie może być szersza niż ekran =====
   clip, a nie hidden — hidden psuje przyklejony nagłówek */
html,body{overflow-x:clip;max-width:100%}
.moova-grid>*,.mv-grow>*,.moova-pan>*{min-width:0}
.moova img,.moova svg{max-width:100%}
.elementor-section,.e-con{max-width:100%}

/* ===== ikonki w białym pasku — większe, z odstępem ===== */
@media(max-width:1024px){
  .mv-navicons{gap:6px}
  .mv-navicons a{width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%}
  .mv-navicons a:active{background:#E8F4F5}
  .mv-navicons svg{width:24px;height:24px}
  .mv-burger{width:44px;height:44px;display:flex!important;align-items:center;justify-content:center}
  .mv-nav .mv-wrap{gap:8px}
  .mv-sticky{transform:translateZ(0);will-change:transform}
}


/* ===== mapa ===== */
.mv-mapa{border-radius:14px;overflow:hidden;background:#DCE8E4;position:relative;width:100%}
.mv-mapa iframe{display:block;width:100%;border:0}
.mv-mapa-link{display:block;text-align:right;font-size:12px;color:#2B7A7D;padding:7px 10px;background:#fff;text-decoration:none}

/* ===== karta podarunkowa ===== */
.mv-karta{position:relative;width:100%;aspect-ratio:8/5;border-radius:18px;background:linear-gradient(135deg,#FFD846 0%,#FFE88A 55%,#CDBEDF 130%);
  box-shadow:0 18px 40px rgba(43,42,44,.16);padding:24px;display:flex;flex-direction:column;justify-content:space-between;color:#4A3410;overflow:hidden}
.mv-karta:after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.28)}
.mv-karta-top{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:2px;position:relative;z-index:1}
.mv-karta-top img{width:40px;height:auto}
.mv-karta-kw{font-size:30px;line-height:1.1;position:relative;z-index:1}
.mv-karta-bot{font-size:12px;letter-spacing:1px;opacity:.75;position:relative;z-index:1}
.mv-karta-img{width:100%;border-radius:18px;display:block;box-shadow:0 18px 40px rgba(43,42,44,.16)}

/* ===== wynajem ze zdjęciem ===== */
.moova-wyn-card{overflow:hidden}
.moova-wyn-img{display:block;width:calc(100% + 32px);max-width:none;margin:-16px -16px 14px;aspect-ratio:16/9;object-fit:cover}

/* ===== mniejsza ilustracja przy banerze ===== */
.moova-baner-ill{height:230px}
.moova-baner-prawo .moova-baner-ill{right:-190px}
.moova-baner-lewo .moova-baner-ill{left:-190px}


/* ===== filtry grafiku: przyciski zamiast list ===== */
.mv-gfilters{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.mv-gchips{display:flex;gap:6px;flex-wrap:wrap}
.mv-grow2{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.mv-chip,.mv-chip:hover,.mv-chip:focus{width:auto!important;display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.07)!important;border:1px solid rgba(106,195,199,.35)!important;color:#DDEFEF!important;
  border-radius:18px;padding:7px 14px;font-size:13px;font-family:inherit;line-height:1.2;cursor:pointer;white-space:nowrap}
.mv-chip:hover{border-color:#6AC3C7!important}
.mv-chip.on,.mv-chip.on:hover{background:#6AC3C7!important;border-color:#6AC3C7!important;color:#0E3D3F!important}
.mv-gfree-t.on,.mv-gfree-t.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
.mv-gdrop{position:relative}
.mv-gdrop-l{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:20;min-width:230px;max-height:300px;overflow-y:auto;
  background:#123F41;border:1px solid rgba(106,195,199,.4);border-radius:14px;padding:6px;box-shadow:0 14px 30px rgba(0,0,0,.35)}
.mv-gdrop.open .mv-gdrop-l{display:block}
.mv-gdrop-l button,.mv-gdrop-l button:hover,.mv-gdrop-l button:focus{display:block;width:100%!important;text-align:left;
  background:none!important;border:none!important;color:#DDEFEF!important;font-family:inherit;font-size:13.5px;
  padding:9px 12px;border-radius:9px;cursor:pointer}
.mv-gdrop-l button:hover{background:rgba(106,195,199,.18)!important}
.mv-gdrop-l button.on{background:#6AC3C7!important;color:#0E3D3F!important}
.mv-gsel{display:none!important}
@media(max-width:640px){
  .mv-gchips:not(.mv-gchips-s){flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;
    margin-right:-14px;padding-right:14px}
  .mv-gdrop-l{min-width:220px}
}


/* ===== BANER — samodzielny pas z dwukolorowym tłem (nadpisuje wcześniejsze nakładanie) ===== */
.moova-baner{margin:0!important;pointer-events:auto;position:relative;z-index:1;
  background:linear-gradient(to bottom,var(--mb-g) 0,var(--mb-g) 50%,var(--mb-d) 50%,var(--mb-d) 100%);padding:26px 0}
.moova-baner-in{max-width:1180px!important;margin:0 auto;padding:0 20px!important;display:flex;align-items:center;gap:28px}
.moova-baner-lewo .moova-baner-in{flex-direction:row-reverse}
.moova-baner-box{flex:0 1 860px;width:100%;max-width:860px}
.moova-baner-ill{position:static!important;flex:0 0 auto;height:340px!important;width:auto;max-width:280px;object-fit:contain;
  align-self:flex-end;transform:none!important;left:auto!important;right:auto!important}
.moova-baner-lewo .moova-baner-ill{transform:scaleX(-1)!important}
@media(max-width:1000px){
  .moova-baner-ill{display:none!important}
  .moova-baner-box{flex:1 1 auto}
}
@media(max-width:640px){
  .moova-baner{padding:16px 0}
  .moova-baner-in{padding:0 14px!important}
}

/* ilustracje przy żółtej plakietce w „Dlaczego my” */
.mv-ill-pair{display:flex;gap:10px;align-items:flex-end;justify-content:center}
.mv-ill-pair img{height:120px;width:auto}


/* ===== BANER: fotografia + postać jako jedna kompozycja na środku,
   postać dokładnie tej samej wysokości co baner ===== */
.moova-baner-in{--bw:min(820px, calc((min(100vw, 1180px) - 64px) / (1 + var(--ir, 1) / 2.7)));justify-content:center;align-items:center!important;gap:24px}
.moova-baner-box{flex:0 0 var(--bw)!important;width:var(--bw)!important;max-width:none!important}
.moova-baner-ill{height:calc(var(--bw) / 2.7)!important;max-width:none!important;width:auto!important;align-self:center!important}
.moova-baner-lewo .moova-baner-ill{transform:scaleX(-1)!important}
@media(max-width:1000px){
  .moova-baner-in{--bw:100%}
  .moova-baner-box{flex:1 1 auto!important;width:100%!important}
}


/* ===== GRAFIK 3 TYGODNIE ===== */
.mv-g3{margin-top:16px}
.g3-weeks{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.g3-wb,.g3-wb:hover,.g3-wb:focus{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 14px;border-radius:12px;
  background:rgba(255,255,255,.06)!important;border:1px solid rgba(106,195,199,.35)!important;color:#DDEFEF!important;font-family:inherit;cursor:pointer}
.g3-wb b{font-size:13.5px;font-weight:500}
.g3-wb span{font-size:11px;opacity:.75}
.g3-wb.on,.g3-wb.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
.g3-f{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.g3-row{display:flex;gap:6px;flex-wrap:wrap}
.g3-row .mv-chip{white-space:nowrap}
.g3-wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:start}
.g3-col.past{opacity:.4}
.g3-dh{text-align:center;padding:8px 4px;border-radius:10px;background:rgba(255,255,255,.07);color:#B8D6D7;font-size:11.5px;margin-bottom:8px}
.g3-dh b{display:block;font-size:14px;font-weight:500;color:#fff}
.g3-dh.today{background:#FFD846;color:#6B4A10}
.g3-dh.today b{color:#2B2A2C}
.g3-c,.g3-c:hover{display:flex;flex-direction:column;gap:2px;background:#fff;border-radius:10px;padding:9px 10px;margin-bottom:7px;
  border:2px solid transparent;color:#2B2A2C!important;text-decoration:none!important;font-size:12px;line-height:1.35;transition:border-color .15s}
a.g3-c:hover{border-color:#FFD846}
.g3-c.full,.g3-c.gone{opacity:.55;cursor:default}
.g3-t{font-size:14px;font-weight:500}
.g3-t small{font-size:11px;color:#9A8F80;font-weight:400}
.g3-n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.g3-s{color:#7A6E5E;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g3-r{color:#9A8F80;font-size:11px}
.g3-seat{font-size:11px;color:#2B7A7D;white-space:nowrap}
.g3-seat i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1D9E75;margin-right:5px}
.g3-seat.few{color:#B5651D}.g3-seat.few i{background:#EF9F27}
.g3-seat.full,.g3-seat.gone{color:#9A8F80}.g3-seat.full i,.g3-seat.gone i{background:#B4B2A9}
.g3-none{text-align:center;color:#6AC3C7;opacity:.6;padding:10px 0}
.g3-dg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:12px}
.g3-db,.g3-db:hover,.g3-db:focus{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0;border-radius:10px;
  background:rgba(255,255,255,.06)!important;border:1px solid rgba(106,195,199,.3)!important;color:#DDEFEF!important;font-family:inherit;cursor:pointer;min-width:0}
.g3-db b{font-size:11.5px;font-weight:500}
.g3-db span{font-size:15px}
.g3-db.today{border-color:#FFD846!important}
.g3-db.on,.g3-db.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
.g3-db.past,.g3-db.empty{opacity:.45}
.g3-msg{color:#B8D6D7;font-size:13.5px;padding:10px 2px}
.mv-grow.g3-gone{opacity:.55}
@media(max-width:1024px){
  .g3-wb{flex:1 1 0;min-width:0;align-items:center;padding:8px 6px}
  .g3-wb b{font-size:12.5px}
}
@media(max-width:380px){.g3-db b{font-size:10.5px}.g3-db span{font-size:13px}}


/* ===== panel rezerwacji ===== */
html.mv-noscroll,html.mv-noscroll body{overflow:hidden!important}
.mv-drw{position:fixed;inset:0;z-index:100001;visibility:hidden;pointer-events:none}
.mv-drw.on{visibility:visible;pointer-events:auto}
.mv-drw-bg{position:absolute;inset:0;background:rgba(14,61,63,.55);opacity:0;transition:opacity .25s}
.mv-drw.on .mv-drw-bg{opacity:1}
.mv-drw-p{position:absolute;top:0;right:0;bottom:0;width:min(480px,100%);background:#fff;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .3s ease;box-shadow:-12px 0 30px rgba(0,0,0,.18)}
.mv-drw.on .mv-drw-p{transform:none}
.mv-drw-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;
  padding-top:calc(10px + env(safe-area-inset-top,0px));border-bottom:1px solid #EFE7DA;background:#FFF0D9}
.mv-drw-x,.mv-drw-x:hover,.mv-drw-x:focus{background:#fff!important;border:1px solid #E0D3BC!important;color:#2B2A2C!important;
  border-radius:20px;padding:8px 14px;font-size:14px;font-family:inherit;cursor:pointer}
.mv-drw-ext{font-size:12px;color:#2B7A7D;text-decoration:none;white-space:nowrap}
.mv-drw iframe{flex:1;width:100%;border:0;display:block;opacity:0;transition:opacity .2s}
.mv-drw.ready iframe{opacity:1}
.mv-drw-load{position:absolute;top:50%;left:0;right:0;text-align:center;color:#9A8F80;font-size:14px}
.mv-drw.ready .mv-drw-load{display:none}
@media(max-width:640px){.mv-drw-x span{display:inline}.mv-drw-p{width:100%}}


/* wynajem: zdjęcie jako tło bloku — bez sztuczek z marginesami */
.moova-wyn-card.moova-wyn-foto{padding:0;overflow:hidden;display:flex;flex-direction:column}
.moova-wyn-pic{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#DCE8E4}
.moova-wyn-txt{padding:15px 16px}
.moova-wyn-img{display:none!important}

.moova-team .mv-swho{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#2B2A2C}


/* ===== MOBILE — porządki ===== */

/* polosa administratora na telefonie odjeżdża — nagłówek przykleja się do samej góry */
@media(max-width:600px){.admin-bar .mv-nav{top:0!important}}

/* przyciski: długi tekst zawija się, a nie wychodzi poza przycisk (motyw ustawia nowrap) */
.moova-btn,button.moova-btn,a.moova-btn{white-space:normal!important;overflow-wrap:anywhere;max-width:100%;height:auto;line-height:1.3}

/* przełącznik „Pokaż” na całą szerokość — na telefonie i tablecie */
@media(max-width:1024px){
  .moova-seggroup>div{flex:1 1 100%}
  .moova-seg{display:flex;width:100%}
  .moova-seg button{flex:1 1 0;min-width:0}
}

/* wynajem na telefonie — każda karta na całą szerokość */
@media(max-width:767px){
  .moova-grid.moova-wyn{grid-template-columns:1fr!important}
}

/* masaż na telefonie: pojedynczy — 1 h po lewej, 1,5 h po prawej */
@media(max-width:640px){
  .moova-masaze .moova-cwide .moova-ptwo{grid-template-columns:1fr 1px 1fr!important}
  .moova-masaze .moova-cwide .moova-ptwo>.moova-sep{height:auto!important;margin:0!important}
}


/* ===== porządki 3.5 ===== */

/* strzałki banera — dokładnie na środku koła */
.moova-baner-arr,.moova-baner-arr:hover,.moova-baner-arr:focus{display:flex!important;align-items:center;justify-content:center;
  padding:0!important;line-height:0!important;font-size:0!important}
.moova-baner-arr svg{display:block}

/* baner na telefonie — stała wysokość, nie może wejść na tekst poniżej */
@media(max-width:1000px){
  .moova-baner{overflow:hidden}
  .moova-baner-box{aspect-ratio:auto!important;height:calc((100vw - 28px) / 2.7)!important;max-height:340px}
}

/* przełączniki — przy wielu nazwach przenoszą się do kolejnej linii zamiast nachodzić */
@media(max-width:1024px){
  .moova-seg{flex-wrap:wrap}
  .moova-seg button{flex:1 1 auto!important;white-space:nowrap}
}



/* FAQ — otwarte pytanie ma kolorowy nagłówek */
.elementor-accordion .elementor-tab-title.elementor-active{background:#6AC3C7!important;border-radius:10px 10px 0 0}
.elementor-accordion .elementor-tab-title.elementor-active a,
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon{color:#0E3D3F!important}
.elementor-accordion .elementor-tab-content{background:#fff}



/* ===== 3.5.1 ===== */
/* cena w karcie informacyjnej — takie samo pismo jak inne ceny */
.moova-pinfo b{font-weight:400!important;font-size:22px!important}

/* telefon: dwie ceny — karta na całą szerokość; jedna cena — dwie karty obok siebie */
@media(max-width:640px){
  .moova-karnety .moova-cards,.moova-masaze .moova-cards{grid-template-columns:1fr 1fr!important}
  .moova-pcard.mv-one{grid-column:auto!important}
  .moova-pcard.mv-full{grid-column:1/-1!important;width:auto!important}
  .moova-pcard.mv-full .moova-ptwo{grid-template-columns:1fr 1px 1fr!important}
  .moova-pcard.mv-full .moova-ptwo>.moova-sep{height:auto!important;margin:10px 0!important}
  .moova-pcard.mv-full .moova-pline{padding:10px 6px}
}

/* karta podarunkowa — zwykły obrazek, nie może nachodzić na tekst */
.mv-karta-pic{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 18px 40px rgba(43,42,44,.16)}
@media(max-width:767px){.mv-karta-pic{margin-bottom:16px}}


/* telefon poziomo i tablet: wszystkie ceny po dwie w rzędzie, bez sierot */
@media(min-width:641px) and (max-width:1024px){
  .moova-karnety .moova-cards,.moova-masaze .moova-cards{grid-template-columns:1fr 1fr!important}
  .moova-pcard.mv-one{grid-column:auto!important}
  .moova-pcard.mv-full{grid-column:1/-1!important;width:auto!important}
  .moova-karnety .moova-infos:empty,.moova-masaze .moova-extra:empty{display:none}
}


/* przycisk „do góry” */
.mv-totop,.mv-totop:hover,.mv-totop:focus{position:fixed;right:18px;bottom:24px;z-index:997;width:48px;height:48px;border-radius:50%;
  background:#fff!important;border:1.5px solid #6AC3C7!important;color:#2B7A7D!important;padding:0!important;
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.14);cursor:pointer;
  opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mv-totop.on{opacity:1;visibility:visible}
.mv-totop:active{background:#E8F4F5!important}
@media(max-width:1024px){.mv-totop{bottom:calc(76px + env(safe-area-inset-bottom,0px));right:14px;width:46px;height:46px}}
html.mv-noscroll .mv-totop{display:none}


/* ===== TELEFON: kompaktne filtry i przyklejanie (do 767 px) ===== */
.mv-pk{position:fixed;inset:0;z-index:100002;visibility:hidden;pointer-events:none}
.mv-pk.on{visibility:visible;pointer-events:auto}
.mv-pk-bg{position:absolute;inset:0;background:rgba(14,61,63,.5);opacity:0;transition:opacity .2s}
.mv-pk.on .mv-pk-bg{opacity:1}
.mv-pk-p{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:20px 20px 0 0;padding:16px 14px calc(16px + env(safe-area-inset-bottom,0px));
  max-height:75vh;overflow-y:auto;transform:translateY(100%);transition:transform .25s ease}
.mv-pk.on .mv-pk-p{transform:none}
.mv-pk-t{margin:0 0 10px;text-align:center;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#9A8F80}
.mv-pk-o,.mv-pk-o:hover,.mv-pk-o:focus{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;
  background:#FBF8F3!important;border:1px solid #EFE7DA!important;color:#2B2A2C!important;border-radius:12px;padding:14px 16px;margin-bottom:7px;
  font-size:15.5px;font-family:inherit;cursor:pointer}
.mv-pk-o small{font-size:12px;color:#9A8F80}
.mv-pk-o.on,.mv-pk-o.on:hover{background:#6AC3C7!important;border-color:#6AC3C7!important;color:#0E3D3F!important}
.mv-pk-o.on small{color:#0E3D3F}

.g3-bar{display:none}
@media(max-width:767px){
  .g3-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;gap:6px;
    position:sticky;top:var(--mv-head,64px);z-index:30;margin:0 -14px 12px;padding:8px 14px;
    background:rgba(14,61,63,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  .g3-dd,.g3-dd:hover,.g3-dd:focus,.k-dd,.k-dd:hover,.k-dd:focus{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;width:100%;
    padding:9px 8px;border-radius:12px;font-size:12.5px;font-family:inherit;cursor:pointer;white-space:nowrap;
    background:rgba(255,255,255,.08)!important;border:1px solid rgba(106,195,199,.4)!important;color:#DDEFEF!important}
  .g3-dd span,.k-dd span{overflow:hidden;text-overflow:ellipsis}
  .g3-dd.on,.g3-dd.on:hover{background:#6AC3C7!important;border-color:#6AC3C7!important;color:#0E3D3F!important}
  .g3-fr,.g3-fr:hover,.g3-fr:focus{width:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;
    background:rgba(255,255,255,.08)!important;border:1px solid rgba(106,195,199,.4)!important;color:#DDEFEF!important}
  .g3-fr.on,.g3-fr.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
  .mv-g3 .g3-weeks,.mv-g3 .g3-f{display:none}
  .g3-next,.g3-next:hover{display:inline-block;margin-top:6px;background:#FFD846!important;color:#2B2A2C!important;border:none!important;
    border-radius:16px;padding:7px 12px;font-family:inherit;font-size:13px;cursor:pointer}

  /* karnety: „Dla kogo” i „Okres” — dwa przyciski z szufladą */
  .moova-karnety.mv-kph .moova-seggroup{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .moova-karnety.mv-kph .moova-seggroup>div[data-wrap="cena"]{grid-column:1/-1}
  .moova-karnety.mv-kph [data-seg="aud"],.moova-karnety.mv-kph [data-seg="okres"]{background:none;border:none;box-shadow:none;padding:0}
  .moova-karnety .k-dd,.moova-karnety .k-dd:hover,.moova-karnety .k-dd:focus{background:var(--kd,#2B7A7D)!important;border:1.5px solid var(--kd,#2B7A7D)!important;color:#fff!important;font-weight:500}

  /* masaże, instruktorzy, zajęcia — filtr przyklejony pod nagłówkiem */
  .moova-zajecia .moova-seggroup,.moova-team .moova-seggroup{
    position:sticky;top:var(--mv-head,64px);z-index:30;margin-left:-14px;margin-right:-14px;padding:8px 14px;
    background:var(--mv-sec,#fff);box-shadow:0 8px 12px -12px rgba(14,61,63,.3)}
}


/* ===== GRAFIK na turkusowym tle — ciemne napisy, białe karty ===== */
.mv-g3 .mv-gintro{color:#0E3D3F}
.mv-g3 .mv-gintro a,.mv-g3 .mv-gintro a:hover{color:#0E3D3F!important;font-weight:600}
.mv-g3 .mv-gnote,.mv-g3 .g3-msg{color:#12494B}
.mv-g3 .mv-gnote a{color:#0E3D3F}
.mv-g3 .mv-gdayname{color:#0E3D3F;font-weight:600}
.mv-g3 .g3-wb,.mv-g3 .g3-wb:hover,.mv-g3 .g3-wb:focus{background:rgba(255,255,255,.4)!important;border-color:rgba(14,61,63,.25)!important;color:#0E3D3F!important}
.mv-g3 .g3-wb.on,.mv-g3 .g3-wb.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
.mv-g3 .mv-chip,.mv-g3 .mv-chip:hover,.mv-g3 .mv-chip:focus{background:rgba(255,255,255,.45)!important;border-color:rgba(14,61,63,.22)!important;color:#0E3D3F!important}
.mv-g3 .mv-chip.on,.mv-g3 .mv-chip.on:hover{background:#0E3D3F!important;border-color:#0E3D3F!important;color:#fff!important}
.mv-g3 .mv-gfree-t.on,.mv-g3 .mv-gfree-t.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
.mv-g3 .g3-dh{background:rgba(255,255,255,.45);color:#12494B}
.mv-g3 .g3-dh b{color:#0E3D3F}
.mv-g3 .g3-dh.today{background:#FFD846;color:#6B4A10}
.mv-g3 .g3-none{color:#0E3D3F;opacity:.45}
.mv-g3 .g3-db,.mv-g3 .g3-db:hover,.mv-g3 .g3-db:focus{background:rgba(255,255,255,.45)!important;border-color:rgba(14,61,63,.2)!important;color:#0E3D3F!important}
.mv-g3 .g3-db.today{border-color:#0E3D3F!important}
.mv-g3 .g3-db.on,.mv-g3 .g3-db.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
.mv-g3 a.g3-c:hover{border-color:#0E3D3F}
@media(max-width:767px){
  .mv-g3 .g3-bar{background:rgba(106,195,199,.96)}
  .mv-g3 .g3-dd,.mv-g3 .g3-dd:hover,.mv-g3 .g3-dd:focus,.mv-g3 .g3-fr,.mv-g3 .g3-fr:hover,.mv-g3 .g3-fr:focus{
    background:#fff!important;border-color:rgba(14,61,63,.2)!important;color:#0E3D3F!important}
  .mv-g3 .g3-dd.on,.mv-g3 .g3-dd.on:hover{background:#0E3D3F!important;border-color:#0E3D3F!important;color:#fff!important}
  .mv-g3 .g3-fr.on,.mv-g3 .g3-fr.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
}


/* grafik na telefonie: filtry i dni przyklejone razem */
@media(max-width:767px){
  .mv-g3 .g3-bar{position:static!important;margin:0!important;padding:0 0 8px!important;background:none!important}
  .mv-g3 .g3-stick{position:sticky;top:var(--mv-head,64px);z-index:30;margin:0 -14px 12px;padding:8px 14px 8px;
    background:var(--mv-sec,#6AC3C7);box-shadow:0 8px 12px -12px rgba(14,61,63,.3)}
  .mv-g3 .g3-stick .g3-dg{margin-bottom:0}
}


/* ===== OPINIE ===== */
.mv-op-top{display:flex;justify-content:flex-end;margin:-6px 0 14px}
.mv-op-badge,.mv-op-badge:hover{display:inline-flex;align-items:center;gap:7px;background:#fff;padding:9px 16px;border-radius:24px;
  color:#2B2A2C!important;text-decoration:none!important;box-shadow:0 4px 14px rgba(43,42,44,.08);border:1px solid #EFE7DA;transition:border-color .15s}
a.mv-op-badge:hover{border-color:#6AC3C7}
.mv-op-badge b{font-size:19px;font-weight:600}
.mv-op-stars{color:#FFB400;letter-spacing:1px}
.mv-op-cnt{font-size:12.5px;color:#7A6E5E}
.mv-op-arr{color:#2B7A7D;font-size:14px}
.mv-op-view{overflow:hidden;margin:0 -7px}
.mv-op-track{display:flex;transition:transform .45s ease}
.mv-op-card{flex:0 0 calc(100% / var(--per,3));box-sizing:border-box;padding:0 7px;margin:0}
.mv-op-card>*{position:relative}
.mv-op-card{display:flex;flex-direction:column}
.mv-op-card .mv-op-cs,.mv-op-card blockquote,.mv-op-card figcaption{background:#fff}
.mv-op-card .mv-op-cs{border-radius:14px 14px 0 0;padding:18px 20px 0;color:#FFB400;letter-spacing:2px;font-size:15px}
.mv-op-card blockquote{margin:0;padding:10px 20px 12px;font-size:14.5px;line-height:1.65;color:#2B2A2C;flex:1;font-style:normal}
.mv-op-card figcaption{border-radius:0 0 14px 14px;padding:0 20px 18px;display:flex;flex-direction:column;gap:2px}
.mv-op-card figcaption b{font-size:14px;font-weight:600}
.mv-op-card figcaption span{font-size:12px;color:#9A8F80}
.mv-op-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}
.mv-op-a,.mv-op-a:hover,.mv-op-a:focus{width:40px;height:40px;border-radius:50%;display:flex!important;align-items:center;justify-content:center;
  padding:0!important;background:#fff!important;border:1.5px solid #6AC3C7!important;color:#2B7A7D!important;cursor:pointer;line-height:0}
.mv-op-dots{display:flex;gap:7px}
.mv-op-dots button,.mv-op-dots button:hover,.mv-op-dots button:focus{width:8px;height:8px;border-radius:50%;padding:0!important;border:none!important;
  background:#D6CBB8!important;cursor:pointer;transition:width .25s}
.mv-op-dots button.on{background:#2B7A7D!important;width:22px;border-radius:5px}
.mv-op-btns{margin-top:18px;justify-content:center}
.mv-op-empty{background:#fff;border:1px dashed #E0D3BC;border-radius:12px;padding:14px;color:#9A8F80;font-size:13px}
@media(max-width:767px){
  .mv-op-top{justify-content:flex-start;margin:0 0 12px}
  .mv-op-card blockquote{font-size:14px}
}


/* blok „Zajęcia”: drugi rząd — grupy */
.moova-zajecia .z-chips{margin-top:10px}
.moova-zajecia .z-chips .mv-chip,.moova-zajecia .z-chips .mv-chip:hover{background:#fff!important;border:1px solid #E0D3BC!important;color:#5B5550!important}
.moova-zajecia .z-chips .mv-chip.on,.moova-zajecia .z-chips .mv-chip.on:hover{background:#2B7A7D!important;border-color:#2B7A7D!important;color:#fff!important}
@media(max-width:767px){
  .moova-zajecia.z-ph [data-seg="typ"]{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;background:none;border:none;box-shadow:none;padding:0;width:100%}
  .moova-zajecia.z-ph .moova-seglab{display:none}
  .moova-zajecia .z-dd,.moova-zajecia .z-dd:hover,.moova-zajecia .z-dd:focus{background:#fff!important;border:1.5px solid #E0D3BC!important;color:#2B2A2C!important}
  .moova-zajecia .z-dd.on,.moova-zajecia .z-dd.on:hover{background:#2B7A7D!important;border-color:#2B7A7D!important;color:#fff!important}
}


/* ===== KOMPUTER: przyklejone filtry w „Zajęcia” i w grafiku ===== */
@media(min-width:768px){
  .moova-zajecia .moova-seggroup{position:sticky;top:var(--mv-head,72px);z-index:30;background:var(--mv-sec,#fff);
    padding:10px 0;margin-bottom:6px;box-shadow:0 10px 12px -14px rgba(14,61,63,.35)}
  .mv-g3 .g3-stickd{position:sticky;top:var(--mv-head,72px);z-index:30;background:var(--mv-sec,#6AC3C7);
    padding:10px 0 2px;margin-bottom:10px;box-shadow:0 10px 12px -14px rgba(14,61,63,.35)}
  .mv-g3 .g3-stickd .g3-weeks{margin-bottom:8px}
  .mv-g3 .g3-stickd .g3-f{margin-bottom:8px}
}


/* grafik na komputerze: rząd 1 — tygodnie + sale, rząd 2 — wolne miejsca + rodzaje */
.mv-g3 .g3-r1{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.mv-g3 .g3-r1 .g3-weeks{margin-bottom:0}
.mv-g3 .g3-r2{align-items:center;margin-bottom:10px}
.mv-g3 .g3-sep{width:1px;align-self:stretch;background:rgba(14,61,63,.25);margin:2px 4px}

/* przyklejone plakietki — nie na styk z nagłówkiem */
@media(min-width:768px){
  .moova-zajecia .moova-seggroup{top:var(--mv-head,72px);padding-top:12px;border-radius:0 0 12px 12px}
  .mv-g3 .g3-stickd{top:var(--mv-head,72px);padding:14px 12px 2px;margin-left:-12px;margin-right:-12px;border-radius:0 0 14px 14px}
}


/* „Zajęcia” na komputerze: typ i rodzaje w jednym rzędzie */
@media(min-width:768px){
  .moova-zajecia .moova-seggroup>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .moova-zajecia .moova-seggroup .moova-seglab{margin:0}
  .moova-zajecia .z-gr:not(:empty){display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}
  .moova-zajecia .z-gr:not(:empty)::before{content:"";width:1px;align-self:stretch;min-height:26px;background:#E0D3BC}
  .moova-zajecia .z-chips{margin-top:0!important}
}


/* ===== Instagram ===== */
.mv-ig-nick{margin:-4px 0 14px;font-size:15px}
.mv-ig-nick a{color:#2B7A7D;text-decoration:none;font-weight:600}
.mv-ig-feed #sb_instagram{padding-bottom:0!important}
.mv-ig-feed #sb_instagram .sbi_photo{border-radius:10px;overflow:hidden}
.mv-ig-btn{justify-content:center;margin-top:16px}


/* Instagram: tylko nasze przyciski i nasza siatka — niezależnie od ustawień Smash Balloon */
.mv-ig-feed .sbi_follow_btn,.mv-ig-feed #sbi_load,.mv-ig-feed .sbi_load_btn,.mv-ig-feed .sb_instagram_header,.mv-ig-feed .sbi-feed-header{display:none!important}
.mv-ig-feed #sb_instagram{padding:0!important;width:100%!important;max-width:none!important}
.mv-ig-feed #sbi_images{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px!important;padding:0!important;width:100%!important}
.mv-ig-feed #sbi_images .sbi_item{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important}
/* было: скрывать всё после 12-го фото — убрано, сколько фото показывать, задаётся в Moova → Настройки → Instagram (всего фото) */
@media(max-width:767px){
  .mv-ig-feed #sbi_images{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px!important}
}

.moova-chip-pr{background:#FFF3B0!important;color:#6B4A10!important}


/* masaż pojedynczy: wstążka w rogu i linijka z wartością prezentu */
.moova-pcard.mv-hasgift{position:relative;overflow:hidden}
.mv-ribbon{position:absolute;top:12px;right:-34px;z-index:2;transform:rotate(35deg);background:#FFD846;color:#2B2A2C;
  font-size:10.5px;font-weight:600;letter-spacing:.3px;padding:4px 36px;box-shadow:0 2px 6px rgba(0,0,0,.12);white-space:nowrap;pointer-events:none}
.mv-giftline{margin:2px 12px 13px;padding:7px 10px;border-radius:10px;background:#FFF8D6;color:#6B4A10;font-size:12px;line-height:1.4;text-align:center}
@media(max-width:640px){.mv-ribbon{font-size:9.5px;right:-38px;top:10px}}

.mv-masnota{font-size:12.5px;color:#6B6055;line-height:1.6;margin:14px 0 0}
.mv-masnota b{color:#2B2A2C}


/* ===== GRAFIK NA TELEFONIE: lenta dni, strzałki, podświetlenie ===== */
@media(max-width:767px){
  .mv-g3 .g3-bar.g3-bar2{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important}
  .mv-g3 .g3-bar.g3-bar1{grid-template-columns:minmax(0,1fr) auto!important}
  .mv-g3 .g3-bar.g3-bar0{grid-template-columns:auto!important}
  .g3-strip{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;
    scrollbar-width:none;padding:2px 0 2px;margin:0 -14px;padding-left:14px;padding-right:14px}
  .g3-strip::-webkit-scrollbar{display:none}
  .g3-strip .g3-db{flex:0 0 52px;position:relative}
  .g3-mon{flex:0 0 auto;align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:1px;
    text-transform:uppercase;color:#0E3D3F;opacity:.75;padding:0 2px}
  .g3-dayhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 8px}
  .g3-dayhead span{font-size:15.5px;font-weight:700;color:#0E3D3F;text-align:center;flex:1}
  .g3-step,.g3-step:hover,.g3-step:focus{width:38px;height:38px;border-radius:50%;padding:0!important;display:flex;align-items:center;justify-content:center;
    background:#fff!important;border:1.5px solid rgba(14,61,63,.25)!important;color:#0E3D3F!important;font-size:22px;line-height:1;cursor:pointer}
  .g3-step[disabled]{opacity:.3}
  .g3-hint{text-align:center;font-size:11.5px;color:#12494B;opacity:.7;margin:10px 0 0}
  .mv-g3 .mv-gdayname{display:none}
}
/* dzień z zajęciami przy włączonym filtrze — biały, wyraźny */
.mv-g3 .g3-db.has,.mv-g3 .g3-db.has:hover{background:#fff!important;border-color:#fff!important;color:#0E3D3F!important;opacity:1}
.mv-g3 .g3-db.has b{font-weight:800}
.mv-g3 .g3-db.on,.mv-g3 .g3-db.on:hover{background:#FFD846!important;border-color:#FFD846!important;color:#2B2A2C!important}
.g3-cnt{position:absolute;top:3px;right:3px;min-width:16px;height:16px;border-radius:8px;background:#0E3D3F;color:#fff;
  font-size:10.5px;font-style:normal;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
.mv-g3 .g3-dh{position:relative}
.mv-g3 .g3-dh.has{background:#fff;color:#0E3D3F}
.mv-g3 .g3-dh.has b{color:#0E3D3F;font-weight:800}
.mv-g3 .g3-dh.none{opacity:.45}
.mv-g3 .g3-dh.today.has{background:#FFD846}

/* ===== TELEFON: przełączniki i filtry większe i grubsze ===== */
@media(max-width:767px){
  .moova-seg button,.moova-seg button:hover,.mv-chip,.mv-chip:hover,.k-dd,.k-dd:hover,.g3-dd,.g3-dd:hover{font-size:14.5px!important;font-weight:600!important}
  .g3-db b{font-size:12.5px!important;font-weight:700}
  .g3-db span{font-size:16px!important;font-weight:600}
  .mv-pk-o{font-size:16.5px!important;font-weight:600}
  .moova-seglab{font-size:12px!important;font-weight:700!important}
}


/* ===== CENNIK: Zajęcia | Masaże ===== */
.mv-cen-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.mv-cen-h{margin:0;font-size:30px;line-height:1.15;font-weight:400;color:#2B2A2C}
.mv-cen-sw{display:inline-flex;background:#fff;border:1.5px solid #E0D3BC;border-radius:24px;padding:3px}
.mv-cen-sw button,.mv-cen-sw button:hover,.mv-cen-sw button:focus{background:none!important;border:none!important;color:#5B5550!important;
  font-family:inherit;font-size:14.5px;font-weight:600;padding:8px 20px;border-radius:20px;cursor:pointer}
.mv-cen-sw button.on,.mv-cen-sw button.on:hover{background:#2B7A7D!important;color:#fff!important}
.mv-cen-mbtn{margin-top:16px}
/* BALANCE / ACTIVITY — opis pod nazwą */
.moova-masaze [data-seg="pak"] button{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2}
.moova-masaze [data-seg="pak"] button small{font-size:10.5px;font-weight:400;opacity:.85;text-transform:none;letter-spacing:0;margin-top:2px}
@media(max-width:767px){
  .mv-cen-h{font-size:26px}
  .mv-cen-sw{flex:1 1 100%}
  .mv-cen-sw button{flex:1 1 0}
  .moova-masaze [data-seg="pak"] button small{font-size:10px}
}


/* mostek: rodzaje masaży ↔ cennik masaży */
.mv-bridge,.mv-bridge:hover{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 0;padding:14px 18px;
  background:#fff;border:1.5px solid #6AC3C7;border-radius:14px;color:#1F6467!important;text-decoration:none!important;font-size:15px;font-weight:600}
.mv-bridge:hover{background:#E8F4F5}
.mv-bridge b{font-size:20px;line-height:1}


/* szuflada wyboru i panel — przewijanie nie wychodzi na stronę, dolny pasek schowany */
.mv-pk-p{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.mv-pk-bg,.mv-drw-bg{touch-action:none}
.mv-drw iframe{overscroll-behavior:contain}
html.mv-noscroll .mv-sticky,html.mv-noscroll .mv-totop{display:none!important}
html.mv-noscroll body{overflow:hidden}


/* przyciski: tekst zawsze na środku — także gdy sąsiedni przycisk ma dwie linijki */
.moova-btn,a.moova-btn,button.moova-btn{display:inline-flex!important;align-items:center;justify-content:center;text-align:center;gap:6px}
.moova-row{align-items:stretch}
.mv-sticky a,.mv-sticky button{display:flex!important;align-items:center;justify-content:center;text-align:center}
.mv-cen-sw button,.moova-seg button{display:inline-flex;align-items:center;justify-content:center;text-align:center}


/* telefon i tablet: rezerwacja jest w dolnym pasku — w nagłówku jej nie powielamy (miejsce dla menu ☰) */
@media(max-width:1024px){
  .mv-nav.mv-has-sticky .mv-rezbox{display:none!important}
}


/* przełącznik cen — nazwa i podpis */
.mv-cen-sw button{flex-direction:column;line-height:1.2;padding:7px 18px}
.mv-cen-sw button b{font-weight:600;font-size:14.5px}
.mv-cen-sw button small{font-size:10.5px;font-weight:400;opacity:.8;margin-top:2px;white-space:nowrap}
@media(max-width:767px){.mv-cen-sw button{padding:7px 8px}.mv-cen-sw button small{font-size:10px}}


/* Medicover — wyraźna informacja o tańszych zajęciach próbnych */
.mv-medbox{display:flex;gap:8px;align-items:flex-start;background:#E8F4F5;border:1.5px solid #6AC3C7;border-radius:12px;
  padding:10px 14px;margin:0 0 10px;color:#0E3D3F;font-weight:600;font-size:14px;line-height:1.5}


/* ===== PŁATNOŚĆ ===== */
.mv-pay{max-width:860px;margin:0 auto;padding:10px 0 30px}
.mv-pay-intro{background:#E8F4F5;border:1.5px solid #6AC3C7;border-radius:14px;padding:14px 18px;color:#0E3D3F;font-size:15px;line-height:1.6;margin-bottom:16px}
.mv-pay-intro p{margin:0}
.mv-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mv-pay-card{background:#fff;border:1px solid #EFE7DA;border-radius:14px;padding:16px 18px;margin-bottom:14px}
.mv-pay-grid .mv-pay-card{margin-bottom:0}
.mv-pay-tyt,.mv-pay-conf{margin-top:14px}
.mv-pay-card h3{margin:0 0 8px;font-size:17px;font-weight:600;color:#2B2A2C}
.mv-pay-s{font-size:13px;color:#7A6E5E;margin:0 0 10px;line-height:1.5}
.mv-pay-f{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #F3EEE5}
.mv-pay-f:first-of-type{border-top:none}
.mv-pay-l{font-size:12px;color:#9A8F80}
.mv-pay-v{font-size:15.5px;font-weight:600;color:#2B2A2C;letter-spacing:.3px;word-break:break-word}
.mv-pay-c,.mv-pay-c:hover,.mv-pay-c:focus{background:#FFD846!important;border:none!important;color:#2B2A2C!important;border-radius:16px;
  padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.mv-pay-c.ok{background:#1D9E75!important;color:#fff!important}
.mv-pay-note{font-size:13px;color:#7A6E5E;line-height:1.6;margin-top:6px}
@media(max-width:767px){
  .mv-pay-grid{grid-template-columns:1fr}
  .mv-pay-f{grid-template-columns:1fr auto;row-gap:2px}
  .mv-pay-l{grid-column:1/-1}
  .mv-pay-v{font-size:15px}
}


/* wyróżnienie w tekście i link „Jak zapłacić?” */
.mv-hl{background:#FFF3B0;color:#6B4A10;font-weight:700;padding:1px 6px;border-radius:6px;white-space:nowrap}
.mv-paylink,.mv-paylink:hover{align-self:center;font-size:13.5px;font-weight:600;color:#2B7A7D!important;text-decoration:underline!important;white-space:nowrap}


/* ===== STRONY KIERUNKÓW ===== */
body.mv-kier-page{overflow-x:clip}
body.mv-kier-page .site-main,body.mv-kier-page .page-content,body.mv-kier-page main{max-width:none!important;padding-left:0!important;padding-right:0!important;margin:0!important}
.mv-kier{width:100%}
.mv-ks{width:100vw;position:relative;left:50%;margin-left:-50vw;padding:56px 0}
.mv-ks-in{max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.mv-ks h2{font-size:30px;font-weight:400;line-height:1.2;margin:0 0 18px;color:#2B2A2C}
.mv-ks-hero{background:#FFF0D9;padding-top:40px}
.mv-ks-hero .mv-ks-in{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.mv-kick{text-transform:uppercase;font-size:12.5px;letter-spacing:2px;color:#2B7A7D;font-weight:700;margin:0 0 10px}
.mv-kh-h1{font-size:38px;line-height:1.15;font-weight:400;margin:0 0 16px;color:#2B2A2C}
.mv-kh-txt p{font-size:16px;line-height:1.7;color:#4A4540}
.mv-kh-img img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;display:block}
.mv-ks-two{background:#fff}
.mv-k2{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.mv-kdla{list-style:none;margin:0;padding:0}
.mv-kdla li{position:relative;padding:8px 0 8px 32px;font-size:15.5px;line-height:1.55;border-bottom:1px solid #F3EEE5}
.mv-kdla li::before{content:"✓";position:absolute;left:4px;top:7px;width:20px;height:20px;border-radius:50%;background:#E8F4F5;color:#2B7A7D;
  font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.mv-kc p{font-size:15.5px;line-height:1.7;color:#4A4540}
.mv-ks-zaj{background:#FFF0D9}
.mv-ks-graf{background:#6AC3C7}
.mv-ks-graf h2{color:#0E3D3F}
.mv-ks-team{background:#fff}
.mv-ks-cen{background:#FFF0D9}
.mv-ks-faq{background:#fff}
.mv-kfaq details{border:1px solid #EFE7DA;border-radius:12px;margin-bottom:10px;background:#fff}
.mv-kfaq summary{cursor:pointer;padding:14px 18px;font-size:16px;font-weight:600;list-style:none;position:relative;padding-right:44px}
.mv-kfaq summary::-webkit-details-marker{display:none}
.mv-kfaq summary::after{content:"+";position:absolute;right:18px;top:10px;font-size:22px;color:#2B7A7D}
.mv-kfaq details[open] summary{color:#2B7A7D}
.mv-kfaq details[open] summary::after{content:"–"}
.mv-kfaq details p{padding:0 18px 16px;margin:0;font-size:15px;line-height:1.65;color:#4A4540}
.mv-ks-end{background:#0E3D3F;text-align:center}
.mv-ks-end .moova-row{justify-content:center}
.mv-kend{color:#fff;font-size:22px;margin:0 0 16px}
.mv-kback{margin:18px 0 0}
.mv-kback a{color:#9FE1CB!important}
.mv-kmore{margin:10px 0 0}
.mv-kmore a{color:#2B7A7D!important;font-weight:600;text-decoration:underline!important}
@media(max-width:900px){
  .mv-ks-hero .mv-ks-in{grid-template-columns:1fr}
  .mv-kh-img{order:-1}
  .mv-k2{grid-template-columns:1fr;gap:24px}
}
@media(max-width:767px){
  .mv-ks{padding:40px 0}
  .mv-ks-in{padding:0 16px}
  .mv-kh-h1{font-size:28px}
  .mv-ks h2{font-size:24px}
  .mv-kend{font-size:19px}
}


/* ===== Dokumenty: polityka, regulaminy ===== */
.mv-doc{max-width:860px;margin:0 auto;padding:10px 0 40px;font-size:15.5px;line-height:1.7;color:#2B2A2C}
.mv-doc h2{font-size:22px;font-weight:600;margin:32px 0 10px;color:#0E3D3F}
.mv-doc h3{font-size:17px;font-weight:600;margin:20px 0 6px}
.mv-doc p,.mv-doc li{margin:0 0 10px}
.mv-doc ul{padding-left:22px}
.mv-doc-t{overflow-x:auto;margin:12px 0 16px;-webkit-overflow-scrolling:touch}
.mv-doc table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px}
.mv-doc th,.mv-doc td{border:1px solid #EFE7DA;padding:8px 10px;text-align:left;vertical-align:top}
.mv-doc th{background:#FFF0D9;font-weight:600}
@media(max-width:767px){.mv-doc{font-size:15px;padding:0 4px 30px}.mv-doc h2{font-size:19px}}


/* ===== Napisz do nas ===== */
.mv-chat{position:fixed;right:18px;bottom:24px;z-index:998}
.mv-chat-b,.mv-chat-b:hover,.mv-chat-b:focus{width:56px;height:56px;border-radius:50%;border:none!important;background:#2B7A7D!important;color:#fff!important;
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px rgba(14,61,63,.35);padding:0!important}
.mv-chat-x{display:none}
.mv-chat.on .mv-chat-a{display:none}
.mv-chat.on .mv-chat-x{display:block}
.mv-chat-m{position:absolute;right:0;bottom:68px;width:260px;background:#fff;border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:10px;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.mv-chat.on .mv-chat-m{opacity:1;visibility:visible;transform:none}
.mv-chat-h{margin:4px 8px 8px;font-size:14px;font-weight:600;color:#2B2A2C}
.mv-chat-o,.mv-chat-o:hover{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:12px;text-decoration:none!important;color:#2B2A2C!important}
.mv-chat-o:hover{background:#F6F2EA}
.mv-chat-i{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 38px}
.mv-chat-o b{display:block;font-size:14.5px;font-weight:600}
.mv-chat-o small{display:block;font-size:12px;color:#7A6E5E}
/* strzałka „do góry” nad czatem na komputerze */
@media(min-width:1025px){.mv-totop,.mv-totop:hover,.mv-totop:focus{bottom:92px}}
/* telefon i tablet: czat po lewej, nad dolnym paskiem */
@media(max-width:1024px){
  .mv-chat{right:auto;left:14px;bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .mv-chat-b,.mv-chat-b:hover,.mv-chat-b:focus{width:50px;height:50px}
  .mv-chat-m{right:auto;left:0;bottom:62px}
}
html.mv-noscroll .mv-chat{display:none!important}

/* tło pod paskami przeglądarek w aplikacjach (Telegram, Instagram) */
html{background:#FFFFFF}


/* Menu: aktywna sekcja */
@media(min-width:1025px){
  .mv-menu a{padding:5px 8px!important;margin:0 -8px;border-radius:6px 6px 0 0;transition:background .2s,color .2s,border-color .2s}
  .mv-menu a.on{color:#1F6467!important;background:rgba(106,195,199,.16);border-bottom-color:#2B7A7D!important}
}
@media(max-width:1024px){
  .mv-menu a.on{color:#1F6467!important;background:rgba(106,195,199,.14);box-shadow:inset 3px 0 0 #2B7A7D}
}


/* Strony kierunków: karty z wariantami, sekcja indywidualnych */
.mv-ks-opc{background:#CDBEDF}
.mv-kopc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mv-kopc-c{background:#fff;border-radius:14px;padding:18px}
.mv-kopc-c h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#2B2A2C}
.mv-kopc-c p{margin:0;font-size:13.5px;line-height:1.6;color:#7A6E5E}
.mv-ks-ind{background:#CDBEDF;padding-top:0}
.mv-ks-opc + .mv-ks-ind{padding-top:0}
.mv-kh-ill{display:flex;justify-content:center}
.mv-kh-ill img{max-width:340px;aspect-ratio:auto!important;object-fit:contain!important}
@media(max-width:767px){.mv-kopc{grid-template-columns:1fr}.mv-kh-ill img{max-width:220px}}


/* Strona „Dla firm”: sekcja B2B jak na głównej */
.mv-ks-b2b{background:#0E3D3F;color:#fff}
.mv-ks-b2b h2{color:#fff!important}
.mv-kick-l{color:#6AC3C7!important}
.mv-b2b-t{color:#B8D6D7;font-size:15px;line-height:1.7;margin:0 0 18px}
.mv-b2b-s{color:#B8D6D7;font-size:13px;margin:16px 0 12px}
.mv-b2b-m,.mv-b2b-m:hover{color:#B8D6D7!important;font-size:13px}


/* Pierwszy ekran w kolorze bloku ze strony głównej */
.mv-ks-hero-lav{background:#CDBEDF}
.mv-ks-hero-lav .mv-kick{color:#4A3B63}
.mv-ks-hero-dark{background:#0E3D3F}
.mv-ks-hero-dark .mv-kick{color:#6AC3C7}
.mv-ks-hero-dark .mv-kh-h1{color:#fff}
.mv-ks-hero-dark .mv-kh-txt p{color:#B8D6D7}


/* Karty kontaktowe — [moova_kontakt_info] */
.mv-kinfo{display:flex;flex-direction:column;gap:12px}
.mv-kinfo-c{background:#fff;border-radius:14px;padding:18px}
.mv-kinfo-c h3{margin:0 0 6px;font-size:16px;font-weight:600;color:#2B2A2C}
.mv-kinfo-c h3 a{color:#2B2A2C!important;text-decoration:none!important}
.mv-kinfo-c p{margin:0;font-size:13px;line-height:1.6;color:#7A6E5E}

.mv-b2b-m a,.mv-b2b-m a:hover{color:#B8D6D7!important;font-size:13px}


/* Grafik: masaże — wolne okna */
.g3-c.g3-mas{background:#FBF7F1;border-left:3px solid #F0997B}
.g3-m{display:block;font-size:11px;color:#8A5A3C;line-height:1.35;margin-top:2px}
.mv-gm{display:block;font-size:12.5px;color:#8A5A3C;margin-top:2px}


/* Pasek dnia masażystki */
.g3-tl{position:relative;display:block;height:8px;background:#E4DED4;border-radius:4px;margin:6px 0 2px;overflow:hidden}
.g3-tl i{position:absolute;top:0;bottom:0;background:#6AC3C7;border-radius:4px}
.g3-tlh{display:flex;justify-content:space-between;font-size:10px;color:#9A8F80;margin-bottom:2px}
.g3-tlh b{font-weight:500}
.mv-ginfo .g3-tl{max-width:320px;height:10px}


/* Masaże: okna „na zapytanie” */
.g3-tl i.q{background:#FFD846}
.g3-asks{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.g3-ask,.g3-ask:hover,.g3-ask:focus{background:#FFF3B0!important;color:#6B4A10!important;border:1px dashed #E8BE2E!important;border-radius:10px;
  padding:2px 8px!important;font-size:11px;font-weight:600;cursor:pointer;line-height:1.5}
.g3-mb,.g3-mb:hover{display:inline-block;margin-top:6px;background:#FFD846;color:#2B2A2C!important;border-radius:10px;padding:3px 10px;font-size:11.5px;font-weight:600;text-decoration:none!important}
.g3-masnote{background:#FFF8D6;border:1px solid #F0DB8A;border-radius:10px;padding:8px 12px;font-size:13px;color:#6B4A10;margin:0 0 12px}
.mv-sask{font-size:13px;color:#7A6E5E;margin:10px 0 0}
.mv-sask-b,.mv-sask-b:hover{background:none!important;border:none!important;color:#2B7A7D!important;text-decoration:underline;font-weight:600;padding:0!important;cursor:pointer;font-size:13px}

/* okno wyboru na komputerze — na środku ekranu */
@media(min-width:768px){.mv-sheet{align-items:center;justify-content:center}.mv-sheet-in{max-width:420px;border-radius:20px}}


/* ===== Siatka masażystki ===== */
.mg-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 10px}
.mg-tg{display:inline-flex;background:#fff;border-radius:18px;padding:3px}
.mg-tb,.mg-tb:hover,.mg-tb:focus{background:none!important;border:none!important;color:#2B2A2C!important;border-radius:15px;padding:5px 14px!important;font-size:13px;font-weight:600;cursor:pointer}
.mg-tb.on{background:#0E3D3F!important;color:#fff!important}
.mg-who{display:flex;gap:6px;flex-wrap:wrap}
.mg-wrap{display:grid;grid-template-columns:44px repeat(7,1fr);gap:4px;background:#fff;border-radius:14px;padding:10px;overflow-x:auto}
.mg-wrap.one{grid-template-columns:44px 1fr}
.mg-dh{font-size:12px;text-align:center;padding:4px 0 6px;color:#4A4540}
.mg-dh.today{color:#0E3D3F;font-weight:700}
.mg-dh.today b{background:#FFD846;border-radius:8px;padding:1px 6px}
.mg-ax{position:relative}
.mg-ax span{position:absolute;right:4px;transform:translateY(-50%);font-size:10px;color:#B0A898}
.mg-ax span.h{color:#7A6E5E;font-weight:600}
.mg-col{position:relative;background:#ECE8E1;border-radius:8px;overflow:hidden;min-width:70px}
.mg-col.off{background:#ECE8E1}
.mg-off{position:absolute;top:40%;left:0;right:0;text-align:center;font-size:11px;color:#7A6E5E}
.mg-work{position:absolute;left:0;right:0;background:#fff}
.mg-busy{position:absolute;left:3px;right:3px;background:#C9C2B6;border-radius:5px;display:flex;align-items:center;justify-content:center}
.mg-busy em{font-style:normal;font-size:10.5px;color:#4A4540}
.mg-free,.mg-ask{position:absolute;left:3px;right:3px;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0!important;border:none!important;font-family:inherit}
.mg-free,.mg-free:hover,.mg-free:focus{background:#BDE7E8!important;color:#0E3D3F!important;border:1px solid #6AC3C7!important}
.mg-free:hover{background:#9DDBDD!important}
.mg-ask,.mg-ask:hover,.mg-ask:focus{background:#FFF3B0!important;color:#6B4A10!important;border:1px dashed #E8BE2E!important}
.mg-free em,.mg-ask em{font-style:normal;font-weight:700;font-size:11.5px}
.mg-free small,.mg-ask small{font-size:10px}
.mg-past{position:absolute;left:0;right:0;background:rgba(160,150,135,.35);pointer-events:none}
@media(max-width:767px){.mg-wrap{grid-template-columns:40px 1fr}}

/* Okno „Jaki masaż?” */
.mv-mpick{position:fixed;inset:0;z-index:100001;background:rgba(43,42,44,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.mv-mpick-in{position:relative;background:#fff;border-radius:18px;padding:22px 20px 18px;width:100%;max-width:420px;max-height:85vh;overflow:auto}
.mv-mpick-x,.mv-mpick-x:hover{position:absolute;top:10px;right:12px;background:none!important;border:none!important;font-size:18px;color:#9A8F80!important;cursor:pointer}
.mv-mpick-t{font-size:18px;font-weight:600;margin:0 0 4px}
.mv-mpick-s{font-size:13px;color:#7A6E5E;margin:0 0 14px}
.mv-mpick-o,.mv-mpick-o:hover,.mv-mpick-o:focus{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:#F6F2EA!important;border:none!important;
  border-radius:12px;padding:12px 14px!important;margin-bottom:8px;cursor:pointer;color:#2B2A2C!important;font-family:inherit;font-size:14px}
.mv-mpick-o:hover{background:#E8F4F5!important}
.mv-mpick-o span{font-weight:700;color:#2B7A7D;white-space:nowrap;margin-left:10px}
.mv-mpick-h{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.mv-mpick-h a,.mv-mpick-h a:hover{background:#FFD846;color:#2B2A2C!important;border-radius:16px;padding:7px 14px;font-weight:600;text-decoration:none!important;font-size:14px}
.mv-mpick-back,.mv-mpick-back:hover{background:none!important;border:none!important;color:#2B7A7D!important;text-decoration:underline;cursor:pointer;padding:0!important;font-size:13px}

/* siatka: pierwsza godzina nie chowa się pod paskiem filtrów */
.mg-ax,.mg-col{margin-top:10px}
.mg-ax span:first-child{transform:none}


/* siatka: dni tygodnia zostają widoczne przy przewijaniu */
.mg-wrap{overflow:visible}
.mg-dh{position:sticky;top:var(--mg-top,120px);z-index:5;background:#fff;border-bottom:1px solid #F0EBE3}
@media(max-width:1024px){.mg-wrap{overflow:visible}}
/* telefon: „wyczyść” — szary, gdy nie ma czego czyścić */
.mv-g3 .g3-rst[disabled]{opacity:.35;cursor:default}


/* ===== telefon: poprawki siatki i paska dni ===== */
@media(max-width:767px){
  /* 1–2. pasek dni: odstęp, przyciąganie, cień przy krawędzi */
  .g3-strip{padding-top:6px!important;scroll-snap-type:x mandatory;
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 86%,transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 86%,transparent 100%)}
  .g3-strip .g3-db{scroll-snap-align:center}
  .g3-cnt{font-size:10px;line-height:16px}
}
/* 3. przycisk czatu po prawej, nad strzałką „do góry” — nie zasłania osi czasu */
@media(max-width:1024px){
  .mv-chat{left:auto!important;right:14px!important;bottom:calc(132px + env(safe-area-inset-bottom,0px))!important}
  .mv-chat-m{left:auto!important;right:0!important}
}
/* 4. dół strony nie chowa się pod dolnym paskiem */
@media(max-width:1024px){
  body:has(.mv-sticky){padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  .mg-wrap.one{margin-bottom:16px}
}


/* Siatka: kim jest masażystka (komputer) */
.mg-prof{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:14px;padding:12px 14px;margin:0 0 10px}
.mg-prof img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 56px}
.mg-prof b{display:block;font-size:15px;color:#2B2A2C}
.mg-prof span{display:block;font-size:12.5px;color:#7A6E5E;margin-top:1px}
.mg-opis{font-size:13px;line-height:1.6;color:#4A4540;margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:780px}
.mg-opis.on{display:block}
.mg-more,.mg-more:hover{background:none!important;border:none!important;color:#2B7A7D!important;text-decoration:underline;font-size:12.5px;font-weight:600;padding:0!important;cursor:pointer;margin-top:2px}


/* tydzień na komputerze: dni zostają pod paskiem filtrów (przy przewijaniu i po wyborze sali) */
@media(min-width:768px){
  .mv-g3 .g3-wk{align-items:stretch}
  .mv-g3 .g3-dh{position:sticky;top:var(--mg-top,120px);z-index:4;background:#BFE4E6;box-shadow:0 2px 0 #6AC3C7}
  .mv-g3 .g3-dh.today{background:#FFF3B0}
}


/* pasek dni: duże strzałki po bokach */
.g3-stripw{position:relative;display:flex;align-items:center;gap:4px}
.g3-stripw .g3-strip{flex:1;min-width:0}
.g3-arr,.g3-arr:hover,.g3-arr:focus{flex:0 0 30px;width:30px;align-self:stretch;height:auto;border:none!important;padding:0!important;
  background:none!important;color:#0E3D3F!important;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:none!important}
.g3-arr svg{display:block}
.g3-arr:active svg{transform:scale(.9)}
.g3-arr[disabled]{opacity:.25;cursor:default}
.g3-dayhead{justify-content:center!important}
@media(max-width:767px){.g3-stripw .g3-strip{margin:0!important;padding-left:2px!important;padding-right:2px!important}}
/* siatka na komputerze: przełącznik i osoby w przyklejonym pasku */
.mv-g3 .g3-stickd .mg-bar{margin:8px 0 6px}


/* okno „Jaki masaż?”: długie nazwy łamią się, cena zawsze widoczna po prawej */
.mv-mpick-o,.mv-mpick-o:hover,.mv-mpick-o:focus{white-space:normal!important;height:auto!important;line-height:1.35!important;gap:10px;box-sizing:border-box;overflow:hidden}
.mv-mpick-o b{flex:1 1 auto;min-width:0;font-weight:600;white-space:normal;overflow-wrap:anywhere;text-align:left}
.mv-mpick-o span{flex:0 0 auto;margin-left:0}
.mv-mpick-in{box-sizing:border-box;overflow-x:hidden}
.mv-mpick-h a{white-space:nowrap}

/* masaż próbny — jednorazowo */
.mv-probline{font-size:13px;line-height:1.55;color:#4A4540;margin:8px 0 6px}
.mv-probline .mv-hl{white-space:normal}


/* „Która godzina?” — rzędy po godzinach */
.mv-mpick-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px}
.mv-mpick-hh{flex:0 0 34px;font-weight:700;color:#0E3D3F;padding-top:7px;text-align:right}
.mv-mpick-row .mv-mpick-h{margin:0;gap:6px}
.mv-mpick-row .mv-mpick-h a{padding:6px 10px;font-size:13px}
.mv-mpick-other{font-size:13px;color:#7A6E5E;margin:10px 0 8px}
.mv-mpick-other .moova-open,.mv-mpick-other .moova-open:hover{background:none!important;border:none!important;color:#2B7A7D!important;text-decoration:underline;font-weight:600;padding:0!important;cursor:pointer;font-size:13px}


/* ===== Siatka: gotowe sloty, „do uzgodnienia” na różowo ===== */
.mg-free{overflow:hidden}
.mg-free em{font-size:11px}
.mg-free small{font-size:9.5px;opacity:.75}
.mg-brk{position:absolute;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,#DDF1F2,#DDF1F2 4px,#CBEAEB 4px,#CBEAEB 8px);pointer-events:none}
.mg-free + .mg-free{margin-top:1px}
.mg-ask,.mg-ask:hover,.mg-ask:focus{background:#FBE3EA!important;color:#8A2846!important;border:1px dashed #E58FA6!important}
.mg-ask em{font-size:10.5px}
.mg-busy{flex-direction:column}
.mg-busy small{font-size:9.5px;color:#5B5550}
.g3-tl i.q{background:#F2A7BC}
.g3-ask,.g3-ask:hover,.g3-ask:focus{background:#FBE3EA!important;color:#8A2846!important;border:1px dashed #E58FA6!important}


.mg-free .mg-brk{border-radius:0 0 6px 6px}
.mv-mpick-tip{font-size:12.5px;color:#2B7A7D;background:#E8F4F5;border-radius:10px;padding:8px 10px;margin:-6px 0 12px}


/* znaczki zajęć z komentarzy Altegio */
.g3-tags{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0}
.mv-ginfo .g3-tags{margin:3px 0}
.g3-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border-radius:6px;padding:1px 6px;line-height:1.5}
.g3-tag-z{background:#FFF3B0;color:#6B4A10}
.g3-tag-w{background:#CDBEDF;color:#3E2C5A}


/* podpowiedź nad slotem — osobne okienko nad stroną (nie obcina go kolumna dnia) */
.mv-tip{position:fixed;z-index:100002;max-width:240px;background:#0E3D3F;color:#fff;font-size:12.5px;line-height:1.45;font-weight:500;
  padding:8px 10px;border-radius:9px;box-shadow:0 6px 18px rgba(0,0,0,.22);pointer-events:none;opacity:0;transition:opacity .12s}
.mv-tip.on{opacity:1}


/* telefon: logo „moova” jak największe — żeby od razu było wiadomo, gdzie jesteś */
@media(max-width:640px){
  .mv-logo{gap:8px}
  .mv-logo-znak{width:46px}
  .mv-logo-napis{height:42px}
  .mv-logo-full{height:54px}
  .mv-nav .mv-wrap{padding-top:8px;padding-bottom:8px}
}
@media(max-width:380px){
  .mv-logo-znak{width:40px}
  .mv-logo-napis{height:36px}
  .mv-logo-full{height:48px}
}


/* telefon: dzień bez wolnych terminów — krótka karta */
.mg-empty{background:#fff;border-radius:14px;padding:16px;text-align:center;margin-bottom:8px}
.mg-empty p{margin:0 0 10px;font-size:14.5px;color:#4A4540}
.mg-jump,.mg-jump:hover,.mg-jump:focus{display:block;width:100%;margin:8px 0 0;background:#E8F4F5!important;color:#0E3D3F!important;border:none!important;
  border-radius:12px;padding:11px 12px!important;font-size:14px;cursor:pointer;font-family:inherit;white-space:normal}
.mg-jump-o,.mg-jump-o:hover{background:#F6F2EA!important;color:#2B2A2C!important}


/* karta wyróżniona — wydarzenia, warsztaty */
.moova-card.moova-card-wyr{border-width:2px!important;box-shadow:0 0 0 3px rgba(155,127,196,.18),0 10px 26px rgba(91,60,140,.22)}
.moova-card.moova-card-wyr .moova-txt{background:linear-gradient(180deg,#fff 0%,#F6F0FC 100%)!important}
.moova-pol.moova-pol-wyr{background:linear-gradient(90deg,#7C5AAA,#B48BD8)!important;color:#fff!important;box-shadow:0 2px 8px rgba(91,60,140,.35)}


/* Siatka „Dowolna”: obie masażystki obok siebie w każdym dniu */
.mg-col-all{background:transparent}
.mg-lanes{position:absolute;inset:0;display:flex;gap:2px}
.mg-lane{position:relative;flex:1 1 0;min-width:0;background:#ECE8E1;border-radius:6px;overflow:hidden}
.mg-lane .mg-free em,.mg-lane .mg-ask em{font-size:10px}
.mg-lane .mg-free small,.mg-lane .mg-ask small{font-size:9px}
.mg-lane .mg-busy em{font-size:9.5px}
.mg-lane .mg-busy small{display:none}
.mg-lane .mg-off{font-size:10px}
.mg-ln{display:flex;gap:2px;margin-top:3px}
.mg-ln i{flex:1;font-style:normal;font-size:10px;color:#7A6E5E;background:#F6F2EA;border-radius:5px;padding:1px 0;text-align:center;white-space:nowrap;overflow:hidden}
.mg-wrap .mg-c{min-width:0}
@media(min-width:768px){.mg-wrap:has(.mg-col-all){grid-template-columns:44px repeat(7,minmax(110px,1fr));overflow-x:auto}}


/* lista masaży: „do uzgodnienia” mieści się w karcie — godzina i podpis w dwóch linijkach */
.g3-asks{min-width:0;max-width:100%}
.g3-ask,.g3-ask:hover,.g3-ask:focus{display:inline-flex!important;flex-direction:column;align-items:flex-start;max-width:100%;box-sizing:border-box;
  white-space:normal!important;text-align:left;line-height:1.25!important;padding:3px 7px!important}
.g3-ask b{font-weight:700;font-size:11px}
.g3-ask span{font-weight:500;font-size:10px;opacity:.85}
.g3-c.g3-mas{overflow:hidden}
.g3-c.g3-mas .g3-m{overflow-wrap:anywhere}


/* lista masaży: godziny przyciskami */
.g3-slots{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 2px}
.g3-slot,.g3-slot:hover,.g3-slot:focus{background:#BDE7E8!important;color:#0E3D3F!important;border:1px solid #6AC3C7!important;border-radius:8px;
  padding:3px 8px!important;font-size:12px;font-weight:700;cursor:pointer;line-height:1.3;font-family:inherit}
.g3-slot:hover{background:#9DDBDD!important}
.mv-ginfo .g3-slots{margin:6px 0 2px}
.mv-ginfo .g3-slot{padding:6px 11px!important;font-size:13.5px}

/* telefon: przełącznik i osoby w przyklejonym pasku */
.mv-g3 .g3-stick .mg-bar{margin:6px 0 4px;gap:6px}
.mv-g3 .g3-stick .mg-who .mv-chip{padding:5px 10px!important;font-size:12.5px}


/* telefon: karta wydarzenia na całą szerokość, pod nią karty parami */
@media(max-width:767px){
  .moova-zajecia .moova-card.moova-card-ev{grid-column:1 / -1}
  .moova-zajecia .moova-card.moova-card-ev .moova-pic img{aspect-ratio:16/9;object-fit:cover}
  .moova-zajecia .moova-card.moova-card-ev .moova-name{font-size:16px}
}

/* „POKAŻ”, „DLA KOGO” i inne podpisy filtrów — wyraźniej na jasnym tle */
.moova-seglab{color:#0E3D3F!important;font-weight:800!important;font-size:12px!important;letter-spacing:1.2px}


/* grafik: wydarzenie / warsztat — fioletowe wyróżnienie jak karta */
.g3-c.g3-ev{background:linear-gradient(180deg,#FBF7FF 0%,#F1E8FA 100%)!important;border:2px solid #9B7FC4!important;box-shadow:0 4px 14px rgba(91,60,140,.18)}
.mv-grow.g3-ev{background:linear-gradient(90deg,#F6F0FC 0%,#fff 100%);border-left:4px solid #9B7FC4;border-radius:10px}
.g3-tag-ev{background:linear-gradient(90deg,#7C5AAA,#B48BD8)!important;color:#fff!important;text-transform:none;letter-spacing:0}

/* lista: „do uzgodnienia” w rzędzie godzin */
.g3-slot.g3-slot-ask,.g3-slot.g3-slot-ask:hover,.g3-slot.g3-slot-ask:focus{background:#FBE3EA!important;color:#8A2846!important;border:1px dashed #E58FA6!important}
.g3-slot-ask small{font-weight:500;font-size:10.5px;opacity:.85}


/* ===== Telefon: pasek działów pod nagłówkiem ===== */
.mv-mnav{display:none}
@media(max-width:767px){
  /* nakładka pod nagłówkiem — nie zmienia wysokości nagłówka, więc strona nie skacze */
  .mv-mnav{display:block;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #F0EBE3;border-bottom:1px solid #EFE7DA;
    box-shadow:0 4px 10px rgba(0,0,0,.05);transition:transform .22s ease,opacity .22s ease;will-change:transform}
  .mv-mnav.mv-mnav-off{transform:translateY(-100%);opacity:0;pointer-events:none}
  .mv-mnav-in{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:7px 14px;-webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}
  /* na końcu paska — bez cienia z prawej; w środku — cień z obu stron */
  .mv-mnav-in.mv-end{-webkit-mask-image:linear-gradient(to right,transparent,#000 12%);mask-image:linear-gradient(to right,transparent,#000 12%)}
  .mv-mnav-in.mv-mid{-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
  .mv-mnav-in::-webkit-scrollbar{display:none}
  .mv-mnav-in a{flex:0 0 auto;font-size:13.5px;font-weight:600;color:#2B2A2C!important;text-decoration:none!important;background:#F6F2EA;
    border-radius:16px;padding:6px 12px;line-height:1.2;white-space:nowrap}
  .mv-mnav-in a.on{background:#0E3D3F;color:#fff!important}
}

/* treść pod paskiem działów na samej górze strony */
@media(max-width:767px){body:has(#mv-mnav) .mv-nav + *{scroll-margin-top:44px}}

/* ceny masaży — filtr nie przykleja się (najwyższy, zabierał pół ekranu) */
@media(max-width:767px){.moova-masaze .moova-seggroup{position:static!important;box-shadow:none!important}}

/* Instagram: ukryte zdjęcia pod „Pokaż więcej” */
.mv-ig-feed .sbi_item.mv-ig-hide{display:none!important}
.mv-ig-btn{gap:10px;flex-wrap:wrap}


/* B. przycisk czatu zawsze po prawej */
.mv-chat{left:auto!important;right:18px!important}
.mv-chat-m{left:auto!important;right:0!important}
@media(max-width:1024px){.mv-chat{right:14px!important}}

/* C. lista: „do uzgodnienia” mieści się w przycisku */
.g3-slot.g3-slot-ask,.g3-slot.g3-slot-ask:hover,.g3-slot.g3-slot-ask:focus{white-space:normal!important;display:inline-flex!important;flex-direction:column;align-items:flex-start;line-height:1.2!important;max-width:100%}
.g3-slot-ask small{display:block;white-space:nowrap}

/* D. przyklejone dni tygodnia — pod nimi nic nie prześwituje (tło także nad nimi i między kolumnami) */
.mv-g3 .g3-dh,.mg-dh{isolation:isolate}
@media(min-width:768px){
  .mv-g3 .g3-dh::before{content:"";position:absolute;left:-6px;right:-6px;top:-16px;bottom:0;background:var(--mv-sec,#6AC3C7);z-index:-1}
}
.mg-dh::before{content:"";position:absolute;left:-3px;right:-3px;top:-12px;bottom:0;background:#fff;z-index:-1}
/* подложка заголовков не выходит за скруглённые углы белой карточки (иначе «ступенька» в углу) */
.mg-wrap{clip-path:inset(0 round 14px)}

/* E. masaż próbny — informacja w oknie godzin */
.mv-mpick-prob{background:#FFF3B0;border-radius:10px;padding:9px 11px;font-size:13px;line-height:1.5;color:#4A3A10;margin:-4px 0 12px}
.mv-mpick-prob a{color:#2B7A7D!important;font-weight:700}

/* telefon: czat po lewej (komputer — po prawej) */
@media(max-width:767px){
  .mv-chat{left:14px!important;right:auto!important;bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
  .mv-chat-m{left:0!important;right:auto!important}
}


/* Instruktorzy: „POKAŻ” — na komputerze w jednej linii z filtrem; na telefonie nad filtrem i bez przyklejania */
.moova-seglab-out{display:none}
@media(min-width:768px){
  .moova-team .moova-segrow{display:flex;align-items:center;gap:12px}
  .moova-team .moova-segrow .moova-seglab{margin:0;white-space:nowrap}
}
@media(max-width:767px){
  .moova-team .moova-seglab-out{display:block;margin:0 0 6px}
  .moova-team .moova-seggroup .moova-seglab{display:none}
}


/* telefon i tablet: postać przy banerze — mała, w dolnym rogu, POD banerem
   (w wolnym miejscu przed następną sekcją); u góry zwykły odstęp */
@media(max-width:1000px){
  .moova-baner{padding-top:16px;padding-bottom:58px}
  .moova-baner-in{position:relative}
  .moova-baner-ill{display:block!important;position:absolute!important;height:84px!important;width:auto!important;max-width:none!important;
    top:auto!important;bottom:-54px;right:10px!important;left:auto!important;z-index:3;pointer-events:none;align-self:auto!important}
  .moova-baner-lewo .moova-baner-ill{left:10px!important;right:auto!important}
}
@media(max-width:640px){.moova-baner{padding-bottom:52px}.moova-baner-ill{height:76px!important;bottom:-50px}}

/* banery — bez cienia (wyglądał brudno) */
.moova-baner-box{box-shadow:none!important}

/* telefon: dzień przesuwany palcem — przeglądarka przewija tylko w pionie, poziomo przesuwamy my */
@media(max-width:767px){.mv-g3 .g3-list,.mv-g3 .mg-wrap.one,.mv-g3 .mg-empty{touch-action:pan-y pinch-zoom;will-change:transform}}

/* telefon: taśma dni — sąsiednie dni poza ekranem nie powodują przewijania w bok */
@media(max-width:767px){.mv-g3{overflow-x:clip}.mv-g3 .g3-ghost{z-index:1;background:inherit}}

/* telefon: żółta plakietka dnia jedzie razem z palcem */
.g3-strip .g3-ind{position:absolute;z-index:3;border-radius:10px;background:#FFD846;mix-blend-mode:multiply;pointer-events:none;will-change:left,width}
.mv-g3 .g3-ghost,.mv-g3 .g3-list{will-change:transform}

.mv-g3 .g3-strip.g3-drag .g3-db.on,.mv-g3 .g3-strip.g3-drag .g3-db.on:hover{background:rgba(255,255,255,.45)!important;border-color:rgba(14,61,63,.2)!important}
.mv-g3 .g3-strip.g3-drag .g3-db.on.has{background:#fff!important;border-color:#fff!important}

/* pasek dni: bez przyciągania do przycisków — przewijamy sami, bez dociągania na końcu */
.mv-g3 .g3-strip{scroll-snap-type:none!important}

/* pasek dni: cień tylko tam, gdzie są dalsze dni — na końcu ostatnia data wyraźna */
@media(max-width:767px){
  .mv-g3 .g3-strip.g3-end{-webkit-mask-image:none!important;mask-image:none!important}
  .mv-g3 .g3-strip.g3-mid{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 88%,transparent 100%)!important;mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 88%,transparent 100%)!important}
  .mv-g3 .g3-strip.g3-endr{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%)!important;mask-image:linear-gradient(to right,transparent 0,#000 7%)!important}
}

/* telefon: pasek działów leży nad treścią — rezerwujemy pod nim miejsce, początek strony jest widoczny */
@media(max-width:767px){body .mv-nav:has(#mv-mnav){margin-bottom:var(--mv-strip,46px)}}

/* telefon: zajęcia bez miejsc — jak na komputerze, przygaszone */
.mv-grow.g3-full{opacity:.55}
.mv-grow.g3-full .mv-gfree{font-weight:700}

/* masaż: termin z krótszą przerwą — zielony jak wolny, z dopiskiem „do potwierdzenia” */
.mg-slot.mv-near,.g3-slot.mv-near,.g3-ask.mv-nearb{background:#DFF3E2!important;border:1.5px dashed #5DB36C!important;color:#1E5B2A!important}
.mg-slot.mv-near small,.g3-slot.mv-near small,.g3-ask.mv-nearb span{color:#2E7A3C!important;font-weight:600}
.mg-slot.mv-near{position:absolute;left:3px;right:3px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:12px;z-index:2}
.mg-slot.mv-near em{font-style:normal;font-weight:800}

.moova-ov-g a.moova-to-graf:not([href]){cursor:pointer;text-decoration:underline}

/* formularz zgłoszenia: czego brakuje — różowe pulsowanie */
.wpcf7-form .mv-miss{animation:mvMiss .8s ease 3;border-radius:10px}
@keyframes mvMiss{0%,100%{box-shadow:0 0 0 0 rgba(229,143,166,0);background:transparent}50%{box-shadow:0 0 0 7px rgba(229,143,166,.5);background:#FFF1F4}}
.wpcf7-form .wpcf7-acceptance.wpcf7-not-valid,.wpcf7-form .wpcf7-not-valid{outline:2px solid #E58FA6;outline-offset:3px;border-radius:6px}
.wpcf7-form .wpcf7-not-valid-tip{color:#8A2846;font-weight:600;font-size:13px;margin-top:4px}
.wpcf7-form .wpcf7-submit[disabled]{opacity:1!important;cursor:pointer!important}

/* telefon: baner z turkusowym dołem — postać u góry, na białym */
@media(max-width:1000px){
  .moova-baner.moova-baner-illtop{padding-top:56px;padding-bottom:16px}
  .moova-baner.moova-baner-illtop .moova-baner-ill{top:-50px!important;bottom:auto!important}
}
@media(max-width:640px){.moova-baner.moova-baner-illtop{padding-top:52px;padding-bottom:14px}.moova-baner.moova-baner-illtop .moova-baner-ill{top:-46px!important}}
/* telefon: otwarte menu — pasek działów chowa się, nie zasłania pierwszej pozycji */
.mv-nav.mv-menu-open .mv-mnav,.mv-nav:has(.mv-menu.on) .mv-mnav{display:none!important}
.mv-menu.on{z-index:5}

/* волны [moova_fala]: высота из переменных на элементе */
.moova-fala svg{height:var(--fh,58px)}
@media(max-width:640px){.moova-fala svg{height:var(--fhm,34px)}}

/* страховка высоты: блоки, где картинка «плавает» внутри, держат высоту распоркой в потоке (как одно фото), даже если пропорцию не учли */
@media(min-width:1001px){.moova-baner-box::before{content:"";display:block;padding-top:37.037%}}
.moova-wyn-pic::before{content:"";display:block;padding-top:56.25%}
