/* Contact page: real contact actions and Google Maps beside the existing form. */
.contact-connect-page { padding-top:var(--contact-header-height,96px); }
#contact-content { padding-top:32px; padding-bottom:40px; }
#contact-content .contact-connect-shell { padding:38px; border-radius:26px; background:#f0ebe1; box-shadow:0 12px 36px #3e282214; opacity:1; transform:none; }
#contact-content .contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.03fr); gap:38px; align-items:start; }
.contact-message-column { padding:5px 0; }
.contact-message-column h2 { color:#622d2b; margin-bottom:20px; font:400 25px/1.3 'Fredoka One',cursive; }
.contact-message-column .form-row { gap:15px; }
.contact-message-column input,.contact-message-column textarea { border:1px solid #622d2b14; box-shadow:none; background:#fffdfa; border-radius:12px; transition:border-color .18s,box-shadow .18s; }
.contact-message-column input:focus,.contact-message-column textarea:focus { outline:none; border-color:#c91e70; box-shadow:0 0 0 3px #ec268f12; }
.contact-message-column textarea { min-height:180px; }
.contact-message-column .btn { min-height:48px; }
.contact-connect { border-left:1px solid #622d2b1c; padding-left:38px; min-width:0; }
.connect-heading h2 { font:400 32px/1.15 'Fredoka One',cursive; color:#622d2b; margin:0 0 7px; letter-spacing:-.4px; }
.connect-heading p { font:600 14px/1.5 Nunito,sans-serif; color:#765c52; margin:0 0 21px; }
.connect-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.connect-action { display:flex; align-items:center; justify-content:center; gap:9px; min-height:63px; border:1px solid #622d2b17; border-radius:14px; text-decoration:none; background:#fffdfa; color:#622d2b; font:900 15px Nunito,sans-serif; box-shadow:0 3px 8px #622d2b04; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.connect-action svg { width:23px; height:23px; color:#c91e70; flex:none; }
.connect-action:hover { transform:translateY(-3px); border-color:#ec268f70; box-shadow:0 8px 18px #622d2b12; }
.connect-action:active { transform:translateY(0); }
.connect-actions a:focus-visible,.connect-map-actions a:focus-visible,.connect-details a:focus-visible,.connect-details button:focus-visible { outline:3px solid #c91e70; outline-offset:3px; }
.connect-details { margin:16px 0 22px; }
.connect-details>div { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:33px; }
.connect-details a { color:#622d2b; font:800 14px/1.4 Nunito,sans-serif; text-decoration:none; overflow-wrap:anywhere; }
.connect-details a:hover { text-decoration:underline; text-underline-offset:3px; }
.connect-details button { border:0; background:transparent; color:#986b58; padding:7px 9px; border-radius:7px; font:800 11px Nunito,sans-serif; cursor:pointer; }
.connect-details button:hover { background:#ffffffa0; color:#a81557; }
.connect-map-card { border:1px solid #622d2b1a; background:#fffdfa; border-radius:18px; overflow:hidden; box-shadow:0 5px 14px #622d2b06; }
.connect-map-heading { display:flex; justify-content:space-between; gap:12px; align-items:start; padding:19px 19px 16px; }
.connect-map-heading h3 { font:900 17px/1.4 Nunito,sans-serif; color:#622d2b; margin:0 0 4px; }
.connect-map-heading address { font:600 13px/1.55 Nunito,sans-serif; color:#765c52; }
.connect-location-tag { flex:none; background:#fff0ba; color:#6d4820; padding:5px 9px; border-radius:999px; font:800 10px/1.3 Nunito,sans-serif; margin-top:3px; }
.connect-map-card iframe { display:block; width:100%; height:265px; border:0; background:#eeeae1; }
.connect-map-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 16px; }
.connect-directions { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:43px; background:#c91e70; color:white; border-radius:999px; padding:10px 16px; text-decoration:none; font:900 12px/1.3 Nunito,sans-serif; }
.connect-directions:hover { background:#ac185d; }
.connect-directions svg { width:17px; height:17px; }
.connect-open-map { color:#765044; font:800 11px/1.4 Nunito,sans-serif; text-decoration:underline; text-underline-offset:3px; }
.contact-connect .connect-pickup-note { color:#876b60; font:600 11px/1.5 Nunito,sans-serif; margin:12px 3px 0; }
.connect-copy-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:900px) {
 #contact-content .contact-connect-shell { padding:26px; }
 #contact-content .contact-grid { gap:25px; }
 .contact-connect { padding-left:25px; }
 .connect-action { flex-direction:column; gap:5px; min-height:72px; }
 .connect-map-actions { flex-wrap:wrap; }
}
@media(max-width:700px) {
 #contact-content { padding:18px 15px 28px; }
 #contact-content .contact-connect-shell { margin:0; padding:23px 20px; border-radius:20px; }
 #contact-content .contact-grid { grid-template-columns:1fr; gap:27px; }
 .contact-connect { order:-1; padding:0 0 25px; border-left:0; border-bottom:1px solid #622d2b1c; }
 .connect-heading h2 { font-size:30px; }
 .connect-heading p { font-size:13px; }
 .connect-action { flex-direction:row; min-height:58px; font-size:14px; gap:7px; }
 .connect-action svg { width:21px; height:21px; }
 .connect-details a { font-size:13px; }
 .connect-details button { min-height:44px; }
 .connect-map-card iframe { height:270px; }
 .contact-message-column h2 { font-size:23px; }
 .connect-map-actions { flex-wrap:nowrap; gap:9px; padding:13px; }
 .connect-directions { min-height:44px; padding:10px 13px; }
 .connect-open-map { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .connect-action,.contact-message-column input,.contact-message-column textarea { transition:none; } .connect-action:hover { transform:none; } }
