/* =========================================================
   GOES — Páginas: promos, noticias, contacto, concesionarios
   ========================================================= */

.goes-promo-hero, .goes-pagehead { padding: clamp(56px, 9vw, 130px) 0 24px; }
.goes-promo-hero { background: var(--goes-orange); color: #fff; }
.goes-promo-hero h1 { color: #fff; }
.goes-promo-hero__lead { color: rgba(255,255,255,.9); max-width: 48ch; }

/* Contacto */
.goes-contacto { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; }
.goes-contacto__info h3 { margin-top: 24px; }
.goes-contacto__info p { color: var(--goes-text-muted); }
.goes-form { background: var(--goes-surface); border: 1px solid var(--goes-border-col); border-radius: var(--goes-radius); padding: 32px; }
.goes-form label { display: block; font-weight: 600; margin: 0 0 6px; font-size: .9rem; }
.goes-form input, .goes-form textarea, .goes-form select {
  width: 100%; padding: 13px 16px; margin-bottom: 18px;
  background: var(--goes-bg); color: var(--goes-text);
  border: 1px solid var(--goes-border-col); border-radius: var(--goes-radius-sm);
  font: inherit;
}
.goes-form textarea { min-height: 130px; resize: vertical; }
.goes-form .goes-consent { display: flex; gap: 10px; align-items: flex-start; font-size: .82rem; color: var(--goes-text-muted); }
.goes-form .goes-consent input { width: auto; margin: 4px 0 0; }

/* Concesionarios — filtro + mapa + listado */
.goes-conc-filter { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.goes-conc-filter label { display: block; font-size: .82rem; font-weight: 600; margin-bottom: 6px; }
.goes-conc-filter select, .goes-conc-filter input { padding: 12px 14px; background: var(--goes-surface); color: var(--goes-text); border: 1px solid var(--goes-border-col); border-radius: var(--goes-radius-sm); font: inherit; min-width: 200px; }
.goes-map { height: 460px; width: 100%; border-radius: var(--goes-radius); overflow: hidden; border: 1px solid var(--goes-border-col); z-index: 0; }
.goes-dealers { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--goes-gap); margin-top: 28px; }
.goes-dealer { background: var(--goes-surface); border: 1px solid var(--goes-border-col); border-radius: var(--goes-radius-sm); padding: 20px; display: flex; flex-direction: column; }
.goes-dealer h4 { margin: 0 0 6px; font-size: 1.05rem; }
.goes-dealer p { color: var(--goes-text-muted); margin: 0 0 4px; font-size: .9rem; }
.goes-dealer__tel { color: var(--goes-orange) !important; font-weight: 600; }
.goes-dealer .goes-btn--sm { margin-top: 14px; align-self: flex-start; }

/* Formulario de contacto: fila provincia/CP, avisos */
.goes-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.goes-form__hint { font-size: .8rem; color: var(--goes-text-muted); margin: -8px 0 14px; }
.goes-alert { padding: 12px 16px; border-radius: var(--goes-radius-sm); margin-bottom: 16px; font-size: .9rem; }
.goes-alert--ok { background: rgba(31,138,76,.15); color: #2fae64; border: 1px solid rgba(31,138,76,.4); }
.goes-alert--err { background: rgba(224,83,59,.12); color: #e0533b; border: 1px solid rgba(224,83,59,.4); }

/* Paginación */
.goes-pagination { margin-top: 40px; display: flex; justify-content: center; }
.goes-pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--goes-border-col); border-radius: var(--goes-radius-sm); margin: 0 4px; }
.goes-pagination .current { background: var(--goes-orange); color: #fff; border-color: var(--goes-orange); }

/* Sobre nosotros */
.goes-about-hero { padding: clamp(64px, 10vw, 150px) 0 24px; }
.goes-about-hero__lead { font-size: clamp(1.1rem, 1.8vw, 1.5rem); color: var(--goes-text-muted); max-width: 60ch; }
.goes-about-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; text-align: center; color: var(--goes-on-orange); }
.goes-about-values__num { display: block; font-family: var(--goes-font-head); font-weight: 900; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1; }
.goes-about-values p { margin: 10px 0 0; font-weight: 600; }

/* Partners (Sobre nosotros) */
.goes-about-partners { text-align: center; }
.goes-about-partners img { max-width: 760px; width: 100%; height: auto; margin-top: 16px; border-radius: var(--goes-radius-sm); }

/* Noticia individual */
.goes-article__hero { position: relative; min-height: 56vh; display: flex; align-items: flex-end; overflow: hidden; }
.goes-article__hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.goes-article__hero::after { content: ""; position: absolute; inset: 0; background: var(--goes-hero-overlay); z-index: 0; }
.goes-article__head { position: relative; z-index: 1; color: #fff; padding-bottom: clamp(28px, 5vw, 64px); }
.goes-article__head h1 { color: #fff; max-width: 24ch; }
.goes-article__body { max-width: 72ch; }
.goes-article__body p { color: var(--goes-text-muted); }
.goes-article__body h2, .goes-article__body h3 { margin-top: 1.4em; }

/* Contact Form 7 — hereda el look de .goes-form */
.goes-cf7 label { display: block; font-weight: 600; margin: 0 0 6px; font-size: .9rem; }
.goes-cf7 p { margin: 0 0 18px; }
.goes-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
  width: 100%; padding: 13px 16px;
  background: var(--goes-bg); color: var(--goes-text);
  border: 1px solid var(--goes-border-col); border-radius: var(--goes-radius-sm); font: inherit;
}
.goes-form textarea.wpcf7-form-control { min-height: 130px; resize: vertical; }
.goes-form .goes-consent { font-size: .82rem; color: var(--goes-text-muted); display: flex; gap: 10px; align-items: flex-start; }
.goes-form .wpcf7-submit { width: 100%; margin-top: 8px; justify-content: center; }
.goes-form .wpcf7-not-valid-tip { color: #e0533b; font-size: .8rem; }
.goes-form .wpcf7-response-output { border-radius: var(--goes-radius-sm); margin: 12px 0 0; }

/* Toolbar de concesionarios */
.goes-conc-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.goes-conc-toolbar label { font-weight: 600; font-size: .9rem; }
.goes-conc-toolbar select {
  padding: 11px 14px; background: var(--goes-surface); color: var(--goes-text);
  border: 1px solid var(--goes-border-col); border-radius: var(--goes-radius-sm); font: inherit; min-width: 220px;
}

@media (max-width: 900px) {
  .goes-contacto { grid-template-columns: 1fr; }
  .goes-about-values { grid-template-columns: 1fr; gap: 20px; }
  .goes-dealers { grid-template-columns: 1fr; }
  .goes-conc-filter select, .goes-conc-filter input { min-width: 0; width: 100%; }
  .goes-conc-filter > div { flex: 1 1 100%; }
  .goes-form__row { grid-template-columns: 1fr; }
}
