/* BESTofDiet v3 — warstwa widoku przepisana od zera (makieta "Dieta - przebudowa").
   Design system BEST OF MIAZGA: magenta #C81D8C, fiolet #6F1FB6, róż #FF2E9F, atrament #15082A, krem #FBF7F4.
   Zasada: wszystkie reguły pod prefiksem .bod3 albo .bod-* z jasną specyficznością. Bez !important poza kolizjami z motywem. */

.bod3{--g:linear-gradient(96deg,#FF2E9F 0%,#C81D8C 45%,#6F1FB6 100%);--ink:#15082A;--mut:#6B5778;--ln:rgba(21,8,42,.08);--krem:#FBF7F4;--mag:#C81D8C;--pink:#FF2E9F;--ok:#1B9E4B;
	font-family:'Manrope',-apple-system,'Segoe UI',sans-serif;color:var(--ink);max-width:1320px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.bod3 *,.bod3 *::before,.bod3 *::after{box-sizing:border-box}
.bod3 a{text-decoration:none}
.bod3-grad{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* ── nagłówki ── */
.bod3-hd{margin:0 0 26px}
.bod3-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--mag)}
.bod3-eyebrow::before{content:'';width:26px;height:2px;background:var(--g);border-radius:2px}
.bod3-hd h1{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:52px;line-height:1;letter-spacing:-.01em;margin:12px 0 10px;color:var(--ink)}
.bod3-hd p{color:var(--mut);font-size:16.5px;line-height:1.6;max-width:760px;margin:0}
.bod3-h2{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:24px;color:var(--ink);margin:38px 0 6px;display:flex;align-items:center;gap:12px}
.bod3-h2::after{content:'';width:34px;height:3px;border-radius:3px;background:var(--g)}
.bod3-sub{color:var(--mut);font-size:14.5px;line-height:1.6;margin:0 0 16px;max-width:680px}

/* ── przyciski ── */
.bod3-btn,.bod3-btn-o{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-family:inherit;font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;min-height:48px;padding:14px 26px;cursor:pointer;border:0;transition:transform .18s,box-shadow .18s,background .18s,color .18s}
.bod3-btn{background:var(--g);color:#fff;box-shadow:0 12px 30px -12px rgba(255,46,159,.55)}
.bod3-btn:hover{transform:translateY(-1px);color:#fff}
.bod3-btn-o{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.bod3-btn-o:hover{background:var(--ink);color:#fff}
.bod3-btn-jasny{background:#fff;color:var(--ink);box-shadow:none}
.bod3-btn-jasny:hover{background:#fff;color:var(--ink)}
.bod3-txt{appearance:none;background:none;border:0;color:var(--mut);font-family:inherit;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;padding:15px 10px}
.bod3-txt:hover{color:var(--ink)}

/* ── ciemny pasek kalkulatora ── */
.bod3-pasek{margin-top:16px;background:var(--ink);border-radius:20px;padding:20px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#fff}
.bod3-pasek-ic{width:44px;height:44px;min-width:44px;border-radius:15px;background:rgba(255,255,255,.12);color:var(--pink);display:grid;place-items:center}
.bod3-pasek-ic svg{width:21px;height:21px}
.bod3-pasek b{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:19px;display:block}
.bod3-pasek p{font-size:13.5px;color:rgba(255,255,255,.72);margin:3px 0 0;line-height:1.5}
.bod3-pasek .bod3-btn{margin-left:auto}

/* ── karta generatora (biała + kremowa kolumna kroków) ── */
.bod3-gen{background:#fff;border:1px solid var(--ln);border-radius:22px;overflow:hidden;box-shadow:0 24px 54px -40px rgba(21,8,42,.3);display:flex;flex-wrap:wrap;margin-bottom:18px}
.bod3-gen-l{flex:1 1 400px;padding:28px 30px;min-width:0}
.bod3-gen-l h3{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:28px;line-height:1.08;margin:0 0 10px}
.bod3-gen-l p{font-size:14.5px;color:var(--mut);line-height:1.6;margin:0 0 18px}
.bod3-gen-l ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0;padding:0}
.bod3-gen-l li{font-size:14px;font-weight:600;padding-left:26px;position:relative;line-height:1.5}
.bod3-gen-l li::before{content:'';position:absolute;left:2px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--g)}
.bod3-gen-r{flex:1 1 300px;background:var(--krem);border-left:1px solid var(--ln);padding:28px 30px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.bod3-krok{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--ln);border-radius:16px;padding:14px 16px}
.bod3-krok b{width:26px;height:26px;min-width:26px;border-radius:50%;background:var(--g);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.bod3-krok span{font-size:13.5px;font-weight:700;line-height:1.4}
.bod3-czas{font-size:12px;color:var(--mut);text-align:center;font-weight:700;margin:4px 0 0}

/* ── SURVEY ── */
.bod3-sv{background:#fff;border:1px solid var(--ln);border-radius:22px;box-shadow:0 24px 54px -38px rgba(21,8,42,.3);overflow:hidden;scroll-margin-top:100px}
.bod3-sv-top{padding:16px 22px;background:var(--krem);border-bottom:1px solid var(--ln);display:flex;align-items:center;gap:14px}
.bod3-sv-krok{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.bod3-sv-tr{flex:1;height:5px;border-radius:999px;background:rgba(21,8,42,.09);overflow:hidden}
.bod3-sv-tr i{display:block;height:100%;background:var(--g);transition:width .3s cubic-bezier(.2,.7,.2,1)}
.bod3-sv-body{padding:32px 30px 26px;min-height:300px}
.bod3-step{display:none}
.bod3-step.is-on{display:block}
.bod3-q{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:30px;line-height:1.1;margin:0;color:var(--ink)}
.bod3-qh{font-size:13.5px;color:var(--mut);margin:8px 0 0;line-height:1.55}
.bod3-lb{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--mut);margin:24px 0 10px}
.bod3-note{font-size:12.5px;color:var(--mut);line-height:1.55;margin:14px 0 0}

.bod3-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(226px,1fr));gap:12px;margin-top:22px}
.bod3-opt{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1.5px solid var(--ln);border-radius:18px;padding:18px 20px;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}
.bod3-opt:hover{border-color:var(--pink);transform:translateY(-1px)}
.bod3-opt.is-on{border-color:transparent;box-shadow:0 0 0 2px var(--mag);background:var(--krem)}
.bod3-opt input{position:absolute;opacity:0;width:1px;height:1px}
.bod3-opt-ic{width:40px;height:40px;min-width:40px;border-radius:14px;background:rgba(200,29,140,.09);color:var(--mag);display:grid;place-items:center}
.bod3-opt.is-on .bod3-opt-ic{background:var(--g);color:#fff}
.bod3-opt-ic svg{width:19px;height:19px}
.bod3-opt-num{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:19px}
.bod3-opt-tx{min-width:0}
.bod3-opt-tx b{display:block;font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:17px;margin-bottom:3px;line-height:1.15}
.bod3-opt-tx span{font-size:12.5px;color:var(--mut);line-height:1.45;display:block}

.bod3-chips{display:flex;gap:8px;flex-wrap:wrap}
.bod3-chip{display:inline-flex;align-items:center;background:#fff;border:1.5px solid var(--ln);border-radius:999px;padding:11px 17px;min-height:46px;font-size:12.5px;font-weight:800;cursor:pointer;transition:border-color .18s,background .18s,color .18s}
.bod3-chip:hover{border-color:var(--pink)}
.bod3-chip.is-on{background:var(--g);border-color:transparent;color:#fff}
.bod3-chip input{position:absolute;opacity:0;width:1px;height:1px}

.bod3-duzo{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px;margin-top:22px;max-width:760px}
.bod3-big{display:flex;align-items:center;gap:14px;background:var(--krem);border:1.5px solid rgba(21,8,42,.1);border-radius:20px;padding:16px 20px;transition:border-color .18s}
.bod3-big:focus-within{border-color:var(--mag);box-shadow:0 0 0 3px rgba(200,29,140,.12)}
.bod3-big .ic{width:44px;height:44px;min-width:44px;border-radius:15px;background:var(--g);color:#fff;display:grid;place-items:center}
.bod3-big .ic svg{width:20px;height:20px}
.bod3-big input{flex:1;min-width:0;border:0;background:transparent;font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:34px;color:var(--ink);outline:0;padding:0;-moz-appearance:textfield}
.bod3-big input::-webkit-outer-spin-button,.bod3-big input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bod3-big input::placeholder{color:rgba(21,8,42,.18)}
.bod3-big .jed{font-size:15px;font-weight:800;color:var(--mut)}
.bod3-big.is-blad{border-color:#E5147A}

.bod3-zaaw{margin:18px 0 0}
.bod3-zaaw>summary{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);cursor:pointer;padding:10px 0;min-height:44px;display:flex;align-items:center;list-style:none}
.bod3-zaaw>summary::-webkit-details-marker{display:none}
.bod3-zaaw>summary:hover{color:var(--mag)}
.bod3-zaaw select{margin-top:8px;width:100%;max-width:520px;min-height:48px;border:1.5px solid var(--ln);border-radius:14px;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:600;background:#fff;color:var(--ink)}
.bod3-zgoda{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;font-size:12.5px;color:var(--mut);line-height:1.5;cursor:pointer}
.bod3-zgoda input{width:20px;height:20px;min-width:20px;margin:0;accent-color:#C81D8C}

.bod3-ok{display:none;flex-direction:column;align-items:center;text-align:center;padding:22px 10px}
.bod3-ok.is-on{display:flex}
.bod3-ok .ic{width:70px;height:70px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;margin-bottom:16px;box-shadow:0 14px 34px -14px rgba(255,46,159,.6)}
.bod3-ok .ic svg{width:32px;height:32px}
.bod3-ok h3{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:27px;margin:0 0 8px}
.bod3-ok p{font-size:14.5px;color:var(--mut);max-width:420px;margin:0}

.bod3-sv-foot{display:flex;align-items:center;gap:12px;padding:16px 22px;border-top:1px solid var(--ln);background:#fff;flex-wrap:wrap}
.bod3-hint{font-size:12px;color:var(--mut)}
.bod3-hint.is-blad{color:#E5147A;font-weight:700}
.bod3-right{margin-left:auto;display:flex;gap:8px;align-items:center}

/* ── bramka ── */
.bod3-gate{background:#fff;border:1px solid var(--ln);border-radius:24px;box-shadow:0 24px 54px -40px rgba(21,8,42,.3);padding:36px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:640px;margin:0 auto}
.bod3-gate-ic{width:68px;height:68px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;box-shadow:0 14px 34px -14px rgba(255,46,159,.6)}
.bod3-gate-ic svg{width:29px;height:29px}
.bod3-gate h3{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:25px;line-height:1.1;margin:0}
.bod3-gate p{font-size:14.5px;color:var(--mut);line-height:1.6;max-width:470px;margin:0}
.bod3-gate-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}

/* ── zmiana preferencji przy istniejącym planie ── */
.bod3-zmien{margin:26px 0 0;scroll-margin-top:100px}
.bod3-zmien>summary{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);cursor:pointer;padding:12px 0;min-height:44px;list-style:none}
.bod3-zmien>summary::-webkit-details-marker{display:none}
.bod3-zmien>summary::before{content:'';width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><path d='M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z'/></svg>") center/16px no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><path d='M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z'/></svg>") center/16px no-repeat}
.bod3-zmien>summary:hover{color:var(--mag)}
.bod3-zmien-tresc{margin-top:12px}
.bod3-plan{margin-top:4px}

@media(max-width:900px){
	.bod3{padding:0 16px}
	.bod3-hd h1{font-size:34px}
	.bod3-q{font-size:23px}
	.bod3-sv-body{padding:22px 16px 20px;min-height:auto}
	.bod3-sv-top,.bod3-sv-foot{padding:14px 16px}
	.bod3-sv-foot .bod3-hint{order:3;width:100%}
	.bod3-right{width:100%;order:2}
	.bod3-right .bod3-btn{flex:1}
	.bod3-big input{font-size:28px}
	.bod3-gen-r{border-left:0;border-top:1px solid var(--ln)}
	.bod3-gen-l,.bod3-gen-r{padding:22px 18px}
	.bod3-gen-l h3{font-size:24px}
	.bod3-pasek{padding:16px 18px}
	.bod3-pasek .bod3-btn{margin-left:0;width:100%}
	.bod3-gate{padding:26px 18px}
	.bod3-gate-btns .bod3-btn,.bod3-gate-btns .bod3-btn-o{width:100%}
}
/* atrybut hidden zawsze silniejszy od display w regułach komponentów */
.bod3 [hidden],.bod3-sv [hidden]{display:none!important}
.bod3-plan-nowy{animation:bod3-wejscie .4s ease both}
@keyframes bod3-wejscie{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bod3-plan-nowy{animation:none}}
/* ═══ widok dnia (v3) — 1:1 z makietą ═══ */
.bod3-dzien{background:#fff;border:1px solid var(--ln);border-radius:22px;overflow:hidden;box-shadow:0 24px 54px -40px rgba(21,8,42,.3)}
.bod3-dzien-hd{background:var(--krem);border-bottom:1px solid var(--ln);padding:20px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.bod3-dzien-hd h3{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:22px;margin:0;color:var(--ink)}
.bod3-znaczniki{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.bod3-znacznik{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:rgba(21,8,42,.07);color:var(--mut)}
.bod3-znacznik.is-trening{background:var(--g);color:#fff}
.bod3-dzien-akcje{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.bod3-dzien-akcje .bod3-btn-o{min-height:44px;padding:11px 18px;font-size:11px}
.bod3-plan-dnia{padding:16px 24px 18px;border-bottom:1px solid var(--ln)}
.bod3-plan-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.bod3-plan-top .lb{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.bod3-plan-top .pv{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:21px}
.bod3-plan-top .zj{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--mut)}
.bod3-track{display:block;height:7px;border-radius:999px;background:rgba(21,8,42,.08);overflow:hidden}
.bod3-track i{display:block;height:100%;background:var(--g);border-radius:999px;transition:width .3s}
.bod3-makro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.bod3-makro-kafel{background:var(--krem);border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}
.bod3-makro-kafel .et{font-size:11.5px;font-weight:800;color:var(--ink)}
.bod3-makro-kafel .wa{font-size:11.5px;font-weight:700;color:var(--mut);font-variant-numeric:tabular-nums}
.bod3-posilki{display:block}
.bod3-posilek{border-bottom:1px solid rgba(21,8,42,.06);position:relative}
.bod3-posilek:last-child{border-bottom:0}
.bod3-zwijak{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.bod3-wiersz{display:flex;align-items:center;gap:14px;padding:14px 24px;min-height:64px}
.bod3-posilek:hover .bod3-wiersz{background:rgba(251,247,244,.6)}
.bod3-zwijak:checked~.bod3-wiersz{background:#FDFAFB}
.bod3-check{width:30px;height:30px;min-width:30px;border-radius:50%;border:1.5px solid rgba(21,8,42,.18);display:grid;place-items:center;cursor:pointer;position:relative;transition:background .18s,border-color .18s}
.bod3-check:hover{border-color:var(--pink)}
.bod3-check input{position:absolute;opacity:0;width:1px;height:1px}
.bod3-check.is-on{border-color:transparent;background:var(--g)}
.bod3-check.is-on::after{content:'';width:11px;height:6px;border-left:2.4px solid #fff;border-bottom:2.4px solid #fff;transform:rotate(-45deg);margin-top:-3px}
.bod3-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bod3-wiersz-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;cursor:pointer}
.bod3-kat{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mag)}
.bod3-nazwa{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:16.5px;line-height:1.2;color:var(--ink)}
.bod3-posilek.is-zrobiony .bod3-nazwa{color:var(--mut);text-decoration:line-through}
.bod3-meta{font-size:11.5px;font-weight:700;color:var(--mut)}
.bod3-kcal{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:15.5px;white-space:nowrap}
.bod3-chev{width:30px;height:30px;min-width:30px;border-radius:50%;border:1.5px solid var(--ln);cursor:pointer;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B5778' stroke-width='2.6' stroke-linecap='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat center/12px;transition:transform .2s,border-color .2s}
.bod3-zwijak:checked~.bod3-wiersz .bod3-chev{transform:rotate(180deg);border-color:var(--mag)}
.bod3-szczegoly{display:none;padding:2px 24px 20px 68px}
.bod3-zwijak:checked~.bod3-szczegoly{display:block}
.bod3-szczegoly h4{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--mut);margin:14px 0 8px}
.bod3-skladniki{list-style:none;margin:0;padding:0}
.bod3-skladniki li{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid rgba(21,8,42,.05);font-size:13.5px;font-weight:600}
.bod3-skladniki li span:last-child{margin-left:auto;color:var(--mut);font-size:12.5px}
.bod3-kroki{list-style:none;margin:0;padding:0;counter-reset:krok}
.bod3-kroki li{counter-increment:krok;position:relative;padding-left:28px;font-size:13.5px;line-height:1.55;margin-bottom:8px}
.bod3-kroki li::before{content:counter(krok);position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:rgba(200,29,140,.1);color:var(--mag);font-size:10.5px;font-weight:800;display:grid;place-items:center}
.bod3-pigulki{display:flex;gap:8px;flex-wrap:wrap}
.bod3-pigulki span{font-size:11px;font-weight:800;color:var(--mut);background:var(--krem);border-radius:999px;padding:6px 12px}
.bod3-stopka-posilku{font-size:12.5px;color:var(--mut);line-height:1.55;margin:14px 0 0;border-top:1px solid rgba(21,8,42,.06);padding-top:12px}
.bod3-stopka-posilku b{color:var(--ink)}
.bod3-akcje-posilku{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.bod3-akcja{appearance:none;border:1.5px solid var(--ln);background:#fff;border-radius:999px;padding:11px 16px;min-height:44px;font-family:inherit;font-weight:800;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:border-color .18s,color .18s}
.bod3-akcja:hover{border-color:var(--pink);color:var(--mag)}
.bod3-akcja.is-on{background:var(--g);border-color:transparent;color:#fff}
.bod3-akcja.is-zapisane{background:rgba(27,158,75,.1);border-color:transparent;color:var(--ok);cursor:default}
.bod3-dzien-ft{padding:14px 24px;background:var(--krem);border-top:1px solid var(--ln);font-size:12.5px;color:var(--mut)}
@media(max-width:820px){
	.bod3-dzien-hd,.bod3-plan-dnia,.bod3-dzien-ft{padding-left:16px;padding-right:16px}
	.bod3-wiersz{padding:14px 16px;flex-wrap:wrap}
	.bod3-wiersz-tx{flex:1 1 60%}
	.bod3-szczegoly{padding:2px 16px 18px 16px}
	.bod3-makro{grid-template-columns:1fr}
	.bod3-dzien-akcje{margin-left:0;width:100%}
	.bod3-dzien-akcje .bod3-btn-o{flex:1;justify-content:center}
}
/* ═══ przełącznik widoków planu, tydzień, lista zakupów ═══ */
.bod3-widoki{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.bod3-segs{display:inline-flex;gap:4px;background:#F3ECEF;border-radius:999px;padding:4px}
.bod3-seg{appearance:none;border:0;background:none;border-radius:999px;padding:11px 20px;min-height:44px;font-family:inherit;font-weight:800;font-size:12.5px;color:var(--mut);cursor:pointer;transition:background .18s,color .18s}
.bod3-seg:hover{color:var(--ink)}
.bod3-seg.is-on{background:#fff;color:var(--ink);box-shadow:0 1px 6px rgba(21,8,42,.14)}
.bod3-widoki-akcje{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.bod3-widoki-akcje .bod3-btn-o{min-height:44px;padding:11px 18px;font-size:11px}
.bod3-od-nowa{border-color:rgba(21,8,42,.25)}
.bod3-widok{display:none}
.bod3-widok.is-on{display:block}
/* tydzień */
.bod3-tydzien{background:#fff;border:1px solid var(--ln);border-radius:22px;overflow:hidden;box-shadow:0 24px 54px -40px rgba(21,8,42,.3)}
.bod3-dzien-tyg{border-bottom:1px solid rgba(21,8,42,.06);position:relative}
.bod3-dzien-tyg:last-child{border-bottom:0}
.bod3-tyg-hd{display:flex;align-items:center;gap:12px;padding:16px 24px;cursor:pointer;min-height:60px;flex-wrap:wrap}
.bod3-tyg-hd:hover{background:rgba(251,247,244,.6)}
.bod3-tyg-hd .nr{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:16px;min-width:74px}
.bod3-tyg-hd .nm{font-size:13px;font-weight:700;color:var(--mut);text-transform:capitalize}
.bod3-tyg-hd .kc{margin-left:auto;font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:15px}
.bod3-tyg-tresc{display:none;padding:0 24px 16px}
.bod3-dzien-tyg .bod3-zwijak:checked~.bod3-tyg-tresc{display:block}
.bod3-dzien-tyg .bod3-zwijak:checked~.bod3-tyg-hd .bod3-chev{transform:rotate(180deg);border-color:var(--mag)}
.bod3-tyg-wiersz{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid rgba(21,8,42,.05);flex-wrap:wrap}
.bod3-tyg-wiersz:last-child{border-bottom:0}
.bod3-tyg-wiersz .kat{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mag);min-width:124px}
.bod3-tyg-wiersz .nm{flex:1;min-width:0;font-size:14px;font-weight:600}
.bod3-tyg-wiersz .kc{font-size:12.5px;font-weight:800;color:var(--mut);white-space:nowrap}
/* lista zakupów */
.bod3-zakupy{background:#fff;border:1px solid var(--ln);border-radius:22px;padding:26px 28px;box-shadow:0 24px 54px -40px rgba(21,8,42,.3)}
.bod3-zakupy h3{font-family:'Mulish',Georgia,serif;font-style:italic;font-weight:900;font-size:24px;margin:0 0 14px}
.bod3-zakupy h4{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--mag);margin:20px 0 8px}
.bod3-zakupy ul{list-style:none;margin:0;padding:0}
.bod3-zakupy li{border-bottom:1px solid rgba(21,8,42,.05)}
.bod3-zakupy label{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:13.5px;font-weight:600;cursor:pointer}
.bod3-zakupy label input{width:20px;height:20px;min-width:20px;accent-color:#C81D8C;margin:0}
.bod3-zakupy label .ile{margin-left:auto;color:var(--mut);font-size:12.5px}
.bod3-zakupy label:has(input:checked) span{text-decoration:line-through;color:var(--mut)}
@media(max-width:820px){
	.bod3-widoki-akcje{margin-left:0;width:100%}
	.bod3-widoki-akcje .bod3-btn-o{flex:1;justify-content:center}
	.bod3-segs{width:100%}
	.bod3-seg{flex:1}
	.bod3-tyg-hd,.bod3-tyg-tresc{padding-left:16px;padding-right:16px}
	.bod3-tyg-wiersz .kat{min-width:0;width:100%}
	.bod3-zakupy{padding:20px 16px}
}
@media print{.bod3-widoki,.bod3-hd,.bod3-h2,.bod3-sub,.bod3-pasek,.bod3-gen,.bod3-zmien,.bodg-karty,.bodg-segs{display:none!important}.bod3-widok{display:block!important}.bod3-dzien,.bod3-tydzien,.bod3-zakupy{border:0;box-shadow:none}}
/* ═══ 3.3.1 — szerokość: kontener 1320 px jak karta produktu, marginesy 24/16 px ═══ */
/* Kontenery Elementora/motywu obcinały treść do ~800 px - zerujemy je na stronach z widokiem v3. */
html body:has(.bod3) :is(.site-main,main,article,.page-content,.entry-content,.elementor,.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget,.elementor-widget-container,.elementor-widget-shortcode,.e-con,.e-con-inner,.e-child,.elementor-element){max-width:none!important}
html body .bod3{width:auto!important;max-width:1320px!important;margin-left:auto!important;margin-right:auto!important;padding-left:24px!important;padding-right:24px!important}
@media(max-width:900px){html body .bod3{padding-left:16px!important;padding-right:16px!important}}
/* ═══ 3.3.2 — układ i odstępy w ankiecie ═══ */
.bod3-opts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
@media(max-width:1100px){.bod3-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bod3-opts{grid-template-columns:1fr}}
.bod3-opt{padding:16px;gap:12px;align-items:center}
.bod3-opt:hover{border-color:rgba(21,8,42,.2);transform:none}
.bod3-opt-ic{width:36px;height:36px;min-width:36px;border-radius:12px}
.bod3-opt-ic svg{width:17px;height:17px}
.bod3-opt-tx b{font-size:15px;margin-bottom:2px}
.bod3-opt-tx span{font-size:12px;line-height:1.4}
.bod3-lb{margin:22px 0 8px}
.bod3-chips{gap:6px}
.bod3-chip{padding:9px 15px;min-height:42px;font-size:12px}
.bod3-note{margin:12px 0 0;max-width:640px}
.bod3-duzo{margin-top:18px}
.bod3-sv-body{padding:28px 28px 24px;min-height:280px}
.bod3-q{font-size:27px}
.bod3-qh{margin-top:6px;max-width:640px}
.bod3-zgoda{margin-top:16px;max-width:640px}
@media(max-width:820px){.bod3-sv-body{padding:20px 16px 18px}.bod3-q{font-size:22px}}
/* ═══ 3.4.1 — szerokość niezależna od kontenerów motywu + kremowe tło ═══ */
/* Kontener rodzica ma ~800 px i nie da się go rozszerzyć regułami max-width, więc widok
   wychodzi z niego: pełna szerokość okna, wyśrodkowany, treść ograniczona do 1320 px. */
html body .bod3{position:relative!important;left:50%!important;transform:translateX(-50%)!important;width:100vw!important;max-width:100vw!important;margin:0!important;padding:0!important;background:transparent}
html body .bod3>*{max-width:1320px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
@media(max-width:900px){html body .bod3>*{padding-left:16px;padding-right:16px}}
/* kremowe tło obszaru diety (białe karty muszą się od czegoś odcinać) */
html body:has(.bod3){background:#FBF7F4}
html body:has(.bod3) :is(.site-main,main,article,.page-content,.entry-content,.elementor-section,.e-con,.elementor-widget-container){background:transparent!important}
html body .bod3{padding-top:8px!important;padding-bottom:40px!important}
/* karty gotowych: pięć w rzędzie w 1320 px */
html body .bodg-karty{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media(max-width:1200px){html body .bodg-karty{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){html body .bodg-karty{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){html body .bodg-karty{grid-template-columns:1fr!important}}
/* ═══ 3.4.2 — jeden wrapper trzyma linię 1320 px (elementy o własnej szerokości nie uciekają) ═══ */
html body .bod3>*{max-width:none;margin:0;padding:0}
html body .bod3-wrap{max-width:1320px!important;margin:0 auto!important;padding:8px 24px 40px!important;box-sizing:border-box}
@media(max-width:900px){html body .bod3-wrap{padding:8px 16px 32px!important}}
html body .bodg-segs{margin-left:0;margin-right:auto}

/* ═══ 3.4.3 — typografia i układ szczegółów posiłku ═══ */
/* 1. kropki listy z motywu nachodziły na nazwy składników */
html body .bod3-skladniki{list-style:none!important}
html body .bod3-skladniki li::before,html body .bod3-skladniki li::marker,html body .bod3-pigulki span::before,html body .bod3-kroki li::marker{content:none!important;display:none!important}
/* 2. składniki w kolumnach - nazwa i miara zostają obok siebie, nie na dwóch końcach ekranu */
html body .bod3-skladniki{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:40px;row-gap:0;margin:0!important;padding:0!important}
html body .bod3-skladniki li{display:grid!important;grid-template-columns:1fr auto;align-items:baseline;gap:4px 16px;margin:0!important;padding:9px 0!important}
html body .bod3-skladniki li>span:last-child{margin-left:0!important;white-space:nowrap;text-align:right}
@media(max-width:820px){html body .bod3-skladniki{grid-template-columns:1fr;column-gap:0}}
/* 3. jedna skala pisma w środku karty (motyw podbijał rozmiary) */
html body .bod3-szczegoly{font-family:'Manrope',-apple-system,'Segoe UI',sans-serif}
html body .bod3-szczegoly h4{font-size:11px!important;font-weight:800!important;letter-spacing:.14em!important;line-height:1.2!important;margin:20px 0 6px!important}
html body .bod3-szczegoly>h4:first-child{margin-top:4px!important}
html body .bod3-skladniki li{font-size:14.5px!important;line-height:1.45!important;font-weight:600!important}
html body .bod3-skladniki li>span:last-child{font-size:13px!important;font-weight:700!important}
html body .bod3-kroki{max-width:76ch}
html body .bod3-kroki li{font-size:14.5px!important;line-height:1.6!important;margin-bottom:10px!important;padding-left:30px!important}
html body .bod3-pigulki span{font-size:12px!important;line-height:1.2!important}
html body .bod3-stopka-posilku{font-size:13px!important;line-height:1.6!important;max-width:76ch}

/* ═══ 3.4.4 — TYPOGRAFIA CALEJ WTYCZKI: motyw nie podmienia juz krojow ani rozmiarow ═══ */
/* kroj tekstowy */
html body .bod3,html body .bod3 :is(p,span,li,ul,ol,dl,dt,dd,label,div,small,strong,em,b,i,a,button,summary,input,select,textarea,h1,h2,h3,h4,h5,h6,table,th,td){font-family:'Manrope',-apple-system,'Segoe UI',sans-serif!important;font-style:normal}
/* kroj naglowkowy (Mulish italic) */
html body .bod3 :is(.bod3-h2,.bod3-q,.bod3-nazwa,.bod3-kcal,.bod3-opt-num,.bod3-plan-top .pv,.bod3-tyg-hd .nr,.bod3-tyg-hd .kc,.bod3-hd h1,.bod3-gen-l h3,.bod3-dzien-hd h3,.bod3-ok h3,.bod3-gate h3,.bod3-zakupy h3,.bod3-opt-tx b,.bod3-pasek b,.bod3-big input,.bod3-suma b),html body .bod3.bod3-hd h1{font-family:'Mulish',Georgia,serif!important;font-style:italic!important;font-weight:900!important}
/* skala: naglowki */
html body .bod3 .bod3-hd h1{font-size:52px!important;line-height:1!important}
html body .bod3 .bod3-hd p{font-size:16.5px!important;line-height:1.6!important}
html body .bod3 .bod3-h2{font-size:24px!important;line-height:1.15!important}
html body .bod3 .bod3-sub{font-size:14.5px!important;line-height:1.6!important}
html body .bod3 .bod3-eyebrow{font-size:11px!important;font-weight:800!important;letter-spacing:.18em!important;line-height:1.2!important}
/* skala: ankieta */
html body .bod3 .bod3-sv-krok{font-size:10.5px!important;font-weight:800!important;letter-spacing:.14em!important}
html body .bod3 .bod3-q{font-size:30px!important;line-height:1.1!important}
html body .bod3 .bod3-qh{font-size:13.5px!important;line-height:1.55!important;margin:8px 0 0!important}
html body .bod3 .bod3-lb{font-size:11px!important;font-weight:800!important;letter-spacing:.13em!important;line-height:1.2!important;margin:24px 0 10px!important}
html body .bod3 .bod3-note{font-size:12.5px!important;line-height:1.55!important;margin:14px 0 0!important}
html body .bod3 .bod3-opt-tx b{font-size:17px!important;line-height:1.15!important}
html body .bod3 .bod3-opt-tx span{font-size:12.5px!important;font-weight:500!important;line-height:1.45!important}
html body .bod3 .bod3-chip{font-size:12.5px!important;font-weight:800!important;line-height:1!important}
html body .bod3 .bod3-big input{font-size:34px!important;line-height:1.1!important}
html body .bod3 .bod3-big .jed{font-size:15px!important;font-weight:800!important}
html body .bod3 :is(.bod3-zaaw>summary,.bod3-zmien>summary){font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important}
html body .bod3 .bod3-zaaw select{font-size:14px!important;font-weight:600!important}
html body .bod3 .bod3-zgoda{font-size:12.5px!important;line-height:1.5!important}
html body .bod3 .bod3-ok h3{font-size:27px!important;line-height:1.15!important}
html body .bod3 :is(.bod3-ok p,.bod3-gate p){font-size:14.5px!important;line-height:1.6!important}
html body .bod3 .bod3-gate h3{font-size:25px!important;line-height:1.1!important}
/* skala: pas generatora */
html body .bod3 .bod3-gen-l h3{font-size:28px!important;line-height:1.08!important}
html body .bod3 .bod3-gen-l p{font-size:14.5px!important;line-height:1.6!important}
html body .bod3 .bod3-gen-l li{font-size:14px!important;font-weight:600!important;line-height:1.5!important}
html body .bod3 .bod3-krok span{font-size:13.5px!important;font-weight:700!important;line-height:1.4!important}
html body .bod3 .bod3-czas{font-size:12px!important;font-weight:700!important}
html body .bod3 .bod3-pasek b{font-size:19px!important;line-height:1.15!important}
html body .bod3 .bod3-pasek p{font-size:13.5px!important;line-height:1.5!important}
/* skala: dzien, tydzien, zakupy */
html body .bod3 .bod3-dzien-hd h3{font-size:22px!important;line-height:1.15!important}
html body .bod3 .bod3-znacznik{font-size:9.5px!important;font-weight:800!important;letter-spacing:.1em!important}
html body .bod3 .bod3-plan-top .lb{font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important}
html body .bod3 .bod3-plan-top .pv{font-size:21px!important}
html body .bod3 .bod3-plan-top .zj{font-size:12.5px!important;font-weight:800!important}
html body .bod3 .bod3-kat{font-size:9.5px!important;font-weight:800!important;letter-spacing:.12em!important}
html body .bod3 .bod3-nazwa{font-size:16.5px!important;line-height:1.2!important}
html body .bod3 .bod3-meta{font-size:11.5px!important;font-weight:700!important}
html body .bod3 .bod3-kcal{font-size:15.5px!important}
html body .bod3 .bod3-tyg-hd .nr{font-size:16px!important}
html body .bod3 .bod3-tyg-hd .nm{font-size:13px!important;font-weight:700!important}
html body .bod3 .bod3-tyg-hd .kc{font-size:15px!important}
html body .bod3 .bod3-zakupy h3{font-size:24px!important;line-height:1.15!important}
html body .bod3 .bod3-zakupy h4{font-size:10.5px!important;font-weight:800!important;letter-spacing:.13em!important}
html body .bod3 .bod3-zakupy li{font-size:14px!important;font-weight:600!important;line-height:1.45!important}
html body .bod3 .bod3-dzien-ft{font-size:12.5px!important;line-height:1.55!important}
/* skala: przyciski i przelaczniki */
html body .bod3 :is(.bod3-btn,.bod3-btn-o){font-size:12px!important;font-weight:800!important;letter-spacing:.06em!important;line-height:1!important}
html body .bod3 .bod3-seg{font-size:12.5px!important;font-weight:800!important;line-height:1!important}
html body .bod3 .bod3-akcja{font-size:11.5px!important;font-weight:800!important;letter-spacing:.04em!important;line-height:1!important}
html body .bod3 .bod3-hint{font-size:12px!important;line-height:1.5!important}
@media(max-width:900px){
html body .bod3 .bod3-hd h1{font-size:34px!important}
html body .bod3 .bod3-q{font-size:23px!important}
html body .bod3 .bod3-big input{font-size:28px!important}
html body .bod3 .bod3-gen-l h3{font-size:24px!important}
html body .bod3 .bod3-h2{font-size:21px!important}
}

/* ═══ 3.4.5 — odstepy w szczegolach posilku ═══ */
html body .bod3-szczegoly{padding:2px 24px 24px 68px!important}
@media(max-width:820px){html body .bod3-szczegoly{padding:2px 16px 20px!important}}
html body .bod3-szczegoly>h4{margin:22px 0 8px!important}
html body .bod3-szczegoly>h4:first-child{margin-top:6px!important}
html body .bod3-skladniki li:last-child,html body .bod3-skladniki li:nth-last-child(2):nth-child(odd){border-bottom:0!important}
html body .bod3-kroki{margin:0!important}
html body .bod3-kroki li:last-child{margin-bottom:0!important}
html body .bod3-pigulki{margin:2px 0 0!important;gap:8px!important}
html body .bod3-stopka-posilku{margin:20px 0 0!important;padding-top:14px!important}
html body .bod3-akcje-posilku{margin-top:18px!important;gap:8px!important}
