/* Коопторгъ: the shared light design of the independent informational website. */
@font-face {
  font-family: 'Golos Text'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('./assets/fonts/golos-text-cyrillic-wght-normal.mKek_fSS.woff2') format('woff2');
  unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Golos Text'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('./assets/fonts/golos-text-latin-wght-normal.BS5oQT7X.woff2') format('woff2');
}
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('./assets/fonts/manrope-cyrillic-wght-normal.Dvxsihut.woff2') format('woff2');
  unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('./assets/fonts/manrope-latin-wght-normal.DHIcAJRg.woff2') format('woff2');
}
body#coop-modern {
  --paper: #fff; --canvas: #f7f8fa; --ink: #232528; --muted: #6d717a;
  --accent: #d93c25; --accent-dark: #cb3420; --line: #dedfe3; --soft-accent: #fff0eb;
  --panel-bg: #fff; --panel-alt: #fff; --brand-ink: #232528; --divider: #dedfe3;
  --shadow-1: none; --shadow-2: 0 12px 34px #23252814; --radius-md: 10px;
  margin: 0; color: var(--ink); background: var(--paper);
  font-family: 'Golos Text', Arial, sans-serif; line-height: 1.5; -webkit-font-smoothing: antialiased;
  padding-bottom: 0; min-width: 320px;
}
body#coop-modern * { box-sizing: border-box; }
body#coop-modern a, body#coop-modern button { -webkit-tap-highlight-color: transparent; }
body#coop-modern a:focus-visible, body#coop-modern button:focus-visible,
body#coop-modern input:focus-visible, body#coop-modern select:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 3px;
}
body#coop-modern button, body#coop-modern input, body#coop-modern select { font-family: inherit; }
.modern-skip { position: fixed; top: 8px; left: 16px; z-index: 99999; padding: 12px 20px; background: #232528; color: white; transform: translateY(-160%); }
.modern-skip:focus { transform: none; }
.modern-header { background: #fff; border-bottom: 1px solid var(--line); position: relative; z-index: 200; }
.modern-header-inner { max-width: 1320px; margin: auto; height: 92px; padding: 0 24px; display: flex; align-items: center; gap: 20px; }
.modern-brand { font-family: 'Manrope', Arial, sans-serif; font-size: 32px; letter-spacing: -1.8px; font-weight: 800; text-decoration: none; color: var(--ink); white-space: nowrap; line-height: 1; }
.modern-brand span { font-size: 29px; }
.modern-brand i { color: var(--accent); font-style: normal; }
.modern-brand-caption { font-size: 11px; line-height: 1.4; border-left: 1px solid var(--line); padding-left: 20px; color: var(--muted); }
.modern-site-nav { display: flex; gap: 26px; align-items: center; margin-left: auto; }
.modern-site-nav a { color: var(--ink); text-decoration: none; font-size: 13px; padding: 10px 0; }
.modern-site-nav a:hover { color: var(--accent); }
.modern-interface { display: inline-flex; padding: 9px 13px; font-size: 11px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); text-decoration: none; white-space: nowrap; }
.modern-interface:hover { border-color: var(--ink); color: var(--ink); }

/* 1.2.45: Coop green; header specificity also covers later cabinet hover rules. */
body#coop-modern a.modern-interface.modern-main-interface {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  flex: 0 0 auto; min-height: 44px; max-width: 100%; margin: 0;
  padding: 9px 14px; border: 1px solid #246239; border-radius: 8px;
  background: #246239; color: #fff; font-size: 13px; font-weight: 700;
  line-height: 1.2; white-space: nowrap; text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease;
}
body#coop-modern a.modern-interface.modern-main-interface:visited { color: #fff; }
body#coop-modern a.modern-interface.modern-main-interface:hover {
  border-color: #1b4e2d; background: #1b4e2d; color: #fff;
}
body#coop-modern a.modern-interface.modern-main-interface:focus-visible {
  border-color: #246239; background: #246239; color: #fff;
  outline: 2px solid #246239; outline-offset: 3px;
}
body#coop-modern a.modern-interface.modern-main-interface:active {
  border-color: #163f25; background: #163f25; color: #fff;
}
body#coop-modern a.modern-interface.modern-main-interface svg {
  width: 20px; height: 20px; flex: 0 0 20px; stroke-width: 2;
}
@media (max-width: 767px) {
  body#coop-modern a.modern-interface.modern-main-interface {
    flex: 0 1 112px; min-width: 0; max-width: 112px; min-height: 40px;
    gap: 6px; padding: 6px 9px; font-size: 12px; line-height: 1.15;
    white-space: normal; text-align: left;
  }
  body#coop-modern a.modern-interface.modern-main-interface span { min-width: 0; }
  body#coop-modern a.modern-interface.modern-main-interface svg {
    width: 16px; height: 16px; flex-basis: 16px;
  }
}
body#coop-modern .modern-header-inner > a.modern-interface.modern-main-interface,
body#coop-modern .modern-header-inner > a.modern-interface.modern-main-interface:visited {
  border-color: #246239; background: #246239; color: #fff;
}
body#coop-modern .modern-header-inner > a.modern-interface.modern-main-interface:hover {
  border-color: #1b4e2d; background: #1b4e2d; color: #fff;
}
body#coop-modern .modern-header-inner > a.modern-interface.modern-main-interface:focus-visible {
  border-color: #246239; background: #246239; color: #fff;
  outline: 2px solid #246239; outline-offset: 3px;
}
body#coop-modern .modern-header-inner > a.modern-interface.modern-main-interface:active {
  border-color: #163f25; background: #163f25; color: #fff;
}
.modern-header-account { background: transparent; border: 0; padding: 8px; color: var(--ink); cursor: pointer; }
.modern-header-account svg, .modern-service-bar svg, .modern-mobile-nav svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 22px; }
.modern-service-bar { display: flex; align-items: center; justify-content: space-between; gap: 30px; width: min(100% - 48px,1272px); margin: 22px auto 0; }
.modern-point-trigger { display: flex; align-items: center; gap: 12px; padding: 0; background: transparent; border: 0; color: var(--ink); text-align: left; cursor: pointer; min-width: 0; }
.modern-point-trigger > span { min-width: 0; }
.modern-point-trigger small { display: block; color: var(--muted); font-size: 10px; margin-bottom: 3px; }
.modern-point-trigger strong { display: block; font-size: 13px; font-weight: 500; }
.modern-change { font-size: 11px; color: var(--accent); margin-left: 20px; white-space: nowrap; }
.modern-search-trigger { display: flex; align-items: center; gap: 14px; background: var(--canvas); border: 1px solid #eff0f2; border-radius: 5px; padding: 13px 16px; min-width: 380px; color: var(--muted); cursor: pointer; font-size: 12px; text-align: left; }
.modern-search-trigger kbd { margin-left: auto; border: 1px solid var(--line); border-radius: 3px; font-size: 10px; padding: 2px 6px; background: white; }
body#coop-modern .pickup-banner-global { display: none !important; }
body#coop-modern .screen { min-height: calc(100vh - 188px); background: #fff; width: min(100%,1320px); margin: auto; padding-bottom: 40px !important; }
body#coop-modern .screen.active { display: flex; }
body#coop-modern .app-header { background: #fff; box-shadow: none; padding: 28px 24px 0; position: relative; top: auto; z-index: 15; backdrop-filter: none; }
body#coop-modern .header-row { min-height: 55px; gap: 16px; }
body#coop-modern .header-title { font-family: 'Manrope', Arial, sans-serif; font-weight: 500; font-size: 34px; color: var(--ink); letter-spacing: -1.1px; }
body#coop-modern #main-header-title { font-size: clamp(34px,4.1vw,56px); line-height: 1.12; letter-spacing: -2px; }
.modern-eyebrow { display: block; font-size: 10px; letter-spacing: 1.6px; color: var(--accent); font-weight: 500; margin-bottom: 12px; }
.modern-catalog-note { font-size: 13px; color: var(--muted); margin: 18px 0 24px; max-width: 660px; line-height: 1.75; }
.modern-catalog-note a { color: var(--accent); text-underline-offset: 3px; }
body#coop-modern .header-actions { gap: 12px; margin-left: auto; }
body#coop-modern .header-tutorial-btn { border-radius: 0; border: 0; padding: 6px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; margin-left: auto; }
body#coop-modern .cart-icon, body#coop-modern .profile-icon { cursor: pointer; padding: 7px; position: relative; font-size: 19px; }
body#coop-modern .cart-badge { background: var(--accent); color: white; font-family: inherit; }
body#coop-modern .top-tabs { padding: 0; gap: 6px !important; margin-top: 22px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; border-radius: 0; background: white; }
body#coop-modern .top-tabs::-webkit-scrollbar { display: none; }
body#coop-modern .tab-btn { flex-shrink: 0; font-weight: 400; font-size: 12px; color: var(--muted); border-radius: 0 !important; padding: 13px 16px; border: 0; border-bottom: 2px solid transparent; background: transparent; box-shadow: none; white-space: nowrap; }
body#coop-modern .tab-btn.active, body#coop-modern .tab-btn[aria-selected="true"] { background: transparent; color: var(--accent); border-bottom-color: var(--accent); box-shadow: none; }
body#coop-modern .tab-btn:hover { color: var(--accent); background: #fff5f1; }
body#coop-modern .categories-grid { padding: 24px; gap: 18px; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: visible; flex: none; }
body#coop-modern .category-card { min-width: 0; min-height: 170px; padding: 24px; border: 1px solid #efeff1; border-radius: 8px; background: var(--canvas); box-shadow: none; cursor: pointer; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; text-align: left; overflow: hidden; transition: transform .2s, border-color .2s; position: relative; }
body#coop-modern .category-card:hover { transform: translateY(-3px); border-color: #cbcdd2; }
body#coop-modern .category-card h3 { font-family: 'Manrope', Arial, sans-serif; font-size: 18px; font-weight: 600; letter-spacing: -.5px; color: var(--ink); position: relative; z-index: 2; max-width: 90%; text-shadow: none; line-height: 1.4; margin: 0; }
body#coop-modern .category-card p { font-size: 11px; color: var(--muted); position: relative; z-index: 2; margin: 6px 0 0; }
body#coop-modern .category-card--with-bg { background-image: var(--category-bg-image); background-size: cover; background-position: center; }
body#coop-modern .category-card--with-bg::before { position: absolute; inset: 0; background: linear-gradient(0deg,#ffffffed 0%,#ffffffad 24%,#ffffff00 65%); opacity: 1; content: ''; z-index: 1; }
body#coop-modern .category-card--with-bg::after { display: none; }
body#coop-modern .category-card.modern-farmer-card { background: #fff; min-height: 275px; padding: 0 0 16px; justify-content: flex-start; }
.modern-farmer-card .modern-farmer-photo { height: 190px; width: 100%; object-fit: cover; display: block; margin-bottom: 14px; background: var(--canvas); }
.modern-farmer-card h3, .modern-farmer-card p { margin-left: 18px !important; margin-right: 18px !important; }
.modern-farmer-initials { height: 190px; width: 100%; background: #f0f0eb; display: grid; place-items: center; font-family: 'Manrope',Arial,sans-serif; font-size: 48px; font-weight: 400; letter-spacing: -2px; color: #b9b8ad; margin-bottom: 14px; }
body#coop-modern .products-container { padding: 24px; gap: 22px; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: visible; flex: none; align-items: stretch; }
body#coop-modern .product-card { padding: 0 !important; box-shadow: none; background: white; border: 1px solid #e7e8eb; border-radius: 8px; min-height: 0 !important; gap: 0; overflow: visible; display: flex; flex-direction: column; }
body#coop-modern .modern-product-card .product-image { aspect-ratio: 1.2 !important; width: 100%; height: auto !important; min-height: 0 !important; flex: none !important; border-radius: 8px 8px 0 0 !important; overflow: hidden; background: var(--canvas); }
body#coop-modern .modern-product-card .product-image > img { width: 100%; height: 100% !important; aspect-ratio: 1.2; object-fit: cover; transition: transform .3s; }
body#coop-modern .modern-product-card:hover .product-image > img { transform: scale(1.025); }
body#coop-modern .modern-product-card > .product-overlay { position: relative; inset: auto; padding: 17px 17px 0; color: var(--ink); background: none !important; backdrop-filter: none; display: flex; flex-direction: column; flex: 1; gap: 0; border-radius: 0 0 8px 8px; }
body#coop-modern .modern-product-card .product-overlay-text { display: flex; flex-direction: column; gap: 6px; cursor: pointer; }
body#coop-modern .modern-product-card .product-name { font-family: 'Manrope',Arial,sans-serif; font-size: 16px; line-height: 1.4; color: var(--ink) !important; text-shadow: none !important; font-weight: 600; letter-spacing: -.3px; margin: 0 0 4px !important; }
body#coop-modern .modern-product-card .product-farmer-inline { display: block; color: var(--muted); font-family: 'Golos Text',Arial,sans-serif; font-size: 11px; line-height: 1.6; font-weight: 400; margin-top: 5px; }
body#coop-modern .modern-product-card .product-price, body#coop-modern .modern-product-card .product-price-line { color: var(--ink) !important; text-shadow: none !important; font-size: 14px; }
body#coop-modern .modern-product-card .product-price-current { color: var(--ink) !important; font-weight: 600; }
body#coop-modern .modern-product-card .product-price-old { color: var(--muted) !important; font-size: 11px; font-weight: 400; }
body#coop-modern .modern-product-card .product-delivery-slot { margin-top: 6px; min-height: 32px; }
body#coop-modern .modern-product-card .delivery-pill { background: #f7f8fa !important; color: var(--muted) !important; border: 1px solid #eff0f1 !important; font-size: 10px; border-radius: 4px; text-shadow: none; }
body#coop-modern .modern-product-card .product-actions { margin-top: auto !important; padding: 14px 0 17px !important; background: #fff; border: 0; display: block; }
body#coop-modern .modern-product-card .product-share-btn { display: grid; place-items: center; width: 30px; height: 30px; position: absolute; right: 8px; bottom: 8px; top: auto; left: auto; background: #ffffffed; border: 0; border-radius: 4px; color: #6d717a; padding: 6px; z-index: 25; }
body#coop-modern .modern-product-card .product-share-btn svg { width: 17px; height: 17px; }
body#coop-modern .product-badges { z-index: 3; }
body#coop-modern .new-item-badge, body#coop-modern .hit-item-badge, body#coop-modern .season-item-badge { font-size: 9px; border-radius: 3px; box-shadow: none; font-weight: 500; background: #fff; color: var(--accent); }
body#coop-modern .season-item-badge { color: #557557; }
body#coop-modern .fav-btn { background: #ffffffed; color: var(--muted); border: 0; width: 30px; height: 30px; box-shadow: none; }
body#coop-modern .fav-btn.fav-active { color: var(--accent); }
body#coop-modern .add-to-cart-btn, body#coop-modern .checkout-btn, body#coop-modern .btn-primary { background: var(--accent) !important; color: white !important; box-shadow: none; border: 1px solid var(--accent); border-radius: 5px !important; min-height: 40px; font-size: 12px; font-weight: 500; }
body#coop-modern .add-to-cart-btn:hover, body#coop-modern .checkout-btn:hover { background: var(--accent-dark) !important; }
body#coop-modern .quantity-controls { border: 1px solid #e8e9ec; border-radius: 5px; background: #f7f8fa; min-height: 40px; }
body#coop-modern .quantity-controls .qty-btn { border: 0; background: transparent; color: var(--accent); box-shadow: none; border-radius: 0; font-size: 19px; }
body#coop-modern .quantity-controls .qty-value { color: var(--ink); font-weight: 500; font-size: 13px; }
body#coop-modern .primary-btn { color: var(--ink); background: var(--canvas); box-shadow: none; border: 1px solid var(--line); border-radius: 5px; font-size: 13px; padding: 12px 16px; }
body#coop-modern .primary-btn:hover { background: #eeeff2; }
body#coop-modern .back-btn { background: var(--canvas); border: 1px solid #eeeff1; border-radius: 5px; color: var(--ink); box-shadow: none; width: 38px; height: 38px; padding: 0; cursor: pointer; }
body#coop-modern .bottom-nav { display: none !important; }
.modern-mobile-nav { display: flex; position: fixed; right: 30px; bottom: 20px; gap: 2px; background: white; padding: 8px; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 8px 30px #23252815; z-index: 999; }
.modern-mobile-nav button { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; border: 0; background: white; color: var(--muted); cursor: pointer; padding: 8px 16px; border-radius: 4px; font-size: 9px; }
.modern-mobile-nav button.active { color: var(--accent); background: var(--soft-accent); }
.modern-mobile-nav b { position: absolute; right: 9px; top: 3px; background: var(--accent); color: white; min-width: 15px; height: 15px; border-radius: 15px; font-size: 9px; }
body#coop-modern #floating-search-btn { display: none !important; }
body#coop-modern .site-chat-fab { bottom: 102px; }
body#coop-modern .profile-container { padding: 24px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 20px; overflow: visible; }
body#coop-modern .profile-info { background: white; border: 1px solid var(--line); border-radius: 8px; padding: 24px; box-shadow: none; margin: 0; }
body#coop-modern .profile-info h3 { color: var(--ink); font-family: 'Manrope',Arial,sans-serif; font-size: 22px; font-weight: 500; margin: 0 0 18px; letter-spacing: -.7px; }
body#coop-modern .user-info { color: var(--muted); font-size: 13px; }
body#coop-modern .profile-stories-actions { grid-column: 1/-1; justify-content: flex-start; }
body#coop-modern .profile-pickup-wrapper { display: none !important; }
.modern-logout { grid-column: 1/-1; padding: 18px 0; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: var(--muted); }
.modern-logout button { border: 1px solid var(--line); border-radius: 5px; padding: 10px 20px; background: #fff; color: var(--accent); cursor: pointer; font-size: 12px; }
body#coop-modern .orders-container { padding: 24px; overflow: visible; }
/* Fullscreen search owns a bounded scroll area. Catalog grids use page scroll. */
body#coop-modern.search-fullscreen #search-results-container {
  flex: 1 1 0; min-height: 0; overflow-y: auto; overflow-x: hidden;
  overscroll-behavior-y: contain; touch-action: pan-y; scrollbar-gutter: stable;
  grid-auto-rows: max-content; align-content: start; align-items: stretch;
}
body#coop-modern.search-fullscreen #search-results-container .product-card { height: auto; }
body#coop-modern.search-fullscreen .search-panel-inner,
body#coop-modern.search-fullscreen .search-meta-row { flex: none; }
body#coop-modern .order-card, body#coop-modern .order-item-card { box-shadow: none; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
body#coop-modern .order-header, body#coop-modern .orders-store-header { background: var(--canvas); color: var(--ink); border-radius: 6px; }
body#coop-modern .oc-title { color: var(--ink); font-weight: 500; }
body#coop-modern .oc-ordered { background: var(--canvas); }
body#coop-modern .oc-subtitle { color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .5px; }
body#coop-modern .cart-container { padding: 24px; }
body#coop-modern #cart-items { gap: 20px; }
body#coop-modern .cart-item { border: 1px solid var(--line); box-shadow: none; background: white; border-radius: 8px; }
body#coop-modern .cart-summary { background: var(--canvas); border-radius: 6px; padding: 24px; box-shadow: none; border: 1px solid #edeef0; }
body#coop-modern .pd-container { padding: 24px; overflow: visible; }
body#coop-modern #pd-content { max-width: 980px; margin: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 36px; }
body#coop-modern .pd-photo { grid-column: 1; grid-row: 1/11; align-self: start; border-radius: 8px; overflow: hidden; }
body#coop-modern .pd-photo img { width: 100%; max-height: 620px; height: auto; aspect-ratio: .9; object-fit: cover; }
body#coop-modern #pd-content > :not(.pd-photo) { grid-column: 2; }
body#coop-modern #pd-content > .pd-block, body#coop-modern #pd-content > .wave3-seo-block { grid-column: 1/-1; }
body#coop-modern .pd-title { font-family: 'Manrope',Arial,sans-serif; font-size: 32px; font-weight: 500; letter-spacing: -1px; line-height: 1.25; color: var(--ink); margin: 0; }
body#coop-modern .pd-oval { background: var(--canvas); box-shadow: none; border-radius: 6px; border: 1px solid #edeef0; color: var(--ink); }
body#coop-modern .pd-block { background: white; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; padding: 24px 0; color: var(--muted); font-size: 14px; }
body#coop-modern .pd-h { font-family: 'Manrope',Arial,sans-serif; font-size: 22px; font-weight: 500; color: var(--ink); margin-bottom: 12px; }
body#coop-modern .link-btn { color: var(--accent); }
.modern-farmer-profile { display: grid; grid-template-columns: 160px 1fr; gap: 24px; padding: 28px; border: 1px solid var(--line); border-radius: 8px; grid-column: 1/-1; background: white; }
.modern-farmer-profile img { width: 160px; height: 180px; object-fit: cover; border-radius: 5px; }
.modern-farmer-profile h2 { font-family: 'Manrope',Arial,sans-serif; font-size: 26px; font-weight: 500; margin: 0 0 10px; letter-spacing: -.8px; }
.modern-farmer-profile p { color: var(--muted); font-size: 13px; margin: 0 0 12px; line-height: 1.8; white-space: pre-line; }
.modern-farmer-profile a { display: inline-block; color: var(--accent); font-size: 12px; margin-top: 6px; }
.modern-category-links { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; }
.modern-category-links button { padding: 6px 11px; font-size: 11px; background: var(--canvas); border: 1px solid #eceef1; border-radius: 4px; color: var(--muted); cursor: pointer; }
.modern-store-map-button { display: inline-flex; align-items: center; gap: 12px; color: var(--accent); background: var(--soft-accent); border: 1px solid #fbe1d8; padding: 12px 18px; border-radius: 5px; cursor: pointer; font-size: 13px; margin: 8px 0 20px; }
.modern-map-dialog { border: 1px solid var(--line); border-radius: 9px; padding: 26px; width: min(1100px,96vw); max-height: 90dvh; color: var(--ink); font-family: 'Golos Text',Arial,sans-serif; }
.modern-map-dialog::backdrop { background: #1b202470; }
.modern-map-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.modern-map-heading h2 { margin: 0; font-family: 'Manrope',Arial,sans-serif; font-weight: 500; font-size: 30px; letter-spacing: -1px; }
.modern-map-heading button { border: 0; color: var(--ink); font-size: 28px; padding: 6px 12px; background: transparent; cursor: pointer; }
.modern-map-hint { color: var(--muted); font-size: 12px; margin: 14px 0 20px; }
.modern-map-content { display: grid; grid-template-columns: 310px 1fr; min-height: 460px; gap: 20px; }
.modern-map-panel { max-height: 500px; display: flex; flex-direction: column; }
.modern-map-panel label { color: var(--muted); font-size: 11px; margin-bottom: 6px; }
.modern-map-panel select { padding: 9px 12px; background: white; border: 1px solid var(--line); border-radius: 4px; color: var(--ink); font-size: 13px; width: 100%; }
.modern-map-status { font-size: 11px; color: var(--muted); }
#modern-map-list { overflow-y: auto; }
.modern-map-point { display: block; padding: 14px; text-align: left; width: 100%; background: white; color: var(--ink); border: 1px solid var(--line); border-radius: 5px; cursor: pointer; margin-bottom: 8px; }
.modern-map-point strong { display: block; font-size: 13px; font-weight: 500; }
.modern-map-point span { display: block; font-size: 11px; color: var(--muted); margin-top: 6px; }
.modern-map-point.selected { border-color: var(--accent); background: var(--soft-accent); }
.modern-map-point button { margin-top: 10px; font-size: 11px; padding: 8px 14px; background: var(--accent); color: white; border: 0; border-radius: 4px; cursor: pointer; }
#modern-map-canvas { height: 500px; min-width: 0; background: var(--canvas); border: 1px solid #eceef1; border-radius: 5px; z-index: 0; }
#modern-map-canvas > p { padding: 24px; color: var(--muted); font-size: 13px; }
.modern-status { position: fixed; left: 50%; bottom: 112px; transform: translateX(-50%); background: #232528; color: white; padding: 14px 20px; border-radius: 6px; max-width: min(90vw,540px); z-index: 20000; font-size: 13px; }
.modern-status[hidden], .modern-mobile-nav b[hidden] { display: none !important; }
body#coop-modern .store-select-container { max-width: 960px; padding: 24px; }
body#coop-modern .store-card { border: 1px solid var(--line); box-shadow: none; background: white; border-radius: 6px; }
body#coop-modern .store-card.selected { border-color: var(--accent); background: var(--soft-accent); }
body#coop-modern .auth-container { max-width: 580px; }
body#coop-modern .modal-overlay { backdrop-filter: blur(3px); }
body#coop-modern .wave3-seo-block { background: var(--canvas); box-shadow: none; border: 1px solid #edeef0; border-radius: 6px; }
body#coop-modern.search-fullscreen .modern-header, body#coop-modern.search-fullscreen .modern-service-bar { display: none; }
body#coop-modern.search-fullscreen .modern-mobile-nav { z-index: 2200; }
body#coop-modern.search-fullscreen .search-panel { background: white; padding-bottom: 84px; }
body#coop-modern.search-fullscreen .search-panel-inner { border: 0; border-bottom: 1px solid var(--line); box-shadow: none; background: white; padding: 16px 24px; }
body#coop-modern.search-fullscreen .search-input { background: var(--canvas); border: 1px solid #edeef0; border-radius: 5px; padding: 12px 16px; font-size: 14px; color: var(--ink); }
body#coop-modern .search-clear-btn { color: var(--accent); }
.coop-modern-admin { background: var(--canvas) !important; }
.coop-modern-admin .admin-header, .coop-modern-admin .admin-container { background: #fff; color: var(--ink); box-shadow: none; }
.coop-modern-admin .admin-nav a { border-radius: 4px; }
.coop-modern-admin .admin-nav a.active { background: var(--soft-accent); color: var(--accent); }
.coop-modern-admin .modern-header { margin-bottom: 24px; }
@media (min-width: 1100px) { body#coop-modern #cart-items { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 1100px) {
  .modern-brand-caption { display: none; }
  .modern-site-nav { gap: 18px; }
  body#coop-modern .categories-grid, body#coop-modern .products-container { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .modern-header-inner { padding: 0 16px; height: 69px; gap: 12px; }
  .modern-brand { font-size: 25px; letter-spacing: -1.5px; }
  .modern-brand span { font-size: 23px; }
  .modern-site-nav { display: none; }
  .modern-interface { margin-left: auto; font-size: 10px; padding: 7px 9px; }
  .modern-header-account { padding: 4px; }
  .modern-service-bar { width: calc(100% - 32px); margin: 16px auto 0; flex-wrap: wrap; gap: 14px; }
  .modern-point-trigger { width: 100%; gap: 9px; }
  .modern-point-trigger strong { font-size: 11px; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .modern-change { margin-left: auto; font-size: 10px; }
  .modern-search-trigger { min-width: 0; width: 100%; padding: 11px 13px; font-size: 12px; }
  .modern-search-trigger kbd { display: none; }
  body#coop-modern .screen { min-height: calc(100dvh - 194px); padding-bottom: 95px !important; }
  body#coop-modern .app-header { padding: 24px 16px 0; }
  body#coop-modern .header-title { font-size: 24px; letter-spacing: -.9px; }
  body#coop-modern #main-header-title { font-size: 36px; letter-spacing: -1.5px; }
  body#coop-modern .header-row-main { flex-wrap: wrap; gap: 10px; }
  body#coop-modern .header-title-block { flex: 1 1 auto; }
  body#coop-modern .header-row-main .header-tutorial-btn { order: 3; margin-left: 0; font-size: 10px; }
  body#coop-modern .header-row-main .header-actions { display: none; }
  .modern-eyebrow { font-size: 9px; margin-bottom: 8px; letter-spacing: 1.3px; }
  .modern-catalog-note { font-size: 12px; line-height: 1.7; margin: 10px 0 7px; }
  body#coop-modern .top-tabs { margin-top: 13px; }
  body#coop-modern .tab-btn { font-size: 11px; padding: 12px; }
  body#coop-modern .categories-grid, body#coop-modern .products-container { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 16px; }
  body#coop-modern .category-card { min-height: 147px; padding: 17px; border-radius: 6px; }
  body#coop-modern .category-card h3 { font-size: 14px; letter-spacing: -.4px; max-width: 100%; }
  body#coop-modern .category-card p { font-size: 10px; }
  body#coop-modern .category-card.modern-farmer-card { min-height: 220px; padding-bottom: 14px; }
  .modern-farmer-card .modern-farmer-photo, .modern-farmer-initials { height: 155px; }
  .modern-farmer-card h3, .modern-farmer-card p { margin-left: 13px !important; margin-right: 13px !important; }
  body#coop-modern .modern-product-card > .product-overlay { padding: 12px 11px 0; }
  body#coop-modern .modern-product-card .product-name { font-size: 13px; letter-spacing: -.2px; }
  body#coop-modern .modern-product-card .product-farmer-inline { font-size: 9px; }
  body#coop-modern .modern-product-card .product-price-line { font-size: 12px; }
  body#coop-modern .modern-product-card .delivery-pill { font-size: 9px; max-width: 100%; }
  body#coop-modern .modern-product-card .product-actions { padding-bottom: 11px !important; }
  body#coop-modern .product-card .add-to-cart-btn { font-size: 11px; }
  .modern-mobile-nav { bottom: 0; right: 0; left: 0; border-radius: 0; border: 0; border-top: 1px solid var(--line); box-shadow: 0 -4px 20px #23252809; padding: 5px 8px calc(5px + env(safe-area-inset-bottom)); justify-content: space-around; }
  .modern-mobile-nav button { font-size: 9px; padding: 8px 5px; flex: 1; }
  .modern-mobile-nav svg { width: 20px; height: 20px; }
  body#coop-modern .profile-container { padding: 16px; grid-template-columns: 1fr; gap: 14px; }
  body#coop-modern .profile-info { padding: 20px; }
  body#coop-modern .profile-info h3 { font-size: 20px; }
  body#coop-modern .orders-container, body#coop-modern .cart-container { padding: 16px; }
  body#coop-modern #cart-items { gap: 12px; }
  body#coop-modern .pd-container { padding: 16px; }
  body#coop-modern #pd-content { display: flex; flex-direction: column; gap: 14px; }
  body#coop-modern .pd-photo { width: 100%; }
  body#coop-modern .pd-photo img { max-height: 430px; aspect-ratio: 1.2; }
  body#coop-modern .pd-title { font-size: 29px; }
  .modern-farmer-profile { padding: 18px; grid-template-columns: 1fr; gap: 18px; }
  .modern-farmer-profile img { width: 100%; height: 235px; }
  .modern-farmer-profile h2 { font-size: 24px; }
  .modern-map-dialog { padding: 17px; width: calc(100vw - 16px); max-height: 94dvh; }
  .modern-map-heading h2 { font-size: 25px; }
  .modern-map-content { display: flex; flex-direction: column-reverse; min-height: 0; gap: 16px; }
  #modern-map-canvas { height: 245px; }
  .modern-map-panel { max-height: 310px; }
  .modern-map-hint { font-size: 11px; }
  .modern-status { bottom: 92px; }
}
@media (prefers-reduced-motion: reduce) {
  body#coop-modern *, body#coop-modern *::before, body#coop-modern *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Match the old ID-scoped controls without changing their actions. */
body#coop-modern #main-screen #categories-grid-main .coop-info-button-wrap { justify-content: flex-start !important; padding: 0 0 4px; }
body#coop-modern #main-screen #categories-grid-main .coop-info-button { background: #f7f8fa !important; color: #6d717a; border: 1px solid #e6e7eb; border-radius: 4px; box-shadow: none; animation: none; font-size: 11px; font-weight: 400; padding: 8px 12px; min-height: 34px; }
body#coop-modern .coop-info-icon { color: #6d717a; background: #fff; border-color: #dedfe3; width: 18px; height: 18px; font-size: 11px; }
body#coop-modern .header-actions svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
body#coop-modern .products-container .product-card.modern-product-card .product-price-total,
body#coop-modern .products-container .product-card.modern-product-card .product-current-price { color: #232528 !important; text-align: left !important; }
body#coop-modern .products-container .product-card.modern-product-card .product-price-main { text-align: left !important; font-size: 15px !important; font-weight: 600; }
body#coop-modern .products-container .product-card.modern-product-card .product-old-price { color: #6d717a !important; text-decoration-color: #6d717a !important; }
body#coop-modern .products-container .product-card.modern-product-card .new-item-badge,
body#coop-modern .products-container .product-card.modern-product-card .hit-item-badge,
body#coop-modern .products-container .product-card.modern-product-card .season-item-badge { background: #fff !important; color: #d93c25 !important; box-shadow: none !important; text-shadow: none !important; border: 1px solid #f6e9e3; border-radius: 3px !important; font-size: 9px !important; padding: 4px 6px; }
body#coop-modern .product-group-title { background: #f7f8fa; color: #232528; border: 1px solid #e6e7eb; font-family: 'Manrope',Arial,sans-serif; font-weight: 500; border-radius: 5px; }
.modern-report { max-width: 1250px; margin: 30px auto; padding: 28px; background: white; border: 1px solid #dedfe3; border-radius: 8px; }
.modern-report h1 { font-family: 'Manrope',Arial,sans-serif; font-size: clamp(26px,3vw,40px); font-weight: 500; letter-spacing: -1px; margin: 0 0 25px; }
.modern-report p { font-size: 13px; color: #6d717a; line-height: 1.8; }
.modern-report-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.modern-report-nav a { color: #6d717a; text-decoration: none; padding: 7px 10px; font-size: 11px; border: 1px solid #dedfe3; border-radius: 4px; }
.modern-report-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 18px; margin: 25px 0; }
.modern-report-form label { font-size: 11px; display: flex; flex-direction: column; gap: 7px; color: #6d717a; }
.modern-report-form input { padding: 10px; border: 1px solid #dedfe3; border-radius: 4px; font-size: 13px; }
.modern-report-form button { padding: 12px 24px; color: white; background: #d93c25; border: 0; border-radius: 4px; cursor: pointer; }
.modern-report-metrics { display: flex; gap: 35px; margin: 35px 0; }
.modern-report-metrics small { display: block; color: #6d717a; font-size: 11px; }
.modern-report-metrics strong { font-family: 'Manrope',Arial,sans-serif; font-size: 40px; font-weight: 500; }
.modern-report-table-wrap { overflow-x: auto; }
.modern-report table { border-collapse: collapse; width: 100%; font-size: 13px; text-align: left; }
.modern-report th, .modern-report td { padding: 15px 12px; border-bottom: 1px solid #dedfe3; }
.modern-report th { font-weight: 500; color: #6d717a; background: #f7f8fa; }
.modern-report-footnote { font-size: 11px !important; margin-top: 24px; }
@media (max-width: 760px) { .modern-report { margin: 16px; padding: 18px; } .modern-report-metrics { gap: 22px; } }
body#coop-modern #main-screen #categories-grid-main .category-card { width: auto !important; min-width: 0 !important; max-width: 100%; min-height: 170px; aspect-ratio: 1.4; justify-content: flex-end; }
body#coop-modern #main-screen #categories-grid-main .category-card h3 { font-family: 'Manrope',Arial,sans-serif; font-size: 18px; line-height: 1.35; font-weight: 600; color: #232528; }
@media (max-width: 760px) {
  body#coop-modern #main-screen #categories-grid-main { padding: 16px; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  body#coop-modern #main-screen #categories-grid-main .category-card { min-height: 147px; padding: 17px; }
  body#coop-modern #main-screen #categories-grid-main .category-card h3 { font-size: 14px; }
}

body#coop-modern .modern-action-dialog { width: min(620px, calc(100vw - 32px)); margin: auto; max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid var(--line); border-radius: 16px; padding: 24px; color: var(--ink); }
body#coop-modern .modern-action-dialog::backdrop { background: rgba(20,24,28,.45); }
body#coop-modern .modern-action-dialog h2 { font-size: 26px; margin: 0; }
body#coop-modern .modern-transfer-form, body#coop-modern .modern-discussion-form { display: grid; gap: 12px; }
body#coop-modern .modern-transfer-form select, body#coop-modern .modern-discussion-form select, body#coop-modern .modern-discussion textarea, body#coop-modern .modern-discussion-form textarea { width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 8px; font: inherit; color: inherit; background: #fff; }
body#coop-modern .modern-primary-button, body#coop-modern .modern-transfer-button { padding: 11px 16px; border: 0; border-radius: 7px; background: var(--accent); color: white; font: inherit; cursor: pointer; }
body#coop-modern .modern-transfer-button { padding: 8px 12px; font-size: 13px; }
body#coop-modern .modern-primary-button:disabled { opacity: .6; cursor: wait; }
body#coop-modern .modern-action-message { font-size: 14px; line-height: 1.6; }
body#coop-modern .modern-discussions { grid-column: 1/-1 !important; }
body#coop-modern .modern-discussion { padding: 18px 0; border-bottom: 1px solid var(--line); }
body#coop-modern .modern-discussion small { display: block; margin-top: 4px; color: var(--muted); }
body#coop-modern .modern-discussion p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
body#coop-modern .modern-discussion-answer { background: var(--canvas); padding: 16px; border-radius: 8px; margin-left: 16px; }
body#coop-modern .modern-discussion-form { margin-top: 18px; }
body#coop-modern .modern-discussion-form textarea, body#coop-modern .modern-discussion textarea { min-height: 110px; resize: vertical; }
body#coop-modern .modern-discussion-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
body#coop-modern .order-sub { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
body#coop-modern .order-open-btn, body#coop-modern .order-edit-btn { background: #fff; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); padding: 8px 12px; }
body#coop-modern .order-amount { flex-shrink: 0; }

/* 1.2.1: one navigation, readable controls and room for the actual content. */
.modern-header { position: sticky; top: 0; z-index: 1000; }
.modern-header-inner { height: 76px; gap: 22px; }
.modern-header-inner .modern-mobile-nav { position: static; margin-left: auto; padding: 0; border: 0; border-radius: 0; box-shadow: none; gap: 4px; }
.modern-mobile-nav button { min-height: 48px; font-size: 13px; flex-direction: row; gap: 8px; padding: 10px 15px; }
.modern-mobile-nav b { top: 1px; right: 3px; font-size: 10px; min-width: 18px; height: 18px; line-height: 18px; }
.modern-more-menu { position: relative; flex: none; }
.modern-more-menu summary { display: grid; place-items: center; width: 44px; height: 44px; cursor: pointer; border-radius: 6px; list-style: none; color: var(--ink); }
.modern-more-menu summary::-webkit-details-marker { display: none; }
.modern-more-menu summary:hover, .modern-more-menu[open] summary { background: var(--canvas); }
.modern-more-menu summary svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.modern-more-menu .modern-site-nav { position: absolute; right: 0; top: calc(100% + 12px); width: min(290px,calc(100vw - 32px)); padding: 8px; background: white; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 12px 34px #2325281c; display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.modern-more-menu .modern-site-nav { max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior-y: contain; }
.modern-menu-videos { display: flex; flex-direction: column; padding-top: 6px; margin-top: 6px; border-top: 1px solid var(--line); }
body#coop-modern .modern-more-menu .modern-menu-videos > button {
  display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: center;
  justify-content: start; gap: 10px; width: 100%; min-width: 0; min-height: 44px;
  margin: 0; padding: 12px; text-align: left;
}
body#coop-modern .modern-menu-videos .header-tutorial-btn { justify-content: flex-start; }
.modern-more-menu .modern-site-nav a, body#coop-modern .modern-more-menu .header-tutorial-btn { min-height: 44px; padding: 12px; font-size: 14px; border: 0; margin: 0; text-align: left; text-decoration: none; border-radius: 5px; background: white; color: var(--ink); }
.modern-more-menu .modern-site-nav a:hover, body#coop-modern .modern-more-menu .header-tutorial-btn:hover { background: var(--canvas); }
.modern-more-menu .modern-site-nav .modern-interface { margin-top: 6px; border-top: 1px solid var(--line); border-radius: 0; color: var(--muted); font-size: 12px; }
.modern-service-bar { margin-top: 16px; gap: 20px; }
.modern-point-trigger { min-height: 48px; flex: 1; gap: 12px; }
.modern-point-trigger small { font-size: 12px; }
.modern-point-trigger strong { font-size: 15px; line-height: 1.45; }
.modern-change { font-size: 13px; margin-left: 12px; }
.modern-search-trigger { min-height: 48px; min-width: 300px; font-size: 14px; }
body#coop-modern .screen { min-height: calc(100dvh - 155px); }
body#coop-modern .app-header { padding-top: 20px; }
body#coop-modern #main-header-title { font-size: clamp(28px,3vw,38px); letter-spacing: -1.2px; }
.modern-eyebrow { font-size: 11px; margin-bottom: 7px; }
.modern-catalog-note { margin: 8px 0 10px; font-size: 14px; line-height: 1.5; }
body#coop-modern .header-actions .cart-icon, body#coop-modern .header-actions .profile-icon { display: none; }
body#coop-modern .header-actions { display: none; }
body#coop-modern .top-tabs { margin-top: 14px; }
body#coop-modern .tab-btn { font-size: 14px; min-height: 46px; padding: 11px 14px; }
body#coop-modern .categories-grid, body#coop-modern .products-container { padding-top: 20px; }
body#coop-modern .category-card { min-height: 150px; }
body#coop-modern .category-card p { font-size: 13px; }
body#coop-modern .modern-product-card .product-farmer-inline { font-size: 13px; }
body#coop-modern .modern-product-card .delivery-pill { font-size: 12px; line-height: 1.4; }
body#coop-modern .product-card .add-to-cart-btn { min-height: 44px; font-size: 14px; }
body#coop-modern .quantity-btn, body#coop-modern .favorite-btn, body#coop-modern .back-btn { min-width: 44px; min-height: 44px; }
body#coop-modern .category-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.modern-breadcrumbs { width: min(100% - 48px,1272px); margin: 12px auto 0; display: flex; align-items: center; flex-wrap: wrap; gap: 2px 8px; font-size: 13px; color: var(--muted); }
.modern-breadcrumbs[hidden] { display: none; }
.modern-breadcrumbs button { background: transparent; border: 0; min-height: 36px; padding: 4px 0; color: var(--accent); font: inherit; cursor: pointer; }
.modern-crumb-divider { color: #acafb5; }
.modern-product-links { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.modern-product-links button { background: transparent; border: 0; min-height: 44px; text-align: left; padding: 8px 0; font-size: 14px; color: var(--accent); cursor: pointer; }
body#coop-modern #pd-content > .modern-product-links { grid-column: 1/-1; }
body#coop-modern .pd-farmer-link { display: none; }
body#coop-modern .pd-photo img { aspect-ratio: 1.2; max-height: 440px; }
.modern-farmer-profile.modern-farmer-no-photo { grid-template-columns: 1fr; }
.modern-farmer-profile p { font-size: 15px; line-height: 1.7; }
.modern-farmer-profile a { font-size: 14px; min-height: 44px; padding: 8px 0; }
body#coop-modern .start-notif { position: relative; inset: auto; z-index: 1; display: none; transform: none; opacity: 1; pointer-events: auto; }
body#coop-modern .start-notif.visible { display: block; }
body#coop-modern .start-notif.hiding { display: none; }
body#coop-modern .start-notif-inner { background: var(--canvas); backdrop-filter: none; box-shadow: none; padding: 0; }
body#coop-modern .start-notif-content { display: flex; gap: 16px; min-height: 0; max-width: 1320px; margin: auto; padding: 12px 24px; }
body#coop-modern .start-notif-image { display: none; }
body#coop-modern .start-notif-text { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex: 1; min-width: 0; }
body#coop-modern .start-notif-title { font-size: 14px; line-height: 1.5; margin: 0; }
body#coop-modern .start-notif-actions { display: flex; gap: 8px; padding: 0; margin: 0; width: auto; flex: none; }
body#coop-modern .start-notif-btn { font-size: 13px; min-height: 40px; margin: 0; padding: 8px 12px; border-radius: 6px; width: auto; flex: none; box-shadow: none; }
body#coop-modern .start-notif-btn.yes { color: white; background: var(--accent); border-color: var(--accent); }
body#coop-modern .start-notif-btn.no { color: var(--muted); background: white; border: 1px solid var(--line); }
body#coop-modern #preloader-overlay { background: var(--paper); color: var(--ink); }
body#coop-modern .preloader-logo { filter: none; }
body#coop-modern .pick-pvz-hint-global { display: none !important; }
body#coop-modern .store-select-header h2 { font-size: 24px; }
body#coop-modern .store-select-subtitle { font-size: 15px; line-height: 1.6; }
body#coop-modern .store-info { display: none; }
body#coop-modern .store-actions-panel { position: sticky; bottom: 0; background: white; border-top: 1px solid var(--line); padding: 16px 24px; display: flex; gap: 12px; }
body#coop-modern .store-actions-panel button { min-height: 48px; font-size: 15px; }
body#coop-modern .store-name { white-space: normal; font-size: 15px; line-height: 1.5; }
body#coop-modern .store-card { cursor: pointer; }
body#coop-modern .store-info-hint { opacity: 1; }
body#coop-modern .modern-store-details { background: transparent; border: 0; color: var(--accent); font-size: 13px; padding: 8px 0; min-height: 40px; cursor: pointer; }
.modern-point-change-status { font-size: 14px; color: var(--accent); }
body#coop-modern.modern-changing-point { cursor: progress; }
body#coop-modern.modern-changing-point .store-card { opacity: .65; pointer-events: none; }
.modern-map-tools { display: flex; align-items: flex-end; gap: 16px; margin-bottom: 16px; }
.modern-map-tools label { display: flex; flex-direction: column; flex: 1; gap: 6px; font-size: 13px; color: var(--muted); }
.modern-map-tools select { min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 5px; background: white; font: inherit; color: var(--ink); }
.modern-map-views { display: none; }
.modern-map-hint, .modern-map-status, .modern-map-point span { font-size: 13px; line-height: 1.5; }
.modern-map-point strong { font-size: 15px; }
.modern-map-point button { min-height: 44px; font-size: 13px; }
.modern-map-heading button { min-height: 44px; min-width: 44px; }
.modern-status { max-width: min(680px,calc(100vw - 32px)); font-size: 14px; bottom: 24px; }
@media (max-width: 1100px) { .modern-brand-caption { display: none; } }
@media (max-width: 900px) {
  body#coop-modern { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .modern-header-inner { height: 64px; padding: 0 16px; justify-content: space-between; }
  .modern-brand { font-size: 28px; }
  .modern-brand span { font-size: 26px; }
  .modern-header-inner .modern-mobile-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; background: white; border-top: 1px solid var(--line); padding: 5px 8px calc(5px + env(safe-area-inset-bottom)); box-shadow: 0 -4px 20px #23252809; justify-content: space-around; gap: 0; }
  .modern-mobile-nav button { flex: 1; flex-direction: column; gap: 3px; min-height: 55px; min-width: 0; padding: 6px 4px; font-size: 11px; }
  .modern-mobile-nav svg { width: 22px; height: 22px; }
  .modern-service-bar { width: calc(100% - 32px); margin-top: 12px; gap: 12px; }
  .modern-search-trigger { min-width: 230px; }
  .modern-breadcrumbs { width: calc(100% - 32px); font-size: 12px; }
  body#coop-modern .screen { min-height: calc(100dvh - 150px); padding-bottom: 24px !important; }
  body#coop-modern .app-header { padding: 16px 16px 0; }
  body#coop-modern #main-header-title { font-size: 30px; letter-spacing: -1px; }
  body#coop-modern .categories-grid, body#coop-modern .products-container { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 16px; gap: 14px; }
  body#coop-modern .category-card { min-height: 138px; }
  body#coop-modern .modern-product-card .product-name { font-size: 15px; }
  body#coop-modern .modern-product-card .product-farmer-inline { font-size: 12px; }
  body#coop-modern .modern-product-card .delivery-pill { font-size: 11px; }
  body#coop-modern .modern-product-card .product-price-line { font-size: 14px; }
  body#coop-modern .store-actions-panel { bottom: calc(65px + env(safe-area-inset-bottom)); padding: 12px 16px; }
  .modern-status { bottom: calc(83px + env(safe-area-inset-bottom)); }
  .modern-map-dialog { width: calc(100vw - 24px); max-height: 90dvh; padding: 16px; }
  .modern-map-heading h2 { font-size: 25px; }
  .modern-map-content { display: block; min-height: 0; }
  .modern-map-panel { max-height: min(50dvh,440px); }
  #modern-map-canvas { height: min(48dvh,440px); }
  .modern-map-views { display: flex; flex: none; }
  .modern-map-views button { min-height: 44px; padding: 10px 12px; background: white; border: 1px solid var(--line); color: var(--muted); font: inherit; font-size: 13px; cursor: pointer; }
  .modern-map-views button:first-child { border-radius: 5px 0 0 5px; }
  .modern-map-views button:last-child { border-radius: 0 5px 5px 0; }
  .modern-map-views button[aria-pressed="true"] { background: var(--soft-accent); color: var(--accent); border-color: var(--accent); }
  .modern-map-dialog[data-view="map"] .modern-map-panel, .modern-map-dialog[data-view="list"] #modern-map-canvas { display: none; }
  body#coop-modern .start-notif-content { padding: 12px 16px; }
  body#coop-modern .start-notif-text { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (max-width: 600px) {
  .modern-service-bar { flex-wrap: wrap; gap: 10px; }
  .modern-point-trigger { flex-basis: 100%; }
  .modern-point-trigger > span { flex: 1; }
  .modern-point-trigger small { font-size: 11px; }
  .modern-point-trigger strong { font-size: 14px; }
  .modern-change { margin-left: auto; font-size: 12px; }
  .modern-search-trigger { width: 100%; min-width: 0; padding: 10px 12px; }
  .modern-search-trigger kbd { display: none; }
  .modern-catalog-note { font-size: 13px; }
  .modern-map-hint { margin: 10px 0 14px; }
  .modern-map-tools { gap: 10px; }
  body#coop-modern .tab-btn { font-size: 13px; padding: 10px 12px; }
  body#coop-modern .product-card .add-to-cart-btn { font-size: 12px; }
  body#coop-modern .category-card h3 { font-size: 15px; }
  .modern-logout { flex-wrap: wrap; gap: 12px; font-size: 13px; }
}
body#coop-modern.search-fullscreen .modern-header { display: block; z-index: 2200; }
body#coop-modern.search-fullscreen .search-panel { top: 76px; bottom: 0; padding-bottom: 0; }
@media (max-width: 900px) { body#coop-modern.search-fullscreen .search-panel { top: 64px; bottom: calc(65px + env(safe-area-inset-bottom)); } }

/* Catalog promotion tiles keep their native images and tab actions. */
body#coop-modern .modern-info-tools { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 6px 0 0; border-top: 1px solid var(--line); }
body#coop-modern .modern-info-tools .coop-info-button { width: 100%; min-height: 44px; border: 0; border-radius: 5px; box-shadow: none; background: white; padding: 10px 12px; text-align: left; justify-content: flex-start; color: var(--ink); font-size: 13px; animation: none; }
body#coop-modern .modern-info-tools .coop-info-button:hover { background: var(--canvas); }
body#coop-modern .filter-icon-btn { gap: 8px; }
body#coop-modern .modern-product-card .product-farmer-inline[role="link"] { cursor: pointer; text-decoration: underline; text-decoration-color: #b8bbc1; text-underline-offset: 3px; }
body#coop-modern .modern-product-card .product-name[role="link"] { cursor: pointer; }
body#coop-modern { height: auto !important; min-height: 100dvh; }
html { scroll-padding-top: 80px; }
@media (max-width: 900px) { body#coop-modern .scrollable { scroll-padding-bottom: 80px; } }
body#coop-modern #pickup-hint { display: none !important; }
body#coop-modern .header-row-main { display: flex; flex-wrap: wrap; align-items: flex-start; min-height: 0; }
body#coop-modern .header-title-block { flex: 1; min-width: 0; }
body#coop-modern #main-screen .top-tabs { flex-wrap: nowrap !important; max-width: 100%; overflow-x: auto !important; }
@media (max-width: 600px) { .modern-point-trigger strong { max-width: none; white-space: normal; overflow: visible; } }
.modern-point-trigger > .modern-change { flex: none; }
body#coop-modern .qty-btn, body#coop-modern .pd-heart { min-width: 40px; min-height: 40px; }
@media (max-width: 360px) {
  body#coop-modern .modern-product-card > .product-overlay { padding-left: 8px; padding-right: 8px; }
  body#coop-modern .modern-product-card .quantity-controls { gap: 3px; }
}
.modern-map-tools label { min-width: 0; }
.modern-map-tools select { width: 100%; min-width: 0; }

/* 1.2.2: legible delivery dates, inline pickup selection and a balanced profile. */
body#coop-modern { --order-green: #218653; --order-green-dark: #196a41; }
body#coop-modern .add-to-cart-btn,
body#coop-modern .checkout-btn {
  background: var(--order-green) !important; border-color: var(--order-green) !important;
  color: #fff !important;
}
body#coop-modern .add-to-cart-btn:hover,
body#coop-modern .checkout-btn:hover {
  background: var(--order-green-dark) !important; border-color: var(--order-green-dark) !important;
}
body#coop-modern .products-container .product-card .product-overlay .product-delivery-compact {
  color: var(--muted) !important; font-size: 13px !important; line-height: 1.5 !important;
}
body#coop-modern .product-delivery-card-week { justify-content: flex-start !important; }
body#coop-modern .delivery-week-trigger {
  width: 100%; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px;
  padding: 10px; min-height: 44px; color: var(--ink); background: var(--canvas);
  border: 1px solid var(--line); border-radius: 6px; box-shadow: none;
}
body#coop-modern .delivery-week-trigger:hover { background: #eef4f0; border-color: #b8cec0; }
body#coop-modern .delivery-week-label { display: none; }
.modern-delivery-current { display: block; flex: 1; min-width: 0; color: var(--ink); font-size: 12px; line-height: 1.4; text-align: left; }
body#coop-modern .delivery-week-days { width: 100%; justify-content: space-between; gap: 3px; }
body#coop-modern .delivery-week-dot {
  width: 28px; height: 28px; border-radius: 5px; font-size: 12px; line-height: 1;
  font-weight: 500; background: #e9ecef; color: #69717b; border: 1px solid #dee2e6;
}
body#coop-modern .delivery-week-dot.available { background: #e8f3ed; color: #236c46; border-color: #c4ddce; }
body#coop-modern .delivery-week-dot.selected { background: var(--order-green); color: #fff; border-color: var(--order-green); outline: none; }
body#coop-modern .delivery-dropdown { background: #fff; color: var(--ink); border: 1px solid var(--line); box-shadow: 0 8px 26px #23252820; }
body#coop-modern .delivery-calendar-dropdown { z-index: 80 !important; }
body#coop-modern .delivery-calendar-date.available { color: #236c46; }
body#coop-modern .delivery-calendar-date.available.active { background: var(--order-green); color: #fff; border-color: var(--order-green); }
body#coop-modern .delivery-calendar-date.unavailable { background: #f2f3f5; color: #a0a5ad; }
body#coop-modern .delivery-calendar-weekdays span { color: var(--muted); font-size: 11px; }
body#coop-modern .app-header:not(#main-screen .app-header) .header-row { justify-content: flex-start; }
body#coop-modern .app-header .header-title { text-align: left; }
body#coop-modern #profile-screen .app-header .top-tabs { display: none; }
body#coop-modern #profile-screen .profile-container {
  flex: none; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr);
  gap: 24px; align-items: start; width: 100%; padding: 24px;
}
body#coop-modern .profile-info {
  width: 100%; max-width: none; min-height: 0; align-self: start; text-align: left;
  padding: 26px; border-radius: 10px; background: #fff; border: 1px solid var(--line);
}
body#coop-modern .profile-info h3 { text-align: left; font-size: 22px; line-height: 1.35; margin-bottom: 20px; }
body#coop-modern .profile-info .user-info { margin: 0 0 20px; font-size: 15px; }
body#coop-modern .profile-info .user-info p {
  margin: 0; padding: 13px 0; border-bottom: 1px solid #eef0f2;
  border-radius: 0; background: transparent; color: var(--ink); line-height: 1.5;
}
body#coop-modern .profile-info .user-info strong { font-weight: 500; color: var(--muted); }
body#coop-modern .profile-info .status-hint { flex: none; width: 24px; height: 24px; line-height: 24px; background: #eef4f0; border-radius: 50%; color: #236c46; text-align: center; }
.modern-profile-side { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.modern-profile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
body#coop-modern .profile-info .primary-btn {
  min-height: 44px; margin: 0; font-size: 14px; font-weight: 500;
  border-radius: 6px; background: var(--canvas); color: var(--ink); box-shadow: none; cursor: pointer;
}
body#coop-modern .modern-profile-actions .primary-btn { width: 100%; text-align: left; }
body#coop-modern #anketa-action-btn { margin-top: 14px; }
body#coop-modern #account-section { background: #f4f8f5; border-color: #dbe8df; }
body#coop-modern #account-balance { font-size: 24px; font-family: 'Manrope',Arial,sans-serif; font-weight: 600; color: #236c46; }
body#coop-modern #topup-btn { width: auto; padding: 10px 20px; background: #fff; border-color: #bcd3c5; color: #236c46; }
body#coop-modern #coop-section > div { flex-wrap: wrap; }
body#coop-modern #coop-section .primary-btn { flex: 1 1 140px !important; text-align: center; }
body#coop-modern .profile-stories-actions { display: flex; gap: 10px; flex-wrap: wrap; padding: 0; }
body#coop-modern .profile-stories-actions .tab-btn { border: 1px solid var(--line); border-radius: 6px !important; padding: 10px 14px; font-size: 13px; min-height: 44px; white-space: normal; }
body#coop-modern .modern-logout { padding: 16px 0 0; font-size: 13px; }
body#coop-modern .store-select-container { width: 100%; max-width: none; padding: 20px 24px 0; }
body#coop-modern .store-select-header { margin: 0 0 20px; text-align: left; padding: 0; }
body#coop-modern .store-select-header h2 { display: none; }
body#coop-modern .store-select-subtitle { max-width: 920px; text-align: left; font-size: 14px; margin: 0; }
.modern-map-workspace { width: 100%; padding: 0 0 20px; }
body#coop-modern:not(.coop-modern-admin) .modern-map-visual { min-width: 0; }
body#coop-modern:not(.coop-modern-admin) .modern-map-source {
  margin: 6px 2px 0; text-align: right; font-size: 11px; line-height: 1.4;
}
body#coop-modern:not(.coop-modern-admin) .modern-map-source a { color: #646861; text-decoration: none; }
body#coop-modern:not(.coop-modern-admin) .modern-map-source a:hover { text-decoration: underline; }
.modern-map-workspace .modern-map-heading { margin-bottom: 14px; }
.modern-map-workspace .modern-map-heading h2 { font-size: 20px; letter-spacing: -.4px; }
.modern-map-workspace .modern-map-tools { max-width: 440px; margin-bottom: 8px; }
.modern-map-workspace .modern-map-content { grid-template-columns: minmax(280px,.85fr) minmax(0,1.4fr); gap: 20px; min-height: 0; align-items: start; }
.modern-map-workspace .modern-map-panel { max-height: none; }
.modern-map-workspace #modern-map-list { max-height: 560px; padding-right: 4px; }
.modern-map-workspace #modern-map-canvas { height: 560px; border-radius: 10px; border: 1px solid var(--line); }
.modern-map-workspace .modern-map-status { margin: 10px 0 14px; }
body#coop-modern #stores-list { max-width: none; width: 100%; gap: 10px; }
body#coop-modern #stores-list .store-card { padding: 16px; margin: 0 0 10px; border-radius: 8px; box-shadow: none; transform: none; }
body#coop-modern #stores-list .store-card[hidden] { display: none !important; }
body#coop-modern #stores-list .store-card.selected { background: #f0f7f3; border-color: var(--order-green); }
body#coop-modern #stores-list .store-card-header { margin: 0; }
body#coop-modern #stores-list .store-name { font-size: 15px; line-height: 1.45; margin-bottom: 0; padding-right: 28px; }
body#coop-modern #stores-list .store-card-footer { padding-top: 8px; margin-top: 4px; border: 0; }
body#coop-modern #stores-list .store-info-hint {
  padding: 0; border-radius: 0; background: transparent; box-shadow: none; pointer-events: auto;
}
body#coop-modern #stores-list .store-info-hint button {
  min-height: 44px; padding: 6px 10px; border-radius: 5px; background: var(--canvas); color: var(--muted);
  border: 1px solid var(--line); box-shadow: none; font-size: 12px;
}
body#coop-modern #stores-list .store-selector-dot { width: 22px; height: 22px; border-width: 2px; animation: none; box-shadow: none; }
body#coop-modern .store-actions-panel {
  flex-direction: row; align-items: center; width: 100%; gap: 12px; padding: 16px 24px;
  box-shadow: 0 -4px 16px #23252808; backdrop-filter: none; z-index: 90;
}
.modern-selected-point { flex: 1; min-width: 0; text-align: left; }
.modern-selected-point small { display: block; font-size: 12px; color: var(--muted); margin-bottom: 3px; }
.modern-selected-point strong { display: block; font-size: 14px; font-weight: 500; line-height: 1.4; }
body#coop-modern .store-actions-panel button { width: auto !important; flex: none; min-height: 44px; margin: 0; padding: 10px 20px; font-size: 14px; border-radius: 6px !important; }
body#coop-modern #skip-btn { background: #fff; color: var(--muted); border: 1px solid var(--line); box-shadow: none; }
body#coop-modern .pvz-map-marker-host { background: transparent !important; border: 0 !important; }
.pvz-map-marker { position: relative; width: 50px; height: 58px; filter: drop-shadow(0 7px 8px #0e2e243d); }
.pvz-map-marker::after { content: ''; position: absolute; left: 19px; bottom: 1px; width: 12px; height: 12px; background: #0d5742; transform: rotate(45deg); border-right: 3px solid #fff; border-bottom: 3px solid #fff; }
.pvz-map-marker > span { position: absolute; left: 3px; top: 2px; z-index: 2; width: 44px; height: 44px; display: grid; place-items: center; border: 3px solid #fff; border-radius: 50%; background: #0d5742; overflow: hidden; }
.pvz-map-marker img { display: block; width: 44px; height: 44px; object-fit: cover; transform: scale(1.08); }
.pvz-map-marker.is-opening > span { border-color: #f0c56c; }
.pvz-map-marker.is-opening::after { border-color: #f0c56c; }
.pvz-map-marker.is-selected > span { box-shadow: 0 0 0 3px #21865380; }
.modern-map-leaflet-popup .leaflet-popup-content-wrapper { border-radius: 8px; box-shadow: 0 12px 28px #23252824; }
.modern-map-leaflet-popup .leaflet-popup-content { margin: 18px; font-family: 'Golos Text',Arial,sans-serif; }
.modern-map-popup { display: grid; gap: 8px; color: #232528; }
.modern-map-popup .modern-map-popup-label { color: #236c46; font-size: 10px; font-weight: 500; letter-spacing: .6px; }
.modern-map-popup strong { font-size: 17px; line-height: 1.35; font-weight: 600; }
.modern-map-popup p { margin: 0; font-size: 13px; line-height: 1.5; color: #6d717a; }
.modern-map-popup small { font-size: 12px; color: #6d717a; }
body#coop-modern .modern-map-choose { width: 100%; min-height: 44px; border: 0; border-radius: 5px; margin-top: 4px; padding: 10px 14px; background: #218653; color: #fff; font-family: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
body#coop-modern .modern-map-choose:disabled { background: #e8f3ed; color: #236c46; cursor: default; opacity: 1; }
@media (max-width: 900px) {
  body#coop-modern #profile-screen .profile-container { grid-template-columns: 1fr; padding: 16px; gap: 16px; }
  body#coop-modern .profile-info { padding: 20px; }
  .modern-profile-side { gap: 16px; }
  body#coop-modern .store-select-container { padding: 16px 16px 0; }
  .modern-map-workspace .modern-map-content { display: block; }
  .modern-map-workspace #modern-map-list { max-height: none; padding: 0; }
  .modern-map-workspace #modern-map-canvas { height: max(350px,48dvh); }
  .modern-map-workspace[data-view="map"] .modern-map-panel,
  .modern-map-workspace[data-view="list"] .modern-map-visual { display: none; }
  .modern-map-workspace .modern-map-tools { max-width: none; }
  body#coop-modern .store-actions-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 12px 16px; gap: 10px; }
  .modern-selected-point { grid-column: 1/-1; }
  body#coop-modern .store-actions-panel button { width: 100% !important; padding: 10px 12px; }
  body#coop-modern .modern-logout { gap: 12px; align-items: flex-start; }
}
@media (max-width: 390px) {
  body#coop-modern .delivery-week-trigger { padding: 7px; gap: 7px; }
  body#coop-modern .delivery-week-dot { width: 20px; height: 22px; font-size: 10px; }
  .modern-delivery-current { font-size: 11px; }
  .modern-profile-actions { grid-template-columns: 1fr; }
}

/* 1.2.3: visible interface switches, consistent video links and weekly notices. */
.modern-main-interface {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
  padding: 10px 12px; margin-top: 24px; font-size: 12px; color: var(--muted);
  background: #fff; flex: none;
}
.modern-main-interface svg {
  width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor;
  stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.modern-more-menu .modern-site-nav a,
body#coop-modern .modern-more-menu .header-tutorial-btn {
  display: flex; align-items: center; gap: 10px; line-height: 1.4; white-space: normal;
}
body#coop-modern .modern-more-menu .modern-menu-button {
  display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; padding: 12px;
  color: var(--ink); background: #fff; border: 0; border-radius: 5px; font-size: 14px;
  font-weight: 400; line-height: 1.4; text-align: left; cursor: pointer;
}
body#coop-modern .modern-more-menu .modern-menu-button:hover { background: var(--canvas); }
body#coop-modern .modern-more-menu .modern-video-icon {
  display: grid; place-items: center; width: 20px; height: 20px; flex: 0 0 20px;
  background: #fff; color: var(--muted); border: 1px solid var(--line); border-radius: 50%;
  font-size: 10px; font-weight: 400; line-height: 1;
}
body#coop-modern .modern-info-tools .coop-info-button { font-weight: 400; }
.modern-delivery-change {
  display: inline-flex; align-items: center; gap: 5px; flex: none;
  font-size: 10px; line-height: 1.4; color: var(--order-green); white-space: nowrap;
}
.modern-delivery-change::after {
  content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: -3px 2px 0;
}
body#coop-modern .delivery-week-trigger { cursor: pointer; }
body#coop-modern #season-products-container .weekpromo-info-button-wrap {
  justify-content: flex-start; max-width: 720px; padding: 0; margin: 0 auto 16px;
}
body#coop-modern .weekpromo-info-button {
  width: auto; max-width: 100%; min-height: 44px; padding: 10px 14px; text-align: left;
  background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: 6px;
  font-size: 13px; font-weight: 400; line-height: 1.4; box-shadow: none; animation: none;
}
body#coop-modern .weekpromo-info-button:hover { background: var(--canvas); }
body#coop-modern .weekpromo-info-icon {
  width: 20px; height: 20px; flex-basis: 20px; color: var(--muted); background: var(--canvas);
  border-color: var(--line); font-size: 12px; font-weight: 500;
}
body#coop-modern #season-products-container .season-countdown-panel,
body#coop-modern #season-products-container .season-empty {
  max-width: 720px; margin: 0 auto 16px; padding: 24px; background: var(--canvas);
  border: 1px solid var(--line); border-radius: 8px; box-shadow: none;
  color: var(--ink); text-align: left; font-size: 16px; font-weight: 400; line-height: 1.5;
}
body#coop-modern #season-products-container .season-countdown-title {
  max-width: 480px; color: var(--muted); font-size: 14px; font-weight: 400; line-height: 1.6;
}
body#coop-modern #season-products-container .season-countdown-time {
  margin-top: 10px; color: var(--ink); font-family: 'Manrope',Arial,sans-serif;
  font-size: 26px; font-weight: 600; line-height: 1.3; font-variant-numeric: tabular-nums;
}
body#coop-modern #season-products-container .season-empty {
  align-items: flex-start; gap: 12px; background: #fff;
}
body#coop-modern #season-products-container .season-empty-title {
  max-width: 540px; font-family: 'Manrope',Arial,sans-serif; color: var(--ink);
  font-size: 20px; font-weight: 600; line-height: 1.5;
}
body#coop-modern #season-products-container .season-empty-note {
  color: var(--muted); font-size: 14px; font-weight: 400; line-height: 1.6;
}
body#coop-modern #season-products-container .season-empty-subscribe-btn {
  min-width: 0; min-height: 44px; margin-top: 6px; padding: 11px 20px;
  border: 1px solid var(--accent); border-radius: 5px; background: var(--accent); color: #fff;
  font-size: 13px; font-weight: 500; line-height: 1.4; box-shadow: none;
}
body#coop-modern #season-products-container .season-empty-subscribe-btn:hover {
  background: var(--accent-dark); border-color: var(--accent-dark); transform: none; box-shadow: none;
}
body#coop-modern .weekpromo-info-card {
  background: #fff; border: 1px solid var(--line); border-radius: 10px;
  padding: 24px; color: var(--ink); box-shadow: var(--shadow-2);
}
body#coop-modern .weekpromo-info-head { background: #fff; border-color: var(--line); padding-right: 38px; }
body#coop-modern .weekpromo-info-head-icon {
  width: 36px; height: 36px; flex-basis: 36px; background: var(--canvas); color: var(--muted);
  border: 1px solid var(--line); font-size: 20px; font-weight: 500; box-shadow: none;
}
body#coop-modern .weekpromo-info-title {
  font-family: 'Manrope',Arial,sans-serif; color: var(--ink); font-size: 22px; font-weight: 600; line-height: 1.4;
}
body#coop-modern .weekpromo-info-subtitle, body#coop-modern .weekpromo-info-point-text { color: var(--muted); line-height: 1.6; }
body#coop-modern .weekpromo-info-point { background: var(--canvas); border-color: #edeef0; border-radius: 6px; }
body#coop-modern .weekpromo-info-point-title { color: var(--ink); font-weight: 500; line-height: 1.5; }
body#coop-modern .weekpromo-info-check { background: #e8f3ed; color: var(--order-green); font-weight: 500; }
body#coop-modern .weekpromo-info-close {
  width: 44px; height: 44px; border-radius: 5px; background: var(--canvas); color: var(--muted); font-weight: 400;
}
body#coop-modern .weekpromo-info-actions { background: #fff; border-color: var(--line); }
body#coop-modern .weekpromo-info-ok { background: var(--accent); border-radius: 5px; font-size: 14px; font-weight: 500; }
@media (max-width: 1000px) { .modern-delivery-change { font-size: 0; gap: 0; } }
@media (max-width: 760px) {
  body#coop-modern .header-row-main .header-title-block { flex-basis: 100%; }
  .modern-main-interface { margin-top: 0; }
}
@media (max-width: 600px) {
  body#coop-modern #season-products-container .season-countdown-panel,
  body#coop-modern #season-products-container .season-empty { padding: 18px; }
  body#coop-modern #season-products-container .season-empty-title { font-size: 18px; }
  body#coop-modern #season-products-container .season-countdown-time { font-size: 24px; }
  body#coop-modern .weekpromo-info-card { padding: 18px; }
  body#coop-modern .weekpromo-info-head { gap: 8px; }
  body#coop-modern .weekpromo-info-title { font-size: 19px; }
}

/* 1.2.4: readable order groups and adjacent actions on large screens. */
body#coop-modern #orders-screen { max-width: 1008px; }
body#coop-modern #orders-screen .store-accordion { box-shadow: none; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
body#coop-modern #orders-screen .store-acc-header { gap: 16px; padding: 16px; background: var(--canvas); }
body#coop-modern #orders-screen .store-acc-title { min-width: 0; font-family: inherit; font-weight: 600; font-size: 14px; line-height: 1.5; }
body#coop-modern #orders-screen .store-acc-toggle { flex: none; min-height: 40px; background: #fff; border: 1px solid var(--line); color: var(--ink); box-shadow: none; border-radius: 6px; font-weight: 500; }
body#coop-modern #orders-screen .store-acc-body { padding: 16px; }
body#coop-modern #orders-screen .order-card { padding: 16px; margin: 0 0 12px; }
body#coop-modern #orders-screen .order-card:last-child { margin-bottom: 0; }
body#coop-modern #orders-screen .order-row { align-items: flex-start; gap: 16px; }
body#coop-modern #orders-screen .order-date { font-weight: 500; line-height: 1.5; }
body#coop-modern #orders-screen .order-amount { color: var(--ink); font-weight: 600; white-space: nowrap; }
body#coop-modern #orders-screen .order-sub { justify-content: flex-start; margin-top: 12px; gap: 8px; }
body#coop-modern #orders-screen .order-sub > span:first-child { margin-right: auto; color: var(--muted); }
body#coop-modern #orders-screen .order-actions { display: flex; flex-wrap: wrap; gap: 8px; }
body#coop-modern #orders-screen .order-open-btn,
body#coop-modern #orders-screen .order-edit-btn,
body#coop-modern #orders-screen .modern-transfer-button { box-shadow: none; min-height: 40px; margin: 0; font-weight: 500; }
@media (max-width: 600px) {
  body#coop-modern #orders-screen .store-acc-header,
  body#coop-modern #orders-screen .store-acc-body,
  body#coop-modern #orders-screen .order-card { padding: 12px; }
  body#coop-modern #orders-screen .order-sub > span:first-child { flex: 1 1 100%; }
  body#coop-modern #orders-screen .order-row { gap: 10px; }
}

body#coop-modern #orders-screen .top-tabs .tab-btn { flex: 0 0 auto; }


/* 1.2.6: equal-height rows and a footer independent of product text length. */
body#coop-modern .products-container > .modern-product-card {
  align-self: stretch; min-width: 0; height: auto;
}
body#coop-modern .modern-product-card > .product-overlay {
  min-width: 0; flex: 1 1 auto;
}
body#coop-modern .modern-product-card .product-overlay-text {
  flex: 1 0 auto; min-width: 0;
}
body#coop-modern .modern-product-card .product-name,
body#coop-modern .modern-product-card .product-farmer-inline {
  overflow-wrap: anywhere;
}
body#coop-modern .modern-product-card > .product-overlay > .product-delivery-slot {
  flex: 0 0 auto; margin-top: 12px; min-height: 0;
}
body#coop-modern .modern-product-card .product-actions {
  flex: 0 0 auto; margin-top: 0 !important; padding-top: 12px !important;
}
body#coop-modern .modern-product-card .product-actions > .quantity-controls {
  min-height: 44px; box-sizing: border-box;
}
body#coop-modern .modern-product-card .product-actions > .add-to-cart-btn {
  min-height: 44px; margin: 0; box-sizing: border-box;
}
/* Days stay together; the control never stretches across a wide card. */
body#coop-modern .delivery-week-trigger {
  width: min(100%, 184px); display: grid;
  grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  gap: 7px 8px; padding: 8px 10px; min-height: 64px;
  border-radius: 10px; background: #f5f8f6; border-color: #dce8e0;
}
body#coop-modern .delivery-week-trigger:focus-visible {
  outline: 2px solid var(--order-green); outline-offset: 3px;
}
body#coop-modern .delivery-week-trigger .modern-delivery-current {
  grid-column: 1; grid-row: 1; font-size: 12px; line-height: 16px;
  font-weight: 500; white-space: nowrap;
}
body#coop-modern .delivery-week-trigger .modern-delivery-change {
  grid-column: 2; grid-row: 1; justify-self: end;
  font-size: 0; gap: 0; padding: 0 2px;
}
body#coop-modern .delivery-week-trigger .delivery-week-days {
  grid-column: 1 / -1; grid-row: 2; width: max-content; max-width: 100%;
  display: flex; justify-content: flex-start; gap: 5px;
}
body#coop-modern .delivery-week-dot {
  flex: 0 0 24px; width: 24px; height: 24px; border-radius: 7px;
  font-size: 11px; font-weight: 500;
  background: transparent; border-color: transparent; color: #747c79;
}
body#coop-modern .delivery-week-dot.available {
  background: #e3eee7; border-color: #d0e2d6; color: #276646;
}
body#coop-modern .delivery-week-dot.selected {
  background: var(--order-green); border-color: var(--order-green); color: #fff;
}
/* Move the actual replay buttons, preserving the native story player. */
body#coop-modern .modern-menu-stories[hidden] { display: none; }
.modern-menu-stories {
  display: flex; flex-direction: column; gap: 4px;
  padding: 4px 0 10px; margin: 0 0 6px; border-bottom: 1px solid var(--line);
}
.modern-menu-section-title {
  padding: 6px 12px 4px; color: var(--muted); font-size: 11px;
  font-weight: 500; letter-spacing: .7px; text-transform: uppercase;
}
body#coop-modern .modern-more-menu .modern-story-button {
  display: grid; grid-template-columns: 34px minmax(0,1fr) 8px;
  align-items: center; gap: 10px; width: 100%; min-width: 0;
  min-height: 62px; margin: 0; padding: 10px; border: 1px solid transparent;
  border-radius: 8px; box-shadow: none; background: #f5f8f6;
  color: var(--ink); font-family: inherit; text-align: left; cursor: pointer;
}
body#coop-modern .modern-more-menu .modern-story-button:hover {
  background: #eaf3ed; border-color: #d0e2d6;
}
body#coop-modern .modern-more-menu .modern-story-button:focus-visible {
  outline: 2px solid var(--order-green); outline-offset: -2px;
}
.modern-story-icon {
  width: 34px; height: 34px; display: grid; place-items: center;
  border-radius: 50%; background: #e0ece4; color: #256b45;
}
.modern-story-icon svg {
  width: 19px; height: 19px; fill: none; stroke: currentColor;
  stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.modern-story-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.modern-story-title { font-size: 13px; font-weight: 500; line-height: 1.35; }
.modern-story-description { font-size: 11px; font-weight: 400; line-height: 1.4; color: var(--muted); }
.modern-story-arrow {
  width: 6px; height: 6px; border-top: 1.5px solid #7a9385;
  border-right: 1.5px solid #7a9385; transform: rotate(45deg);
}
@media (max-width: 390px) {
  body#coop-modern .delivery-week-trigger { padding: 8px 6px; column-gap: 3px; }
  body#coop-modern .delivery-week-trigger .modern-delivery-current { font-size: 11px; }
  body#coop-modern .delivery-week-trigger .delivery-week-days { gap: 3px; }
  body#coop-modern .delivery-week-dot { flex-basis: 20px; width: 20px; height: 24px; font-size: 10px; }
}

/* One action height for order labels and quantity steppers, including narrow cards. */
body#coop-modern .modern-product-card .product-actions > .add-to-cart-btn,
body#coop-modern .modern-product-card .product-actions > .quantity-controls {
  height: 44px !important; min-height: 44px; max-height: none; width: 100%;
  padding: 0 5px !important; margin: 0 !important; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; line-height: 1.2;
}
body#coop-modern .modern-product-card .product-actions > .quantity-controls {
  justify-content: space-between; gap: 2px;
}
body#coop-modern .modern-product-card .quantity-controls .qty-btn {
  min-width: 36px; width: 36px; height: 42px; min-height: 42px;
  flex: 0 0 36px; padding: 0; box-sizing: border-box;
}
body#coop-modern .modern-product-card .quantity-controls .qty-display {
  min-width: 0; flex: 1 1 auto; font-size: 14px; text-align: center;
}

/* === Coop frontend 1.2.9: airy Russian rural backgrounds ==================
   Approved full-page pencil artwork. The background never tiles: each screen
   receives one calm rural composition with a clear centre for interface cards.
   Screen assignment is by interface type, never by product category. */
body#coop-modern:not(.coop-modern-admin) {
  background-color: #f8f6f1;
}
body#coop-modern:not(.coop-modern-admin) .screen {
  background-color: #fbfaf6;
  background-image: url('/coop-next/modern/assets/backgrounds/rural-01.webp');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
}
body#coop-modern:not(.coop-modern-admin) #date-screen,
body#coop-modern:not(.coop-modern-admin) #orders-screen,
body#coop-modern:not(.coop-modern-admin) #profile-screen,
body#coop-modern:not(.coop-modern-admin) #store-select-screen,
body#coop-modern:not(.coop-modern-admin) #cart-screen {
  background-image: url('/coop-next/modern/assets/backgrounds/rural-02.webp');
}
body#coop-modern:not(.coop-modern-admin) #farmer-screen {
  background-image: url('/coop-next/modern/assets/backgrounds/rural-03.webp');
}
body#coop-modern:not(.coop-modern-admin) .modern-header,
body#coop-modern:not(.coop-modern-admin) .modern-header-inner,
body#coop-modern:not(.coop-modern-admin) .modern-service-bar,
body#coop-modern:not(.coop-modern-admin) .modern-map-workspace {
  background-color: rgba(255,255,255,.97);
}
body#coop-modern:not(.coop-modern-admin) .categories-grid,
body#coop-modern:not(.coop-modern-admin) .products-container,
body#coop-modern:not(.coop-modern-admin) .orders-list,
body#coop-modern:not(.coop-modern-admin) .profile-content,
body#coop-modern:not(.coop-modern-admin) .cart-items {
  position: relative;
  z-index: 1;
}
body#coop-modern:not(.coop-modern-admin) .category-card,
body#coop-modern:not(.coop-modern-admin) .product-card,
body#coop-modern:not(.coop-modern-admin) .modern-farmer-card {
  background-color: rgba(255,255,255,.985);
}
@media (max-width: 1100px) {
  body#coop-modern:not(.coop-modern-admin) .screen {
    background-size: 1180px auto;
  }
}
@media (max-width: 768px) {
  body#coop-modern:not(.coop-modern-admin) .screen {
    background-size: 760px auto;
    background-position: center top;
  }
}
@media (max-width: 430px) {
  body#coop-modern:not(.coop-modern-admin) .screen {
    background-size: 680px auto;
  }
}
@media (prefers-reduced-transparency: reduce) {
  body#coop-modern:not(.coop-modern-admin) .screen {
    background-color: #fff;
  }
}

/* === Coop frontend 1.2.10: fixed airy rural canvas =========================
   The approved rural artwork belongs to the viewport, not to the document
   height. It therefore never ends during scrolling and never tiles. */
body#coop-modern:not(.coop-modern-admin) {
  position: relative;
  isolation: isolate;
  background: #f8f6f1;
}
body#coop-modern:not(.coop-modern-admin)::before {
  content: '';
  position: fixed;
  z-index: 0;
  pointer-events: none;
  top: 0;
  bottom: 0;
  left: 50%;
  width: min(100vw, 1200px);
  transform: translateX(-50%);
  background-color: #fbfaf6;
  background-image: url('/coop-next/modern/assets/backgrounds/rural-01.webp');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  opacity: .82;
}
body#coop-modern:not(.coop-modern-admin):has(#date-screen.active)::before,
body#coop-modern:not(.coop-modern-admin):has(#orders-screen.active)::before,
body#coop-modern:not(.coop-modern-admin):has(#profile-screen.active)::before,
body#coop-modern:not(.coop-modern-admin):has(#store-select-screen.active)::before,
body#coop-modern:not(.coop-modern-admin):has(#cart-screen.active)::before {
  background-image: url('/coop-next/modern/assets/backgrounds/rural-02.webp');
}
body#coop-modern:not(.coop-modern-admin):has(#farmer-screen.active)::before {
  background-image: url('/coop-next/modern/assets/backgrounds/rural-03.webp');
}
body#coop-modern:not(.coop-modern-admin) .modern-header,
body#coop-modern:not(.coop-modern-admin) .modern-service-bar,
body#coop-modern:not(.coop-modern-admin) .screen,
body#coop-modern:not(.coop-modern-admin) .modern-mobile-nav {
  position: relative;
  z-index: 1;
}
body#coop-modern:not(.coop-modern-admin) .screen {
  background-color: transparent !important;
  background-image: none !important;
}

/* Working screens share one desktop measure. */
body#coop-modern:not(.coop-modern-admin) #cart-screen,
body#coop-modern:not(.coop-modern-admin) #orders-screen,
body#coop-modern:not(.coop-modern-admin) #profile-screen {
  width: min(100%, 1200px);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Group separators are UI, not decoration: the artwork must not show through. */
body#coop-modern:not(.coop-modern-admin) .subcategory-title,
body#coop-modern:not(.coop-modern-admin) .product-group-title {
  position: relative;
  z-index: 2;
  opacity: 1 !important;
  background: #f1f3ef !important;
  border-color: #d9ddd6 !important;
  backdrop-filter: none !important;
}

/* Keep all functional surfaces opaque above the decorative canvas. */
body#coop-modern:not(.coop-modern-admin) .app-header,
body#coop-modern:not(.coop-modern-admin) .profile-info,
body#coop-modern:not(.coop-modern-admin) .order-card,
body#coop-modern:not(.coop-modern-admin) .order-item-card,
body#coop-modern:not(.coop-modern-admin) .store-accordion,
body#coop-modern:not(.coop-modern-admin) .cart-item,
body#coop-modern:not(.coop-modern-admin) .cart-summary {
  background-color: #fff;
}

@media (max-width: 768px) {
  body#coop-modern:not(.coop-modern-admin)::before {
    width: 100vw;
    background-size: auto 100%;
    background-position: center bottom;
    opacity: .62;
  }
  body#coop-modern:not(.coop-modern-admin) #cart-screen,
  body#coop-modern:not(.coop-modern-admin) #orders-screen,
  body#coop-modern:not(.coop-modern-admin) #profile-screen {
    width: 100%;
    max-width: none;
  }
}
@media (prefers-reduced-transparency: reduce) {
  body#coop-modern:not(.coop-modern-admin)::before { opacity: 1; }
}

/* === Coop frontend 1.2.11: background behind UI + stable desktop chrome ====
   The rural art is now a true fixed BODY background. It cannot overlap text,
   menus or controls because it no longer lives in a foreground pseudo-layer. */
body#coop-modern:not(.coop-modern-admin) {
  background-color: #f8f6f1 !important;
  background-image: url('/coop-next/modern/assets/backgrounds/rural-01.webp') !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: min(1200px, 100vw) auto !important;
  background-attachment: fixed !important;
}
body#coop-modern:not(.coop-modern-admin):has(#date-screen.active),
body#coop-modern:not(.coop-modern-admin):has(#orders-screen.active),
body#coop-modern:not(.coop-modern-admin):has(#profile-screen.active),
body#coop-modern:not(.coop-modern-admin):has(#store-select-screen.active),
body#coop-modern:not(.coop-modern-admin):has(#cart-screen.active) {
  background-image: url('/coop-next/modern/assets/backgrounds/rural-02.webp') !important;
}
body#coop-modern:not(.coop-modern-admin):has(#farmer-screen.active) {
  background-image: url('/coop-next/modern/assets/backgrounds/rural-03.webp') !important;
}
/* Disable the 1.2.10 foreground canvas entirely. */
body#coop-modern:not(.coop-modern-admin)::before {
  content: none !important;
  display: none !important;
}

/* All readable interface layers stay above the decorative page background. */
body#coop-modern:not(.coop-modern-admin) .modern-header,
body#coop-modern:not(.coop-modern-admin) .modern-service-bar,
body#coop-modern:not(.coop-modern-admin) .screen,
body#coop-modern:not(.coop-modern-admin) .app-header,
body#coop-modern:not(.coop-modern-admin) .modern-mobile-nav,
body#coop-modern:not(.coop-modern-admin) .modern-more-menu,
body#coop-modern:not(.coop-modern-admin) .search-panel,
body#coop-modern:not(.coop-modern-admin) .modal-overlay,
body#coop-modern:not(.coop-modern-admin) dialog {
  isolation: isolate;
}

/* Desktop header is classic sticky chrome: it never scrolls out of sight. */
body#coop-modern:not(.coop-modern-admin) .modern-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
  background: #fff !important;
}
body#coop-modern:not(.coop-modern-admin) .modern-header-inner {
  background: #fff !important;
}
body#coop-modern:not(.coop-modern-admin) .modern-more-menu {
  z-index: 10010 !important;
}
body#coop-modern:not(.coop-modern-admin) .modern-more-menu .modern-site-nav {
  z-index: 10020 !important;
  background: #fff !important;
}
body#coop-modern:not(.coop-modern-admin) .search-panel {
  z-index: 10030 !important;
}

/* Do not manufacture page scroll on short desktop screens. Natural content
   alone decides whether a scrollbar is needed. Mobile keeps its own sizing. */
@media (min-width: 901px) {
  body#coop-modern:not(.coop-modern-admin) .screen {
    min-height: 0 !important;
  }
}

/* Mobile uses the same artwork, still fixed behind the interface, but calmer. */
@media (max-width: 900px) {
  body#coop-modern:not(.coop-modern-admin) {
    background-size: 760px auto !important;
    background-position: center bottom !important;
  }
}
@media (max-width: 430px) {
  body#coop-modern:not(.coop-modern-admin) {
    background-size: 680px auto !important;
  }
}

/* === Coop frontend 1.2.12: feathered artwork + breathing room =============
   The approved rural canvases now contain transparent feathered edges, so the
   illustration dissolves into the page canvas instead of reading as a cropped
   rectangular picture. Pickup selection is a proper inset work surface. */
body#coop-modern:not(.coop-modern-admin) {
  background-color: #f8f6f1 !important;
  background-blend-mode: normal !important;
}

/* Give the fixed artwork a little more room than the content measure. The
   transparent edge of the asset is what performs the blend; no overlays sit
   above text or menus. */
@media (min-width: 901px) {
  body#coop-modern:not(.coop-modern-admin) {
    background-size: min(1280px, 100vw) auto !important;
  }
}

/* Pickup selection: stop pinning list/map to the page edges. */
body#coop-modern:not(.coop-modern-admin) #store-select-screen .store-select-container {
  padding: 22px 24px 32px !important;
}
body#coop-modern:not(.coop-modern-admin) #store-select-screen .modern-map-workspace {
  width: calc(100% - 0px);
  margin: 18px auto 0;
  padding: 24px;
  border: 1px solid #e4e6e2;
  border-radius: 12px;
  background: rgba(255,255,255,.975) !important;
  box-shadow: 0 8px 28px rgba(35,37,40,.035);
}
body#coop-modern:not(.coop-modern-admin) #store-select-screen .modern-map-heading {
  margin-bottom: 18px;
}
body#coop-modern:not(.coop-modern-admin) #store-select-screen .modern-map-tools {
  margin-bottom: 14px;
}
body#coop-modern:not(.coop-modern-admin) #store-select-screen .modern-map-content {
  gap: 24px;
}
body#coop-modern:not(.coop-modern-admin) #store-select-screen .modern-map-panel,
body#coop-modern:not(.coop-modern-admin) #store-select-screen #modern-map-canvas {
  min-width: 0;
}
body#coop-modern:not(.coop-modern-admin) #store-select-screen #modern-map-list {
  padding-right: 8px;
}
body#coop-modern:not(.coop-modern-admin) #store-select-screen .store-actions-panel {
  width: calc(100% - 48px);
  margin: 18px 24px 0;
  border: 1px solid #e4e6e2;
  border-radius: 10px;
  background: rgba(255,255,255,.985) !important;
  box-shadow: 0 8px 24px rgba(35,37,40,.04);
}

@media (max-width: 900px) {
  body#coop-modern:not(.coop-modern-admin) #store-select-screen .store-select-container {
    padding: 16px !important;
  }
  body#coop-modern:not(.coop-modern-admin) #store-select-screen .modern-map-workspace {
    margin-top: 12px;
    padding: 16px;
    border-radius: 10px;
  }
  body#coop-modern:not(.coop-modern-admin) #store-select-screen .modern-map-content {
    gap: 16px;
  }
  body#coop-modern:not(.coop-modern-admin) #store-select-screen .store-actions-panel {
    width: calc(100% - 32px);
    margin: 14px 16px 0;
  }
}

/* === Coop frontend 1.2.13: one desktop work grid ==========================
   Pickup/search and the page surface share the same outer measure.  This
   removes the 24 px visual staircase while preserving intentional inner
   padding inside page headers and content. */
@media (min-width: 901px) {
  body#coop-modern:not(.coop-modern-admin) .modern-service-bar,
  body#coop-modern:not(.coop-modern-admin) .screen {
    width: min(calc(100% - 48px), 1200px) !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Working screens were already 1200 px; keep every desktop surface on the
     same rule instead of maintaining per-screen widths. */
  body#coop-modern:not(.coop-modern-admin) #main-screen,
  body#coop-modern:not(.coop-modern-admin) #cart-screen,
  body#coop-modern:not(.coop-modern-admin) #orders-screen,
  body#coop-modern:not(.coop-modern-admin) #profile-screen,
  body#coop-modern:not(.coop-modern-admin) #store-select-screen,
  body#coop-modern:not(.coop-modern-admin) #date-screen,
  body#coop-modern:not(.coop-modern-admin) #farmer-screen {
    width: min(calc(100% - 48px), 1200px) !important;
    max-width: 1200px !important;
  }
}

/* 1.2.15: align controls inside their surface and finish the modern help UI.
   All refinements are limited to the customer presentation of this frontend. */
body#coop-modern:not(.coop-modern-admin) {
  --font-accent: 'Manrope', Arial, sans-serif;
}
body#coop-modern:not(.coop-modern-admin) .modern-service-bar {
  padding: 12px 24px;
  border-radius: 8px 8px 0 0;
  gap: 20px;
}
body#coop-modern:not(.coop-modern-admin) .modern-point-trigger {
  flex: 1 1 0;
  min-width: 0;
}
body#coop-modern:not(.coop-modern-admin) .modern-point-trigger strong {
  overflow-wrap: anywhere;
}
body#coop-modern:not(.coop-modern-admin) .modern-search-trigger {
  flex: 0 1 330px;
  min-width: 0;
  min-height: 48px;
}
body#coop-modern:not(.coop-modern-admin) .modern-search-trigger > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
body#coop-modern:not(.coop-modern-admin) .modern-breadcrumbs {
  width: min(calc(100% - 48px), 1200px);
  max-width: 1200px;
  padding: 0 24px;
  margin: 8px auto;
  overflow-wrap: anywhere;
}
body#coop-modern:not(.coop-modern-admin) .modern-breadcrumbs button {
  text-align: left;
}
body#coop-modern:not(.coop-modern-admin) .modern-breadcrumbs button:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
body#coop-modern:not(.coop-modern-admin) #account-section .status-row > span:first-child {
  align-items: center;
  row-gap: 4px;
  min-width: 0;
}
body#coop-modern:not(.coop-modern-admin) #account-balance {
  display: inline-block;
  line-height: 1.3;
  white-space: nowrap;
}
body#coop-modern:not(.coop-modern-admin) .status-hint {
  background: var(--soft-accent);
  color: var(--accent);
  cursor: pointer;
}
body#coop-modern:not(.coop-modern-admin) .status-hint:hover {
  background: var(--accent);
  color: #fff;
}

/* Help buttons occupy the full grid row; the button is centered in that row. */
body#coop-modern:not(.coop-modern-admin) :is(#season-products-container, #hits-products-container, #farmers-grid)
  :is(.weekpromo-info-button-wrap, .profitable-info-button-wrap, .farmers-info-button-wrap) {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center !important;
  width: 100%;
  max-width: none;
  margin: 0 0 16px !important;
  padding: 4px 0 0 !important;
}
body#coop-modern:not(.coop-modern-admin) #main-screen :is(.weekpromo-info-button, .profitable-info-button, .farmers-info-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto;
  max-width: 100%;
  min-height: 48px !important;
  padding: 12px 20px !important;
  border: 1px solid var(--accent);
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  box-shadow: none;
  animation: none;
  font: 500 14px/1.4 'Golos Text', Arial, sans-serif;
  text-align: center;
  cursor: pointer;
  transition: background-color .15s, border-color .15s;
}
body#coop-modern:not(.coop-modern-admin) #main-screen :is(.weekpromo-info-button, .profitable-info-button, .farmers-info-button):hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
}
body#coop-modern:not(.coop-modern-admin) :is(.weekpromo-info-icon, .profitable-info-icon, .farmers-info-icon) {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 1px solid #ffffff80;
  background: #ffffff1a;
  color: #fff;
  font: 500 14px/1 'Golos Text', Arial, sans-serif;
}

/* Keep each help window's existing text, handlers, close button and scrolling. */
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-modal, .profitable-info-modal, .weekpromo-info-modal, .farmers-info-modal) {
  z-index: 20050;
  background: #23252866;
  padding: 24px;
  backdrop-filter: blur(3px);
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-card, .profitable-info-card, .weekpromo-info-card, .farmers-info-card) {
  width: min(620px, 100%);
  max-height: calc(100dvh - 48px) !important;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font-family: 'Golos Text', Arial, sans-serif;
  box-shadow: 0 16px 48px #23252826;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-head, .profitable-info-head, .weekpromo-info-head, .farmers-info-head) {
  align-items: center;
  gap: 12px;
  padding: 0 44px 18px 0;
  border-bottom: 1px solid var(--line);
  background: #fff !important;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-head-icon, .profitable-info-head-icon, .weekpromo-info-head-icon, .farmers-info-head-icon) {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 1px solid #f3d4cc;
  background: var(--soft-accent);
  color: var(--accent);
  font-size: 20px;
  font-weight: 500;
  box-shadow: none;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-title, .profitable-info-title, .weekpromo-info-title, .farmers-info-title) {
  color: var(--ink);
  font: 600 22px/1.4 'Manrope', Arial, sans-serif;
  letter-spacing: -.5px;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-subtitle, .profitable-info-subtitle, .weekpromo-info-subtitle, .farmers-info-subtitle) {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-point, .profitable-info-point, .weekpromo-info-point, .farmers-info-point) {
  padding: 14px;
  border: 1px solid #edeef0;
  border-radius: 6px;
  background: var(--canvas);
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-check, .profitable-info-check, .weekpromo-info-check, .farmers-info-check) {
  background: var(--soft-accent);
  color: var(--accent);
  font-weight: 500;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-point-title, .profitable-info-point-title, .weekpromo-info-point-title, .farmers-info-point-title) {
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-point-text, .profitable-info-point-text, .weekpromo-info-point-text, .farmers-info-point-text) {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-close, .profitable-info-close, .weekpromo-info-close, .farmers-info-close) {
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background: var(--canvas);
  color: var(--muted);
  font-weight: 400;
  cursor: pointer;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-close, .profitable-info-close, .weekpromo-info-close, .farmers-info-close):hover {
  background: var(--soft-accent);
  color: var(--accent);
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-actions, .weekpromo-info-actions, .farmers-info-actions) {
  background: #fff !important;
  border-color: var(--line) !important;
}
body#coop-modern:not(.coop-modern-admin) :is(.coop-info-join, .coop-info-ok, .profitable-info-ok, .weekpromo-info-ok, .farmers-info-ok) {
  min-height: 44px;
  border: 1px solid var(--accent);
  border-radius: 5px;
  background: var(--accent);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  box-shadow: none;
}

/* Profile question marks use SweetAlert2; its button colors are set inline. */
body#coop-modern:not(.coop-modern-admin) .swal2-container {
  z-index: 100050 !important;
  font-family: 'Golos Text', Arial, sans-serif;
}
body#coop-modern:not(.coop-modern-admin) .swal2-popup {
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: 26px 0 24px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font-family: 'Golos Text', Arial, sans-serif;
  box-shadow: 0 16px 48px #23252826;
}
body#coop-modern:not(.coop-modern-admin) .swal2-title {
  padding: 0 44px 10px;
  color: var(--ink);
  font: 600 23px/1.4 'Manrope', Arial, sans-serif;
  letter-spacing: -.5px;
}
body#coop-modern:not(.coop-modern-admin) .swal2-html-container {
  margin: 12px 26px 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  text-align: left;
  overflow-wrap: anywhere;
}
body#coop-modern:not(.coop-modern-admin) .swal2-html-container > div[style*="text-align: justify"] {
  text-align: left !important;
  line-height: 1.7 !important;
}
body#coop-modern:not(.coop-modern-admin) .swal2-html-container img {
  max-width: 100% !important;
  height: auto;
}
body#coop-modern:not(.coop-modern-admin) .swal2-html-container strong {
  font-weight: 600;
  color: var(--ink);
}
body#coop-modern:not(.coop-modern-admin) .swal2-actions { gap: 8px; margin-top: 24px; }
body#coop-modern:not(.coop-modern-admin) .swal2-styled {
  min-height: 44px;
  padding: 11px 22px;
  border: 1px solid var(--line);
  border-radius: 5px;
  font: 500 14px/1.4 'Golos Text', Arial, sans-serif;
  box-shadow: none;
  background-image: none !important;
}
body#coop-modern:not(.coop-modern-admin) .swal2-confirm {
  border-color: var(--accent);
  background-color: var(--accent) !important;
  color: #fff;
}
body#coop-modern:not(.coop-modern-admin) .swal2-cancel {
  background-color: var(--canvas) !important;
  color: var(--ink);
}
body#coop-modern:not(.coop-modern-admin) .swal2-confirm:hover { background-color: var(--accent-dark) !important; }
body#coop-modern:not(.coop-modern-admin) .swal2-close {
  margin: 10px;
  width: 36px;
  height: 36px;
  border-radius: 5px;
  background: var(--canvas);
  color: var(--muted);
  font-weight: 400;
}

@media (min-width: 901px) {
  body#coop-modern:not(.coop-modern-admin) .modern-header-inner > .modern-mobile-nav {
    align-self: stretch;
    align-items: center;
    gap: 4px;
  }
  body#coop-modern:not(.coop-modern-admin) .modern-mobile-nav button {
    border-radius: 0;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--muted);
    padding: 10px 12px;
    transition: color .15s, background-color .15s, border-color .15s;
  }
  body#coop-modern:not(.coop-modern-admin) .modern-mobile-nav button.active,
  body#coop-modern:not(.coop-modern-admin) .modern-mobile-nav button[aria-current="page"] {
    color: var(--accent);
    border-bottom-color: var(--accent);
    background: transparent;
  }
  body#coop-modern:not(.coop-modern-admin) .modern-mobile-nav button:hover {
    color: var(--accent);
    border-bottom-color: var(--accent);
    background: #fff5f1;
  }
}
@media (max-width: 900px) {
  body#coop-modern:not(.coop-modern-admin) .modern-service-bar {
    width: 100%;
    padding: 12px 16px;
    gap: 12px;
    border-radius: 0;
  }
  body#coop-modern:not(.coop-modern-admin) .modern-breadcrumbs {
    width: 100%;
    padding: 0 16px;
  }
}
@media (min-width: 901px) and (max-width: 1100px) {
  body#coop-modern:not(.coop-modern-admin) .modern-header-inner { gap: 12px; }
  body#coop-modern:not(.coop-modern-admin) .modern-mobile-nav button { padding: 10px; font-size: 12px; }
}
@media (max-width: 600px) {
  body#coop-modern:not(.coop-modern-admin) .modern-point-trigger { flex-basis: 100%; }
  body#coop-modern:not(.coop-modern-admin) .modern-search-trigger { flex-basis: 100%; }
  body#coop-modern:not(.coop-modern-admin) :is(.coop-info-modal, .profitable-info-modal, .weekpromo-info-modal, .farmers-info-modal) { padding: 12px; }
  body#coop-modern:not(.coop-modern-admin) :is(.coop-info-card, .profitable-info-card, .weekpromo-info-card, .farmers-info-card) {
    padding: 18px;
    max-height: calc(100dvh - 24px) !important;
  }
  body#coop-modern:not(.coop-modern-admin) :is(.coop-info-title, .profitable-info-title, .weekpromo-info-title, .farmers-info-title) { font-size: 19px; }
  body#coop-modern:not(.coop-modern-admin) .swal2-title { font-size: 20px; }
  body#coop-modern:not(.coop-modern-admin) .swal2-html-container { margin-left: 18px; margin-right: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body#coop-modern:not(.coop-modern-admin) :is(.modern-mobile-nav button, .weekpromo-info-button, .profitable-info-button, .farmers-info-button) { transition: none; }
}
/* Transfer progress and administration entry, frontend 1.2.16. */
body#coop-modern:not(.coop-modern-admin) .modern-transfer-waiting {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
body#coop-modern:not(.coop-modern-admin) .modern-transfer-dots {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 0;
}
body#coop-modern:not(.coop-modern-admin) .modern-transfer-dots > span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  opacity: .4;
  animation: coop-transfer-dot 1.2s ease-in-out infinite;
}
body#coop-modern:not(.coop-modern-admin) .modern-transfer-dots > span:nth-child(2) { animation-delay: .16s; }
body#coop-modern:not(.coop-modern-admin) .modern-transfer-dots > span:nth-child(3) { animation-delay: .32s; }
body#coop-modern:not(.coop-modern-admin) .modern-transfer-status-hint {
  display: block;
  flex-basis: 100%;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
body#coop-modern .modern-admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 16px;
  margin-top: 28px;
}
body#coop-modern .modern-admin-grid > a {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 18px;
  text-decoration: none;
}
body#coop-modern .modern-admin-grid > a:hover { border-color: var(--accent); }
body#coop-modern .modern-admin-grid > a > span { color: var(--muted); font-size: 14px; line-height: 1.5; }
body#coop-modern .modern-service-message { max-width: 720px; padding: 40px 24px; margin: 6vw auto; }
body#coop-modern .modern-service-message h1 { margin: 28px 0 16px; }
body#coop-modern .modern-service-message p { margin-bottom: 28px; line-height: 1.6; }
body#coop-modern .modern-service-brand { color: var(--accent); font-size: 22px; font-weight: 700; text-decoration: none; }
body#coop-modern .modern-service-message .modern-primary-button { display: inline-flex; text-decoration: none; }
@keyframes coop-transfer-dot {
  0%, 80%, 100% { opacity: .4; transform: translateY(0); }
  40% { opacity: 1; transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
  body#coop-modern:not(.coop-modern-admin) .modern-transfer-dots > span { animation: none; opacity: .7; }
}
