/*
Theme Name: ADV Group
Theme URI: https://adv-group.com.ua
Description: Law Firm Website - Child Theme for GeneratePress with GenerateBlocks Pro 2.0+
Author: ADV Group
Author URI: https://adv-group.com.ua
Template: generatepress
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adv

Note: Header/Navigation styles moved to assets/header.css (standalone)
This file contains only global theme styles, cards, forms, and animations.
*/

/* ==========================================================================
   CSS VARIABLES
   ========================================================================== */

:root {
	/* ADV GROUP Brand Colors - Light Theme Default */
	--adv-gold: #c9a227;
	--adv-gold-light: #d4b74a;
	--adv-gold-dark: #a88920;
	--adv-navy: #0a1628;
	--adv-navy-light: #142238;
	--adv-navy-dark: #050d18;
	--adv-cream: #f5f0e6;
	--adv-orange: #e67e22;
	--adv-orange-hover: #d35400;

	/* Primary Colors */
	--adv-primary: #003d7a;
	--adv-primary-dark: #002447;
	--adv-accent: #0052cc;
	--adv-accent-light: #1a66ff;

	/* Text Colors */
	--adv-text: #0f1419;
	--adv-text-light: #5a6b7d;
	--adv-text-lighter: #8a96a8;

	/* Background Colors */
	--adv-bg: #fff;
	--adv-bg-light: #f5f7fa;
	--adv-bg-dark: #e8ecf2;

	/* Border Colors */
	--adv-border: #d4dce7;

	/* GenerateBlocks Compatible Variables - Light Theme */
	--base-3: #fff;
	--base-2: #f5f7fa;
	--contrast: #0f1419;
	--accent: #e67e22;
	--accent-2: #d35400;
	--border-color: #d4dce7;

	/* Legacy color variables */
	--color-primary: #003d7a;
	--color-primary-dark: #002447;
	--color-accent: #e67e22;
	--color-accent-light: #f39c12;
	--color-text: #0f1419;
	--color-text-light: #5a6b7d;
	--color-text-lighter: #8a96a8;
	--color-border: #d4dce7;

	/* Status Colors */
	--adv-success: #22c55e;
	--adv-warning: #f59e0b;
	--adv-info: #3b82f6;

	/* Gradients */
	--adv-gradient-1: linear-gradient(135deg, #1a3a52 0%, #2d5a7b 100%);
	--adv-gradient-2: linear-gradient(135deg, #0052cc 0%, #1a66ff 100%);

	/* Typography */
	--adv-font-main:
		'Inter', -apple-system, blinkmacsystemfont, 'Segoe UI',
		'Helvetica Neue', sans-serif;
	--adv-font-heading:
		'Inter', -apple-system, blinkmacsystemfont, 'Segoe UI', sans-serif;

	/* Shadows */
	--adv-shadow-sm: 0 2px 8px rgb(15, 20, 25, 0.05);
	--adv-shadow-md: 0 4px 16px rgb(15, 20, 25, 0.1);
	--adv-shadow-lg: 0 8px 32px rgb(15, 20, 25, 0.15);
	--adv-shadow-xl: 0 16px 48px rgb(15, 20, 25, 0.2);

	/* Transitions */
	--adv-transition-fast: 0.2s ease-out;
	--adv-transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	--adv-transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==========================================================================
   DARK THEME VARIABLES
   ========================================================================== */

[data-theme='dark'] {
	/* GenerateBlocks Compatible Variables - Dark Theme */
	--base-3: #0a1628;
	--base-2: #142238;
	--contrast: #c9a227;
	--accent: #e67e22;
	--accent-2: #f39c12;
	--border-color: #1e3a5f;

	/* Text overrides */
	--adv-text: #c9a227;
	--adv-text-light: #d4b74a;
	--adv-bg: #0a1628;
	--adv-bg-light: #142238;
	--adv-border: #1e3a5f;
	--color-text: #c9a227;
	--color-text-lighter: #a8b3c2;
	--color-border: #1e3a5f;

	/* Dark theme specific */
	--bg-primary: #0a1628;
	--bg-secondary: #142238;
	--bg-card: #142238;
	--text-primary: #c9a227;
	--text-secondary: #d4b74a;
}

/* ==========================================================================
   BASE STYLES
   ========================================================================== */

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--adv-font-main);
	color: var(--adv-text);
	line-height: 1.6;
	background: var(--adv-bg);
}

a {
	color: inherit;
	text-decoration: none;
}

button {
	font-family: inherit;
	cursor: pointer;
	border: none;
}

/* ==========================================================================
   FORM STYLES
   ========================================================================== */

.adv-form-input,
.adv-form-textarea {
	width: 100%;
	padding: 0.875rem 1rem;
	border: 1.5px solid var(--adv-border);
	border-radius: 10px;
	font-family: inherit;
	font-size: 0.875rem;
	color: var(--adv-text);
	transition: all var(--adv-transition-normal);
	background: var(--adv-bg);
}

.adv-form-input:is(:hover, :focus),
.adv-form-textarea:is(:hover, :focus) {
	outline: none;
	border-color: var(--adv-accent);
	box-shadow: 0 0 0 3px rgb(0, 82, 204, 0.1);
}

.adv-form-textarea {
	resize: vertical;
	min-height: 100px;
}

.adv-checkbox-input {
	width: 16px;
	height: 16px;
	accent-color: var(--adv-accent);
	cursor: pointer;
}

/* ==========================================================================
   NAVIGATION LINK STYLES
   Note: Main navigation styles are in assets/header.css (standalone)
   These styles are for specific GenerateBlocks elements only
   ========================================================================== */

/* ==========================================================================
   ANIMATION KEYFRAMES
   ========================================================================== */

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes slideInRight {
	from {
		transform: translateX(100%);
	}

	to {
		transform: translateX(0);
	}
}

/* ==========================================================================
   PRACTICE CARDS STYLES
   ========================================================================== */

.adv-practice-card {
	background: #fff;
	padding: 2rem;
	border-radius: 14px;
	border: 1px solid var(--adv-border);
	border-left: 5px solid var(--adv-accent);
	transition: all var(--adv-transition-normal);
	position: relative;
	overflow: hidden;
}

.adv-practice-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 40px rgb(15, 20, 25, 0.12);
	border-color: var(--adv-accent);
}

.adv-practice-card .practice-icon,
.adv-practice-card > div:first-child {
	width: 50px;
	height: 50px;
	background: var(--adv-gradient-2);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	font-size: 1.5rem;
	box-shadow: 0 4px 16px rgb(0, 82, 204, 0.2);
}

.adv-practice-card h3 {
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--adv-primary-dark);
	margin-bottom: 0.75rem;
	letter-spacing: -0.3px;
}

.adv-practice-card p {
	font-size: 0.875rem;
	color: var(--adv-text-light);
	line-height: 1.7;
	margin: 0;
}

/* ==========================================================================
   TEAM CARDS STYLES
   ========================================================================== */

.adv-team-card {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--adv-border);
	box-shadow: var(--adv-shadow-sm);
	transition: all var(--adv-transition-normal);
	width: 100%;
}

.adv-team-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 16px 40px rgb(15, 20, 25, 0.14);
	border-color: var(--adv-accent);
}

.adv-team-card > div:first-child {
	width: 100%;
	height: 280px;
	background: linear-gradient(135deg, #e0e7ff 0%, #f0f4f8 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.75rem;
}

.adv-team-card > div:last-child {
	padding: 1.25rem;
}

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

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   ========================================================================== */

@media (width <= 1024px) {
	:root {
		--adv-container-padding: 2rem;
	}
}

@media (width <= 768px) {
	:root {
		--adv-container-padding: 1.25rem;
	}

	.adv-section {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
}

/* ==========================================================================
   DARK THEME STYLES
   ========================================================================== */

/* Practice Cards - Dark Theme */
[data-theme='dark'] .adv-practice-card {
	background: var(--gradient-card);
	border-color: var(--border-color, #334155);
	border-left-color: var(--adv-accent);
}

[data-theme='dark'] .adv-practice-card:hover,
[data-theme='dark'] .adv-practice-card:focus {
	border-color: var(--adv-gold);
	border-left-color: var(--contrast);
}

[data-theme='dark'] .adv-practice-card h3 {
	color: var(--text-primary);
}

[data-theme='dark'] .adv-practice-card p {
	color: var(--color-text-lighter);
}

/* News Cards - Dark Theme */
[data-theme='dark'] .adv-news-card {
	background: var(--gradient-card);
	border-color: var(--border-color, #334155);
	border-left-color: var(--adv-accent);
}

[data-theme='dark'] .adv-news-card:hover,
[data-theme='dark'] .adv-news-card:focus {
	border-color: var(--adv-gold);
	border-left-color: var(--contrast);
}

[data-theme='dark'] .adv-news-card h3 {
	color: var(--text-primary);
}

[data-theme='dark'] .adv-news-card p {
	color: var(--color-text-lighter);
}

/* Team Cards - Dark Theme */
[data-theme='dark'] .adv-team-card {
	background: var(--gradient-card);
	border-color: var(--border-color, #334155);
	border-left-color: var(--adv-accent);
}

[data-theme='dark'] .adv-team-card:hover,
[data-theme='dark'] .adv-team-card:focus {
	border-color: var(--adv-gold);
	border-left-color: var(--contrast);
}

[data-theme='dark'] .adv-team-card h3 {
	color: var(--text-primary);
}

[data-theme='dark'] .adv-team-card p {
	color: var(--color-text-lighter);
}

[data-theme='dark'] .adv-team-card > div:first-child {
	background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
}

/* Form Inputs - Dark Theme */
[data-theme='dark'] .adv-form-input,
[data-theme='dark'] .adv-form-textarea {
	background: var(--bg-secondary, #1e293b);
	color: var(--text-primary, #f1f5f9);
	border-color: var(--border-color, #334155);
}

[data-theme='dark'] .adv-form-input:is(:hover, :focus),
[data-theme='dark'] .adv-form-textarea:is(:hover, :focus) {
	border-color: var(--accent, #3b82f6);
	box-shadow: 0 0 0 3px rgb(59, 130, 246, 0.2);
}
