/* Trzy pakiety i trzy abonamenty; ta wersja jest na razie tylko lokalna. */
#cennik .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#cennik .package-grid,#cennik .subscription-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
#cennik .package-grid .price-card,#cennik .subscription-card{height:100%;align-self:stretch;box-sizing:border-box}
#cennik .package-grid .price-card .button{margin-top:auto}
.pricing-dots{display:none}
.demo-typing{opacity:0;min-height:1.6em}
.demo-typing.is-typing{opacity:1}
.pixel-tagline{min-height:1.6em}
.pixel-tagline .cursor{animation:none!important;opacity:1}
.typing-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero .hero-title em.rotating-word{display:inline-grid;vertical-align:baseline}
.rotating-word .word-space,.rotating-word .word-letters{grid-area:1/1;white-space:nowrap}
.rotating-word .word-space{visibility:hidden}
@media(max-width:768px){.demo-chat-top>img{display:none}.demo-question{min-height:120px}}
#cennik .pricing-intro{grid-column:1/-1;padding-bottom:22px}
#cennik .price-card{display:flex;flex-direction:column;padding:28px 24px;min-width:0}
#cennik .price-heading{display:block;min-height:80px}
#cennik .price-heading h3{font-size:25px;margin:0 0 12px}
#cennik .price-heading>span{font-size:12px}
#cennik .price{font-family:inherit;font-size:clamp(34px,3.6vw,52px);line-height:1.15;flex-wrap:wrap;gap:6px;margin:20px 0 24px;min-height:94px;align-content:start}
#cennik .price small{flex-basis:100%;font-size:14px;margin:6px 0 0}
#cennik .price .currency{font-size:.8em}
#cennik .price-from{font-size:18px;align-self:center}
#cennik .price-card ul{padding:0;margin:0 0 22px}
#cennik .price-card li{font-size:16px;line-height:1.6;padding-left:23px}
#cennik .package-note{font-size:15px;line-height:1.65;margin:0 0 24px;color:var(--muted);flex:1}
#cennik .price-card .button{font-size:15px;padding:16px;justify-content:center}
.subscriptions-heading{grid-column:1/-1;margin-top:30px}
.subscriptions-heading h3{font-size:28px;margin:0 0 8px}
.subscriptions-heading p{color:var(--muted)}
.subscription-card{display:flex;flex-direction:column;padding:28px 24px;border:1px solid var(--line);background:var(--panel);box-shadow:6px 7px 0 #617a9a22}
.subscription-card .price-note{margin-top:auto;padding-top:16px;margin-bottom:0}
.subscription-card h3{font-size:24px;margin:0 0 22px}
.subscription-card p{line-height:1.7;color:var(--muted)}
.subscription-price{font-size:29px;font-weight:700;color:var(--ink)}
.subscription-price small{font-size:15px;font-weight:400}
.setup-price{font-weight:600;color:var(--ink)!important}
.estimate-dialog{width:min(1050px,calc(100% - 32px));max-height:90dvh;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 30px 90px #0008}
.estimate-dialog::backdrop{background:#040917bb;backdrop-filter:blur(5px)}
.estimate-shell{padding:32px}
.estimate-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.estimate-close{font:inherit;font-size:30px;width:44px;height:44px;background:var(--panel);border:1px solid var(--line);color:var(--ink);cursor:pointer}
.estimate-dialog h2{font-size:clamp(28px,5vw,42px);margin:18px 0}
.estimate-dialog p{line-height:1.65}
.estimate-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-top:25px}
.estimate-options fieldset{padding:0;margin:0 0 25px;border:0;min-width:0}
.estimate-options legend{font-size:20px;font-weight:600;margin-bottom:14px}
.estimate-option{display:flex;gap:14px;align-items:flex-start;margin:9px 0;padding:16px;border:1px solid var(--line);background:var(--panel);cursor:pointer}
.estimate-option:has(input:checked){border-color:#6494ff;box-shadow:inset 3px 0 #6494ff}
.estimate-option input{width:20px;height:20px;flex:0 0 20px;margin:4px 0;accent-color:#356afa}
.estimate-option span{font-size:17px;line-height:1.45}
.estimate-option strong,.estimate-option small{display:block;font-size:14px;margin-top:6px}
.estimate-option small{color:var(--muted)}
.estimate-summary{align-self:start;position:sticky;top:0;background:var(--panel);border:1px solid var(--line);padding:24px}
.estimate-summary h3{font-size:24px;margin:0 0 20px}
.estimate-totals{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.estimate-totals p{margin:14px 0}.estimate-totals strong{display:block;font-size:28px;color:var(--blue,#6494ff)}
.estimate-lines{padding-left:20px;font-size:15px;line-height:1.8}
.estimate-lines li{font-size:15px;line-height:1.7;margin:8px 0;padding:0}
.estimate-lines li::before{content:none}
.estimate-close{position:sticky;top:0;z-index:2;flex-shrink:0}
.estimate-summary .price-note,.estimate-credit,.estimate-care-note{font-size:14px;color:var(--muted)}
.estimate-summary .button{width:100%;font-size:15px;justify-content:center}
[data-open-estimate][hidden]{display:none}
@media(max-width:1000px){#cennik .pricing-grid{grid-template-columns:1fr}#cennik .price-heading{min-height:0}#cennik .price{min-height:0}.estimate-layout{grid-template-columns:1fr}.estimate-summary{position:static}}
@media(max-width:768px){.estimate-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0}.estimate-shell{padding:20px 18px 40px}.estimate-top .eyebrow{font-size:11px}#cennik .price-card{padding:26px 22px}#cennik .price{font-size:44px}.estimate-option{min-height:56px}}
/* Na telefonie obie grupy kart mają naturalny swipe i wspólną wysokość. */
@media(max-width:1000px) and (min-width:769px){#cennik .package-grid,#cennik .subscription-grid{gap:14px}#cennik .price-card{padding:22px 16px}#cennik .price-heading{min-height:100px}#cennik .price{min-height:95px;font-size:36px}}
@media(max-width:768px){
  #cennik .pricing-carousel{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:90%;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:6px 8px 18px 2px;margin:-6px -8px -18px -2px;scrollbar-width:none}
  #cennik .pricing-carousel::-webkit-scrollbar{display:none}
  #cennik .pricing-carousel>article{scroll-snap-align:start;min-width:0}
  #cennik .package-grid .price-heading{min-height:90px}
  #cennik .package-grid .price{min-height:90px}
  .pricing-dots{display:flex;grid-column:1/-1;justify-content:center;align-items:center;gap:6px;margin:0}
  .pricing-dots button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent}
  .pricing-dots button::before{content:'';width:7px;height:7px;background:var(--muted);border-radius:50%}
  .pricing-dots button[aria-current=true]::before{width:22px;border-radius:5px;background:var(--blue)}
}

.word-space::before,.word-letters::before{content:attr(data-text)}
.rotating-word .word-letters{position:relative;justify-self:start}
.rotating-word .word-letters::after{content:"";position:absolute;left:100%;bottom:.08em;width:2px;height:.8em;margin-left:3px;background:currentColor;animation:cursor 1.1s steps(1) infinite}

/* Cztery rowne karty; na telefonie pozostaje natywna karuzela. */
@media(min-width:1101px){#cennik .subscription-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:769px) and (max-width:1100px){#cennik .subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#cennik .subscription-card h3{min-height:2.6em;line-height:1.3}
#cennik .setup-includes{padding-left:18px;margin:8px 0 18px;list-style:disc;color:var(--muted);font-size:14px;line-height:1.6}
#cennik .setup-includes li{display:list-item;padding:3px 0}#cennik .setup-includes li:before{content:none}
/* Usługi dodatkowe: jeden rząd na każdym ekranie, naturalne przewijanie w bok. */
#cennik .subscription-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns: minmax(280px,calc((100% - 48px)/3));overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:24px;padding:6px 8px 18px 2px;scroll-padding-inline:2px;min-width:0;scrollbar-width:thin;scrollbar-color:var(--blue) transparent}
#cennik .subscription-grid>article{scroll-snap-align:start;min-width:0}
#cennik .subscription-card>.button{margin-top:auto}
#cennik .subscription-grid+.pricing-dots{display:flex;grid-column:1/-1;justify-content:center;gap:6px}
#cennik .subscription-grid+.pricing-dots button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}
#cennik .subscription-grid+.pricing-dots button::before{content:'';width:7px;height:7px;background:var(--muted);border-radius:50%}
#cennik .subscription-grid+.pricing-dots button[aria-current=true]::before{width:22px;border-radius:5px;background:var(--blue)}
@media(max-width:768px){#cennik .subscription-grid{grid-auto-columns:90%;gap:16px;scrollbar-width:none}}

/* Trzy pełne karty i zewnętrzne strzałki na komputerze. */
.subscription-carousel-shell{grid-column:1/-1;position:relative;min-width:0}
.carousel-arrow{display:none}
@media(min-width:769px){
 #cennik .subscription-carousel-shell{margin-inline:24px}
 #cennik .subscription-grid{grid-auto-columns:calc((100% - 48px)/3);box-sizing:border-box;padding-inline:0;margin-inline:0;scroll-padding-inline:0}
 .carousel-arrow{display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);font-size:24px;cursor:pointer;z-index:3}
 .carousel-arrow.previous{left:-44px}.carousel-arrow.next{right:-44px}
 .carousel-arrow:hover{border-color:var(--blue)}
}

/* Rocky pomaga przewijać ofertę na komputerze. */
#cennik .subscription-carousel-shell{margin-inline:0;overflow:hidden}
.rocky-carousel-guide{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:16px;margin-top:12px}
.rocky-carousel-guide strong,.rocky-carousel-guide small{display:block}
.rocky-carousel-guide small{color:var(--muted);margin-top:5px}
.rocky-guide-content{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.rocky-carousel-guide .rocky-speech{position:relative;display:block;margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:3px 4px 0 #638cff22;max-width:330px;line-height:1.45}
.rocky-speech::before,.rocky-speech::after{content:"";position:absolute;top:50%;right:100%;transform:translateY(-50%);border-style:solid}
.rocky-speech::before{border-width:10px 11px 10px 0;border-color:transparent var(--line) transparent transparent}
.rocky-speech::after{margin-right:-1px;border-width:8px 10px 8px 0;border-color:transparent var(--panel) transparent transparent}
.rocky-directions{display:flex;gap:12px;margin-top:10px}
.rocky-directions button{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);padding:9px 18px;cursor:pointer;border-radius:12px;min-height:44px}
@media(min-width:769px){#cennik .subscription-grid{padding-inline:0;grid-auto-columns:calc((100% - 48px)/3);scroll-padding-inline:0}}
@media(max-width:768px){.rocky-carousel-guide{gap:10px}.rocky-carousel-guide small{font-size:13px}}

/* Oddzielne warstwy dłoni: prawdziwe fragmenty oryginalnego Rocky’ego. */
.rocky-puppet{display:block;flex:0 0 132px;width:132px;height:100px;overflow:visible;image-rendering:pixelated;transition:transform .3s ease}
.rocky-hand{transform-box:view-box;transition:transform .32s cubic-bezier(.2,.8,.3,1)}
.rocky-hand-left{transform-origin:350px 568px}
.rocky-hand-right{transform-origin:690px 575px}
.rocky-carousel-guide[data-direction=left] .rocky-hand-left{transform:translateX(-35px) rotate(58deg);animation:rocky-wave-left .85s .32s ease-in-out infinite alternate}
.rocky-carousel-guide[data-direction=right] .rocky-hand-right{transform:translateX(35px) rotate(-65deg);animation:rocky-wave-right .85s .32s ease-in-out infinite alternate}
.rocky-carousel-guide[data-direction=left] .rocky-puppet{transform:translateX(-5px) rotate(-3deg)}
.rocky-carousel-guide[data-direction=right] .rocky-puppet{transform:translateX(5px) rotate(3deg)}
@keyframes rocky-wave-left{from{transform:translateX(-35px) rotate(58deg)}to{transform:translateX(-55px) rotate(72deg)}}
@keyframes rocky-wave-right{from{transform:translateX(35px) rotate(-65deg)}to{transform:translateX(55px) rotate(-79deg)}}
#cennik .subscription-grid{scroll-behavior:smooth}
.pricing-dots[hidden]{display:none!important}
@media(max-width:768px){.rocky-puppet{flex-basis:105px;width:105px;height:85px}}
@media(prefers-reduced-motion:reduce){html:not([data-user-motion=enabled]) #cennik .subscription-grid{scroll-behavior:auto}html:not([data-user-motion=enabled]) .rocky-puppet,html:not([data-user-motion=enabled]) .rocky-hand{transition:none;animation:none!important}}

/* Kropki zastępują pasek przewijania, również na komputerze. */
#cennik .subscription-grid{scrollbar-width:none}
#cennik .subscription-grid::-webkit-scrollbar{display:none}
.subscription-dots{display:flex;grid-column:1/-1;justify-content:center;align-items:center;gap:6px;margin:0}
.subscription-dots button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}
.subscription-dots button::before{content:'';width:8px;height:8px;background:var(--muted);border-radius:50%;transition:width .2s,background .2s}
.subscription-dots button[aria-current=true]::before{width:24px;border-radius:5px;background:var(--blue)}
.subscription-dots button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}

/* Na telefonie pod ofertą zostają wyłącznie kropki nawigacyjne. */
@media(max-width:768px){.rocky-carousel-guide{display:none}.rocky-carousel-guide .rocky-hand{animation:none!important}}

/* Rocky mówi z dymku ponad postacią; przyciski pozostają pod nim. */
.rocky-carousel-guide{flex-direction:column;gap:9px}
.rocky-guide-content{display:contents}
.rocky-carousel-guide .rocky-speech{order:-1;max-width:320px;text-align:center}
.rocky-carousel-guide .rocky-speech::before,.rocky-carousel-guide .rocky-speech::after{top:100%;right:auto;left:50%;transform:translateX(-50%);margin-right:0}
.rocky-carousel-guide .rocky-speech::before{border-width:11px 10px 0;border-color:var(--line) transparent transparent}
.rocky-carousel-guide .rocky-speech::after{margin-top:-1px;border-width:9px 9px 0;border-color:var(--panel) transparent transparent}
.rocky-puppet{order:0}
.rocky-directions{order:1;margin-top:0}
