/* TEKMILA 2026-11 email-only refinement — isolated to Contact and Quote pages. */
/* Contact information: three tidy cards with baseline-aligned action links. */
.contact-page .contact-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contact-page .contact-info-card{min-height:0;padding:16px 19px;gap:14px;border:1px solid #e7edf2;border-radius:14px;box-shadow:0 8px 23px #09263b12,0 1px 3px #09263b0b;align-items:flex-start;transition:box-shadow .2s,transform .2s}
.contact-page .contact-info-card:hover{transform:translateY(-2px);box-shadow:0 13px 28px #09263b1d}
.contact-page .contact-info-card>div{min-height:98px;display:flex;flex-direction:column;align-items:flex-start}
.contact-page .contact-info-icon{width:46px;height:46px;flex:0 0 46px;border-radius:11px;background:#e8f9cd;color:#1c5a29}
.contact-page .contact-info-icon svg{width:26px;height:26px}
.contact-page .contact-info-card h2{margin:2px 0 7px;font-size:18px;letter-spacing:-.35px}
.contact-page .contact-info-card p{font-size:13px;line-height:1.4;margin:0 0 8px}
.contact-page .contact-info-card div>a{margin-top:auto;font-size:13px;gap:9px}
.contact-page .contact-info-card div>a svg{width:16px;height:16px}
/* Contact form & location: shorter, balanced panels. */
.contact-page .contact-workspace{padding:38px 0 42px}
.contact-page .contact-workspace-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr);gap:36px}
.contact-page .contact-eyebrow{margin-bottom:11px}
.contact-page .contact-form-panel h2,.contact-page .contact-location-panel h2{font-size:clamp(31px,2.65vw,42px);margin-bottom:8px}
.contact-page .contact-panel-lead{font-size:14px;margin-bottom:17px;line-height:1.48}
.contact-page .contact-form-panel form{gap:11px}
.contact-page .contact-fields-grid{gap:11px 13px}
.contact-page #contact-enquiry-form label{gap:5px;font-size:13px}
.contact-page #contact-enquiry-form input,.contact-page #contact-enquiry-form select{height:43px;padding:9px 12px}
.contact-page #contact-enquiry-form textarea{height:112px;min-height:100px;padding:10px 12px}
.contact-page .contact-email-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center;margin-top:2px}
.contact-page .contact-form-submit{min-height:46px;min-width:188px;padding:0 19px;font-size:14px;gap:18px;border-radius:9px}
.contact-page .contact-email-app{min-height:46px;padding:0 17px;border:1px solid #a6b9c7;border-radius:9px;background:#fff;color:#092438;font-size:13px;font-weight:750;cursor:pointer}
.contact-page .contact-email-app:hover{background:#f2f7fa}
.contact-page .contact-map{height:245px;margin-top:3px;border-radius:12px}
.contact-page .contact-map img{object-position:center top}
.contact-page .contact-map-caption{left:12px;bottom:12px;padding:9px 12px}
.contact-page .contact-map-caption strong{font-size:13px}
.contact-page .contact-map-caption small{font-size:11px}
.contact-page .contact-hours{gap:11px;margin-top:12px;padding:13px 16px}
.contact-page .contact-hours-icon{width:28px;height:28px}
.contact-page .contact-hours-icon svg{width:26px;height:26px}
.contact-page .contact-hours h3{font-size:15px;margin-bottom:7px}
.contact-page .contact-hours p{margin:5px 0;font-size:12px;line-height:1.3}
.contact-page .contact-hours small{font-size:11px}
/* Quote form: keep the approved imagery & structure; reduce blank space and refine cards. */
.quote-page .quote-master-main{padding:29px 0 37px}
.quote-page .quote-master-grid{gap:31px;grid-template-columns:minmax(268px,.4fr) minmax(0,1fr)}
.quote-page .quote-master-benefits{min-height:480px;padding-top:27px}
.quote-page .quote-benefit{min-height:83px;gap:16px;padding:15px 0}
.quote-page .quote-benefit-icon{height:53px;width:53px;flex-basis:53px;border-radius:12px}
.quote-page .quote-benefit-icon svg{width:28px;height:28px}
.quote-page .quote-benefit h2{font-size:18px;margin-bottom:4px}
.quote-page .quote-benefit p{font-size:14px}
.quote-page .quote-master-form-card{padding:24px 32px 28px;border-radius:20px;box-shadow:0 12px 29px #0b3b6316,0 2px 5px #0b3b6309}
.quote-page .quote-master-accent{height:6px;margin-bottom:12px}
.quote-page .quote-master-form-card h2{font-size:clamp(29px,2.5vw,37px);margin-bottom:18px}
.quote-page .quote-master-fields{gap:14px 18px}
.quote-page .quote-master-field{font-size:13px;gap:5px}
.quote-page #quote-request-form :is(input,select){height:43px;padding:9px 12px;border-radius:9px}
.quote-page #quote-request-form textarea{height:104px;min-height:90px;padding:10px 12px}
.quote-page .quote-email-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:19px}
.quote-page .quote-master-submit{margin:0;height:47px;min-width:204px;padding:0 19px;font-size:15px;gap:21px}
.quote-page .quote-master-submit svg{width:20px;height:20px}
.quote-page .quote-email-app{height:47px;border:1px solid #a6b9c7;background:#fff;color:#092438;padding:0 17px;border-radius:9px;font-size:13px;font-weight:750;cursor:pointer}
.quote-page .quote-email-app:hover{background:#f2f7fa}
:is(.contact-page,.quote-page) .contact-email-app:focus-visible,:is(.contact-page,.quote-page) .quote-email-app:focus-visible{outline:3px solid #397baa;outline-offset:2px}
@media(max-width:1000px){
 .contact-page .contact-info-grid{gap:11px}
 .contact-page .contact-info-card{padding:14px;gap:10px}
 .contact-page .contact-info-card>div{min-height:110px}
 .contact-page .contact-info-card h2{font-size:16px}
 .contact-page .contact-info-card p{font-size:12px}
 .contact-page .contact-workspace-grid{gap:22px}
 .quote-page .quote-master-grid{gap:24px}
 .quote-page .quote-master-form-card{padding:22px 25px 26px}
}
@media(max-width:800px){
 .contact-page .contact-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .contact-page .contact-info-card{flex-direction:column;gap:9px}
 .contact-page .contact-info-card>div{min-height:125px}
 .contact-page .contact-workspace-grid{grid-template-columns:1fr;gap:26px}
 .contact-page .contact-map{height:220px}
 .quote-page .quote-master-grid{grid-template-columns:1fr;gap:16px}
 .quote-page .quote-master-benefits{min-height:0;padding:0}
}
@media(max-width:600px){
 .contact-page .contact-info-grid{grid-template-columns:1fr;gap:10px}
 .contact-page .contact-info-card{flex-direction:row;padding:13px 15px;gap:13px}
 .contact-page .contact-info-card>div{min-height:0}
 .contact-page .contact-info-card div>a{margin-top:5px}
 .contact-page .contact-workspace{padding:28px 0 34px}
 .contact-page .contact-form-panel h2,.contact-page .contact-location-panel h2{font-size:31px}
 .contact-page .contact-fields-grid{grid-template-columns:1fr;gap:11px}
 .contact-page .contact-map{height:193px}
 .contact-page .contact-email-actions{display:grid;grid-template-columns:1fr 1fr}
 .contact-page .contact-form-submit,.contact-page .contact-email-app{width:100%;min-width:0;min-height:46px;padding:0 10px;font-size:13px}
 .quote-page .quote-master-main{padding:22px 0 30px}
 .quote-page .quote-master-form-card{padding:20px 17px 23px}
 .quote-page .quote-master-form-card h2{font-size:28px}
 .quote-page .quote-master-fields{gap:12px}
 .quote-page .quote-email-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:16px}
 .quote-page .quote-master-submit,.quote-page .quote-email-app{width:100%;min-width:0;padding:0 12px;gap:8px;font-size:13px;justify-content:center}
}
@media(max-width:360px){
 .contact-page .contact-email-actions,.quote-page .quote-email-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.contact-page .contact-info-card{transition:none}}
