/*
Theme Name: CORA Theme Child
Theme URI: https://promtech.es/cora
Template: twentytwentyfour
Author: Promtech
Author URI: https://promtech.es
Description: Tema hijo de Twenty Twenty-Four para la landing de CORA.
Version: 1.0.0
Text Domain: cora-theme-child
*/

:root {
  --cora-ink: #0f3554;
  --cora-accent: #0aa36e;
  --cora-soft: #f5f8fc;
  --cora-line: #dde6f1;
  --cora-radius-lg: 1rem;
  --cora-radius-md: 0.875rem;
  --cora-radius-sm: 0.625rem;
  --cora-shadow-soft: 0 12px 32px rgba(15, 53, 84, 0.08);
  --cora-shadow-hover: 0 14px 40px rgba(15, 53, 84, 0.12);
  --cora-transition: 0.3s ease;
  --cora-font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--cora-font-stack);
  color: var(--cora-ink);
  background-color: var(--cora-soft);
  line-height: 1.6;
}

.wp-site-blocks {
  background: var(--cora-soft);
}

.cora-section {
  padding-block: clamp(3rem, 7vw, 5rem);
}

.cora-container {
  max-width: min(1120px, 92vw);
  margin: 0 auto;
}

.cora-grid {
  display: grid;
  gap: 1.75rem;
}

@media (min-width: 960px) {
  .cora-grid--split {
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
  }
}

.cora-grid--cards {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.cora-pill {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1px solid var(--cora-line);
  border-radius: 999px;
  padding: 0.5rem 0.875rem;
  font-size: 0.9375rem;
  margin: 0.375rem 0.5rem 0 0;
  box-shadow: 0 2px 6px rgba(15, 53, 84, 0.04);
}

.cora-card {
  background: #fff;
  border: 1px solid var(--cora-line);
  border-radius: var(--cora-radius-lg);
  padding: 1.25rem;
  box-shadow: var(--cora-shadow-soft);
  transition: transform var(--cora-transition), box-shadow var(--cora-transition);
}

.cora-card:hover,
.cora-card:focus-within {
  transform: translateY(-4px);
  box-shadow: var(--cora-shadow-hover);
}

.cora-buttons .wp-block-button__link {
  border-radius: 0.75rem;
  font-weight: 700;
  padding: 0.875rem 1.5rem;
  box-shadow: var(--cora-shadow-soft);
  transition: transform var(--cora-transition), box-shadow var(--cora-transition), background-color var(--cora-transition), color var(--cora-transition);
}

.cora-buttons .wp-block-button__link:hover,
.cora-buttons .wp-block-button__link:focus-visible {
  transform: translateY(-2px) scale(1.02);
  box-shadow: var(--cora-shadow-hover);
}

.cora-buttons .wp-block-button__link.is-style-outline {
  background: #fff;
  color: var(--cora-ink);
  border: 1px solid var(--cora-line);
  box-shadow: none;
}

.cora-buttons .wp-block-button__link.is-style-outline:hover,
.cora-buttons .wp-block-button__link.is-style-outline:focus-visible {
  border-color: var(--cora-accent);
  color: var(--cora-accent);
}

.cora-hero-media img {
  border-radius: 1rem;
  box-shadow: var(--cora-shadow-soft);
}

.cora-form form,
.wpforms-container {
  background: #fff;
  border: 1px solid var(--cora-line);
  border-radius: var(--cora-radius-lg);
  padding: clamp(1.5rem, 5vw, 2rem);
  box-shadow: var(--cora-shadow-soft);
}

.cora-form input,
.cora-form select,
.cora-form textarea,
.wpforms-field input,
.wpforms-field select,
.wpforms-field textarea {
  border-radius: var(--cora-radius-md) !important;
  border: 1px solid #cad5e3 !important;
  padding: 0.75rem !important;
  font-family: var(--cora-font-stack) !important;
}

.cora-form button,
.wpforms-submit {
  border-radius: var(--cora-radius-md) !important;
  background: var(--cora-accent) !important;
  border: none !important;
  padding: 0.875rem 1.5rem !important;
  font-weight: 700 !important;
  transition: transform var(--cora-transition), box-shadow var(--cora-transition);
  box-shadow: var(--cora-shadow-soft);
}

.cora-form button:hover,
.cora-form button:focus-visible,
.wpforms-submit:hover,
.wpforms-submit:focus-visible {
  transform: translateY(-2px);
  box-shadow: var(--cora-shadow-hover);
}

.cora-footer {
  background: var(--cora-ink);
  color: #fff;
  text-align: center;
}

.cora-footer a {
  color: inherit;
  text-decoration: underline;
}

.cora-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--cora-line);
  box-shadow: 0 2px 12px rgba(15, 53, 84, 0.06);
}

.cora-header .wp-block-image img {
  max-height: 48px;
  width: auto;
}

.cora-header .wp-block-navigation {
  font-weight: 600;
}

.cora-header .wp-block-navigation-item__content {
  border-radius: 999px;
  padding: 0.5rem 0.875rem;
  transition: background-color var(--cora-transition), color var(--cora-transition);
}

.cora-header .wp-block-navigation-item__content:hover,
.cora-header .wp-block-navigation-item__content:focus-visible {
  background-color: rgba(10, 163, 110, 0.1);
  color: var(--cora-accent);
}

.cora-scroll {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.cora-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.cora-scroll--delay {
  transition-delay: 0.15s;
}

.cora-scroll--delay-lg {
  transition-delay: 0.3s;
}

.wp-block-navigation__responsive-container.is-menu-open {
  background: rgba(245, 248, 252, 0.96);
}

@media (max-width: 960px) {
  .cora-header .wp-block-image img {
    max-height: 40px;
  }
}

.cora-supports__logos img {
  filter: drop-shadow(0 2px 4px rgba(15, 53, 84, 0.08));
  transition: transform 0.2s ease, filter 0.2s ease;
}

.cora-supports__logos img:hover {
  transform: translateY(-2px);
  filter: drop-shadow(0 4px 8px rgba(15, 53, 84, 0.16));
}

@media (max-width: 768px) {
  .cora-supports__logos img {
    max-height: 48px;
  }
}

