.gp-contact-icon { display: inline-block; flex-shrink: 0; width: 24px; font-size: 22px; line-height: 1; text-align: center; }
/* Shared child-theme footer; saved WordPress widgets remain the data source. */
.gp-contact-footer { padding: 44px 0; background: #111; color: #fff; }
.gp-contact-footer .gp-contact-heading { margin-bottom: 28px; }
.gp-contact-footer .gp-contact-heading h2 { margin: 0 0 10px; color: #fff; font-size: 30px; line-height: 1.25; }
.gp-contact-footer .gp-contact-heading p { margin: 0; color: #ddd; font-size: 17px; line-height: 1.6; }
.gp-contact-footer .gp-contact-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: start; }
.gp-contact-footer .gp-contact-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; min-width: 0; }
.gp-contact-footer .gp-contact-group > .widget { display: contents; }
.gp-contact-footer .gp-contact-group .custom-html-widget { display: contents; }
.gp-contact-footer .titulo-footer { grid-column: 1/-1; }
.gp-contact-footer .titulo-footer h3 { margin: 0; color: #fff; font-size: 23px; line-height: 1.3; text-align: left; }
.gp-contact-footer .titulo-footer hr { display: none; }
.gp-contact-footer .gp-centre-card { min-width: 0; padding: 20px; border: 1px solid #484848; border-radius: 8px; background: #191919; text-align: left; }
.gp-contact-footer .gp-centre-card h4 { margin: 0 0 12px; color: #fff; font-size: 20px; line-height: 1.4; overflow-wrap: anywhere; }
.gp-contact-footer .gp-centre-card p { margin: 0; color: #eee; font-size: 16px; line-height: 1.6; text-align: left !important; }
.gp-contact-footer .gp-centre-card a { color: #fff; }
.gp-contact-footer .gp-contact-icon { color: #fff; }
.gp-contact-footer .gp-centre-phone { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; max-width: 100%; font-size: 18px; font-weight: 600; line-height: 1.4; text-decoration: none; white-space: nowrap; }
.gp-contact-footer .gp-centre-visit { margin-top: 16px; }
.gp-contact-footer .gp-centre-networks { margin-top: 18px; padding-top: 14px; border-top: 1px solid #484848; }
.gp-contact-footer .gp-centre-card .gp-centre-caption { margin: 0 0 4px; color: #bbb; font-size: 13px; line-height: 1.5; }
.gp-contact-footer .gp-centre-social-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.gp-contact-footer .gp-centre-social { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 22px; line-height: 1; text-decoration: none; }
.gp-contact-footer .gp-centre-map { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; padding: 8px 0; border: 0; border-radius: 0; font-size: 16px; line-height: 1.4; text-decoration: none; }
.gp-contact-footer .gp-centre-card a:hover { color: #fff; text-decoration: underline; }
.gp-contact-footer .gp-centre-social:hover, .gp-contact-footer .gp-centre-social:focus, .gp-contact-footer .gp-centre-social:active { background: transparent; text-decoration: none !important; }
.gp-contact-footer .gp-centre-map:hover, .gp-contact-footer .gp-centre-map:focus, .gp-contact-footer .gp-centre-map:active { text-decoration: none !important; }
.gp-contact-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.gp-contact-footer + #colophon .site-info { font-size: 14px; line-height: 1.6; }

.gp-contact-footer .gp-centre-phone:hover, .gp-contact-footer .gp-centre-phone:focus, .gp-contact-footer .gp-centre-phone:active { text-decoration: none !important; }
.gp-workshop-page .gp-workshop-anchor { scroll-margin-top: 24px; }
.gp-workshop-page .gp-workshop-anchor:focus { outline: none; }
.gp-workshop-page a[href^="tel:"], .gp-workshop-page a[href^="https://wa.me/"] { text-decoration: none !important; }
.gp-workshop-page a[href^="tel:"]:focus-visible, .gp-workshop-page a[href^="https://wa.me/"]:focus-visible { outline: 2px solid #111; outline-offset: 4px; }
@media (max-width: 991.98px) { .gp-contact-footer .gp-contact-groups { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 575.98px) {
    .gp-contact-footer .gp-contact-group { grid-template-columns: minmax(0,1fr); }
    .gp-contact-footer .gp-contact-heading h2 { font-size: 27px; }
    .gp-contact-footer { padding: 32px 0; }
}
