*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { min-height: 100svh; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

img, svg, video, canvas { display: block; max-width: 100%; height: auto; }

button, input, select, textarea { font: inherit; color: inherit; background: none; border: none; }
button { cursor: pointer; }

a { color: inherit; }

ul[role="list"], ol[role="list"] { list-style: none; }

:focus-visible { outline: 2px solid var(--cyan, #18BDB8); outline-offset: 3px; }

.sr-only { position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }

.mix-group__lat{display:block;margin-top:3px;font-family:var(--font-mono,ui-monospace,monospace);font-size:12.5px;font-style:italic;font-weight:400;letter-spacing:.01em;color:#8B8F85;text-transform:none}
.mix-line.is-bulk .mix-sum b::after{content:" · от 10 кг — индивидуально";display:block;font-size:11.5px;font-weight:400;color:#8B8F85;white-space:normal}
.mix-pricelist{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:16px 20px;border-top:1px solid var(--line-l,#DCDCD5)}
.mix-pricelist__btn{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:12px 20px;border:1.5px solid currentColor;border-radius:999px;background:none;font-weight:600;font-size:15px;cursor:pointer;transition:background-color .25s,color .25s}
.mix-pricelist__btn svg{width:17px;height:17px;flex:none}
.mix-pricelist__btn:hover{background:rgba(0,0,0,.06)}
.mix-pricelist__hint{font-size:14px;color:#8B8F85;max-width:52ch;line-height:1.45}

.pl-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vh,44px) clamp(10px,3vw,32px)}
.pl-modal[hidden]{display:none}
.pl-modal__backdrop{position:absolute;inset:0;background:rgba(4,14,11,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.pl-modal__panel{position:relative;display:flex;flex-direction:column;width:100%;max-width:1080px;max-height:100%;background:#fff;color:#101010;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:pl-in .3s cubic-bezier(.16,1,.3,1)}
@keyframes pl-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.pl-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:clamp(18px,2.4vw,28px) clamp(16px,2.4vw,32px);border-bottom:1px solid #E4E4DE;flex:none}
.pl-modal__title{font-size:clamp(20px,2.2vw,28px);line-height:1.15;font-weight:700;letter-spacing:-.01em}
.pl-modal__sub{margin-top:7px;font-size:14.5px;line-height:1.5;color:#585C51;max-width:62ch}
.pl-modal__close{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid #DCDCD5;border-radius:10px;background:#fff;color:#101010;cursor:pointer;transition:background-color .2s}
.pl-modal__close:hover{background:#F0EFEA}
.pl-modal__close svg{width:20px;height:20px}
.pl-modal__body{overflow:auto;-webkit-overflow-scrolling:touch;padding:clamp(12px,2vw,22px) clamp(16px,2.4vw,32px);flex:1 1 auto;min-height:0}
.pl-modal__note{margin-top:16px;font-size:13.5px;line-height:1.55;color:#585C51}
.pl-modal__foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:clamp(14px,1.8vw,20px) clamp(16px,2.4vw,32px);border-top:1px solid #E4E4DE;background:#F7F7F3;flex:none}
.pl-modal__tel{font-weight:600;font-size:17px;white-space:nowrap}

.pl-table{width:100%;border-collapse:collapse;font-size:14.5px}
.pl-table th,.pl-table td{padding:11px 12px;text-align:right;white-space:nowrap}
.pl-table thead th{position:sticky;top:0;z-index:1;background:#101010;color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.pl-table thead th:first-child,.pl-table .pl-form{text-align:left}
.pl-row--head th{text-align:left;padding:18px 12px 8px;background:#fff;border-bottom:1px solid #DCDCD5}
.pl-name{display:block;font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.pl-lat{display:block;margin-top:2px;font-size:12.5px;font-style:italic;color:#3E7A3C}
.pl-row td{border-bottom:1px solid #EFEFE9}
.pl-form{font-weight:600}
.pl-ind{color:#585C51;font-size:13px;white-space:normal}

@media (max-width:860px){
  .pl-modal{padding:10px}
  .pl-modal__panel{max-width:none;border-radius:12px}
  .pl-table,.pl-table tbody,.pl-table tr,.pl-table td{display:block;width:100%}
  .pl-table thead{display:none}
  .pl-table .pl-row--head{display:block;margin-top:18px}
  .pl-table .pl-row--head th{display:block;padding:0 0 8px}
  .pl-row{border:1px solid #E4E4DE;border-radius:10px;padding:10px 12px;margin-bottom:10px}
  .pl-row td{display:flex;justify-content:space-between;gap:14px;border:0;padding:6px 0;white-space:normal;text-align:right}
  .pl-row td::before{content:attr(data-l);font-size:13px;color:#585C51;text-align:left;flex:none}
  .pl-row .pl-form{font-size:15.5px;border-bottom:1px solid #EFEFE9;padding-bottom:9px;margin-bottom:3px}
  .pl-row .pl-form::before{content:"Форма";}
  .pl-modal__foot{flex-direction:column;align-items:stretch}
  .pl-modal__foot .btn{width:100%;justify-content:center}
  .pl-modal__tel{text-align:center}
}
@media (max-width:420px){
  .pl-modal{padding:8px}
  .pl-modal__head{padding:14px}
  .pl-modal__body{padding:10px 14px}
}
