/* V16 — clean registration and delivery forms, no online payment */
.member-request-section{scroll-margin-top:115px}
.member-request-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,520px);gap:clamp(22px,5vw,75px);align-items:start}
.member-request-intro h2{margin:12px 0 18px;font-size:clamp(27px,3.5vw,42px);line-height:1.4}
.member-request-intro p{line-height:1.9;color:var(--muted,#666);max-width:50ch}
.member-request-card{background:#fff;border:1px solid #e0d8c9;border-radius:22px;padding:clamp(18px,3vw,34px);box-shadow:0 12px 32px #2418000e;display:grid;gap:16px;color:#252525}
.member-request-field{display:grid;gap:7px}
.member-request-field label,.store-customer-form>label:not(.member-consent){font-weight:750;font-size:14px;color:#2c302e}
.member-request-field input,.member-request-field select,.store-customer-form input:not([type="checkbox"]),.store-customer-form textarea,.store-customer-form select{width:100%;background:#faf9f5;border:1px solid #d6cfc2;border-radius:11px;padding:12px 14px;font:inherit;color:#24282a;min-height:48px;outline-offset:2px}
.member-request-field :is(input,select):focus,.store-customer-form :is(input,select,textarea):focus{outline:2px solid #c99f53;border-color:transparent}
.member-request-field input[dir=ltr],.store-customer-form input[dir=ltr]{text-align:left}
.member-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.7;font-size:12px;color:#666;cursor:pointer}
.member-consent input{height:18px;width:18px;flex:0 0 18px;margin-top:3px;accent-color:#a67a35}
.member-submit{width:100%;justify-content:center;min-height:52px}
.member-form-status{min-height:1.6em;font-size:13px;line-height:1.6;font-weight:700;margin:0;color:#145b3f}
.member-form-status.is-error{color:#a33d2c}
.member-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}
/* V19.1: one uninterrupted scroll region for cart items, totals and checkout.
   Avoid independent flex / nested scrollbars that caused the product summary to
   overlap delivery form fields on smaller laptop and phone viewports. */
.page-store-v15 .store-cart-drawer {
  height: 100vh;
  height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-columns: minmax(0, 1fr);
}
.page-store-v15 .store-cart-head,
.page-store-v15 .store-cart-foot { position: relative; z-index: 1; min-width: 0; }
.page-store-v15 .store-cart-scroll {
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scroll-padding-block: 16px 24px;
  background: #fff;
}
.page-store-v15 .store-cart-items {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px 20px 8px;
  flex: none;
  max-height: none;
  min-height: 0;
  overflow: visible;
}
.page-store-v15 .store-cart-empty { flex: none; min-height: 145px; }
.page-store-v15 .store-cart-line { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding-bottom: 14px; }
.page-store-v15 .store-cart-thumb { width: 76px; height: 88px; }
.page-store-v15 .store-cart-totals {
  position: static;
  max-height: none;
  padding: 14px 20px;
  flex: none;
}
.page-store-v15 .store-customer-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  min-height: auto;
  max-height: none;
  overflow: visible;
  flex: none;
  padding: 18px 20px 30px;
  border-top: 1px solid #e6e8e5;
  align-content: start;
  background: #fff;
}
.page-store-v15 .store-customer-form > * { min-width: 0; max-width: 100%; }
.page-store-v15 .store-customer-form h3 { font-size: 18px; color: #252b2a; margin: 0 0 4px; }
.page-store-v15 .store-customer-form textarea { resize: vertical; min-height: 86px; }
.page-store-v15 .store-customer-form .member-consent { font-weight: 400; }
.page-store-v15 .store-payment-label { font-size: 12px; line-height: 1.6; background: #f7f3e9; border-radius: 10px; padding: 10px 12px; color: #64563d; }
.page-store-v15 .store-cart-foot {
  display: flex;
  flex-direction: column;
  gap: 7px;
  flex: none;
  max-height: 40dvh;
  overflow-y: auto;
  padding: 10px 18px max(12px, env(safe-area-inset-bottom));
  background: #fff;
  border-top: 1px solid #e6e8e7;
  box-shadow: 0 -6px 24px #0000000b;
}
.page-store-v15 .store-cart-foot .store-cart-confirm { margin: 0; font-size: 11px; }
.page-store-v15 .store-cart-foot .store-cart-submit { min-height: 47px; padding: 10px; }
.page-store-v15 .store-cart-continue { padding: 5px; }
.page-store-v15 .store-customer-form :is(input,textarea,select) { scroll-margin-block: 14px 24px; }
@media (max-width: 500px) {
  .page-store-v15 .store-cart-items { padding: 12px 16px 6px; }
  .page-store-v15 .store-cart-totals { padding: 12px 16px; }
  .page-store-v15 .store-customer-form { padding: 16px 16px 28px; }
  .page-store-v15 .store-cart-head { padding: 12px 16px; }
  .page-store-v15 .store-cart-foot { padding: 9px 16px max(10px, env(safe-area-inset-bottom)); }
}
/* V19: fixed delivery fee and COD total */
.page-store-v15 .store-total-shipping{color:#555;padding-top:7px;border-top:1px dashed #ded7cc}
.page-store-v15 .store-total-grand{margin-top:7px;padding:12px 10px;border-radius:11px;background:#e9f3ed;color:#155439;font-size:16px;font-weight:800}
.page-store-v15 .store-total-grand strong{font-size:20px}
.page-store-v15 .store-delivery-note{display:block;margin-top:7px;line-height:1.6}

/* V20 - delivery ETA and invoice after successful order submission */
.page-store-v15 .store-delivery-eta{margin:0;padding:12px 14px;border-radius:12px;background:#edf4f0;color:#184a39;font-size:13px;line-height:1.75;border:1px solid #cddfd1}
.page-store-v15 .store-download-invoice{display:flex;align-items:center;justify-content:center;width:100%;border:1px solid #a47931;border-radius:12px;background:linear-gradient(110deg,#e5c584,#f2dbaa);color:#2c2113;font-weight:800;min-height:48px;padding:10px 16px;cursor:pointer}
.page-store-v15 .store-download-invoice[hidden],.page-store-v15 .store-invoice-help[hidden]{display:none!important}
.page-store-v15 .store-download-invoice:hover{filter:brightness(.97)}
.page-store-v15 .store-download-invoice:focus-visible{outline:3px solid #3d8059;outline-offset:2px}
.page-store-v15 .store-invoice-help{font-size:11px;line-height:1.5;margin:0;color:#5a6060}
