/* Marketplace — баннер «Фермерский рынок» + попап. Namespaced (lime-), без коллизий с CSS сайта. */
@font-face{font-family:'LimeMono';src:url('/local/templates/marketplace.me/fonts/ApercuMonoPro-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'LimeGro';src:url('/local/templates/marketplace.me/fonts/LabGrotesque-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'LimeGro';src:url('/local/templates/marketplace.me/fonts/LabGrotesque-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

.lime-banner,.lime-banner *,.lime-overlay,.lime-overlay *{box-sizing:border-box}

/* ===== БАННЕР (десктоп 936×226, фикс-ширина по центру — как в исходном макете) ===== */
.lime-banner{
  position:relative;width:936px;max-width:100%;height:226px;margin:0 auto;
  background:#FCCF00;border-radius:20px;overflow:hidden;font-family:'LimeMono',monospace;
}
/* арт приклеен к правому краю → баннер тянется на любую ширину, композиция цела */
.lime-lemon{position:absolute;right:53.26px;top:0;width:324.74px;height:279.69px;pointer-events:none}
.lime-plus{position:absolute;right:178.46px;top:78px;width:116.54px;height:76.4px}
.lime-lemontext{
  position:absolute;right:152px;top:148px;width:140px;
  font-family:'LimeMono',monospace;font-weight:500;font-size:16.83px;line-height:115%;
  color:#403500;text-transform:uppercase;text-align:center;letter-spacing:0;
  transform:rotate(-21.78deg);transform-origin:center;pointer-events:none;
}
.lime-lemon-m{display:none}
.lime-title{
  position:absolute;left:31px;top:28px;width:385px;margin:0;
  color:#403500;font-family:'LimeMono',monospace;font-weight:500;font-size:31px;line-height:102%;
  text-transform:uppercase;letter-spacing:0;
}
.lime-subtitle{
  position:absolute;left:31px;top:102px;width:440px;margin:0;
  font-family:'LimeGro',sans-serif;font-weight:400;color:#403500;font-size:16px;line-height:110%;
}
.lime-btns{position:absolute;left:26px;top:157px;display:flex;gap:9px}
.lime-pill{display:none}
.lime-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 30px 12px;border-radius:32.26px;border:0;cursor:pointer;background:#fff;color:#000;
  font-family:'LimeMono',monospace;font-weight:500;font-size:14.89px;line-height:130%;
  text-transform:uppercase;letter-spacing:0;white-space:nowrap;text-decoration:none;
}
.lime-btn:hover{opacity:.88}
#lime-more{min-width:194px}

/* ===== ПОПАП ===== */
.lime-overlay{
  position:fixed;inset:0;z-index:99999;display:none;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:40px 20px;
}
.lime-overlay.is-open{display:block}
.lime-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:rgba(0,0,0,.3);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
}
.lime-modal{
  position:relative;z-index:1;width:1100px;max-width:100%;margin:0 auto;
  background:rgba(0,0,0,.2);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);
  border:4px solid rgba(255,255,255,.9);border-radius:64px;
  box-shadow:0 22px 48px rgba(0,0,0,.08),0 87px 87px rgba(0,0,0,.07),0 195px 117px rgba(0,0,0,.04);
  color:#fff;padding:56px 64px 40px;
}
.lime-close{
  position:absolute;top:34px;right:34px;width:53px;height:53px;border:0;background:none;
  cursor:pointer;padding:0;transition:transform .16s ease;
}
.lime-close:hover{transform:scale(1.12)}
.lime-close:active{transform:scale(.95)}
.lime-spacer{height:40px;pointer-events:none}

@keyframes limeBgIn{from{opacity:0}to{opacity:1}}
@keyframes limeModalIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.lime-overlay.is-open .lime-bg{animation:limeBgIn .22s ease-out both}
.lime-overlay.is-open .lime-modal{animation:limeModalIn .34s cubic-bezier(.16,1,.3,1) both}
@media (prefers-reduced-motion:reduce){
  .lime-overlay.is-open .lime-bg,.lime-overlay.is-open .lime-modal{animation:none}
  .lime-close{transition:none}
}
.lime-modal h2{
  font-family:'LimeMono',monospace;font-weight:500;font-size:48px;line-height:117%;margin:0 0 18px;
  text-transform:uppercase;letter-spacing:0;color:#fff;
}
.lime-modal h2.lime-path{margin-top:34px}
.lime-modal p{font-family:'LimeGro',sans-serif;font-weight:400;font-size:24px;line-height:118%;margin:0 0 18px;max-width:860px;color:#fff}
.lime-modal p.lime-wide{max-width:none}
.lime-accent{font-family:'LimeGro',sans-serif;font-weight:700;font-size:31px;line-height:118%;margin:18px 0 20px;color:#fff}

.lime-tbl{
  width:100%;border:3px solid rgba(255,255,255,.85);border-radius:22.56px;overflow:hidden;
  border-collapse:separate;border-spacing:0;margin-top:8px;table-layout:fixed;
}
.lime-tbl th,.lime-tbl td{
  padding:26px 16px;text-align:center;vertical-align:middle;
  border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);
}
.lime-tbl th:last-child,.lime-tbl td:last-child{border-right:0}
.lime-tbl tbody tr:last-child td{border-bottom:0}
.lime-tbl thead th{
  font-family:'LimeMono',monospace;font-weight:500;font-size:15px;text-transform:uppercase;
  color:#fff;letter-spacing:0;line-height:140%;
}
.lime-tbl tbody td{font-family:'LimeMono',monospace;font-weight:500;font-size:15px;line-height:140%;color:#fff}
.lime-tbl .lime-st{text-transform:uppercase;font-size:15px;letter-spacing:0;line-height:140%}
.lime-tbl .lime-sum{font-size:24px;white-space:nowrap}
.lime-tbl .lime-pct{font-size:33.84px}
.lime-tbl .lime-gift{font-size:24px;line-height:1.3}
.lime-tbl .lime-gift small{display:block;font-size:15px;font-weight:500;margin-top:2px;text-transform:uppercase}
.lime-modal .lime-fine{font-family:'LimeGro',sans-serif;font-weight:400;font-size:18px;line-height:118%;color:rgba(255,255,255,.75);margin-top:26px;max-width:1000px}
.lime-modal .lime-fine a{color:rgba(255,255,255,.85)}

/* ===== МОБАЙЛ / ПЛАНШЕТ (≤935px: десктоп-баннер показываем только когда он целиком влезает) ===== */
@media (max-width:935px){
  .lime-banner{height:auto;width:100%;border-radius:24px;padding:24px 16px 22px}
  .lime-lemon,.lime-plus,.lime-lemontext{display:none}
  .lime-title{position:relative;z-index:1;top:auto;left:auto;width:auto;font-size:21px}
  .lime-pill{position:relative;z-index:1}
  .lime-subtitle{display:none}
  .lime-pill{
    display:block;margin-top:18px;color:#403500;
    background:linear-gradient(180deg,#FFDF4A 0%,#F5CC0C 100%);border:1px solid #FFEFA3;
    font-family:'LimeMono',monospace;font-weight:500;font-size:18px;text-transform:uppercase;
    text-align:center;padding:16px 16px;border-radius:12px;letter-spacing:0;
  }
  .lime-btns{position:static;margin-top:14px;flex-direction:row;gap:10px}
  .lime-btn{flex:1 1 auto;font-size:14px;height:42px;padding:0 20px;border-radius:12px}
  #lime-more{min-width:0}
  .lime-lemon-m{display:block;position:absolute;top:14px;right:-8px;width:88px;height:auto;pointer-events:none;z-index:0}
  .lime-overlay{padding:24px 10px 24px}
  .lime-modal{padding:24px 16px 36px;border-radius:24px;border-width:2px}
  .lime-spacer{height:calc(90px + env(safe-area-inset-bottom))}
  .lime-close{top:14px;right:14px;width:40px;height:40px}
  .lime-modal h2{font-size:21px;line-height:102%;margin-bottom:14px}
  .lime-modal h2.lime-path{margin-top:26px;margin-bottom:6px}
  .lime-modal p{font-size:16px;line-height:118%;margin-bottom:14px}
  .lime-modal p .lime-brk{display:none}
  .lime-accent{font-size:24px;line-height:118%;margin:14px 0 16px}
  .lime-modal .lime-fine{font-size:13px;line-height:118%;margin-top:22px}
  .lime-tbl{display:block;border:0;border-radius:0;margin-top:8px;table-layout:auto}
  .lime-tbl thead{display:none}
  .lime-tbl tbody,.lime-tbl tr{display:block;width:auto}
  .lime-tbl tbody tr{display:grid;grid-template-columns:1fr 1fr 1.25fr;column-gap:10px;margin-top:22px}
  .lime-tbl td{border:0;padding:0;text-align:left}
  .lime-tbl td.lime-st{
    grid-column:1 / -1;font-size:14px;line-height:140%;color:#fff;
    padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid rgba(255,255,255,.25);
  }
  .lime-tbl td.lime-st br{display:none}
  .lime-tbl tbody tr:last-child td.lime-st{border-bottom:1px solid rgba(255,255,255,.25)}
  .lime-tbl td:not(.lime-st){font-size:12px;line-height:140%;color:#fff}
  .lime-tbl td:not(.lime-st)::before{
    content:attr(data-label);display:block;min-height:30px;
    font-family:'LimeMono',monospace;font-weight:500;font-size:12px;line-height:120%;
    color:rgba(255,255,255,.8);text-transform:uppercase;margin-bottom:6px;
  }
  .lime-tbl td.lime-gift{text-transform:uppercase}
  .lime-tbl td.lime-gift small{display:inline;font-size:1em;margin:0 0 0 5px;text-transform:uppercase}
}
