.anpani-steps{max-width:1100px;margin:20px auto;padding:0 14px;color:#111}
.anpani-steps__header{margin-bottom:12px}
.anpani-steps__header h1{margin:0;font-size:26px;letter-spacing:.2px}
.anpani-steps__subtitle{opacity:.75;margin-top:2px}
.anpani-card{background:#fff;border:1px solid #e6e6e6;border-radius:14px;padding:16px;box-shadow:0 2px 14px rgba(0,0,0,.04)}
.anpani-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:760px){.anpani-grid{grid-template-columns:1fr}}
.anpani-field label{display:block;font-weight:600;margin-bottom:6px}
.anpani-field input,
.anpani-field select{
  width:100%;
  height:44px;                 /* ⬅️ pevná výška */
  padding:0 12px;              /* ⬅️ zruší vertikální padding */
  border:1px solid #d9d9d9;
  border-radius:10px;
  font-size:15px;
  box-sizing:border-box;
}

/* Pohlaví – finální verze */
.anpani-radio{
  display:flex;
  align-items:center;
  gap:18px;

  height:44px;              /* ✅ stejná výška jako input */
  padding:0 12px;           /* ✅ stejné jako input (jen vodorovně) */
  border:1px solid #d9d9d9;
  border-radius:10px;
  box-sizing:border-box;    /* ✅ aby border nevyskočil výšku */
}

.anpani-radio label{
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  margin:0;
  font-weight:400;
}

.anpani-radio input[type="radio"]{
  margin:0;
}

.anpani-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.anpani-actions__right{display:flex;gap:10px;flex-wrap:wrap}
.anpani-actions--bottom{justify-content:flex-end}
.anpani-msg{margin-top:10px;color:#b00020;font-weight:600}
/* C2: hláška nesmí blokovat klikání na tlačítka */
.anpani-msg{
  position: static !important;     /* jistota, že to není fixed/absolute z theme */
  pointer-events: none !important; /* hláška nikdy nechytá klik */
  z-index: 0 !important;
}

/* ======================================
   ANPANI – HEADER PRO KROK 1–3
   ====================================== */

/* společná hlavička */
.anpani-steps .anpani-web-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;

  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #ddd;

  text-align: left;
}

/* textový blok (název + krok) */
.anpani-steps .anpani-web-header__text h1{
  margin: 0;
}

.anpani-steps .anpani-web-header__text .anpani-steps__subtitle{
  margin-top: 4px;
}

/* logo vpravo */
.anpani-steps .anpani-web-header img{
  height: 48px;
  width: auto;
  object-fit: contain;
  margin-left: auto;
  display: block;
}

/* =================================================
   ANPANI APP – SPOLEČNÝ LAYOUT PRO VŠECHNY ŠABLONY
   (step1/2/3, all-meals, program-info, print-*)
   ================================================= */

.anpani-app{
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* společná textová patička */
.anpani-app .foot{
  margin-top: auto;         /* vždy úplně dolů */
  padding: 10px 0 8px;
  text-align: center;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #777;
}

/* spodní ovládání (tlačítka) – ať je nad patičkou */
.anpani-app .anpani-actions--bottom{
  margin-top: 18px;
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* =================================================
   ANPANI – PATIČKA (TEXTOVÁ)
   ================================================= */

.anpani-steps .foot{
  margin-top: auto;     /* ⬅️ vždy úplně dolů */
  padding: 12px 0 8px;

  text-align: center;
  font-size: 11px;      /* menší */
  font-weight: 500;
  letter-spacing: 0.04em;

  color: #777;
}

/* =========================
   ANPANI – JEDNOTNÁ TLAČÍTKA (GLOBAL)
   ========================= */

.anpani-btn,
a.anpani-btn,
button.anpani-btn{
  -webkit-appearance:none;
  appearance:none;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  height:38px !important;      /* ✅ pevná výška */
  padding:0 18px !important;   /* ✅ jen vodorovné odsazení */

  border-radius:12px !important;

  font-weight:900 !important;
  font-size:14px !important;
  line-height:1 !important;

  border:1px solid #111 !important;
  background:#fff !important;
  color:#111 !important;

  text-decoration:none !important;
  cursor:pointer;

  transition:
    transform .06s ease,
    opacity .12s ease,
    background-color .12s ease,
    color .12s ease,
    border-color .12s ease;
}

  .anpani-meal-actions{
  margin-top:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

.anpani-meal-actions .anpani-btn{
  min-width:160px;
}

/* ==================================================
   NAV VEIL – zakryje bílé bliknutí při přechodu kroků
   ================================================== */
.anpani-nav-veil{
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: none;
  align-items: center;
  justify-content: center;
  background: #f6f6f6;
}

.anpani-nav-veil.is-on{ display:flex; }

.anpani-nav-veil__box{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border:1px solid #e6e6e6;
  border-radius:999px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.10);
  font-weight:700;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#111;
}

/* =========================
   HOVER – VŽDY ČERNÉ + BÍLÉ
   ========================= */

.anpani-btn:hover,
a.anpani-btn:hover,
button.anpani-btn:hover{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;          /* ✅ KLÍČOVÉ */
  text-decoration:none !important;
  transform: translateY(-1px);
}

/* ACTIVE */
.anpani-btn:active{
  transform: translateY(0);
  opacity:.95;
}

/* FOCUS (klávesnice) */
.anpani-btn:focus-visible{
  outline: 3px solid rgba(0,0,0,.2);
  outline-offset: 2px;
}

/* =========================
   VARIANTY
   ========================= */

/* PRIMARY – zůstává černé */
.anpani-btn--primary{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}
.anpani-btn--primary:hover{
  background:#111 !important;
  color:#fff !important;
  opacity:.92;
}

/* GHOST – taky invert na hover */
.anpani-btn--ghost{
  background:#fff !important;
  color:#111 !important;
  border-color:#111 !important;
}
.anpani-btn--ghost:hover{
  background:#111 !important;
  color:#fff !important;
}

/* =========================
   DISABLED
   ========================= */

.anpani-btn[disabled],
.anpani-btn.is-disabled{
  opacity:.45 !important;
  cursor:not-allowed !important;
  transform:none !important;
}

/* ========== SOUHRN (KROK 1 + 3) – JEDINÁ DEFINICE ========== */
.anpani-summary{
  margin-top:12px;
  padding:12px;
  border-radius:12px;
  background:#fafafa;
  border:1px solid #eee;
}
.anpani-summary__row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:6px 0;
  border-bottom:1px dashed #e6e6e6;
}
.anpani-summary__row:last-child{border-bottom:none}
.anpani-summary__row .lbl{font-weight:600;text-align:left}
.anpani-summary__row .val{
  margin-left:auto;
  text-align:right;
  white-space:nowrap;
  font-weight:800;
}

.anpani-mini{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 12px 0;padding:10px 12px;border:1px solid #eee;border-radius:12px;background:#fafafa}
.anpani-table-wrap{overflow:auto;border-radius:12px;border:1px solid #eee}
.anpani-table{width:100%;border-collapse:collapse;min-width:920px;background:#fff}
.anpani-table th,.anpani-table td{padding:10px;border-bottom:1px solid #f0f0f0;vertical-align:top}
.anpani-table th{background:#fafafa;text-align:left;font-weight:700}
.anpani-table select{width:100%;min-width:160px}
.anpani-h2{margin:14px 0 10px 0;font-size:18px}
.anpani-hint{opacity:.8;margin:-4px 0 10px 0}
.anpani-shopping{margin-top:14px;padding-top:8px;border-top:1px solid #eee}
.anpani-shopping h3{margin:10px 0 6px 0}
.anpani-shopping ul{margin:0 0 10px 16px}

/* Nákupní seznam – UX převod jednotek (ne chyba) */
.anpani-shop-alt,
.anpani-shopping .anpani-shop-alt,
#shopping-body .anpani-shop-alt{
  color: rgba(17, 17, 17, 0.52);
  font-weight: 500;
  opacity: 1;
}
.anpani-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
@media (max-width:760px){.anpani-notes{grid-template-columns:1fr}}
.anpani-note{border:1px solid #eee;border-radius:12px;padding:12px;background:#fafafa}
.controls-info { margin-top: 10px; }

.info-row { margin-top: 8px; }

.info-trigger{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

.info-icon{
  width: 26px;
  height: 26px;
  border: 1px solid #111;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
}

.info-bubble{
  display: none;
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  width: min(520px, 92vw);
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  padding: 12px 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  z-index: 9999;
}

.info-trigger.is-open .info-bubble{ display:block; }

/* malá šipka */
.info-bubble::before{
  content:"";
  position:absolute;
  top:-7px;
  left: 18px;
  width: 12px;
  height: 12px;
  background:#fff;
  border-left:1px solid #e6e6e6;
  border-top:1px solid #e6e6e6;
  transform: rotate(45deg);
}



/* Hover + kurzor “klikací” (WEB) */
td.anpani-weekly-cell { cursor: pointer; }
td.anpani-weekly-cell:hover { background: rgba(0,0,0,.04); }
td.anpani-weekly-cell:active { transform: translateY(1px); }
/* Detail jídla jako karta/panel (krok 3) */
.anpani-meal-detail{
  margin-top:14px;
  border:1px solid #eee;
  border-radius:16px;
  padding:14px;
  background:#fff;
  box-shadow:0 2px 14px rgba(0,0,0,.04);
}

.anpani-meal-detail__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.anpani-meal-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.anpani-pill{
  display:inline-block;
  font-size:12px;
  padding:6px 10px;
  border:1px solid #eee;
  border-radius:999px;
  background:#fafafa;
  margin-right:6px;
  margin-bottom:6px;
}

.anpani-meal-card__img{
  width:140px;
  height:90px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid #eee;
}

/* ===== ANPANI IMG ZOOM (screen only, click-to-zoom, NO MODAL) ===== */
@media screen{
  .anpani-meal-card,
  .anpani-meal-card__top{
    overflow: visible !important; /* ať se zoom neřeže */
  }
  .anpani-meal-card__top{ position: relative !important; }

  img.anpani-meal-card__img{
    cursor: zoom-in;
    transform: scale(1);
    transform-origin: top right;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    position: relative;
    z-index: 1;
  }

  img.anpani-meal-card__img.is-zoomed{
    transform: scale(3);
    cursor: zoom-out;
    z-index: 50;
    box-shadow: 0 14px 40px rgba(0,0,0,.18);
    filter: saturate(1.03) contrast(1.02);
  }
}

.anpani-meal-card__macros{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}

@media (max-width:760px){
  .anpani-meal-card__top{flex-direction:column}
  .anpani-meal-card__img{width:100%;height:160px}
  .anpani-meal-card__macros{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.muted{opacity:.7;font-size:12px}
.big{font-weight:800;font-size:16px}


/* Modal */
.anpani-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}
.anpani-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.anpani-modal__panel{position:relative;z-index:1;background:#fff;border-radius:16px;max-width:760px;width:92vw;max-height:86vh;overflow:auto;border:1px solid #eee}
.anpani-modal__panel--wide{max-width:980px}
.anpani-modal__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px;border-bottom:1px solid #eee}
.anpani-modal__title{font-weight:800}
.anpani-x{border:none;background:transparent;font-size:24px;cursor:pointer;line-height:1}
.anpani-modal__body{padding:14px}
.anpani-modal__foot{padding:14px;border-top:1px solid #eee;display:flex;justify-content:flex-end}

/* PRINT */
.anpani-print-header{display:none}

@media print{
  @page { margin: 10mm !important; }

  html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body{background:#fff}

  .anpani-steps__header,.anpani-actions,.anpani-msg,.anpani-modal,.anpani-notes{display:none !important}
  .anpani-card{border:none;box-shadow:none}

  .anpani-print-header{
    display:block !important;
    position:fixed;
    top:0;left:0;right:0;
    padding:8mm 10mm;
    border-bottom:1px solid #ddd;
    background:#fff
  }
  .anpani-print-header__inner{display:flex;align-items:center;gap:10px}
  .anpani-print-header img{height:18mm;width:auto;max-width:60mm;object-fit:contain}
  .anpani-print-header__title{font-weight:800}

  .anpani-card{margin-top:26mm}

  /* Elementor/Theme okraje pryč */
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-element,
  .site,
  .site-content,
  .content-area,
  .container,
  .page,
  .entry-content {
    margin: 0 !important;
    padding: 0 !important;
  }

  .anpani-wrap {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
  }

  .big-logo,
  .big-logo-wrap,
  .header,
  header,
  .topbar {
    display: none !important;
  }
}


/* === ANPANI LUX SYSTEM v1 ===
   jednotné fonty + “Gucci” typografie pro celý program (web + modal + all-meals + print)
   Pozn.: tenhle blok nech být POSLEDNÍ v souboru.
*/
:root{
  --anpani-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --anpani-serif: "Playfair Display", Georgia, "Times New Roman", serif;

  --anpani-text: #111;
  --anpani-muted: rgba(17,17,17,.68);
  --anpani-border: #ededed;
  --anpani-track: .08em;
}

/* ZÁKLAD – apply na všechny naše kontejnery (krok 1–3, all-meals, modaly i print) */
.anpani-steps,
.anpani-app,
.anpani-app .wrap,
.anpani-wrap,
.anpani-modal,
.anpani-modal__panel,
.wrap{
  font-family: var(--anpani-sans) !important;
  color: var(--anpani-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* SERIF – jen nadpisy a názvy jídel */
.anpani-steps h1, .anpani-steps h2, .anpani-steps h3,
.anpani-app h1,  .anpani-app h2,  .anpani-app h3,
.anpani-meal-card__title,
.anpani-meal-title,
.meal-title,
.wrap h2{
  font-family: var(--anpani-serif) !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}

/* “Gucci labels” – pills, hlavičky tabulek, malé popisky */
.anpani-pill,
.anpani-table th,
.muted,
.anpani-steps__subtitle,
.kicker,.label,.smallcaps{
  font-family: var(--anpani-sans) !important;
  text-transform: uppercase;
  letter-spacing: var(--anpani-track);
  font-weight: 700 !important;
  font-size: 12px;
  color: var(--anpani-muted);
}


/* ČÍSLA (kcal/B/T/S) – jednotně výrazná */
.big, .val b, .kcal b, .macro b, .anpani-macro b{
  font-family: var(--anpani-sans) !important;
  font-weight: 900 !important;
}

/* jednotky v makro kartách – vždy tenké */
.big .anpani-unit{ font-weight: 400 !important; }

/* pojistka globálně */
.anpani-unit{ font-weight: 400 !important; }
/* Jemnější “lux” bordery */
.anpani-card,
.anpani-table-wrap,
.anpani-meal-detail,
.anpani-modal__panel,
.anpani-pill{
  border-color: var(--anpani-border) !important;
}

/* === HOTFIX: gramáž se NESMÍ lámat (67 g) === */
.anpani-steps .blocks ul li b,
.anpani-app  .blocks ul li b,
.anpani-meal-detail ul li b,
.anpani-list li b{
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  flex: 0 0 auto !important;   /* nesmí se smrsknout tak, že to zalomí */
}

/* BLOKY – číslo 900, g tenké */
.anpani-steps .blocks ul li b,
.anpani-app  .blocks ul li b,
.anpani-meal-detail ul li b,
.anpani-list li b{
  font-weight: 900 !important;
}

.anpani-steps .blocks ul li b .anpani-unit,
.anpani-app  .blocks ul li b .anpani-unit,
.anpani-meal-detail ul li b .anpani-unit,
.anpani-list li b .anpani-unit{
  font-weight: 400 !important;
}
/* PRINT – stejné fonty (některé theme to rády přepínají) */
@media print{
  .anpani-steps,
  .anpani-app,
  .wrap{
    font-family: var(--anpani-sans) !important;
  }
  h1,h2,h3,.anpani-meal-card__title,.meal-title{
    font-family: var(--anpani-serif) !important;
  }
}
/* 🔧 HOTFIX – FORM PRVKY MUSÍ BÝT SANS (KROK 2) */
.anpani-steps select,
.anpani-steps option,
.anpani-steps input,
.anpani-steps textarea,
.anpani-steps button {
  font-family: var(--anpani-sans) !important;
}

  /* ================================
   RECIPE BLOCKS – sjednocení (Step3 + All-meals + Print)
   ================================ */
.anpani-steps .blocks,
.anpani-app .blocks,
.anpani-wrap .blocks,
.anpani-modal .blocks{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 14px;
}
@media (max-width: 720px){
  .anpani-steps .blocks,
  .anpani-app .blocks,
  .anpani-wrap .blocks,
  .anpani-modal .blocks{
    grid-template-columns: 1fr;
  }
}

/* karta (container) */
.anpani-steps .blocks .anpani-card,
.anpani-app   .blocks .anpani-card,
.anpani-wrap  .blocks .anpani-card,
.anpani-modal .blocks .anpani-card{
  text-align:left;
  padding: 14px 14px;
}

/* label nadpis uvnitř karty */
.anpani-steps .blocks .block-title,
.anpani-app   .blocks .block-title,
.anpani-wrap  .blocks .block-title,
.anpani-modal .blocks .block-title{
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  font-size: 12px;
  color: rgba(17,17,17,.68);
  margin: 0 0 10px 0;
}

/* SUROVINY – jméno vlevo, gramáž vpravo */
.anpani-steps .blocks ul,
.anpani-app   .blocks ul,
.anpani-wrap  .blocks ul,
.anpani-modal .blocks ul{
  list-style:none;
  padding:0;
  margin:0;
}
.anpani-steps .blocks ul li,
.anpani-app   .blocks ul li,
.anpani-wrap  .blocks ul li,
.anpani-modal .blocks ul li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-family: var(--anpani-sans, Inter, system-ui);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
}

/* POSTUP – normální číslování */
.anpani-steps .blocks ol,
.anpani-app   .blocks ol,
.anpani-wrap  .blocks ol,
.anpani-modal .blocks ol{
  margin:0;
  padding-left:18px;
}
.anpani-steps .blocks ol li,
.anpani-app   .blocks ol li,
.anpani-wrap  .blocks ol li,
.anpani-modal .blocks ol li{
  font-family: var(--anpani-sans, Inter, system-ui);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

  /* ===== ANPANI INGREDIENTS STANDARD ===== */

.anpani-ingredients {
  list-style: none;
  padding: 0;
  margin: 0;
}

.anpani-ingredients li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-family: var(--anpani-sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}

.anpani-ingredients b {
  font-weight: 900 !important;
}

/* STEP3 – g musí být tenké */
.anpani-ingredients b .anpani-unit{
  font-weight: 400 !important;
}

  /* ===== RECIPE GRID FINAL STANDARD ===== */

.anpani-meal-card__content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 18px;
}

@media (max-width: 900px) {
  .anpani-meal-card__content-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================
   STEP 3 DETAIL – ALIGN FIX
   ========================== */

/* content grid v detailu jídla */
.anpani-steps .anpani-meal-card__content-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 720px){
  .anpani-steps .anpani-meal-card__content-grid{
    grid-template-columns: 1fr;
  }
}

/* každá karta vlevo (hlavní fix) */
.anpani-steps .anpani-meal-card__content-grid .anpani-card{
  text-align: left !important;
}

/* postup – čisté odsazení a vlevo */
.anpani-steps .anpani-steps-ol{
  margin: 0 !important;
  padding-left: 18px !important;
  text-align: left !important;
}
.anpani-steps .anpani-steps-ol li{
  text-align: left !important;
  line-height: 1.6;
}

/* =========================================
   ANPANI – MEAL TITLE FINAL STANDARD
   ========================================= */

.anpani-meal-card__title{
  font-family: var(--anpani-serif) !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.05 !important;

  font-size: clamp(32px, 3.8vw, 46px) !important;
  margin: 0 0 14px 0 !important;
}
/* DETAIL RECEPTU – tlačítka vpravo vedle sebe */
.anpani-meal-actions{
  display: flex !important;
  justify-content: flex-end !important;  /* posune obě doprava */
  gap: 12px;
}

.anpani-meal-actions .anpani-btn{
  min-width: 160px;
}


/* STEP 3 – makra v souhrnu: původní jemný vzhled + bez přetékání */
.anpani-summary__row .val--macros,
#s3-macros{
  max-width:70% !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  text-align:right !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  color:rgba(17,17,17,.62) !important;
}

.anpani-summary__row .val--macros *,
#s3-macros *{
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:500 !important;
  color:inherit !important;
  white-space:normal !important;
}

@media (max-width:760px){
  .anpani-summary__row .val--macros,
  #s3-macros{
    max-width:62% !important;
    font-size:12px !important;
  }
}

/* =========================
   STEP 1 – LABEL/CONTROL GAP FINAL (ONE SOURCE)
   ========================= */

.anpani-steps .anpani-field{
  display:block !important;
}

.anpani-steps .anpani-field > label{
  display:block !important;
  margin: 0 0 4px 0 !important;  /* ✅ tady nastavíš mezeru (doporučuji 4px) */
  padding: 0 !important;
  line-height: 1.2 !important;
  height: auto !important;
  min-height: 0 !important;
}

.anpani-steps .anpani-field > input,
.anpani-steps .anpani-field > select,
.anpani-steps .anpani-field > .anpani-radio{
  margin: 0 !important;          /* ✅ žádný extra odstup */
}

/* FIX: Pohlaví (radio box) je níž než input – dorovnat o pár px */
.anpani-steps .anpani-field .anpani-radio{
  position: relative !important;
  top: 13px !important; /* dej -2 nebo -3 podle oka */
}
/* === HARD FIX: header tlačítko – vertikální centrování i proti theme === */
#btn-info-link{
  height:44px !important;
  padding:0 18px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  line-height:1 !important;          /* nepoužívat 44px */
  vertical-align:middle !important;

  /* zabít “tématické” blbosti */
  position:relative !important;
  top:0 !important;
}

/* theme často cpe ::before/::after (ikony, link underline atd.) */
#btn-info-link::before,
#btn-info-link::after{
  content:none !important;
  display:none !important;
}

/* label uvnitř – finální optický střed */
#btn-info-link .anpani-btn__label{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;

  position:relative !important;
  top:-1px !important;              /* 🔥 tady to doladíš: -1 / -2 / 0 */
}
/* =========================================
   MOBILE: VŠECHNA TLAČÍTKA POD SEBOU + FULL WIDTH
   ========================================= */
@media (max-width: 760px){

  .anpani-btn,
  a.anpani-btn,
  button.anpani-btn{
    width: 100% !important;
    max-width: 520px;
    box-sizing: border-box !important;
  }

  .anpani-meal-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    width:100% !important;
  }

  .anpani-actions,
  .anpani-actions__right,
  .anpani-actions--bottom{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    width:100% !important;
  }

  .anpani-actions .anpani-btn,
  .anpani-actions__right .anpani-btn,
  .anpani-actions--bottom .anpani-btn{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* =========================================
   STEP 2 TOP BUTTONS – HARD FIX (DESKTOP + MOBILE)
   ========================================= */
.anpani-steps[data-step="2"] .anpani-actions--top{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  margin: 10px 0 14px !important;
  padding: 0 !important;
  gap: 12px !important;
}

.anpani-steps[data-step="2"] .anpani-actions--top .anpani-actions__right{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap: 12px !important;
  width: 100% !important;
}

/* když chceš na mobilu top tlačítka pod sebe */
@media (max-width: 760px){
  .anpani-steps[data-step="2"] .anpani-actions--top .anpani-actions__right{
    flex-direction: column !important;
    align-items: stretch !important;
  }
}
/* ==================================================
   STEP 3 – NUKLEÁRNÍ FIX MEZER MEZI TLAČÍTKY (MOBIL)
   ================================================== */
@media (max-width: 760px){

  /* wrapper tlačítek */
  .anpani-steps[data-step="3"] .anpani-actions--bottom{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;              /* ✅ cílová mezera */
    margin: 12px 0 0 !important;
    padding: 0 !important;
  }

  /* pokud je mezi tlačítky <br> nebo jiný bordel */
  .anpani-steps[data-step="3"] .anpani-actions--bottom br{
    display:none !important;
  }

  /* ZABÍT margin/padding na obalech (div/p/atd.) */
  .anpani-steps[data-step="3"] .anpani-actions--bottom > *{
    margin:0 !important;
    padding:0 !important;
  }

  /* ✅ HLAVNÍ: zabít theme marginy přímo na tlačítkách v kroku 3 */
  .anpani-steps[data-step="3"] #btn-step3-back,
  .anpani-steps[data-step="3"] #btn-show-shopping,
  .anpani-steps[data-step="3"] #btn-show-week,
  .anpani-steps[data-step="3"] button.anpani-btn,
  .anpani-steps[data-step="3"] a.anpani-btn{
    margin:0 !important;
    width:100% !important;
    max-width:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:flex !important;
  }
}
/* FINAL HEADER SUBTITLE – sjednotit všude + bez CAPS */
.anpani-web-header__text .anpani-steps__subtitle,
.anpani-web-header__text .__subtitle,
.anpani-steps__subtitle,
.__subtitle{
  text-transform: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #111 !important;
  opacity: 0.55 !important;
  letter-spacing: 0.2px !important;
  margin-top: 4px !important;
}

/* STEP 3 – weekly tabulka: přepsat inline styly v buňkách */
.anpani-table td.anpani-weekly-cell > div:first-child{
  font-family: var(--anpani-serif) !important;
  font-weight: 800 !important;      /* přepíše style="font-weight:700" */
  font-size: 15px !important;
  opacity: 1 !important;
  line-height: 1.2 !important;
}

.anpani-table td.anpani-weekly-cell > div:last-child{
  font-family: var(--anpani-sans) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  opacity: .85 !important;          /* přepíše style="opacity:.8" */
}

/* STEP 3 – weekly tabulka: fix šířek sloupců */
#weekly-table.anpani-table{
  table-layout: fixed !important;
  width: 100% !important;
}

/* ať se text v buňkách správně zalamuje */
#weekly-table th:first-child,
#weekly-table td:first-child{ width: 9% !important; }

#weekly-table th:not(:first-child),
#weekly-table td:not(:first-child){ width: 18.2% !important; }


/* =========================================================
   STEP 1–3: sjednocení hlavičky (bez zalamování H1)
   - řeší: "linka níž" = větší výška .anpani-web-header
   ========================================================= */

/* společný layout hlavičky */
.anpani-steps .anpani-web-header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap: 18px !important;

  margin-bottom: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #ddd !important;
}

/* H1 = stabilní metriky */
.anpani-steps .anpani-web-header__text h1{
  margin: 0 !important;
  line-height: 1.05 !important;

  /* KLÍČ: nechat to na 1 řádku a místo toho škálovat */
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;

  /* škálování místo wrapu */
  font-size: clamp(20px, 4.2vw, 28px) !important;
}

/* podnadpis ať taky nemění výšku */
.anpani-steps .anpani-web-header__text .anpani-steps__subtitle{
  margin-top: 4px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

/* když je extrémně úzký prostor (jen bezpečnost), dovol subtitle zalomit */
@media (max-width: 420px){
  .anpani-steps .anpani-web-header__text .anpani-steps__subtitle{
    white-space: normal !important;
  }
}

/* ==================================================
   ANPANI PROGRESS
   ================================================== */

.anpani-steps[data-step="progress"] .anpani-progress-print-logo{
  display:none !important;
}

.anpani-steps[data-step="progress"] .anpani-progress-card{
  overflow: hidden;
}

.anpani-steps[data-step="progress"] .anpani-progress-trainer{
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid #eee;
  border-radius: 14px;
  background: #fafafa;
}

.anpani-steps[data-step="progress"] .anpani-progress-trainer__label{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .7;
  margin-bottom: 6px;
}

.anpani-steps[data-step="progress"] .anpani-progress-trainer__person{
  font-size: 13px;
  font-weight: 800;
  margin: -2px 0 8px;
  opacity: .85;
}

.anpani-steps[data-step="progress"] .anpani-progress-trainer__text{
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.anpani-steps[data-step="progress"] .anpani-progress-trainer__message{
  font-weight: 700;
}

.anpani-steps[data-step="progress"] .anpani-progress-trainer__note{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e8e8e8;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  color: #555;
}

.anpani-steps[data-step="progress"] .anpani-progress-final{
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid #eee;
  border-radius: 14px;
  background: #faf8f3;
}

.anpani-steps[data-step="progress"] .anpani-progress-final__title{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .7;
  margin-bottom: 8px;
}

.anpani-steps[data-step="progress"] .anpani-progress-final__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 16px;
}

.anpani-steps[data-step="progress"] .anpani-progress-final__row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:6px 0;
  border-bottom:1px dashed #e6e6e6;
}

.anpani-steps[data-step="progress"] .anpani-progress-final__row:last-child{
  border-bottom:none;
}

@media (max-width:760px){
  .anpani-steps[data-step="progress"] .anpani-progress-final__grid{
    grid-template-columns:1fr;
  }
}

.anpani-steps[data-step="progress"] .anpani-progress-print-meta{
  display:none;
}

.anpani-steps[data-step="progress"] .anpani-progress-foot{
  display:none !important;
}

.anpani-steps[data-step="progress"]{
  padding-bottom:12mm !important;
}

.anpani-steps[data-step="progress"] .anpani-progress-table tbody tr[data-day="90"]{
  background:#faf6ef;
}

.anpani-steps[data-step="progress"] .anpani-progress-table{
  min-width: 1200px;
}

.anpani-steps[data-step="progress"] .anpani-progress-table th,
.anpani-steps[data-step="progress"] .anpani-progress-table td{
  vertical-align: middle;
}

.anpani-steps[data-step="progress"] .anpani-progress-table td:first-child{
  white-space: nowrap;
  min-width: 88px;
}

.anpani-steps[data-step="progress"] .anpani-progress-table input,
.anpani-steps[data-step="progress"] .anpani-progress-table textarea{
  width: 100%;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 14px;
  font-family: inherit;
  background: #fff;
  color: #111;
}

.anpani-steps[data-step="progress"] .anpani-progress-table input{
  height: 40px;
  padding: 0 10px;
  min-width: 92px;
}

.anpani-steps[data-step="progress"] .anpani-progress-table textarea{
  min-width: 220px;
  min-height: 64px;
  padding: 10px 12px;
  resize: vertical;
}

.anpani-steps[data-step="progress"] .anpani-progress-cycles{
  margin-top: 18px;
}

.anpani-steps[data-step="progress"] .anpani-progress-cycle{
  border: 1px solid #eee;
  border-radius: 12px;
  background: #fafafa;
  padding: 12px 14px;
  margin-top: 10px;
}

.anpani-steps[data-step="progress"] .anpani-progress-cycle__top{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.anpani-steps[data-step="progress"] .anpani-progress-cycle__meta{
  opacity: .75;
  font-size: 13px;
}

@media (max-width: 760px){
  .anpani-steps[data-step="progress"] .anpani-actions--bottom{
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .anpani-steps[data-step="progress"] .anpani-actions--bottom .anpani-btn{
    width: 100% !important;
    max-width: 100% !important;
  }

  .anpani-steps[data-step="progress"] .anpani-progress-trainer__text{
    font-size: 14px;
  }
}

@media print{
  @page{
    size: A4 portrait;
    margin: 12mm;
  }

  html, body{
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  .anpani-steps[data-step="progress"]{
    position:static;
    left:0;
    top:0;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    color:#111 !important;
  }

  /* wrap/karta full width jako v print šablonách */
  .anpani-steps[data-step="progress"] .anpani-card{
    border:none !important;
    box-shadow:none !important;
    background:#fff !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* HEADER MUSÍ ZŮSTAT – logo + title */
  .anpani-steps[data-step="progress"] .anpani-steps__header{
  display:block !important;
  margin:0 0 4mm 0 !important;
  padding:0 0 2.5mm 0 !important;
  border-bottom:1px solid #ddd !important;
}

  .anpani-steps[data-step="progress"] .anpani-web-header{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 3mm 0 !important;
    padding:0 !important;
    border-bottom:none !important;
  }

  .anpani-steps[data-step="progress"] .anpani-progress-print-logo{
  display:block !important;
  visibility:visible !important;
  height:22mm !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  margin-left:auto !important;
}

  .anpani-steps[data-step="progress"] .anpani-steps__header h1{
    margin:0 !important;
    font-size:22px !important;
    line-height:1.1 !important;
  }

  .anpani-steps[data-step="progress"] .anpani-steps__subtitle{
    margin-top:3px !important;
    font-size:11px !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  .anpani-steps[data-step="progress"] .anpani-steps__header p{
    margin:0 !important;
    max-width:none !important;
    font-size:12px !important;
    line-height:1.35 !important;
    opacity:1 !important;
  }

  /* schovat UI */
.anpani-steps[data-step="progress"] #progress-msg,
.anpani-steps[data-step="progress"] #progress-trainer,
.anpani-steps[data-step="progress"] #progress-cycles-wrap,
.anpani-steps[data-step="progress"] .anpani-actions,
.anpani-steps[data-step="progress"] #progress-person-switch,
.anpani-steps[data-step="progress"] .anpani-progress-person-switch{
  display:none !important;
}

.anpani-steps[data-step="progress"] .anpani-progress-print-meta{
  display:block !important;
  visibility:visible !important;
  position:fixed !important;
  right:10mm !important;
  bottom:4mm !important;
  margin:0 !important;
  padding:0 !important;
  text-align:right !important;
  font-size:11px !important;
  color:#444 !important;
  font-weight:600 !important;
  background:#fff !important;
  z-index:10000 !important;
}

.anpani-steps[data-step="progress"] .anpani-progress-foot{
  display:block !important;
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  margin:0 !important;
  padding:4mm 0 3mm !important;
  text-align:center !important;
  font-size:11px !important;
  color:#777 !important;
  background:#fff !important;
  z-index:9999 !important;
}

  /* tabulka se musí vejít */
  .anpani-steps[data-step="progress"] .anpani-progress-table-wrap{
    overflow:visible !important;
    border:none !important;
    border-radius:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .anpani-steps[data-step="progress"] .anpani-progress-table{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
  border-collapse:collapse !important;
  font-size:8.8px !important;
  line-height:1.1 !important;
  background:#fff !important;
}

  .anpani-steps[data-step="progress"] .anpani-progress-table th,
  .anpani-steps[data-step="progress"] .anpani-progress-table td{
  border:1px solid #ddd !important;
  padding:2px 3px !important;
  vertical-align:top !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}

  .anpani-steps[data-step="progress"] .anpani-progress-table th{
    background:#fff !important;
    font-size:9px !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
  }

  /* šířky sloupců */
  .anpani-steps[data-step="progress"] .anpani-progress-table th:nth-child(1),
  .anpani-steps[data-step="progress"] .anpani-progress-table td:nth-child(1){
    width:8% !important;
    white-space:normal !important;
  }

  .anpani-steps[data-step="progress"] .anpani-progress-table th:nth-child(2),
  .anpani-steps[data-step="progress"] .anpani-progress-table td:nth-child(2),
  .anpani-steps[data-step="progress"] .anpani-progress-table th:nth-child(3),
  .anpani-steps[data-step="progress"] .anpani-progress-table td:nth-child(3),
  .anpani-steps[data-step="progress"] .anpani-progress-table th:nth-child(4),
  .anpani-steps[data-step="progress"] .anpani-progress-table td:nth-child(4),
  .anpani-steps[data-step="progress"] .anpani-progress-table th:nth-child(5),
  .anpani-steps[data-step="progress"] .anpani-progress-table td:nth-child(5),
  .anpani-steps[data-step="progress"] .anpani-progress-table th:nth-child(6),
  .anpani-steps[data-step="progress"] .anpani-progress-table td:nth-child(6),
  .anpani-steps[data-step="progress"] .anpani-progress-table th:nth-child(7),
  .anpani-steps[data-step="progress"] .anpani-progress-table td:nth-child(7),
  .anpani-steps[data-step="progress"] .anpani-progress-table th:nth-child(8),
  .anpani-steps[data-step="progress"] .anpani-progress-table td:nth-child(8){
    width:10.5% !important;
  }

  .anpani-steps[data-step="progress"] .anpani-progress-table th:nth-child(9),
  .anpani-steps[data-step="progress"] .anpani-progress-table td:nth-child(9){
    width:18.5% !important;
  }

  /* inputy jako čistý text */
  .anpani-steps[data-step="progress"] .anpani-progress-table input,
.anpani-steps[data-step="progress"] .anpani-progress-table textarea{
  width:100% !important;
  min-width:0 !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  height:auto !important;
  min-height:auto !important;
  resize:none !important;
  background:transparent !important;
  font-size:8.8px !important;
  line-height:1.1 !important;
  color:#111 !important;
  overflow:visible !important;
  white-space:pre-wrap !important;
}

  .anpani-steps[data-step="progress"] .anpani-progress-table textarea{
    rows: 1 !important;
  }

.anpani-steps[data-step="progress"] .anpani-progress-table tbody tr[data-day="90"]{
  background:#f5efe5 !important;
  font-weight:700 !important;
  }

.anpani-progress-table tbody tr:focus-within{
  background:#f9f7f3;
  }

.anpani-progress-final__verdict{
  font-weight:700;
  margin-bottom:10px;
  }
}

/* =========================
   PRINT SIGNATURE
   ========================= */

.anpani-signature{
  margin-bottom: 4mm;
  text-align: center;
}

.anpani-signature__brand{
  font-family: var(--anpani-serif);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: .04em;
}

.anpani-signature__line{
  font-size: 11px;
  opacity: .7;
  margin-top: 2px;
}

/* WP admin bar hidden = zrušit horní odsazení */
html[style*="margin-top"],
body[style*="margin-top"]{
  margin-top: 0 !important;
}

html{
  margin-top: 0 !important;
}

body.admin-bar{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media screen and (max-width: 782px){
  html{
    margin-top: 0 !important;
  }

  body.admin-bar{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

.anpani-field--full{
  grid-column:1 / -1;
}

.anpani-person-2{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

@media (max-width:760px){
  .anpani-person-2{
    grid-template-columns:1fr;
  }
}

/* === STEP 1 PAIR – CLEAN START === */

/* horní volba režimu nesmí používat posun top:13px */
.anpani-steps .anpani-field--full > .anpani-radio{
  top:0 !important;
}

/* radio kolečka nesmí převzít styl běžného inputu */
.anpani-steps input[type="radio"]{
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  min-height:14px !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Osoba 2 má být vždy celý řádek pod Osobou 1 */
.anpani-steps #anpani-person-2{
  grid-column:1 / -1 !important;
  margin-top:18px !important;
}

/* když je skrytá, nesmí zabírat místo */
.anpani-steps #anpani-person-2[hidden]{
  display:none !important;
}

.anpani-summary__person + .anpani-summary__person{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e6e6e6;
}

.anpani-summary__title{
  margin:0 0 8px;
  font-family:var(--anpani-serif);
  font-weight:800;
  font-size:22px;
}

#step1-summary{
  margin-top:16px !important;
}

.anpani-summary__person + .anpani-summary__person{
  margin-top:18px !important;
  padding-top:16px !important;
  border-top:1px solid #e2e2e2 !important;
}

.anpani-summary__title{
  margin:0 0 12px !important;
  font-family:var(--anpani-serif) !important;
  font-weight:800 !important;
  font-size:22px !important;
  line-height:1.1 !important;
}

/* STEP 3 – makra v souhrnu, mobil fix */
.anpani-summary__row--macros .val--macros{
  display:flex !important;
  justify-content:flex-end !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  max-width:70% !important;

  font-size:13px !important;
  font-weight:500 !important;
  color:rgba(17,17,17,.62) !important;
  line-height:1.35 !important;
  text-align:right !important;
}

.anpani-summary__row--macros .val--macros span{
  white-space:nowrap !important;
  font-weight:500 !important;
  color:inherit !important;
}

@media (max-width:760px){
  .anpani-summary__row--macros .val--macros{
    max-width:60% !important;
    font-size:12px !important;
  }
}

body:not(.anpani-pair-mode) .anpani-person1-only {
  display: none !important;
}

/* STEP 3 – řádky Osoba 1 / Osoba 2 pod jídlem */
#weekly-table .anpani-weekly-cell .anpani-person-line{
  font-family: var(--anpani-sans) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: rgba(17,17,17,.75) !important;
  opacity: .85 !important;
  margin-top: 2px !important;
}

#weekly-table .anpani-weekly-cell .anpani-person-line *{
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
}

.anpani-step3-weekly-hint{
  margin:0 0 12px 0;
  font-size:13px;
  color:rgba(17,17,17,.68);
  line-height:1.45;
}

.anpani-summary__portion-note{
  font-size:12px;
  opacity:.75;
  margin-top:4px;
  line-height:1.4;
}

/* STEP 3 – scale porce je informace, ne chyba */
#weekly-table .anpani-weekly-cell .anpani-meal-scale,
.anpani-steps[data-step="3"] #weekly-table .anpani-meal-scale{
  color: rgba(17, 17, 17, 0.52) !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

/* STEP 3 – červeně jen skutečná chyba (chybí jídlo / nevalidní nutrice) */
#weekly-table td.anpani-weekly-cell.anpani-weekly-cell--error,
.anpani-steps[data-step="3"] #weekly-table td.anpani-weekly-cell--error{
  border: 2px solid #b00020 !important;
  background: rgba(176, 0, 32, 0.08) !important;
}

/* PROGRESS INTRO TEXT – NESMÍ SE BLBĚ LÁMAT */
.anpani-steps[data-step="progress"] .anpani-steps__header p{
  max-width: 100% !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}

/* PROGRESS – přepínač Osoba 1 / Osoba 2 */
.anpani-steps[data-step="progress"] #progress-person-switch{
  display:flex !important;
  flex-direction:row !important;
  gap:10px !important;
  margin:14px 0 14px !important;
}

@media (max-width:760px){
  .anpani-steps[data-step="progress"] #progress-person-switch{
    flex-direction:column !important;
  }
}

.anpani-progress-summary-box{
  padding:12px 14px;
  margin-bottom:10px;
  border-radius:14px;
  background:#f7f7f7;
  border:1px solid rgba(0,0,0,.08);
  display:grid;
  gap:4px;
  line-height:1.35;
}

@media print{
  .anpani-steps[data-step="progress"] #progress-person-switch,
  .anpani-steps[data-step="progress"] .anpani-progress-person-switch,
  .anpani-steps[data-step="progress"] button[data-progress-person]{
    display:none !important;
    visibility:hidden !important;
  }
}

@media print{
  .anpani-steps[data-step="progress"] .anpani-progress-table{
    font-size:7.2px !important;
    line-height:1 !important;
  }

  .anpani-steps[data-step="progress"] .anpani-progress-table th,
  .anpani-steps[data-step="progress"] .anpani-progress-table td{
    padding:1px 2px !important;
  }

  .anpani-steps[data-step="progress"] .anpani-progress-table input,
  .anpani-steps[data-step="progress"] .anpani-progress-table textarea{
    font-size:7.2px !important;
    line-height:1 !important;
  }

  .anpani-steps[data-step="progress"] .anpani-steps__header p{
    display:none !important;
  }
}

.anpani-meal-detail .anpani-person-line,
.anpani-meal-card .anpani-person-line{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:3px 0;
}

@media (max-width:720px){
  .anpani-person-macros{
    grid-template-columns:1fr;
  }
}

/* DETAIL RECEPTU – makra jako původní 4 samostatné karty */
.anpani-meal-card .anpani-person-macros{
  display:block !important;
  margin:12px 0 !important;
}

.anpani-meal-card .anpani-person-macro-card{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.anpani-meal-card .anpani-macro-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:12px !important;
}

.anpani-meal-card .anpani-macro-box{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  min-height:74px !important;
  padding:14px !important;
  border:1px solid #ededed !important;
  border-radius:14px !important;
  background:#fff !important;
  text-align:left !important;
}

.anpani-meal-card .anpani-macro-box span{
  order:1 !important;
  margin:0 0 6px 0 !important;
  font-size:0 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:rgba(17,17,17,.55) !important;
}

.anpani-meal-card .anpani-macro-box span::before{
  font-size:11px !important;
}

.anpani-meal-card .anpani-macro-box b{
  order:2 !important;
  display:block !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  color:#111 !important;
}

.anpani-meal-card .anpani-macro-box:nth-child(1) span::before{content:"KALORIE";}
.anpani-meal-card .anpani-macro-box:nth-child(2) span::before{content:"BÍLKOVINY";}
.anpani-meal-card .anpani-macro-box:nth-child(3) span::before{content:"TUKY";}
.anpani-meal-card .anpani-macro-box:nth-child(4) span::before{content:"SACHARIDY";}

.anpani-meal-card .anpani-macro-box:nth-child(1) b::after{content:"kcal";font-weight:400;margin-left:0;}
.anpani-meal-card .anpani-macro-box:nth-child(2) b::after{content:"g";font-weight:400;margin-left:0;}
.anpani-meal-card .anpani-macro-box:nth-child(3) b::after{content:"g";font-weight:400;margin-left:0;}
.anpani-meal-card .anpani-macro-box:nth-child(4) b::after{content:"g";font-weight:400;margin-left:0;}

@media (max-width:720px){
  .anpani-meal-card .anpani-macro-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* STEP 3 MOBILE – weekly tabulka finálně */
@media (max-width:760px){

  .anpani-steps[data-step="3"] .anpani-table-wrap{
    overflow-x:auto !important;
    max-width:100% !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .anpani-steps[data-step="3"] #weekly-table{
    table-layout:fixed !important;
    width:1080px !important;
    min-width:1080px !important;
  }

  .anpani-steps[data-step="3"] #weekly-table th:first-child,
  .anpani-steps[data-step="3"] #weekly-table td:first-child{
    width:80px !important;
    min-width:80px !important;
    max-width:80px !important;
  }

  .anpani-steps[data-step="3"] #weekly-table th:not(:first-child),
  .anpani-steps[data-step="3"] #weekly-table td:not(:first-child){
    width:200px !important;
    min-width:200px !important;
    max-width:200px !important;
  }

  .anpani-steps[data-step="3"] #weekly-table .anpani-weekly-cell > div:first-child{
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    line-height:1.15 !important;
    font-size:14px !important;
  }

  .anpani-steps[data-step="3"] #weekly-table .anpani-weekly-cell > div:last-child{
    white-space:normal !important;
    font-size:13px !important;
  }
}

/* STEP 3 DETAIL – sjednotit vzhled s print-recipe.php */
.anpani-steps[data-step="3"] .anpani-meal-detail{
  max-width:980px !important;
  margin:18px auto 0 !important;
  padding:14px !important;
  border:1px solid #e7e7e7 !important;
  border-radius:18px !important;
  background:#fff !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-meal-card__title{
  font-size:46px !important;
  line-height:1.05 !important;
  margin:0 0 10px !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-meal-card__img{
  width:140px !important;
  height:140px !important;
  object-fit:cover !important;
  border-radius:0 !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-meal-card__macros{
  margin-top:14px !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-card{
  border:1px solid #eee !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .blocks{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:12px !important;
}

/* === ZAROVNÁNÍ SUROVIN – PÁR (stejný pattern jako print-recipes) === */
.blocks .anpani-card ul li.anpani-ingredient-pair,
.anpani-meal-detail .anpani-card ul li.anpani-ingredient-pair,
.anpani-ingredient-pair{
  display:grid !important;
  grid-template-columns:minmax(120px, 1fr) 150px !important;
  column-gap:18px !important;
  align-items:start !important;
  white-space:normal !important;
  padding-bottom:10px !important;
  margin-bottom:12px !important;
  border-bottom:1px solid rgba(0,0,0,.12) !important;
}

.anpani-ingredient-pair:last-child{
  margin-bottom:0 !important;
}

.anpani-ing-name{
  font-weight:400 !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:break-word !important;
}

.anpani-ing-values,
.anpani-ing-person{
  font-size:12px !important;
  line-height:1.25 !important;
}

.anpani-ing-values{
  display:grid !important;
  gap:4px !important;
}

.anpani-ing-person{
  display:grid !important;
  grid-template-columns:70px 56px !important;
  column-gap:6px !important;
  align-items:baseline !important;
  font-variant-numeric:tabular-nums !important;
}

.anpani-ing-total{
  position:relative !important;
  display:grid !important;
  grid-template-columns:70px 56px !important;
  column-gap:6px !important;
  align-items:baseline !important;
  padding-top:8px !important;
  margin-top:6px !important;
  font-weight:900 !important;
}

.anpani-ing-total::before{
  content:"";
  grid-column:1 / -1;
  display:block;
  width:100%;
  height:1px;
  background:rgba(0,0,0,.28);
  margin:0 0 6px 0;
}

.anpani-ing-total span,
.anpani-ing-total b{
  font-weight:900 !important;
  color:#000 !important;
}

.anpani-ing-person span,
.anpani-ing-total span{
  text-align:left !important;
  white-space:nowrap !important;
}

.anpani-ing-person b,
.anpani-ing-total b{
  text-align:right !important;
  white-space:nowrap !important;
}

@media print{
  .anpani-ing-total{
    display:grid !important;
    grid-template-columns:70px 56px !important;
    column-gap:6px !important;
    align-items:baseline !important;
  }

  .anpani-ing-total::before{
    content:"" !important;
    display:block !important;
    grid-column:1 / -1 !important;
    width:100% !important;
    height:1px !important;
    background:#999 !important;
    border-top:1px solid #999 !important;
    margin:0 0 6px 0 !important;
    print-color-adjust:exact !important;
    -webkit-print-color-adjust:exact !important;
  }
}

@media (max-width:520px){
  .blocks .anpani-card,
  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-meal-card__content-grid .anpani-card:first-child{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .blocks .anpani-card ul,
  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-meal-card__content-grid .anpani-card ul{
    min-width:390px !important;
  }

  .blocks .anpani-card ul li.anpani-ingredient-pair,
  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-card ul li.anpani-ingredient-pair{
    grid-template-columns:160px 150px !important;
    column-gap:12px !important;
  }
}

@media (max-width:520px){
  .blocks .anpani-card ul{
    min-width:430px !important;
  }

  .blocks .anpani-card ul li.anpani-ingredient-pair,
  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-card ul li.anpani-ingredient-pair{
    grid-template-columns:160px 150px !important;
    column-gap:12px !important;
  }
}

@media (max-width:760px){
  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-meal-card__top > div{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-meal-card__title{
    font-size:28px !important;
    line-height:1.05 !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    max-width:100% !important;
  }

  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-meal-card__img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1/1 !important;
  }

  .anpani-steps[data-step="3"] .anpani-meal-detail .blocks{
    grid-template-columns:1fr !important;
  }

  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-meal-card__macros{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

}

@media (max-width:760px){
  .anpani-meal-card__title{
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

  /* OSOBA 1 / 2 bez mezer */
  .anpani-meal-detail h3{
    margin:4px 0 2px !important;
    font-size:11px !important;
  }

@media screen{
/* STEP 3 DETAIL – PÁR makra: správná tabulka podle skutečného HTML */
.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros.anpani-person-macros--pair{
  display:grid !important;
  grid-template-columns:90px repeat(4,minmax(0,1fr)) !important;
  gap:8px 14px !important;
  align-items:center !important;
  margin:18px 0 16px !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros.anpani-person-macros--pair > div{
  display:block !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  min-height:0 !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros--pair .anpani-pair-macro-head{
  font-size:12px !important;
  font-weight:900 !important;
  color:rgba(17,17,17,.62) !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros--pair .anpani-pair-macro-person{
  font-size:14px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros--pair b{
  font-size:14px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros--pair span{
  font-size:14px !important;
  font-weight:400 !important;
  white-space:nowrap !important;
}

@media (max-width:760px){
  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros.anpani-person-macros--pair{
    grid-template-columns:72px repeat(4,minmax(64px,1fr)) !important;
    gap:6px 8px !important;
    overflow-x:auto !important;
  }

  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros--pair .anpani-pair-macro-head,
  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros--pair .anpani-pair-macro-person,
  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros--pair b,
  .anpani-steps[data-step="3"] .anpani-meal-detail .anpani-person-macros--pair span{
    font-size:11px !important;
  }
}
}

/* PROGRESS – když je single, přepínač osob musí opravdu zmizet */
.anpani-steps[data-step="progress"] #progress-person-switch[hidden]{
  display:none !important;
  visibility:hidden !important;
}

@media print{
  #user_switching_switch_on,
  .user-switching-switch-on,
  a[href*="switch_to_olduser"],
  a[href*="action=switch_to_olduser"]{
    display:none !important;
    visibility:hidden !important;
  }
}