/* Hero cover block - overlay opacity so background image shows through */
.wp-block-cover .wp-block-cover__background {
  opacity: 0.55 !important;
}

/* Hero text in white for contrast against the background image */
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover p,
.wp-block-cover .wp-block-paragraph {
  color: #ffffff !important;
}

/* Topic cards — equal height across both rows, button anchored to bottom */
.cgmps-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 300px !important;
}

.cgmps-card .wp-block-buttons {
  margin-top: auto !important;
  padding-top: 1rem;
}

.wp-block-columns:has(.cgmps-card) .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
}

/* Hero outline button — solid white so it reads clearly over the background image */
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-cover .is-style-outline > .wp-block-button__link {
  background-color: #ffffff !important;
  color: #1a2d4a !important;
  border-color: #ffffff !important;
}
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-cover .is-style-outline > .wp-block-button__link:hover {
  background-color: #f0f4f8 !important;
  color: #1a2d4a !important;
}

/* =============================================
   FOOTER REDESIGN
   ============================================= */

/* Dark background & base text */
.wp-block-template-part footer.wp-block-group {
  background-color: #1a2d4a !important;
  color: #cbd5e1 !important;
  padding-top: 3rem !important;
  padding-bottom: 1.5rem !important;
}

/* Site title */
.wp-block-template-part footer .wp-block-site-title,
.wp-block-template-part footer .wp-block-site-title a {
  color: #ffffff !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Tagline paragraph */
.wp-block-template-part footer p.wp-block-paragraph {
  color: #94a3b8 !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
  max-width: 260px;
}

/* Section headings (SECCIONES, LEGAL) */
.wp-block-template-part footer h5.wp-block-heading {
  color: #4a90d9 !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.75rem !important;
}

/* Nav & legal links */
.wp-block-template-part footer a {
  color: #cbd5e1 !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  transition: color 0.2s !important;
}
.wp-block-template-part footer a:hover {
  color: #ffffff !important;
}

/* Separator */
.wp-block-template-part footer hr.wp-block-separator {
  border-color: rgba(255,255,255,0.1) !important;
  margin-top: 2rem !important;
  margin-bottom: 1rem !important;
}

/* Copyright row */
.wp-block-template-part footer p:last-of-type {
  color: #64748b !important;
  font-size: 0.8rem !important;
}

/* Hide "Diseñado con WordPress" */
.wp-block-template-part footer a[href*="wordpress.org"],
.wp-block-template-part footer a[href*="wordpress.com"] {
  display: none !important;
}

/* Hide "Diseñado con WordPress" paragraph in footer */
/* Hide "Diseñado con WordPress" — direct child only (copyright row) */
.wp-block-template-part footer .is-content-justification-space-between > p:last-child {
  display: none !important;
}

/* =============================================
   BLOG PAGE — CARD REDESIGN
   ============================================= */

/* Grid gap */
.wp-block-post-template.columns-3.is-layout-grid {
  gap: 1.75rem !important;
  padding-bottom: 3rem !important;
}

/* Card base */
.wp-block-post-template .wp-block-post {
  background: #ffffff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(26,45,74,0.07) !important;
  border: 1px solid #e8edf4 !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Card hover — lift */
.wp-block-post-template .wp-block-post:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 40px rgba(26,45,74,0.15) !important;
}

/* First card — blue top accent */
.wp-block-post-template .wp-block-post:first-child {
  border-top: 3px solid #2563eb !important;
}

/* ---- IMAGE ---- */
.wp-block-post-template .wp-block-post-featured-image {
  overflow: hidden !important;
  height: 210px !important;
  flex-shrink: 0 !important;
  background: linear-gradient(135deg, #1a2d4a 0%, #2563eb 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.wp-block-post-template .wp-block-post-featured-image a {
  display: block !important;
  height: 100% !important;
  width: 100% !important;
  overflow: hidden !important;
}

.wp-block-post-template .wp-block-post-featured-image img {
  width: 100% !important;
  height: 210px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.45s ease !important;
}

/* Image zoom on hover */
.wp-block-post-template .wp-block-post:hover .wp-block-post-featured-image img {
  transform: scale(1.07) !important;
}

/* ---- CONTENT AREA ---- */
.wp-block-post-template .wp-block-post > .wp-block-group {
  padding: 1.35rem 1.35rem 1.5rem !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

/* ---- TITLE ---- */
.wp-block-post-template .wp-block-post-title {
  font-size: 1rem !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

.wp-block-post-template .wp-block-post-title a {
  color: #1a2d4a !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  transition: color 0.2s !important;
}

.wp-block-post-template .wp-block-post-title a:hover {
  color: #2563eb !important;
}

/* ---- EXCERPT ---- */
.wp-block-post-template .wp-block-post-excerpt {
  flex: 1 !important;
  margin: 0 !important;
}

.wp-block-post-template .wp-block-post-excerpt p {
  color: #64748b !important;
  font-size: 0.875rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* Read more link */
.wp-block-post-template .wp-block-post-excerpt__more-link {
  color: #2563eb !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-top: 0.75rem !important;
  transition: color 0.2s !important;
}

.wp-block-post-template .wp-block-post-excerpt__more-link:hover {
  color: #1a2d4a !important;
}

/* ---- BLOG PAGE HEADER ---- */
/* Give proper breathing room below the hero */
.blog .wp-block-post-template {
  margin-top: 0 !important;
}
/* === Card images full-bleed === */
.cgmps-card .wp-block-image {
  margin: -1.5rem -1.5rem 1.25rem -1.5rem !important;
  overflow: hidden;
  border-radius: 9px 9px 0 0;
  line-height: 0;
}
.cgmps-card .wp-block-image img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  border-radius: 9px 9px 0 0 !important;
  display: block;
  transition: transform 0.35s ease;
}
.cgmps-card:hover .wp-block-image img {
  transform: scale(1.05);
}
/* =============================================
   CGMPS ANIMATION SYSTEM
   ============================================= */

/* 1. Scroll-reveal base states */
.cgmps-out {
  opacity: 0 !important;
  transform: translateY(22px) !important;
  transition: opacity 0.58s ease, transform 0.58s cubic-bezier(0.22,1,0.36,1) !important;
  will-change: opacity, transform;
}
.cgmps-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* 2. Hero heading / text drop-in on page load */
@keyframes cgmps-drop-in {
  from { opacity: 0; transform: translateY(-16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.wp-block-cover__inner-container > h1,
.wp-block-cover__inner-container > h2,
.wp-block-cover__inner-container > .wp-block-heading {
  animation: cgmps-drop-in 0.7s cubic-bezier(0.22,1,0.36,1) forwards;
}
.wp-block-cover__inner-container > p {
  animation: cgmps-drop-in 0.7s cubic-bezier(0.22,1,0.36,1) 0.14s both;
}
.wp-block-cover__inner-container > .wp-block-buttons {
  animation: cgmps-drop-in 0.7s cubic-bezier(0.22,1,0.36,1) 0.26s both;
}

/* 3. Hero cover background image subtle zoom-out */
@keyframes cgmps-zoom-hero {
  from { transform: scale(1.07); }
  to   { transform: scale(1); }
}
.wp-block-cover .wp-block-cover__image-background {
  animation: cgmps-zoom-hero 1.4s cubic-bezier(0.22,1,0.36,1) forwards;
  transform-origin: center center;
}

/* 4. Button shine sweep on hover */
@keyframes cgmps-shine {
  from { left: -60%; }
  to   { left: 130%; }
}
.wp-block-button__link {
  position: relative !important;
  overflow: hidden !important;
}
.wp-block-button__link::after {
  content: '';
  position: absolute;
  top: 0; left: -60%;
  width: 38%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
  transform: skewX(-18deg);
  pointer-events: none;
}
.wp-block-button__link:hover::after {
  animation: cgmps-shine 0.52s ease forwards;
}

/* 5. Blog card image hover — already exists, keep scale  */

/* 6. Animated gradient rule above footer */
.wp-block-template-part footer.wp-block-group::before {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, #2563eb 0%, #7c3aed 50%, #2563eb 100%);
  background-size: 200% 100%;
  animation: cgmps-stripe 5s linear infinite;
}
@keyframes cgmps-stripe {
  0%   { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}

/* 7. Smooth scroll site-wide */
html { scroll-behavior: smooth !important; }

/* 8. Blog card image already has transition — enhance  */
.wp-block-post-template .wp-block-post {
  transition: transform 0.28s ease, box-shadow 0.28s ease, opacity 0.58s ease !important;
}

/* === Recursos photo cards === */
.cgmps-rec-cols .wp-block-column {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}
.cgmps-rec-cols .wp-block-cover {
  border-radius: 10px !important;
  overflow: hidden !important;
  width: 100% !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.35);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.cgmps-rec-cols .wp-block-cover:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.5);
  transform: translateY(-3px);
}
.cgmps-rec-cols .wp-block-cover__image-background {
  transition: transform 0.4s ease !important;
}
.cgmps-rec-cols .wp-block-cover:hover .wp-block-cover__image-background {
  transform: scale(1.07) !important;
}

/* About page - circular profile photo */
.wp-image-386 {
  border-radius: 50% !important;
  width: 200px !important;
  height: 200px !important;
  object-fit: cover !important;
  float: right !important;
  margin: 0 0 24px 28px !important;
  border: 3px solid rgba(99,179,255,0.55) !important;
  box-shadow:
    0 0 0 6px rgba(99,179,255,0.12),
    0 0 0 10px rgba(99,179,255,0.05),
    0 12px 35px rgba(0,0,0,0.45) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
  shape-outside: circle(50%) !important;
}
.wp-image-386:hover {
  box-shadow:
    0 0 0 6px rgba(99,179,255,0.22),
    0 0 0 10px rgba(99,179,255,0.09),
    0 16px 40px rgba(0,0,0,0.55) !important;
  transform: scale(1.03) !important;
}