*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
 --pri:#E67E22;--pri-l:#D35400;--pri-p:#FFF4E6;
 --acc:#F39C12;--acc-l:#E67E22;--acc-p:#FFF9F0;
 --bg:#FFF9F0;--bg-c:#FFFFFF;--bg-d:#2C1810;
 --tx:#2C1810;--tx-s:#5D4037;--tx-l:#8D6E63;
 --sh:0 2px 12px rgba(140,80,50,.1);--sh-lg:0 8px 30px rgba(140,80,50,.15);
 --sh-xl:0 16px 48px rgba(140,80,50,.2);
 --r:16px;--rs:12px;--rx:8px;
 --t:all .3s cubic-bezier(.4,0,.2,1);
 --grad:linear-gradient(135deg,#E67E22,#F39C12,#FF9F43);
 --safe-t:env(safe-area-inset-top,0px);
 --safe-b:env(safe-area-inset-bottom,0px);
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--tx);line-height:1.6;overflow-x:hidden;min-height:100vh}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;font-family:inherit;background:none}
input,select,textarea{font-family:inherit;font-size:inherit}
img{max-width:100%;display:block}
::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#D7CCC8;border-radius:4px}
::selection{background:var(--pri-l);color:#fff}
.container{max-width:1440px;margin:0 auto;padding:0 20px}

.header{position:sticky;top:0;z-index:1000;background:var(--grad);box-shadow:0 2px 20px rgba(140,80,50,.15);padding-top:var(--safe-t)}
.header-inner{display:flex;align-items:center;gap:12px;height:64px;padding:0 16px;max-width:1440px;margin:0 auto}
.logo{display:flex;align-items:center;gap:8px;flex-shrink:0}
.logo-icon{font-size:1.7rem}.logo-text{font-size:1.25rem;font-weight:800;color:#fff}.logo-text span{color:#FFF9C4}
.search-wrap{flex:1;max-width:500px;position:relative;min-width:0;transition:var(--t)}
.search-wrap .search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:.95rem;opacity:.65;pointer-events:none;z-index:2;transition:var(--t)}
#searchInput{width:100%;padding:9px 16px 9px 40px;border:2px solid rgba(255,255,255,.2);border-radius:50px;background:rgba(255,255,255,.12);color:#0b0b0b;font-size:.88rem;transition:var(--t);-webkit-appearance:none}
#searchInput::placeholder{color:rgba(255,255,255,.6)}
#searchInput:focus{outline:none;background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.45)}
.header-actions{display:flex;gap:5px;flex-shrink:0}
.h-btn{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.05rem;display:flex;align-items:center;justify-content:center;transition:var(--t);position:relative}
.h-btn:hover{background:rgba(255,255,255,.25);transform:scale(1.06)}
.h-btn .badge{position:absolute;top:-2px;right:-2px;background:var(--acc-l);color:#fff;font-size:.6rem;font-weight:700;min-width:17px;height:17px;border-radius:9px;display:none;align-items:center;justify-content:center;padding:0 4px}
.h-btn .badge.show{display:flex}

.search-close{display:none;position:absolute;right:8px;top:50%;transform:translateY(-50%);background:rgba(230,126,34,.2);border:none;border-radius:50%;width:32px;height:32px;font-size:1rem;color:#fff;cursor:pointer;z-index:3;align-items:center;justify-content:center;transition:var(--t)}
.search-close:active{background:rgba(230,126,34,.4);transform:translateY(-50%) scale(.95)}
.search-overlay{display:none;position:fixed;inset:0;background:rgba(44,24,16,.5);z-index:999;opacity:0;transition:opacity .3s ease;backdrop-filter:blur(2px)}
.search-overlay.active{display:block;opacity:1}
body.search-open{overflow:hidden}

.hero{background:linear-gradient(135deg,#D35400 0%,#E67E22 40%,#F39C12 70%,#FF9F43);color:#fff;padding:48px 20px 36px;text-align:center;position:relative;overflow:hidden}
.hero-bg{position:absolute;top:-60%;left:-60%;width:220%;height:220%;background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.04),transparent 60%),radial-gradient(circle at 70% 30%,rgba(255,255,255,.03),transparent 50%);animation:heroF 12s ease-in-out infinite alternate}
@keyframes heroF{to{transform:translate(3%,-3%)}}.hero>*{position:relative;z-index:1}
.hero h1{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800;margin-bottom:8px;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.hero p{font-size:clamp(.85rem,2vw,1.05rem);opacity:.85;max-width:600px;margin:0 auto 20px}
.hero-stats{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.hero-stat{text-align:center;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);padding:8px 18px;border-radius:50px;border:1px solid rgba(255,255,255,.18)}
.stat-num{font-size:1.1rem;font-weight:700;display:block}.stat-label{font-size:.72rem;opacity:.8}

.categories{display:flex;gap:8px;padding:16px 20px;max-width:1440px;margin:0 auto;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.categories::-webkit-scrollbar{display:none}
.cat-btn{flex-shrink:0;padding:9px 18px;border-radius:50px;font-size:.82rem;font-weight:600;background:var(--bg-c);border:2px solid #E8D5C4;color:var(--tx);transition:var(--t);white-space:nowrap}
.cat-btn:hover{border-color:var(--pri-l);color:var(--pri-l)}
.cat-btn.active{background:var(--pri-l);color:#fff;border-color:var(--pri-l)}
.cat-btn:disabled{opacity:.5;cursor:not-allowed}

.toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px 10px;max-width:1440px;margin:0 auto;flex-wrap:wrap;gap:10px}
.toolbar-left .results-info{font-size:.85rem;color:var(--tx-l)}.toolbar-left .results-info strong{color:var(--tx)}
.toolbar-right{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.sort-label{font-size:.82rem;color:var(--tx-l);font-weight:600;display:flex;align-items:center;gap:6px}
#sortSelect{padding:6px 10px;border:2px solid #E8D5C4;border-radius:var(--rx);font-size:.8rem;background:var(--bg-c);color:var(--tx);cursor:pointer}
#sortSelect:focus{outline:none;border-color:var(--pri-l)}
.view-toggle{display:flex;gap:3px}
.v-btn{width:32px;height:32px;border-radius:var(--rx);display:flex;align-items:center;justify-content:center;font-size:.95rem;transition:var(--t);color:var(--tx-l)}
.v-btn.active{background:var(--pri-l);color:#fff}

.main-content{max-width:1440px;margin:0 auto;padding:10px 20px 30px}
.recipes-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));transition:all .3s ease}
.recipes-grid.list-view{grid-template-columns:1fr!important;gap:16px}
.recipes-grid.list-view .r-card{flex-direction:row!important;height:auto;min-height:150px}
.recipes-grid.list-view .r-img{width:200px!important;min-width:200px;height:150px!important;flex-shrink:0}
.recipes-grid.list-view .r-img img{position:static!important;width:100%;height:100%;object-fit:cover}
.recipes-grid.list-view .r-img .re{font-size:3rem}
.recipes-grid.list-view .r-body{flex:1;padding:12px 16px;display:flex;flex-direction:column;justify-content:center}
.recipes-grid.list-view .r-desc{-webkit-line-clamp:3;margin-bottom:10px}

.r-card{background:var(--bg-c);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:var(--t);cursor:pointer;display:flex;flex-direction:column;opacity:0;transform:translateY(12px)}
.r-card.visible{opacity:1;transform:none}
.r-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.r-img{height:190px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--grad)}
.r-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;position:absolute;top:0;left:0;z-index:1}
.r-card:hover .r-img img{transform:scale(1.08)}
.r-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(transparent, rgba(44,24,16,.4));pointer-events:none;z-index:2}
.r-img .re{font-size:4.2rem;filter:drop-shadow(0 4px 8px rgba(140,80,50,.12));z-index:3}
.r-img img + .re{display:none}
.r-badge{position:absolute;left:10px;top:10px;z-index:4;background:rgba(255,255,255,.95);backdrop-filter:blur(4px);padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:700;color:var(--pri-l);box-shadow:0 2px 8px rgba(0,0,0,.15);white-space:nowrap}
.r-fav{position:absolute;right:10px;top:10px;z-index:4;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.95);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:var(--t)}
.r-fav:hover{transform:scale(1.1);background:#fff}.r-fav.is-fav{color:#e53935}
.r-rating{position:absolute;right:10px;bottom:10px;z-index:4;background:rgba(255,255,255,.95);backdrop-filter:blur(4px);padding:4px 8px;border-radius:20px;font-size:.75rem;font-weight:700;color:var(--tx);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.r-body{padding:14px;flex:1;display:flex;flex-direction:column}
.r-body h3{font-size:1rem;font-weight:700;margin-bottom:4px;color:var(--pri);line-height:1.3}
.r-body .r-desc{font-size:.78rem;color:var(--tx-s);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.r-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px}.r-meta span{display:flex;align-items:center;gap:3px;font-size:.72rem;color:var(--tx-l)}
.r-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid #F5EEE6}
.r-diff{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:50px}.d-e{background:#FFF4E6;color:#D35400}.d-m{background:#FFF9F0;color:#E67E22}.d-h{background:#FFEBEE;color:#C62828}
.r-tags{display:flex;gap:4px;flex-wrap:wrap}.r-tag{background:var(--pri-p);color:var(--pri-l);padding:2px 7px;border-radius:50px;font-size:.62rem;font-weight:600}

.no-results{text-align:center;padding:50px 20px;display:none}.nr-emoji{font-size:3.5rem;margin-bottom:10px}
.no-results h3{font-size:1.1rem;color:var(--tx-s)}.no-results p{color:var(--tx-l);margin-top:4px}
.load-more-wrap{text-align:center;margin-top:20px;display:none}.load-more-wrap.show{display:block}
.load-more-btn{padding:12px 32px;border-radius:50px;background:var(--pri-l);color:#fff;font-weight:700;font-size:.9rem;transition:var(--t);opacity:1;transform:none}
.load-more-btn:hover{background:var(--pri);transform:translateY(-2px);box-shadow:var(--sh)}
.load-more-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none;background:#A98C7C}

.toast{position:fixed;top:76px;right:18px;z-index:5000;background:var(--bg-c);border-radius:var(--rs);box-shadow:var(--sh-lg);padding:12px 18px;display:flex;align-items:center;gap:8px;transform:translateX(120%);transition:transform .4s cubic-bezier(.4,0,.2,1);max-width:340px;border-left:4px solid var(--pri-l)}
.toast.show{transform:translateX(0)}.toast-icon{font-size:1.2rem}.toast-msg{font-size:.84rem;font-weight:600}

.modal-overlay{position:fixed;inset:0;background:rgba(44,24,16,.5);z-index:2000;display:none;align-items:flex-start;justify-content:center;padding:20px;backdrop-filter:blur(3px);overflow-y:auto}
.modal-overlay.open{display:flex}
.modal{background:var(--bg-c);border-radius:var(--r);max-width:850px;width:100%;margin:20px auto;position:relative;animation:mIn .3s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column;max-height:95vh}
@keyframes mIn{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
.modal-close{position:absolute;top:12px;right:12px;z-index:10;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);backdrop-filter:blur(5px);font-size:1.15rem;display:flex;align-items:center;justify-content:center;transition:var(--t);box-shadow:0 2px 10px rgba(140,80,50,.12)}
.modal-close:hover{transform:rotate(90deg);background:#fff}
.modal-hero{height:260px;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;overflow:hidden;background:var(--grad)}
.modal-hero img{width:100%;height:100%;object-fit:cover}.hero-emoji{font-size:6.5rem;filter:drop-shadow(0 6px 12px rgba(140,80,50,.18))}
.modal-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(transparent,var(--bg-c));pointer-events:none}
.hero-actions{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px}
.ha-btn{padding:7px 14px;border-radius:50px;font-size:.78rem;font-weight:600;background:rgba(255,255,255,.9);backdrop-filter:blur(5px);transition:var(--t);box-shadow:0 2px 8px rgba(140,80,50,.1)}
.ha-btn:hover{background:#fff;transform:translateY(-2px)}.ha-btn.active{background:var(--pri-l);color:#fff}
.modal-body{padding:0 22px 22px;overflow-y:auto;flex:1}
.m-bc{font-size:.74rem;color:var(--tx-l);margin-bottom:6px}
.modal-body h1{font-size:clamp(1.3rem,3vw,1.7rem);color:var(--pri);margin-bottom:4px;line-height:1.3}
.m-sub{color:var(--tx-s);font-size:.88rem;margin-bottom:14px}
.m-stats-wrapper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.m-stats-wrapper .ms{background:var(--pri-p);border-radius:var(--rx);padding:10px 4px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}
.ms .v{font-size:0.95rem;font-weight:700;color:var(--pri-l);line-height:1.2}
.ms .l{font-size:0.6rem;color:var(--tx-l);margin-top:2px;text-transform:uppercase;letter-spacing:0.5px}
.ms.portions-box{background:#fff3e0;border:1px solid #ffe0b2}
.portions-ctrl{display:flex;align-items:center;gap:6px;margin-top:4px}
.p-btn{width:24px;height:24px;border-radius:50%;background:var(--pri-l);color:#fff;border:none;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--t)}
.p-btn:hover{background:var(--pri);transform:scale(1.1)}.portions-num{font-size:1.1rem;font-weight:800;color:var(--tx);min-width:20px;text-align:center}
.sec-t{font-size:1.05rem;font-weight:700;color:var(--pri);margin:18px 0 10px;display:flex;align-items:center;gap:7px}
.ing-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--rx);transition:var(--t);border-bottom:1px solid #F5EEE6;cursor:pointer}
.ing-item:hover{background:#FFF9F5}.ing-item.checked{opacity:.45}.ing-item.checked .ing-name{text-decoration:line-through}
.ing-ch{width:20px;height:20px;border-radius:5px;border:2px solid #E8D5C4;display:flex;align-items:center;justify-content:center;transition:var(--t);flex-shrink:0;font-size:.6rem;color:transparent}
.ing-item.checked .ing-ch{background:var(--pri-l);border-color:var(--pri-l);color:#fff}
.ing-name{flex:1;font-size:.88rem}.ing-am{font-weight:600;color:var(--pri-l);font-size:.82rem;white-space:nowrap}
.step-list{display:flex;flex-direction:column;gap:12px}
.step-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#FFF9F5;border-radius:var(--rx);border-left:4px solid var(--pri-l);cursor:pointer;transition:var(--t)}
.step-item:hover{background:var(--pri-p)}.step-item.done{opacity:.5;background:#F5F5F5;border-left-color:#D7CCC8}.step-item.done .step-text{text-decoration:line-through}
.step-num{min-width:28px;height:28px;background:var(--grad);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}
.step-text{font-size:.9rem;line-height:1.5;flex:1}
.mode-toggle{text-align:center;margin:10px 0 15px;font-size:.85rem;color:var(--pri-l);cursor:pointer;font-weight:600;user-select:none}.mode-toggle:hover{text-decoration:underline}
.cooking-mode{display:none;flex-direction:column;align-items:center;padding:10px 0}.cooking-mode.active{display:flex}
.step-progress-bar{width:100%;height:6px;background:#f0f0f0;border-radius:3px;margin-bottom:15px;overflow:hidden}
.step-progress-fill{height:100%;background:var(--pri-l);width:0%;transition:width .3s ease}
.step-counter{font-size:.85rem;color:var(--tx-l);margin-bottom:8px;font-weight:600}
.step-display{font-size:1.05rem;line-height:1.6;margin:15px 0;min-height:70px;display:flex;align-items:center;justify-content:center;padding:0 5px;text-align:center;background:#FFF9F5;border-radius:var(--rx);width:100%;box-sizing:border-box}
.step-nav{display:flex;gap:12px;margin-top:5px;width:100%;justify-content:center}
.step-btn{padding:10px 24px;border-radius:50px;font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--t);border:2px solid var(--pri-l);background:transparent;color:var(--pri-l);min-width:100px}
.step-btn:hover:not(:disabled){background:var(--pri-l);color:#fff}.step-btn:disabled{opacity:.4;cursor:not-allowed}
.step-btn.primary{background:var(--pri-l);color:#fff}.step-btn.primary:hover:not(:disabled){background:var(--pri)}
.tips{background:linear-gradient(135deg,#FFF8E1,#FFF3C4);border:1px solid #FFE082;border-radius:var(--rs);padding:16px;margin:16px 0}
.tips h3{color:#F57F17;margin-bottom:6px;font-size:.95rem;display:flex;align-items:center;gap:6px}
.tips p{font-size:.84rem;color:#6D5A00;line-height:1.7}
.modal-actions-footer{position:sticky;bottom:0;left:0;right:0;background:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f0f0;z-index:100;margin-top:20px;border-radius:0 0 16px 16px;box-shadow:0 -4px 10px rgba(0,0,0,0.05)}
.modal-actions-footer .ma{flex:1;margin:0 4px;justify-content:center;padding:10px 5px;font-size:.8rem}
.modal-actions-footer .ma-secondary{background:#FFF4E6;border:1px solid #E67E22;color:#D35400}.modal-actions-footer .ma-secondary:hover{background:#ffe0b2}

.panel-overlay{position:fixed;inset:0;background:rgba(44,24,16,.35);z-index:2400;display:none;backdrop-filter:blur(2px)}.panel-overlay.open{display:block}
.side-panel{position:fixed;top:0;right:-420px;width:380px;max-width:90vw;height:100%;background:var(--bg-c);z-index:2500;box-shadow:var(--sh-xl);transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.side-panel.open{right:0}
.panel-header{padding:16px 18px;border-bottom:1px solid #F5EEE6;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.panel-header h3{font-size:1.05rem;color:var(--pri)}.panel-close{font-size:1.2rem;color:var(--tx-l);padding:4px;transition:var(--t)}.panel-close:hover{color:var(--tx);transform:rotate(90deg)}
.panel-body{flex:1;overflow-y:auto;padding:14px 18px}
.panel-footer{padding:12px 18px;border-top:1px solid #F5EEE6;flex-shrink:0;display:flex;flex-direction:column;gap:6px}
.pf-btn{width:100%;padding:10px;border-radius:var(--rx);font-weight:700;font-size:.82rem;transition:var(--t);background:var(--pri-l);color:#fff}.pf-btn:hover{background:var(--pri)}
.pf-btn.danger{background:#C62828}.pf-btn.danger:hover{background:#A31515}

/* ✅ ИСПРАВЛЕНИЕ ДЛЯ КНОПКИ ОЧИСТКИ КОРЗИНЫ — УНИВЕРСАЛЬНОЕ + МОБИЛЬНОЕ */
#clearCart {
  /* Минимальный размер для тач-устройств */
  min-height: 44px;
  min-width: 44px;
  padding: 12px 20px;
  
  /* Убираем задержку клика на мобильных */
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(230, 126, 34, 0.15);
  
  /* Гарантируем доступность для кликов */
  pointer-events: auto !important;
  position: relative;
  z-index: 10;
  
  /* Визуальная обратная связь */
  transition: transform 0.1s ease, opacity 0.1s ease, background 0.2s ease;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}

/* ✅ Активное состояние для мобильных (тап-эффект) */
#clearCart:active {
  transform: scale(0.98);
  opacity: 0.92;
  background: #c0392b !important;
}

/* ✅ Фокус для доступности (клавиатура) */
#clearCart:focus-visible {
  outline: 2px solid var(--pri-l);
  outline-offset: 2px;
}

.sl-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #F5EEE6}
.sl-ch{width:18px;height:18px;border-radius:4px;border:2px solid #E8D5C4;display:flex;align-items:center;justify-content:center;font-size:.55rem;color:transparent;cursor:pointer;transition:var(--t);flex-shrink:0}
.sl-item.checked .sl-ch{background:var(--pri-l);border-color:var(--pri-l);color:#fff}.sl-name{flex:1;font-size:.84rem}

.timer-float{position:fixed;bottom:18px;right:18px;z-index:3000;display:none}.timer-float.show{display:block}
.timer-card{background:var(--bg-c);border-radius:var(--r);box-shadow:var(--sh-lg);padding:14px;width:240px;animation:slUp .3s ease}
@keyframes slUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.timer-card h4{font-size:.85rem;color:var(--pri);margin-bottom:6px;display:flex;align-items:center;justify-content:space-between}
.timer-x{font-size:.95rem;color:var(--tx-l);padding:2px;cursor:pointer}
.timer-inputs{display:flex;gap:5px;margin-bottom:6px}
.timer-inputs input{flex:1;padding:7px;border:2px solid #E8D5C4;border-radius:var(--rx);text-align:center;font-size:.9rem;font-weight:600}
.t-sep{font-size:1.2rem;font-weight:700;color:var(--tx-l);align-self:center}
.timer-display{font-size:2.2rem;font-weight:800;text-align:center;color:var(--pri-l);margin:6px 0;font-variant-numeric:tabular-nums;letter-spacing:2px}
.timer-btns{display:flex;gap:5px}.timer-btns button{flex:1;padding:8px;border-radius:var(--rx);font-weight:700;font-size:.78rem;transition:var(--t);cursor:pointer}
.tb-go{background:var(--pri-l);color:#fff}.tb-rst{background:#E8D5C4;color:var(--tx)}

.back-top{position:fixed;bottom:18px;left:18px;z-index:1500;width:44px;height:44px;border-radius:50%;background:var(--grad);color:#fff;font-size:1.1rem;display:none;align-items:center;justify-content:center;box-shadow:var(--sh);transition:var(--t)}
.back-top.show{display:flex}.back-top:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}

.footer{background:var(--bg-d);color:rgba(255,255,255,.65);padding:30px 20px;text-align:center;margin-top:30px}
.footer h3{color:#fff;font-size:1.15rem;margin-bottom:4px}.footer p{font-size:.82rem;margin-bottom:3px}
.footer-links{display:flex;justify-content:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.footer-links a{color:#FFB74D;font-size:.82rem;transition:var(--t)}

body.dark{--bg:#1A120B;--bg-c:#2C1810;--tx:#FFF9F0;--tx-s:#D7CCC8;--tx-l:#A98C7C;--sh:0 2px 12px rgba(0,0,0,.3)}
body.dark .cat-btn{background:#3E2723;border-color:#5D4037;color:#D7CCC8}
body.dark .ing-item{border-bottom-color:#3E2723}body.dark .ing-item:hover{background:#3E2723}
body.dark .step-item{background:#3E2723}body.dark .step-item:hover{background:#4E342E}
body.dark .m-stats-wrapper .ms{background:#3E2723}body.dark .ms .v{color:#FFB74D}
body.dark .r-card{background:#2C1810}
body.dark .tips{background:#2A2510;border-color:#4A4020}body.dark .tips p{color:#E6C35C}

.loader{text-align:center;padding:60px 20px}.loader-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--pri-l);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}
@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.loader p{color:var(--tx-s)}

/* ===== 📱 МОБИЛЬНАЯ АДАПТАЦИЯ ===== */
@media (max-width: 768px) {
  .header-inner { flex-wrap: wrap; padding: 10px 12px; gap: 8px; height: auto; min-height: 64px; }
  .logo { order: 1; font-size: 1.1rem; }
  .logo-icon { font-size: 1.4rem; }
  .header-actions { order: 2; margin-left: auto; gap: 4px; }
  .h-btn { width: 36px; height: 36px; border-radius: 10px; font-size: .95rem; }
  .search-wrap { order: 3; flex: 0 1 auto; max-width: 160px; margin-top: 4px; }
  #searchInput { padding: 8px 14px 8px 36px; font-size: .85rem; min-height: 38px; border-radius: var(--rs); }
  .search-wrap .search-icon { left: 10px; font-size: .85rem; }
  .search-wrap.expanded {
    position: fixed; top: calc(64px + var(--safe-t) + 4px); left: 12px; right: 12px;
    max-width: none; z-index: 1001; animation: searchExpand .3s var(--t);
  }
  @keyframes searchExpand { from { opacity: 0; transform: translateY(-8px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
  .search-wrap.expanded .search-icon { left: 16px; font-size: 1rem; opacity: 1; }
  .search-wrap.expanded #searchInput {
    padding: 14px 50px 14px 46px; font-size: 16px; border-radius: var(--rs);
    background: var(--bg-c); color: var(--tx); border: 2px solid var(--pri);
    box-shadow: var(--sh-lg); min-height: 52px;
  }
  .search-wrap.expanded .search-close { display: flex; right: 10px; width: 36px; height: 36px; pointer-events: auto; cursor: pointer; }
  .hero { padding-top: calc(76px + var(--safe-t)); }
  .hero h1 { font-size: 1.4rem; }
  .hero p { font-size: .9rem; margin-bottom: 16px; }
  .hero-stat { min-width: 90px; padding: 10px 14px; }
  .stat-num { font-size: 1.2rem; }
  .categories { padding: 10px 4px; background: var(--bg-c); border-bottom: 1px solid #eee; }
  .cat-btn { padding: 8px 14px; font-size: .8rem; min-height: 36px; }
  .toolbar { padding: 8px 12px; background: var(--bg-c); border-bottom: 1px solid #eee; position: sticky; top: calc(64px + var(--safe-t)); z-index: 900; }
  .toolbar-left .results-info { font-size: .8rem; }
  #sortSelect { font-size: .8rem; min-height: 36px; }
  .v-btn { width: 36px; height: 36px; }
  .recipes-grid { grid-template-columns: 1fr; gap: 12px; padding: 12px; }
  .r-card { touch-action: manipulation; }
  .r-card:active { transform: scale(.998); }
  .back-top { bottom: calc(16px + var(--safe-b)); }
  .modal { margin: 12px; max-height: calc(100vh - 24px - var(--safe-t) - var(--safe-b)); }
  .side-panel { width: min(320px, 85vw); }
  .timer-inputs input, .timer-btns button { min-height: 44px; font-size: 16px; }
  
  /* ✅ МОБИЛЬНЫЕ СТИЛИ ДЛЯ КНОПКИ ОЧИСТКИ КОРЗИНЫ */
  #clearCart {
    min-height: 48px !important;
    padding: 14px 24px !important;
    font-size: 0.95rem !important;
    margin: 8px 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(198, 40, 40, 0.15) !important;
    -webkit-tap-highlight-color: rgba(198, 40, 40, 0.2) !important;
  }
  
  #clearCart:active {
    transform: scale(0.97) !important;
    box-shadow: 0 1px 4px rgba(198, 40, 40, 0.25) !important;
  }
  
  /* ✅ Адаптация панели покупок под мобильные */
  .panel-footer {
    padding: 16px 18px 20px !important;
    gap: 8px !important;
    padding-bottom: calc(20px + var(--safe-b)) !important;
  }
  
  .toast {
    top: auto !important; bottom: calc(20px + var(--safe-b)) !important;
    left: 50% !important; right: auto !important;
    transform: translateX(-50%) translateY(100px) !important;
    width: auto !important; max-width: 90vw !important; min-width: 220px !important;
    margin: 0 !important; padding: 10px 16px !important; border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.25) !important; font-size: 0.9rem !important;
    display: flex !important; align-items: center !important; gap: 8px !important;
    z-index: 5000 !important; opacity: 0; transition: transform 0.3s ease, opacity 0.3s ease;
  }
  .toast.show { transform: translateX(-50%) translateY(0) !important; opacity: 1; }
  .toast-icon { font-size: 1.1rem; flex-shrink: 0; }
  .toast-msg { font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }
}

@media (min-width: 769px) {
  .header-inner { flex-wrap: nowrap; }
  .search-wrap { order: unset; flex: 1; max-width: 500px; margin-top: 0; }
  #searchInput { font-size: .88rem; padding: 9px 16px 9px 40px; }
  .search-close, .search-overlay { display: none !important; }
  body.search-open { overflow: auto; }
}

/* ============================================ */
/* ✅ [RSYA-STYLES] СТИЛИ ДЛЯ ЯНДЕКС РСЯ — ИСПРАВЛЕНО */
/* ============================================ */

/* Базовые стили для всех рекламных блоков */
.rsya-block {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 10px auto;
  text-align: center;
  min-height: 50px;
  position: relative;
  display: block !important;
  clear: both !important;
}
.rsya-block iframe,
.rsya-block ins,
.rsya-block yadc {
  max-width: 100% !important;
  margin: 0 auto !important;
  display: block !important;
}
.rsya-block {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.rsya-block.loaded {
  opacity: 1;
}

/* ✅ КЛЮЧЕВОЙ КЛАСС: реклама между рядами сетки (НЕ внутри grid) */
.rsya-in-feed {
  width: 100% !important;
  max-width: 100% !important;
  margin: 25px 0 !important;
  padding: 20px 0 !important;
  clear: both !important;
  display: block !important;
  position: relative !important;
  grid-column: 1 / -1 !important; /* На всю ширину контейнера */
}
.rsya-in-feed::before {
  content: "Реклама";
  position: absolute;
  top: 8px;
  left: 12px;
  font-size: 0.7rem;
  color: var(--tx-l);
  opacity: 0.6;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  pointer-events: none;
}

/* Скрытие на мобильных, если включено в конфиге */
@media (max-width: 767px) {
  .rsya-block[data-mobile-hide="true"] {
    display: none !important;
  }
  .rsya-in-feed {
    margin: 15px -12px !important;
    padding: 15px 12px !important;
  }
}

/* Floor ad (фиксированный внизу) */
#yandex_rtb_floor_ad {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #fff;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
#yandex_rtb_floor_ad .rsya-close {
  position: absolute;
  right: 8px;
  top: 4px;
  font-size: 18px;
  cursor: pointer;
  color: #999;
  background: none;
  border: none;
  padding: 0;
  line-height: 1;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
}
#yandex_rtb_floor_ad .rsya-close:hover {
  background: #f0f0f0;
  color: #333;
}
body.rsya-floor-active {
  padding-bottom: 90px;
}

/* Реклама в модальном окне рецепта */
.rsya-block[id*="-modal"] {
  margin: 12px auto !important;
  padding: 8px 0;
}

/* Адаптив для планшетов */
@media (min-width: 768px) and (max-width: 1023px) {
  .rsya-block {
    margin: 15px auto;
  }
}

/* Адаптив для десктопа */
@media (min-width: 1024px) {
  .rsya-block {
    max-width: 728px;
  }
  #yandex_rtb_floor_ad {
    max-width: 970px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 12px 12px 0 0;
  }
}

/* Темная тема для рекламы */
body.dark .rsya-block {
  background: #2C1810;
}
body.dark #yandex_rtb_floor_ad {
  background: #2C1810;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.3);
}
body.dark .rsya-in-feed {
  border-color: #3E2723 !important;
  background: linear-gradient(to bottom, transparent, #3E2723, transparent) !important;
}

/* Плавное появление рекламы */
@keyframes rsyaFadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.rsya-block.loaded {
  animation: rsyaFadeIn 0.3s ease forwards;
}

/* Скрытие рекламы при печати */
@media print {
  .rsya-block,
  #yandex_rtb_floor_ad,
  [id^="yandex_rtb_"],
  [class*="rsya-"],
  .rsya-in-feed {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.rsya-floor-active {
    padding-bottom: 0 !important;
  }
}
/* ============================================ */
/* ✅ [RSYA-STYLES:END] */
/* ============================================ */

/* Стили для плейсхолдеров рекламы */
.ad-placeholder {
  margin: 1.5rem auto;
  padding: 1rem;
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%);
  border: 2px dashed #cbd5e0;
  border-radius: 12px;
  text-align: center;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #718096;
  font-size: 0.9rem;
  position: relative;
}

.ad-placeholder::before {
  content: "Реклама";
  position: absolute;
  top: -12px;
  left: 20px;
  background: #fff;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
  color: #a0aec0;
  border: 1px solid #e2e8f0;
}

/* Для мобильных устройств */
@media (max-width: 768px) {
  .ad-placeholder {
    margin: 1rem 0;
    min-height: 200px;
  }
}
/* Кнопка установки приложения */
.install-btn {
  margin: 1rem auto;
  padding: 0.75rem 1.5rem;
  background: #E67E22;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  box-shadow: 0 4px 12px rgba(230,126,34,0.3);
}
.install-btn:hover { background: #D35400; }

/* Подсказка для iOS */
.ios-install-hint {
  margin: 1rem auto;
  max-width: 400px;
}
.hint-card {
  background: #fff3e0;
  border-left: 4px solid #E67E22;
  padding: 1rem 1.5rem;
  border-radius: 0 8px 8px 0;
  font-size: 0.9rem;
}
.hint-card ol {
  margin: 0.5rem 0;
  padding-left: 1.2rem;
}
.hint-card li { margin: 0.3rem 0; }

@media (max-width: 768px) {
  .install-btn { width: 100%; justify-content: center; }
}
/* ========================================= */
/* ✅ ИСПРАВЛЕНИЕ ПЕЧАТИ (ВСТАВИТЬ В КОНЕЦ) */
/* ========================================= */
@media print {
  @page { margin: 1cm; size: auto; }

  /* 1. ЖЕСТКО СКРЫВАЕМ ВСЁ ЛИШНЕЕ */
  body * { visibility: hidden; }
  header, footer, .hero, nav.categories, .toolbar, .main-content, #recipesGrid, #loader, #noResults, #loadMoreWrap, #install-banner, .back-top, .panel-overlay, .side-panel, .timer-float, .toast, .search-wrap, .header-actions, .ad-placeholder, #ad-bottom, .ad-label, .banner-content, .ios-instructions, #btn-install-android, .banner-close {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  /* 2. ПОЛНОСТЬЮ УДАЛЯЕМ РЕКЛАМНЫЕ БЛОКИ (УСИЛЕННЫЙ СЕЛЕКТОР) */
  .ad-placeholder, 
  #ad-recipe-stats, 
  #ad-recipe-ingredients, 
  #ad-recipe-footer, 
  #ad-bottom, 
  aside.ad-placeholder,
  [id^="ad-"],
  [class*="ad-"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
  }

  /* 3. ПОКАЗЫВАЕМ МОДАЛЬНОЕ ОКНО И ЕГО СОДЕРЖИМОЕ */
  #recipeModal,
  #recipeModal *,
  #recipeModal *::before,
  #recipeModal *::after {
    visibility: visible !important;
  }

  /* 4. ПРЕВРАЩАЕМ МОДАЛЬНОЕ ОКНО В ОБЫЧНЫЙ БЛОК */
  .modal-overlay {
    position: static !important;
    display: block !important;
    background: none !important;
    padding: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* 5. РАСТЯГИВАЕМ РЕЦЕПТ НА ВСЮ ВЫСОТУ */
  .modal {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-shadow: none !important;
    border: none !important;
    margin: 0 !important;
    background: #fff !important;
  }

  /* 6. РАЗРЕШАЕМ ТЕЛУ РЕЦЕПТА ПОКАЗЫВАТЬ ВСЁ СОДЕРЖИМОЕ */
  .modal-body, #modalBody {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    display: block !important;
    position: static !important;
  }

  /* 7. НАСТРОЙКИ ФОТО */
  .modal-hero {
    position: static !important;
    height: auto !important;
    max-height: 400px !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
    display: block !important;
  }
  .modal-hero img {
    width: 100% !important;
    height: auto !important;
    max-height: 400px !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* 8. СКРЫВАЕМ КНОПКИ И ИНТЕРАКТИВ */
  .modal-close,
  .modal-actions-footer,
  .mode-toggle,
  .step-btn,
  .p-btn,
  .ha-btn,
  .hero-actions,
  .portions-ctrl button,
  #btnOpenTimer,
  #btnAddToCart,
  .step-progress-bar,
  .step-counter,
  .step-display,
  .step-nav {
    display: none !important;
    visibility: hidden !important;
  }

  /* 9. ТИПОГРАФИКА И ВЕРСТКА ДЛЯ БУМАГИ */
  body {
    background: white !important;
    color: black !important;
    font-family: sans-serif !important;
    line-height: 1.5 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  h1 {
    font-size: 26pt !important;
    color: black !important;
    border-bottom: 3px solid #E67E22 !important;
    margin: 0 0 10px 0 !important;
    padding-bottom: 8px !important;
    page-break-after: avoid !important;
  }

  .m-sub {
    font-size: 13pt !important;
    color: #333 !important;
    font-style: italic !important;
    margin-bottom: 15px !important;
  }

  /* СТАТИСТИКА - ГОРИЗОНТАЛЬНО В РЯД */
  .m-stats-wrapper {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    margin: 15px 0 20px 0 !important;
    border: 2px solid #ddd !important;
    padding: 15px !important;
    border-radius: 10px !important;
    background: #f9f9f9 !important;
    align-items: center !important;
    justify-content: space-around !important;
    flex-wrap: wrap !important;
  }

  .ms {
    font-size: 12pt !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    min-width: 70px !important;
    flex: 1 !important;
  }

  .ms .v {
    font-weight: bold !important;
    font-size: 15pt !important;
    color: black !important;
  }

  .ms .l {
    font-size: 10pt !important;
    color: #666 !important;
    margin-top: 3px !important;
    text-transform: uppercase !important;
  }

  /* ЗАГОЛОВКИ СЕКЦИЙ */
  .sec-t {
    font-size: 18pt !important;
    font-weight: bold !important;
    color: black !important;
    margin: 25px 0 12px 0 !important;
    border-bottom: 2px solid #E67E22 !important;
    padding-bottom: 6px !important;
    page-break-after: avoid !important;
  }

  /* ИНГРЕДИЕНТЫ - ГОРИЗОНТАЛЬНЫЙ СПИСОК */
  #ingList, .ing-list {
    display: block !important;
    margin: 10px 0 !important;
  }

  .ing-item {
    font-size: 12pt !important;
    margin-bottom: 8px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #eee !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    page-break-inside: avoid !important;
  }

  .ing-name {
    font-weight: 600 !important;
    flex: 1 !important;
    color: black !important;
  }

  .ing-am {
    color: #555 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  .ing-ch { display: none !important; }

  /* ШАГИ ПРИГОТОВЛЕНИЯ - ГОРИЗОНТАЛЬНО */
  .step-list, .steps {
    display: block !important;
    margin: 10px 0 !important;
  }

  .step-item {
    font-size: 12pt !important;
    margin-bottom: 12px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #eee !important;
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    page-break-inside: avoid !important;
  }

  .step-num {
    display: inline-flex !important;
    width: 28px !important;
    height: 28px !important;
    background: #E67E22 !important;
    color: white !important;
    border-radius: 50% !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: bold !important;
    flex-shrink: 0 !important;
    font-size: 11pt !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .step-text {
    flex: 1 !important;
    line-height: 1.6 !important;
    color: black !important;
  }

  /* СОВЕТЫ */
  .tips {
    background: #fff3e0 !important;
    padding: 12px !important;
    border-radius: 8px !important;
    margin-top: 15px !important;
    font-size: 11pt !important;
    border-left: 4px solid #E67E22 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tips h3 {
    font-size: 13pt !important;
    color: #D35400 !important;
    margin-bottom: 5px !important;
  }

  .tips p {
    color: #333 !important;
    line-height: 1.5 !important;
  }

  /* УБИРАЕМ ЛЮБЫЕ ОСТАТОЧНЫЕ ВЕРТИКАЛЬНЫЕ БЛОКИ */
  .r-img, .r-body, .r-meta, .r-footer, .r-badge, .r-fav, .r-rating, .r-tags, .r-desc, .r-diff {
    display: none !important;
  }

  /* ФИНАЛЬНЫЙ СБРОС ДЛЯ ВСЕХ ОСТАЛЬНЫХ ЭЛЕМЕНТОВ */
  .modal-body > * {
    display: block !important;
    page-break-inside: avoid !important;
  }
}
/* ========================================= */
/* ✅ ГОРИЗОНТАЛЬНАЯ ВЕРСТКА ТОЛЬКО ДЛЯ ПЕЧАТИ */
/* ========================================= */
@media print {
  /* 1. СКРЫВАЕМ ЛИШНЕЕ */
  body > * { visibility: hidden; }
  header, footer, .hero, nav, .toolbar, .main-content, #recipesGrid, #loader, #noResults, #loadMoreWrap, #install-banner, .back-top, .panel-overlay, .side-panel, .timer-float, .toast, .search-wrap, .header-actions, .ad-placeholder, #ad-bottom {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 2. ПОКАЗЫВАЕМ МОДАЛЬНОЕ ОКНО */
  #recipeModal, #recipeModal * { visibility: visible !important; }
  .modal-overlay { position: static !important; display: block !important; background: none !important; padding: 0 !important; overflow: visible !important; }
  .modal { position: static !important; width: 100% !important; max-width: 100% !important; height: auto !important; max-height: none !important; overflow: visible !important; box-shadow: none !important; border: none !important; margin: 0 !important; }
  .modal-body { overflow: visible !important; height: auto !important; max-height: none !important; padding: 0 !important; }

  /* 3. ФОТО */
  .modal-hero { position: static !important; height: auto !important; max-height: 400px !important; margin-bottom: 20px !important; }
  .modal-hero img { width: 100% !important; height: auto !important; max-height: 400px !important; object-fit: cover !important; }

  /* 4. СКРЫВАЕМ РЕКЛАМУ */
  .ad-placeholder, #ad-recipe-stats, #ad-recipe-ingredients, #ad-recipe-footer, #ad-bottom, .ad-label, aside[class*="ad-"] {
    display: none !important; visibility: hidden !important; height: 0 !important; margin: 0 !important; padding: 0 !important;
  }

  /* 5. СКРЫВАЕМ КНОПКИ */
  .modal-close, .modal-actions-footer, .mode-toggle, .step-btn, .p-btn, .ha-btn, .hero-actions, .portions-ctrl button, #btnOpenTimer, #btnAddToCart, .step-progress-bar, .step-counter, .step-display, .step-nav {
    display: none !important;
  }

  /* 6. БАЗОВЫЕ СТИЛИ */
  body { background: white !important; color: black !important; font-family: sans-serif !important; line-height: 1.5 !important; }
  h1 { font-size: 24pt !important; color: black !important; border-bottom: 3px solid #E67E22 !important; margin: 0 0 10px 0 !important; padding-bottom: 8px !important; }
  .m-sub { font-size: 12pt !important; color: #333 !important; font-style: italic !important; margin-bottom: 15px !important; }

  /* 7. ✅ СТАТИСТИКА - СТРОГО ГОРИЗОНТАЛЬНО */
  .m-stats-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* 🔑 ЗАПРЕТ ПЕРЕНОСА */
    gap: 10px !important;
    margin: 15px 0 20px 0 !important;
    border: 2px solid #ddd !important;
    padding: 12px !important;
    border-radius: 10px !important;
    background: #f9f9f9 !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }
  .ms {
    flex: 1 1 0 !important; /* 🔑 РАВНАЯ ШИРИНА */
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 4px !important;
  }
  .ms .v { 
    font-weight: bold !important; 
    font-size: 13pt !important; 
    color: black !important; 
    white-space: nowrap !important; /* 🔑 ЗАПРЕТ ПЕРЕНОСА ТЕКСТА */
  }
  .ms .l { 
    font-size: 8pt !important; 
    color: #666 !important; 
    margin-top: 2px !important; 
    text-transform: uppercase !important; 
  }

  /* 8. ЗАГОЛОВКИ СЕКЦИЙ */
  .sec-t { font-size: 16pt !important; font-weight: bold !important; color: black !important; margin: 25px 0 12px 0 !important; border-bottom: 2px solid #E67E22 !important; padding-bottom: 6px !important; }

  /* 9. ✅ ИНГРЕДИЕНТЫ - ГОРИЗОНТАЛЬНО */
  #ingList { display: block !important; margin: 10px 0 !important; }
  .ing-item {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 11pt !important;
    margin-bottom: 8px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #eee !important;
    page-break-inside: avoid !important;
  }
  .ing-name { font-weight: 600 !important; flex: 1 !important; color: black !important; }
  .ing-am { color: #555 !important; font-weight: 600 !important; white-space: nowrap !important; text-align: right !important; }
  .ing-ch { display: none !important; }

  /* 10. ✅ ШАГИ - ГОРИЗОНТАЛЬНО */
  .step-list { display: block !important; margin: 10px 0 !important; }
  .step-item {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    align-items: flex-start !important;
    font-size: 11pt !important;
    margin-bottom: 12px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #eee !important;
    page-break-inside: avoid !important;
  }
  .step-num {
    display: inline-flex !important;
    width: 26px !important;
    height: 26px !important;
    background: #E67E22 !important;
    color: white !important;
    border-radius: 50% !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: bold !important;
    flex-shrink: 0 !important;
    font-size: 10pt !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .step-text { flex: 1 !important; line-height: 1.6 !important; color: black !important; }

  /* 11. СОВЕТЫ */
  .tips { background: #fff3e0 !important; padding: 12px !important; border-radius: 8px !important; margin-top: 15px !important; font-size: 10pt !important; border-left: 4px solid #E67E22 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* 12. СКРЫВАЕМ КАРТОЧКИ */
  .r-card, .r-img, .r-body, .r-meta, .r-footer, .r-badge, .r-fav, .r-rating { display: none !important; }
}
@media print {
  .m-stats-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }
  .ms {
    flex: 1 !important;
    min-width: 0 !important;
  }
  .ms .v {
    white-space: nowrap !important;
  }
}