/* Piekarnia u Adama — wspólne style (na bazie koncepcji Złota Skórka) */
:root{
  --flour:#f8f4ee; --cream:#efe7dc; --card:#fffdf9; --line:#e6dccd;
  --ink:#2a221c; --mut:#7a6d60; --choc:#2e2620; --choc-2:#3a3029;
  --wood:#a9805a; --wood-dk:#8a6238; --gold:#c9a774;
  --shadow:0 30px 60px -34px rgba(60,42,26,.45); --shadow-sm:0 12px 30px -20px rgba(60,42,26,.45);
  --side:max(24px,calc((100vw - 1200px)/2 + 24px));
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--flour);color:var(--ink);font-family:'Manrope',sans-serif;font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-weight:700;line-height:1.12;letter-spacing:-.02em}
img{max-width:100%;display:block}
svg{display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--wood);outline-offset:3px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{font-weight:600;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--wood);margin-bottom:16px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:'';width:28px;height:1px;background:currentColor;opacity:.7}
.center .eyebrow{justify-content:center}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-weight:600;font-size:15px;padding:16px 30px;border-radius:8px;cursor:pointer;transition:.3s;border:1px solid transparent}
.btn svg{width:16px;height:16px;transition:transform .3s}
.btn:hover svg{transform:translateX(3px)}
.btn-main{background:var(--choc);color:#fff}
.btn-main:hover{background:var(--wood-dk)}
.btn-ghost{background:transparent;color:var(--ink);border-color:#d9cdbb}
.btn-ghost:hover{border-color:var(--wood);color:var(--wood-dk)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px var(--side);transition:.3s;border-bottom:1px solid transparent}
nav.solid{background:rgba(248,244,238,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line);padding-top:13px;padding-bottom:13px}
.logo{font-weight:800;font-size:18px;letter-spacing:.18em;display:flex;align-items:center;gap:10px;text-transform:uppercase;white-space:nowrap}
.logo svg{width:26px;height:26px;color:var(--wood)}
.logo b{color:var(--wood);font-weight:800}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{font-size:14px;font-weight:500;color:var(--ink);opacity:.8;transition:.2s}
.nav-links a:hover{opacity:1;color:var(--wood-dk)}
.nav-links .btn{padding:11px 20px;opacity:1;color:#fff}
.nav-links .btn:hover{color:#fff}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--ink)}
.burger svg{width:20px;height:20px}
@media(max-width:960px){
  nav{padding:14px 20px}
  .burger{display:flex}
  .nav-links{display:none;position:absolute;top:calc(100% + 6px);left:12px;right:12px;flex-direction:column;align-items:stretch;gap:2px;
    background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 14px;opacity:1;border-radius:8px}
  .nav-links a:hover{background:var(--flour)}
  .nav-links .btn{justify-content:center;margin-top:6px}
}
@media(max-width:360px){.logo{font-size:15px;letter-spacing:.14em}.logo svg{width:22px;height:22px}}

/* HERO */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);min-height:min(100vh,880px);background:var(--flour);position:relative}
.hero-text{padding:118px 56px 64px var(--side);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.hero h1{font-size:clamp(42px,5.6vw,80px);font-weight:800;letter-spacing:-.035em;line-height:1.02;color:var(--choc)}
.hero h1 em{font-style:normal;color:var(--wood)}
.hero-lead{color:var(--mut);max-width:500px;margin:26px 0 34px;font-size:18px}
.hero-lead strong{display:block;color:var(--choc);font-weight:600;margin-bottom:8px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.hero-meta{display:grid;grid-template-columns:auto auto;justify-content:start;gap:12px 44px;margin-top:48px;padding-top:26px;border-top:1px solid var(--line)}
.hero-meta span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.hero-meta b{display:block;font-size:17px;font-weight:700;color:var(--choc);margin-top:2px}
.hero-photo{position:relative;margin:96px var(--side) 40px 0;min-height:0;align-self:center;aspect-ratio:1/1;max-height:calc(100vh - 136px)}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 50%;border-radius:20px;box-shadow:var(--shadow)}
.hero-photo::before{content:'';position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--gold);border-radius:24px;opacity:.55;z-index:-1}
.status-card{position:absolute;left:-34px;bottom:36px;background:var(--card);border-radius:14px;padding:16px 20px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:center;min-width:240px}
.status-card .dot{width:10px;height:10px;border-radius:50%;background:#b5aa9b;flex:none;box-shadow:0 0 0 5px rgba(181,170,155,.18)}
.status-card.open .dot{background:#6f9a5a;box-shadow:0 0 0 5px rgba(111,154,90,.18)}
.status-card b{display:block;font-size:15px;color:var(--choc);line-height:1.3}
.status-card span{font-size:13px;color:var(--mut)}
@media(max-width:1100px){.hero-text{padding-right:36px}.status-card{left:-20px}}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-text{padding:26px 20px 8px}
  .hero-lead{font-size:16.5px;margin:20px 0 28px}
  .hero-meta{margin-top:34px;gap:12px 32px}
  .hero-photo{order:-1;margin:84px 20px 0;height:clamp(230px,58vw,440px);aspect-ratio:auto;max-height:none;width:auto;align-self:stretch}
  .hero-photo>img{object-position:46% 45%}
  .cta-row .btn{flex:1 1 auto;justify-content:center;padding:15px 20px}
  .hero-photo::before{display:none}
  .status-card{left:12px;top:12px;bottom:auto;min-width:0;padding:8px 14px;border-radius:999px;gap:10px;box-shadow:var(--shadow-sm)}
  .status-card .dot{width:8px;height:8px}
  .status-card b{font-size:13px}
  .status-card b{display:inline}
  .status-card span{font-size:12.5px}
  .status-card span::before{content:" · "}
  .hero .eyebrow{letter-spacing:.2em;font-size:11px}
}
@media(max-width:360px){.cta-row .btn{width:100%}.hero-meta{grid-template-columns:1fr}}

section{padding:clamp(72px,10vw,124px) 0}
.sec-head{max-width:640px;margin-bottom:clamp(38px,5vw,58px)}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-size:clamp(30px,4.4vw,48px);color:var(--choc)}
.sec-head p{color:var(--mut);margin-top:16px;font-size:17px}

/* O NAS */
.about{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.about-photo{position:relative}
.about-photo img{border-radius:16px;box-shadow:var(--shadow);aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}
.photo-note{position:absolute;left:14px;bottom:14px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#f3ebdf;background:rgba(30,24,19,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:6px 11px;border-radius:6px}
.about h2{font-size:clamp(30px,4vw,46px);margin-bottom:22px;color:var(--choc)}
.about p{color:var(--mut);margin-bottom:16px}
.br-wide{display:none}
@media(min-width:1024px){.br-wide{display:inline}}
.facts{display:grid;grid-template-columns:repeat(2,auto);justify-content:start;gap:20px 64px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.facts b{font-size:34px;font-weight:800;color:var(--choc);display:block;line-height:1;letter-spacing:-.02em}
.facts span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);display:block;margin-top:8px}
@media(max-width:900px){.about{grid-template-columns:1fr;gap:36px}}
@media(max-width:420px){.facts{gap:18px 40px}.facts b{font-size:26px}.facts span{font-size:10.5px;letter-spacing:.08em}}

/* CIEMNA SEKCJA (torty) */
.serv-sec{background:var(--choc);color:#efe9e1;position:relative;overflow:hidden}
.serv-sec .sec-head h2{color:#fff}
.serv-sec .sec-head p{color:#b3a798}
/* FILTRY (pasek kategorii w katalogu) */
.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}
.chip{font-family:inherit;font-size:14px;font-weight:600;padding:10px 20px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:.25s}
.chip:hover{border-color:var(--wood);color:var(--wood-dk)}
.chip.on{background:var(--choc);border-color:var(--choc);color:#fff}
/* ODWIEDŹ NAS */
.visit{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.visit-info{background:var(--choc);color:#efe9e1;padding:clamp(34px,6vw,72px)}
.visit-info h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin-bottom:18px}
.visit-info>p{color:#b3a798;margin-bottom:24px}
.visit-info .row{display:flex;gap:14px;margin:16px 0;align-items:flex-start;font-size:15px;color:#b3a798}
.visit-info .row svg{flex:none;width:20px;height:20px;margin-top:3px;color:var(--gold)}
.visit-info .row b{color:#fff;font-weight:600;display:block;overflow-wrap:anywhere}
.hours{background:var(--card);padding:clamp(34px,6vw,72px)}
.hours h3{font-size:26px;margin-bottom:8px;color:var(--choc)}
.hours>p{color:var(--mut);font-size:14px;margin-bottom:20px}
.hours ul{list-style:none}
.hours li{display:flex;justify-content:space-between;gap:16px;padding:16px 12px;margin:0 -12px;border-bottom:1px solid var(--line);font-size:16px;border-radius:8px}
.hours li span{color:var(--mut)}
.hours li b{font-weight:700;white-space:nowrap}
.hours li.off b{color:var(--wood)}
.hours li.today{background:rgba(169,128,90,.1);border-bottom-color:transparent}
.hours li.today span{color:var(--choc);font-weight:600}
.hours .status{display:inline-flex;align-items:center;gap:9px;margin-top:22px;font-size:13.5px;font-weight:600;color:var(--mut)}
.hours .status i{width:8px;height:8px;border-radius:50%;background:#b5aa9b}
.hours .status.open i{background:#6f9a5a}
@media(max-width:900px){.visit{grid-template-columns:1fr}}
@media(max-width:360px){.hours li{font-size:14.5px}}

/* FOOTER */
footer{background:var(--choc);color:#a0968a;padding:56px 0 40px;text-align:center}
footer .logo{justify-content:center;color:#fff;margin-bottom:20px}
footer .fnav{display:flex;gap:10px 26px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
footer .fnav a{color:#c4baae;font-size:14px}
footer .fnav a:hover{color:#fff}
@media(max-width:760px){
  footer .fnav{gap:0 6px;margin-bottom:16px}
  footer .fnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px}
  .credits summary{padding:12px 0}
}
footer .cr{font-size:12.5px;color:#8f8478;max-width:640px;margin:0 auto}
.credits{max-width:760px;margin:22px auto 0;font-size:12px;color:#8f8478;text-align:left}
.credits summary{cursor:pointer;text-align:center;list-style:none;color:#b3a798}
.credits summary::-webkit-details-marker{display:none}
.credits summary::after{content:' ▾'}
.credits ul{list-style:none;margin-top:14px;display:grid;gap:6px}
.credits a{text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}

/* Plakietka „Koncepcja demonstracyjna”:
   — poniżej 1280 px: pasek na samym dole strony (w treści), niczego nie zasłania;
   — od 1280 px: mała etykieta „✦ Demo” w rogu, pełny tekst po najechaniu lub fokusie. */
.demo-tag{display:block;background:var(--choc);color:var(--gold);font-size:12px;letter-spacing:.06em;text-align:center;padding:12px 16px 14px;border-top:1px solid #4a3e34}
.demo-tag .dt-short{display:none}
@media(min-width:1280px){
  .demo-tag{position:fixed;bottom:14px;left:14px;z-index:80;font-size:11px;padding:8px 12px;border-radius:8px;border:1px solid #5a4a3c;box-shadow:var(--shadow-sm);cursor:default;text-align:left}
  .demo-tag .dt-short{display:inline}
  .demo-tag .dt-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .demo-tag:hover .dt-short,.demo-tag:focus .dt-short{display:none}
  .demo-tag:hover .dt-full,.demo-tag:focus .dt-full{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}

/* dostępność: odnośnik „Przejdź do treści” widoczny po naciśnięciu Tab */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--choc);color:#fff;padding:10px 16px;border-radius:8px;font-weight:600;font-size:14px;transition:top .2s}
.skip:focus{top:12px}

/* dostępność: tekst tylko dla czytników ekranu */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* NAV — wyszukiwarka i bieżąca strona */
.nav-links a[aria-current="page"]{opacity:1;color:var(--wood-dk)}
.nav-search{display:inline-flex;align-items:center;gap:8px}
.nav-search svg{width:18px;height:18px}
.nav-search span{display:none}
@media(max-width:960px){.nav-search span{display:inline}}

/* ASORTYMENT */
.page-head{padding:clamp(120px,14vw,160px) 0 clamp(28px,4vw,40px)}
.page-head h1{font-size:clamp(38px,5.4vw,64px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--choc)}
.page-head p{color:var(--mut);max-width:620px;margin-top:18px;font-size:17px}
.page-head .demo-note{font-size:13px;margin-top:10px}

.toolbar{position:sticky;top:var(--nav-h,64px);z-index:30;background:rgba(248,244,238,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:14px 0}
.toolbar .wrap{display:flex;gap:14px 20px;align-items:center;flex-wrap:wrap}
.search{position:relative;flex:1 1 260px;max-width:380px}
.search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--mut);pointer-events:none}
.search input{width:100%;font:inherit;font-size:16px;padding:12px 16px 12px 46px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);transition:border-color .2s}
.search input::placeholder{color:#a3968a}
.search input:focus{outline:none;border-color:var(--wood);box-shadow:0 0 0 3px rgba(169,128,90,.18)}
.toolbar .filters{margin:0;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.toolbar .filters::-webkit-scrollbar{display:none}
.chip{white-space:nowrap}
.chip-n{font-weight:500;opacity:.55;margin-left:2px}
.result{font-size:13.5px;color:var(--mut);margin-left:auto;white-space:nowrap}
@media(max-width:700px){
  .toolbar{padding:10px 0}
  .toolbar .wrap{gap:10px}
  .search{max-width:none;flex-basis:100%}
  .toolbar .filters{flex:1 1 100%;margin:0 -24px;padding:0 24px}
  .result{display:none}
}

.katalog{padding:clamp(36px,5vw,56px) 0 clamp(72px,10vw,110px)}
.kat{padding:0}
.kat+.kat{margin-top:clamp(52px,7vw,80px)}
.kat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 40px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.kat-head h2{font-size:clamp(26px,3.4vw,36px);color:var(--choc)}
.kat-head p{color:var(--mut);max-width:520px;font-size:15px}

.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:420px){.grid{gap:12px}}

.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
@media(hover:hover){.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}}
.card-img{position:relative;aspect-ratio:4/5;background:var(--cream)}
.card-img img{width:100%;height:100%;object-fit:cover}
.ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--wood)}
.ph svg{width:30%;max-width:84px;height:auto;opacity:.75}
.ph span{text-align:center;padding:0 12px;line-height:1.5;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);opacity:.85}
.ph-chleb{background:#ebdfcf}.ph-bulki{background:#f0e5d4}.ph-slodkie{background:#f3e8dc}.ph-torty{background:#ede3da}
.badge{position:absolute;left:12px;top:12px;background:var(--choc);color:#fff;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:6px}
.card-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:18px;font-weight:700;color:var(--choc);letter-spacing:-.01em;line-height:1.25;overflow-wrap:anywhere}
.waga{font-size:13px;font-weight:600;color:var(--wood-dk);margin-top:6px}
.waga .cena{font-weight:800;color:var(--choc);white-space:nowrap}
.opis{font-size:14.5px;color:var(--mut);margin-top:8px;line-height:1.55}
/* bardzo wąskie karty (telefony ~320–360 px): długie nazwy dzielone na sylaby, gdy przeglądarka ma słownik; inaczej łamane w słowie */
@media(max-width:360px){.card h3{hyphens:auto;-webkit-hyphens:auto}}
@media(max-width:420px){.card-body{padding:14px 12px 16px}.card h3{font-size:16px}.opis{font-size:13.5px}.badge{left:8px;top:8px;font-size:9.5px;padding:5px 8px}}

.det{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;font-size:13.5px}
.det summary{cursor:pointer;font-weight:600;color:var(--choc);list-style:none;display:flex;justify-content:space-between;gap:8px}
.det summary::-webkit-details-marker{display:none}
.det summary::after{content:'+';color:var(--wood);font-weight:700}
.det[open] summary::after{content:'–'}
.det-note{margin:10px 0 4px;padding:8px 10px;border-radius:8px;background:rgba(169,128,90,.12);color:var(--wood-dk);font-size:12px;line-height:1.45}
.det h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:12px 0 4px}
.det p{color:var(--ink);line-height:1.5}
.det table{width:100%;border-collapse:collapse}
.det th,.det td{padding:5px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400;vertical-align:top}
.det th{color:var(--mut);padding-right:8px}
.det td{white-space:nowrap;text-align:right;color:var(--ink)}

/* link w nazwie rozciągnięty na całą kartę; szczegóły nad nim */
.card-link{color:inherit}
.card-link::after{content:'';position:absolute;inset:0;z-index:1;border-radius:14px}
.card-link:focus-visible{outline:none}
.card:has(.card-link:focus-visible){outline:2px solid var(--wood);outline-offset:3px}
@media(hover:hover){.card:hover h3{color:var(--wood-dk)}}
.det{position:relative;z-index:2}

/* na telefonie otwarta karta ze szczegółami zajmuje cały wiersz */
@media(max-width:760px){.card:has(.det[open]){grid-column:1/-1}}

.empty{text-align:center;padding:48px 20px;color:var(--mut)}
.empty h2{font-size:24px;color:var(--choc);margin-bottom:8px}
.empty .btn{margin-top:20px}

@media(prefers-reduced-motion:no-preference){
  .kat{animation:pojaw .45s ease both}
  /* strona główna: łagodne pojawianie się bloków przy przewijaniu (tylko gdy działa JS — klasa .js na <html>) */
  .js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
  .js .reveal.in{opacity:1;transform:none}
  @keyframes pojaw{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* STRONA PRODUKTU */
.produkt-page{padding:clamp(96px,11vw,120px) 0 clamp(64px,9vw,100px)}
/* okruszki i sekcje produktu nie dziedziczą stylów menu (nav) ani odstępów sekcji strony głównej */
.crumbs{position:static;display:block;padding:0;border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:auto;transition:none}
.p-det,.p-more{padding-bottom:0}
.p-more{padding-top:0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;font-size:13.5px;color:var(--mut);margin-bottom:clamp(20px,3vw,32px)}
.crumbs li+li::before{content:'›';margin:0 10px;color:#b9ab9b}
.crumbs a{color:var(--mut);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.crumbs a:hover{color:var(--wood-dk)}
.crumbs [aria-current]{color:var(--ink)}
.p-main{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.p-foto .card-img{border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.p-foto .badge{left:16px;top:16px}
.p-foto-note{font-size:12px;color:var(--mut);margin-top:10px}
.cena-note{font-size:13px;color:var(--mut);margin-top:8px;line-height:1.5}
.page-head .cena-note,.sec-head .cena-note{font-size:13px;margin-top:8px}
.p-text h1{font-size:clamp(34px,4.6vw,54px);font-weight:800;letter-spacing:-.03em;line-height:1.06;color:var(--choc)}
.p-waga{display:flex;gap:12px;align-items:baseline;margin-top:18px;font-size:18px;font-weight:700;color:var(--choc)}
.p-waga.p-cena{margin-top:6px}
.p-waga span{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.p-opis{color:var(--mut);font-size:17.5px;margin-top:14px;max-width:520px}
.p-info{margin-top:22px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:15px}
.p-info b{color:var(--choc)}
.p-info p{color:var(--mut);margin-top:4px}
.p-info-btn{margin-top:14px;padding:12px 22px}
.p-text .cta-row{margin-top:28px}
.p-det{margin-top:36px;padding-top:28px;border-top:1px solid var(--line);font-size:14.5px;max-width:560px}
.p-det h2{font-size:22px;color:var(--choc)}
.p-det .det-note{font-size:13px;margin:14px 0 6px;padding:10px 12px}
.p-det h3{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:18px 0 6px;font-weight:600}
.p-det p{line-height:1.6}
.p-det table{width:100%;border-collapse:collapse}
.p-det th,.p-det td{padding:8px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.p-det th{color:var(--mut);padding-right:12px}
.p-det td{text-align:right;white-space:nowrap}
.p-more{margin-top:clamp(56px,8vw,96px)}
.more-link{font-size:14px;font-weight:600;color:var(--wood-dk);text-decoration:underline;text-underline-offset:3px}
.p-more .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.empty h1{font-size:30px;color:var(--choc);margin-bottom:8px}
.err404{padding:clamp(40px,8vw,96px) 0}
.err404 .eyebrow,.err404 .cta-row{justify-content:center}
.err404 h1{font-size:clamp(34px,5vw,52px);font-weight:800;letter-spacing:-.03em}
.err404 .cta-row{margin-top:26px}
@media(max-width:900px){
  .p-main{grid-template-columns:1fr}
  .p-foto{max-width:560px}
}
@media(max-width:760px){.p-more .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-more .grid .card:nth-child(3){display:none}}
@media(max-width:420px){.p-text .cta-row .btn{width:100%;justify-content:center}}

/* STRONA GŁÓWNA — specjały, kategorie, historia, torty */
.sec-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 40px;flex-wrap:wrap;margin-bottom:clamp(38px,5vw,58px)}
.sec-row .sec-head{margin-bottom:0}
.specjaly .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.specjaly .badge{display:none}
@media(max-width:1100px){.specjaly .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.kategorie{background:var(--cream)}
.kat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.kat-tile{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:3/2;background:var(--line);box-shadow:var(--shadow-sm)}
.kat-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.kat-tile:hover img{transform:scale(1.04)}}
.kat-cap{position:absolute;left:0;right:0;bottom:0;padding:80px 26px 22px;color:#fff;background:linear-gradient(0deg,rgba(30,22,16,.88) 0%,rgba(30,22,16,.62) 45%,rgba(30,22,16,0) 100%);display:block;text-shadow:0 1px 3px rgba(20,14,10,.45)}
.kat-cap small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f0dcb6;margin-bottom:4px}
.kat-cap b{display:block;font-size:clamp(20px,2.2vw,26px);font-weight:700;letter-spacing:-.01em;line-height:1.2}
.kat-cap span{display:block;font-size:14px;color:#f5eee5;margin-top:4px}
.kat-tile:focus-visible{outline:2px solid var(--wood);outline-offset:3px}
@media(max-width:760px){.kat-grid{grid-template-columns:1fr;gap:16px}.kat-cap{padding:72px 20px 18px}}

.fikcja{font-size:13px;color:var(--wood-dk);background:rgba(169,128,90,.1);border-radius:8px;padding:8px 12px;display:inline-block}

.torty{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
.torty-text h2{font-size:clamp(30px,4.4vw,48px);color:#fff;margin-bottom:18px}
.torty-text p{color:#c9bdaf;margin-bottom:14px;max-width:480px}
.torty-text .btn{margin-top:14px}
.torty-text .cena-note{color:#b3a798;font-size:13px}
.btn-light{background:#f3ebdf;color:var(--choc)}
.btn-light:hover{background:#fff}
.btn-outline-light{background:transparent;color:#f3ebdf;border-color:rgba(243,235,223,.45)}
.btn-outline-light:hover{border-color:#f3ebdf;color:#fff}
.torty-text .cta-row .btn{margin-top:0}
.torty-text .cta-row{margin-top:14px}
.torty-foto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.torty-foto a{display:block;color:#e6dccf;font-size:14px;font-weight:600}
.torty-foto .cena{display:block;font-weight:800;color:#fff;margin-top:2px}
.torty-foto img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:12px;margin-bottom:10px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.torty-foto a:hover img{transform:translateY(-4px)}.torty-foto a:hover{color:#fff}}
@media(max-width:900px){.torty{grid-template-columns:1fr}}
@media(max-width:420px){.torty-foto{gap:10px}.torty-foto a{font-size:12.5px}}

/* ZAMÓWIENIE TORTU (zamowienie.html) — formularz zapytania, wersja demonstracyjna */
.zam-page .page-head p{max-width:none}   /* wstęp „Zapytaj o tort” na całą szerokość kontenera, nad obiema kolumnami */
.zam{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:start;padding-bottom:clamp(56px,8vw,96px)}
.zam-info{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 24px 22px;position:sticky;top:calc(var(--nav-h,72px) + 20px)}
.zam-info h2{font-size:20px;color:var(--choc);margin-bottom:12px}
.zam-info ol{padding-left:20px;color:var(--mut);font-size:15px;display:grid;gap:10px}
.zam-info li::marker{color:var(--wood);font-weight:700}
.zam-info .bez-lamania{white-space:nowrap}   /* pkt 1: „co najmniej 7 dni wcześniej” w jednym wierszu */
.zam-demo{background:rgba(169,128,90,.12);color:var(--wood-dk);border-radius:10px;padding:12px 16px;font-size:14px;line-height:1.55;margin-bottom:24px}
.zam-bledy{border:1px solid #c9a29a;background:#fbefec;border-radius:10px;padding:14px 18px;margin-bottom:24px;color:#8f2f22}
.zam-bledy h2{font-size:17px;margin-bottom:6px}
.zam-bledy ul{padding-left:18px;font-size:14.5px}
.zam-bledy a{text-decoration:underline;color:inherit}
#zam-form{display:grid;gap:22px}
#zam-form[hidden]{display:none}
/* przewijanie do błędów, pól i wyniku nie chowa ich pod przyklejonym menu */
.zam-bledy,.zam-wynik,#zam-form .pole,#zam-form input,#zam-form select,#zam-form textarea{scroll-margin-top:96px}
#zam-form fieldset{border:0;min-width:0}
#zam-form legend,#zam-form label:not(.opcja){display:block;font-weight:700;color:var(--choc);font-size:15px;margin-bottom:8px}
#zam-form .pole-grupa{display:grid;gap:22px}
#zam-form .pole-grupa>legend{font-size:19px;width:100%;border-top:1px solid var(--line);padding-top:22px;margin-bottom:14px}
.wym{font-weight:500;color:var(--mut);font-size:13px}
#zam-form input[type=text],#zam-form input[type=tel],#zam-form input[type=email],#zam-form input[type=date],#zam-form select,#zam-form textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1px solid #d9cdbb;border-radius:10px;padding:12px 14px;min-height:48px;transition:border-color .2s}
#zam-form textarea{resize:vertical;line-height:1.5}
#zam-form input:focus,#zam-form select:focus,#zam-form textarea:focus{outline:none;border-color:var(--wood);box-shadow:0 0 0 3px rgba(169,128,90,.2)}
#zam-form [aria-invalid=true]:not(fieldset){border-color:#b23a2a}
.opcja{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:border-color .2s}
.opcja:hover{border-color:#d9cdbb}
.opcja:has(input:checked){border-color:var(--wood);box-shadow:0 0 0 1px var(--wood)}
.opcja input{width:18px;height:18px;margin-top:4px;accent-color:var(--choc);flex:none}
.opcja b{display:block;color:var(--choc);font-size:15.5px}
.opcja small{display:block;color:var(--mut);font-size:14px;line-height:1.5;margin-top:2px}
.opcja small .bez-lamania{white-space:nowrap}   /* „7 dni wcześniej” w opisie ② zawsze w jednym wierszu */
.opcje-rzad{display:flex;gap:10px;flex-wrap:wrap}
.opcja-mala{flex:1 1 140px;margin-bottom:0;align-items:center}
.opcja-mala input{margin-top:0}
.hint{font-size:13.5px;color:var(--mut);margin-top:6px;line-height:1.5}
.hint-uwagi{color:var(--wood-dk);font-weight:600}
.blad{font-size:14px;color:#a3301f;font-weight:600;margin-top:6px;line-height:1.45}
.ostrz{font-size:13.5px;color:var(--wood-dk);background:rgba(201,167,116,.18);border-radius:8px;padding:6px 10px;margin-top:8px}
.zam-cena{background:var(--card);border:1px dashed #d9cdbb;border-radius:12px;padding:12px 16px;font-size:14.5px;color:var(--mut)}
.zam-cena b{color:var(--choc)}
.zam-cena-demo{font-size:12.5px;margin-top:4px}
.zam-przyciski{margin-top:4px}
.zam-przyciski .btn{min-height:48px}
.zam-wynik{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.zam-wynik:focus{outline:none}
.zam-wynik h2{font-size:22px;color:var(--choc);margin-bottom:8px}
.zam-wynik-demo{background:rgba(169,128,90,.12);color:var(--wood-dk);border-radius:8px;padding:10px 14px;margin-bottom:16px}
.zam-wynik dl{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:8px 16px;margin-bottom:16px;font-size:15px}
.zam-wynik dt{color:var(--mut)}
.zam-wynik dd{color:var(--ink);overflow-wrap:anywhere;white-space:pre-line}
.zam-wynik>p{color:var(--mut);font-size:14.5px}
.zam-wynik .cta-row{margin-top:18px}
@media(max-width:900px){.zam{grid-template-columns:1fr}.zam-info{position:static}}
@media(max-width:560px){.zam-wynik dl{grid-template-columns:1fr;gap:2px}.zam-wynik dd{margin-bottom:8px}.zam-przyciski .btn{width:100%;justify-content:center}}
