/* FOOD DELIVERY Pro UI — общий адаптивный слой для всех страниц */
:root{
  --pro-brand:#d94f42;
  --pro-brand-dark:#b9372d;
  --pro-accent:#ffcf6b;
  --pro-ink:#242526;
  --pro-muted:#687178;
  --pro-bg:#f7f2e8;
  --pro-panel:#fffdf9;
  --pro-line:#eadfce;
  --pro-success:#2f8b57;
  --pro-radius:22px;
  --pro-shadow:0 16px 50px rgba(45,36,26,.10);
  --pro-header-h:70px;
  --pro-bottom-h:0px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--pro-header-h) + 12px)}
body{min-width:0;overflow-x:hidden}
img{max-width:100%}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}

/* Универсальная шапка для внутренних страниц */
.pro-header{
  position:sticky;top:0;z-index:9000;
  padding-top:env(safe-area-inset-top);
  background:rgba(255,253,249,.92);
  backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid rgba(220,205,183,.8);
}
.pro-header-inner{
  width:min(1180px,94vw);min-height:68px;margin:auto;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.pro-brand{display:flex;align-items:center;gap:10px;color:var(--pro-ink);text-decoration:none;font-weight:950;letter-spacing:-.03em}
.pro-brand img{width:46px;height:46px;object-fit:contain;border-radius:14px}
.pro-brand-copy{display:grid;line-height:1.02}
.pro-brand-copy small{font-size:.72rem;color:var(--pro-muted);font-weight:750;letter-spacing:0}
.pro-header-actions{display:flex;align-items:center;gap:8px}
.pro-head-btn{
  min-height:42px;padding:0 14px;border:1px solid var(--pro-line);border-radius:13px;
  background:#fff;color:var(--pro-ink);display:inline-flex;align-items:center;gap:8px;
  text-decoration:none;font-weight:850;cursor:pointer;box-shadow:0 4px 14px rgba(40,30,20,.04)
}
.pro-head-btn:hover{border-color:#d9b8ac;background:#fff8f5}
.pro-head-btn.primary{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--pro-brand),var(--pro-brand-dark))}
.pro-head-icon{font-size:1.05rem}
.pro-fav-count{min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#f0e6dc;display:inline-grid;place-items:center;font-size:.72rem}

/* Выравнивание контейнеров и контентных страниц */
body.pro-enhanced .wrap{width:min(1180px,94vw)!important;margin-left:auto!important;margin-right:auto!important}
body.pro-enhanced main{min-width:0}
body.pro-enhanced iframe{max-width:100%;border-radius:18px}
body.pro-enhanced table{max-width:100%}
body.pro-enhanced pre{max-width:100%;overflow:auto}
body.pro-enhanced .hero{overflow:hidden}
body.pro-enhanced .hero h1{font-size:clamp(1.55rem,5vw,2.75rem)!important;line-height:1.06!important;letter-spacing:-.045em!important}
body.pro-enhanced .hero .sub{font-size:clamp(.94rem,2.5vw,1.06rem)}
body.pro-enhanced .crumbs{font-size:.9rem;overflow-wrap:anywhere}

/* Товарный тулбар */
.pro-catalog-tools{
  position:relative;z-index:6;margin:14px 0 18px;padding:12px;
  border:1px solid var(--pro-line);border-radius:18px;background:rgba(255,253,249,.92);
  box-shadow:0 10px 28px rgba(55,42,30,.06)
}
.pro-tools-top{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px}
.pro-search-field{position:relative;display:flex;align-items:center}
.pro-search-field svg{position:absolute;left:14px;width:19px;height:19px;color:#8b8f92;pointer-events:none}
.pro-search-input{
  width:100%;height:46px;border:1px solid #e3d8c9;border-radius:14px;background:#fff;
  padding:0 44px 0 43px;color:var(--pro-ink);outline:none;transition:.18s ease
}
.pro-search-input:focus{border-color:#da8b82;box-shadow:0 0 0 4px rgba(217,79,66,.10)}
.pro-search-clear{position:absolute;right:8px;width:32px;height:32px;border:0;border-radius:10px;background:#f4eee6;color:#6f6f6f;cursor:pointer;display:none}
.pro-search-input:not(:placeholder-shown)+.pro-search-clear{display:block}
.pro-sort{height:46px;border:1px solid #e3d8c9;border-radius:14px;background:#fff;padding:0 36px 0 13px;font-weight:750;color:#3e4244;outline:none}
.pro-filter-row{display:flex;gap:8px;overflow-x:auto;padding:10px 1px 1px;scrollbar-width:none}
.pro-filter-row::-webkit-scrollbar{display:none}
.pro-chip{flex:0 0 auto;min-height:36px;padding:0 13px;border:1px solid #e6d8c7;border-radius:999px;background:#fff;color:#4b4d4e;font-weight:800;font-size:.84rem;cursor:pointer}
.pro-chip.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--pro-brand),var(--pro-brand-dark));box-shadow:0 8px 18px rgba(217,79,66,.22)}
.pro-results-line{display:flex;justify-content:space-between;gap:10px;margin:10px 2px 0;color:var(--pro-muted);font-size:.82rem}
.pro-no-results{grid-column:1/-1!important;padding:34px 18px;border:1px dashed #ddc9b4;border-radius:20px;text-align:center;background:#fffaf3;color:var(--pro-muted)}

/* Унификация товарных сеток */
body.pro-product-page .grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;align-items:stretch!important
}
body.pro-product-page .grid>.card{
  min-width:0!important;height:100%!important;margin:0!important;padding:12px!important;
  border:1px solid var(--pro-line)!important;border-radius:20px!important;background:var(--pro-panel)!important;
  box-shadow:0 10px 30px rgba(45,35,25,.065)!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;text-align:left!important;
  gap:9px!important;overflow:hidden!important;position:relative!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important
}
body.pro-product-page .grid>.card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(45,35,25,.11)!important;border-color:#dfc5b9!important}
body.pro-product-page .card .img,
body.pro-product-page .card>img{
  width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important;
  border-radius:15px!important;background:radial-gradient(circle at 50% 45%,#fff 0,#fff8ef 64%,#f6ecdf 100%)!important;
  padding:5px!important;display:block!important;cursor:zoom-in
}
body.pro-product-page .card h3{margin:1px 1px 0!important;font-size:1.02rem!important;line-height:1.2!important;letter-spacing:-.015em!important;color:var(--pro-ink)!important;min-height:2.4em}
body.pro-product-page .card .desc{margin:0 1px!important;color:var(--pro-muted)!important;font-size:.86rem!important;line-height:1.45!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.pro-product-page .card .row{margin-top:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important}
body.pro-product-page .card .price{font-size:1.02rem!important;color:#252525!important;font-weight:950!important;white-space:nowrap}
body.pro-product-page .card .btn{
  min-height:42px!important;padding:0 13px!important;border-radius:13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  color:#fff!important;background:linear-gradient(135deg,var(--pro-brand),var(--pro-brand-dark))!important;border:0!important;
  box-shadow:0 9px 20px rgba(217,79,66,.21)!important;font-size:.86rem!important;font-weight:900!important;text-decoration:none!important
}
.pro-card-top-actions{position:absolute;top:19px;right:19px;z-index:3;display:flex;gap:6px}
.pro-favorite-btn,.pro-detail-btn{
  width:38px;height:38px;border:1px solid rgba(225,211,194,.9);border-radius:12px;background:rgba(255,255,255,.92);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px rgba(55,42,30,.12);backdrop-filter:blur(7px);color:#5e6264
}
.pro-favorite-btn svg,.pro-detail-btn svg{width:19px;height:19px}
.pro-favorite-btn.active{color:#d94453;background:#fff1f3;border-color:#f1b5bd}
.pro-favorite-btn.active svg{fill:currentColor}
.pro-card-badges{position:absolute;left:18px;top:19px;z-index:3;display:flex;flex-wrap:wrap;gap:5px;max-width:62%}
.pro-card-badge{padding:5px 8px;border-radius:999px;background:rgba(37,38,39,.86);color:#fff;font-size:.68rem;font-weight:900;backdrop-filter:blur(6px)}
.pro-card-badge.hot{background:rgba(205,61,42,.92)}
.pro-card-badge.veg{background:rgba(42,137,80,.92)}
.pro-card-badge.new{background:rgba(91,74,160,.92)}
.pro-card-badge.hit{background:rgba(198,132,21,.94)}
.pro-card-meta{display:flex;gap:7px;flex-wrap:wrap;margin:0 1px;color:#777;font-size:.75rem}
.pro-card-meta span{padding:4px 7px;border-radius:8px;background:#f5efe7}

/* Категории на главной */
body.pro-home-page .catgrid{gap:14px!important}
body.pro-home-page .cati{border-radius:20px!important;transition:transform .18s ease,box-shadow .18s ease!important;overflow:hidden}
body.pro-home-page .cati:hover{transform:translateY(-3px);box-shadow:var(--pro-shadow)!important}
body.pro-home-page .cati .ico img{transition:transform .25s ease}
body.pro-home-page .cati:hover .ico img{transform:scale(1.035)}
.pro-home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 20px}
.pro-home-action{padding:16px;border:1px solid var(--pro-line);border-radius:20px;background:linear-gradient(145deg,#fffdf9,#fff8ed);text-decoration:none;color:var(--pro-ink);box-shadow:0 9px 24px rgba(50,38,25,.055);display:flex;align-items:center;gap:12px;cursor:pointer}
.pro-home-action-icon{width:46px;height:46px;border-radius:15px;background:#fff0e9;display:grid;place-items:center;font-size:1.35rem;flex:0 0 auto}
.pro-home-action strong{display:block}
.pro-home-action small{display:block;color:var(--pro-muted);margin-top:2px}

/* Полноэкранный поиск / избранное / история */
.pro-overlay{position:fixed;inset:0;z-index:10010;display:none;align-items:stretch;justify-content:center;padding:16px;background:rgba(25,22,20,.54);backdrop-filter:blur(8px)}
.pro-overlay.show{display:flex}
.pro-panel{width:min(980px,100%);height:min(780px,calc(100dvh - 32px));margin:auto;background:#fffdf9;border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.7)}
.pro-panel-head{padding:14px 16px;border-bottom:1px solid var(--pro-line);display:flex;align-items:center;gap:10px;background:rgba(255,253,249,.95)}
.pro-panel-head strong{font-size:1.08rem;margin-right:auto}
.pro-panel-close{width:40px;height:40px;border:0;border-radius:12px;background:#f2ece4;cursor:pointer;font-size:1.1rem}
.pro-panel-search{flex:1;max-width:560px;position:relative}
.pro-panel-search input{width:100%;height:44px;border:1px solid #e2d7c8;border-radius:13px;padding:0 14px;outline:none}
.pro-panel-tabs{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid var(--pro-line);overflow-x:auto;background:#fff}
.pro-panel-tab{height:36px;padding:0 13px;border:1px solid #e3d8c9;border-radius:999px;background:#fff;font-weight:850;white-space:nowrap;cursor:pointer}
.pro-panel-tab.active{background:#282828;color:#fff;border-color:#282828}
.pro-panel-body{padding:16px;overflow:auto;overscroll-behavior:contain;flex:1}
.pro-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pro-result-card{border:1px solid var(--pro-line);border-radius:18px;background:#fff;padding:10px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;position:relative;min-width:0}
.pro-result-card img{width:92px;height:92px;object-fit:contain;border-radius:13px;background:#fff7ed}
.pro-result-info{min-width:0;display:flex;flex-direction:column;gap:4px}
.pro-result-info strong{line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pro-result-info small{color:var(--pro-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pro-result-price{font-weight:950;margin-top:auto}
.pro-result-actions{display:flex;gap:6px;margin-top:5px}
.pro-mini-btn{height:34px;padding:0 10px;border:1px solid #e0d4c5;border-radius:10px;background:#fff;font-weight:850;cursor:pointer;white-space:nowrap}
.pro-mini-btn.primary{color:#fff;border:0;background:linear-gradient(135deg,var(--pro-brand),var(--pro-brand-dark))}
.pro-empty{padding:50px 18px;text-align:center;color:var(--pro-muted)}
.pro-empty-icon{font-size:2.4rem;margin-bottom:8px}

/* Детальная карточка */
.pro-detail-overlay{position:fixed;inset:0;z-index:10020;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(25,22,20,.58);backdrop-filter:blur(8px)}
.pro-detail-overlay.show{display:flex}
.pro-detail-box{width:min(820px,100%);max-height:calc(100dvh - 32px);overflow:auto;border-radius:25px;background:#fffdf9;box-shadow:0 30px 90px rgba(0,0,0,.32);position:relative}
.pro-detail-close{position:absolute;right:13px;top:13px;z-index:4;width:42px;height:42px;border:0;border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(0,0,0,.12);cursor:pointer;font-size:1.15rem}
.pro-detail-grid{display:grid;grid-template-columns:1fr 1fr;min-height:430px}
.pro-detail-media{padding:24px;background:radial-gradient(circle at 50% 40%,#fff 0,#fff6e9 70%,#f2e4d3 100%);display:grid;place-items:center}
.pro-detail-media img{width:100%;max-height:410px;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(50,35,20,.13))}
.pro-detail-content{padding:28px 25px 24px;display:flex;flex-direction:column}
.pro-detail-kicker{text-transform:uppercase;color:var(--pro-brand);font-weight:900;font-size:.72rem;letter-spacing:.09em}
.pro-detail-content h2{margin:7px 0 9px;font-size:clamp(1.5rem,4vw,2.15rem);line-height:1.05;letter-spacing:-.04em}
.pro-detail-desc{color:var(--pro-muted);line-height:1.6}
.pro-detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.pro-detail-meta span{padding:7px 10px;border-radius:10px;background:#f4eee6;font-size:.82rem;font-weight:750}
.pro-detail-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px}
.pro-detail-price{font-size:1.35rem;font-weight:950}
.pro-detail-add{min-height:48px;padding:0 18px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--pro-brand),var(--pro-brand-dark));font-weight:950;cursor:pointer;box-shadow:0 10px 24px rgba(217,79,66,.22)}

/* Комбо-конструктор */
.pro-combo-section{margin:22px 0;padding:18px;border:1px solid #ead9c0;border-radius:24px;background:linear-gradient(135deg,#fff8ea,#fffdf9 55%,#fff0eb);box-shadow:0 14px 35px rgba(60,42,22,.07)}
.pro-combo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.pro-combo-head h2{margin:0;font-size:clamp(1.25rem,4vw,1.8rem);letter-spacing:-.035em}
.pro-combo-head p{margin:5px 0 0;color:var(--pro-muted)}
.pro-combo-sale{padding:8px 11px;border-radius:999px;background:#2f8b57;color:#fff;font-weight:900;white-space:nowrap}
.pro-combo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pro-combo-field{display:grid;gap:6px}
.pro-combo-field label{font-size:.82rem;font-weight:900;color:#565656}
.pro-combo-field select{width:100%;height:48px;border:1px solid #dfd1bf;border-radius:14px;background:#fff;padding:0 12px;outline:none}
.pro-combo-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:13px;border-top:1px dashed #ddc9ae}
.pro-combo-prices{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.pro-combo-old{text-decoration:line-through;color:#8b8b8b}
.pro-combo-new{font-size:1.25rem;font-weight:950}
.pro-combo-add{min-height:46px;padding:0 18px;border:0;border-radius:14px;color:#fff;background:#242526;font-weight:950;cursor:pointer}

/* Недавно просмотренные */
.pro-recent-section{margin:23px 0 4px}
.pro-recent-section h2{font-size:1.15rem;margin:0 0 10px}
.pro-recent-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,210px);gap:10px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}
.pro-recent-item{scroll-snap-align:start;border:1px solid var(--pro-line);border-radius:17px;background:#fff;padding:9px;cursor:pointer;min-width:0}
.pro-recent-item img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:12px;background:#fff7ed}
.pro-recent-item strong{display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem}
.pro-recent-item span{font-weight:900;font-size:.84rem}

/* PWA/уведомления */
.pro-install-banner{position:fixed;left:50%;bottom:18px;z-index:9950;transform:translate(-50%,130%);width:min(540px,calc(100vw - 24px));padding:12px;border-radius:18px;background:#252525;color:#fff;display:flex;align-items:center;gap:11px;box-shadow:0 20px 55px rgba(0,0,0,.28);transition:.25s ease}
.pro-install-banner.show{transform:translate(-50%,0)}
.pro-install-banner strong{display:block}
.pro-install-banner small{display:block;color:#d8d8d8}
.pro-install-banner button{min-height:38px;border:0;border-radius:11px;padding:0 12px;font-weight:900;cursor:pointer}
.pro-install-dismiss{background:#3c3c3c;color:#fff}
.pro-install-confirm{background:#fff;color:#252525}
.pro-top-btn{position:fixed;right:18px;bottom:92px;z-index:8900;width:44px;height:44px;border:1px solid #e2d5c5;border-radius:14px;background:rgba(255,255,255,.93);box-shadow:0 10px 24px rgba(40,30,20,.13);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}
.pro-top-btn.show{opacity:1;visibility:visible;transform:none}

/* Мобильная нижняя навигация */
.pro-mobile-nav{display:none}

/* Состояния наличия */
.card.pro-unavailable{opacity:.68;filter:grayscale(.2)}
.card.pro-unavailable .btn{pointer-events:none;background:#8b8b8b!important;box-shadow:none!important}
.pro-stock-note{font-size:.75rem;font-weight:850;color:#a14a3e;margin-top:-2px}

@media (max-width:1020px){
  body.pro-product-page .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pro-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  :root{--pro-bottom-h:72px}
  body{padding-bottom:calc(var(--pro-bottom-h) + env(safe-area-inset-bottom))}
  .pro-header-inner{min-height:60px}
  .pro-brand img{width:42px;height:42px}
  .pro-brand-copy small{display:none}
  .pro-header-actions .pro-head-btn span:not(.pro-head-icon):not(.pro-fav-count){display:none}
  .pro-head-btn{width:42px;height:42px;min-height:42px;padding:0;justify-content:center}
  body.pro-enhanced .wrap{width:min(100% - 20px,1180px)!important;margin-top:10px!important}
  body.pro-enhanced main{border-radius:20px!important;padding-left:10px!important;padding-right:10px!important}
  body.pro-product-page .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  body.pro-product-page .grid>.card{padding:8px!important;border-radius:16px!important;gap:7px!important}
  body.pro-product-page .card .img,body.pro-product-page .card>img{border-radius:12px!important;padding:2px!important}
  body.pro-product-page .card h3{font-size:.91rem!important;min-height:2.35em}
  body.pro-product-page .card .desc{-webkit-line-clamp:2;font-size:.76rem!important}
  body.pro-product-page .card .row{align-items:stretch!important;flex-direction:column!important;gap:6px!important}
  body.pro-product-page .card .price{font-size:.92rem!important}
  body.pro-product-page .card .btn{width:100%!important;min-height:39px!important;font-size:.8rem!important}
  .pro-card-top-actions{top:12px;right:12px}
  .pro-favorite-btn,.pro-detail-btn{width:34px;height:34px;border-radius:11px}
  .pro-detail-btn{display:none}
  .pro-card-badges{left:11px;top:12px;max-width:56%}
  .pro-card-badge{font-size:.59rem;padding:4px 6px}
  .pro-card-meta{display:none}
  .pro-tools-top{grid-template-columns:1fr}
  .pro-sort{width:100%}
  .pro-home-actions{grid-template-columns:1fr}
  .pro-results-grid{grid-template-columns:1fr}
  .pro-result-card{grid-template-columns:82px minmax(0,1fr)}
  .pro-result-card img{width:82px;height:82px}
  .pro-overlay{padding:0;align-items:flex-end}
  .pro-panel{height:94dvh;border-radius:24px 24px 0 0;margin:0;width:100%}
  .pro-panel-head{padding:11px 12px;flex-wrap:wrap}
  .pro-panel-head strong{width:calc(100% - 52px)}
  .pro-panel-search{order:3;flex-basis:100%;max-width:none}
  .pro-panel-tabs{padding:9px 12px}
  .pro-panel-body{padding:12px}
  .pro-detail-overlay{padding:0;align-items:flex-end}
  .pro-detail-box{max-height:94dvh;border-radius:24px 24px 0 0;width:100%}
  .pro-detail-grid{grid-template-columns:1fr;min-height:0}
  .pro-detail-media{padding:16px;min-height:245px;max-height:38dvh}
  .pro-detail-media img{max-height:32dvh}
  .pro-detail-content{padding:18px 16px calc(16px + env(safe-area-inset-bottom))}
  .pro-detail-footer{position:sticky;bottom:0;background:#fffdf9;padding-bottom:4px}
  .pro-combo-grid{grid-template-columns:1fr}
  .pro-combo-summary{align-items:stretch;flex-direction:column}
  .pro-combo-add{width:100%}
  .pro-combo-sale{font-size:.75rem}
  .pro-mobile-nav{
    position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:9200;
    min-height:62px;padding:6px;border:1px solid rgba(226,211,192,.88);border-radius:20px;
    background:rgba(255,253,249,.94);backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 16px 45px rgba(35,27,20,.18);
    display:grid;grid-template-columns:repeat(4,1fr);gap:2px
  }
  .pro-mobile-nav button,.pro-mobile-nav a{border:0;background:transparent;color:#5f6264;text-decoration:none;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.67rem;font-weight:850;cursor:pointer;min-width:0}
  .pro-mobile-nav .ico{font-size:1.15rem;line-height:1}
  .pro-mobile-nav .active{background:#fff0eb;color:var(--pro-brand-dark)}
  .pro-mobile-nav-badge{position:absolute;transform:translate(11px,-10px);min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--pro-brand);color:#fff;font-size:.62rem;display:grid;place-items:center}
  .pro-top-btn{right:14px;bottom:calc(84px + env(safe-area-inset-bottom))}
  .cart-fab{bottom:calc(86px + env(safe-area-inset-bottom))!important}
  .cart-toast{bottom:calc(88px + env(safe-area-inset-bottom))!important}
  .pro-install-banner{bottom:calc(82px + env(safe-area-inset-bottom))}
}
@media (max-width:380px){
  body.pro-product-page .grid{grid-template-columns:1fr!important}
  body.pro-product-page .card .row{flex-direction:row!important;align-items:center!important}
  body.pro-product-page .card .btn{width:auto!important;min-width:112px}
  body.pro-product-page .card .desc{-webkit-line-clamp:3}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ========================================================================== */
/* FULL FARSCH v5 — финальные исправления интерфейса, веса и мобильной версии */
/* ========================================================================== */
html.pro-ui-lock,html.pro-ui-lock body{overscroll-behavior:none}
body.pro-enhanced *,body.pro-enhanced *::before,body.pro-enhanced *::after{box-sizing:border-box}
body.pro-enhanced .wrap,body.pro-enhanced main,body.pro-enhanced section,body.pro-enhanced .grid,body.pro-enhanced .card{min-width:0;max-width:100%}
body.pro-enhanced img{max-width:100%}

/* Вес/объём должен быть виден на каждой карточке */
.pro-card-meta{align-items:center;justify-content:flex-start!important;gap:7px!important;flex-wrap:wrap}
.pro-card-meta span{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:9px;background:#f5f0e9;color:#606468;font-size:.72rem;font-weight:850}
.pro-card-meta .pro-card-weight{background:#fff0eb;color:#a13f35;font-weight:950}

/* Поиск по меню: никакого горизонтального выхода за контур */
.pro-panel{max-width:calc(100vw - 24px)}
.pro-panel-head,.pro-panel-tabs,.pro-panel-body{min-width:0;max-width:100%}
.pro-panel-body{overflow-y:auto!important;overflow-x:hidden!important}
.pro-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0;max-width:100%;align-items:stretch}
.pro-result-card{grid-template-columns:96px minmax(0,1fr)!important;min-width:0!important;max-width:100%!important;width:100%;overflow:hidden!important;padding:10px!important}
.pro-result-card>img{width:96px!important;height:96px!important;min-width:0;object-fit:contain!important}
.pro-result-info{display:flex;flex-direction:column;min-width:0;max-width:100%;overflow:hidden}
.pro-result-info strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pro-result-measure{align-self:flex-start;margin:4px 0 2px;padding:4px 7px;border-radius:8px;background:#fff0eb;color:#9f4035;font-size:.72rem;font-weight:950;white-space:nowrap}
.pro-result-info small{min-width:0;max-width:100%}
.pro-result-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:6px!important;width:100%;min-width:0;margin-top:8px}
.pro-result-actions .pro-mini-btn{min-width:0!important;width:100%;max-width:100%;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pro-result-actions .pro-mini-btn.fav{padding:0;font-size:1.05rem}

/* Карточка блюда: контент и кнопка всегда внутри окна */
.pro-detail-box{max-width:calc(100vw - 24px);overflow:hidden!important}
#pro-detail-content{max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.pro-detail-grid,.pro-detail-content,.pro-detail-footer{min-width:0;max-width:100%}
.pro-detail-content{overflow-wrap:anywhere}
.pro-detail-portion{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 0 2px}
.pro-detail-portion strong{display:inline-flex;padding:8px 11px;border-radius:11px;background:#fff0eb;color:#9e4035;font-size:.9rem;font-weight:950}
.pro-detail-portion span{color:var(--pro-muted);font-size:.78rem;font-weight:750}
.pro-detail-footer{flex-wrap:wrap}
.pro-detail-add{max-width:100%;white-space:normal;text-align:center}

/* Компактный блок на странице — сам конструктор открывается модальным окном */
.pro-combo-teaser{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px!important;overflow:hidden;position:relative}
.pro-combo-teaser::after{content:"";position:absolute;width:180px;height:180px;right:-70px;top:-80px;border-radius:50%;background:rgba(217,79,66,.08);pointer-events:none}
.pro-combo-teaser-copy{display:flex;align-items:center;gap:14px;min-width:0;position:relative;z-index:1}
.pro-combo-icon{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(50,35,20,.09);font-size:1.8rem}
.pro-combo-teaser-copy h2{margin:0;font-size:clamp(1.2rem,3vw,1.65rem);letter-spacing:-.035em}
.pro-combo-teaser-copy p{margin:5px 0 0;color:var(--pro-muted);line-height:1.45}
.pro-combo-teaser-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.pro-combo-open{min-height:46px;padding:0 17px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--pro-brand),var(--pro-brand-dark));color:#fff;font-weight:950;cursor:pointer;box-shadow:0 10px 24px rgba(217,79,66,.2)}

.pro-combo-overlay{position:fixed;inset:0;z-index:10010;display:none;align-items:center;justify-content:center;padding:16px}
.pro-combo-overlay.show{display:flex}
.pro-combo-backdrop{position:absolute;inset:0;background:rgba(26,22,18,.58);backdrop-filter:blur(4px)}
.pro-combo-modal{position:relative;display:flex;flex-direction:column;width:min(820px,100%);max-height:min(92dvh,900px);overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:26px;background:#fffdf9;box-shadow:0 32px 95px rgba(0,0,0,.34);animation:proComboIn .18s ease both}
@keyframes proComboIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.pro-combo-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:19px 20px 16px;border-bottom:1px solid var(--pro-line);background:linear-gradient(180deg,#fff,#fff9f4)}
.pro-combo-modal-head h2{margin:3px 0 2px;font-size:clamp(1.35rem,4vw,1.9rem);letter-spacing:-.04em}
.pro-combo-modal-head p{margin:0;color:var(--pro-muted)}
.pro-combo-kicker{color:var(--pro-brand);font-size:.69rem;font-weight:950;letter-spacing:.1em}
.pro-combo-close{flex:0 0 42px;width:42px;height:42px;border:1px solid var(--pro-line);border-radius:14px;background:#fff;cursor:pointer;font-size:1.15rem}
.pro-combo-modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 18px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.pro-combo-builder-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:7px 12px;margin-bottom:12px;padding:13px;border:1px solid #eadfce;border-radius:18px;background:#fff;min-width:0}
.pro-combo-step{grid-row:1/4;display:grid;place-items:center;align-self:stretch;min-height:94px;border-radius:13px;background:#fff0eb;color:var(--pro-brand-dark);font-size:1.05rem;font-weight:950}
.pro-combo-builder-card>label{font-size:.78rem;font-weight:950;color:#555b5f}
.pro-combo-builder-card>select{width:100%;max-width:100%;height:44px;border:1px solid #dfd2c2;border-radius:12px;background:#fff;padding:0 11px;font:inherit;outline:none}
.pro-combo-builder-card>select:focus{border-color:#d67a6e;box-shadow:0 0 0 3px rgba(217,79,66,.1)}
.pro-combo-preview{grid-column:2;display:grid;grid-template-columns:66px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding-top:5px}
.pro-combo-preview img{width:66px;height:58px;object-fit:contain;border-radius:11px;background:#fff7ed}
.pro-combo-preview>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;align-items:center;min-width:0}
.pro-combo-preview strong{grid-column:1/-1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.pro-combo-preview span{color:var(--pro-muted);font-size:.74rem;font-weight:800}
.pro-combo-preview b{font-size:.84rem;white-space:nowrap}
.pro-combo-tip{display:flex;gap:10px;padding:12px 13px;border-radius:16px;background:#f7f2ea;color:#555b5f}
.pro-combo-tip>span{font-size:1.25rem}
.pro-combo-tip strong{font-size:.87rem}
.pro-combo-tip p{margin:3px 0 0;font-size:.78rem;line-height:1.45;color:var(--pro-muted)}
.pro-combo-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--pro-line);background:#fff;box-shadow:0 -12px 28px rgba(30,22,15,.05)}
.pro-combo-modal-foot .pro-combo-prices{min-width:0}
.pro-combo-modal-foot .pro-combo-add{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:230px;background:linear-gradient(135deg,var(--pro-brand),var(--pro-brand-dark));box-shadow:0 10px 24px rgba(217,79,66,.22)}

@media (max-width:760px){
  /* На мобильном вес не прячется */
  body.pro-product-page .pro-card-meta{display:flex!important;margin-top:0!important;min-height:25px}
  body.pro-product-page .pro-card-meta span:not(.pro-card-weight){display:none!important}
  body.pro-product-page .pro-card-meta .pro-card-weight{display:inline-flex!important;font-size:.68rem;padding:4px 7px}

  .pro-panel{max-width:100%;width:100%}
  .pro-results-grid{grid-template-columns:1fr!important}
  .pro-result-card{grid-template-columns:82px minmax(0,1fr)!important;padding:9px!important}
  .pro-result-card>img{width:82px!important;height:82px!important}
  .pro-result-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px}
  .pro-result-actions .pro-mini-btn{font-size:.76rem;padding:0 6px}

  .pro-detail-box{max-width:100%}
  #pro-detail-content{max-height:94dvh}
  .pro-detail-footer{position:sticky!important;bottom:-1px;z-index:2;margin-left:-16px;margin-right:-16px;padding:12px 16px calc(6px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--pro-line);background:rgba(255,253,249,.97);backdrop-filter:blur(12px)}
  .pro-detail-price{font-size:1.2rem}
  .pro-detail-add{min-width:0;flex:1;padding:0 12px;font-size:.88rem}

  .pro-combo-teaser{align-items:stretch;flex-direction:column;padding:16px!important}
  .pro-combo-icon{flex-basis:50px;width:50px;height:50px;border-radius:15px}
  .pro-combo-teaser-actions{justify-content:space-between}
  .pro-combo-open{flex:1;min-width:170px}
  .pro-combo-overlay{padding:0;align-items:flex-end}
  .pro-combo-modal{width:100%;max-height:96dvh;border-radius:24px 24px 0 0}
  .pro-combo-modal-head{padding:15px 14px 12px}
  .pro-combo-modal-body{padding:12px}
  .pro-combo-builder-card{grid-template-columns:36px minmax(0,1fr);padding:10px;gap:6px 9px;border-radius:16px}
  .pro-combo-step{min-height:88px;border-radius:11px}
  .pro-combo-preview{grid-template-columns:56px minmax(0,1fr);gap:8px}
  .pro-combo-preview img{width:56px;height:52px}
  .pro-combo-modal-foot{align-items:stretch;flex-direction:column;gap:9px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
  .pro-combo-modal-foot .pro-combo-prices{justify-content:center}
  .pro-combo-modal-foot .pro-combo-add{width:100%;min-width:0;min-height:50px}
}

@media (max-width:390px){
  .pro-result-actions{grid-template-columns:1fr 1fr 36px}
  .pro-result-actions .pro-mini-btn{font-size:.72rem;padding:0 4px}
  .pro-combo-sale{font-size:.69rem;padding:7px 9px}
  .pro-combo-teaser-actions{align-items:stretch;flex-direction:column}
  .pro-combo-open{width:100%}
}


/* Совместимость с карточками кавказского раздела */
body.pro-product-page .card .card-body{display:flex!important;flex-direction:column!important;flex:1!important;min-width:0!important;gap:8px!important}
body.pro-product-page .card .card-desc{margin:0 1px!important;color:var(--pro-muted)!important;font-size:.86rem!important;line-height:1.45!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.pro-product-page .card .card-buy{margin-top:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;min-width:0!important}
body.pro-product-page .card .card-price{font-size:1.02rem!important;color:#252525!important;font-weight:950!important;white-space:nowrap!important}
body.pro-product-page .card .card-img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important;border-radius:15px!important;background:radial-gradient(circle at 50% 45%,#fff 0,#fff8ef 64%,#f6ecdf 100%)!important;padding:5px!important;display:block!important;cursor:zoom-in!important}
@media(max-width:760px){body.pro-product-page .card .card-buy{align-items:stretch!important}body.pro-product-page .card .card-price{align-self:center!important}}


/* ===== Full farsh visual upgrade ===== */
body.pro-enhanced{
  background-color:var(--pro-bg)!important;
  background-image:url('/img/fon.webp')!important;
  background-position:center top!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
  min-height:100dvh;
}
body.pro-enhanced::before,
body.pro-enhanced::after{content:none!important;background:none!important}
body.pro-enhanced main,
body.pro-enhanced .hero,
body.pro-enhanced .card,
body.pro-enhanced .info-card,
body.pro-enhanced .seo,
body.pro-enhanced .faq-card,
body.pro-enhanced .map-wrap{
  backdrop-filter:saturate(1.06) blur(3px);
}
body.pro-enhanced main{
  background:linear-gradient(180deg,rgba(255,253,248,.96),rgba(255,251,243,.93))!important;
}
@media (max-width:1024px){
  body.pro-enhanced{background-attachment:scroll!important;background-position:center center!important}
}

.pro-header{
  position:sticky;top:0;z-index:9000;
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(255,253,248,.84));
  backdrop-filter:saturate(1.2) blur(10px);
}
.pro-header-inner{width:min(1120px,94vw);min-height:74px;gap:12px}
.pro-brand img{width:auto;height:50px;object-fit:contain;border-radius:0;background:none;box-shadow:none}
.pro-brand-copy{display:none}
.pro-header-actions{margin-left:auto}
.pro-head-btn{min-height:44px;border-radius:14px;padding:0 14px}
.pro-head-btn.primary{box-shadow:0 10px 24px rgba(217,79,66,.22)}

.pro-catalog-tools{padding:10px 12px;border-radius:20px}
.pro-tools-top{gap:9px}
.pro-search-input,.pro-sort{height:44px;border-radius:14px}
.pro-filter-row{gap:7px;padding-top:9px}
.pro-chip{min-height:34px;padding:0 12px;font-size:.82rem}
.pro-results-line{align-items:center;font-size:.8rem}

.pro-card-badge,.pro-card-meta span{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px}
.pro-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin:3px 1px 0}
.pro-card-meta span{background:#fff7ef;border:1px solid #efd7c8;color:#71523c;font-size:.76rem;font-weight:850}
body.pro-product-page .card .btn{min-height:40px;padding:0 15px;border-radius:14px}
body.pro-product-page .card h3{min-height:auto}
body.pro-product-page .card .desc{-webkit-line-clamp:2}

.pro-panel{width:min(980px,100%);border-radius:24px}
.pro-panel-head{padding:12px 15px}
.pro-panel-tabs{padding:8px 14px}
.pro-panel-body{padding:14px}
.pro-result-card{border-radius:18px;box-shadow:0 8px 22px rgba(45,35,25,.05)}
.pro-history-card{padding:14px 15px!important;background:linear-gradient(180deg,#fff,#fffaf4)}
.pro-history-actions{display:flex!important;grid-template-columns:none!important}
.pro-history-repeat{width:auto!important;min-width:180px;height:40px;border-radius:12px;font-size:.86rem}
.pro-detail-meta span{background:#fff8ef;border:1px solid #eed7c5;color:#6f5644}

.pro-combo-teaser{padding:12px 16px!important;border-radius:20px!important;min-height:0}
.pro-combo-icon{width:50px;height:50px}
.pro-combo-teaser-copy h2{font-size:1.22rem}
.pro-combo-teaser-copy p{font-size:.9rem}
.pro-combo-teaser-actions{gap:8px}
.pro-combo-open{min-height:42px;padding:0 15px}
.pro-combo-modal{width:min(760px,100%);border-radius:24px}
.pro-combo-modal-head{padding:18px 18px 14px}
.pro-combo-modal-body{padding:14px 16px}
.pro-combo-modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
.pro-combo-builder-card{padding:12px;border-radius:18px}
.pro-combo-step{min-height:88px}

@media (max-width:960px){
  .pro-header-inner{min-height:64px}
  .pro-brand img{height:44px}
  .pro-header-actions [data-pro-cart]{display:none!important}
  .pro-header-actions .pro-head-btn{padding:0 12px}
  .pro-header-actions .pro-head-btn span:not(.pro-head-icon):not(.pro-fav-count){display:none}
  .pro-catalog-tools{padding:9px 10px;border-radius:18px}
  .pro-tools-top{grid-template-columns:1fr}
  .pro-search-input,.pro-sort{height:42px}
  .pro-chip{min-height:33px;font-size:.79rem}
  .pro-panel{height:94dvh;border-radius:24px 24px 0 0}
}
@media (max-width:700px){
  body.pro-enhanced .wrap{width:min(100%,94vw)!important}
  body.pro-enhanced main{padding:14px 11px 18px;border-radius:22px}
  .pro-filter-row{padding-bottom:1px}
  .pro-card-badges{max-width:72%}
  .pro-card-meta span{font-size:.72rem;padding:4px 8px;min-height:26px}
  .pro-result-card{grid-template-columns:78px minmax(0,1fr)!important;padding:9px!important}
  .pro-result-card>img{width:78px!important;height:78px!important}
  .pro-history-repeat{width:100%!important;min-width:0}
  .pro-detail-meta{gap:6px}
}


/* ===== V8 mobile fit + no ellipsis ===== */
.pro-card-badge.meat{background:rgba(164,68,37,.94)}
body.pro-product-page .grid{padding:2px!important}
body.pro-product-page .grid>.card{max-width:100%!important;overflow:hidden!important}
body.pro-product-page .card h3,
body.pro-product-page .card .desc{
  min-height:0!important;
  display:block!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
}
body.pro-product-page .card .row{min-width:0!important;max-width:100%!important}
body.pro-product-page .card .btn{flex:0 0 auto;max-width:100%!important;white-space:nowrap!important}
.pro-result-info{overflow:visible!important}
.pro-result-info strong,
.pro-result-info small{
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  overflow-wrap:anywhere!important;
}
.pro-history-card .pro-result-info{gap:7px}
.pro-history-actions{display:block!important;width:100%!important}
.pro-history-repeat{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-width:0!important;max-width:220px!important;
  min-height:42px!important;height:auto!important;padding:9px 14px!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
}

@media (max-width:960px){
  .pro-header-actions{display:none!important}
  .pro-header-inner{justify-content:center!important;min-height:60px!important}
  .pro-brand{margin-inline:auto!important}
  .pro-brand img{height:42px!important;max-width:170px!important}
}

@media (max-width:700px){
  .pro-home-actions{gap:8px!important;margin:10px 0 14px!important}
  .pro-home-action{min-height:0!important;padding:10px 12px!important;border-radius:16px!important;gap:9px!important}
  .pro-home-action-icon{width:38px!important;height:38px!important;border-radius:12px!important;font-size:1.05rem!important}
  .pro-home-action strong{font-size:.91rem!important;line-height:1.18!important}
  .pro-home-action small{font-size:.73rem!important;line-height:1.25!important;margin-top:1px!important}

  .pro-panel-head{padding:10px 12px!important}
  .pro-panel-head strong{font-size:1rem!important}
  .pro-panel-tabs{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;padding:8px 12px!important;overflow:visible!important
  }
  .pro-panel-tab{width:100%!important;height:35px!important;padding:0 7px!important;font-size:.78rem!important}
  .pro-panel-body{padding:10px 12px!important}
  .pro-results-grid{gap:9px!important}
  .pro-result-card{grid-template-columns:72px minmax(0,1fr)!important;padding:9px!important;gap:9px!important}
  .pro-result-card>img{width:72px!important;height:72px!important}
  .pro-history-card{grid-template-columns:1fr!important;padding:12px!important}
  .pro-history-repeat{max-width:100%!important}

  body.pro-product-page .grid{grid-template-columns:1fr!important;gap:11px!important}
  body.pro-product-page .grid>.card{padding:10px!important;border-radius:18px!important}
  body.pro-product-page .card .img,
  body.pro-product-page .card>img{aspect-ratio:16/10!important;max-height:260px!important;padding:4px!important}
  body.pro-product-page .card h3{font-size:1rem!important;line-height:1.25!important}
  body.pro-product-page .card .desc{font-size:.84rem!important;line-height:1.45!important}
  body.pro-product-page .card .row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}
  body.pro-product-page .card .btn{width:auto!important;min-width:102px!important;padding:0 14px!important}
  .pro-card-badges{max-width:68%!important}
}


/* ===== V9: аккуратная история, центрирование быстрых действий ===== */
.pro-history-card{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  padding:16px!important;
  border:1px solid var(--pro-line)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#fffaf4)!important;
  box-shadow:0 10px 28px rgba(45,35,25,.06)!important;
}
.pro-history-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding-bottom:12px;border-bottom:1px solid #eee2d2;
}
.pro-history-top>div{min-width:0;display:grid;gap:2px}
.pro-history-label{font-size:.72rem;line-height:1.1;color:var(--pro-muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.pro-history-number{
  font-size:1rem;line-height:1.28;color:var(--pro-ink);font-weight:950;
  white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
}
.pro-history-top time{flex:0 0 auto;color:var(--pro-muted);font-size:.78rem;font-weight:750;white-space:nowrap}
.pro-history-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pro-history-item{
  min-width:0;display:flex;align-items:flex-start;gap:8px;padding:9px 10px;
  border:1px solid #eee1d2;border-radius:13px;background:#fffdf9;
  color:#4f565a;font-size:.82rem;line-height:1.35;
}
.pro-history-item b{flex:0 0 auto;color:var(--pro-brand-dark);font-weight:950}
.pro-history-item span{min-width:0;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.pro-history-empty{grid-column:1/-1;color:var(--pro-muted);font-size:.85rem}
.pro-history-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px}
.pro-history-bottom>div{display:grid;gap:1px}
.pro-history-bottom>div span{font-size:.75rem;color:var(--pro-muted);font-weight:750}
.pro-history-bottom>div strong{font-size:1.14rem;color:var(--pro-ink);font-weight:950}
.pro-history-repeat{
  min-height:42px;padding:0 16px;border:0;border-radius:13px;
  background:linear-gradient(135deg,var(--pro-brand),var(--pro-brand-dark));
  color:#fff;font:900 .86rem/1 inherit;cursor:pointer;
  box-shadow:0 9px 20px rgba(217,79,66,.2);
  white-space:normal;text-align:center;
}
.pro-history-repeat:active{transform:translateY(1px)}

.pro-home-action{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  align-items:center!important;
  text-align:center!important;
}
.pro-home-action::after{content:"";width:48px;height:1px}
.pro-home-action>span:nth-child(2){min-width:0;text-align:center}
.pro-home-action strong,.pro-home-action small{text-align:center!important}

@media (max-width:700px){
  .pro-history-card{padding:13px!important;gap:11px!important;border-radius:18px!important}
  .pro-history-top{gap:9px;padding-bottom:10px}
  .pro-history-top time{font-size:.71rem}
  .pro-history-number{font-size:.91rem}
  .pro-history-items{grid-template-columns:1fr;gap:7px}
  .pro-history-item{padding:8px 9px;font-size:.78rem;border-radius:12px}
  .pro-history-bottom{align-items:stretch;gap:10px}
  .pro-history-repeat{min-width:126px;max-width:48%;padding:0 12px;font-size:.8rem}
  .pro-home-action{grid-template-columns:40px minmax(0,1fr) 40px!important;padding:10px 11px!important}
  .pro-home-action::after{width:40px}
  .pro-home-action-icon{justify-self:center}
}
@media (max-width:420px){
  .pro-history-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .pro-history-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .pro-history-repeat{max-width:none;min-width:122px}
}


/* ===== V10: компактный баннер установки, красивее рекомендации ===== */
.pro-install-banner{
  width:min(430px,calc(100vw - 28px));
  padding:14px 16px;
  border-radius:20px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto auto;
  gap:10px 10px;
  align-items:center;
}
.pro-install-banner>span:first-child{
  width:38px;height:38px;display:grid;place-items:center;
  border-radius:12px;background:rgba(255,255,255,.08);
}
.pro-install-banner>span:nth-child(2){min-width:0}
.pro-install-banner strong{font-size:1rem;line-height:1.2}
.pro-install-banner small{margin-top:3px;font-size:.83rem;line-height:1.35}
.pro-install-banner button{min-width:104px;height:40px;padding:0 14px}
.pro-history-number{display:grid;gap:2px;white-space:normal!important;overflow-wrap:anywhere}
.pro-history-number-main{display:block;font-size:1rem;line-height:1.25;font-weight:950;color:var(--pro-ink)}
.pro-history-number-sub{display:block;font-size:.82rem;line-height:1.2;font-weight:850;color:var(--pro-muted);letter-spacing:.01em}
.pro-home-action>span:nth-child(2){display:grid;justify-items:center;align-content:center;gap:3px}
.pro-home-action small{max-width:100%;margin-inline:auto}
@media (max-width:520px){
  .pro-install-banner{
    width:min(350px,calc(100vw - 22px));
    grid-template-columns:38px minmax(0,1fr);
    gap:10px 12px;
    bottom:calc(84px + env(safe-area-inset-bottom));
  }
  .pro-install-banner>span:nth-child(2){grid-column:2;grid-row:1}
  .pro-install-dismiss,.pro-install-confirm{grid-column:2;width:100%;min-width:0}
  .pro-install-banner button{height:42px}
}


/* ===== V11: сверхкомпактная плашка установки ===== */
.pro-install-banner{
  width:min(368px,calc(100vw - 18px));
  padding:12px 14px;
  border-radius:18px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  grid-template-areas:
    "icon copy"
    "actions actions";
  gap:8px 10px;
  align-items:center;
}
.pro-install-icon{
  grid-area:icon;
  width:36px;height:36px;display:grid;place-items:center;
  font-size:1.2rem;border-radius:12px;background:rgba(255,255,255,.08);
}
.pro-install-copy{grid-area:copy;min-width:0}
.pro-install-copy strong{display:block;font-size:.98rem;line-height:1.15;margin-bottom:2px}
.pro-install-copy small{display:block;font-size:.80rem;line-height:1.28;color:#d7d7d7}
.pro-install-actions{grid-area:actions;display:flex;gap:8px;justify-content:flex-end;align-items:center}
.pro-install-actions button{min-width:0;height:38px;padding:0 14px;flex:0 0 auto}
.pro-install-dismiss{background:#3b3b3b;color:#fff}
.pro-install-confirm{background:#fff;color:#161616}
@media (max-width:520px){
  .pro-install-banner{
    width:min(322px,calc(100vw - 14px));
    padding:11px 12px;
    bottom:calc(82px + env(safe-area-inset-bottom));
    border-radius:16px;
    grid-template-columns:34px minmax(0,1fr);
    gap:8px 9px;
  }
  .pro-install-icon{width:34px;height:34px;font-size:1.12rem;border-radius:11px}
  .pro-install-copy strong{font-size:.92rem}
  .pro-install-copy small{font-size:.77rem;line-height:1.24}
  .pro-install-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .pro-install-actions button{width:100%;height:38px;padding:0 10px;border-radius:11px;font-size:.92rem}
}


/* ===== V12: ещё компактнее плашка установки ===== */
.pro-install-banner{
  width:min(352px,calc(100vw - 18px));
  padding:10px 12px;
  border-radius:17px;
  grid-template-columns:34px minmax(0,1fr) auto;
  grid-template-areas:
    "icon copy actions";
  gap:8px 10px;
}
.pro-install-icon{
  width:34px; height:34px; font-size:1.05rem; border-radius:11px;
}
.pro-install-copy strong{font-size:.93rem; line-height:1.1; margin-bottom:1px}
.pro-install-copy small{font-size:.75rem; line-height:1.18}
.pro-install-actions{justify-content:flex-end; gap:6px}
.pro-install-actions button{height:34px; padding:0 12px; border-radius:10px; font-size:.88rem; font-weight:900}
.pro-install-dismiss{background:#3a3a3a}
@media (max-width:520px){
  .pro-install-banner{
    width:min(312px,calc(100vw - 16px));
    padding:10px 11px;
    border-radius:15px;
    bottom:calc(82px + env(safe-area-inset-bottom));
    grid-template-columns:32px minmax(0,1fr);
    grid-template-areas:
      "icon copy"
      "actions actions";
    gap:8px 9px;
  }
  .pro-install-icon{width:32px;height:32px;font-size:1rem;border-radius:10px}
  .pro-install-copy strong{font-size:.89rem}
  .pro-install-copy small{font-size:.73rem;line-height:1.18}
  .pro-install-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .pro-install-actions button{width:100%;height:36px;padding:0 8px;border-radius:10px;font-size:.88rem}
}


/* ===== V15: мобилка — только уже и кнопки по центру ===== */
@media (max-width:520px){
  .pro-install-banner{
    width:min(294px,calc(100vw - 20px));
  }
  .pro-install-actions{
    width:100%;
    max-width:230px;
    margin:0 auto;
    justify-self:center;
  }
}


/* ===== V16: центр кнопок + плавное появление/исчезновение ===== */
.pro-install-banner{
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,18px);
  transition:transform .32s ease, opacity .32s ease, visibility .32s ease;
}
.pro-install-banner.show{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
@media (max-width:520px){
  .pro-install-banner{
    width:min(286px,calc(100vw - 22px));
    padding:10px 12px;
  }
  .pro-install-actions{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:142px;
    margin:6px auto 0;
    gap:8px;
    justify-self:center;
  }
  .pro-install-actions button{
    width:100%;
    max-width:142px;
    height:36px;
  }
}


/* V19: аккуратные фильтры и обновлённый конструктор комбо */
.pro-filter-row{display:flex;flex-wrap:wrap;gap:7px}
.pro-filter-row .pro-chip{white-space:nowrap}
.pro-combo-modal{background:linear-gradient(180deg,#fffdf9 0%,#fff9f2 100%);border:1px solid rgba(222,190,162,.65);box-shadow:0 34px 95px rgba(25,18,13,.3)}
.pro-combo-modal-head{padding:22px 22px 18px;background:radial-gradient(circle at 0 0,#ffece0 0,#fffaf6 48%,#fff 100%)}
.pro-combo-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff0e9;color:#a53f34;box-shadow:inset 0 0 0 1px rgba(217,79,66,.13)}
.pro-combo-modal-head h2{margin-top:8px;font-size:clamp(1.5rem,4vw,2.15rem)}
.pro-combo-close{background:#fff;box-shadow:0 8px 20px rgba(46,31,21,.08)}
.pro-combo-builder-card{padding:15px;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 12px 28px rgba(51,34,22,.055)}
.pro-combo-step{background:linear-gradient(180deg,#fff3ed,#ffe8dd);box-shadow:inset 0 0 0 1px rgba(217,79,66,.08)}
.pro-combo-builder-card>label{font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:#7b6857}
.pro-combo-builder-card>select{height:48px;border-radius:14px;background:#fffdfa}
.pro-combo-preview{margin-top:3px;padding:10px;border:1px solid #efe0d1;border-radius:16px;background:#fff8f1}
.pro-combo-preview img{padding:4px;border:1px solid #efdfd0;background:#fff;box-shadow:0 8px 18px rgba(46,30,20,.08)}
.pro-combo-preview strong{white-space:normal;line-height:1.25;font-size:.94rem}
.pro-combo-tip{border:1px solid #f0dfd0;background:linear-gradient(135deg,#fff8ef,#fff2e8)}
.pro-combo-modal-foot{background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.pro-combo-modal-foot .pro-combo-add{min-height:54px;border-radius:16px}
.pro-combo-new{font-size:1.65rem;font-weight:950;letter-spacing:-.04em}
@media(max-width:560px){
  .pro-combo-modal-head{padding:17px 14px 13px}
  .pro-combo-builder-card{padding:11px}
  .pro-combo-preview{padding:8px}
}


/* ===== V20: единый мобильный вид, современный hero и мягкая навигация ===== */

/* Hero главной */
body.pro-home-page .hero{
  position:relative;
  isolation:isolate;
  gap:24px!important;
  padding:28px!important;
  border:1px solid rgba(231,208,181,.92)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(255,226,189,.75),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,248,236,.95))!important;
  box-shadow:0 24px 60px rgba(72,48,24,.13),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.pro-home-page .hero::before{
  content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.45),transparent 45%);
}
body.pro-home-page .hero .badge{
  display:inline-flex!important;align-items:center!important;min-height:38px!important;
  padding:8px 13px!important;border:1px solid #ead1b5!important;border-radius:999px!important;
  background:linear-gradient(180deg,#fff8e6,#ffefc9)!important;color:#664017!important;
  box-shadow:0 8px 18px rgba(96,65,25,.08)!important;
}
body.pro-home-page .hero h1{max-width:760px;margin-top:14px!important;text-wrap:balance}
body.pro-home-page .hero .sub{max-width:780px;line-height:1.72!important;color:#596875!important}
body.pro-home-page .hero .art{
  min-height:280px;padding:18px!important;border:1px solid #ead8c3!important;border-radius:24px!important;
  background:radial-gradient(circle at 50% 38%,#fff 0,#fff8ed 63%,#f3e4d2 100%)!important;
  box-shadow:inset 0 1px 0 #fff,0 14px 32px rgba(64,42,22,.08)!important;
  display:grid!important;place-items:center!important;
}
body.pro-home-page .hero .hero-logo{max-height:270px!important;filter:drop-shadow(0 18px 25px rgba(88,44,20,.14))!important}

/* Быстрые действия */
.pro-home-actions{gap:14px!important;margin:16px 0 24px!important}
.pro-home-action{
  position:relative;min-height:108px!important;padding:18px!important;border:1px solid #ead8c5!important;
  border-radius:22px!important;background:linear-gradient(145deg,#fff,#fff8ef)!important;
  box-shadow:0 12px 28px rgba(57,39,23,.075)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.pro-home-action:hover{transform:translateY(-3px);border-color:#ddbca3!important;box-shadow:0 18px 38px rgba(57,39,23,.12)!important}
.pro-home-action::after{content:"→"!important;width:42px!important;height:42px!important;border-radius:13px;background:#fff!important;border:1px solid #ead9ca;display:grid;place-items:center;color:#8a604b;font-weight:900}
.pro-home-action-icon{width:52px!important;height:52px!important;border-radius:17px!important;background:linear-gradient(145deg,#fff3ed,#ffe9df)!important;box-shadow:inset 0 0 0 1px rgba(217,79,66,.08)}
.pro-home-action strong{font-size:1rem!important;color:#24201d}
.pro-home-action small{font-size:.8rem!important;color:#65727c!important;line-height:1.35!important}

/* Единый вид карточки блюда на всех мобильных экранах */
@media (max-width:760px){
  .pro-detail-overlay{padding:12px!important;align-items:center!important;justify-content:center!important}
  .pro-detail-box{
    width:min(400px,calc(100vw - 20px))!important;
    max-width:min(400px,calc(100vw - 20px))!important;
    max-height:calc(100dvh - 24px)!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  #pro-detail-content{max-height:calc(100dvh - 24px)!important}
  .pro-detail-grid{grid-template-columns:1fr!important;min-height:0!important}
  .pro-detail-media{
    width:100%!important;height:clamp(250px,38dvh,330px)!important;min-height:0!important;max-height:none!important;
    padding:18px!important;box-sizing:border-box!important;
  }
  .pro-detail-media img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
  .pro-detail-content{padding:18px 16px 0!important}
  .pro-detail-content h2{font-size:1.5rem!important}
  .pro-detail-desc{line-height:1.55!important}
  .pro-detail-footer{
    position:sticky!important;bottom:-1px!important;z-index:3!important;
    margin:10px -16px 0!important;padding:12px 16px calc(10px + env(safe-area-inset-bottom))!important;
    border-top:1px solid var(--pro-line)!important;background:rgba(255,253,249,.97)!important;backdrop-filter:blur(12px)!important
  }
  .pro-detail-close{right:12px!important;top:12px!important}
}
@media (max-width:760px) and (max-height:690px){
  .pro-detail-media{height:220px!important;padding:14px!important}
  .pro-detail-content{padding-top:14px!important}
  .pro-detail-desc{margin:8px 0!important}
  .pro-detail-meta{margin:9px 0!important}
}

/* Мобильные разделы главной: одинаковые карточки и целые изображения */
@media (max-width:520px){
  body.pro-home-page .hero{padding:18px 16px!important;border-radius:24px!important}
  body.pro-home-page .hero .art{display:none!important}
  body.pro-home-page .hero h1{font-size:clamp(1.65rem,8vw,2.15rem)!important;line-height:1.03!important}
  body.pro-home-page .hero .sub{font-size:.94rem!important;line-height:1.6!important}
  .pro-home-actions{gap:9px!important;margin:12px 0 17px!important}
  .pro-home-action{min-height:78px!important;padding:11px 12px!important;border-radius:18px!important;grid-template-columns:42px minmax(0,1fr) 34px!important}
  .pro-home-action::after{width:34px!important;height:34px!important;border-radius:11px;font-size:.9rem}
  .pro-home-action-icon{width:42px!important;height:42px!important;border-radius:13px!important}
  .pro-home-action strong{font-size:.93rem!important}
  .pro-home-action small{font-size:.73rem!important}
  body.pro-home-page .catgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  body.pro-home-page .cati{
    min-width:0!important;min-height:205px!important;padding:9px!important;border-radius:17px!important;
    display:grid!important;grid-template-rows:auto minmax(44px,auto)!important;align-content:start!important;gap:9px!important;
    background:linear-gradient(180deg,#fff,#fffaf3)!important;border:1px solid #e9d9c6!important;
    box-shadow:0 9px 22px rgba(48,32,19,.07)!important;
  }
  body.pro-home-page .cati .ico{
    width:100%!important;height:auto!important;aspect-ratio:4/3!important;margin:0!important;
    border-radius:13px!important;background:radial-gradient(circle at center,#fff,#f8eee1)!important;
    border:1px solid #eee0cf!important;padding:5px!important;box-sizing:border-box!important;
  }
  body.pro-home-page .cati .ico img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border-radius:10px!important}
  body.pro-home-page .cati .name{
    min-height:44px!important;margin:0!important;padding:0 3px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    text-align:center!important;text-transform:uppercase!important;font-size:.84rem!important;line-height:1.25!important;overflow-wrap:anywhere!important;
  }
}



/* ===== V21: full farsh polish, equal images, combo picker, softer borders ===== */
html{scrollbar-gutter:stable both-edges}
:root{--pro-line:rgba(226,206,182,.58)}
body.pro-enhanced .pro-header,
body.pro-enhanced .pro-panel,
body.pro-enhanced .pro-detail-box,
body.pro-enhanced .pro-combo-modal,
body.pro-enhanced .pro-result-card,
body.pro-enhanced .pro-home-action,
body.pro-enhanced .pro-mobile-nav,
body.pro-enhanced .pro-install-banner,
body.pro-enhanced .pro-top-btn,
body.pro-enhanced .drawer,
body.pro-enhanced .drawer .links a,
body.pro-enhanced .cart-drawer,
body.pro-enhanced .cart-upsell-card,
body.pro-enhanced .checkout-box,
body.pro-enhanced .modifier-box,
body.pro-enhanced .promo-grid{border-color:rgba(226,206,182,.52)!important}

body.pro-home-page .catalog{align-items:start!important}
body.pro-home-page .catgrid{gap:16px!important}
body.pro-home-page .cati{
  display:grid!important;grid-template-rows:minmax(172px,1fr) auto auto!important;align-content:start!important;
  gap:10px!important;padding:12px!important;border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,249,239,.96))!important;
  border:1px solid rgba(229,208,185,.58)!important;
  box-shadow:0 14px 30px rgba(52,36,22,.08)!important;overflow:hidden!important;
}
body.pro-home-page .cati .ico{
  width:100%!important;height:auto!important;aspect-ratio:4/3!important;margin:0!important;padding:0!important;
  border-radius:18px!important;border:1px solid rgba(231,212,191,.6)!important;
  background:linear-gradient(180deg,#fff7ef,#f6eadb)!important;overflow:hidden!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.pro-home-page .cati .ico img{
  width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important;
  border-radius:16px!important;transform:scale(1.01)!important;
}
body.pro-home-page .cati .name{
  margin:0!important;min-height:48px!important;padding:0 6px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;text-transform:uppercase!important;letter-spacing:.03em!important;font-size:1rem!important;font-weight:950!important;
  line-height:1.18!important;color:#251f1c!important;text-wrap:balance!important;
}
body.pro-home-page .cati .hint{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;max-width:100%!important;
  margin:0 auto!important;padding:7px 12px!important;border-radius:999px!important;border:1px solid rgba(225,204,183,.58)!important;
  background:rgba(255,255,255,.72)!important;color:#7a6554!important;font-size:.8rem!important;font-weight:850!important;
}
body.pro-home-page .side{
  border:1px solid rgba(229,208,185,.55)!important;border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,250,241,.94))!important;
  box-shadow:0 12px 28px rgba(53,36,21,.06)!important;
}
body.pro-home-page .side li a,
body.pro-home-page .side a{
  border-color:rgba(229,208,185,.55)!important;border-radius:16px!important;background:rgba(255,255,255,.78)!important;
}
body.pro-home-page .hero .art,
body.pro-home-page .hero .hero-logo{overflow:hidden!important;border-radius:24px!important}

body.pro-product-page .grid>.card,
.pro-result-card,
.pro-recent-item,
.cart-upsell-card,
.modifier-option,
.cart-item img,
.cart-item-placeholder,
.modifier-thumb,
.pro-combo-preview img,
.pro-detail-close,
.pro-combo-close,
.promo-line input,
.promo-apply,
.pro-home-action::after,
.pro-head-btn{border-color:rgba(229,208,185,.58)!important}

body.pro-product-page .card .card-img,
body.pro-product-page .card .img,
body.pro-product-page .card>img,
.pro-result-card img,
.pro-recent-item img,
.cart-upsell-media,
.cart-upsell-media img,
.modifier-thumb img,
.pro-combo-preview img,
.pro-detail-media,
.pro-detail-media img{
  border-radius:16px!important;
}
body.pro-product-page .card .card-img,
body.pro-product-page .card .img,
body.pro-product-page .card>img{aspect-ratio:4/3!important;object-fit:contain!important}
.pro-detail-media{
  display:grid!important;place-items:center!important;overflow:hidden!important;padding:18px!important;
  background:radial-gradient(circle at 50% 40%,#fff 0,#fff7eb 62%,#f4e8da 100%)!important;
}
.pro-detail-media img{
  width:min(100%,480px)!important;height:min(100%,480px)!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;display:block!important;margin:auto!important;
  filter:drop-shadow(0 16px 24px rgba(72,48,24,.12))!important;
}

.drawer{
  background:rgba(255,253,248,.98)!important;border-right:1px solid rgba(229,208,185,.52)!important;backdrop-filter:blur(18px) saturate(1.12)!important;
  box-shadow:0 24px 70px rgba(26,18,11,.14)!important;overscroll-behavior:contain!important
}
.drawer-head{margin-bottom:12px!important}
.drawer .links{gap:10px!important}
.drawer .links a{
  min-height:60px!important;border-radius:16px!important;padding:14px 16px!important;font-weight:850!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,250,242,.94))!important;
  box-shadow:0 8px 18px rgba(32,22,14,.045)!important;
}
.drawer-close-btn{border-color:rgba(223,201,177,.65)!important;box-shadow:0 10px 22px rgba(28,18,12,.07)!important}
.drawer-overlay{backdrop-filter:blur(4px)!important;background:rgba(22,16,12,.28)!important}

.pro-combo-modal{overflow:hidden!important}
.pro-combo-modal-body{overflow:auto!important;overscroll-behavior:contain!important}
.pro-combo-builder-card>select{cursor:pointer!important}
.pro-combo-picker{position:fixed;inset:0;z-index:10030;display:none;align-items:center;justify-content:center;padding:16px}
.pro-combo-picker.show{display:flex}
.pro-combo-picker-backdrop{position:absolute;inset:0;background:rgba(20,15,12,.42);backdrop-filter:blur(5px)}
.pro-combo-picker-sheet{position:relative;display:flex;flex-direction:column;width:min(520px,100%);max-height:min(82dvh,720px);background:#fffdf9;border:1px solid rgba(225,203,178,.58);border-radius:24px;box-shadow:0 26px 80px rgba(16,12,10,.24);overflow:hidden}
.pro-combo-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(225,203,178,.58);background:linear-gradient(180deg,#fff7ef,#fffdf9)}
.pro-combo-picker-head strong{font-size:1.08rem;line-height:1.2}
.pro-combo-picker-close{width:40px;height:40px;border:1px solid rgba(225,203,178,.58);border-radius:14px;background:#fff;cursor:pointer;font-size:1.2rem}
.pro-combo-picker-list{display:grid;gap:8px;padding:14px;overflow:auto}
.pro-combo-picker-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:13px 14px;border:1px solid rgba(229,208,185,.58);border-radius:16px;background:linear-gradient(180deg,#fff,#fff9f1);cursor:pointer;text-align:left;font:inherit;color:#241f1b}
.pro-combo-picker-item span{min-width:0;line-height:1.35;font-weight:850}
.pro-combo-picker-item b{white-space:nowrap;color:#a14537;font-size:.9rem}
.pro-combo-picker-item.active{border-color:rgba(217,79,66,.5)!important;background:linear-gradient(180deg,#fff4ef,#fffaf5)!important;box-shadow:0 10px 22px rgba(217,79,66,.09)}
.pro-combo-picker-item:hover{transform:translateY(-1px)}

@media (max-width:960px){
  body.pro-home-page .catalog>.side{
    position:static!important;left:auto!important;bottom:auto!important;transform:none!important;width:100%!important;
    z-index:auto!important;padding:0!important;margin-top:12px!important;background:transparent!important;border:0!important;box-shadow:none!important;
  }
}
@media (max-width:760px){
  body{padding-bottom:calc(var(--pro-bottom-h) + 26px + env(safe-area-inset-bottom))!important}
  body.pro-home-page .catgrid{gap:12px!important}
  body.pro-home-page .cati{min-height:224px!important;padding:10px!important;border-radius:18px!important;grid-template-rows:minmax(132px,1fr) auto auto!important}
  body.pro-home-page .cati .ico{aspect-ratio:1/1!important;border-radius:16px!important}
  body.pro-home-page .cati .ico img{border-radius:14px!important}
  body.pro-home-page .cati .name{min-height:52px!important;padding:0 2px!important;font-size:.88rem!important;line-height:1.22!important}
  body.pro-home-page .cati .hint{font-size:.74rem!important;padding:6px 10px!important}
  .pro-detail-overlay{padding:10px!important}
  .pro-detail-box{width:min(400px,calc(100vw - 18px))!important;max-height:calc(100dvh - 20px)!important;border-radius:24px!important}
  .pro-detail-media{height:clamp(235px,36dvh,320px)!important;padding:14px!important}
  .pro-combo-picker{padding:0;align-items:flex-end}
  .pro-combo-picker-sheet{width:100%;max-height:86dvh;border-radius:24px 24px 0 0}
  .pro-combo-picker-head{padding:14px 14px 12px}
  .pro-combo-picker-list{padding:10px 10px calc(14px + env(safe-area-inset-bottom))}
  .drawer{width:min(92vw,380px)!important;padding:14px!important}
  .drawer .links a{min-height:56px!important}
  .cart-drawer{height:100dvh!important;overflow:hidden!important}
  .cart-body{padding-bottom:10px!important}
}


/* ===== V22: свободный скролл до самого низа и запас под нижнее меню ===== */
html,body{min-height:100%;height:auto}
body.pro-enhanced{overflow-y:auto!important;overscroll-behavior-y:auto}
@media(max-width:760px){
  html:not(.kysno-scroll-locked){overflow-y:auto!important}
  html:not(.kysno-scroll-locked) body.pro-enhanced{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;overflow-y:auto!important}
  body.pro-enhanced{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
  body.pro-enhanced>.wrap{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important;overflow:visible!important}
  body.pro-enhanced main{overflow:visible!important}
  body.pro-enhanced main>.cta:last-child{margin-bottom:24px!important}
  .pro-mobile-nav{bottom:calc(8px + env(safe-area-inset-bottom))}
}


/* ===== V24: точечные правки без изменения логики сайта ===== */
:root{
  --pro-line:rgba(226,205,181,.42);
}

/* Более прозрачная белая оболочка на всех страницах */
body.pro-enhanced main{
  background:linear-gradient(180deg,rgba(255,253,248,.86),rgba(255,251,243,.81))!important;
  border-color:rgba(226,205,181,.40)!important;
  box-shadow:0 16px 46px rgba(45,36,26,.075)!important;
}
body.pro-enhanced .hero,
body.pro-enhanced .card,
body.pro-enhanced .cati,
body.pro-enhanced .side,
body.pro-enhanced .info-card,
body.pro-enhanced .seo,
body.pro-enhanced .faq-card,
body.pro-enhanced .map-wrap,
body.pro-enhanced .cta,
body.pro-enhanced .pro-home-action,
body.pro-enhanced .pro-catalog-tools,
body.pro-enhanced .pro-panel,
body.pro-enhanced .pro-detail-box,
body.pro-enhanced .pro-combo-modal,
body.pro-enhanced .drawer,
body.pro-enhanced .cart-drawer,
body.pro-enhanced .checkout-box,
body.pro-enhanced .modifier-box{
  border-color:rgba(226,205,181,.40)!important;
}
body.pro-enhanced .hero,
body.pro-enhanced .info-card,
body.pro-enhanced .seo,
body.pro-enhanced .faq-card,
body.pro-enhanced .map-wrap,
body.pro-enhanced .cta,
body.pro-enhanced .side{
  background-color:rgba(255,253,248,.80)!important;
  backdrop-filter:blur(7px) saturate(1.04)!important;
}
body.pro-enhanced .card,
body.pro-enhanced .cati,
body.pro-enhanced .pro-home-action{
  background-color:rgba(255,253,248,.88)!important;
}

/* Плавное открытие интерфейсных окон */
.pro-overlay.show,
.pro-detail-overlay.show,
.pro-combo-overlay.show,
.pro-combo-picker.show,
.checkout-wrap.show,
.modifier-wrap.show{
  animation:v24-overlay-in .24s ease both;
}
.pro-overlay.show .pro-panel,
.pro-detail-overlay.show .pro-detail-box,
.pro-combo-overlay.show .pro-combo-modal,
.pro-combo-picker.show .pro-combo-picker-sheet,
.checkout-wrap.show .checkout-box,
.modifier-wrap.show .modifier-box{
  animation:v24-panel-in .30s cubic-bezier(.2,.72,.24,1) both;
}
.cart-open .cart-overlay{animation:v24-overlay-in .22s ease both}
.cart-open .cart-drawer{transition:transform .30s cubic-bezier(.2,.72,.24,1)!important}
html.nav-open .drawer{transition:transform .30s cubic-bezier(.2,.72,.24,1)!important}
html.nav-open .drawer-overlay{transition:opacity .26s ease,visibility .26s ease!important}
@keyframes v24-overlay-in{from{opacity:0}to{opacity:1}}
@keyframes v24-panel-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}

/* На телефоне оставляем только необходимый запас под нижнее меню */
@media(max-width:760px){
  body.pro-enhanced{
    padding-bottom:calc(74px + env(safe-area-inset-bottom))!important;
  }
  body.pro-enhanced>.wrap{
    padding-bottom:0!important;
    margin-bottom:8px!important;
  }
  body.pro-enhanced main{
    padding-bottom:12px!important;
  }
  body.pro-enhanced main>.cta:last-child{
    margin-bottom:6px!important;
  }
  body.pro-enhanced footer{
    margin-bottom:0!important;
    padding-bottom:6px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .pro-overlay.show,.pro-detail-overlay.show,.pro-combo-overlay.show,.pro-combo-picker.show,
  .checkout-wrap.show,.modifier-wrap.show,
  .pro-overlay.show .pro-panel,.pro-detail-overlay.show .pro-detail-box,
  .pro-combo-overlay.show .pro-combo-modal,.pro-combo-picker.show .pro-combo-picker-sheet,
  .checkout-wrap.show .checkout-box,.modifier-wrap.show .modifier-box{
    animation:none!important;
  }
}


/* ===== V26: индивидуальные фоны разделов и единая подача изображений ===== */
.category-hero{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  min-height:220px!important;margin-bottom:18px!important;padding:30px 24px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;border-radius:24px!important;
  background-image:linear-gradient(180deg,rgba(14,12,10,.38),rgba(14,12,10,.54)),var(--category-hero-image)!important;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
  border:1px solid rgba(255,255,255,.34)!important;box-shadow:0 18px 42px rgba(41,28,17,.13)!important;
}
.category-hero::before,.category-hero::after{content:none!important;display:none!important}
.category-hero>*{position:relative!important;z-index:1!important;color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.42)!important}
.category-hero .badge{background:rgba(31,27,24,.55)!important;border-color:rgba(255,255,255,.32)!important;backdrop-filter:blur(9px)!important;color:#fff!important}
.category-hero h1{max-width:900px!important;margin:10px auto 8px!important;font-size:clamp(2rem,4.6vw,3.15rem)!important;line-height:1.04!important;text-wrap:balance!important}
.category-hero .sub{max-width:860px!important;margin:0 auto!important;color:rgba(255,255,255,.94)!important;font-size:clamp(.95rem,2vw,1.08rem)!important;line-height:1.55!important;text-wrap:balance!important}
body.pro-product-page .card .img img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;display:block!important;border-radius:14px!important}
@media(max-width:620px){
  .category-hero{min-height:190px!important;padding:24px 15px!important;border-radius:20px!important;background-position:center!important}
  .category-hero h1{font-size:clamp(1.75rem,8vw,2.35rem)!important}
  .category-hero .sub{font-size:.91rem!important;line-height:1.48!important}
}


/* ===== V28: единая система переходов без белой вспышки ===== */
html.pro-page-visible body.pro-enhanced{opacity:1!important;transform:none!important;filter:none!important}
html.pro-page-leaving body.pro-enhanced{opacity:0!important;transform:translateY(-3px)!important;filter:blur(.8px)!important;pointer-events:none}
body.pro-enhanced{transition:opacity .24s ease,transform .24s ease,filter .24s ease!important}
.pro-overlay,.pro-detail-overlay,.pro-combo-overlay,.pro-combo-picker,.checkout-wrap,.modifier-wrap{transition:opacity .22s ease,visibility .22s ease}
@media(prefers-reduced-motion:reduce){body.pro-enhanced{transition:none!important}}


/* ===== V32: строгая типографика главного экрана ===== */
body.pro-home-page .hero h1{
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif!important;
  font-weight:800!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
  color:#20262b!important;
  text-shadow:none!important;
}
body.pro-home-page .hero .sub{
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif!important;
  font-weight:500!important;
  line-height:1.68!important;
  letter-spacing:-.01em!important;
  color:#4b5862!important;
  text-wrap:pretty!important;
}
@media(max-width:520px){
  body.pro-home-page .hero h1{line-height:1.08!important;letter-spacing:-.026em!important}
  body.pro-home-page .hero .sub{font-size:.96rem!important;line-height:1.62!important}
}


/* ===== V33: логотип главного экрана под текстом без отдельной карточки ===== */
body.pro-home-page .hero{
  display:block!important;
  grid-template-columns:none!important;
}
body.pro-home-page .hero .hero-copy{
  width:100%!important;
}
body.pro-home-page .hero .hero-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  margin:22px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.pro-home-page .hero .hero-brand .hero-logo{
  display:block!important;
  width:clamp(190px,24vw,285px)!important;
  max-width:72%!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  overflow:visible!important;
  filter:drop-shadow(0 12px 18px rgba(88,44,20,.13))!important;
}
@media(max-width:520px){
  body.pro-home-page .hero .hero-brand{margin-top:17px!important}
  body.pro-home-page .hero .hero-brand .hero-logo{
    width:190px!important;
    max-width:66vw!important;
    filter:drop-shadow(0 9px 14px rgba(88,44,20,.12))!important;
  }
}


/* ===== V39: плавная навигация и производительность без конфликтов ===== */

@view-transition{navigation:auto}
::view-transition-old(root){
  animation:pro-v39-page-out .12s cubic-bezier(.4,0,1,1) both;
}
::view-transition-new(root){
  animation:pro-v39-page-in .20s cubic-bezier(.16,.74,.22,1) both;
}
@keyframes pro-v39-page-out{
  from{opacity:1;transform:none}
  to{opacity:.72;transform:translateY(-2px)}
}
@keyframes pro-v39-page-in{
  from{opacity:.01;transform:translateY(5px)}
  to{opacity:1;transform:none}
}

/* Убираем старую конфликтующую анимацию body и дорогое размытие документа. */
html{background:#f7f2e8!important}
body,
body.pro-enhanced,
html.pro-page-visible body.pro-enhanced,
html.pro-page-leaving body.pro-enhanced{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  transition:none!important;
}
html.pro-page-leaving body.pro-enhanced{pointer-events:auto!important}

/* Старые фиксированные декоративные слои давали лишнюю перерисовку. */
body::before,
body::after{
  content:none!important;
  display:none!important;
}

/* Оставляем полупрозрачность, но убираем постоянный blur больших областей. */
.pro-header,
.topbar,
body.pro-enhanced main,
body.pro-enhanced .hero,
body.pro-enhanced .card,
body.pro-enhanced .cati,
body.pro-enhanced .side,
body.pro-enhanced .info-card,
body.pro-enhanced .seo,
body.pro-enhanced .faq-card,
body.pro-enhanced .map-wrap,
body.pro-enhanced .cta,
body.pro-enhanced .pro-home-action,
.pro-overlay,
.pro-detail-overlay,
.pro-combo-backdrop,
.pro-combo-picker-backdrop,
.drawer,
.drawer-overlay,
.pro-panel,
.pro-detail-box,
.pro-combo-modal,
.pro-combo-modal-foot,
.pro-detail-footer,
.category-hero .badge{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* Быстрые анимации только через opacity и transform. */
.pro-overlay.show,
.pro-detail-overlay.show,
.pro-combo-overlay.show,
.pro-combo-picker.show,
.checkout-wrap.show,
.modifier-wrap.show{
  animation:pro-v39-overlay-in .14s ease-out both!important;
}
.pro-overlay.show .pro-panel,
.pro-detail-overlay.show .pro-detail-box,
.pro-combo-overlay.show .pro-combo-modal,
.pro-combo-picker.show .pro-combo-picker-sheet,
.checkout-wrap.show .checkout-box,
.modifier-wrap.show .modifier-box{
  animation:pro-v39-panel-in .18s cubic-bezier(.16,.74,.22,1) both!important;
}
@keyframes pro-v39-overlay-in{
  from{opacity:0}
  to{opacity:1}
}
@keyframes pro-v39-panel-in{
  from{opacity:.01;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

.cart-open .cart-drawer,
html.nav-open .drawer{
  transition:transform .20s cubic-bezier(.2,.72,.24,1)!important;
}
html.nav-open .drawer-overlay{
  transition:opacity .16s ease,visibility .16s ease!important;
}

button,
a,
input,
select,
textarea{
  touch-action:manipulation;
}

@media (hover:none), (pointer:coarse){
  body.pro-product-page .grid>.card:hover,
  body.pro-home-page .cati:hover{
    transform:none!important;
  }
  body.pro-home-page .cati .ico img,
  body.pro-product-page .grid>.card{
    transition:none!important;
  }
}

@media(max-width:900px){
  html{scroll-behavior:auto!important}
  body.pro-enhanced{
    background-attachment:scroll!important;
    background-position:center top!important;
  }

  body.pro-enhanced>.wrap,
  body.pro-enhanced main{
    content-visibility:visible!important;
    contain:none!important;
    contain-intrinsic-size:auto!important;
  }

  .pro-header,
  .topbar{
    background:rgba(255,253,249,.97)!important;
    box-shadow:0 5px 18px rgba(54,38,24,.06)!important;
  }

  body.pro-enhanced main{
    background:rgba(255,252,246,.95)!important;
    box-shadow:0 10px 28px rgba(45,36,26,.07)!important;
  }
  body.pro-enhanced .hero,
  body.pro-enhanced .info-card,
  body.pro-enhanced .seo,
  body.pro-enhanced .faq-card,
  body.pro-enhanced .map-wrap,
  body.pro-enhanced .cta,
  body.pro-enhanced .side{
    background-color:rgba(255,253,248,.94)!important;
  }
  body.pro-enhanced .card,
  body.pro-enhanced .cati,
  body.pro-enhanced .pro-home-action{
    background-color:rgba(255,253,248,.97)!important;
  }

  .pro-overlay,
  .pro-detail-overlay,
  .pro-combo-backdrop,
  .pro-combo-picker-backdrop,
  .drawer-overlay{
    background:rgba(25,22,20,.52)!important;
  }

  .pro-panel,
  .pro-detail-box,
  .pro-combo-modal,
  .pro-combo-picker-sheet,
  .drawer{
    box-shadow:0 16px 42px rgba(0,0,0,.22)!important;
  }

  .pro-detail-media img,
  body.pro-home-page .hero .hero-logo{
    filter:none!important;
  }

  .category-hero>*{
    text-shadow:0 1px 7px rgba(0,0,0,.36)!important;
  }

  .pro-install-banner,
  .pro-top-btn,
  .pro-mobile-nav{
    will-change:auto!important;
  }
}

@media(max-width:520px){
  ::view-transition-old(root){animation-duration:.09s}
  ::view-transition-new(root){animation-duration:.15s}

  .pro-overlay.show,
  .pro-detail-overlay.show,
  .pro-combo-overlay.show,
  .pro-combo-picker.show,
  .checkout-wrap.show,
  .modifier-wrap.show{
    animation-duration:.11s!important;
  }
  .pro-overlay.show .pro-panel,
  .pro-detail-overlay.show .pro-detail-box,
  .pro-combo-overlay.show .pro-combo-modal,
  .pro-combo-picker.show .pro-combo-picker-sheet,
  .checkout-wrap.show .checkout-box,
  .modifier-wrap.show .modifier-box{
    animation-duration:.15s!important;
  }
}

@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),
  ::view-transition-new(root),
  .pro-overlay.show,
  .pro-detail-overlay.show,
  .pro-combo-overlay.show,
  .pro-combo-picker.show,
  .checkout-wrap.show,
  .modifier-wrap.show,
  .pro-overlay.show .pro-panel,
  .pro-detail-overlay.show .pro-detail-box,
  .pro-combo-overlay.show .pro-combo-modal,
  .pro-combo-picker.show .pro-combo-picker-sheet,
  .checkout-wrap.show .checkout-box,
  .modifier-wrap.show .modifier-box{
    animation:none!important;
  }
}
