/* Contact panel and direct-call shortcut */
.contact-section { position:relative; isolation:isolate; overflow:hidden; color:#193b2d; background:#dceee2; padding-block:clamp(42px,6vw,84px); }
.contact-scene { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 56%; }
.contact-section::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(104deg,rgb(232 246 236 / .72),rgb(245 251 247 / .92) 63%,rgb(237 248 240 / .97)); pointer-events:none; }
.contact-intro { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,64px); align-items:end; margin-bottom:26px; }
.contact-intro h2 { margin:0; font-size:clamp(30px,3.4vw,48px); line-height:1.4; font-weight:760; }
.contact-intro p { max-width:43ch; font-size:15px; color:#304f40; line-height:1.9; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,3vw,34px); align-items:stretch; }
.contact-location,.contact-form { min-width:0; border:1px solid rgb(255 255 255 / .92); border-radius:22px; padding:clamp(20px,3vw,36px); background:rgb(245 252 247 / .76); box-shadow:inset 0 1px 0 #fff,0 6px 22px rgb(16 57 33 / .06); -webkit-backdrop-filter:blur(15px) saturate(1.2); backdrop-filter:blur(15px) saturate(1.2); }
.contact-grid h3 { font-size:clamp(19px,2vw,24px); line-height:1.6; margin:0 0 16px; }
.contact-address { font-style:normal; }
.contact-line { display:flex; align-items:flex-start; gap:12px; padding-block:11px; }
.contact-line>svg { color:#1b704a; height:20px; width:20px; margin-top:4px; }
.contact-line a { display:inline-flex; align-items:center; min-height:44px; font-size:19px; font-weight:650; line-height:1.5; }
.contact-line:has(a) { align-items:center; padding-block:3px; }
.contact-line small { display:block; font-size:12px; color:#466351; }
.contact-map { position:relative; margin-top:15px; overflow:hidden; border:1px solid #adcbbc; border-radius:14px; background-color:#e4f1e8; }
.contact-map-cover { position:relative; min-height:145px; padding:20px; display:grid; place-content:center; justify-items:center; gap:4px; background-image:linear-gradient(26deg,transparent 43%,#d1e5d6 43% 47%,transparent 47%), repeating-linear-gradient(0deg,transparent 0 21px,#bfd4c44f 21px 22px),repeating-linear-gradient(90deg,transparent 0 21px,#bfd4c44f 21px 22px); }
.contact-map-marker { display:grid; place-items:center; height:42px; width:42px; border-radius:50%; background:#236c48; color:white; box-shadow:0 0 0 8px #4b976528; }
.contact-map-marker svg { width:22px; height:22px; }
.contact-map-open { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:4px 12px; color:#193b2d; font:inherit; font-size:14px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.contact-map-frame { border:none; width:100%; height:190px; display:block; }
.contact-directions { display:inline-flex; align-items:center; gap:9px; min-height:44px; font-size:13px; font-weight:650; color:#175b3b; text-underline-offset:4px; }
.contact-directions svg { width:16px; height:16px; }
.contact-form { display:flex; flex-direction:column; }
.contact-field { display:grid; gap:4px; margin-block:0 13px; }
.contact-field label { font-weight:550; font-size:13px; }
.contact-field select,.contact-field textarea { width:100%; min-width:0; padding:9px 13px; border:1px solid #9db9a8; border-radius:9px; background:rgb(255 255 255 / .79); color:#193b2d; line-height:1.7; font-family:inherit; font-size:16px; }
.contact-field select { min-height:46px; }
.contact-field textarea { resize:vertical; min-height:90px; }
.contact-field textarea::placeholder { color:#5b6f63; }
.contact-form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.contact-submit,.contact-copy { min-height:44px; display:inline-flex; align-items:center; justify-content:center; font:inherit; font-weight:600; font-size:14px; }
.contact-submit { background:#1c6141; color:white; padding:9px 21px; border-radius:9px; text-decoration:none; }
.contact-copy { color:#234a34; padding:5px 9px; text-decoration:underline; text-underline-offset:4px; }
.contact-form-note,.contact-form-status { color:#405c4c; font-size:12px; margin-block:10px 0; }
.contact-form-status:empty { display:none; }
.contact-grid :is(a,button,input,select,textarea):focus-visible,.contact-fab:focus-visible { outline:3px solid #214f37; outline-offset:3px; }
.contact-fab { position:fixed; z-index:65; left:max(18px,env(safe-area-inset-left)); bottom:calc(20px + env(safe-area-inset-bottom)); display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:50px; min-height:50px; padding:8px 17px; border-radius:999px; border:1px solid #ffffffad; background:#194d36ef; color:white; font:600 14px/1.6 Vazir,Tahoma,sans-serif; text-decoration:none; box-shadow:inset 0 1px 1px #ffffff63,0 5px 16px #102c2029; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.contact-fab svg { width:21px; height:21px; stroke:currentColor; fill:none; stroke-width:1.8; }
body.layer-open .contact-fab { visibility:hidden; }
@media (hover:hover) { .contact-fab:hover,.contact-submit:hover { background:#164a32; color:white; } .contact-directions:hover { text-decoration:underline; } }
@media (max-width:900px) { .contact-fab-shop { bottom:calc(94px + env(safe-area-inset-bottom)); } .contact-fab { width:48px; min-width:48px; height:48px; min-height:48px; padding:0; } .contact-fab span { display:none; } }
@media (max-width:700px) { .contact-intro,.contact-grid { grid-template-columns:minmax(0,1fr); } .contact-intro { gap:8px; margin-bottom:18px; } .contact-intro p { font-size:14px; } .contact-form,.contact-location { border-radius:17px; } .contact-grid { gap:16px; } }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .contact-location,.contact-form { background:#f2f9f4; } }
@media(prefers-reduced-transparency:reduce) { .contact-location,.contact-form { background:#f2f9f4; backdrop-filter:none; -webkit-backdrop-filter:none; } .contact-fab { background:#194d36; backdrop-filter:none; -webkit-backdrop-filter:none; } }
@media print { .contact-fab { display:none; } }
