/*
Theme Name: TVTX Divi Child
Theme URI: https://tvtxproductions.com
Description: TVTX Productions customizations for Divi 5. Page layouts remain editable in the Visual Builder.
Author: TVTX Productions LLC
Version: 1.2.2
Template: Divi
Text Domain: tvtx-divi-child
*/

/* Site-specific styles are maintained here; Divi owns page layout settings. */
:root {
  --tvtx-ink: #09090d;
  --tvtx-surface: #14111b;
  --tvtx-eggplant: #39234c;
  --tvtx-orchid: #cf83e6;
  --tvtx-ocean: #67d4cb;
  --tvtx-paper: #f5f1f7;
}

:focus-visible { outline: 2px solid var(--tvtx-ocean); outline-offset: 5px; }

/* The page itself uses native Divi sections, rows, Hero, Text, and Contact Form.
 * These shared rules give those editable modules a consistent TVTX finish. */
body, #page-container, #main-content {
  background: var(--tvtx-ink);
  color: #c9c2d1;
}
body { font-family: "Inter", "Segoe UI", Arial, sans-serif; font-size: 17px; line-height: 1.75; }
h1,h2,h3,h4,h5,h6 { color: var(--tvtx-paper); font-family: "Space Grotesk", "Segoe UI", sans-serif; line-height: 1.12; }
h2 { font-size: clamp(32px,4vw,54px); letter-spacing: -.035em; padding-bottom: 24px; }
h3 { font-size: clamp(24px,2.4vw,30px); letter-spacing: -.025em; padding-bottom: 18px; }
p { padding-bottom: 1.1em; }
a { color: var(--tvtx-ocean); }
.et_pb_section { background-color: var(--tvtx-ink); padding: 84px 0; }
.et_pb_row { width: 86%; max-width: 1200px; }
.et_pb_text { color: #c9c2d1 !important; font-size: 17px; line-height: 1.8; }
.et_pb_text h2 { max-width: 780px; color: var(--tvtx-paper) !important; }
.et_pb_text h3 { color: var(--tvtx-paper) !important; }
.et_pb_text > div > p:not(.tvtx-eyebrow) { max-width: 850px; }
.tvtx-eyebrow { color: var(--tvtx-ocean); font-size: 12px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; padding-bottom: 24px; }
.tvtx-card { background: linear-gradient(155deg,#1b1425,#100f16); border: 1px solid #32283c; border-radius: 6px; padding: 32px 26px; min-height: 380px; }
.tvtx-card h3 { color: var(--tvtx-paper); }
.tvtx-card p { font-size: 16px; }
.tvtx-card .tvtx-detail { color: #cf83e6; font-size: 12px; line-height: 1.6; padding: 20px 0 0; border-top: 1px solid #32283c; }
.et_pb_fullwidth_header, .et_pb_hero { border-radius: 6px; background-image: linear-gradient(90deg,rgba(9,9,13,.95),rgba(9,9,13,.35)),url('assets/connected-systems.jpg'); background-size: cover; background-position: center; background-color: #14101b !important; }
.et_pb_fullwidth_header .header-content, .et_pb_hero .header-content { text-align: left; max-width: 760px; }
.et_pb_fullwidth_header .et_pb_header_content_wrapper, .et_pb_hero .et_pb_header_content_wrapper { max-width: 600px; font-size: 18px; line-height: 1.75; }
.et_pb_fullwidth_header_subhead { color: var(--tvtx-ocean); font-size: 12px; letter-spacing: .12em; padding: 12px 0 18px; }
.et_pb_button, .et_pb_contact_submit { color: #09090d !important; background: var(--tvtx-ocean) !important; border: 1px solid var(--tvtx-ocean) !important; border-radius: 3px !important; font-weight: 600; font-size: 16px !important; padding: 13px 25px !important; }
.et_pb_button:hover, .et_pb_contact_submit:hover { background: #a2e8e0 !important; border-color: #a2e8e0 !important; }
#contact { scroll-margin-top: 100px; }
#capabilities, #about { scroll-margin-top: 110px; }
.et_pb_contact_form_container h2 { max-width: 760px; margin-bottom: 24px; color: var(--tvtx-paper) !important; }
.et_pb_contact_form .input, .et_pb_contact_form textarea { background: #17131f !important; border: 1px solid #42334f !important; color: var(--tvtx-paper) !important; border-radius: 3px; font-size: 16px; }
.et_pb_contact_form .input::placeholder, .et_pb_contact_form textarea::placeholder { color: #b7adc0 !important; opacity: 1; }
.et_pb_contact_captcha_question, .et_pb_contact_right { color: #c9c2d1; }
#main-header, #top-header { background: #09090d; box-shadow: none; border-bottom: 1px solid #2b2334; }
#top-menu a, .et_mobile_menu li a { color: #eee8f1; font-size: 14px; }
#top-menu li.current-menu-item>a { color: var(--tvtx-ocean); }
.mobile_menu_bar:before { color: var(--tvtx-ocean) !important; }
.mobile_menu_bar { cursor: pointer; min-width: 44px; min-height: 44px; }
#logo { max-height: 48px !important; width: auto; }
.et_mobile_menu { background: #14111b; border-color: var(--tvtx-ocean); }
#main-header .et_mobile_menu li a { color: var(--tvtx-paper) !important; opacity: 1; border-bottom-color: #32283c; }
#main-header .et_mobile_menu li a:hover,
#main-header .et_mobile_menu li a:focus-visible { color: var(--tvtx-ocean) !important; background: #211a2b; }
#main-footer, #footer-bottom { background: #09090d; border-top: 1px solid #2b2334; }
#footer-info, #footer-info a { color: #b8aec1; font-size: 12px; }
.et-social-icons { display:none; }
.et_pb_text ol { padding-left: 1.4em; }
.et_pb_text li { padding-bottom: 16px; }
@media (max-width: 980px) {
  .et_pb_section { padding: 56px 0; }
  .tvtx-card { min-height: 0; }
  .et_pb_fullwidth_header, .et_pb_hero { background-position: 65% center; }
}
@media (max-width: 767px) {
  /* Avoid stacking Divi's default 80% row and hero content widths. */
  #main-content .et_pb_row { width: calc(100% - 40px) !important; }
  #main-header .container, #footer-bottom .container { width: calc(100% - 40px); }
  .et_pb_fullwidth_header .et_pb_fullwidth_header_container { width: calc(100% - 32px) !important; }
  .et_pb_fullwidth_header .header-content { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .tvtx-card { padding: 28px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
