/* GPF · Artículo del Diario */
.gpf-offer-article__cover { position: relative; display: flex; align-items: flex-end; min-height: 420px; overflow: hidden; }
.gpf-offer-article__cover.is-plain { min-height: 0; }
.gpf-offer-article__img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.gpf-offer-article__shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(12, 10, 8, .94), rgba(12, 10, 8, .15)); }
.gpf-offer-article__heading { position: relative; z-index: 2; width: 100%; padding-top: 120px; padding-bottom: 48px; }
.gpf-offer-article__cover.is-plain .gpf-offer-article__heading { padding-top: 64px; padding-bottom: 16px; }
.gpf-offer-article__title {
  max-width: 820px;
  margin: 0;
  font-family: var(--gpf-offer-heading-font);
  font-size: 48px;
  line-height: 1.06;
  font-weight: 600;
  text-wrap: balance;
  color: #F4EFE6;
}
.gpf-offer-article__cover.is-plain .gpf-offer-article__title { color: var(--gpf-offer-text); }

.gpf-offer-article__layout { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px; padding-top: 56px; }
.gpf-offer-article__body { flex: 999 1 560px; min-width: 0; max-width: 68ch; font-size: 17px; color: var(--gpf-offer-muted); }
.gpf-offer-article__body > p:first-child { font-size: 21px; line-height: 1.55; color: var(--gpf-offer-text); }
.gpf-offer-article__body p { margin: 0 0 20px; }
.gpf-offer-article__body h2 {
  margin: 40px 0 16px;
  font-family: var(--gpf-offer-heading-font);
  font-size: 30px;
  line-height: 1.12;
  font-weight: 600;
  color: var(--gpf-offer-text);
  scroll-margin-top: 110px;
}
.gpf-offer-article__body h3 { margin: 28px 0 12px; font-family: var(--gpf-offer-heading-font); font-size: 22px; color: var(--gpf-offer-text); }
.gpf-offer-article__body blockquote {
  margin: 32px 0;
  padding: 24px 28px;
  border: 0;
  border-left: 2px solid var(--gpf-offer-price);
  background: var(--gpf-offer-surface);
}
.gpf-offer-article__body blockquote p { margin: 0; font-size: 19px; line-height: 1.5; font-style: italic; color: var(--gpf-offer-text); }
.gpf-offer-article__body a { color: var(--gpf-offer-price); }
.gpf-offer-article__body img { height: auto; border-radius: 3px; }
.gpf-offer-article__cta {
  margin: 12px 0 40px;
  padding: 28px 32px;
  border: 1px solid color-mix(in srgb, var(--gpf-offer-price) 35%, var(--gpf-offer-border));
  border-radius: 3px;
  background: color-mix(in srgb, var(--gpf-offer-price) 8%, var(--gpf-offer-bg));
}
.gpf-offer-article__cta p { margin: 0 0 14px; }

.gpf-offer-article__aside { flex: 1 1 280px; display: flex; flex-direction: column; gap: 16px; position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 100px); }
.gpf-offer-article__box { padding: 24px 26px; border: 1px solid var(--gpf-offer-border); border-radius: 3px; background: var(--gpf-offer-surface); }
.gpf-offer-article__box-title { margin: 0 0 12px !important; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--gpf-offer-price); }
.gpf-offer-article__box ul { display: flex; flex-direction: column; gap: 9px; margin: 0; padding: 0; list-style: none; }
.gpf-offer-article__box li { margin: 0; }
.gpf-offer-article__box a { font-size: 14.5px; color: var(--gpf-offer-muted); text-decoration: none; }
.gpf-offer-article__box a:hover { color: var(--gpf-offer-text); text-decoration: underline; }
.gpf-offer-article__more a { font-size: 15px; font-weight: 600; color: var(--gpf-offer-text); }

@media (max-width: 1024px) {
  .gpf-offer-article__aside { position: static; }
}
@media (max-width: 767px) {
  .gpf-offer-article__cover { min-height: 340px; }
  .gpf-offer-article__heading { padding-bottom: 32px; }
  .gpf-offer-article__title { font-size: 32px; }
  .gpf-offer-article__layout { padding-top: 36px; gap: 32px; }
  .gpf-offer-article__body { font-size: 16.5px; }
  .gpf-offer-article__body > p:first-child { font-size: 19px; }
  .gpf-offer-article__body h2 { font-size: 25px; }
  .gpf-offer-article__cta { padding: 22px 18px; }
}
