.store-contact { color:#183f2b; font-family:Poppins,Arial,sans-serif; background:#f8faf6; }
.store-contact .contact-intro { padding:22px 0 38px; background:radial-gradient(ellipse at 90% 20%,#f9edc5 0,transparent 45%),linear-gradient(120deg,#eef6e9,#fafcf7); border-bottom:1px solid #e0e9d9; }
.store-contact .contact-breadcrumb { display:flex; gap:10px; font-size:12px; color:#61715d; margin-bottom:26px; }
.store-contact .contact-breadcrumb a { color:#32692b; }
.store-contact .contact-eyebrow { display:block; font-size:11px; font-weight:700; letter-spacing:.13em; color:#527843; margin-bottom:10px; }
.store-contact h1 { font-size:clamp(30px,3vw,46px); line-height:1.2; letter-spacing:-.025em; margin:0 0 18px; font-weight:700; }
.store-contact h1 span { color:#397d2c; }
.store-contact .contact-intro p { max-width:680px; font-size:15px; line-height:1.8; margin:0; color:#5e705c; }
.store-contact .contact-content { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:clamp(28px,4vw,64px); padding-top:40px; padding-bottom:56px; align-items:start; }
.store-contact h2 { font-size:26px; line-height:1.3; font-weight:600; margin:0 0 10px; }
.store-contact .contact-section-title > p,.store-contact .contact-form-heading > p { color:#63705f; font-size:14px; line-height:1.7; margin:0; }
.store-contact .contact-details { min-width:0; }
.store-contact .contact-section-title { margin-bottom:24px; }
.store-contact .contact-info-card { display:flex; align-items:flex-start; gap:16px; border:1px solid #e2e9dc; border-radius:14px; background:#fff; padding:20px; margin-bottom:14px; }
.store-contact .contact-info-card > div { min-width:0; }
.store-contact .contact-icon { display:grid; place-items:center; width:46px; height:46px; flex:0 0 46px; background:#eff6e8; color:#397b2f; border-radius:12px; }
.store-contact .contact-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.store-contact .contact-info-card h3 { font-size:16px; font-weight:600; margin:0 0 8px; }
.store-contact address,.store-contact .contact-info-card a { font-size:14px; line-height:1.85; font-style:normal; margin:0; color:#53654f; overflow-wrap:anywhere; }
.store-contact .contact-info-card a { display:block; width:fit-content; }
.store-contact a:hover { color:#276c21; text-decoration:underline; }
.store-contact .contact-order-note { background:#fff6de; border-left:3px solid #dbad36; border-radius:0 12px 12px 0; padding:18px 20px; margin-top:22px; }
.store-contact .contact-order-note b { font-size:14px; }
.store-contact .contact-order-note p { font-size:13px; line-height:1.8; color:#74663f; margin:6px 0 0; }
.store-contact .contact-enquiry { min-width:0; padding:clamp(22px,3vw,38px); border:1px solid #dfe8d8; border-radius:20px; background:#fff; box-shadow:0 12px 36px #234d2010; }
.store-contact .contact-form-heading { margin-bottom:26px; }
.store-contact .contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.store-contact .contact-fields label { display:block; min-width:0; font-size:13px; font-weight:500; }
.store-contact .contact-fields label > span { color:#8e6015; }
.store-contact .contact-fields small { font-size:11px; color:#74806e; font-weight:400; }
.store-contact .contact-fields input,.store-contact .contact-fields textarea { display:block; width:100%; min-width:0; box-sizing:border-box; padding:13px 14px; margin-top:8px; border:1px solid #dce4d6; border-radius:9px; background:#fcfdfb; font:400 14px/1.5 Poppins,Arial,sans-serif; color:#203e29; box-shadow:none; }
.store-contact .contact-fields input { min-height:48px; }
.store-contact .contact-fields textarea { resize:vertical; min-height:154px; }
.store-contact .contact-fields input::placeholder,.store-contact .contact-fields textarea::placeholder { color:#7a8474; opacity:1; }
.store-contact .contact-fields input:focus,.store-contact .contact-fields textarea:focus { outline:2px solid #a8c89c; outline-offset:2px; border-color:#39802c; background:#fff; }
.store-contact .contact-message { grid-column:1/-1; }
.store-contact .contact-form-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; }
.store-contact .contact-form-bottom p { font-size:12px; line-height:1.7; color:#74806e; max-width:260px; margin:0; }
.store-contact .contact-form-bottom button { display:flex; align-items:center; justify-content:center; gap:22px; flex-shrink:0; min-height:48px; border:0; border-radius:10px; padding:12px 22px; background:#2e7728; color:#fff; font:600 14px Poppins,Arial,sans-serif; }
.store-contact .contact-form-bottom button:hover { background:#225e1e; }
.store-contact a:focus-visible,.store-contact button:focus-visible { outline:2px solid #bc921c; outline-offset:4px; }
.store-contact .contact-validation.validation-summary-valid { display:none; }
.store-contact .contact-validation.validation-summary-errors { margin-bottom:20px; padding:14px; border:1px solid #e9b9b3; background:#fff4f2; color:#922f26; border-radius:8px; font-size:13px; }
.store-contact .contact-validation ul { margin:0; padding-left:18px; }
@media(max-width:1000px) { .store-contact .contact-content { grid-template-columns:minmax(0,1fr); } .store-contact .contact-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .store-contact .contact-section-title,.store-contact .contact-order-note { grid-column:1/-1; } .store-contact .contact-info-card { margin:0; } .store-contact .contact-order-note { margin-top:0; } }
@media(max-width:600px) { .store-contact .contact-intro { padding:18px 0 28px; } .store-contact .contact-intro p { font-size:14px; } .store-contact .contact-content { padding-top:26px; padding-bottom:32px; gap:26px; } .store-contact .contact-details,.store-contact .contact-fields { grid-template-columns:minmax(0,1fr); } .store-contact .contact-enquiry { padding:20px; border-radius:14px; } .store-contact h2 { font-size:23px; } .store-contact .contact-form-bottom { flex-direction:column; align-items:stretch; } .store-contact .contact-form-bottom p { max-width:none; } .store-contact .contact-fields input,.store-contact .contact-fields textarea { font-size:16px; } }
