/*
Theme Name: TechVero Block Pro
Theme URI: https://tech-vero.com
Author: TechVero
Author URI: https://tech-vero.com
Description: TechVero Block Pro — a modern WordPress block theme with Full Site Editing, valid editable templates, theme.json design tokens, template parts and reusable patterns.
Version: 2.1.1
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: techvero-block-pro
Tags: block-patterns, full-site-editing, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-width-template, portfolio, translation-ready
*/

/* =========================================================================
   TechVero — Design Tokens (CSS Custom Properties)
   -------------------------------------------------------------------------
   Change a value here once and it updates everywhere. Safe to edit.
   ========================================================================= */
:root {
  /* Brand colours (pulled from the live TechVero site) */
  --tv-primary:        #5b4ae6;   /* main indigo */
  --tv-primary-dark:   #4a39d6;   /* button hover / deep indigo */
  --tv-primary-soft:   #efedfd;   /* tinted indigo background */
  --tv-violet:         #7c5cff;   /* gradient partner */
  --tv-cyan:           #19b8e8;   /* small accent (dashboard chip) */
  --tv-green:          #16c08a;   /* success chip */
  --tv-gold:           #f6a609;   /* star ratings */

  /* Surfaces & ink */
  --tv-bg:             #eef0fb;   /* page lavender */
  --tv-bg-2:          #f6f6fe;   /* lighter section */
  --tv-surface:        #ffffff;   /* cards */
  --tv-ink:            #16142e;   /* headings (navy) */
  --tv-body:           #43425a;   /* body text */
  --tv-muted:          #6f6e88;   /* muted text */
  --tv-line:           #e7e6f4;   /* hairline borders */
  --tv-footer:         #14122a;   /* dark footer */
  --tv-footer-ink:     #b8b6d6;   /* footer text */

  /* Gradients */
  --tv-grad: linear-gradient(135deg, var(--tv-primary) 0%, var(--tv-violet) 100%);
  --tv-grad-soft: linear-gradient(135deg, #f4f2ff 0%, #eef0fb 60%, #f7f0ff 100%);

  /* Typography */
  --tv-font-head: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --tv-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Spacing & shape */
  --tv-maxw: 1200px;
  --tv-radius: 18px;
  --tv-radius-sm: 12px;
  --tv-radius-lg: 28px;
  --tv-gap: clamp(16px, 3vw, 28px);
  --tv-section-y: clamp(64px, 9vw, 128px);

  /* Shadows */
  --tv-shadow-sm: 0 4px 14px rgba(22, 20, 46, .06);
  --tv-shadow:    0 18px 50px rgba(22, 20, 46, .10);
  --tv-shadow-lg: 0 30px 80px rgba(53, 42, 160, .18);

  /* Motion */
  --tv-ease: cubic-bezier(.22, 1, .36, 1);
}

/* =========================================================================
   Base / reset
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body.techvero {
  margin: 0;
  font-family: var(--tv-font-body);
  color: var(--tv-body);
  background: var(--tv-bg);
  line-height: 1.65;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5 {
  font-family: var(--tv-font-head);
  color: var(--tv-ink);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 .5em;
  font-weight: 700;
}

p { margin: 0 0 1em; }

a { color: var(--tv-primary); text-decoration: none; transition: color .2s var(--tv-ease); }
a:hover { color: var(--tv-primary-dark); }

img { max-width: 100%; height: auto; display: block; }

ul { margin: 0; padding: 0; list-style: none; }

:focus-visible { outline: 3px solid var(--tv-primary); outline-offset: 3px; border-radius: 6px; }

/* Accessibility: skip link */
.tv-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 1000;
  background: var(--tv-primary); color: #fff; padding: 12px 18px; border-radius: 0 0 10px 0;
}
.tv-skip-link:focus { left: 0; color:#fff; }

/* Screen-reader only */
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
}
