:root { --green:#76aa46; --ink:#303531; --mist:#f0f3ef }
* { box-sizing:border-box }
html { scroll-behavior:smooth }
body { margin:0; color:var(--ink); font-family:"Google Sans Flex",system-ui,sans-serif; background:#f8faf8 }
h1,h2,h3 { font-weight:350 }
header { height:72px; display:flex; align-items:center; justify-content:space-between; max-width:1180px; margin:auto; padding:0 24px }
a { color:inherit }
.brand { text-decoration:none; font-size:25px; font-weight:550 }
.brand span,.eyebrow { color:var(--green) }
.eyebrow.legal-brand { color:var(--ink); font-weight:550 }
.legal-brand span { color:var(--green) }
.legal-brand { display:inline-block; text-decoration:none }
.return-page { min-height:100vh; background:var(--mist) }
.return-page h1 { margin-top:0 }
main { width:100%; margin:0; padding:0 0 70px }
.tile { background:white; padding:clamp(36px,6vw,72px) max(24px,calc((100vw - 1132px)/2)) }
.return-page .tile { padding-top:clamp(36px,6vw,60px) }
.legal-page { min-height:calc(100vh - 72px); padding-bottom:0; background:#fff }
.legal-document { max-width:none; padding-top:60px }
.legal-document>h1 { margin:0 0 34px; font-size:clamp(42px,6vw,68px); line-height:1 }
.legal-content { max-width:900px; font-size:16px; line-height:1.65 }
.legal-content section+section { margin-top:36px }
.legal-content h2 { margin:0 0 12px; font-size:25px; line-height:1.25 }
.legal-content p { margin:0 0 13px }
.legal-content ul { margin:0 0 15px; padding-left:22px }
.legal-content li+li { margin-top:8px }
.legal-content a { color:#527b31; text-underline-offset:3px }
.legal-updated { margin-bottom:30px; color:#6d746e }
.legal-notice { padding:18px 20px; border-left:3px solid var(--green); background:var(--mist) }
.legal-form-example { padding:22px 24px; background:var(--mist) }
.legal-form-example p:last-child { margin-bottom:0 }
.hero { background:#fff; min-height:510px; display:grid; grid-template-columns:1.4fr .6fr; gap:30px; align-items:center }
.hero h1 { font-size:clamp(48px,7vw,86px); line-height:.98; max-width:760px; margin:18px 0 }
.hero p { font-size:20px; max-width:600px }
.hero-card { background:url("images/hero.png") center / cover no-repeat; filter:saturate(60%); /* background-color:var(--green); */ color:transparent; font-size:90px; font-weight:350; min-height:300px; padding:35px; display:flex; flex-direction:column; justify-content:flex-end }
.hero-card small { font-size:17px }
.button { display:inline-block; background:var(--green); border:0; border-radius:0; color:white; text-decoration:none; padding:14px 22px; font:600 16px inherit; cursor:pointer; transition:background-color 150ms ease, color 150ms ease, border-color 150ms ease }
.button:disabled { opacity:.55 }
.button-outline { background:transparent; border:2px solid var(--green); color:var(--green); padding:12px 20px }
.order-actions { display:flex; flex-wrap:wrap; gap:12px }
.return-page .order-actions { margin-top:30px }
.checkout { background:#f4f9f0; display:grid; grid-template-columns:.75fr 1.25fr; gap:60px }
.checkout input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.checkout select { background:#fff; border:1px solid rgba(118,170,70,.50) }
.checkout h2 { font-size:38px }
.price-details { position:relative }
.price { font-size:34px; font-weight:650; color:var(--green) }
.original-price,.quantity-discount { position:absolute; left:0; color:#596255; font-size:13px; white-space:nowrap }
.original-price { bottom:100%; margin-bottom:4px; font-size:19px }
.original-price::after { position:absolute; top:50%; right:-4px; left:-4px; border-top:2px solid rgba(184,74,69,.7); content:"" }
.quantity-discount { top:100%; margin-top:4px }
.fields { display:grid; grid-template-columns:1fr 1fr; gap:15px }
label { font-size:14px; font-weight:600 }
input,select { display:block; width:100%; margin-top:6px; padding:12px; border:0; border-radius:0; background:var(--mist); font:inherit }
input:focus,select:focus { outline:3px solid rgba(118,170,70,.45) }
.wide { grid-column:1/-1 }
.consent { display:block; margin:22px 0; font-weight:400 }
.consent input { display:inline; width:auto }
.checkout-submit { min-width:213px; text-align:center; font:inherit }
.checkout-spinner { display:inline-block; width:16px; height:16px; margin-right:8px; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; vertical-align:middle; animation:payment-spin .8s linear infinite }
.checkout-spinner[hidden] { display:none }
.fine { font-size:12px; color:#6d746e }
.payment-security { display:flex; align-items:center; gap:4px }
.payment-security svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto }
#message { margin-top:15px; color:#9a331f }
.payment-wait { display:flex; align-items:center; gap:12px; margin:20px 0 }
.payment-spinner { width:20px; height:20px; border:3px solid var(--mist); border-top-color:var(--green); border-radius:50%; animation:payment-spin .8s linear infinite }
@keyframes payment-spin { to { transform:rotate(360deg) } }
.info-band { width:100%; padding:clamp(54px,7vw,94px) max(24px,calc((100vw - 1132px)/2)) }
.collection-info { background:#fff }
.results-info { background:var(--mist) }
.info-inner>h2 { font-size:clamp(34px,5vw,56px); line-height:1.08; max-width:850px; margin:18px 0 24px }
.info-lead { font-size:18px; max-width:820px; margin:0 0 34px }
.info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px }
.info-block { background:#f5f8f3; padding:30px }
.results-info .info-block { background:#fff }
.info-block h3 { font-size:22px; margin:0 0 16px }
.info-block ul { margin:0; padding-left:20px; line-height:1.5 }
.info-block li+li { margin-top:12px }
.site-footer { padding:34px max(24px,calc((100vw - 1132px)/2)); background:#252a26; color:#d8ddd8; font-weight:200 }
.site-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px }
.site-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px }
.site-footer a { color:#d8ddd8; text-decoration:none }
.site-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:3px }
@media(max-width:760px) {
  .hero,.checkout { grid-template-columns:1fr }
  .hero-card { min-height:190px }
  .fields,.info-grid { grid-template-columns:1fr }
  .wide { grid-column:auto }
  .site-footer-inner { align-items:flex-start; flex-direction:column }
  .site-footer nav { justify-content:flex-start }
}
.activate-link { color: var(--ink); font-size: 18px; font-weight: 400; text-decoration: none; transition: color 150ms ease, font-weight 150ms ease; }
.shop-home:lang(ru) { font-family: "Roboto", Arial, sans-serif; }
.shop-header-actions { display: flex; align-items: center; gap: 22px; }
.shop-languages { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.shop-languages a { color: var(--ink); text-decoration: none; opacity: .65; transition: opacity 150ms ease; }
.shop-languages a[aria-current="page"] { color: var(--green); font-weight: 650; opacity: 1; }
.shop-languages a:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.info-block { padding: 40px 34px; }
.info-lead { display: none; }
.purchase-summary { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 24px; margin-top: 28px; }
.quantity-picker { display: flex; gap: 7px; margin: 0 0 0 auto; padding: 0; border: 0; }
.quantity-picker legend { width: 100%; margin-bottom: 7px; color: #596255; font-size: 12px; font-weight: 600; }
.quantity-option { position: relative; display: block; }
.quantity-option input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.quantity-option span { display: grid; width: 38px; height: 38px; place-items: center; background: transparent; border: 1px solid var(--green); color: #182312; cursor: pointer; font-weight: 600; transition: background-color 150ms ease; }
.quantity-option input:checked + span { background: var(--green); color: #fff; }
.quantity-option input:focus-visible + span { outline: 3px solid rgba(118,170,70,.45); outline-offset: 2px; }
.terminal-picker { position: relative; }
.terminal-picker input, .terminal-picker input::placeholder { font-family: inherit; font-size: 14px; font-weight: 400; }
.terminal-picker input::placeholder { color: #6d746e; opacity: 1; }
.terminal-picker.has-selection input[type="search"] { font-family: inherit; font-weight: 600; }
.terminal-options { position: absolute; z-index: 20; top: 100%; right: 0; left: 0; max-height: 300px; overflow-y: auto; background: #fff; border: 1px solid rgba(118,170,70,.55); }
.terminal-option { display: block; width: 100%; padding: 12px; border: 0; background: #fff; color: var(--ink); cursor: pointer; text-align: left; }
.terminal-option:hover, .terminal-option.active { background: #e8f1e1; }
.terminal-empty { padding: 12px; background: #fff; color: #697064; }
@media (max-width: 760px) {
  .shop-header-actions { gap: 12px; }
  .shop-languages { gap: 6px; }
  .purchase-summary { align-items: flex-start; flex-direction: column; }
  .quantity-picker { margin-left: 0; }
}
@media (max-width: 600px) {
  .shop-home header { gap: 12px; padding: 0 15px; }
  .shop-home header .brand { font-size: clamp(18px, 5vw, 25px); }
  .shop-header-actions { gap: 8px; }
  .shop-languages { font-size: 12px; }
}
.phone-field { display: flex; align-items: stretch; margin-top: 6px; font-size: 14px; font-weight: 600; border: 1px solid rgba(118,170,70,.50); background: #fff; }
.phone-field:focus-within { outline: 3px solid rgba(118,170,70,.45); }
.phone-prefix { position: relative; flex: 0 0 auto; }
.phone-prefix:focus-within { background: var(--mist); }
.phone-prefix-display { display: flex; align-items: center; gap: 8px; height: 100%; padding: 0 10px; font-size: 14px; font-weight: 400; }
.phone-flag { flex: 0 0 16px; height: 12px; background: url("images/flags.webp") no-repeat; background-size: 3904px 12px; border-radius: 1px; box-shadow: 0 0 1px #888; }
.phone-chevron { width: 6px; height: 6px; margin: -3px 2px 0; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.checkout .phone-prefix select { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.checkout #phone-number { flex: 1; min-width: 0; width: 0; margin: 0; border: 0; outline: none; }
@media (hover: hover) and (pointer: fine) {
    .button:not(:disabled):hover { background: #65933c; }
    .button-outline:not(:disabled):hover { background: #e8f1e1; border-color: #65933c; color: #65933c; }
    .quantity-option:hover input:not(:checked) + span { background: #e8f1e1; }
    .activate-link:hover { color: var(--green); font-weight: 400; }
    .shop-languages a:not([aria-current="page"]):hover { opacity: 1; }
}
