/* Custom CSS Variables Adapted for Optiheart theme (LIGHT) */
:root {
  --oh-bg: #F8FAFC;
  --oh-surface: #FFFFFF;
  --oh-tone: #E11D48; /* Accent Rose - Vibrant but healthy heart color */
  --oh-tone-hover: #BE123C;
  --oh-ink: #0F172A; /* Slate-900 for high WCAG contrast */
  --oh-ink-muted: #475569;
  --oh-border: #E2E8F0;
  --oh-bg-accent: #FFE4E6; /* Soft light rose backplate */
  --oh-gradient: linear-gradient(135deg, #FFE4E6 0%, #FECDD3 100%);
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Poppins', sans-serif;
  
  /* Layout Options based on Config variables */
  --oh-max-w: 1140px; /* Custom container width */
  --oh-radius: 16px; /* soft border-radius-style */
  --oh-shadow: 0 10px 25px -5px rgba(225, 29, 72, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.05); /* raised shadow depth */
}

/* Base resets & Fonts configuration */
body {
  font-family: var(--font-body);
  background-color: var(--oh-bg);
  color: var(--oh-ink);
  overflow-x: hidden;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  text-transform: uppercase; /* heading-case: uppercase */
  color: var(--oh-ink);
}

/* Page Outer Frame constraint */
.oh-outer-frame {
  max-width: var(--oh-max-w);
  width: 100%;
}

/* Abstract Background Pattern styling */
.oh-bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.85;
}

/* Header Element Styles (Contrast Dark Background) */
.oh-header-bar {
  background-color: var(--oh-ink);
  color: #FFFFFF;
  border-bottom: 2px solid var(--oh-tone);
}

.oh-pulse-icon {
  color: var(--oh-tone);
}

.oh-logo-text {
  font-family: var(--font-display);
  color: #FFFFFF;
}

/* Main Product Layout (Split Sticky Preset A) */
.oh-stage-wrap {
  width: 100%;
  max-width: var(--oh-max-w);
}

/* Image Backplate with Shadow and Radius */
.oh-image-backplate {
  background: var(--oh-gradient);
  border-radius: var(--oh-radius);
  box-shadow: var(--oh-shadow);
  display: flex;
  align-items: center;
  justify-content: center;
}

.oh-prime-img {
  max-height: 480px;
  object-fit: contain;
  filter: drop-shadow(0 15px 15px rgba(15, 23, 42, 0.15));
}

/* Sticky Right Column Content Positioning */
@media (min-width: 768px) {
  .oh-media-panel {
    position: sticky;
    top: 2rem;
    align-self: flex-start;
  }
}

/* Text & Info Capsules */
.oh-desc-capsule {
  background-color: var(--oh-surface);
  border-left: 5px solid var(--oh-tone);
  border-radius: var(--oh-radius);
  box-shadow: var(--oh-shadow);
}

.oh-desc-capsule p {
  color: var(--oh-ink-muted);
}

/* List element markers */
.oh-bullet-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background-color: var(--oh-bg-accent);
  color: var(--oh-tone);
  border-radius: 50%;
}

/* Trust stripe (Guarantee badge style: icon-left) */
.oh-trust-stripe {
  border: 1.5px dashed var(--oh-tone);
  border-radius: var(--oh-radius);
  background-color: rgba(255, 228, 230, 0.35);
}

.oh-trust-icon {
  color: var(--oh-tone);
}

/* Prices Badge Design */
.oh-action-cell {
  background-color: var(--oh-surface);
  border: 1px solid var(--oh-border);
  border-radius: var(--oh-radius);
  box-shadow: var(--oh-shadow);
}

.oh-price-badge {
  background-color: var(--oh-tone);
  color: #FFFFFF;
  border-radius: var(--oh-radius);
  box-shadow: 0 4px 6px -1px rgba(225, 29, 72, 0.3);
}

/* Call To Action Buttons */
.oh-cta-link {
  background-color: var(--oh-tone);
  color: #FFFFFF !important;
  padding: 1.125rem 2.5rem;
  border-radius: var(--oh-radius);
  box-shadow: 0 10px 20px -5px rgba(225, 29, 72, 0.4);
}

.oh-cta-link:hover, .oh-cta-link:focus {
  background-color: var(--oh-tone-hover);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -5px rgba(225, 29, 72, 0.5);
  outline: none;
}

.oh-cta-link:active {
  transform: translateY(0);
}

/* Features Rows */
.oh-benefit-row {
  background-color: var(--oh-surface);
  border-radius: var(--oh-radius);
  box-shadow: var(--oh-shadow);
  border: 1px solid var(--oh-border);
  transition: transform 0.25s ease-in-out;
}

.oh-benefit-row:hover {
  transform: scale(1.01);
}

.oh-icon-halo {
  width: 64px;
  height: 64px;
  background-color: var(--oh-bg-accent);
  color: var(--oh-tone);
  border-radius: 50%;
}

/* Testimonials Tiles and Wall */
.oh-testimonials-hub {
  background-color: var(--oh-surface);
}

.oh-feedback-tile {
  background-color: var(--oh-bg);
  border-top: 4px solid var(--oh-tone);
  border-radius: var(--oh-radius);
  box-shadow: var(--oh-shadow);
  transition: transform 0.2s ease;
}

.oh-feedback-tile:hover {
  transform: translateY(-4px);
}

.oh-user-initials {
  width: 38px;
  height: 38px;
  background-color: var(--oh-tone);
  color: #FFFFFF;
  border-radius: 50%;
}

/* Footer Section Styling (Contrast Dark Background) */
.oh-footer-bar {
  background-color: var(--oh-ink);
  color: #E2E8F0;
  border-top: 3px solid var(--oh-tone);
}

.oh-footer-bar nav a {
  color: #94A3B8;
}

.oh-footer-bar nav a:hover {
  color: #FFFFFF;
}

/* Extra accessibility sizes */
.text-2xs {
  font-size: 0.7rem;
}

.text-3xs {
  font-size: 0.6rem;
}