/*
Theme Name: King Rottweilers
Theme URI: https://roidnet.com/
Author: RoidNet
Author URI: https://roidnet.com/
Description: Luxury, high-performance custom WordPress theme for King Rottweilers kennel, featuring custom post types, health ratings, pedigree trees, and ultra-fast Core Web Vitals compliance.
Version: 1.0.7
Requires at least: 6.3
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kingrott-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* Self-Hosted Typography (Ultra Fast Variable Fonts & GDPR Compliant) */
@font-face {
    font-family: 'Cinzel';
    font-style: normal;
    font-weight: 400 900;
    font-display: swap;
    src: url('assets/fonts/cinzel-latin.woff2') format('woff2-variations'),
         url('assets/fonts/cinzel-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('assets/fonts/inter-latin.woff2') format('woff2-variations'),
         url('assets/fonts/inter-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --color-bg-dark: #0d0d0d;
    --color-bg-surface: #141414;
    --color-bg-card: #181818;
    --color-bg-light: #FAF6F0;
    --color-bg-light-surface: #F5F0EB;
    
    --color-burgundy: #7A0C0C;
    --color-burgundy-hover: #8F1212;
    --color-burgundy-dark: #580808;
    
    --color-gold: #D4AF37;
    --color-gold-hover: #E6C34F;
    --color-gold-muted: rgba(212, 175, 55, 0.4);
    
    --color-text-white: #FFFFFF;
    --color-text-muted: #A3A3A3;
    --color-text-dark: #1E1E1E;
    --color-text-dark-muted: #555555;
    
    --color-border-dark: rgba(255, 255, 255, 0.1);
    --color-border-gold: rgba(212, 175, 55, 0.3);
    
    --font-heading: 'Cinzel', 'Playfair Display', Georgia, serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    
    --theme-max-width: 1240px;
    --transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Reset & Global */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    overflow-x: hidden;
    max-width: 100%;
    width: 100%;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-bg-dark);
    color: var(--color-text-white);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    max-width: 100%;
    width: 100%;
    position: relative;
}

#page,
.site {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
}

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

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

ul, ol {
    list-style: none;
}

/* Container */
.container {
    width: 100%;
    max-width: var(--theme-max-width);
    margin-inline: auto;
    padding-inline: 1.5rem;
}

/* Accessibility */
.screen-reader-text {
    position: absolute !important;
    top: 0;
    inset-inline-start: 0;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.screen-reader-text:focus {
    position: fixed !important;
    top: 15px;
    inset-inline-start: 15px;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    background: var(--color-burgundy);
    color: #fff;
    padding: 0.75rem 1.25rem;
    z-index: 999999;
    font-weight: 700;
}

/* WordPress Admin Bar Fix */
body.admin-bar .site-header {
    top: 32px;
}
@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px;
    }
}
