/*
Theme Name: Think Digital 2025 Child
Theme URI: https://example.com/
Description: Child theme for Twenty Twenty-Five inspired by the Think Digital visual identity, optimized for Elementor editing.
Author: Perplexity
Template: twentytwentyfive
Version: 1.0.0
Text Domain: thinkdigital-2025-child
*/

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
  --td-dark: #22145a;
  --td-dark-2: #2a1a67;
  --td-accent: #ff43bf;
  --td-accent-hover: #ef2fb0;
  --td-accent-soft: #ffb3e4;
  --td-light: #f1f1f3;
  --td-light-2: #e5e4eb;
  --td-text-dark: #21164f;
  --td-text-light: #ffffff;
  --td-muted-on-dark: #b9b1d5;
  --td-muted-on-light: #7d7596;
  --td-border: rgba(34, 20, 90, 0.12);
  --td-radius: 10px;
  --td-shadow: 0 10px 30px rgba(34, 20, 90, 0.14);
}

body {
  font-family: "IBM Plex Mono", monospace;
  color: var(--td-text-dark);
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading,
.elementor-heading-title,
.site-title,
.wp-block-post-title {
  font-family: "Atten New", "Arial Narrow", "Montserrat", Arial, sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  line-height: 0.95;
  color: var(--td-text-dark);
}

p,
li,
a,
span,
button,
input,
textarea,
select,
label,
.elementor-widget-text-editor,
.elementor-button-text {
  font-family: "IBM Plex Mono", monospace;
}

a {
  color: var(--td-dark);
  text-decoration: none;
}

a:hover {
  color: var(--td-accent);
}

button,
.wp-element-button,
.wp-block-button__link,
.elementor-button,
input[type="submit"],
input[type="button"] {
  background: var(--td-accent);
  color: var(--td-text-dark);
  border: 0;
  border-radius: 6px;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  box-shadow: none;
  transition: all .2s ease;
}

button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.elementor-button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background: var(--td-accent-hover);
  color: var(--td-text-dark);
  transform: translateY(-1px);
}

.site-header,
header.wp-block-template-part {
  background: var(--td-light);
}

.site-footer,
footer.wp-block-template-part,
.td-footer-dark {
  background: var(--td-dark);
  color: var(--td-text-light);
}

.site-footer *,
footer.wp-block-template-part *,
.td-footer-dark * {
  color: inherit;
}

.td-section-dark,
.td-hero-dark,
.td-footer-dark,
.elementor-section.td-section-dark > .elementor-container,
.elementor-section.td-section-dark > .elementor-column-gap-default {
  background: var(--td-dark);
  color: var(--td-text-light);
}

.td-section-dark h1,
.td-section-dark h2,
.td-section-dark h3,
.td-section-dark h4,
.td-section-dark h5,
.td-section-dark h6,
.td-hero-dark h1,
.td-hero-dark h2,
.td-hero-dark h3,
.td-footer-dark h1,
.td-footer-dark h2,
.td-footer-dark h3 {
  color: var(--td-accent);
}

.td-section-dark p,
.td-section-dark li,
.td-section-dark span,
.td-section-dark a,
.td-hero-dark p,
.td-footer-dark p,
.td-footer-dark li,
.td-footer-dark a {
  color: var(--td-text-light);
}

.td-section-light {
  background: var(--td-light);
  color: var(--td-text-dark);
}

.td-section-light h1,
.td-section-light h2,
.td-section-light h3,
.td-section-light h4,
.td-section-light h5,
.td-section-light h6 {
  color: var(--td-text-dark);
}

.td-eyebrow,
.td-kicker {
  color: var(--td-muted-on-light);
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.08em;
}

.td-section-dark .td-eyebrow,
.td-section-dark .td-kicker,
.td-footer-dark .td-eyebrow,
.td-footer-dark .td-kicker {
  color: var(--td-muted-on-dark);
}

.td-card {
  background: #fff;
  border: 1px solid var(--td-border);
  border-radius: var(--td-radius);
  box-shadow: var(--td-shadow);
}

.td-card-dark {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--td-radius);
}

.td-logo-strip img {
  opacity: 0.45;
  filter: grayscale(100%);
}

.td-pattern-arrows::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(135deg, transparent 0 47%, var(--td-accent) 47% 53%, transparent 53% 100%);
  opacity: 0.06;
  pointer-events: none;
}

form input,
form textarea,
form select,
.elementor-field,
.wp-block-search__input {
  border: 1px solid var(--td-border);
  border-radius: 6px;
  background: #fff;
  color: var(--td-text-dark);
}

::selection {
  background: var(--td-accent);
  color: var(--td-text-dark);
}

@media (max-width: 767px) {
  h1,
  .wp-block-heading,
  .elementor-heading-title {
    letter-spacing: -0.02em;
    line-height: 0.98;
  }

  .td-mobile-center {
    text-align: center;
  }
}
