/*
Theme Name: Insurance Theme
Theme URI: https://dkvirenepujol.de/
Author: Insuranceco
Author URI: https://dkvirenepujol.de/
Description: A bespoke, production-ready WordPress theme replicating the modern, warm, and professional design of DKV Irene Pujol. Features bilingual support, insurance overview cards, interactive cost estimator, responsive navigation, and WordPress Customizer integration.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: insurancetheme
Tags: insurance, financial, medical, responsive-layout, custom-header, custom-menu, custom-logo, translation-ready, accessibility-ready
*/

/*
 * Base Theme Variables & WordPress Core Styles
 * Full component styles are organized in assets/css/custom.css
 */

:root {
    /* Official DKV Brand Handbook Colors */
    --dkv-green: #98A92A;            /* RGB 152, 169, 42 - Primary brand green & flow accent */
    --dkv-green-rgb: 152, 169, 42;
    --dkv-green-medium: #45752F;     /* RGB 69, 117, 47 - Headlines & award colour */
    --dkv-green-medium-rgb: 69, 117, 47;
    --dkv-green-dark: #095751;       /* RGB 9, 87, 81 - Logo, subtitles, dark brand surfaces */
    --dkv-green-dark-rgb: 9, 87, 81;
    --dkv-grey: #6A625A;             /* RGB 106, 98, 90 - Body text, infographics, borders */
    --dkv-grey-rgb: 106, 98, 90;
    --dkv-red: #8E0038;              /* RGB 142, 0, 56 - Eye-catcher red (ERGO Dark Red) */
    --dkv-red-rgb: 142, 0, 56;
    --dkv-white: #FFFFFF;
    --dkv-black-80: #333333;

    /* Theme Semantic Color Tokens */
    --background: #FAFBF8;
    --foreground: #333333;
    --card: #FFFFFF;
    --card-foreground: #333333;
    --popover: #FFFFFF;
    --popover-foreground: #333333;

    /* Primary: DKV Dark Green #095751 */
    --primary: #095751;
    --primary-hover: #063E3A;
    --primary-foreground: #FFFFFF;

    /* Primary Medium Green: #45752F for headlines & key callouts */
    --primary-medium: #45752F;
    --primary-medium-hover: #375F25;

    /* Accent: DKV Green #98A92A */
    --accent: #98A92A;
    --accent-hover: #849423;
    --accent-foreground: #FFFFFF;
    --accent-soft: rgba(152, 169, 42, 0.12);
    --accent-soft-hover: rgba(152, 169, 42, 0.22);

    /* Secondary: Soft DKV Green Tint */
    --secondary: #F3F6EC;
    --secondary-foreground: #095751;

    /* Muted & Neutral: DKV Grey Tints */
    --muted: #F5F4F0;
    --muted-foreground: #6A625A;

    /* Eye-catcher & Destructive: DKV Red #8E0038 */
    --eyecatcher: #8E0038;
    --eyecatcher-foreground: #FFFFFF;
    --destructive: #8E0038;
    --destructive-foreground: #FFFFFF;

    /* Borders & Inputs */
    --border: #E4E0D8;
    --input: #E4E0D8;
    --ring: rgba(9, 87, 81, 0.35);

    /* Legacy Alias Tokens for backwards compatibility */
    --dkv-green-deep: #095751;
    --dkv-lime: #98A92A;

    --radius-sm: 0.25rem;
    --radius: 0.5rem;
    --radius-md: 0.625rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;

    --font-sans: "Source Sans 3", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-display: "Montserrat", "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;

    --container-max: 1200px;
    --container-narrow: 840px;
    --container-compact: 640px;
}

/* Base resets & WordPress alignment classes */
html {
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

*, *::before, *::after {
    box-sizing: inherit;
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--background);
    color: var(--foreground);
    font-family: var(--font-sans);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

a {
    color: var(--primary);
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}

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

.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter, div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

.wp-caption {
    background: #fff;
    border: 1px solid var(--border);
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption-text {
    font-size: 13px;
    line-height: 17px;
    margin: 0;
    padding: 5px 4px 5px;
    color: var(--muted-foreground);
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: var(--primary);
    display: block;
    font-size: 14px;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}
