@charset "UTF-8";
/* ============================================================
   SAME MASZKETY — wersja 6: pastelowa plastelina
   ------------------------------------------------------------
   Jeden system graficzny: ilustracje i ikony w stylu miękkiej
   plasteliny (Magnific, jedna paleta, jedno światło), zdjęcia
   klienta jako produkty w kartach, kremowe tło, pastelowe sceny,
   jedna ciemna czekoladowa scena (kontakt) i czekoladowa stopka.
   Bez elementów z poprzednich wersji.
   ============================================================ */

@font-face{font-family:'Baloo 2';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/baloo-2-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/baloo-2-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/manrope-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Baloo zapasowy';font-weight:1 600;src:local('Arial'),local('Helvetica'),local('Liberation Sans');size-adjust:93.34%;ascent-override:115.49%;descent-override:56.14%;line-gap-override:0%;}
@font-face{font-family:'Baloo zapasowy';font-weight:601 1000;src:local('Arial Bold'),local('Helvetica Bold'),local('Arial');size-adjust:94.46%;ascent-override:114.12%;descent-override:55.47%;line-gap-override:0%;}
@font-face{font-family:'Manrope zapasowy';font-weight:1 600;src:local('Arial'),local('Helvetica'),local('Liberation Sans');size-adjust:101.3%;ascent-override:105.23%;descent-override:29.61%;line-gap-override:0%;}
@font-face{font-family:'Manrope zapasowy';font-weight:601 1000;src:local('Arial Bold'),local('Helvetica Bold'),local('Arial');size-adjust:102.17%;ascent-override:104.34%;descent-override:29.36%;line-gap-override:0%;}

:root{
  /* Paleta wzięta z wygenerowanego zestawu plasteliny: róż, krem, mięta, masło; czekolada z polew klienta. */
  --krem:#FFF8F1;
  --krem-2:#FFEFE4;
  --roz:#F6B8C6;
  --roz-jasny:#FBD9DF;
  --mieta:#9FCDB5;
  --mieta-jasna:#DCEFE4;
  --maslo:#EFCB6B;
  --maslo-jasne:#F8E6B5;
  --brzoskwinia:#F9D8C4;
  --kakao:#3B2A2E;
  --kakao-ciemne:#2B1E21;
  --malina:#BC1F54;
  --malina-ciemna:#9E0B52;
  --tekst:#3B2A2E;
  --tekst-slaby:#6E5A5F;
  --jasny:#FFF8F1;
  --jasny-slaby:#E9D8D0;

  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem;
  --sekcja-s:clamp(3rem,5vw,4rem);
  --sekcja-m:clamp(4rem,7vw,6rem);
  --sekcja-l:clamp(5rem,9vw,7.5rem);
  --w-content:clamp(18rem,92vw,80rem);
  --px:clamp(1.25rem,4vw,3rem);

  --fs-hero:clamp(2.125rem,1.5rem + 2.2vw,3.25rem);
  --fs-h1:clamp(2rem,1.5rem + 1.9vw,3rem);
  --fs-h2:clamp(1.625rem,1.35rem + 1.2vw,2.375rem);
  --fs-h3:clamp(1.25rem,1.15rem + .5vw,1.5rem);
  --fs-karta:clamp(1.25rem,1.1rem + .55vw,1.5rem);
  --fs-body:clamp(1rem,.985rem + .07vw,1.0625rem);
  --fs-lead:clamp(1rem,.96rem + .18vw,1.0625rem);
  --fs-maly:.9375rem;
  --fs-drobny:.8125rem;

  --lh-display:1.14;
  --lh-srednia:1.45;
  --lh-luzna:1.7;

  --r-s:.5rem;--r-m:.875rem;--r-l:1.125rem;--r-xl:1.5rem;--r-kolo:50%;
  --cien-miekki:0 20px 50px rgba(59,42,46,.10);
  --cien-karta:0 12px 34px rgba(59,42,46,.08);
  --cien-ilu:drop-shadow(0 18px 30px rgba(59,42,46,.18));

  --ease:cubic-bezier(.25,1,.5,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --t-szybko:160ms;--t-zwykle:260ms;--t-wolno:520ms;
  --naglowek-h:84px;
}
@media (min-width:64rem){:root{--naglowek-h:96px;}}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--naglowek-h) + 1rem);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--krem);color:var(--tekst);font-family:'Manrope','Manrope zapasowy',system-ui,sans-serif;font-size:var(--fs-body);line-height:var(--lh-luzna);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
body.sm-menu-otwarte{overflow:hidden;}
img,svg,video,iframe{max-width:100%;display:block;}
img{height:auto;}
[hidden]{display:none !important;}
h1,h2,h3,h4{font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-weight:700;line-height:var(--lh-display);letter-spacing:-.02em;margin:0;text-wrap:balance;}
h2,h3,h4{font-weight:600;}
.sm-hero__naglowek,.sm-glowa__tytul,.sm-haslo__cytat{font-weight:700;}
p{margin:0;text-wrap:pretty;}
ul,ol{margin:0;padding:0;list-style:none;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:3px solid var(--malina);outline-offset:3px;border-radius:.25rem;}
.sm-pomin{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--kakao);color:var(--jasny);padding:var(--s3) var(--s5);}
.sm-pomin:focus{left:0;}
.sm-kontener{width:var(--w-content);margin-inline:auto;padding-inline:var(--px);}
.sm-ikona{flex:0 0 auto;}

/* --- ILUSTRACJE PLASTELINOWE I MIĘKKIE PLAMY TŁA ------------- */
.sm-ilu{filter:var(--cien-ilu);animation:sm-unos var(--czas,7s) ease-in-out infinite;animation-delay:var(--opoznienie,0s);}
@keyframes sm-unos{0%,100%{translate:0 0;}50%{translate:0 -10px;}}
@media (prefers-reduced-motion:reduce){.sm-ilu{animation:none;}}
.sm-plama{position:absolute;z-index:0;border-radius:50%;pointer-events:none;filter:blur(48px);opacity:.9;}
.sm-plama--roz{background:var(--roz-jasny);}
.sm-plama--mieta{background:var(--mieta-jasna);}
.sm-plama--maslo{background:var(--maslo-jasne);}

/* --- PRZYCISKI ---------------------------------------------- */
.sm-przycisk{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:52px;padding:.875rem 1.625rem;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.0625rem;font-weight:700;line-height:1.1;border:2px solid transparent;border-radius:999px;cursor:pointer;text-align:center;transition:background-color var(--t-zwykle) var(--ease),color var(--t-zwykle) var(--ease),border-color var(--t-zwykle) var(--ease),transform var(--t-szybko) var(--ease),box-shadow var(--t-zwykle) var(--ease);}
.sm-przycisk--duzy{min-height:60px;padding:1rem 2rem;font-size:1.1875rem;}
.sm-przycisk--maly{min-height:44px;padding:.5rem 1.125rem;font-size:.9375rem;}
.sm-przycisk--malina{background:var(--malina);color:#fff;border-color:var(--malina);box-shadow:0 12px 26px rgba(188,31,84,.28);}
.sm-przycisk--malina:hover{background:var(--malina-ciemna);border-color:var(--malina-ciemna);transform:translateY(-3px);box-shadow:0 18px 34px rgba(158,11,82,.32);}
/* Na ciemnej scenie sama malina ma wobec tla 2,22:1, wiec przycisk dostaje
   jasna krawedz (krem/kakao 12,8:1, krem/malina 5,8:1). */
.sm-na-ciemnym .sm-przycisk--malina{border-color:var(--jasny);}
.sm-na-ciemnym .sm-przycisk--malina:hover{border-color:var(--jasny);background:var(--malina-ciemna);}
.sm-przycisk--kakao{background:var(--kakao);color:var(--jasny);border-color:var(--kakao);}
.sm-przycisk--kakao:hover{background:var(--malina);border-color:var(--malina);color:#fff;transform:translateY(-3px);}
.sm-przycisk--obrys{background:transparent;color:var(--tekst);border-color:var(--kakao);}
.sm-przycisk--obrys:hover{background:var(--kakao);color:var(--jasny);transform:translateY(-3px);}
.sm-przycisk--obrys-jasny{background:transparent;color:var(--jasny);border-color:rgba(255,248,241,.6);}
.sm-przycisk--obrys-jasny:hover{background:var(--jasny);color:var(--kakao);border-color:var(--jasny);transform:translateY(-3px);}
.sm-przycisk:active{transform:translateY(0);}
.sm-odnosnik{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-weight:700;font-size:1.0625rem;color:var(--malina);transition:color var(--t-zwykle) var(--ease),gap var(--t-zwykle) var(--ease);}
.sm-odnosnik:hover{gap:var(--s3);color:var(--kakao);}
.sm-na-ciemnym .sm-odnosnik{color:var(--roz);}
.sm-na-ciemnym .sm-odnosnik:hover{color:var(--jasny);}

/* --- NAGŁÓWEK STRONY ---------------------------------------- */
.sm-naglowek{position:sticky;top:0;z-index:100;background:rgba(255,248,241,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow var(--t-zwykle) var(--ease);}
.sm-naglowek.sm-przewiniete{box-shadow:0 10px 40px rgba(59,42,46,.08);}
.sm-naglowek__pas{width:var(--w-content);margin-inline:auto;padding-inline:var(--px);min-height:var(--naglowek-h);padding-block:var(--s2);display:flex;align-items:center;gap:var(--s5);}
.sm-logo{flex:0 0 auto;display:block;transition:transform var(--t-zwykle) var(--ease);}
.sm-logo:hover{transform:rotate(-6deg) scale(1.06);}
@media (prefers-reduced-motion:reduce){.sm-logo:hover{transform:none;}}
.sm-logo__obraz{width:64px;height:64px;border-radius:var(--r-kolo);}
@media (min-width:64rem){.sm-logo__obraz{width:80px;height:80px;}}
.sm-nawigacja{display:none;margin-inline:auto;}
@media (min-width:64rem){.sm-nawigacja{display:block;}}
.sm-nawigacja__lista{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem);}
.sm-nawigacja__lista a{display:inline-flex;align-items:center;min-height:44px;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.0625rem;font-weight:700;color:var(--tekst);transition:color var(--t-zwykle) var(--ease);}
.sm-nawigacja__lista a:hover,.sm-nawigacja__lista .current-menu-item > a,.sm-nawigacja__lista .current_page_item > a{color:var(--malina);}
.sm-naglowek__akcje{display:none;align-items:center;gap:var(--s4);margin-left:auto;}
@media (min-width:64rem){.sm-naglowek__akcje{display:flex;}}
.sm-stan{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--fs-drobny);font-weight:700;line-height:1.3;}
.sm-stan__ikona{opacity:.75;}
.sm-stan--naglowek{display:none;color:var(--tekst);}
@media (min-width:80rem){.sm-stan--naglowek{display:inline-flex;}}
.sm-stan--hero{color:var(--tekst);font-size:.9375rem;font-weight:700;}
.sm-stan--mobilne{color:var(--tekst-slaby);margin-top:var(--s3);}
.sm-stan--stopka{color:var(--jasny);}
.sm-stan.sm-stan--otwarte .sm-stan__ikona{color:#1E8A55;opacity:1;}
.sm-stan--stopka.sm-stan--otwarte .sm-stan__ikona{color:var(--mieta);}
.sm-stan.sm-stan--zamkniete .sm-stan__ikona{color:var(--malina);opacity:1;}
.sm-hamburger{margin-left:auto;width:48px;height:48px;padding:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:var(--kakao);border:0;border-radius:var(--r-kolo);cursor:pointer;}
@media (min-width:64rem){.sm-hamburger{display:none;}}
.sm-hamburger__kreska{display:block;width:22px;height:2px;background:var(--jasny);border-radius:2px;transition:transform var(--t-zwykle) var(--ease),opacity var(--t-szybko) var(--ease);}
.sm-hamburger[aria-expanded="true"] .sm-hamburger__kreska:nth-child(1){transform:translateY(7px) rotate(45deg);}
.sm-hamburger[aria-expanded="true"] .sm-hamburger__kreska:nth-child(2){opacity:0;}
.sm-hamburger[aria-expanded="true"] .sm-hamburger__kreska:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.sm-menu-mobilne{position:fixed;inset:0;z-index:200;background:var(--krem);display:flex;flex-direction:column;padding:var(--s5) var(--px) var(--s10);transform:translateX(100%);transition:transform var(--t-wolno) var(--ease-out);overflow-y:auto;}
.sm-menu-mobilne.sm-otwarte{transform:translateX(0);}
@media (prefers-reduced-motion:reduce){.sm-menu-mobilne{transition:none;}}
.sm-menu-mobilne__gora{display:flex;align-items:center;justify-content:space-between;min-height:52px;}
.sm-menu-mobilne__nazwa{font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.25rem;font-weight:800;color:var(--malina);}
.sm-menu-mobilne__zamknij{width:48px;height:48px;display:grid;place-items:center;background:var(--kakao);color:var(--jasny);border:0;border-radius:var(--r-kolo);cursor:pointer;}
.sm-menu-mobilne__lista{margin-top:var(--s8);display:flex;flex-direction:column;}
.sm-menu-mobilne__lista a{display:flex;align-items:center;min-height:64px;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:2rem;font-weight:800;letter-spacing:-.02em;border-bottom:2px solid var(--roz-jasny);transition:color var(--t-zwykle) var(--ease);}
.sm-menu-mobilne__lista a:hover,.sm-menu-mobilne__lista .current-menu-item > a,.sm-menu-mobilne__lista .current_page_item > a{color:var(--malina);}
.sm-menu-mobilne__stopka{margin-top:auto;padding-top:var(--s8);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);}

/* --- SCENY -------------------------------------------------- */
.sm-scena{position:relative;overflow:hidden;padding-block:var(--sekcja-m);}
.sm-scena--krem{background:var(--krem);}
.sm-scena--roz{background:var(--roz);padding-block:var(--sekcja-m) var(--sekcja-l);}
.sm-scena--mieta{background:var(--mieta);}
.sm-scena--maslo{background:var(--maslo);padding-block:var(--sekcja-l);}
.sm-scena--kakao{background:var(--kakao);color:var(--jasny);}
.sm-scena > .sm-kontener{position:relative;z-index:1;}
.sm-nadtytul{display:block;font-family:'Manrope','Manrope zapasowy',system-ui,sans-serif;font-size:var(--fs-drobny);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--malina);margin-bottom:var(--s3);}
.sm-scena--roz .sm-nadtytul,.sm-scena--mieta .sm-nadtytul,.sm-scena--maslo .sm-nadtytul{color:var(--kakao);opacity:.75;}
.sm-scena--roz .sm-odnosnik,.sm-scena--mieta .sm-odnosnik,.sm-scena--maslo .sm-odnosnik{color:var(--kakao);}
.sm-scena--roz .sm-odnosnik:hover,.sm-scena--mieta .sm-odnosnik:hover,.sm-scena--maslo .sm-odnosnik:hover{color:var(--malina-ciemna);}
.sm-scena--kakao .sm-nadtytul{color:var(--roz);}
.sm-tytul{font-size:var(--fs-h2);}
.sm-lead{margin-top:var(--s5);font-size:var(--fs-lead);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
.sm-scena--roz .sm-lead,.sm-scena--mieta .sm-lead,.sm-scena--maslo .sm-lead{color:var(--tekst);}
.sm-scena--kakao .sm-lead{color:var(--jasny-slaby);}
.sm-glowa-sceny{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s10);}

/* --- PIERWSZY EKRAN ----------------------------------------- */
.sm-hero{position:relative;overflow:hidden;background:var(--krem);}
.sm-hero .sm-plama--roz{width:60vw;max-width:56rem;aspect-ratio:1;right:-18vw;top:-20%;}
.sm-hero .sm-plama--mieta{width:34vw;max-width:30rem;aspect-ratio:1;left:-12vw;bottom:-12%;}
.sm-hero .sm-plama--maslo{width:22vw;max-width:20rem;aspect-ratio:1;left:38%;top:-8%;opacity:.7;}
.sm-hero__scena{position:relative;z-index:1;width:var(--w-content);margin-inline:auto;padding:var(--s8) var(--px) var(--s10);display:grid;gap:var(--s8);align-items:center;}
@media (min-width:64rem){.sm-hero__scena{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--s12);}}
.sm-hero__naglowek{font-size:var(--fs-hero);}
/* Ponizej 375 px fraza 'w centrum Katowic' nie miesci sie w kolumnie
   (zmierzone: 292 px przy 262 px) i ostatnie slowo stalo samo w linii. */
@media (max-width:22.5rem){.sm-hero__naglowek{font-size:1.875rem;}}
.sm-hero__naglowek em{font-style:normal;color:var(--malina);}
.sm-hero__lead{margin-top:var(--s5);font-size:var(--fs-lead);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
.sm-hero__akcje{margin-top:var(--s8);display:flex;flex-wrap:wrap;gap:var(--s3);}
.sm-hero__fakty{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s6);margin-top:var(--s6);}
.sm-hero__fakty li{display:inline-flex;align-items:center;gap:var(--s2);font-size:.9375rem;font-weight:700;color:var(--tekst);}
.sm-hero__fakty .sm-ikona{color:var(--malina);flex:0 0 auto;}
.sm-hero__fakty a{display:inline-flex;align-items:center;min-height:44px;transition:color var(--t-zwykle) var(--ease);}
.sm-hero__fakty a:hover{color:var(--malina);}
.sm-hero__ilu{position:relative;min-height:19rem;}
@media (min-width:64rem){.sm-hero__ilu{min-height:28rem;}}
.sm-hero__ilu .sm-ilu{position:absolute;}
.sm-hero__rozek{left:50%;top:50%;width:auto;height:min(24rem,62vh);max-width:100%;translate:-50% -52%;z-index:2;}
@media (min-width:64rem){.sm-hero__rozek{height:min(29rem,60vh);}}
.sm-hero__rozek.sm-ilu{animation-name:sm-unos-srodek;}
@keyframes sm-unos-srodek{0%,100%{translate:-50% -52%;}50%{translate:-50% -55%;}}
.sm-hero__kwiaty{left:-2%;bottom:0;width:clamp(9rem,22vw,17rem);z-index:1;--czas:9s;--opoznienie:-3s;}
.sm-hero__lody{right:0;top:2%;width:clamp(5rem,11vw,8.5rem);z-index:3;--czas:8s;--opoznienie:-5s;}
@media (max-width:63.9375rem){.sm-hero__scena{padding-top:var(--s2);padding-bottom:var(--s8);gap:var(--s4);}.sm-hero__ilu{order:-1;min-height:7.5rem;}.sm-hero__rozek{height:min(7.5rem,17vh);}.sm-hero__kwiaty{width:4.5rem;left:0;}.sm-hero__lody{width:3rem;}.sm-hero__lead{margin-top:var(--s4);}.sm-hero__akcje{margin-top:var(--s5);}.sm-hero__fakty{margin-top:var(--s4);gap:var(--s2) var(--s4);}}

/* Cztery filary: plastelinowe ikonki i dwa wiersze tekstu. */
.sm-filary{position:relative;z-index:1;width:var(--w-content);margin-inline:auto;padding:0 var(--px) var(--s10);display:grid;gap:var(--s5);grid-template-columns:1fr;}
@media (min-width:30rem){.sm-filary{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:64rem){.sm-filary{grid-template-columns:repeat(4,minmax(0,1fr));}}
.sm-filar{display:flex;align-items:flex-start;gap:var(--s4);padding:var(--s4) var(--s5);background:#fff;border-radius:var(--r-l);box-shadow:var(--cien-karta);}
/* Tytul lamie sie po calych slowach, zeby rzad kafli czytal sie rowno. */
.sm-filar__glowne{text-wrap:balance;}
.sm-filar__ikona{width:72px;height:72px;object-fit:contain;flex:0 0 auto;filter:var(--cien-ilu);}
.sm-filar__glowne{font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.0625rem;font-weight:800;line-height:1.15;}
.sm-filar__opis{margin-top:var(--s1);font-size:var(--fs-drobny);line-height:1.35;color:var(--tekst-slaby);}

/* --- KATEGORIE: pastelowe karty z ikoną i produktem klienta --- */
.sm-karty{display:grid;gap:var(--s5);}
@media (min-width:48rem){.sm-karty{grid-template-columns:repeat(2,1fr);}
.sm-karta:last-child:nth-child(odd){grid-column:span 2;}}
@media (min-width:64rem){.sm-karty{grid-template-columns:repeat(3,1fr);gap:var(--s6);}
.sm-karta:last-child:nth-child(odd){grid-column:auto;}
.sm-karta:last-child:nth-child(3n+1){grid-column:span 3;--ilu-h:clamp(8rem,11vw,10rem);padding:var(--s8);min-height:0;justify-content:center;}
.sm-karta:last-child:nth-child(3n+1) .sm-karta__tresc{max-width:34rem;}
.sm-karta:last-child:nth-child(3n+1) .sm-karta__ilu{top:50%;translate:0 -50%;max-height:var(--ilu-h);max-width:26%;}}
.sm-karta{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;padding:calc(var(--ilu-h) + var(--s6)) var(--s8) var(--s8);--ilu-h:clamp(9rem,13vw,11.5rem);border-radius:var(--r-xl);background:#fff;color:var(--tekst);box-shadow:var(--cien-karta);transition:transform var(--t-wolno) var(--ease-out),box-shadow var(--t-wolno) var(--ease-out);}
/* Zdjecie produktu zajmuje to samo miejsce co ilustracja: pas na gorze
   o wysokosci `--ilu-h`, wiec tekst pod spodem nie drgnie. */
.sm-karta__foto{position:absolute;inset:0 0 auto;height:calc(var(--ilu-h) + var(--s6));margin:0;overflow:hidden;}
.sm-karta__foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t-wolno) var(--ease-out);}
.sm-karta:hover .sm-karta__foto img{transform:scale(1.04);}
/* Miekkie przejscie od zdjecia do tla kafla, zeby krawedz nie ciela w pol. */
.sm-karta__foto::after{content:"";position:absolute;inset:auto 0 0;height:3rem;background:linear-gradient(to bottom,transparent,var(--tlo-karty,#fff));}
.sm-karta:hover{transform:translateY(-6px);box-shadow:var(--cien-miekki);}
.sm-karta--krem{background:#fff;--tlo-karty:#fff;}
.sm-karta--mieta{background:var(--mieta-jasna);--tlo-karty:var(--mieta-jasna);}
.sm-karta--maslo{background:var(--maslo-jasne);--tlo-karty:var(--maslo-jasne);}
.sm-karta--brzoskwinia{background:var(--brzoskwinia);--tlo-karty:var(--brzoskwinia);}
/* Ilustracja kategorii: duza, w gornej czesci karty; szerokie (talerz, filizanka) po szerokosci, wysokie po wysokosci. */
.sm-karta__ilu{position:absolute;right:var(--s6);top:var(--s5);z-index:2;width:auto;height:auto;max-height:var(--ilu-h);max-width:52%;filter:var(--cien-ilu);transform:rotate(-3deg);transition:transform var(--t-wolno) var(--ease-out);}
.sm-karta__ilu.sm-clay--szeroka{max-width:66%;}
.sm-karta:hover .sm-karta__ilu{transform:rotate(0deg) translateY(-6px) scale(1.04);}
.sm-karta__tresc{position:relative;z-index:4;}
.sm-karta__nazwa{font-size:var(--fs-karta);}
.sm-karta__opis{margin-top:var(--s2);font-size:var(--fs-maly);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
.sm-karta__link{margin-top:auto;padding-top:var(--s4);}

/* --- CZTERY BILETY: karta, telefon, dojazd, profile ---------
   Ksztalt kuponu: dolna krawedz wyciety w zabki maska radialna,
   nad nia przerywana linia jak miejsce oderwania. */
.sm-skroty{position:relative;overflow:hidden;background:var(--krem);padding-block:var(--sekcja-s) var(--sekcja-m);}
.sm-skroty > .sm-kontener{position:relative;z-index:1;}
.sm-skroty .sm-plama--mieta{width:38vw;max-width:32rem;aspect-ratio:1;left:-10vw;top:-25%;}
.sm-bilety{display:grid;gap:var(--s5);}
@media (min-width:37.5rem){.sm-bilety{grid-template-columns:repeat(2,1fr);}}
@media (min-width:64rem){.sm-bilety{grid-template-columns:repeat(4,1fr);gap:var(--s6);}}
.sm-bilet{position:relative;display:flex;flex-direction:column;padding:var(--s6) var(--s6) var(--s8);background:#fff;border-radius:var(--r-l) var(--r-l) 0 0;box-shadow:var(--cien-karta);transition:transform var(--t-wolno) var(--ease-out),box-shadow var(--t-wolno) var(--ease-out);
  --zab:12px;
  -webkit-mask:radial-gradient(var(--zab) at var(--zab) 100%,#0000 98%,#000) 0 0/calc(2*var(--zab)) 100% repeat-x;
  mask:radial-gradient(var(--zab) at var(--zab) 100%,#0000 98%,#000) 0 0/calc(2*var(--zab)) 100% repeat-x;}
.sm-bilet:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:var(--cien-miekki);}
@media (prefers-reduced-motion:reduce){.sm-bilet:hover{transform:none;}}
.sm-bilet--roz{background:var(--roz-jasny);}
.sm-bilet--mieta{background:var(--mieta-jasna);}
.sm-bilet--maslo{background:var(--maslo-jasne);}
.sm-bilet--brzoskwinia{background:var(--brzoskwinia);}
.sm-bilet__ilu{width:auto;height:clamp(6rem,9vw,7.5rem);align-self:flex-start;margin-bottom:var(--s4);filter:var(--cien-ilu);}
.sm-bilet__tytul{font-size:var(--fs-h3);}
.sm-bilet__opis{margin-top:var(--s2);font-size:var(--fs-maly);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
.sm-bilet__akcja{display:inline-flex;align-items:center;min-height:44px;gap:var(--s2);margin-top:auto;padding-top:var(--s5);font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.0625rem;font-weight:800;color:var(--kakao);transition:color var(--t-zwykle) var(--ease),gap var(--t-zwykle) var(--ease);}
.sm-bilet__akcja:hover{color:var(--malina-ciemna);gap:var(--s3);}
.sm-bilet__akcja .sm-ikona{color:var(--malina);}
.sm-bilet__drugie{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-maly);font-weight:700;color:var(--tekst-slaby);align-self:flex-start;transition:color var(--t-zwykle) var(--ease),border-color var(--t-zwykle) var(--ease);}
.sm-bilet__drugie:hover{color:var(--kakao);}
.sm-bilet__profile{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:auto;padding-top:var(--s5);}
.sm-bilet__profile a{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 .875rem;border:2px solid var(--kakao);border-radius:999px;background:#fff;font-size:var(--fs-maly);font-weight:800;color:var(--kakao);transition:background-color var(--t-zwykle) var(--ease),color var(--t-zwykle) var(--ease),transform var(--t-szybko) var(--ease);}
.sm-bilet__profile a:hover{background:var(--kakao);color:var(--jasny);transform:translateY(-2px);}

/* --- HASŁO ZE ŚCIANY ---------------------------------------- */
.sm-haslo{position:relative;overflow:hidden;background:var(--krem);}
.sm-haslo .sm-plama--roz{width:44vw;max-width:40rem;aspect-ratio:1;right:-10vw;top:-30%;}
.sm-haslo__scena{position:relative;z-index:1;width:var(--w-content);margin-inline:auto;padding:var(--sekcja-m) var(--px);text-align:center;}
.sm-haslo__kwiaty{width:clamp(7rem,11vw,9.5rem);margin:0 auto var(--s5);}
.sm-haslo__cytat{margin:0;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-weight:700;font-size:clamp(1.875rem,1.35rem + 2.4vw,3.25rem);line-height:1.16;letter-spacing:-.02em;color:var(--tekst);text-wrap:balance;}
.sm-haslo__cytat em{font-style:normal;color:var(--malina);}
.sm-haslo__podpis{margin-top:var(--s6);font-size:var(--fs-drobny);letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--tekst-slaby);}

/* --- KARTA W SKRÓCIE ---------------------------------------- */
.sm-karta-skrot__siatka{display:grid;gap:var(--s10);align-items:start;}
@media (min-width:64rem){.sm-karta-skrot__siatka{grid-template-columns:.85fr 1.15fr;gap:var(--s16);}}
.sm-karta-skrot__ilu{width:clamp(6rem,10vw,8.5rem);margin-bottom:var(--s5);}
.sm-karta-skrot__akcje{margin-top:var(--s8);display:flex;flex-wrap:wrap;gap:var(--s3);}
.sm-lista-karty{background:#fff;border-radius:var(--r-xl);padding:clamp(1.5rem,3vw,2.5rem);box-shadow:var(--cien-miekki);display:flex;flex-direction:column;gap:var(--s5);}
.sm-pozycja__gora{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--s3);}
.sm-pozycja__nazwa{flex:0 1 auto;}
.sm-pozycja__kropki{flex:1 1 3rem;}
.sm-pozycja__nazwa{font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.01em;line-height:1.2;}
.sm-pozycja__kropki{min-width:2.5rem;height:1px;margin-bottom:.35em;border-bottom:3px dotted var(--roz);}
/* Ponizej 416 px cena i tak spada do nowego wiersza, wiec kreska laczaca
   prowadzilaby donikad. Zostaje sam odstep. */
@media (max-width:26rem){.sm-pozycja__kropki{display:none;}
  .sm-pozycja__gora{gap:0;}
  .sm-pozycja__cena{margin-top:.15rem;}}
.sm-pozycja__cena{font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.25rem;font-weight:800;color:var(--malina);white-space:nowrap;}
.sm-pozycja__sklad{margin-top:var(--s2);font-size:var(--fs-maly);line-height:var(--lh-srednia);color:var(--tekst-slaby);}

/* --- OPINIE: prośba o opinię w Google, tuż nad stopką -------- */
/* Bez gwiazdek i bez pytania o ocenę: Google zabrania zachęcania do opinii
   pozytywnych i dzielenia gości zależnie od oceny. Prosimy o opinię,
   nie o dobrą opinię. */
.sm-opinie{padding-block:var(--sekcja-s);}
.sm-opinie__wnetrze{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s4);}
.sm-opinie__tytul{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--s3);font-size:var(--fs-h3);}
.sm-opinie__tytul svg{color:var(--malina);flex:none;}
.sm-opinie__tekst{margin:0;color:var(--tekst);}
.sm-opinie__przycisk{background:var(--kakao);color:var(--jasny);}
.sm-opinie__przycisk:hover{background:var(--malina-ciemna);color:var(--jasny);transform:translateY(-2px);}

/* --- OGRÓDEK: pasmo zdjęcia, kremowa karta na nim ----------- */
.sm-ogrodek{position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;background:var(--kakao);}
/* PROPORCJA, NIE WYSOKOSC OKNA. Przy `min-height:72vh` ksztalt pasa
   zalezal od telefonu (0,64 przy oknie 844 px, 0,77 przy 700) i zaden
   kadr nie mogl w niego trafic: z poziomego zdjecia zostawalo
   26 procent obrazu i widac bylo rog stolika zamiast ogrodka. */
.sm-ogrodek{aspect-ratio:3/4;}
@media (min-width:48rem){.sm-ogrodek{aspect-ratio:1440/620;}}
.sm-ogrodek__obraz{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;}
.sm-ogrodek::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,rgba(43,30,33,.35) 0%,rgba(43,30,33,0) 60%);}
.sm-ogrodek__wnetrze{position:relative;z-index:1;width:var(--w-content);margin-inline:auto;padding:var(--sekcja-s) var(--px);}
.sm-ogrodek__karta{position:relative;background:var(--krem);border-radius:var(--r-xl);padding:clamp(1.75rem,3.5vw,3rem);box-shadow:var(--cien-miekki);}
@media (min-width:64rem){.sm-ogrodek__karta{width:min(100%,34rem);margin-left:auto;}}
.sm-ogrodek__karta .sm-odnosnik{margin-top:var(--s5);}
.sm-ogrodek__kwiaty{position:absolute;left:-3.5rem;top:-4.5rem;width:clamp(5.5rem,10vw,7.5rem);z-index:2;--czas:8s;}
@media (max-width:63.9375rem){.sm-ogrodek__kwiaty{left:-1.5rem;top:-3rem;width:5rem;}}

/* --- GALERIA ------------------------------------------------ */
/* Mozaika na kolumnach CSS. Grid z `span` zostawia luki, bo rzedy siatki sa
   wspolne dla wszystkich slupow — kolumny zsuwaja pola ciasno i balansuja
   wysokosc same. Pierwotna dziura brala sie z liczby pol: 17 zdjec przy
   czterech slupach zostawialo ostatni prawie pusty. Dwanascie dzieli sie
   przez 2, 3 i 4, wiec kazdy slup dostaje tyle samo pol. */
.sm-mozaika,.sm-galeria{columns:2;column-gap:var(--s3);}
@media (min-width:48rem){.sm-mozaika,.sm-galeria{columns:3;column-gap:var(--s4);}}
@media (min-width:75rem){.sm-mozaika,.sm-galeria{columns:4;}}
.sm-mozaika__pole,.sm-galeria__pole{break-inside:avoid;margin:0 0 var(--s3);padding:0;border:0;width:100%;border-radius:var(--r-l);overflow:hidden;background:var(--roz-jasny);display:block;box-shadow:var(--cien-karta);}
@media (min-width:48rem){.sm-mozaika__pole,.sm-galeria__pole{margin-bottom:var(--s4);}}
@media (min-width:48rem) and (max-width:74.9375rem){.sm-galeria-skrot .sm-mozaika__pole:nth-child(n+7){display:none;}}
.sm-mozaika__pole img,.sm-galeria__pole img{width:100%;height:auto;display:block;transition:transform var(--t-wolno) var(--ease-out);}
.sm-galeria__pole{cursor:zoom-in;}
.sm-mozaika__pole:hover img,.sm-galeria__pole:hover img{transform:scale(1.05);}

/* --- URODZINY: masło, balony, zdjęcie w kremowej ramce ------- */
.sm-urodziny__siatka{display:grid;gap:var(--s10);align-items:center;}
@media (min-width:56.25rem){.sm-urodziny__siatka{grid-template-columns:.9fr 1.1fr;gap:var(--s16);}
.sm-urodziny__ilu,.sm-urodziny__zdjecie{order:-1;}}
.sm-lista-punktow{margin-top:var(--s6);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);}
.sm-lista-punktow li{display:inline-flex;align-items:center;gap:var(--s2);padding:.5rem 1.125rem;border-radius:999px;background:rgba(255,255,255,.75);font-weight:700;font-size:var(--fs-maly);}
.sm-lista-punktow .sm-ikona{color:var(--malina);}
.sm-urodziny__akcje{margin-top:var(--s8);display:flex;flex-wrap:wrap;gap:var(--s3);}
.sm-urodziny__ilu{position:relative;min-height:clamp(16rem,30vw,24rem);}
.sm-urodziny__tort{position:absolute;left:50%;top:50%;translate:-50% -50%;width:min(100%,26rem);height:auto;animation-name:sm-unos-srodek;}
.sm-urodziny__zdjecie{position:relative;margin:0;padding:.75rem;background:var(--krem);border-radius:var(--r-xl);box-shadow:var(--cien-miekki);transform:rotate(2deg);}
.sm-urodziny__zdjecie img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:calc(var(--r-xl) - .75rem);}

/* --- KONTAKT: czekolada, mapa w kremowej ramce -------------- */
.sm-kontakt__siatka{display:grid;gap:var(--s8);align-items:start;margin-bottom:var(--s10);}
@media (min-width:37.5rem){.sm-kontakt__siatka{grid-template-columns:repeat(2,1fr);gap:var(--s8);}}
@media (min-width:75rem){.sm-kontakt__siatka{grid-template-columns:repeat(3,1fr);gap:var(--s10);}}
.sm-kontakt__kolumna{display:flex;flex-direction:column;}
.sm-kontakt__etykieta{font-family:'Manrope','Manrope zapasowy',system-ui,sans-serif;font-size:var(--fs-drobny);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--roz);margin-bottom:var(--s4);}
.sm-kontakt__pinezka{width:clamp(3.5rem,5vw,4.5rem);margin-bottom:var(--s4);}
.sm-kontakt__adres{margin-top:0;text-wrap:balance;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.5rem;font-weight:700;line-height:1.25;font-style:normal;}
.sm-kontakt__notka{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s4);font-size:var(--fs-maly);color:var(--jasny-slaby);}
.sm-kontakt__notka .sm-ikona{color:var(--roz);}
.sm-kontakt__akcje{margin-top:0;display:flex;flex-wrap:wrap;gap:var(--s3);}
.sm-kontakt__mail{margin-top:var(--s4);}
.sm-kontakt__mail a{display:inline-flex;align-items:center;min-height:44px;font-weight:800;transition:color var(--t-zwykle) var(--ease);}
.sm-kontakt__mail a:hover{color:var(--roz);}
.sm-godziny{margin:0;display:flex;flex-direction:column;gap:.375rem;}
.sm-godziny__wiersz{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);padding-block:.5rem;border-bottom:1px dashed rgba(59,42,46,.22);}
.sm-godziny dt{margin:0;color:var(--tekst-slaby);text-wrap:balance;}
.sm-godziny dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;}
.sm-na-ciemnym .sm-godziny__wiersz{border-bottom-color:rgba(255,248,241,.22);}
.sm-na-ciemnym .sm-godziny dt{color:var(--jasny-slaby);}
.sm-mapa{position:relative;padding:.625rem;background:var(--krem);--tlo-mapy:var(--krem-2);border-radius:var(--r-xl);box-shadow:var(--cien-miekki);min-height:22rem;}
.sm-mapa iframe{display:block;width:100%;height:100%;min-height:24rem;border:0;border-radius:calc(var(--r-xl) - .75rem);background:var(--tlo-mapy);opacity:0;transition:opacity var(--t-wolno) var(--ease);}
.sm-mapa iframe.sm-mapa-gotowa{opacity:1;}
.sm-mapa::before{content:"Ładujemy mapę dojazdu";position:absolute;inset:.625rem;display:grid;place-items:center;border-radius:calc(var(--r-xl) - .75rem);background:var(--krem-2);color:var(--tekst-slaby);font-size:var(--fs-maly);font-weight:700;pointer-events:none;}
.sm-mapa:has(iframe.sm-mapa-gotowa)::before{opacity:0;}
.sm-mapa__zastepnik{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);min-height:26rem;color:var(--malina);font-weight:800;text-align:center;padding:var(--s6);}

/* --- STOPKA: ciemna czekolada ------------------------------- */
.sm-stopka{position:relative;overflow:hidden;border-top:4px solid var(--roz);background:var(--kakao-ciemne);color:var(--jasny);padding-block:var(--sekcja-m) var(--s8);}
.sm-stopka .sm-kontener{position:relative;z-index:1;}
.sm-stopka__siatka{display:grid;gap:var(--s10);}
@media (min-width:48rem){.sm-stopka__siatka{grid-template-columns:repeat(2,1fr);}}
@media (min-width:64rem){.sm-stopka__siatka{grid-template-columns:1.15fr .85fr 1.35fr .65fr;gap:var(--s8);}}
.sm-stopka__logo{width:96px;height:96px;border-radius:var(--r-kolo);background:var(--krem);padding:4px;}
.sm-stopka__opis{margin-top:var(--s5);line-height:var(--lh-srednia);color:var(--jasny-slaby);}
.sm-stopka__tytul{font-family:'Manrope','Manrope zapasowy',system-ui,sans-serif;font-size:var(--fs-drobny);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--roz);margin-bottom:var(--s4);}
.sm-stopka__adres{font-style:normal;line-height:var(--lh-srednia);font-weight:700;}
.sm-stopka__kontakt{margin-top:var(--s4);line-height:var(--lh-srednia);}
.sm-stopka__kontakt a{display:inline-flex;align-items:center;min-height:44px;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-weight:800;font-size:1.125rem;transition:color var(--t-zwykle) var(--ease);}
.sm-stopka__kontakt a:hover{color:var(--roz);}
.sm-stopka__notka{margin-top:var(--s4);font-size:var(--fs-drobny);color:var(--roz);font-weight:700;}
.sm-stopka .sm-godziny{margin-top:0;}
.sm-stopka .sm-godziny__wiersz{border-bottom-color:rgba(255,248,241,.2);}
.sm-stopka .sm-godziny dt{color:var(--jasny-slaby);}
.sm-stopka__lista{display:flex;flex-direction:column;}
.sm-stopka__lista a{display:inline-flex;align-items:center;min-height:44px;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-weight:700;font-size:1.0625rem;transition:color var(--t-zwykle) var(--ease);}
.sm-stopka__lista a:hover{color:var(--roz);}
.sm-social{display:flex;gap:var(--s3);margin-top:var(--s3);}
.sm-stopka__etykieta-social{margin-top:var(--s6);font-family:'Manrope','Manrope zapasowy',system-ui,sans-serif;font-size:var(--fs-drobny);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--roz);}
.sm-social--menu{margin-top:var(--s4);}
.sm-social--menu a{background:var(--roz-jasny);color:var(--kakao);}
.sm-social--menu a:hover{background:var(--kakao);color:var(--jasny);}
.sm-social a{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-kolo);background:var(--roz);color:var(--kakao);transition:background-color var(--t-zwykle) var(--ease),transform var(--t-szybko) var(--ease);}
.sm-social a:hover{background:var(--jasny);transform:translateY(-3px);}
.sm-stopka__dol{margin-top:var(--s10);padding-top:var(--s6);border-top:1px solid rgba(255,248,241,.16);display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);justify-content:space-between;font-size:var(--fs-drobny);color:var(--jasny-slaby);}
.sm-stopka__dol a{display:inline-block;padding-block:.75rem;transition:color var(--t-zwykle) var(--ease);}
.sm-stopka__dol a:hover{color:var(--roz);}
.sm-stopka__nip{margin-left:var(--s3);}

/* --- NAGŁÓWEK PODSTRONY ------------------------------------- */
.sm-glowa{position:relative;isolation:isolate;overflow:hidden;background:var(--krem);}
.sm-glowa .sm-plama--roz{width:46vw;max-width:40rem;aspect-ratio:1;right:-12vw;top:-40%;}
.sm-glowa .sm-plama--mieta{width:26vw;max-width:22rem;aspect-ratio:1;left:-8vw;bottom:-40%;}
/* Zdjecie stoi OBOK tekstu, w swojej proporcji. Pasmo na cala szerokosc
   przycinalo kazde ujecie do fragmentu: zblizenie produktu stawalo sie
   rozmyta plama, a napis ze sciany gubil polowe liter. */
.sm-glowa--ze-zdjeciem{background:var(--krem);color:var(--tekst);}
.sm-glowa__tlo{margin:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--cien-karta);aspect-ratio:16/10;max-height:min(30vh,15rem);}
@media (min-width:64rem){.sm-glowa__tlo{aspect-ratio:4/3;max-height:min(34vh,20rem);}}
.sm-glowa__obraz{width:100%;height:100%;object-fit:cover;display:block;}
.sm-glowa__wnetrze{position:relative;z-index:1;width:var(--w-content);margin-inline:auto;padding:var(--sekcja-s) var(--px);display:grid;gap:var(--s8);align-items:center;}
@media (min-width:64rem){.sm-glowa__wnetrze{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);}}
/* Zdjecie nad tekstem na telefonie, obok tekstu od 64rem. */
.sm-glowa--ze-zdjeciem .sm-glowa__wnetrze{grid-template-columns:1fr;align-items:center;}
.sm-glowa--ze-zdjeciem .sm-glowa__tlo{order:-1;}
@media (max-width:47.9375rem){
  .sm-glowa--ze-zdjeciem .sm-glowa__wnetrze{gap:var(--s5);padding-block:var(--s6);}
  .sm-glowa--ze-zdjeciem .sm-glowa__lead{margin-top:var(--s3);}
}
@media (min-width:64rem){
  .sm-glowa--ze-zdjeciem .sm-glowa__wnetrze{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s12);}
  /* `aspect-ratio` razem z `max-height` zwezaja zdjecie, wiec siatka go nie
     rozciaga i przy niskim oknie zostawala dziura do 194 px przy prawej
     krawedzi tresci. Dosuwamy je do krawedzi. Rozciagac NIE WOLNO:
     `width:100%` przy dzialajacym `max-height` zmienia proporcje pola
     z 1,33 na 2,30 i przegladarka znowu zaczyna docinac kadr. */
  .sm-glowa--ze-zdjeciem .sm-glowa__tlo{justify-self:end;order:0;}
}
.sm-glowa__nadtytul{display:block;font-family:'Manrope','Manrope zapasowy',system-ui,sans-serif;font-size:var(--fs-drobny);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--malina);margin-bottom:var(--s3);}
.sm-glowa--ze-zdjeciem .sm-glowa__nadtytul{color:var(--malina);}
.sm-glowa__tytul{font-size:var(--fs-h1);}
.sm-glowa__lead{margin-top:var(--s4);font-size:var(--fs-lead);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
.sm-glowa--ze-zdjeciem .sm-glowa__lead{color:var(--tekst-slaby);}
.sm-glowa__ilu{justify-self:end;width:clamp(8rem,18vw,15rem);height:clamp(7.5rem,15vw,13.5rem);object-fit:contain;object-position:center;}
@media (max-width:63.9375rem){.sm-glowa__ilu{justify-self:start;width:8rem;height:7rem;order:-1;}}

/* --- KARTA MENU (podstrona) --------------------------------- */
.sm-karta-nawigacja{position:sticky;top:var(--naglowek-h);z-index:80;background:rgba(255,248,241,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--roz-jasny);}
.sm-karta-nawigacja__lista{display:flex;gap:var(--s2);overflow-x:auto;padding-block:var(--s3);scrollbar-width:none;}
.sm-karta-nawigacja__lista::-webkit-scrollbar{display:none;}
.sm-karta-nawigacja__lista a{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border-radius:999px;white-space:nowrap;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1rem;font-weight:700;color:var(--tekst);background:transparent;transition:background-color var(--t-zwykle) var(--ease),color var(--t-zwykle) var(--ease);}
.sm-karta-nawigacja__lista a:hover{background:var(--roz-jasny);color:var(--kakao);}
.sm-karta-nawigacja__lista a.sm-tu-jestes{background:var(--kakao);color:var(--jasny);}
.sm-karta-menu{--pasek-h:64px;}
.sm-menu-sekcja{position:relative;overflow:hidden;padding-block:var(--sekcja-m);scroll-margin-top:calc(var(--naglowek-h) + var(--pasek-h));background:var(--krem);}
.sm-menu-sekcja.sm-menu-sekcja--roz{background:var(--roz);padding-block:var(--sekcja-s) var(--sekcja-l);}
.sm-menu-sekcja__wnetrze{position:relative;z-index:1;}
.sm-menu-sekcja__glowa{margin-bottom:var(--s10);display:flex;align-items:center;gap:var(--s5);}
@media (max-width:47.9375rem){.sm-menu-sekcja{padding-block:var(--s8);}.sm-menu-sekcja.sm-menu-sekcja--roz{padding-block:var(--s8) var(--s10);}.sm-menu-sekcja__glowa{margin-bottom:var(--s6);gap:var(--s2);}.sm-menu-sekcja__ikona{width:3.5rem;}.sm-menu-grupa + .sm-menu-grupa{margin-top:var(--s8);}}
@media (max-width:47.9375rem){.sm-menu-sekcja__glowa{flex-direction:column;align-items:flex-start;gap:var(--s3);}}
.sm-menu-sekcja__ikona{width:clamp(4rem,7vw,5.5rem);height:auto;flex:0 0 auto;filter:drop-shadow(0 10px 16px rgba(59,42,46,.16));}
.sm-menu-sekcja__nazwa{font-size:var(--fs-h2);}
.sm-menu-sekcja__notka{margin-top:.3em;font-size:var(--fs-maly);font-weight:700;color:var(--tekst-slaby);}
.sm-menu-sekcja--roz .sm-menu-sekcja__notka{color:var(--tekst);}
.sm-menu-grupa + .sm-menu-grupa{margin-top:var(--s12);}
.sm-menu-grupa__nazwa{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s3);margin-bottom:var(--s6);padding-bottom:var(--s2);border-bottom:3px solid var(--kakao);font-size:1.375rem;letter-spacing:-.01em;}
.sm-menu-grupa__cena{margin-left:auto;color:var(--malina);}
.sm-menu-sekcja--roz .sm-menu-grupa__cena,.sm-menu-sekcja--roz .sm-pozycja__cena{color:var(--kakao);}
.sm-menu-pozycje{display:block;}
.sm-menu-pozycje .sm-pozycja{break-inside:avoid;margin-bottom:var(--s6);}
@media (min-width:48rem){.sm-menu-pozycje{columns:2;column-gap:var(--s16);}}
.sm-menu-sekcja--roz .sm-pozycja__sklad{color:var(--tekst);}
.sm-menu-sekcja--roz .sm-pozycja__kropki{border-bottom-color:rgba(59,42,46,.35);}
.sm-menu-smaki{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--s3);font-size:var(--fs-lead);}
.sm-menu-smaki li{display:inline-flex;align-items:baseline;gap:var(--s3);font-weight:700;}
.sm-menu-smaki li + li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--malina);transform:translateY(-.2em);}
.sm-menu-stopka{padding-block:var(--sekcja-m);text-align:center;background:var(--kakao);color:var(--jasny);}
.sm-menu-stopka__ilu{width:clamp(4.5rem,7vw,6rem);margin:0 auto var(--s5);}
.sm-menu-stopka__tytul{font-size:var(--fs-h2);}
.sm-menu-stopka__cytat{margin-top:var(--s4);font-size:var(--fs-lead);line-height:var(--lh-srednia);color:var(--jasny-slaby);}
.sm-menu-stopka__zaproszenie{margin-top:var(--s8);font-family:'Manrope','Manrope zapasowy',system-ui,sans-serif;font-size:var(--fs-drobny);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--roz);}
.sm-menu-stopka__profile{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2);margin-top:var(--s4);}
.sm-menu-stopka__profile a{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 1rem;border-radius:999px;background:var(--roz);color:var(--kakao);font-size:var(--fs-maly);font-weight:800;transition:background-color var(--t-zwykle) var(--ease),transform var(--t-szybko) var(--ease);}
.sm-menu-stopka__profile a:hover{background:var(--jasny);transform:translateY(-2px);}
.sm-menu-stopka__tekst{margin-top:var(--s8);}
.sm-menu-stopka__tekst{font-size:var(--fs-maly);color:var(--jasny-slaby);margin-bottom:var(--s4);}

/* --- SEKCJE PODSTRON ---------------------------------------- */
.sm-sekcja{position:relative;padding-block:var(--sekcja-m);}
:where(.sm-sekcja){background:var(--krem);}
.sm-sekcja--roz{background:var(--roz);}
.sm-sekcja__glowa{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s10);}
.sm-sekcja__nadtytul{display:block;font-family:'Manrope','Manrope zapasowy',system-ui,sans-serif;font-size:var(--fs-drobny);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--malina);margin-bottom:var(--s3);}
.sm-sekcja--roz .sm-sekcja__nadtytul{color:var(--kakao);opacity:.75;}
.sm-sekcja__naglowek{font-size:var(--fs-h2);}
.sm-sekcja > .sm-kontener > .sm-sekcja__naglowek{margin-bottom:var(--s10);}
.sm-onas__siatka{display:grid;gap:var(--s10);align-items:start;}
@media (min-width:56.25rem){.sm-onas__siatka{grid-template-columns:1.2fr .8fr;gap:var(--s16);}}
.sm-onas__zdjecie{position:relative;margin:0;padding:.75rem;background:#fff;border-radius:var(--r-xl);box-shadow:var(--cien-miekki);transform:rotate(-2deg);}
.sm-onas__zdjecie img{width:100%;aspect-ratio:760/950;object-fit:cover;border-radius:calc(var(--r-xl) - .75rem);}
.sm-proza{font-size:var(--fs-lead);line-height:var(--lh-luzna);}
.sm-proza > * + *{margin-top:var(--s5);}
.sm-proza h2{font-size:var(--fs-h2);margin-top:var(--s10);}
.sm-proza h3{font-size:var(--fs-h3);margin-top:var(--s8);}
.sm-proza ul{display:flex;flex-direction:column;gap:var(--s2);}
.sm-proza ul li{position:relative;padding-left:var(--s6);}
.sm-proza ul li::before{content:"";position:absolute;left:0;top:.62em;width:.5rem;height:.5rem;border-radius:var(--r-kolo);background:var(--malina);}
.sm-proza dl{display:flex;flex-direction:column;gap:var(--s1);}
.sm-proza dl dt{font-weight:800;}
.sm-proza dl dd{margin:0;}
.sm-proza dl dd + dt{margin-top:var(--s4);}
.sm-proza ol{counter-reset:sm;display:flex;flex-direction:column;gap:var(--s2);}
.sm-proza ol li{counter-increment:sm;position:relative;padding-left:var(--s8);}
.sm-proza ol li::before{content:counter(sm) ".";position:absolute;left:0;font-weight:800;color:var(--malina);}
.sm-proza a{color:var(--malina);border-bottom:2px solid currentColor;display:inline-block;padding-block:.5rem;margin-block:-.5rem;}
.sm-proza a:hover{color:var(--kakao);border-bottom-color:transparent;}
.sm-proza--dokument{font-size:var(--fs-body);}
.sm-proza--dokument h2{font-size:var(--fs-h3);}
.sm-dokument{display:grid;gap:var(--s10);align-items:start;}
@media (min-width:64rem){.sm-dokument{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--s16);}}
.sm-dokument__karta{position:sticky;top:calc(var(--naglowek-h) + 1rem);background:var(--roz-jasny);border-radius:var(--r-xl);padding:var(--s8);}
.sm-dokument__tytul{font-size:var(--fs-drobny);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-family:'Manrope','Manrope zapasowy',system-ui,sans-serif;color:var(--malina);margin-bottom:var(--s4);}
.sm-dokument__karta dl{display:grid;gap:var(--s3);margin:0;}
.sm-dokument__karta dt{font-size:var(--fs-drobny);letter-spacing:.08em;text-transform:uppercase;color:var(--tekst-slaby);}
.sm-dokument__karta dd{margin:0;font-weight:700;line-height:var(--lh-srednia);}
.sm-dokument__karta a{display:inline-flex;align-items:center;min-height:44px;transition:color var(--t-zwykle) var(--ease);}
.sm-dokument__karta a:hover{color:var(--malina);}
.sm-cytat{margin:var(--s10) 0 0;padding:var(--s6) var(--s8);background:var(--roz-jasny);border-radius:var(--r-l);font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-weight:700;font-size:var(--fs-h3);line-height:1.3;color:var(--kakao);}
.sm-numerowane{display:grid;gap:var(--s6);}
@media (min-width:48rem){.sm-numerowane{grid-template-columns:repeat(2,1fr);}}
.sm-numerowane__pozycja{display:flex;gap:var(--s5);align-items:center;padding:var(--s6);background:#fff;border-radius:var(--r-l);box-shadow:var(--cien-karta);}
.sm-numerowane__ikona{width:72px;height:72px;object-fit:contain;flex:0 0 auto;filter:var(--cien-ilu);}
.sm-numerowane__kontur{color:var(--malina);}
/* Sekcja krokow ma znak wodny w tle, wiec musi go przycinac. */
.sm-kroki-sekcja{position:relative;overflow:hidden;}
.sm-kroki-sekcja>.sm-kontener{position:relative;z-index:1;}
.sm-kroki-sekcja .sm-znak-wodny{color:var(--malina);}
.sm-numerowane__tytul{font-size:var(--fs-h3);}
.sm-numerowane__opis{margin-top:var(--s2);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
.sm-kroki{display:grid;gap:var(--s6);}
@media (min-width:48rem){.sm-kroki{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));}}
.sm-kroki__krok{position:relative;background:var(--roz-jasny);border-radius:var(--r-xl);padding:var(--s8) var(--s6) var(--s6);box-shadow:var(--cien-karta);}
.sm-kroki__krok:nth-child(2){background:var(--mieta-jasna);}
.sm-kroki__krok:nth-child(3){background:var(--maslo-jasne);}
.sm-kroki__krok:nth-child(4){background:var(--brzoskwinia);}
.sm-kroki__numer{display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:var(--s4);border-radius:var(--r-kolo);background:var(--malina);color:#fff;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.375rem;font-weight:800;}
.sm-kroki__tytul{font-size:var(--fs-h3);}
.sm-kroki__opis{margin-top:var(--s2);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
/* Vouchery: ilustracja i kroki jako lista pionowa. Kafle `.sm-kroki` zostaja
   przy Rezerwacjach — dwie sasiednie zakladki nie moga wygladac jak kalka. */
.sm-voucher-jak__siatka{display:grid;gap:var(--s8);align-items:center;}
@media (min-width:56rem){.sm-voucher-jak__siatka{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s12);}}
.sm-voucher-jak__obraz{display:grid;place-items:center;}
.sm-voucher-jak__obraz .sm-ilu{width:min(100%,21rem);height:auto;filter:var(--cien-ilu);}
.sm-kroki-lista{display:grid;gap:var(--s6);margin-top:var(--s8);}
.sm-kroki-lista__krok{display:flex;gap:var(--s5);align-items:flex-start;}
.sm-kroki-lista__numer{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:0 0 auto;border-radius:var(--r-kolo);background:var(--malina);color:#fff;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1.25rem;font-weight:800;}
.sm-kroki-lista__tytul{font-size:var(--fs-h3);}
.sm-kroki-lista__opis{margin-top:var(--s2);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
/* Na ciemnym tle opis musi miec wlasna barwe: `--tekst-slaby` dawal 3,83:1. */
.sm-scena--kakao .sm-kroki-lista__opis{color:var(--jasny-slaby);}
.sm-scena--kakao .sm-kroki-lista__tytul{color:var(--jasny);}
/* Naglowek sekcji skrotow nie ma sasiada po prawej, wiec `space-between`
   zwezal go do 365 px i lamal tytul przy 819 px pustki obok. */
.sm-skroty .sm-glowa-sceny .sm-tytul{flex:1 1 100%;}
.sm-dojazd__lista{display:grid;gap:var(--s6);}
@media (min-width:48rem){.sm-dojazd__lista{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));}}
.sm-dojazd__pozycja{display:flex;gap:var(--s4);padding:var(--s6);background:var(--mieta-jasna);border-radius:var(--r-l);box-shadow:var(--cien-karta);}
.sm-dojazd__pozycja:nth-child(2){background:var(--roz-jasny);}
.sm-dojazd__pozycja:nth-child(3){background:var(--maslo-jasne);}
.sm-dojazd__numer{flex:0 0 auto;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--r-kolo);background:var(--malina);color:#fff;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-weight:800;font-size:1.0625rem;}
.sm-dojazd__tytul{font-size:var(--fs-h3);}
.sm-dojazd__opis{margin-top:var(--s2);line-height:var(--lh-srednia);color:var(--tekst-slaby);}

/* --- FORMULARZE: mięta, biała karta ------------------------- */
.sm-formularz-sekcja{background:var(--mieta);}
.sm-formularz-sekcja__siatka{display:grid;gap:var(--s10);align-items:start;}
@media (min-width:56.25rem){.sm-formularz-sekcja__siatka{grid-template-columns:.8fr 1.2fr;gap:var(--s16);}}
.sm-formularz-sekcja__obok{position:relative;}
.sm-formularz-sekcja__ilu{width:clamp(5rem,9vw,7rem);margin-bottom:var(--s4);}
.sm-formularz-sekcja__telefon{margin-top:var(--s4);margin-bottom:var(--s4);color:var(--tekst);}
.sm-formularz-sekcja__telefon a{display:inline-flex;align-items:center;min-height:44px;font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-weight:800;font-size:1.25rem;color:var(--malina);transition:color var(--t-zwykle) var(--ease);}
.sm-formularz-sekcja__telefon a:hover{color:var(--kakao);}
.sm-formularz-sekcja .sm-godziny__wiersz{border-bottom-color:rgba(59,42,46,.25);}
.sm-formularz-sekcja .sm-godziny dt{color:var(--tekst);}
.sm-uwaga{display:flex;gap:var(--s3);margin-top:var(--s5);padding:var(--s5);background:rgba(255,255,255,.7);border-radius:var(--r-m);line-height:var(--lh-srednia);}
.sm-uwaga .sm-ikona{flex:0 0 auto;margin-top:.15em;color:var(--malina);}
.sm-uwaga a{display:inline-flex;align-items:center;min-height:44px;padding-block:.625rem;margin-block:-.625rem;color:var(--malina);font-weight:800;}
.sm-uwaga a:hover{color:var(--kakao);}

/* --- Kontury z drukowanej karty klienta ------------------------------- */
/* Rysunek wchodzi jako maska: dziedziczy barwe po `currentColor` i dziala
   tak samo na kremie, miecie i kakao. Ponizej ~70 px kreska z druku znika,
   wiec helper podaje wtedy wariant pogrubiony przez dylatacje. */
.sm-kontur{display:inline-block;height:var(--bok,64px);width:auto;aspect-ratio:var(--prop,1);flex:0 0 auto;background:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;}
.sm-kontur--gofr{--prop:.438;-webkit-mask-image:url(../img/kontur-gofr-gruby.png);mask-image:url(../img/kontur-gofr-gruby.png);}
.sm-kontur--lody{--prop:.636;-webkit-mask-image:url(../img/kontur-lody-gruby.png);mask-image:url(../img/kontur-lody-gruby.png);}
.sm-kontur--szejk{--prop:.595;-webkit-mask-image:url(../img/kontur-szejk-gruby.png);mask-image:url(../img/kontur-szejk-gruby.png);}
.sm-kontur--smoothie{--prop:.580;-webkit-mask-image:url(../img/kontur-smoothie-gruby.png);mask-image:url(../img/kontur-smoothie-gruby.png);}
.sm-kontur--kawa{--prop:.881;-webkit-mask-image:url(../img/kontur-kawa-gruby.png);mask-image:url(../img/kontur-kawa-gruby.png);}
.sm-kontur--truskawka{--prop:.638;-webkit-mask-image:url(../img/kontur-truskawka-gruby.png);mask-image:url(../img/kontur-truskawka-gruby.png);}
.sm-kontur--sniadanie{--prop:1.463;-webkit-mask-image:url(../img/kontur-sniadanie-gruby.png);mask-image:url(../img/kontur-sniadanie-gruby.png);}
.sm-kontur--rozek-duzy{--prop:.300;-webkit-mask-image:url(../img/kontur-rozek-duzy-gruby.png);mask-image:url(../img/kontur-rozek-duzy-gruby.png);}
.sm-kontur--miska{--prop:.457;-webkit-mask-image:url(../img/kontur-miska-gruby.png);mask-image:url(../img/kontur-miska-gruby.png);}
.sm-kontur--cienki.sm-kontur--gofr{-webkit-mask-image:url(../img/kontur-gofr.png);mask-image:url(../img/kontur-gofr.png);}
.sm-kontur--cienki.sm-kontur--lody{-webkit-mask-image:url(../img/kontur-lody.png);mask-image:url(../img/kontur-lody.png);}
.sm-kontur--cienki.sm-kontur--szejk{-webkit-mask-image:url(../img/kontur-szejk.png);mask-image:url(../img/kontur-szejk.png);}
.sm-kontur--cienki.sm-kontur--smoothie{-webkit-mask-image:url(../img/kontur-smoothie.png);mask-image:url(../img/kontur-smoothie.png);}
.sm-kontur--cienki.sm-kontur--kawa{-webkit-mask-image:url(../img/kontur-kawa.png);mask-image:url(../img/kontur-kawa.png);}
.sm-kontur--cienki.sm-kontur--truskawka{-webkit-mask-image:url(../img/kontur-truskawka.png);mask-image:url(../img/kontur-truskawka.png);}
.sm-kontur--cienki.sm-kontur--sniadanie{-webkit-mask-image:url(../img/kontur-sniadanie.png);mask-image:url(../img/kontur-sniadanie.png);}
.sm-kontur--cienki.sm-kontur--rozek-duzy{-webkit-mask-image:url(../img/kontur-rozek-duzy.png);mask-image:url(../img/kontur-rozek-duzy.png);}
.sm-kontur--cienki.sm-kontur--miska{-webkit-mask-image:url(../img/kontur-miska.png);mask-image:url(../img/kontur-miska.png);}
/* Znak wodny w tle sekcji, tak jak duze rysunki w drukowanej karcie. */
.sm-znak-wodny{position:absolute;z-index:0;pointer-events:none;background:currentColor;opacity:.1;
  width:clamp(8rem,18vw,14rem);inset-block-start:var(--sekcja-m);inset-inline-end:clamp(1rem,4vw,3rem);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;}
.sm-znak-wodny--gofr{aspect-ratio:.438;-webkit-mask-image:url(../img/kontur-gofr.png);mask-image:url(../img/kontur-gofr.png);}
.sm-znak-wodny--lody{aspect-ratio:.636;-webkit-mask-image:url(../img/kontur-lody.png);mask-image:url(../img/kontur-lody.png);}
.sm-znak-wodny--szejk{aspect-ratio:.595;-webkit-mask-image:url(../img/kontur-szejk.png);mask-image:url(../img/kontur-szejk.png);}
.sm-znak-wodny--smoothie{aspect-ratio:.580;-webkit-mask-image:url(../img/kontur-smoothie.png);mask-image:url(../img/kontur-smoothie.png);}
.sm-znak-wodny--kawa{aspect-ratio:.881;-webkit-mask-image:url(../img/kontur-kawa.png);mask-image:url(../img/kontur-kawa.png);}
.sm-znak-wodny--truskawka{aspect-ratio:.638;-webkit-mask-image:url(../img/kontur-truskawka.png);mask-image:url(../img/kontur-truskawka.png);}
.sm-znak-wodny--sniadanie{aspect-ratio:1.463;-webkit-mask-image:url(../img/kontur-sniadanie.png);mask-image:url(../img/kontur-sniadanie.png);}
.sm-znak-wodny--rozek-duzy{aspect-ratio:.300;-webkit-mask-image:url(../img/kontur-rozek-duzy.png);mask-image:url(../img/kontur-rozek-duzy.png);}
.sm-znak-wodny--miska{aspect-ratio:.457;-webkit-mask-image:url(../img/kontur-miska.png);mask-image:url(../img/kontur-miska.png);}
@media (max-width:47.9375rem){.sm-znak-wodny{display:none;}}

.sm-formularz{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:var(--s5);background:#fff;border-radius:var(--r-xl);padding:var(--s8) var(--s6);box-shadow:var(--cien-miekki);}
@media (min-width:37.5rem){.sm-formularz{padding:var(--s10);}}
.sm-formularz__wiersz{display:grid;gap:var(--s5);}
@media (min-width:37.5rem){.sm-formularz__wiersz{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));}}

.sm-pole{display:flex;flex-direction:column;gap:var(--s2);margin:0;}
.sm-pole label{font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-size:1rem;font-weight:700;color:var(--tekst);}
.sm-pole label span[aria-hidden]{color:var(--malina);}
.sm-pole input,.sm-pole textarea{width:100%;min-height:54px;padding:.8125rem 1rem;font-family:inherit;font-size:1.0625rem;line-height:var(--lh-srednia);color:var(--tekst);background:var(--krem);border:2px solid #A08A90;border-radius:var(--r-m);transition:border-color var(--t-zwykle) var(--ease),background-color var(--t-zwykle) var(--ease);}
.sm-pole textarea{min-height:7.5rem;resize:vertical;}
.sm-pole input:hover,.sm-pole textarea:hover{border-color:var(--malina);}
.sm-pole input:focus,.sm-pole textarea:focus{border-color:var(--malina);background:#fff;outline:none;box-shadow:0 0 0 4px rgba(188,31,84,.16);}
.sm-pole input[aria-invalid="true"],.sm-pole textarea[aria-invalid="true"]{border-color:var(--malina);background:#FFF0F5;}
/* Termin: na telefonie data na calej szerokosci, pod nia godzina i liczba osob
   po polowie. `--waskie` bez zapytania o szerokosc robilo z pola liczby osob
   polowiczny pasek w jednokolumnowym ukladzie. */
.sm-formularz__wiersz--termin{grid-template-columns:repeat(2,minmax(0,1fr));}
.sm-formularz__wiersz--termin>.sm-pole:first-child{grid-column:1/-1;}
@media (min-width:37.5rem){
  .sm-formularz__wiersz--termin{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr);}
  .sm-formularz__wiersz--termin>.sm-pole:first-child{grid-column:auto;}
}
.sm-pole--zgoda{flex-direction:row;align-items:flex-start;gap:var(--s2);}
.sm-pole--zgoda input{width:1.75rem;height:1.75rem;min-height:0;flex:0 0 auto;margin:.4rem .25rem;accent-color:var(--malina);padding:0;}
.sm-pole--zgoda label{font-family:inherit;font-size:var(--fs-maly);font-weight:500;color:var(--tekst-slaby);line-height:var(--lh-srednia);padding-block:.625rem;cursor:pointer;}
.sm-pulapka{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.sm-formularz > button{align-self:flex-start;}
.sm-formularz__odpowiedz{margin-top:0;font-weight:800;line-height:var(--lh-srednia);}
.sm-formularz__odpowiedz:empty{display:none;}
.sm-formularz__odpowiedz.sm-ok{color:#1E8A55;}
.sm-formularz__odpowiedz.sm-blad{color:var(--malina);}

/* --- POWIĘKSZENIE, 404 -------------------------------------- */
.sm-powiekszenie{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(43,30,33,.94);padding:var(--s5);}
.sm-powiekszenie__zamknij{position:absolute;top:var(--s4);right:var(--s4);width:52px;height:52px;display:grid;place-items:center;background:var(--krem);border:0;border-radius:var(--r-kolo);color:var(--kakao);cursor:pointer;}
.sm-powiekszenie__ramka{margin:0;max-width:min(100%,70rem);max-height:88vh;}
.sm-powiekszenie__obraz{max-width:100%;max-height:88vh;object-fit:contain;border-radius:var(--r-m);}
.sm-404{position:relative;overflow:hidden;background:var(--krem);padding-block:var(--sekcja-l);}
.sm-404__wnetrze{position:relative;z-index:1;display:grid;gap:var(--s8);align-items:center;}
@media (min-width:56.25rem){.sm-404__wnetrze{grid-template-columns:1.2fr .8fr;}}
.sm-404__ilu{width:clamp(10rem,22vw,18rem);justify-self:center;}
.sm-404__tytul{margin-top:var(--s2);font-size:var(--fs-h1);}
.sm-404__tekst{margin-top:var(--s4);font-size:var(--fs-lead);color:var(--tekst-slaby);}
.sm-404__akcje{margin-top:var(--s8);display:flex;flex-wrap:wrap;gap:var(--s3);}
.sm-lista-wpisow{display:flex;flex-direction:column;gap:var(--s3);}
.sm-lista-wpisow a{font-weight:800;color:var(--malina);}

/* --- ZAKŁADKA W PRZYGOTOWANIU -------------------------------
   Pełny ekran, nie pasek: gość otwiera zakładkę i od razu wie,
   na czym stoimy, oraz ma czym wrócić. */
.sm-przygotowanie{position:relative;overflow:hidden;background:var(--krem);min-height:calc(100svh - var(--naglowek-h));display:flex;align-items:center;padding-block:var(--sekcja-m);}
.sm-przygotowanie .sm-plama--roz{width:52vw;max-width:44rem;aspect-ratio:1;right:-14vw;top:-24%;}
.sm-przygotowanie .sm-plama--mieta{width:30vw;max-width:26rem;aspect-ratio:1;left:-10vw;bottom:-22%;}
.sm-przygotowanie__wnetrze{position:relative;z-index:1;display:grid;gap:var(--s10);align-items:center;}
@media (min-width:64rem){.sm-przygotowanie__wnetrze{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s16);}}
.sm-przygotowanie__tytul{font-size:var(--fs-h1);font-weight:700;}
.sm-przygotowanie__lead{margin-top:var(--s5);font-size:var(--fs-lead);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
.sm-przygotowanie__punkty{margin-top:var(--s8);display:flex;flex-direction:column;gap:var(--s4);}
.sm-przygotowanie__punkty li{display:flex;align-items:flex-start;gap:var(--s4);line-height:var(--lh-srednia);}
.sm-przygotowanie__znak{flex:0 0 auto;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--r-kolo);background:var(--roz-jasny);color:var(--kakao);font-family:'Baloo 2','Baloo zapasowy',system-ui,sans-serif;font-weight:800;font-size:1rem;}
.sm-przygotowanie__akcje{margin-top:var(--s10);display:flex;flex-wrap:wrap;gap:var(--s3);}
.sm-przygotowanie__ilu{justify-self:center;width:clamp(11rem,26vw,20rem);height:auto;}
@media (max-width:63.9375rem){.sm-przygotowanie{min-height:0;padding-block:var(--s8);}.sm-przygotowanie__wnetrze{gap:var(--s5);}.sm-przygotowanie__ilu{order:-1;width:5.5rem;justify-self:start;}.sm-przygotowanie__lead{margin-top:var(--s4);}.sm-przygotowanie__punkty{margin-top:var(--s5);gap:var(--s3);}.sm-przygotowanie__akcje{margin-top:var(--s6);}}

/* --- SŁUCHAWKA, COOKIES, DO GÓRY ---------------------------- */
body:has(.sm-cookies:not([hidden])) .sm-telefon-plywajacy{bottom:9.5rem;}
@media (min-width:64rem){body:has(.sm-cookies:not([hidden])) .sm-telefon-plywajacy{bottom:var(--s4);}}
.sm-telefon-plywajacy{position:fixed;right:var(--s4);bottom:var(--s4);z-index:90;width:58px;height:58px;display:grid;place-items:center;background:var(--malina);color:#fff;border-radius:var(--r-kolo);box-shadow:0 10px 26px rgba(188,31,84,.4);animation:sm-puls 2.6s var(--ease) infinite;}
@media (min-width:64rem){.sm-telefon-plywajacy{display:none;}}
@keyframes sm-puls{0%,70%,100%{box-shadow:0 10px 26px rgba(188,31,84,.4);}35%{box-shadow:0 10px 26px rgba(188,31,84,.4),0 0 0 14px rgba(188,31,84,.16);}}
@media (prefers-reduced-motion:reduce){.sm-telefon-plywajacy{animation:none;}}
.sm-cookies{position:fixed;z-index:95;left:0;right:0;bottom:0;background:#fff;border-radius:var(--r-l) var(--r-l) 0 0;padding:var(--s3) var(--s4);box-shadow:var(--cien-miekki);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);}
.sm-cookies .sm-cookies__tekst{flex:1 1 12rem;margin:0;font-size:.8125rem;line-height:1.4;}
/* Odnosnik ma to samo pole dotyku co przyciski obok: 40 px to za malo. */
.sm-cookies .sm-cookies__tekst a{display:inline-flex;align-items:center;min-height:44px;}
.sm-cookies .sm-cookies__akcje{margin-top:0;flex:0 0 auto;}
@media (min-width:64rem){.sm-cookies{left:var(--s6);right:auto;bottom:var(--s6);max-width:24rem;display:block;border-radius:var(--r-l);padding:var(--s5);}
.sm-cookies .sm-cookies__tekst{font-size:var(--fs-drobny);}
.sm-cookies .sm-cookies__akcje{margin-top:var(--s4);}}
.sm-cookies__tekst{font-size:var(--fs-drobny);line-height:var(--lh-srednia);color:var(--tekst-slaby);}
.sm-cookies__tekst a{display:inline-block;padding-block:.6875rem;margin-block:-.5rem;color:var(--malina);font-weight:800;}
.sm-cookies__tekst a:hover{color:var(--kakao);}
.sm-cookies__akcje{margin-top:var(--s4);display:flex;flex-wrap:wrap;gap:var(--s2);}
.sm-do-gory{position:fixed;left:var(--s4);bottom:var(--s4);z-index:88;width:46px;height:46px;display:none;place-items:center;background:var(--kakao);color:var(--jasny);border:0;border-radius:var(--r-kolo);cursor:pointer;box-shadow:0 10px 26px rgba(59,42,46,.3);transition:background-color var(--t-zwykle) var(--ease);}
.sm-do-gory:not([hidden]){display:grid;}
body:has(.sm-cookies:not([hidden])) .sm-do-gory{bottom:9.5rem;}
@media (min-width:64rem){body:has(.sm-cookies:not([hidden])) .sm-do-gory{bottom:var(--s4);left:auto;right:var(--s4);}}
.sm-do-gory:hover,.sm-do-gory:focus-visible,.sm-do-gory:active{background:var(--malina);opacity:1;}
/* Na telefonie stoi przy lewej krawedzi, czyli tam, gdzie zaczyna sie wiersz.
   W spoczynku przepuszcza tekst pod spodem; pole dotyku zostaje 44 px. */
@media (max-width:74.9375rem){
  .sm-do-gory{width:44px;height:44px;opacity:.55;box-shadow:0 6px 16px rgba(59,42,46,.22);}
}

/* --- WEJŚCIE (bez straży na zegarze) ------------------------ */
.sm-ruch-dziala .sm-wejscie{opacity:0;translate:0 22px;}
.sm-ruch-dziala .sm-wejscie.sm-widoczne{opacity:1;translate:0 0;transition:opacity 640ms var(--ease-out),translate 640ms var(--ease-out);}
@media (prefers-reduced-motion:reduce){.sm-ruch-dziala .sm-wejscie{opacity:1 !important;translate:none !important;transition:none !important;}}

@media (max-width:22.5rem){
  :root{--px:1rem;}
  .sm-hero__akcje .sm-przycisk,.sm-404__akcje .sm-przycisk,.sm-urodziny__akcje .sm-przycisk,.sm-kontakt__akcje .sm-przycisk,.sm-karta-skrot__akcje .sm-przycisk{width:100%;}
  .sm-mozaika,.sm-galeria{columns:1;}
}
@media print{
  .sm-naglowek,.sm-menu-mobilne,.sm-cookies,.sm-telefon-plywajacy,.sm-do-gory,.sm-karta-nawigacja,.sm-plama,.sm-ilu{display:none !important;}
  body{background:#fff;color:#000;}
}
