/*
 * Stieger Child Theme — Component Overrides
 * -----------------------------------------
 * Inherits all design tokens from palette.css.
 * Don't put hex codes in this file. If you need a color, use var(--stieger-X).
 */

/* =========================================================================
   1. Base — page-wide defaults
   ========================================================================= */
body {
	background-color: var(--stieger-bg);
	color: var(--stieger-ink);
	font-family: var(--stieger-sans);
	font-weight: 400;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

::selection {
	background: var(--stieger-gold);
	color: var(--stieger-ink);
}

a {
	color: var(--stieger-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--stieger-rule);
	transition: border-color var(--stieger-fast) var(--stieger-ease);
}

a:hover,
a:focus {
	border-bottom-color: var(--stieger-gold);
}

a:focus-visible {
	outline: 2px solid var(--stieger-gold);
	outline-offset: 3px;
}

/* =========================================================================
   2. Typography
   ========================================================================= */
h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title,
.elementor-heading-title {
	font-family: var(--stieger-serif);
	font-weight: 600;
	color: var(--stieger-ink);
	letter-spacing: -0.005em;
	line-height: 1.1;
	margin: 0 0 0.6em;
}

h1, .entry-title { font-size: clamp(2.4rem, 5vw, 4rem); }
h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.7rem); }

p {
	margin: 0 0 1.1em;
}

.stieger-eyebrow,
.stieger-label {
	font-family: var(--stieger-sans);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--stieger-gold);
	display: inline-block;
}

blockquote {
	font-family: var(--stieger-serif);
	font-style: italic;
	font-size: clamp(1.2rem, 2.2vw, 1.6rem);
	color: var(--stieger-ink);
	border-left: 2px solid var(--stieger-gold);
	padding: 0.6em 0 0.6em 1.4em;
	margin: 2em 0;
}

/* =========================================================================
   3. Rules
   ========================================================================= */
hr,
.stieger-rule {
	border: none;
	border-top: 1px solid var(--stieger-rule);
	margin: 2rem 0;
}

.stieger-rule--gold { border-top-color: var(--stieger-gold); }
.stieger-rule--short { width: 30px; margin-left: 0; }

/* =========================================================================
   4. Buttons (flat, black, no rounding)
   ========================================================================= */
.button,
button,
input[type="submit"],
input[type="button"],
.elementor-button-link,
.wpforms-submit {
	background-color: var(--stieger-ink);
	color: var(--stieger-on-dark);
	border: none;
	border-radius: var(--stieger-radius);
	padding: 14px 26px;
	font-family: var(--stieger-sans);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--stieger-fast) var(--stieger-ease);
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.elementor-button-link:hover,
.wpforms-submit:hover {
	background-color: #1a1a1a;
}

/* Outline / ghost variant — for secondary actions */
.button.button--ghost,
.button-ghost {
	background-color: transparent;
	color: var(--stieger-ink);
	border: 1px solid var(--stieger-ink);
}

.button.button--ghost:hover,
.button-ghost:hover {
	background-color: var(--stieger-ink);
	color: var(--stieger-on-dark);
}

/* =========================================================================
   5. Forms — minimal underline style
   ========================================================================= */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea,
select {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--stieger-rule);
	border-radius: 0;
	padding: 10px 0;
	font-family: var(--stieger-sans);
	font-size: 1rem;
	color: var(--stieger-ink);
	width: 100%;
	transition: border-bottom-color var(--stieger-fast) var(--stieger-ease);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
	border-bottom-color: var(--stieger-gold);
	outline: none;
}

label,
.wpforms-field-label {
	font-family: var(--stieger-sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--stieger-ink-soft);
	display: block;
	margin-bottom: 6px;
}

/* =========================================================================
   6. Header
   ========================================================================= */
#site-header,
.site-header {
	background-color: var(--stieger-bg);
	border-bottom: 1px solid var(--stieger-rule);
}

#site-header .site-title,
.site-title {
	font-family: var(--stieger-serif);
	font-weight: 600;
}

/* The S logo mark — only place green appears anywhere on the site */
.stieger-logo-mark {
	color: var(--stieger-logo-green);
	fill: var(--stieger-logo-green);
}

/* Top nav — gold underline on active language switcher */
.stieger-lang-switcher a.active,
.stieger-lang-switcher .current-lang a {
	border-bottom: 2px solid var(--stieger-gold);
}

/* =========================================================================
   7. Footer
   ========================================================================= */
#site-footer,
.site-footer {
	background-color: var(--stieger-dark);
	color: var(--stieger-on-dark);
	padding: 60px 0 40px;
}

#site-footer a,
.site-footer a {
	color: var(--stieger-on-dark);
	border-bottom-color: rgba(250, 248, 245, 0.15);
}

#site-footer a:hover,
.site-footer a:hover {
	border-bottom-color: var(--stieger-gold);
}

/* =========================================================================
   8. Cards & section blocks
   ========================================================================= */
.stieger-card,
.elementor-widget-container .stieger-card {
	background-color: var(--stieger-bg-soft);
	padding: 32px;
	border-radius: 0;
}

.stieger-section-dark {
	background-color: var(--stieger-dark);
	color: var(--stieger-on-dark);
	padding: 80px 0;
}

.stieger-section-dark h1,
.stieger-section-dark h2,
.stieger-section-dark h3 {
	color: var(--stieger-on-dark);
}

/* =========================================================================
   9. Arabic / RTL support
   ========================================================================= */
body.stieger-locale-ar,
body.stieger-locale-ar h1,
body.stieger-locale-ar h2,
body.stieger-locale-ar h3,
body.stieger-locale-ar h4,
body.stieger-locale-ar h5,
body.stieger-locale-ar h6,
body.stieger-locale-ar .entry-title,
body.stieger-locale-ar .elementor-heading-title {
	font-family: var(--stieger-arabic);
}

body.stieger-rtl {
	direction: rtl;
	text-align: right;
}

body.stieger-rtl .stieger-rule--short {
	margin-left: auto;
	margin-right: 0;
}

/* =========================================================================
   10. Responsive — hamburger threshold
   ========================================================================= */
@media (max-width: 860px) {
	h1, .entry-title { font-size: clamp(2rem, 8vw, 3rem); }
	.stieger-section-dark { padding: 50px 0; }
}
