/*
Theme Name: Uncode Child
Description: Child theme for Uncode theme
Author: Undsgn™
Author URI: http://www.undsgn.com
Template: uncode
Version: 1.0.0
Text Domain: uncode
*/

/* ==========================================================================
   Pons Advisory – Corporate Identity (Booklet 2026)
   ========================================================================== */

/* Schriften (lokal gehostet, kein Google-Fonts-Aufruf) */
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/montserrat-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/montserrat-latin-ext-400-normal.woff2") format("woff2");
	unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("fonts/montserrat-latin-500-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("fonts/montserrat-latin-ext-500-normal.woff2") format("woff2");
	unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Lora";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/lora-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Lora";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/lora-latin-ext-400-normal.woff2") format("woff2");
	unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Lora";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("fonts/lora-latin-600-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Lora";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("fonts/lora-latin-ext-600-normal.woff2") format("woff2");
	unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Lora";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/lora-latin-400-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Lora";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/lora-latin-ext-400-italic.woff2") format("woff2");
	unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Farben, Schriften und Schriftgrößen als Variablen */
:root {
	--pons-pinie: #1B4030;
	--pons-leinen: #E4DBCF;
	--pons-stein: #B1B1B1;
	--pons-meer: #8BBDB4;
	--pons-kupfer: #B26540;
	--pons-weiss: #FFFFFF;
	--pons-schwarz: #000000;

	--pons-heading: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--pons-body: "Lora", Georgia, "Times New Roman", serif;
	--pons-label: var(--pons-heading);

	/* Fluide Schriftgrößen (Utopia): 360 px = 18 px / Skala 1,2 bis 1240 px = 20 px / Skala 1,25 */
	--step--2: clamp(0.7813rem, 0.7736rem + 0.0341vi, 0.8rem);
	--step--1: clamp(0.9375rem, 0.9119rem + 0.1136vi, 1rem);
	--step-0: clamp(1.125rem, 1.0739rem + 0.2273vi, 1.25rem);
	--step-1: clamp(1.35rem, 1.2631rem + 0.3864vi, 1.5625rem);
	--step-2: clamp(1.62rem, 1.4837rem + 0.6057vi, 1.9531rem);
	--step-3: clamp(1.944rem, 1.7405rem + 0.9044vi, 2.4414rem);
	--step-4: clamp(2.3328rem, 2.0387rem + 1.3072vi, 3.0518rem);
	--step-5: clamp(2.7994rem, 2.384rem + 1.8461vi, 3.8147rem);

	/* Zeilenhöhen */
	--lh-body: 1.6;
	--lh-lead: 1.5;
	--lh-small: 1.5;
	--lh-h1: 1.1;
	--lh-h2: 1.1;
	--lh-h3: 1.15;
	--lh-h4: 1.2;
	--lh-h5: 1.3;
	--lh-h6: 1.4;
}

/* Fließtext: Lora */
body,
p,
li,
td,
th,
input,
textarea,
select,
button,
.btn,
.menu-item a,
.menu-smart a,
.widget,
.uncode-wrapper,
.post-content {
	font-family: var(--pons-body);
}

body {
	color: var(--pons-pinie);
	background-color: var(--pons-weiss);
}

/* Überschriften: Montserrat */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.heading-text,
.fontsize-155000,
.fontsize-338686 {
	font-family: var(--pons-heading);
	font-weight: 500;
	color: var(--pons-schwarz);
}

/* Subline: Lora Italic */
.subline {
	font-family: var(--pons-body);
	font-style: italic;
	font-weight: 400;
	font-size: var(--step-2);
	line-height: 1.3;
}

.wp-caption-text {
	font-style: italic;
}

/* Label: Montserrat, Großbuchstaben, weiter Buchstabenabstand */
.pons-label,
.uncode-label,
.t-entry-category,
.t-entry-date,
.post-info,
.nav-previous a,
.nav-next a,
.menu-small a,
.breadcrumb,
.breadcrumb a,
#colophon .footer-last,
.footer-last {
	font-family: var(--pons-label);
	font-weight: 400;
	font-size: var(--step--2);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

/* Links und Akzente */
a {
	color: var(--pons-pinie);
}
a:hover,
a:focus {
	color: var(--pons-kupfer);
}

.pons-akzent,
.text-accent-color {
	color: var(--pons-kupfer);
}

/* Flächen */
.pons-bg-leinen { background-color: var(--pons-leinen); }
.pons-bg-pinie  { background-color: var(--pons-pinie); color: var(--pons-weiss); }
.pons-bg-meer   { background-color: var(--pons-meer); }
.pons-bg-pinie h1,
.pons-bg-pinie h2,
.pons-bg-pinie h3,
.pons-bg-pinie h4,
.pons-bg-pinie p,
.pons-bg-pinie a { color: var(--pons-weiss); }

hr,
.border-color,
.uncode-divider {
	border-color: var(--pons-stein);
}

/* Buttons: Meer mit Pinie-Schrift (Kontrast 5,5 : 1), Hover Kupfer */
.btn,
button,
input[type="submit"],
.wpcf7-submit {
	font-family: var(--pons-label);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	background-color: var(--pons-meer);
	border-color: var(--pons-meer);
	color: var(--pons-pinie);
}
.btn:hover,
button:hover,
input[type="submit"]:hover,
.wpcf7-submit:hover {
	background-color: var(--pons-kupfer);
	border-color: var(--pons-kupfer);
	color: var(--pons-weiss);
}

::selection {
	background: var(--pons-meer);
	color: var(--pons-pinie);
}

/* ==========================================================================
   Uncode-Overrides: Menü, Buttons und UI-Elemente
   Uncode setzt diese Schriften in style-custom.css mit höherer Spezifität.
   ========================================================================== */

/* Menü: Label-Schrift (Montserrat, Versalien, weiter Buchstabenabstand) */
.font-family-menu,
.menu-container:not(.grid-filters) ul.menu-smart,
.top-menu.top-menu-enhanced ul.menu-smart,
.menu-container:not(.grid-filters) ul.menu-smart a:not(.social-menu-link):not(.vc_control-btn),
.top-menu.top-menu-enhanced ul.menu-smart a:not(.social-menu-link):not(.vc_control-btn),
.uncode-menu-additional-text,
.unmenu-block,
.burger-label,
.menu-primary ul.menu-smart a,
body .menu-primary ul.menu-smart a,
.font-family-topbar,
.top-menu.top-menu-enhanced {
	font-family: var(--pons-label);
	font-weight: 500;
	font-size: var(--step--1);
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.menu-container:not(.grid-filters) ul.menu-smart a:not(.social-menu-link):not(.vc_control-btn):hover,
.menu-primary ul.menu-smart a:hover,
.menu-primary ul.menu-smart li.active > a {
	color: var(--pons-kupfer);
}

/* Buttons und Formular-Absender */
.buttons-style,
input[type="submit"]:not(.btn-custom-typo):not(.btn-inherit),
input[type="reset"]:not(.btn-custom-typo):not(.btn-inherit),
input[type="button"]:not(.btn-custom-typo):not(.btn-inherit),
button[type="submit"]:not(.btn-custom-typo):not(.btn-inherit),
.btn:not(.btn-custom-typo):not(.btn-inherit):not(.uncode-nav-container),
.btn-link:not(.btn-custom-typo):not(.btn-inherit):not(.uncode-nav-container),
.search_footer {
	font-family: var(--pons-label);
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

/* Wortmarke, Meta-Angaben und Widget-Titel */
.font-ui,
.comment-content .comment-reply-link span,
.comment-content .comment-reply-link {
	font-family: var(--pons-body);
}

#main-logo .text-logo {
	font-family: var(--pons-heading);
}

.font-ui-fixed,
.post-info,
.widget-container .widget-title,
#comments .comments-title,
#respond .comments-title,
#comments #reply-title,
#respond #reply-title,
.uncode-share h6 {
	font-family: var(--pons-label);
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

/* Überschriften: Uncode setzt Gewicht 600 und die Systemschrift */
.headings-style,
h1, h2, h3, h4, h5, h6,
.heading-text > p,
.heading-text > div:first-child,
.tmb .t-entry .t-entry-cat,
.tmb .t-entry .t-entry-title,
.tmb .t-entry .t-entry-table-typography {
	font-family: var(--pons-heading);
	font-weight: 500;
	letter-spacing: 0;
}

/* ==========================================================================
   Schriftgrößen und Zeilenhöhen (Utopia, fluid)
   Die Selektoren entsprechen denen in Uncodes style-custom.css und stehen
   danach, damit sie bei gleicher Spezifität gewinnen.
   ========================================================================== */

/* Fließtext */
body,
p,
li,
dt,
dd,
dl,
address,
label,
pre,
code,
.nav-tabs .tab-excerpt,
.block-wrapper-parent {
	font-size: var(--step-0);
	line-height: var(--lh-body);
}

/* Großer Text */
.text-lead,
.text-lead > *,
.nav-tabs .tab-excerpt.text-lead,
.module-text-lead,
.module-text-lead > *,
.module-text-lead p,
.module-text-lead li,
.module-text-lead dt,
.module-text-lead dd,
.module-text-lead dl,
.module-text-lead address,
.module-text-lead label,
.module-text-lead small,
.uncode-wc-module.text-lead pre,
.module-text-lead code {
	font-size: var(--step-1);
	line-height: var(--lh-lead);
}

/* Kleiner Text */
.text-small,
.text-small > *,
.nav-tabs .tab-excerpt.text-small,
.module-text-small,
.module-text-small > *,
.module-text-small p,
.module-text-small li,
.module-text-small dt,
.module-text-small dd,
.module-text-small dl,
.module-text-small address,
.module-text-small label,
.module-text-small small,
.uncode-wc-module.text-small pre,
.module-text-small code {
	font-size: var(--step--1);
	line-height: var(--lh-small);
}

/* Überschriften */
h1:not([class*="fontsize-"]),
.h1:not([class*="fontsize-"]) {
	font-size: var(--step-5);
	line-height: var(--lh-h1);
}

h2:not([class*="fontsize-"]),
.h2:not([class*="fontsize-"]) {
	font-size: var(--step-4);
	line-height: var(--lh-h2);
}

h3:not([class*="fontsize-"]),
.h3:not([class*="fontsize-"]) {
	font-size: var(--step-3);
	line-height: var(--lh-h3);
}

h4:not([class*="fontsize-"]),
.h4:not([class*="fontsize-"]) {
	font-size: var(--step-2);
	line-height: var(--lh-h4);
}

h5:not([class*="fontsize-"]),
.h5:not([class*="fontsize-"]) {
	font-size: var(--step-1);
	line-height: var(--lh-h5);
}

h6:not([class*="fontsize-"]),
.h6:not([class*="fontsize-"]) {
	font-size: var(--step-0);
	line-height: var(--lh-h6);
}

/* ==========================================================================
   Ausnahmen mit !important
   Uncode setzt diese Farben in style-custom.css fest mit !important.
   Nur für Accent-/Meer-Buttons und den Scroll-Up-Pfeil, damit die Schrift
   auf Meer lesbar bleibt (Pinie auf Meer, Kontrast 5,5 : 1).
   ========================================================================== */

.btn-accent,
.btn-color-780888 {
	color: var(--pons-pinie) !important;
}

.footer-scroll-top .btn-default {
	background-color: var(--pons-meer) !important;
	border-color: var(--pons-pinie) !important;
	color: var(--pons-pinie) !important;
	border-style: solid;
}
