/*
Theme Name: WebDevWizardYT — Hello Elementor Child
Description: A lightweight Hello Elementor child theme with styles for the WebDevWizardYT Elementor templates.
Author: WebDevWizardYT
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-wdw
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* Shared design tokens are scoped to the imported templates. */
.wdw {
  --wdw-ink: #131e2c;
  --wdw-muted: #47596d;
  --wdw-paper: #f5f7fc;
  --wdw-line: #d6deea;
  --wdw-blue: #294cc2;
  --wdw-night: #101a2a;
  --wdw-mint: #aaf3cd;
  --wdw-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --wdw-mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  color: var(--wdw-ink);
  font-family: var(--wdw-sans);
}

.wdw.e-con, .wdw .e-con {
  --gap: 0px;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
}

.wdw .elementor-widget-text-editor,
.wdw .elementor-heading-title,
.wdw .elementor-button,
.wdw .elementor-post__title {
  font-family: var(--wdw-sans);
}

.wdw .elementor-heading-title { color: inherit; }
.wdw .elementor-heading-title a { color: inherit; }
.wdw .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.wdw .elementor-widget { min-width: 0; }
.wdw a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.wdw .wdw-shell { width: min(1184px, calc(100% - 2 * clamp(1.25rem, 4.5vw, 4.5rem))); margin-inline: auto; }
.wdw .wdw-section-flow { gap: clamp(1.6rem, 4vw, 3rem); }
.wdw .wdw-section-heading { gap: 0.65rem; max-width: 46rem; }
.wdw .wdw-section-heading h2 { font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.04; letter-spacing: -0.055em; font-weight: 750; }
.wdw .wdw-section-heading .elementor-widget-text-editor { color: var(--wdw-muted); font-size: 1.06rem; line-height: 1.6; }

.wdw .wdw-kicker .elementor-heading-title,
.wdw .wdw-tool-index .elementor-heading-title,
.wdw .wdw-article-date .elementor-heading-title {
  color: var(--wdw-blue);
  font: 700 0.75rem/1.4 var(--wdw-mono);
  letter-spacing: 0.09em;
}

/* Header and footer */
.wdw.wdw-header { position: relative; z-index: 2; background: var(--wdw-night); color: #fff; border-bottom: 1px solid #2e3b50; }
.wdw.wdw-footer { background: var(--wdw-night); color: #e0e8f4; border-top: 1px solid #2e3b50; }
.wdw .wdw-header-layout, .wdw .wdw-footer-layout {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1.4rem;
}
.wdw .wdw-header-layout { padding-block: 0.85rem; }
.wdw .wdw-footer-layout { padding-block: 2.5rem; }
.wdw .wdw-header-layout > *, .wdw .wdw-footer-layout > * { width: auto; }
.wdw .wdw-wordmark .elementor-heading-title { color: #fff; font-size: clamp(1.1rem, 3vw, 1.4rem); font-weight: 800; letter-spacing: -0.045em; }
.wdw .wdw-wordmark span { color: var(--wdw-mint); }
.wdw .wdw-wordmark a:hover { color: var(--wdw-mint); }
.wdw .wdw-footer-brand { gap: 0.7rem; }
.wdw .wdw-footer-brand .elementor-widget-text-editor { color: #c2cede; }
.wdw .wdw-nav { max-width: 100%; }
.wdw .wdw-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: wrap; }
.wdw .wdw-nav .elementor-nav-menu a { min-height: 44px; padding: 0.6rem 0.75rem; color: #e0e8f4; font: 650 0.92rem/1.4 var(--wdw-sans); }
.wdw .wdw-nav .elementor-nav-menu a:hover,
.wdw .wdw-nav .elementor-nav-menu a:focus-visible,
.wdw .wdw-nav .elementor-nav-menu .elementor-item-active { color: var(--wdw-mint); text-decoration: underline; text-underline-offset: 0.25em; }
.wdw .wdw-nav .elementor-nav-menu--dropdown { background: #1b2a40; }
.wdw .wdw-nav .elementor-nav-menu--dropdown a:hover,
.wdw .wdw-nav .elementor-nav-menu--dropdown a:focus-visible,
.wdw .wdw-nav .elementor-nav-menu--dropdown .elementor-item-active { background: #253756; }
.wdw .wdw-nav .elementor-menu-toggle { min-width: 44px; min-height: 44px; color: #e0e8f4; }
.wdw .wdw-nav :is(.elementor-nav-menu a, .elementor-menu-toggle):focus-visible { outline: 2px solid var(--wdw-mint); outline-offset: -2px; }

/* Homepage */
.wdw.wdw-hero {
  background: radial-gradient(ellipse at 90% 18%, #253756 0%, transparent 54%), var(--wdw-night);
  color: #fff;
}
.wdw .wdw-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: clamp(3rem, 8vw, 7rem);
}
.wdw .wdw-hero-copy { gap: clamp(1rem, 2.4vw, 1.65rem); }
.wdw .wdw-hero-copy .wdw-kicker .elementor-heading-title { color: var(--wdw-mint); }
.wdw .wdw-display .elementor-heading-title {
  color: #fff;
  font-size: clamp(2.7rem, 5.7vw, 5.5rem);
  font-weight: 800;
  letter-spacing: -0.073em;
  line-height: 0.98;
  text-wrap: balance;
}
.wdw .wdw-display span { color: var(--wdw-mint); }
.wdw .wdw-lede { color: #d1dcec; font-size: clamp(1rem, 1.7vw, 1.2rem); line-height: 1.65; max-width: 33rem; }
.wdw .wdw-actions { flex-direction: row; flex-wrap: wrap; gap: 0.65rem; }
.wdw .wdw-actions .elementor-widget-button { width: auto; }
.wdw .wdw-actions .elementor-button {
  background: var(--wdw-mint);
  border: 1px solid var(--wdw-mint);
  border-radius: 8px;
  color: #122b25;
  font-size: 0.94rem;
  font-weight: 750;
  padding: 0.85rem 1.1rem;
}
.wdw .wdw-actions .elementor-button:hover { background: #d5fce7; border-color: #d5fce7; }
.wdw .wdw-actions .wdw-button-quiet .elementor-button { background: transparent; border-color: #8493ad; color: #fff; }
.wdw .wdw-actions .wdw-button-quiet .elementor-button:hover { background: #273b56; }
.wdw .wdw-demo { background: #0b1320; border: 1px solid #475977; border-radius: 14px; box-shadow: 0 20px 48px #0005; }
.wdw .wdw-demo .elementor-widget-text-editor { color: #e6eef9; font: 0.87rem/1.65 var(--wdw-mono); }
.wdw .wdw-demo-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem; padding: 0.7rem 0.95rem; border-bottom: 1px solid #34415a; color: #bdcde3; }
.wdw .wdw-demo-dots, .wdw .wdw-demo-body code span { color: var(--wdw-mint); }
.wdw .wdw-demo-body { padding: clamp(1rem, 3vw, 1.7rem); }
.wdw .wdw-demo-body p { color: #a6b8d5; font-size: 0.71rem; letter-spacing: 0.13em; }
.wdw .wdw-demo-body pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.wdw .wdw-demo-body code { font: inherit; color: inherit; }
.wdw .wdw-demo-note { margin-top: 1.25rem; padding-top: 0.9rem; border-top: 1px solid #34415a; color: #bdcde3; }

.wdw.wdw-tools, .wdw.wdw-archive { background: var(--wdw-paper); }
.wdw.wdw-latest, .wdw.wdw-single { background: #fff; }
.wdw.wdw-tools, .wdw.wdw-latest, .wdw.wdw-archive, .wdw.wdw-single { padding-block: clamp(3rem, 7vw, 6rem); }
.wdw .wdw-tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.wdw .wdw-tool {
  gap: 0.85rem;
  padding: clamp(1.2rem, 3vw, 1.7rem);
  border: 1px solid var(--wdw-line);
  border-top: 4px solid var(--wdw-accent);
  border-radius: 12px;
  background: #fff;
}
.wdw .wdw-tool-blue { --wdw-accent: #4463cc; }
.wdw .wdw-tool-green { --wdw-accent: #258062; }
.wdw .wdw-tool-amber { --wdw-accent: #a36516; }
.wdw .wdw-tool h3, .wdw.wdw-post-card h3 { font-size: clamp(1.18rem, 2vw, 1.42rem); line-height: 1.22; letter-spacing: -0.03em; font-weight: 750; }
.wdw .wdw-tool .elementor-widget-text-editor, .wdw.wdw-post-card .wdw-card-excerpt { color: var(--wdw-muted); line-height: 1.62; }

/* Blog listings and reading layout */
.wdw.wdw-post-card, .wdw .wdw-archive-list .elementor-post {
  height: 100%;
  padding: 1.4rem;
  border: 1px solid var(--wdw-line);
  border-radius: 12px;
  background: #fff;
  overflow-wrap: anywhere;
}
.wdw.wdw-post-card { gap: 0.75rem; }
.wdw.wdw-post-card h3 a:hover, .wdw .wdw-archive-list .elementor-post__title a:hover { color: var(--wdw-blue); text-decoration: underline; }
.wdw .wdw-archive-list .elementor-post__title a { color: var(--wdw-ink); font-size: 1.22rem; font-weight: 750; }
.wdw .wdw-archive-list .elementor-post__excerpt p { color: var(--wdw-muted); font-size: 0.98rem; line-height: 1.6; }
.wdw .wdw-archive-list .elementor-post__read-more, .wdw .wdw-archive-list a.page-numbers { color: var(--wdw-blue); }
.wdw .wdw-archive-list .elementor-pagination { margin-top: 1.8rem; }
.wdw .wdw-page-title .elementor-heading-title {
  font-size: clamp(2.3rem, 6vw, 4.6rem);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 1.05;
  overflow-wrap: anywhere;
}
.wdw .wdw-article { max-width: 760px; gap: 1.8rem; }
.wdw .wdw-article-heading { gap: 0.9rem; }
.wdw .wdw-text-button .elementor-button { background: transparent; color: var(--wdw-blue); font-weight: 700; padding: 0.45rem 0; }
.wdw .wdw-text-button .elementor-button:hover { text-decoration: underline; }
.wdw .wdw-featured-image img { display: block; border-radius: 12px; width: 100%; height: auto; }
.wdw .wdw-prose { color: var(--wdw-ink); font-size: 1.06rem; line-height: 1.75; overflow-wrap: anywhere; }
.wdw .wdw-prose :is(h2, h3, h4) { margin-block: 1.35em 0.45em; font-weight: 750; line-height: 1.2; }
.wdw .wdw-prose a { color: var(--wdw-blue); text-decoration: underline; text-underline-offset: 0.16em; }
.wdw .wdw-prose pre { overflow-x: auto; padding: 1em; border-radius: 8px; background: var(--wdw-paper); }

@media (max-width: 880px) {
  .wdw .wdw-hero-layout { grid-template-columns: minmax(0, 1fr); }
  .wdw .wdw-demo { max-width: 35rem; }
}

@media (max-width: 680px) {
  .wdw .wdw-tool-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 470px) {
  .wdw .wdw-header-layout, .wdw .wdw-footer-layout { flex-direction: column; align-items: flex-start; }
  .wdw .wdw-display br { display: none; }
}
