/* Kalkulator pakietow i cennik: wspolny dla strony (cennik-kobieta.php) i panelu (formularz/kalkulator.php). */
  .gender-toggle{display:inline-flex;border:1.5px solid var(--gold-dark);border-radius:10px;overflow:hidden;margin:20px 0 28px;}
  .consultation-option{
    display:flex;align-items:center;gap:12px;background:#EAF1E9;border:1px solid #C9DDC5;
    border-radius:var(--radius);padding:14px 18px;margin-bottom:24px;cursor:pointer;
  }
  .consultation-option input{width:20px;height:20px;flex-shrink:0;accent-color:var(--sage);}
  .consultation-text{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.95rem;color:var(--ink);}
  .consultation-badge{background:var(--sage);color:#fff;font-size:.75rem;padding:2px 10px;border-radius:20px;}
  /* Przelacznik Depilacja laserowa / Endermologia */
  .cat-toggle{display:flex;gap:0;border:1.5px solid var(--plum-dark);border-radius:12px;overflow:hidden;margin:22px 0 4px;max-width:100%;}
  .cat-btn{flex:1 1 0;padding:13px 18px;border:none;background:#fff;color:var(--plum-dark);font-family:'Jost',sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s;text-align:center;line-height:1.25;-webkit-tap-highlight-color:transparent;}
  .cat-btn + .cat-btn{border-left:1.5px solid var(--plum-dark);}
  .cat-btn.active{background:var(--plum-dark);color:#fff;}
  .cat-btn:not(.active):hover{background:#F3EBE7;}
  .cat-btn:focus-visible{outline:3px solid var(--gold-dark);outline-offset:-3px;}
  @media (min-width:600px){.cat-toggle{display:inline-flex;}.cat-btn{flex:0 0 auto;min-width:210px;}}
  .cat-toggle[hidden],.cat-laser[hidden],.cat-ender[hidden],.gender-toggle[hidden],.consultation-option[hidden],.zone-list[hidden]{display:none !important;}
  .combo-lead{margin:10px 0 0;font-size:.92rem;color:var(--plum-dark);}
  .combo-lead strong{color:var(--sage);}
  .calc-left{min-width:0;}
  .cart-line-sub{font-size:.8rem;color:var(--muted);margin-top:3px;}
  #ender-list .zone-row label span{text-wrap:balance;}
  .ender-more{margin:14px 2px 0;font-size:.92rem;}
  .ender-more a{color:var(--plum-dark);}
  .ender-more[hidden]{display:none;}
  .combo-hint{margin-top:16px;padding:14px 16px;background:#F3EBE7;border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.92rem;color:var(--plum-dark);}
  .combo-hint[hidden]{display:none;}
  .combo-hint button{background:#fff;border:1px solid var(--plum-dark);color:var(--plum-dark);border-radius:20px;padding:8px 16px;font-family:'Jost',sans-serif;font-size:.88rem;cursor:pointer;white-space:nowrap;}
  .combo-hint button:hover{background:var(--plum-dark);color:#fff;}
  .discount-badge.combo{background:#F3E8D2;color:#7A5A1E;}
  .discount-badge.total-save{background:#E3EFE1;color:#2F6A2A;font-weight:500;}
  table.price-table .per.save{color:var(--sage);font-weight:500;}
  .ender-more{margin:16px 0 0;font-size:.92rem;}
  .ender-more a{color:var(--plum-dark);font-weight:500;}
  .gender-btn{padding:10px 26px;border:none;background:#fff;color:var(--plum-dark);font-family:'Jost',sans-serif;font-size:.92rem;cursor:pointer;transition:background .15s,color .15s;}
  .gender-btn.active{background:var(--plum-dark);color:#fff;}
  .gender-btn:not(.active):hover{background:#F3EBE7;}
  .calc{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start;}
  @media (max-width:860px){.calc{grid-template-columns:1fr;}.summary-col{position:static;}}
  .zone-list{border:1px solid var(--line);border-radius:var(--radius);background:#fff;}
  .zone-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line);border-left:3px solid transparent;transition:background .15s,border-color .15s;}
  .zone-row:hover{background:#F6F1EC;border-left-color:var(--gold);}
  .zone-row:last-child{border-bottom:none;}
  .zone-row label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:.97rem;}
  .zone-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--plum-dark);}
  .qty-select{
    padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius);
    font-family:'Jost',sans-serif;font-size:.88rem;color:var(--ink);background:#fff;
  }
  .qty-select:disabled{background:#F3EBE7;color:var(--muted);cursor:not-allowed;}
  .zone-price{color:var(--muted);font-size:.9rem;}
  .summary{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
  .summary-col{display:flex;flex-direction:column;gap:20px;position:sticky;top:90px;}
  .summary-col .summary{position:static;}
  .reassure-box{background:#F3EBE7;border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
  .reassure-box h3{margin:0 0 8px;font-size:1.02rem;}
  .reassure-box p{margin:0 0 12px;font-size:.9rem;color:var(--muted);}
  .reassure-box a{color:var(--plum-dark);font-size:.9rem;text-decoration:none;font-weight:500;}
  .reassure-box a:hover{color:var(--plum);}
  .summary h3{font-size:1.1rem;margin-bottom:16px;}
  .cart-line{border-bottom:1px solid var(--line);padding:10px 0;}
  .cart-line:first-child{padding-top:0;}
  .cart-line-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
  .cart-line-name{font-size:.92rem;color:var(--ink);}
  .cart-remove-btn{
    background:none;border:none;color:var(--muted);font-family:'Jost',sans-serif;font-size:.8rem;line-height:1;
    cursor:pointer;padding:6px 8px;border-radius:6px;flex-shrink:0;
    display:inline-flex;align-items:center;gap:5px;
  }
  .cart-remove-btn:hover{background:#FBECEC;color:#B23A3A;}
  .cart-line-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;}
  .cart-qty-select{
    font-family:'Jost',sans-serif;font-size:.85rem;color:var(--muted);
    border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:#fff;
  }
  .cart-line-price{font-size:.92rem;color:var(--plum-dark);font-weight:500;}
  .cart-line-per-unit{font-size:.78rem;color:var(--muted);font-weight:400;}
  .cart-line-save{font-size:.78rem;color:var(--sage);margin-top:4px;}
  /* Rozbicie ceny pod listą pozycji */
  .cart-breakdown{margin-top:14px;padding:10px 12px;background:#FAF6F3;border:1px solid var(--line);border-radius:var(--radius);font-size:.88rem;}
  .cb-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;color:var(--muted);}
  .cb-row span:last-child{white-space:nowrap;color:var(--ink);}
  .cb-row.cb-minus span:last-child{color:var(--sage);}
  .cb-row.cb-total{margin-top:4px;padding-top:7px;border-top:1px solid var(--line);color:var(--ink);font-weight:500;}
  .cb-row.cb-total span:last-child{color:var(--plum-dark);font-weight:600;}
  /* Przycisk w koszyku: dodaj drugą kategorię (depilacja <-> endermologia) */
  .cart-add-cat{display:block;width:100%;box-sizing:border-box;margin-top:14px;padding:12px 16px;background:#fff;border:1.5px solid var(--plum-dark);color:var(--plum-dark);border-radius:var(--radius);font-family:'Jost',sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;text-align:center;line-height:1.3;}
  .cart-add-cat:hover{background:var(--plum-dark);color:#fff;}
  .cart-add-cat-note{display:block;margin:6px 2px 0;font-size:.8rem;color:var(--muted);text-align:center;}
  /* Endermologia: co to jest, urzadzenie, FAQ */
  .ei-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:22px;align-items:start;}
  @media (min-width:860px){.ei-grid{grid-template-columns:1.15fr .85fr;gap:44px;}}
  .ei-lead{font-size:1.02rem;line-height:1.65;color:var(--ink);margin:0 0 14px;}
  .ei-facts{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  @media (max-width:520px){.ei-facts{grid-template-columns:1fr;}}
  .ei-facts li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:.92rem;line-height:1.35;color:var(--ink);}
  .ei-facts b{display:block;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:3px;}
  .ei-device{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;}
  .ei-device img{display:block;width:100%;height:auto;border-radius:10px;background:#F3EBE7;}
  .ei-device h3{font-size:1.15rem;margin:16px 0 8px;}
  .ei-device p{font-size:.92rem;line-height:1.55;color:var(--muted);margin:0 0 8px;}
  .ei-h3{font-size:1.3rem;margin:38px 0 6px;}
  .ei-faq{margin-top:14px;border-top:1px solid var(--line);}
  .ei-faq details{border-bottom:1px solid var(--line);}
  .ei-faq summary{list-style:none;cursor:pointer;padding:16px 36px 16px 2px;position:relative;font-size:1rem;font-weight:500;color:var(--ink);line-height:1.4;}
  .ei-faq summary::-webkit-details-marker{display:none;}
  .ei-faq summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--plum-dark);line-height:1;}
  .ei-faq details[open] summary::after{content:'\2212';}
  .ei-faq summary:focus-visible{outline:2px solid var(--plum-dark);outline-offset:2px;border-radius:4px;}
  .ei-faq details p{margin:0 2px 16px;font-size:.95rem;line-height:1.6;color:var(--muted);}
  .ei-note{margin:22px 0 0;font-size:.82rem;line-height:1.5;color:var(--muted);}
  .ei-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
  .summary-total{display:flex;justify-content:space-between;font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--gold-dark);border-top:1px solid var(--line);margin-top:12px;padding-top:12px;}
  .discount-badge{display:inline-block;background:#EAF1E9;color:var(--sage);font-size:.82rem;padding:3px 10px;border-radius:20px;margin-top:8px;}
  /* Zapytanie o pakiet: klientka zostawia imie i telefon, salon oddzwania */
  .inquiry{margin-top:16px;padding:18px;background:#F3EBE7;border:1px solid var(--line);border-radius:var(--radius);}
  .inquiry[hidden]{display:none;}
  .inquiry-title{font-family:'Playfair Display',serif;font-size:1.05rem;line-height:1.3;color:var(--plum-dark);margin:0 0 4px;}
  .inquiry-sub{font-size:.88rem;line-height:1.45;color:var(--muted);margin:0 0 14px;}
  .inquiry-field{margin:0 0 10px;}
  .inquiry-field label{display:block;font-size:.8rem;color:var(--muted);margin:0 0 4px;}
  .inquiry-field input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line-input);border-radius:var(--radius);background:#fff;font-family:'Jost',sans-serif;font-size:1rem;color:var(--ink);}
  .inquiry-field input.invalid{border-color:#B23A3A;background:#FFF8F8;}
  .inquiry-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
  .inquiry .btn{width:100%;text-align:center;margin-top:4px;}
  .inquiry .btn:disabled{opacity:.7;cursor:default;}
  .inquiry-note{font-size:.78rem;color:var(--muted);margin:10px 0 0;line-height:1.4;}
  .inquiry-msg{font-size:.88rem;margin:10px 0 0;line-height:1.4;}
  .inquiry-msg:empty{display:none;}
  .inquiry-msg.err{color:#B23A3A;}
  .inquiry-done{text-align:center;padding:6px 2px;}
  .inquiry-done[hidden]{display:none;}
  .inquiry-done strong{display:block;font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--plum-dark);margin:0 0 6px;}
  .inquiry-done p{margin:0;font-size:.92rem;line-height:1.5;color:var(--ink);}
  .msb-ask{display:block;margin:14px 0 0;padding:12px 14px;background:#F3EBE7;border:1px solid var(--line);border-radius:var(--radius);font-size:.92rem;color:var(--plum-dark);font-weight:500;text-align:center;text-decoration:none;}
  .msb-ask[hidden]{display:none;}
  .cennik-tabela-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;}
  .cennik-tabela-head h2{margin-bottom:0;}
  @media (max-width:600px){.cennik-tabela-head{align-items:stretch;}.cennik-tabela-head .btn{text-align:center;}}
  table.price-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.93rem;}
  table.price-table th,table.price-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);}
  table.price-table th{color:var(--muted);font-weight:500;}
  table.price-table .per{display:block;margin-top:2px;font-size:.8rem;font-weight:400;color:var(--muted);white-space:nowrap;}
  table.price-table tbody tr{transition:background .15s;}
  table.price-table tbody tr:hover{background:#F6F1EC;}
  table.price-table tbody tr:target{animation:cennik-highlight 2.2s ease;}
  @keyframes cennik-highlight{
    0%{background:#F3EBE7;}
    70%{background:#F3EBE7;}
    100%{background:transparent;}
  }


  /* HIT TYGODNIA - oznaczenie najczesciej wybieranego zabiegu */
  .hit-badge{display:inline-flex;align-items:center;gap:6px;background:var(--plum-dark);color:#fff;font-size:.8rem;font-weight:500;letter-spacing:.02em;line-height:1;padding:5px 11px 5px 9px;border-radius:20px;white-space:nowrap;}
  .hit-badge .hit-star{color:var(--gold);font-size:.8rem;}
  .hit-badge-block{display:flex;width:max-content;max-width:100%;margin-top:7px;}
  .consultation-option.hit{border-left:3px solid var(--gold-dark);}
  .consultation-text .hit-badge{margin-left:2px;}
  .zone-row.hit{background:#FAF4EA;border-left-color:var(--gold-dark);}
  .zone-row input[type=checkbox]{flex-shrink:0;}
  table.price-table tbody tr.hit,table.price-table tbody tr.hit:hover{background:#FAF4EA;}
  table.price-table tbody tr.hit td:first-child{box-shadow:inset 3px 0 0 var(--gold-dark);}
  .zone-row .hit-badge-block{display:block;width:fit-content;max-width:100%;white-space:normal;line-height:1.35;border-radius:14px;padding:5px 11px;text-wrap:balance;}
  @media (max-width:600px){.hit-badge{white-space:normal;line-height:1.3;}.price-table .hit-badge{white-space:nowrap;}}
  @media (max-width:480px){.zone-row.hit > label{flex:1 1 100% !important;}}

  .mobile-summary-bar{display:none;}
  .msb-expand{display:none;}
  @media (max-width:860px){
    .mobile-summary-bar{
      display:flex;align-items:center;justify-content:space-between;gap:14px;
      position:fixed;left:0;right:0;bottom:0;z-index:40;
      background:#fff;border-top:1px solid var(--line);
      padding:12px 18px calc(12px + env(safe-area-inset-bottom));
      box-shadow:0 -8px 20px rgba(36,26,44,.10);
      transform:translateY(100%);transition:transform .25s ease;
    }
    .mobile-summary-bar.show{transform:translateY(0);}
    @keyframes msb-bounce-attention{
      0%,100%{transform:translateY(0);}
      25%{transform:translateY(-8px);}
      50%{transform:translateY(0);}
      65%{transform:translateY(-4px);}
      80%{transform:translateY(0);}
    }
    .mobile-summary-bar.bounce-once{animation:msb-bounce-attention .9s ease 1;}
    .mobile-summary-bar{cursor:pointer;}
    .msb-info{display:flex;flex-direction:column;line-height:1.3;min-width:0;}
    .msb-total{font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--gold-dark);white-space:nowrap;}
    .msb-discount{font-size:.76rem;color:var(--sage);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .msb-cta{padding:12px 22px;font-size:.9rem;white-space:nowrap;flex-shrink:0;}

    /* Rozwijane szczegoly pakietu na telefonie: arkusz od dolu z malym przyciskiem "Zamknij" w rogu.
       Przewija sie tylko lista w srodku - strona pod spodem jest zablokowana i przyciemniona. */
    .msb-expand{
      position:fixed;left:0;right:0;bottom:0;z-index:39;
      display:flex;flex-direction:column;
      background:#fff;border-top:1px solid var(--line);border-radius:14px 14px 0 0;
      box-shadow:0 -8px 24px rgba(36,26,44,.14);
      padding:0 18px;max-height:0;overflow:hidden;visibility:hidden;
      transition:max-height .28s ease,visibility 0s linear .28s;
    }
    .msb-expand.open{max-height:min(80vh,700px);visibility:visible;transition:max-height .28s ease,visibility 0s;}
    .msb-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 8px;}
    .msb-expand h4{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--plum-dark);margin:0;}
    .msb-close{flex:0 0 auto;background:#fff;border:1px solid var(--line);color:var(--plum-dark);border-radius:16px;padding:6px 14px;font-family:'Jost',sans-serif;font-size:.82rem;line-height:1.2;cursor:pointer;}
    .msb-close:active{background:#F3EBE7;}
    .msb-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:92px;}
    .msb-expand .cart-remove-btn{font-size:.82rem;padding:8px 10px;}
    .msb-backdrop{display:none;position:fixed;inset:0;z-index:38;background:rgba(36,26,44,.38);touch-action:none;}
    body.msb-panel-open .msb-backdrop{display:block;}
    body.msb-panel-open{overflow:hidden;overscroll-behavior:none;}
    body.msb-panel-open .call-fab{display:none;}
    body.has-mobile-bar{padding-bottom:78px;}
  }

  /* Zapis pakietu w PDF + znacznik zabiegu widocznego tylko dla personelu (panel) */
  .pdf-save{margin-top:10px;}
  .pdf-save[hidden]{display:none;}
  .pdf-save .pdf-btn{width:100%;text-align:center;box-sizing:border-box;}
  .pdf-save .pdf-btn[hidden]{display:none;}
  .pdf-save .pdf-btn:disabled{opacity:.7;cursor:default;}
  .pdf-note{margin:8px 2px 0;font-size:.78rem;line-height:1.4;color:var(--muted);text-align:center;}
  .pdf-lead{margin:0 0 8px;font-size:.84rem;line-height:1.4;color:var(--muted);text-align:center;}
  .pdf-lead strong{color:var(--plum-dark);font-weight:500;}
  .pdf-lead[hidden]{display:none;}
  .pdf-done{margin-top:2px;padding:16px;background:#F3EBE7;border:1px solid var(--line);border-radius:var(--radius);text-align:center;}
  .pdf-done strong{display:block;font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--plum-dark);}
  .pdf-num{display:block;margin:6px 0 12px;font-size:1.35rem;font-weight:500;letter-spacing:.06em;color:var(--ink);font-variant-numeric:tabular-nums;}
  .pdf-copy{display:inline-block;margin:-6px 0 12px;padding:4px 12px;font:inherit;font-size:.8rem;color:var(--plum-dark);background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer;}
  .pdf-copy:hover{border-color:var(--plum-dark);}
  .pdf-done .pdf-open{display:block;width:100%;box-sizing:border-box;text-align:center;}
  .pdf-dl{display:inline-block;margin:10px 0 0;font-size:.85rem;color:var(--plum-dark);}
  .pdf-done p{margin:10px 0 0;font-size:.82rem;line-height:1.45;color:var(--muted);}
  .pdf-msg{margin:8px 0 0;font-size:.88rem;line-height:1.4;color:var(--ink);}
  .pdf-msg.err{color:#B23A3A;}
  .staff-tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;background:#F3E8D2;color:#7A5A1E;font-size:.7rem;font-weight:500;vertical-align:middle;}

  /* Wybor na starcie cennika: gotowy cennik albo wlasny pakiet */
  .cennik-start{padding:48px 0 0;}
  .cennik-start h1{margin:0 0 8px;}
  .cennik-start-lead{margin:0 0 20px;color:var(--muted);}
  .cennik-start-btns{display:flex;flex-wrap:wrap;gap:12px;}
  .cennik-start-btns .btn{min-width:230px;text-align:center;padding:14px 26px;}
  @media (max-width:600px){.cennik-start{padding-top:32px;}.cennik-start-btns{flex-direction:column;}.cennik-start-btns .btn{min-width:0;width:100%;}}

/* Wąskie telefony: suma musi zmieścić się w jednej linii, więc chowamy podpis "Pokaż szczegóły" (zostaje strzałka) */
@media (max-width:400px){
  #msb-chevron-label{display:none;}
  .msb-cta{padding:12px 16px;}
}

/* Panel "Twój pakiet" na telefonie: kolejność - pozycje, rozbicie ceny, zapis PDF, dopiero potem podpowiedzi i przycisk "dodaj" */
@media (max-width:860px){
  .msb-scroll{display:flex;flex-direction:column;}
  #msb-lines{display:contents;}
  .msb-scroll .cart-line{order:1;}
  .msb-scroll .cart-breakdown{order:2;}
  .msb-scroll .pdf-save{order:3;}
  .msb-scroll .discount-badge{order:4;align-self:flex-start;}
  .msb-scroll .cart-add-cat,.msb-scroll .cart-add-cat-note{order:4;}
  .msb-scroll .msb-ask{order:5;}
  .msb-scroll .cart-line{padding:7px 0;}
  .msb-scroll .cart-line:first-child{padding-top:0;}
  .msb-scroll .cart-line-bottom{margin-top:4px;}
  .msb-scroll .cart-breakdown{margin-top:10px;padding:8px 12px;}
  .msb-scroll .cb-row{padding:2px 0;}
  .msb-scroll .pdf-save{margin-top:10px;}
}
