/* CUSTOM PALETTE & DESIGN VARIABLES (LIGHT Theme) */
:root {
  /* Site Theme Colors - Crimson Cardinal for Cardiovascular Health */
  --ct-bg-main: #FCFAF7;          /* Soft warm light cream background */
  --ct-surface-light: #FFFFFF;    /* Pure white for card surfaces */
  --ct-accent-crimson: #D9384A;   /* Primary bold crimson heart-red */
  --ct-accent-hover: #B82536;     /* Crimson dark hover state */
  --ct-accent-subtle: #FDF1F2;    /* Super soft tinted rose backdrop */
  
  /* Text and ink */
  --ct-ink-primary: #1F2421;      /* Deep charcoal for maximum readability */
  --ct-ink-muted: #5C677D;        /* Medium cool slate for descriptions */
  --ct-ink-inverse: #FFFFFF;      /* Clean white text for dark elements */
  
  /* Layout Dimensions */
  --ct-canvas-width: 1120px;      /* Selected container-width (960px - 1380px) */
  --ct-border-soft: 16px;         /* Selected border-radius-style: soft */
  
  /* Dynamic Elevation (Raised Shadows) */
  --ct-shadow-raised: 0 10px 25px -5px rgba(31, 36, 33, 0.08), 
                      0 4px 12px -2px rgba(31, 36, 33, 0.04);
  --ct-shadow-hover: 0 20px 35px -8px rgba(217, 56, 74, 0.15);

  /* Fonts Config */
  --font-display: 'Montserrat', sans-serif; /* Selected heading-font */
  --font-body: 'Open Sans', sans-serif;     /* Selected text-font */
}

/* BASE RESETS */
body {
  font-family: var(--font-body);
  background-color: var(--ct-bg-main);
  color: var(--ct-ink-primary);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  color: var(--ct-ink-primary);
  /* Selected heading-case setting */
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

/* CONTAINER CONSTRAINT */
.ct-shell {
  max-width: var(--ct-canvas-width);
  width: 100%;
}

/* HEADER STYLE */
.ct-hub-header {
  background-color: #171A19; /* High-contrast background for WCAG AA compliance */
  border-bottom: 2px solid var(--ct-accent-crimson);
  z-index: 50;
}
.ct-brand-name {
  color: var(--ct-ink-inverse);
  font-family: var(--font-display);
}

/* PRODUCT BLOCK & CARDS */
.ct-pill-badge {
  background-color: var(--ct-accent-subtle);
  color: var(--ct-accent-crimson);
  border-radius: 999px; /* Absolute pill style for tiny badges */
  border: 1px solid rgba(217, 56, 114, 0.15);
}

.ct-lead-tagline {
  color: var(--ct-accent-crimson);
}

.ct-body-description {
  color: var(--ct-ink-muted);
}

/* Guarantee strip - icon-left style */
.ct-guarantee-strip {
  background-color: var(--ct-accent-subtle);
  border-left: 4px solid var(--ct-accent-crimson);
}

/* Interactive Panel & Checkout Badge */
.ct-interactive-panel {
  background-color: var(--ct-surface-light);
  border-radius: var(--ct-border-soft);
  box-shadow: var(--ct-shadow-raised);
}

/* Price Badge Display Element */
.ct-price-sticker {
  background-color: var(--ct-accent-crimson);
  color: var(--ct-ink-inverse);
}

.ct-price-caption {
  color: var(--ct-ink-muted);
}

/* CTA CONTINUAR BUTTON STYLE */
.ct-action-click {
  background-color: #2F9E44; /* Secondary green call-to-action color for positive conversion */
  color: var(--ct-ink-inverse);
  border-radius: var(--ct-border-soft);
  box-shadow: 0 4px 15px rgba(47, 158, 68, 0.3);
  font-family: var(--font-display);
}

.ct-action-click:hover {
  background-color: #2b8a3e;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(47, 158, 68, 0.4);
}

/* Main Visual Area */
.ct-product-canvas {
  background-color: var(--ct-surface-light);
  border-radius: var(--ct-border-soft);
  box-shadow: var(--ct-shadow-raised);
  border: 1px solid rgba(31, 36, 33, 0.05);
}

.ct-visual-seal {
  background-color: var(--ct-accent-crimson);
  box-shadow: 0 4px 10px rgba(217, 56, 74, 0.3);
}

.ct-main-image {
  max-height: 400px;
  filter: drop-shadow(0 15px 25px rgba(31,36,33,0.12));
}

/* FEATURES MODULE */
.ct-feature-matrix {
  background-color: var(--ct-surface-light);
  border-top: 1px solid rgba(31, 36, 33, 0.05);
  border-bottom: 1px solid rgba(31, 36, 33, 0.05);
}

.ct-dec-line {
  width: 60px;
  height: 4px;
  background-color: var(--ct-accent-crimson);
  border-radius: 2px;
}

.ct-feature-unit {
  background-color: var(--ct-bg-main);
  border-radius: var(--ct-border-soft);
  box-shadow: var(--ct-shadow-raised);
  border: 1px solid rgba(31, 36, 33, 0.02);
  transition: all 0.3s ease;
}

.ct-feature-unit:hover {
  transform: translateY(-4px);
  box-shadow: var(--ct-shadow-hover);
}

.ct-icon-circle {
  background-color: var(--ct-accent-crimson);
  color: var(--ct-ink-inverse);
}

/* TESTIMONIALS SECTION - Dark Accent Grid for Contrast */
.ct-feed-section {
  background-color: #1A1F1C; /* Seductive dark forest/slate tone for rich high-end aesthetic contrast */
}

.ct-section-title {
  letter-spacing: 0.02em;
}

.ct-feed-section .ct-section-title {
  color: var(--ct-ink-inverse);
}

/* Testimonial Bubble Elements */
.ct-feedback-bubble {
  background-color: #242B27; /* Slightly lighter shade than section backdrop */
  border-radius: var(--ct-border-soft);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  border-top: 4px solid var(--ct-accent-crimson); /* Selected border-top decoration style */
  color: #E2E8F0;
}

.ct-quote-deco {
  color: var(--ct-accent-crimson);
  font-size: 8rem;
  line-height: 1;
  opacity: 0.12;
}

.ct-avatar-circle {
  background-color: var(--ct-accent-crimson);
  color: var(--ct-ink-inverse);
}

/* FOOTER STYLING */
.ct-page-footer {
  background-color: #111413; /* Rich dark footer */
  color: #94A3B8;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.ct-footer-shell {
  max-width: var(--ct-canvas-width);
}

.ct-footer-links a {
  color: #CBD5E1;
  transition: color 0.15s ease;
}

.ct-footer-links a:hover {
  color: var(--ct-accent-crimson);
}