/*
Theme Name: Campelia
Theme URI: https://campelia.es
Author: Imagina Ecommerce Digital
Author URI: https://imagina.digital
Description: Tema de bloques para la web pública de Campelia.
Version: 0.3.7
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: campelia
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* V2.1 — ajustes responsive. CSS limitado al tema Campelia. */
.campelia-header-inner { min-height: 68px; }
.campelia-hero { padding-block: clamp(44px, 6vw, 92px) !important; }
.campelia-hero-inner { max-width: 850px; }
.campelia-hero-title { font-size: clamp(2.35rem, 5.2vw, 4.25rem) !important; line-height: 1.09 !important; letter-spacing: -.035em; text-wrap: balance; }
.campelia-hero-lead { font-size: clamp(1.075rem, 2vw, 1.35rem) !important; line-height: 1.5; max-width: 670px; }
.campelia-hero-buttons { gap: 12px; }
.campelia-hero-buttons .wp-block-button__link { padding: 13px 20px; font-size: 1rem; line-height: 1.35; }
.campelia-intro { padding-block: clamp(42px, 6vw, 72px) !important; }
.campelia-intro h2 { font-size: clamp(1.65rem, 3.2vw, 2.5rem); line-height: 1.25; text-wrap: balance; }
.campelia-intro p { font-size: clamp(1rem, 1.6vw, 1.15rem); }
.campelia-header .wp-block-navigation__responsive-container.is-menu-open {
  padding: 80px clamp(24px, 6vw, 56px) 36px !important;
  box-sizing: border-box;
}
.campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  align-items: flex-start !important;
  width: 100%;
}
.campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  width: 100%;
  text-align: left;
}
.campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  display: block;
  padding: 8px 0;
}
@media (max-width: 781px) {
  .campelia-hero { padding-block: 40px 48px !important; }
  .campelia-hero-title { font-size: clamp(2.2rem, 8.2vw, 3.25rem) !important; }
  .campelia-hero-lead { font-size: 1.08rem !important; line-height: 1.48; }
  .campelia-hero-buttons { gap: 10px; }
  .campelia-hero-buttons .wp-block-button { width: 100%; }
  .campelia-hero-buttons .wp-block-button__link { box-sizing: border-box; width: 100%; text-align: center; }
  .campelia-intro { padding-block: 44px 48px !important; }
  .campelia-intro h2 { font-size: clamp(1.55rem, 6vw, 2rem); }
}

/* V2.2 — WordPress navigation overlay: full-width, left-aligned mobile menu. */
@media (max-width: 781px) {
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open {
    padding: 72px 24px 32px !important;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding-top: 0 !important;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block !important;
    padding: 14px 0 !important;
    font-size: 1.125rem;
    line-height: 1.35;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    top: 20px;
    right: 24px;
  }
}

/* V2.3 — refinamiento visual: navegación móvil y portada. */
.campelia-header .wp-block-site-title a {
  text-decoration: none;
  color: #214D3A;
  font-weight: 750;
  letter-spacing: -.025em;
}
.campelia-hero-buttons .wp-block-button__link {
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.campelia-hero-buttons .wp-block-button__link:hover { transform: translateY(-1px); }
.campelia-hero-buttons .is-style-outline .wp-block-button__link {
  border-color: #214D3A;
  color: #214D3A;
}
.campelia-intro { border-top: 1px solid rgba(33,77,58,.12); }
@media (max-width: 781px) {
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open {
    background: #F6F3E9 !important;
    color: #203029 !important;
    padding: 76px 24px 32px !important;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    max-width: 560px;
    margin-inline: auto;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    border-bottom: 1px solid rgba(33,77,58,.14);
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: #214D3A !important;
    font-weight: 600;
    font-size: 1.12rem;
    letter-spacing: -.01em;
    padding: 17px 12px !important;
    border-radius: 9px;
    text-decoration: none;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
    background: rgba(110,152,117,.12);
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content,
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current="page"] {
    background: rgba(110,152,117,.16);
    border-left: 3px solid #214D3A;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.campelia-menu-cta {
    margin-top: 22px !important;
    border: 0;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .campelia-menu-cta .wp-block-navigation-item__content {
    background: #214D3A !important;
    color: #fff !important;
    padding: 16px 18px !important;
    border-radius: 10px;
    text-align: center;
    font-weight: 700;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    color: #214D3A;
    border-radius: 6px;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open :is(a, button):focus-visible {
    outline: 3px solid #6E9875;
    outline-offset: 3px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .campelia-hero-buttons .wp-block-button__link { transition: none; }
  .campelia-hero-buttons .wp-block-button__link:hover { transform: none; }
}

/* V2.4 — marca provisional: ramita de dos hojas + nombre. */
.campelia-header .wp-block-site-title a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.campelia-header .wp-block-site-title a::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  background: url("assets/campelia-sprig.svg") center / contain no-repeat;
}
@media (max-width: 781px) {
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::before {
    content: "CAMPELIA";
    display: flex;
    align-items: center;
    min-height: 38px;
    padding-left: 48px;
    margin: 0 52px 18px 0;
    color: #214D3A;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -.025em;
    background: url("assets/campelia-sprig.svg") left center / 36px 36px no-repeat;
  }
}

/* V2.5 — portada completa, mobile-first. */
.campelia-photo-section { padding-block: 0 28px; }
.campelia-field-photo { margin: 0; }
.campelia-field-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  border-radius: 18px;
}
.campelia-photo-caption { color: #476351; font-size: .9rem; margin-top: 12px !important; }
.campelia-features, .campelia-marketplace { padding-block: clamp(48px, 7vw, 92px); }
.campelia-features h2, .campelia-marketplace h2, .campelia-final-cta h2 {
  font-size: clamp(1.8rem, 3.6vw, 2.75rem);
  line-height: 1.18;
  letter-spacing: -.025em;
}
.campelia-eyebrow {
  color: #557A5D;
  font-size: .8rem;
  font-weight: 750;
  letter-spacing: .12em;
}
.campelia-feature-grid { margin-top: 30px !important; gap: 18px; }
.campelia-feature-card {
  height: auto;
  box-sizing: border-box;
  background: #F6F3E9;
  border: 1px solid rgba(33,77,58,.11);
  border-radius: 14px;
  padding: 26px 24px;
}
.campelia-feature-card h3 { color: #214D3A; font-size: 1.35rem; }
.campelia-feature-card p:last-child { font-size: 1rem; line-height: 1.6; }
.campelia-feature-icon { color: #6E9875; font-size: .85rem; font-weight: 800; letter-spacing: .12em; }
.campelia-marketplace { border-top: 1px solid rgba(33,77,58,.12); }
.campelia-marketplace .wp-block-button__link { border-color: #214D3A; color: #214D3A; }
.campelia-final-cta { padding-block: clamp(52px, 8vw, 100px); }
.campelia-final-cta p { max-width: 650px; margin-inline: auto; }
.campelia-final-cta .wp-block-button__link { color: #214D3A; font-weight: 700; }
@media (max-width: 781px) {
  .campelia-photo-section { padding-bottom: 12px; }
  .campelia-field-photo img { aspect-ratio: 4 / 3; border-radius: 12px; }
  .campelia-features, .campelia-marketplace { padding-block: 48px; }
  .campelia-feature-grid { gap: 12px; }
  .campelia-feature-card { padding: 22px 20px; }
  .campelia-final-cta { padding-block: 56px; }
  .campelia-final-cta .wp-block-button { width: 100%; }
  .campelia-final-cta .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
}

/* V2.6 — páginas interiores, footer y refinamientos generales. */
.campelia-interior-hero {
  padding-block: clamp(52px, 7vw, 104px) clamp(36px, 5vw, 64px);
}
.campelia-interior-hero h1 {
  max-width: 900px;
  font-size: clamp(2.35rem, 5.5vw, 4.25rem);
  line-height: 1.1;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.campelia-interior-lead {
  max-width: 730px;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  line-height: 1.55;
}
.campelia-interior-body { padding-bottom: clamp(64px, 8vw, 110px); }
.campelia-interior-body > h2 {
  font-size: clamp(1.65rem, 3vw, 2.4rem);
  color: #214D3A;
}
.campelia-status-note {
  margin-block: 30px !important;
  padding: 20px 24px;
  background: #E9EFE6;
  border-left: 4px solid #6E9875;
  border-radius: 8px;
}
.campelia-status-note p { margin: 0; }
.campelia-feature-card {
  transition: border-color .2s ease, box-shadow .2s ease;
}
.campelia-feature-card:hover {
  border-color: rgba(33,77,58,.32);
  box-shadow: 0 8px 28px rgba(33,77,58,.06);
}
.campelia-footer {
  padding-block: clamp(42px, 6vw, 72px) 24px;
}
.campelia-footer h3 { color: #fff; font-size: 1.08rem; }
.campelia-footer p { margin-block: 0 12px; }
.campelia-footer a { color: #fff; text-underline-offset: 4px; }
.campelia-footer a:hover { text-decoration-thickness: 2px; }
.campelia-footer-brand {
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -.025em;
}
.campelia-footer-columns { gap: clamp(24px, 5vw, 72px); }
.campelia-footer-bottom {
  margin-top: 36px !important;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.25);
}
.campelia-footer-bottom p { opacity: .9; }
@media (max-width: 781px) {
  .campelia-interior-hero { padding-block: 44px 32px; }
  .campelia-interior-hero h1 { font-size: clamp(2.15rem, 8vw, 3rem); }
  .campelia-interior-body { padding-bottom: 60px; }
  .campelia-footer-columns { gap: 24px; }
  .campelia-footer-bottom { margin-top: 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .campelia-feature-card { transition: none; }
}

/* V2.7 — tarjetas sin recortes, navegación accesible y variedad visual. */
.campelia-feature-grid,
.campelia-feature-grid > .wp-block-column,
.campelia-feature-card {
  min-height: 0;
}
.campelia-feature-grid > .wp-block-column {
  min-width: 0;
  align-self: stretch;
}
.campelia-feature-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.campelia-feature-card > * {
  flex: 0 0 auto;
  max-width: 100%;
  overflow-wrap: break-word;
}
.campelia-feature-card h3 {
  margin-block: 8px 12px !important;
  line-height: 1.28;
  overflow: visible;
  text-wrap: pretty;
}
.campelia-feature-card p {
  margin-block: 0 10px !important;
  line-height: 1.55;
  overflow: visible;
}
.campelia-feature-card p:last-child {
  margin-bottom: 0 !important;
}
.campelia-interior--gestion .campelia-feature-card {
  background: #EFF2E8;
}
.campelia-interior--marketplace .campelia-feature-card {
  border-top: 4px solid #6E9875;
  background: #F7F4EC;
}
.campelia-interior--compradores .campelia-feature-card {
  background: #F0F3EC;
  border-left: 4px solid #6E9875;
}
.campelia-interior--contacto .campelia-feature-card {
  background: #F9F5EB;
  border: 1px solid rgba(33,77,58,.15);
}
.campelia-interior--contacto .campelia-status-note {
  border-left-color: #214D3A;
}
.campelia-interior .wp-block-button__link,
.campelia-footer a {
  transition: background-color .15s ease, color .15s ease;
}
.campelia-interior a:focus-visible,
.campelia-footer a:focus-visible,
.campelia-header a:focus-visible,
.campelia-header button:focus-visible {
  outline: 3px solid #6E9875;
  outline-offset: 3px;
  border-radius: 3px;
}
.campelia-header .wp-block-navigation-item.campelia-menu-cta {
  display: none;
}
@media (max-width: 781px) {
  .campelia-feature-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .campelia-feature-grid > .wp-block-column {
    flex: none !important;
    width: 100%;
  }
  .campelia-feature-card {
    width: 100%;
    padding: 22px 20px;
  }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.campelia-menu-cta {
    display: block;
  }
  .campelia-interior-hero,
  .campelia-interior-body {
    overflow-wrap: anywhere;
  }
}
@media (prefers-reduced-motion: reduce) {
  .campelia-interior .wp-block-button__link,
  .campelia-footer a { transition: none; }
}

/* V2.7.1 — prevenir recortes de texto por estilos heredados de bloques. */
.campelia-interior .campelia-feature-card {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  text-align: left;
}
.campelia-interior .campelia-feature-card > .wp-block-heading,
.campelia-interior .campelia-feature-card > p {
  display: block !important;
  position: static !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  text-align: left !important;
  margin: 0 0 12px !important;
}
.campelia-interior .campelia-feature-card > .campelia-feature-icon {
  text-align: left !important;
  margin-bottom: 16px !important;
}
.campelia-interior .campelia-feature-card > h3 {
  margin-bottom: 12px !important;
}
.campelia-interior .campelia-feature-card > p:last-child {
  margin-bottom: 0 !important;
}
.campelia-interior .wp-block-buttons,
.campelia-interior .wp-block-button {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.campelia-interior .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: auto !important;
  min-height: 48px;
  max-height: none !important;
  padding: 12px 22px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* V2.8 — contenedor horizontal compartido en TODAS las páginas interiores.
   Los grupos alignwide de WordPress no garantizan padding en pantallas estrechas. */
.campelia-interior {
  --campelia-page-gutter: clamp(22px, 5vw, 56px);
  box-sizing: border-box;
  padding-inline: var(--campelia-page-gutter) !important;
}
.campelia-interior > .campelia-interior-hero,
.campelia-interior > .campelia-interior-body {
  box-sizing: border-box;
  width: 100%;
  max-width: 1120px;
  margin-inline: auto !important;
}
.campelia-interior .campelia-feature-grid,
.campelia-interior .campelia-status-note,
.campelia-interior .wp-block-buttons {
  box-sizing: border-box;
  max-width: 100%;
}
.campelia-interior .wp-block-button__link {
  padding-inline: 24px !important;
  line-height: 1.5 !important;
}
@media (max-width: 781px) {
  .campelia-interior {
    --campelia-page-gutter: 24px;
  }
  .campelia-interior .campelia-feature-grid {
    margin-inline: 0 !important;
  }
  .campelia-interior .campelia-feature-card {
    padding: 24px 22px !important;
  }
}
@media (max-width: 360px) {
  .campelia-interior { --campelia-page-gutter: 18px; }
}

/* V2.9 — ritmo horizontal común para secciones de portada. */
.campelia-features > .wp-block-group,
.campelia-marketplace > .wp-block-group,
.campelia-intro > .wp-block-group,
.campelia-final-cta > .wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: 1180px;
  padding-inline: clamp(24px, 5vw, 56px) !important;
  margin-inline: auto !important;
}
.campelia-features .wp-block-columns { width: 100%; }
.campelia-marketplace .wp-block-buttons { margin-top: 24px; }
.campelia-form-preview, .campelia-form {
  box-sizing: border-box;
  max-width: 720px;
  margin-block: 32px;
  padding: clamp(24px, 4vw, 36px);
  background: #e9efe6;
  border-radius: 14px;
}
.campelia-form-preview h3 { margin-top: 0; color: #214d3a; }
.campelia-form label { display: block; font-weight: 650; margin-block: 18px 7px; }
.campelia-form input:not([type="checkbox"]), .campelia-form select {
  box-sizing: border-box; display: block; width: 100%;
  min-height: 48px; padding: 10px 12px; border: 1px solid #54715f;
  border-radius: 6px; background: white; font: inherit;
}
.campelia-form input:focus-visible, .campelia-form select:focus-visible,
.campelia-form button:focus-visible { outline: 3px solid #6e9875; outline-offset: 2px; }
.campelia-form .campelia-consent { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; }
.campelia-form button { min-height: 48px; padding: 12px 24px; background: #214d3a; color: white; border: 0; border-radius: 8px; font: inherit; font-weight: 700; cursor: pointer; }
.campelia-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 781px) {
  .campelia-features > .wp-block-group,
  .campelia-marketplace > .wp-block-group,
  .campelia-intro > .wp-block-group,
  .campelia-final-cta > .wp-block-group { padding-inline: 24px !important; }
}

/* V3.0 preparación de QA: espaciado coherente en home y escritorio. */
.campelia-hero,
.campelia-intro,
.campelia-photo-section,
.campelia-features,
.campelia-marketplace,
.campelia-final-cta {
  box-sizing: border-box;
}
.campelia-hero > .campelia-hero-inner,
.campelia-intro,
.campelia-photo-section,
.campelia-features > .wp-block-group,
.campelia-marketplace > .wp-block-group,
.campelia-final-cta > .wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: 1180px;
  padding-inline: clamp(24px, 5vw, 56px) !important;
  margin-inline: auto !important;
}
.campelia-intro { max-width: 1180px; }
.campelia-photo-section img { max-width: 100%; }
.campelia-marketplace .wp-block-button__link {
  box-sizing: border-box;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: 12px 22px !important;
  line-height: 1.45 !important;
}
.campelia-header-inner {
  box-sizing: border-box;
  padding-inline: clamp(24px, 5vw, 56px) !important;
}
@media (min-width: 782px) {
  .campelia-features .campelia-feature-grid {
    display: flex;
    align-items: stretch;
    gap: 22px;
  }
  .campelia-features .campelia-feature-grid > .wp-block-column {
    min-width: 0;
    flex: 1 1 0;
  }
  .campelia-features .campelia-feature-card {
    height: 100%;
    min-height: 220px;
  }
}
@media (max-width: 781px) {
  .campelia-hero > .campelia-hero-inner,
  .campelia-intro,
  .campelia-photo-section,
  .campelia-features > .wp-block-group,
  .campelia-marketplace > .wp-block-group,
  .campelia-final-cta > .wp-block-group {
    padding-inline: 24px !important;
  }
  .campelia-header-inner { padding-inline: 24px !important; }
  .campelia-marketplace .wp-block-button__link { white-space: normal; }
}

/* V3.0.1 — remove clipping caused by WordPress constrained-group layout. */
.campelia-interior .campelia-status-note,
.campelia-interior .campelia-feature-grid,
.campelia-interior .campelia-feature-grid > .wp-block-column,
.campelia-interior .campelia-feature-card,
.campelia-interior .campelia-feature-card p,
.campelia-interior .campelia-status-note p {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}
.campelia-interior .campelia-status-note p,
.campelia-interior .campelia-feature-card p {
  white-space: normal !important;
  overflow-wrap: anywhere;
}
.campelia-interior .campelia-status-note { padding-block: 24px !important; }
.campelia-interior .campelia-feature-grid > .wp-block-column {
  flex-basis: auto;
}
@media (max-width: 781px) {
  .campelia-interior .campelia-feature-grid { display: block !important; }
  .campelia-interior .campelia-feature-grid > .wp-block-column { margin-bottom: 14px !important; }
}

/* V3.0.2 — reset scoped to text clipped in mobile inner blocks. */
@media (max-width: 781px) {
  .campelia-interior .campelia-status-note,
  .campelia-interior--contacto .campelia-feature-grid > .wp-block-column:first-child,
  .campelia-interior--contacto .campelia-feature-grid > .wp-block-column:first-child .campelia-feature-card {
    display: flow-root !important;
    height: auto !important;
    min-height: max-content !important;
    max-height: none !important;
    overflow: visible !important;
    contain: none !important;
    clip-path: none !important;
  }
  .campelia-interior .campelia-status-note > p,
  .campelia-interior--contacto .campelia-feature-grid > .wp-block-column:first-child .campelia-feature-card > p {
    display: block !important;
    height: auto !important;
    min-height: max-content !important;
    max-height: none !important;
    overflow: visible !important;
    position: static !important;
    white-space: normal !important;
  }
}

/* V3.0.3 — semantic HTML blocks not constrained by WP nested block layout. */
.campelia-interior .campelia-static-notice,
.campelia-interior .campelia-static-card {
  box-sizing: border-box;
  display: flow-root !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  contain: none !important;
}
.campelia-interior .campelia-static-notice p,
.campelia-interior .campelia-static-card p {
  display: block !important;
  position: static !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  margin: 0 !important;
  line-height: 1.55 !important;
}
.campelia-interior .campelia-static-card .campelia-feature-icon { margin-bottom: 16px !important; }
.campelia-interior .campelia-static-card h3 { margin: 0 0 12px !important; }


/* W1 editorial accessibility: readable articles, keyboard focus and reduced motion. */
.wp-block-post-content { overflow-wrap: break-word; }
.wp-block-post-content p, .wp-block-post-content li { line-height: 1.7; }
.wp-block-post-content img { max-width: 100%; height: auto; }
.wp-block-post-content a { text-underline-offset: .18em; }
.campelia-header a:focus-visible,
.campelia-footer a:focus-visible,
.wp-block-post-content a:focus-visible,
.wp-block-query a:focus-visible,
.wp-block-navigation button:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 3px solid #214d3a;
  outline-offset: 4px;
  border-radius: 3px;
}
.campelia-footer a:focus-visible { outline-color: #fff; }
@media (max-width: 600px) {
  .wp-block-post-content, .wp-block-query { min-width: 0; }
  .wp-block-post-content h2 { font-size: clamp(1.45rem, 6vw, 1.9rem); line-height: 1.25; }
  .wp-block-post-content h3 { font-size: clamp(1.2rem, 5vw, 1.55rem); line-height: 1.3; }
}
@media (prefers-reduced-motion: reduce) {
  .campelia-hero-buttons .wp-block-button__link { transition: none !important; transform: none !important; }
}

/* V3.4 — identidad de marca compartida con la APP. */
.campelia-header .wp-block-site-title a { gap: 12px; color: #203F30; font-weight: 800; }
.campelia-header .wp-block-site-title a::before { width: 48px; height: 48px; flex-basis: 48px; border-radius: 12px; }
@media (max-width: 781px) {
  .campelia-header .wp-block-site-title a::before { width: 42px; height: 42px; flex-basis: 42px; }
  .campelia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::before { padding-left: 54px; background-size: 42px 42px; }
}

/* V3.5 — QA portada móvil: marca compacta y CTA sin solapamientos. */
.campelia-header .wp-block-site-title { min-width: 0; margin: 0; }
.campelia-header .wp-block-site-title a {
  display: inline-flex; align-items: center; max-width: 100%;
  font-size: clamp(1.1rem, 2vw, 1.5rem); line-height: 1.2;
  white-space: nowrap; text-decoration: none;
}
.campelia-header-inner > .wp-block-navigation { flex-shrink: 0; }
.campelia-final-cta, .campelia-final-cta > .wp-block-group {
  height: auto !important; min-height: 0; max-height: none !important;
  overflow: visible !important;
}
.campelia-final-cta > .wp-block-group {
  display: flex; flex-direction: column; align-items: center;
  gap: 0; padding-block: 0;
}
.campelia-final-cta h2 { margin: 0 0 20px !important; }
.campelia-final-cta p {
  position: static !important; display: block !important;
  margin: 0 auto 26px !important; max-width: 620px;
  height: auto !important; min-height: 0; max-height: none !important;
  overflow: visible !important; line-height: 1.6 !important;
  text-wrap: pretty;
}
.campelia-final-cta .wp-block-buttons {
  position: static !important; margin: 0 !important;
  width: 100%; justify-content: center; clear: both;
}
@media (max-width: 781px) {
  .campelia-header .wp-block-site-title a { font-size: 1.15rem; gap: 9px; }
  .campelia-header .wp-block-site-title a::before { width: 38px; height: 38px; flex-basis: 38px; }
  .campelia-final-cta { padding-block: 54px !important; }
  .campelia-final-cta h2 { margin-bottom: 18px !important; }
  .campelia-final-cta p { margin-bottom: 24px !important; }
}
