/*
 Theme Name:   FCR Media
 Theme URI:    https://fcrmedia.ie
 Description:  FCR Media child theme based on Hello Elementor
 Author:       FCR Media
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  fcr-media
*/

/* === FCR Media Design Tokens === */
:root {
  /* Primary Blues */
  --fcr-primary-dark: #003875;
  --fcr-primary-deep: #1e3a8a;
  --fcr-primary-active: #1d4ed8;
  --fcr-btn-gradient-start: #003875;
  --fcr-btn-gradient-end: #004f9f;

  /* Text */
  --fcr-text-dark: #101c2a;
  --fcr-text-body: #424751;
  --fcr-text-muted: #475569;
  --fcr-text-subtle: #64748b;

  /* Backgrounds */
  --fcr-bg-page: #f8f9ff;
  --fcr-bg-section: #eef4ff;
  --fcr-bg-card-blue: #e4efff;
  --fcr-bg-cyan: #bee9ff;
  --fcr-bg-footer: #f8fafc;

  /* Accents */
  --fcr-accent-mint: #b0efe3;
  --fcr-accent-teal: #29685f;
  --fcr-accent-dark-teal: #004d64;

  /* Borders */
  --fcr-border-subtle: rgba(194, 198, 211, 0.15);

  /* Radius */
  --fcr-radius-card: 24px;
  --fcr-radius-card-lg: 32px;
  --fcr-radius-btn-pill: 9999px;
  --fcr-radius-btn-block: 12px;

  /* Spacing */
  --fcr-container-padding: 32px;
  --fcr-section-padding: 96px;
}

/* Base styles */
body {
  font-family: "Work Sans", sans-serif;
  color: var(--fcr-text-body);
  background-color: var(--fcr-bg-page);
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Work Sans", sans-serif;
  color: var(--fcr-text-dark);
}

/* Utility: hide default WP header/footer when using Elementor Theme Builder */
.site-header, .site-footer {
  display: none;
}

/* === RESPONSIVE OVERRIDES === */

/* Tablet (max 1024px) */
@media (max-width: 1024px) {
  .elementor-section-wrap > .elementor-element,
  .e-con {
    --container-max-width: 100% !important;
  }
}

/* Mobile (max 767px) */
@media (max-width: 767px) {
  /* Sub-header bar - hide on mobile */
  [data-id] .elementor-element[data-element_type="container"]:first-child {
    /* Let Elementor handle via hide_mobile */
  }

  /* Force column stacking */
  .e-con.e-flex > .e-con-inner {
    flex-wrap: wrap;
  }

  /* Reduce oversized headings */
  h1.elementor-heading-title {
    font-size: clamp(28px, 8vw, 72px) !important;
    line-height: 1.15 !important;
  }

  h2.elementor-heading-title {
    font-size: clamp(24px, 6vw, 48px) !important;
  }

  /* Full-width buttons on mobile */
  .elementor-widget-button {
    width: 100%;
  }
  .elementor-widget-button .elementor-button {
    width: 100%;
    text-align: center;
  }

  /* Reduce section padding */
  .elementor-element > .elementor-widget-wrap,
  .e-con > .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Industry cards - full width */
  .e-con.e-flex > .e-con-inner > .e-con {
    min-width: 100% !important;
  }

  /* Team grid - 2 columns on mobile */
  .e-con[data-widget_type] {
    /* handled by Elementor flex */
  }

  /* Hero min-height reduce */
  .e-con[style*="min-height: 500px"],
  .e-con[style*="min-height: 700px"],
  .e-con[style*="min-height: 850px"] {
    min-height: 400px !important;
  }

  /* Pricing cards - stack */
  .elementor-widget-button .elementor-button {
    padding: 12px 24px !important;
  }
}

/* Small mobile (max 480px) */
@media (max-width: 480px) {
  h1.elementor-heading-title {
    font-size: 28px !important;
  }
  h2.elementor-heading-title {
    font-size: 22px !important;
  }
}
