/* ESTYLUS V4.0 */

:root {
  --est40-dark: #342923;
  --est40-accent: #956c55;
  --est40-beige: #f5f0eb;
}

/* Navegação: remover azul no hover */
.ct-header .menu-item > a:hover,
.ct-header .menu-item > a:focus-visible,
.ct-header .menu-item.current-menu-item > a,
.ct-header .menu-item.current-menu-ancestor > a,
.ct-header .est34-cart-anchor:hover {
  color: var(--est40-accent) !important;
}

/* Links gerais de conteúdo */
body .entry-content a:not(.button):not(.wp-element-button):hover,
body .woocommerce-breadcrumb a:hover,
body .product_meta a:hover,
body .woocommerce-tabs a:hover {
  color: var(--est40-accent) !important;
}

/* Área de contactos acima do footer original */
.est40-footer-contact {
  background: var(--est40-beige);
  color: var(--est40-dark);
  border-top: 1px solid #e8e0d9;
  padding: 36px 24px;
}

.est40-footer-inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.6fr .7fr 1fr;
  align-items: center;
  gap: 30px;
}

.est40-eyebrow {
  display: block;
  color: var(--est40-accent);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 12px;
}

.est40-footer-contact h2 {
  font-family: Georgia, serif;
  font-size: 23px;
  font-weight: 400;
  color: var(--est40-dark);
  margin: 0 0 9px;
}

.est40-footer-contact p {
  font-size: 13px;
  line-height: 1.7;
  margin: 0;
}

.est40-footer-contact a {
  color: var(--est40-dark) !important;
  text-decoration: none;
  font-size: 13px;
}

.est40-footer-contact a:hover {
  color: var(--est40-accent) !important;
}

.est40-footer-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.est40-footer-actions a {
  padding: 11px 15px;
  border: 1px solid #cbbdb3;
}

.est40-footer-actions a:last-child {
  background: var(--est40-dark);
  border-color: var(--est40-dark);
  color: #fff !important;
}

.est40-footer-actions a:last-child:hover {
  background: var(--est40-accent);
  border-color: var(--est40-accent);
  color: #fff !important;
}

/* Página Contactos */
.est40-contact-page {
  max-width: 1120px;
  margin: 0 auto;
  padding: 55px 20px 90px;
  color: var(--est40-dark);
}

.est40-contact-heading {
  text-align: center;
  margin-bottom: 55px;
}

.est40-contact-heading h1 {
  font-family: Georgia, serif;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 400;
  color: var(--est40-dark);
  margin: 0 0 15px;
}

.est40-contact-heading p {
  color: #776a62;
}

.est40-contact-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  background: var(--est40-beige);
}

.est40-contact-details {
  padding: clamp(28px, 4vw, 65px);
}

.est40-contact-details h2 {
  font-family: Georgia, serif;
  font-size: 36px;
  font-weight: 400;
  margin-bottom: 36px;
}

.est40-contact-details h3 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 25px 0 9px;
}

.est40-contact-details p {
  font-size: 15px;
  line-height: 1.8;
}

.est40-contact-details a {
  color: var(--est40-dark);
}

.est40-directions {
  display: inline-block;
  margin-top: 30px;
  padding: 16px 23px;
  background: var(--est40-dark);
  color: #fff !important;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
}

.est40-directions:hover {
  background: var(--est40-accent);
  color: #fff !important;
}

.est40-map {
  min-height: 460px;
}

.est40-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 460px;
  border: 0;
}

@media (max-width: 767px) {
  .est40-footer-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .est40-footer-actions {
    justify-content: flex-start;
  }

  .est40-contact-grid {
    grid-template-columns: 1fr;
  }

  .est40-contact-page {
    padding: 35px 16px 60px;
  }

  .est40-map,
  .est40-map iframe {
    min-height: 340px;
  }
}
