/*
 * DG Blocks 1.2
 * Usa las mismas clases y medidas que el HTML original de dianaguillapi.com.
 * Los patrones no fuerzan ancho completo: respetan exactamente el contenedor de la página.
 */
:root {
  --dg-teal:#0c4f58;
  --dg-teal-dark:#083a41;
  --dg-cream:#f4f0e8;
  --dg-sand:#ddd2c2;
  --dg-rust:#74452f;
  --dg-ink:#203033;
  --dg-muted:#687476;
  --dg-white:#fff;
}

.dg-page {
  color:var(--dg-ink);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.65;
  overflow:hidden;
}
.dg-page * { box-sizing:border-box; }
.dg-page h1,
.dg-page h2,
.dg-page h3,
.dg-page .dg-display {
  color:var(--dg-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  line-height:1.08;
  margin:0;
}
.dg-page h1 {
  font-size:clamp(3.2rem,6vw,6.3rem);
  letter-spacing:-.04em;
}
.dg-page h2 {
  font-size:clamp(2.35rem,4vw,4.4rem);
  letter-spacing:-.03em;
}
.dg-page h3 { font-size:1.55rem; }
.dg-page p { margin:0 0 1.1rem; }
.dg-kicker {
  color:var(--dg-teal);
  font-size:.76rem !important;
  font-weight:700;
  letter-spacing:.15em;
  margin-bottom:1.2rem !important;
  text-transform:uppercase;
}

/* Hero: misma estructura que el HTML original, sin alignfull ni 100vw. */
.dg-page-hero {
  background:var(--dg-cream);
  padding:clamp(6rem,10vw,10rem) clamp(1.5rem,8vw,8rem);
  text-align:center;
  width:100%;
}
.dg-page-hero h1 {
  font-family:Georgia,"Times New Roman",serif !important;
  font-weight:400 !important;
}
.dg-page-hero > p:not(.dg-kicker) {
  font-size:1.18rem;
  margin:1.8rem auto 0;
  max-width:760px;
}

.dg-btn {
  align-items:center;
  border:1px solid var(--dg-teal);
  display:inline-flex;
  font-family:Georgia,"Times New Roman",serif;
  justify-content:center;
  letter-spacing:.04em;
  min-height:48px;
  padding:.75rem 1.45rem;
  text-decoration:none !important;
  text-transform:uppercase;
  transition:.2s;
}
.dg-btn-primary { background:var(--dg-teal); color:#fff !important; }
.dg-btn-primary:hover { background:var(--dg-teal-dark); }
.dg-btn .wp-block-button__link {
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:inherit !important;
  padding:0 !important;
}

.dg-split {
  display:grid !important;
  grid-template-columns:1fr 1fr;
  min-height:660px;
}
.dg-split-media,
.dg-split-media figure { height:100%; margin:0; }
.dg-split-media img {
  display:block;
  height:100%;
  min-height:660px;
  object-fit:cover;
  width:100%;
}
.dg-split-copy {
  background:var(--dg-cream);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(4rem,8vw,8rem);
}
.dg-split-copy p { font-size:1.08rem; }

.dg-section { padding:clamp(5rem,8vw,8rem) clamp(1.5rem,7vw,7rem); }
.dg-section-head { margin-bottom:3rem; max-width:850px; }
.dg-section-head p:last-child { font-size:1.08rem; margin-top:1.2rem; }
.dg-grid { display:grid !important; gap:22px; }
.dg-grid-3 { grid-template-columns:repeat(3,1fr); }
.dg-card {
  background:#fff;
  border:1px solid rgba(12,79,88,.14);
  min-height:275px;
  padding:2rem;
}
.dg-card .dg-num {
  color:var(--dg-teal);
  display:block;
  font-size:.8rem !important;
  font-weight:700;
  letter-spacing:.14em;
  margin-bottom:2.6rem;
}
.dg-card h3 { margin-bottom:1rem; }
.dg-card p { color:#536064; margin:0; }
.dg-cream { background:var(--dg-cream); }

.dg-contact-grid {
  align-items:start;
  display:grid !important;
  gap:clamp(3rem,8vw,8rem);
  grid-template-columns:.9fr 1.1fr;
}
.dg-list {
  border-top:1px solid #c9d3d3;
  list-style:none;
  margin:0;
  padding:0;
}
.dg-list li {
  border-bottom:1px solid #c9d3d3;
  display:grid;
  gap:2rem;
  grid-template-columns:220px 1fr;
  padding:1.45rem 0;
}
.dg-list strong {
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.2rem;
}

.dg-quote {
  background:var(--dg-teal);
  color:#fff;
  padding:clamp(5rem,9vw,9rem) 1.5rem;
  text-align:center;
}
.dg-quote blockquote {
  border:0;
  margin:0;
  padding:0;
}
.dg-quote blockquote p {
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.4rem,5vw,5rem) !important;
  line-height:1.1;
  margin:0 auto;
  max-width:1050px;
}

@media(max-width:980px) {
  .dg-grid-3 { grid-template-columns:1fr; }
  .dg-split,
  .dg-contact-grid { grid-template-columns:1fr; }
  .dg-split-media img,
  .dg-split-copy { min-height:520px; }
  .dg-list li { grid-template-columns:170px 1fr; }
}
@media(max-width:620px) {
  .dg-section,
  .dg-split-copy,
  .dg-page-hero,
  .dg-quote { padding:4.5rem 1.25rem; }
  .dg-card { min-height:0; }
  .dg-split-media img { min-height:430px; }
  .dg-list li { gap:.35rem; grid-template-columns:1fr; }
}


/* DG Blocks 1.2 — ajuste exacto del Hero respecto a la página publicada.
 * Se usan !important solo donde Astra/Gutenberg aplica reglas más específicas.
 */
.wp-block-group.dg-page.dg-page-hero {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:clamp(6rem,10vw,10rem) clamp(1.5rem,8vw,8rem) !important;
  background:#f4f0e8 !important;
  text-align:center !important;
  font-family:Arial,Helvetica,sans-serif !important;
  color:#203033 !important;
}
.wp-block-group.dg-page.dg-page-hero > .dg-kicker {
  max-width:760px !important;
  margin:0 auto 1.2rem !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:.76rem !important;
  line-height:1.4 !important;
  font-style:normal !important;
  font-weight:700 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  color:#0c4f58 !important;
}
.wp-block-group.dg-page.dg-page-hero > h1.wp-block-heading {
  max-width:1200px !important;
  margin:0 auto !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(3rem,4.6vw,4.65rem) !important;
  font-style:normal !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;
  color:#203033 !important;
}
.wp-block-group.dg-page.dg-page-hero > p:not(.dg-kicker) {
  max-width:760px !important;
  margin:1.8rem auto 0 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(.98rem,1.15vw,1.08rem) !important;
  font-style:normal !important;
  font-weight:400 !important;
  line-height:1.65 !important;
  color:#203033 !important;
}

/* El editor añade a veces un ancho de contenido interno; se neutraliza solo en el Hero DG. */
.editor-styles-wrapper .wp-block-group.dg-page.dg-page-hero,
.editor-styles-wrapper .wp-block-group.dg-page.dg-page-hero > * {
  box-sizing:border-box;
}

@media(max-width:899px) {
  .wp-block-group.dg-page.dg-page-hero > h1.wp-block-heading {
    font-size:clamp(2.45rem,10vw,3.25rem) !important;
  }
}
