/* Source CSS: reusable offline growing-zone finder. No legacy build required. */
.osc-growing-zone-page .cmp-sticky-cart { display: none; }
.osc-zone-page { background: #f7f6f0; color: #233b2c; padding: 64px 24px 88px; }
.osc-zone-container { max-width: 1000px; margin: 0 auto; }
.osc-zone-hero { max-width: 790px; margin: 0 auto 40px; text-align: center; }
.osc-zone-page .osc-zone-kicker, .osc-zone-finder .osc-zone-kicker { color: #006c3b; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin: 0 0 12px; }
.osc-zone-page h1 { font-size: clamp(34px, 4vw, 56px); line-height: 1.1; color: #164f32; margin: 0 0 20px; font-weight: 600; }
.osc-zone-intro { max-width: 620px; margin: 0 auto 20px; font-size: 18px; line-height: 1.65; }
.osc-zone-intro p { font: inherit; margin-bottom: 16px; }
.osc-zone-intro > :last-child { margin-bottom: 0; }
.osc-zone-finder { background: #fff; color: #233b2c; border: 1px solid #dce4d8; padding: 36px; box-shadow: 0 14px 40px rgb(24 56 35 / 5%); position: relative; }
.osc-zone-card-intro h2 { margin: 0 0 10px; color: #164f32; font-size: 26px; line-height: 1.25; font-weight: 600; }
.osc-zone-card-intro > p:last-child { margin: 0 0 24px; color: #536653; line-height: 1.6; }
.osc-zone-controls { display: grid; grid-template-columns: minmax(0, 1fr) 210px auto; gap: 16px; align-items: end; }
.osc-zone-search-wrap { position: relative; min-width: 0; }
.osc-zone-finder label { display: block; color: #233b2c; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.osc-zone-search-box, .osc-zone-province-box { position: relative; }
.osc-zone-province-box > svg { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: #006c3b; pointer-events: none; }
.osc-zone-finder input[type="search"], .osc-zone-finder select { width: 100%; min-width: 0; height: 54px; border: 1px solid #aab9aa; border-radius: 0; color: #233b2c; background: #fff; font: inherit; font-size: 16px; margin: 0; box-sizing: border-box; }
.osc-zone-finder input[type="search"] { padding: 12px 100px 12px 12px; appearance: none; -webkit-appearance: none; }
.osc-zone-search-box:has(.osc-zone-clear[hidden]) input[type="search"] { padding-right: 56px; }
.osc-zone-finder input[type="search"]::-webkit-search-cancel-button, .osc-zone-finder input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
.osc-zone-finder select { padding: 12px 44px 12px 12px; appearance: none; -webkit-appearance: none; background-image: none; }
.osc-zone-finder :is(.osc-zone-clear, .osc-zone-locate) { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #006c3b; }
.osc-zone-finder .osc-zone-clear { right: 48px; }
.osc-zone-finder .osc-zone-locate { right: 4px; background: #eaf3e7; }
.osc-zone-clear > svg { width: 18px; height: 18px; pointer-events: none; }
.osc-zone-finder :is(.osc-zone-clear, .osc-zone-locate):hover { background: #dcebd7; }
.osc-zone-finder input::placeholder { color: #647064; opacity: 1; }
.osc-zone-finder :is(input, select, button, a):focus-visible, .osc-zone-disclosure summary:focus-visible, .osc-zone-data-note summary:focus-visible { outline: 3px solid #008548; outline-offset: 3px; }
.osc-zone-finder [hidden] { display: none !important; }
.osc-zone-options { position: absolute; z-index: 30; list-style: none; padding: 6px; margin: 6px 0 0; background: #fff; border: 1px solid #aab9aa; width: 100%; max-height: 320px; overflow: auto; box-shadow: 0 12px 30px rgb(24 56 35 / 12%); }
.osc-zone-options [role="option"] { display: flex; justify-content: space-between; gap: 14px; padding: 12px; width: 100%; border: 0; background: #fff; color: #233b2c; text-align: left; font-size: 16px; line-height: 1.4; min-height: 48px; letter-spacing: normal; text-transform: none; box-shadow: none; touch-action: manipulation; }
.osc-zone-options [role="option"][aria-selected="true"], .osc-zone-options [role="option"]:hover { background: #eaf3e7; }
.osc-zone-options [role="option"] span:last-child { color: #536653; font-size: 13px; flex: 0 0 auto; padding-top: 2px; }
.osc-zone-options [role="option"] small { display: block; color: #536653; font-size: 11px; margin-top: 4px; line-height: 1.5; }
.osc-zone-finder .osc-zone-status { color: #536653; margin: 10px 0 20px; font-size: 13px; line-height: 1.5; min-height: 20px; }
.osc-zone-finder .osc-zone-status:empty { margin: 0; min-height: 0; }
.osc-zone-finder .osc-zone-status a { color: #006c3b; text-decoration: underline; text-underline-offset: 3px; }
.osc-zone-finder button { font: inherit; cursor: pointer; border-radius: 0; }
.osc-zone-finder .osc-zone-submit { min-height: 54px; padding: 12px 22px; border: 1px solid #008548; background: #008548; color: #fff; font-size: 15px; font-weight: 600; white-space: nowrap; }
.osc-zone-finder .osc-zone-submit:hover, .osc-zone-finder .osc-zone-submit:focus-visible { background: #006c3b; border-color: #006c3b; }
.osc-zone-locate svg { width: 22px; height: 22px; pointer-events: none; }
.osc-zone-finder .osc-zone-locate:disabled { cursor: wait; opacity: .65; }
.osc-zone-locate[aria-busy="true"] svg { visibility: hidden; }
.osc-zone-locate[aria-busy="true"]::after { content: ''; position: absolute; width: 20px; height: 20px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: osc-zone-spin .8s linear infinite; }
@keyframes osc-zone-spin { to { transform: rotate(360deg); } }
.osc-zone-result { --osc-zone-accent: #164f32; background: #f3f5ef; margin-top: 28px; padding: 24px; scroll-margin-block: 100px 24px; }
.osc-zone-result-location { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.osc-zone-result-location h3 { flex: 1 1 110px; min-width: 0; color: #536057; font-size: 17px; line-height: 1.5; margin: 0; font-weight: 500; }
.osc-zone-badge { flex: 0 0 auto; color: var(--osc-zone-accent); }
.osc-zone-badge span { display: block; color: #59665c; font-size: 12px; line-height: 1.4; white-space: nowrap; margin-top: 6px; }
.osc-zone-badge strong { display: block; font-size: 54px; line-height: 1; font-weight: 600; letter-spacing: -1px; }
.osc-zone-badge strong.osc-zone-multiple { font-size: 36px; letter-spacing: -.5px; }
.osc-zone-result-copy { margin-top: 14px; }
.osc-zone-result-copy > p { color: #536057; line-height: 1.6; font-size: 14px; margin: 0 0 6px; }
.osc-zone-finder .osc-zone-change { background: none; border: 0; padding: 10px 0; color: var(--osc-zone-accent); text-decoration: underline; text-underline-offset: 4px; min-height: 44px; font-size: 14px; font-weight: 600; }
.osc-zone-guidance { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 32px; margin-top: 48px; scroll-margin-top: 100px; }
.osc-zone-step { display: block; color: #006c3b; font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.osc-zone-guidance h2 { color: #164f32; font-size: 19px; line-height: 1.35; font-weight: 600; margin-bottom: 12px; }
.osc-zone-guidance p { color: #536653; font-size: 14px; line-height: 1.75; }
.osc-zone-card-copy { color: #536653; font-size: 14px; line-height: 1.75; }
.osc-zone-card-link, .osc-zone-intro a { color: #006c3b; text-decoration: underline; text-underline-offset: 3px; }
.osc-zone-card-link { display: inline-block; padding: 10px 0; min-height: 44px; font-size: 14px; }
.osc-zone-guide-link { display: inline-block; background: #008548; color: white; padding: 14px 24px; font-size: 14px; font-weight: 600; margin: 16px 0 36px; }
.osc-zone-guide-link:hover, .osc-zone-guide-link:focus { background: #006c3b; color: white; }
.osc-zone-data-note { border-top: 1px solid #cdd9c9; padding-top: 20px; color: #536653; font-size: 13px; line-height: 1.7; }
.osc-zone-data-note summary { cursor: pointer; color: #164f32; font-weight: 600; padding: 6px 0; }
.osc-zone-data-note p { margin-top: 16px; }
.osc-zone-data-note a { color: #006c3b; text-decoration: underline; text-underline-offset: 3px; }
.osc-zone-disclosure { margin: 16px 0 0; color: #164f32; background: #f7f6f0; }
.osc-zone-disclosure > summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border: 0; font-weight: 600; }
.osc-zone-summary-title small { display: block; margin-top: 4px; font-size: 13px; line-height: 1.5; color: #536653; font-weight: 500; }
.osc-zone-summary-toggle { flex-shrink: 0; }
.osc-zone-disclosure[open] > summary .osc-zone-summary-toggle { transform: rotate(45deg); }
.osc-zone-product-comparison { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 8px 10px; margin-top: 22px; color: var(--osc-zone-accent); }
.osc-zone-result:has([data-status="colder"]) { --osc-zone-accent: #315064; }
.osc-zone-result:has(.osc-zone-product-comparison:is([data-status="warmer"], [data-status="boundary"])) { --osc-zone-accent: #80501f; }
.osc-zone-result:has(.osc-zone-product-comparison:is([data-status="unconfirmed"], [data-status="unavailable"])) { --osc-zone-accent: #536057; }
.osc-zone-comparison-icon { display: block; flex: 0 0 24px; width: 24px; height: 24px; }
.osc-zone-product-comparison .osc-zone-comparison-title { color: inherit; font-size: 18px; font-weight: 700; line-height: 24px; margin: 0; }
.osc-zone-product-comparison p { grid-column: 1 / -1; color: #536057; font-size: 14px; line-height: 1.5; margin: 0; text-wrap: pretty; }
.osc-zone-disclosure .osc-zone-finder { padding: 0 20px 20px; border: 0; background: transparent; box-shadow: none; margin-top: 0; }
.osc-zone-disclosure .osc-zone-card-intro h2 { font-size: 21px; }
.osc-zone-disclosure .osc-zone-card-intro > p:last-child { font-size: 14px; margin-bottom: 18px; }
.osc-zone-disclosure .osc-zone-controls { grid-template-columns: minmax(0, 1fr) 180px; gap: 12px; align-items: start; }
.osc-zone-disclosure .osc-zone-options { position: static; }
.osc-zone-disclosure .osc-zone-submit { grid-column: 1 / -1; justify-self: start; }
.osc-zone-disclosure .osc-zone-result { padding: 20px; margin-top: 20px; background: #fff; }
.osc-zone-disclosure .osc-zone-badge strong { font-size: 46px; }
.osc-zone-disclosure .osc-zone-badge strong.osc-zone-multiple { font-size: 32px; }
.osc-zone-disclosure .osc-zone-result-location h3 { font-size: 16px; }
.osc-zone-disclosure .osc-zone-result-copy > p { font-size: 13px; line-height: 1.5; }
/* Match the two neighbouring product modules without stacked divider borders. */
body.single-product .summary .osc-zone-disclosure + .product_meta { border: 0; margin: 0; padding: 16px 20px; }
@media (max-width: 767px) {
    .osc-zone-page { padding: 36px 16px 56px; }
    .osc-zone-hero { margin-bottom: 28px; }
    .osc-zone-intro { font-size: 16px; line-height: 1.65; }
    .osc-zone-finder { padding: 24px 18px; }
    .osc-zone-card-intro h2 { font-size: 23px; }
    .osc-zone-card-intro > p:last-child { font-size: 14px; }
    .osc-zone-controls { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .osc-zone-finder .osc-zone-submit { width: 100%; }
    .osc-zone-options { position: static; max-height: 260px; }
    .osc-zone-result, .osc-zone-disclosure .osc-zone-result { padding: 18px; }
    .osc-zone-result-location { gap: 16px; }
    .osc-zone-result-location h3 { font-size: 16px; }
    .osc-zone-badge span { font-size: 11px; }
    .osc-zone-badge strong { font-size: 46px; }
    .osc-zone-guidance { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 32px; }
    .osc-zone-guidance article { border-bottom: 1px solid #dce4d8; padding-bottom: 12px; }
    .osc-zone-disclosure .osc-zone-controls { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .osc-zone-disclosure > summary .osc-zone-summary-toggle { transition: none; } .osc-zone-locate[aria-busy="true"]::after { animation: none; } }
