/*
Theme Name: Hans Developer
Theme URI: https://hanshyundai.com
Author: TheSachdev Group Digital
Author URI: https://thesachdevgroup.com
Description: Premium business theme for Hans Hyundai blog. Sharp editorial design with Hyundai brand identity. Built for performance, security, and lead generation.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: Proprietary
License URI:
Text Domain: hans-developer
Tags: blog, business, automotive, one-column, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */

:root {
	/* Brand */
	--hd-primary:        #002c5f;
	--hd-primary-dark:   #001f42;
	--hd-accent:         #2563eb;
	--hd-accent-hover:   #1d4ed8;

	/* Text */
	--hd-text:           #0f172a;
	--hd-body:           #475569;
	--hd-muted:          #94a3b8;
	--hd-label:          #64748b;

	/* Surfaces */
	--hd-white:          #ffffff;
	--hd-bg-alt:         #f8fafc;
	--hd-border:         #e2e8f0;
	--hd-border-light:   #f1f5f9;

	/* Status */
	--hd-success:        #16a34a;
	--hd-danger:         #dc2626;

	/* Type */
	--hd-font-display:   'Montserrat', 'Helvetica Neue', Arial, sans-serif;
	--hd-font-body:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;

	/* Rhythm */
	--hd-container:      1280px;
	--hd-reading:        720px;
	--hd-gutter:         1.25rem;
	--hd-section-y:      3rem;
	--hd-header-h:       72px;

	/* Motion */
	--hd-ease:           cubic-bezier(0.4, 0, 0.2, 1);
	--hd-speed:          0.3s;
}

/* ==========================================================================
   2. RESET + BASE
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
	/* Signature: sharp editorial corners, no rounding anywhere. */
	border-radius: 0 !important;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--hd-header-h) + 1rem);
}

body {
	margin: 0;
	background: var(--hd-white);
	color: var(--hd-body);
	font-family: var(--hd-font-body);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

body.hd-menu-open {
	overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 1rem;
	color: var(--hd-text);
	font-family: var(--hd-font-display);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}

h1 { font-size: clamp(2.25rem, 5vw, 4rem); }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.75rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
h4 { font-size: 1.125rem; }
h5 { font-size: 1rem; }
h6 { font-size: 0.875rem; letter-spacing: 0.1em; }

p { margin: 0 0 1.25rem; }

a {
	color: var(--hd-accent);
	text-decoration: none;
	transition: color var(--hd-speed) var(--hd-ease);
}

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

img,
svg,
video,
iframe {
	max-width: 100%;
	height: auto;
	display: block;
}

figure { margin: 0 0 1.5rem; }

ul, ol { margin: 0 0 1.25rem; padding-left: 1.25rem; }
li { margin-bottom: 0.5rem; }

blockquote {
	margin: 2rem 0;
	padding: 0 0 0 1.5rem;
	border-left: 4px solid var(--hd-accent);
	color: var(--hd-text);
	font-size: 1.125rem;
	font-style: italic;
	font-weight: 500;
}

code, pre, kbd, samp {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9em;
}

code {
	padding: 0.15em 0.4em;
	background: var(--hd-border-light);
	color: var(--hd-primary);
}

pre {
	margin: 0 0 1.5rem;
	padding: 1.25rem;
	overflow-x: auto;
	background: var(--hd-text);
	color: #e2e8f0;
	line-height: 1.6;
}

pre code { background: none; color: inherit; padding: 0; }

hr {
	margin: 2.5rem 0;
	border: 0;
	border-top: 1px solid var(--hd-border);
}

table {
	width: 100%;
	margin-bottom: 1.5rem;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

th, td {
	padding: 0.75rem 1rem;
	border: 1px solid var(--hd-border);
	text-align: left;
}

th {
	background: var(--hd-bg-alt);
	color: var(--hd-text);
	font-weight: 800;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* ==========================================================================
   3. ACCESSIBILITY
   ========================================================================== */

:focus-visible {
	outline: 3px solid var(--hd-accent);
	outline-offset: 2px;
}

.hd-skip-link {
	position: absolute;
	top: -100px;
	left: 1rem;
	z-index: 100000;
	padding: 0.85rem 1.5rem;
	background: var(--hd-accent);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	transition: top var(--hd-speed) var(--hd-ease);
}

.hd-skip-link:focus {
	top: 1rem;
	color: #fff;
}

/* Screen-reader-only text (WordPress standard class names) */
.screen-reader-text,
.hd-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	position: static !important;
	width: auto;
	height: auto;
	margin: 0;
	clip: auto;
	clip-path: none;
	white-space: normal;
}

/* ==========================================================================
   4. SCROLLBAR
   ========================================================================== */

html { scrollbar-color: var(--hd-primary) var(--hd-border-light); scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--hd-border-light); }
::-webkit-scrollbar-thumb { background: var(--hd-primary); }
::-webkit-scrollbar-thumb:hover { background: var(--hd-accent); }

/* ==========================================================================
   5. WORDPRESS CORE CLASSES
   ========================================================================== */

.alignleft  { float: left;  margin: 0.5rem 1.5rem 1rem 0; }
.alignright { float: right; margin: 0.5rem 0 1rem 1.5rem; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide, .alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }
.alignfull img { width: 100%; }

.wp-caption { max-width: 100%; }

.wp-caption-text,
.wp-element-caption,
figcaption {
	margin-top: 0.6rem;
	color: var(--hd-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	text-align: center;
}

.sticky .hd-card { border-color: var(--hd-accent); }
.bypostauthor > .hd-comment-body { border-left: 3px solid var(--hd-accent); }

/* ==========================================================================
   6. MOTION PREFERENCES
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ==========================================================================
   7. PRINT
   ========================================================================== */

@media print {
	.hd-header,
	.hd-footer,
	.hd-sidebar,
	.hd-progress,
	.hd-sticky-nav,
	.hd-form,
	.hd-share,
	.hd-pagination,
	#comments {
		display: none !important;
	}

	body { background: #fff; color: #000; font-size: 12pt; }
	.hd-container, .hd-article { max-width: 100%; padding: 0; }
	a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
}
