/* contact — page-specific styles */

.contact-hero{ padding: 80px 0 60px; background: radial-gradient(circle at 8% 18%,rgba(80,80,80,0.018),transparent 28%), linear-gradient(120deg,#ffffff,#ffffff); border-bottom: 1px solid var(--line); }
html[data-theme="dark"] .contact-hero{ background: radial-gradient(circle at 8% 18%,rgba(80,80,80,0.048),transparent 28%), linear-gradient(120deg,#202020,#202020); }
.contact-grid{ display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 64px; align-items: start; }
.contact-info-header h1{ margin: 0 0 20px; font-size: 48px; color: var(--text-strong); }
.contact-info-header p{ font-size: 18px; line-height: 1.6; color: var(--text); margin-bottom: 32px; }
.contact-details-box{ background: #ffffff; border: 1px solid var(--line); border-radius: 24px; padding: 40px; box-shadow: 0 10px 30px rgba(32,32,32,.05); }
html[data-theme="dark"] .contact-details-box{ background: #202020; border-color: #505050; }
.contact-detail-item{ margin-bottom: 32px; }
.contact-detail-item:last-child{ margin-bottom: 0; }
.contact-detail-item label{ display: block; font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; color: var(--blue); margin-bottom: 12px; }
.contact-detail-item address{ font-style: normal; font-size: 18px; line-height: 1.6; color: var(--text-strong); }
.contact-detail-item .tel{ font-size: 18px; color: var(--text-strong); text-decoration: none; }
.contact-detail-item .email-link{ font-size: 24px; font-weight: 600; color: var(--blue); text-decoration: none; border-bottom: 2px solid transparent; transition: border-color 0.2s; }
.contact-detail-item .email-link:hover{ border-color: var(--blue); }
@media(max-width: 900px){
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* Contact form (js/contact.js, contact-send.php, Cloudflare Turnstile) */
.contact-form{display:grid;gap:18px;max-width:640px}
.contact-field label{display:block;margin-bottom:7px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-strong)}
.contact-field label span{color:#ec0404}
.contact-field input,.contact-field textarea,.contact-field select{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #e0e0e0;border-radius:12px;background:#ffffff;color:#202020;font:inherit;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}
.contact-field textarea{resize:vertical;min-height:140px}
.contact-field select{appearance:none;-webkit-appearance:none;padding-right:42px;cursor:pointer;background:#ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23505050' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center}
.contact-field input:focus,.contact-field textarea:focus,.contact-field select:focus{outline:none;border-color:#505050;box-shadow:0 0 0 3px rgba(80,80,80,.12)}
.contact-email-hint{margin:8px 0 0;font-size:14px;color:#505050}
.contact-email-hint button{padding:0;border:0;background:none;color:#ec0404;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.contact-field .is-invalid,.contact-field .is-invalid:focus{border-color:#ec0404;box-shadow:0 0 0 3px rgba(236,4,4,.12)}
.contact-captcha-label{display:block;margin-bottom:7px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-strong)}
.contact-turnstile{min-height:65px}
.contact-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-submit{justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border:0;border-radius:999px;background:#ec0404;color:#ffffff;font:inherit;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(236,4,4,.22);transition:background .15s ease,transform .15s ease}
.contact-submit:hover{background:#c40303;transform:translateY(-1px)}
.contact-submit:disabled{opacity:.6;cursor:wait;transform:none}
.contact-form-note{margin:0;font-size:13px;color:var(--muted)}
.contact-form-status{padding:13px 16px;border-radius:12px;font-size:15px;font-weight:600;line-height:1.45}
.contact-form-status.is-ok{background:#eef7ee;color:#1f6b2a;border:1px solid #bcdcc0}
.contact-form-status.is-error{background:#fdeeee;color:#b00303;border:1px solid #f3c0c0}
html[data-theme="dark"] .contact-field input,html[data-theme="dark"] .contact-field textarea,html[data-theme="dark"] .contact-field select{background-color:#202020;background:#202020;color:#e0e0e0;border-color:#505050}
html[data-theme="dark"] html[data-theme="dark"] .contact-form-status.is-ok{background:#1d2b1f;color:#9fd6a8;border-color:#2f5a36}
html[data-theme="dark"] .contact-form-status.is-error{background:#2e1b1b;color:#f19a9a;border-color:#6b2a2a}

/* Google Maps block under the address */
.contact-map{margin:-12px 0 32px}
.contact-map iframe{display:block;width:100%;height:260px;border:0;border-radius:16px;box-shadow:0 6px 18px rgba(32,32,32,.08);background:#f4f4f4}
.contact-map-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:14px;font-weight:600;color:var(--text-strong);text-decoration:none}
.contact-map-link:hover{color:#ec0404}
html[data-theme="dark"] .contact-map iframe{filter:grayscale(.2) brightness(.9)}
