/*
Theme Name:  Creative Truth Child
Theme URI:   https://creativetruth.net
Description: Child theme for Creative Truth Studios LLC — built on Divi 5
Author:      Creative Truth Studios LLC
Author URI:  https://creativetruth.net
Template:    Divi
Version:     1.0.0
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: creative-truth-child
*/

/* ============================================================
   BRAND TOKENS
   ============================================================ */
:root {
  --ct-primary:       #f95d54;
  --ct-primary-dark:  #d94a42;
  --ct-dark-900:      #1a1a1a;
  --ct-dark-800:      #1e1e1e;
  --ct-dark-700:      #252525;
  --ct-dark-600:      #2a2a2a;
  --ct-dark-500:      #333333;
  --ct-text-muted:    #aaaaaa;
  --ct-white:         #ffffff;
  --ct-radius-sm:     6px;
  --ct-radius-md:     10px;
  --ct-radius-lg:     16px;
  --ct-radius-full:   50%;
  --ct-shadow-card:   0 4px 24px rgba(0,0,0,0.25);
  --ct-shadow-lift:   0 12px 32px rgba(0,0,0,0.3);
  --ct-transition:    0.25s ease;
}

/* ============================================================
   GLOBAL RESETS & BASE
   ============================================================ */
*, *::before, *::after {
  box-sizing: border-box;
}

/* ============================================================
   BUTTONS — primary accent overrides
   ============================================================ */
.et_pb_button:hover,
.et_pb_button:focus {
  background-color: var(--ct-primary-dark) !important;
  border-color:     var(--ct-primary-dark) !important;
}

/* ============================================================
   UTILITY CLASSES
   ============================================================ */

/* Accent text */
.ct-accent  { color: var(--ct-primary) !important; }

/* Gradient text */
.ct-gradient-text {
  background: linear-gradient(135deg, var(--ct-primary) 0%, #ff9a8b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Card surfaces */
.ct-card-dark {
  background: var(--ct-dark-600);
  border-radius: var(--ct-radius-md);
  padding: 28px;
}

.ct-card-outline {
  border: 1px solid rgba(249,93,84,0.3);
  border-radius: var(--ct-radius-md);
  padding: 28px;
}

/* Pill / badge */
.ct-pill {
  display: inline-block;
  background: rgba(249,93,84,0.15);
  color: var(--ct-primary);
  border: 1px solid rgba(249,93,84,0.3);
  border-radius: 100px;
  padding: 4px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Divider line */
.ct-rule {
  height: 2px;
  background: linear-gradient(90deg, var(--ct-primary) 0%, transparent 100%);
  border: none;
  margin: 0;
}

/* ============================================================
   PROCESS / TIMELINE  (ct-timeline-wrap)
   Powers the How It Works section via divi/code
   ============================================================ */
.ct-timeline-wrap { max-width: 760px; margin: 0 auto; padding: 40px 20px 0; }
.ct-step          { display: flex; gap: 0; margin-bottom: 0; position: relative; }
.ct-step:last-child .ct-line { display: none; }
.ct-marker        { display: flex; flex-direction: column; align-items: center; width: 56px; min-width: 56px; }
.ct-circle        { width: 52px; height: 52px; min-height: 52px; background: var(--ct-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 15px; font-family: inherit; letter-spacing: 0; z-index: 1; flex-shrink: 0; }
.ct-line          { flex: 1; width: 3px; background: var(--ct-primary); opacity: 0.3; margin: 4px 0; min-height: 40px; }
.ct-card          { flex: 1; background: var(--ct-dark-600); border-radius: var(--ct-radius-md); padding: 24px 28px; margin-left: 20px; margin-bottom: 20px; }
.ct-eyebrow       { color: var(--ct-primary); font-size: 10px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; }
.ct-title         { color: var(--ct-white); font-size: 20px; font-weight: 700; margin-bottom: 10px; line-height: 1.3; }
.ct-desc          { color: var(--ct-text-muted); font-size: 14px; line-height: 1.75; margin: 0; }


/* ===== Mobile nav: keep header + open dropdown above all page content ===== */
  .et-l--header { position: relative; z-index: 99999; }
  .et-l--header .et_mobile_nav_menu,
  .et-l--header .et_mobile_menu,
  .et_mobile_menu { z-index: 100000 !important; }


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 980px) {
  .ct-timeline-wrap { padding: 20px 0 0; }
  .ct-marker  { width: 40px; min-width: 40px; }
  .ct-circle  { width: 40px; height: 40px; min-height: 40px; font-size: 13px; }
  .ct-card    { padding: 20px; margin-left: 14px; }
  .ct-title   { font-size: 18px; }
}
