/*
Theme Name: Bluevet Theme
Theme URI: http://digitalknited.com/
Author: Digital Knitted
Author URI: http://digitalknited.com/
Description: A clean, professional WordPress theme designed for Elementor.
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bluevet
*/

/* =================================================================*********
 *  Elementor Semantic Aliases
 *  (Dynamically generated by inc/ElementorGlobals.php)
 * =================================================================********* */

/* =================================================================*********
 *  Variables & Fallbacks
 * =================================================================********* */

:root {
    --e-global-color-primary: #000000;
    --e-global-color-secondary: #333333;
    --e-global-color-text: #555555;
    --e-global-color-accent: #777777;
    --e-global-color-background: #ffffff;

    --e-global-typography-primary-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --e-global-typography-secondary-font-family: 'Georgia', serif;
    --e-global-typography-text-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --e-global-typography-accent-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}


/* =================================================================*********
 *  Base Styles
 * =================================================================********* */
html {
    box-sizing: border-box;
}

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

/* Fix for WP Admin Bar breaking due to box-sizing reset */
#wpadminbar, #wpadminbar * {
    box-sizing: content-box !important;
}

body {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Global typography removed to prevent Admin Bar conflicts. 
       Elementor Kit should handle site-wide typography. */
}

/* =================================================================*********
 *  Forms & Inputs
 *  (Scoped to avoid affecting Elementor forms)
 * =================================================================********* */
/*
input[type="text"]:not(.elementor-field),
input[type="email"]:not(.elementor-field),
input[type="url"]:not(.elementor-field),
input[type="password"]:not(.elementor-field),
input[type="search"]:not(.elementor-field),
input[type="number"]:not(.elementor-field),
input[type="tel"]:not(.elementor-field),
input[type="range"]:not(.elementor-field),
input[type="date"]:not(.elementor-field),
input[type="month"]:not(.elementor-field),
input[type="week"]:not(.elementor-field),
input[type="time"]:not(.elementor-field),
input[type="datetime"]:not(.elementor-field),
input[type="datetime-local"]:not(.elementor-field),
input[type="color"]:not(.elementor-field),
textarea:not(.elementor-field) {
    color: var(--e-global-color-text, #333);
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px 15px;
    font-family: var(--e-global-typography-text-font-family, 'Helvetica Neue', Helvetica, Arial, sans-serif);
    width: 100%;
    max-width: 100%;
    background-color: #fff;
    box-shadow: none;
    transition: border-color 0.3s ease;
}

input:not(.elementor-field):focus, textarea:not(.elementor-field):focus {
    border-color: var(--e-global-color-accent, #61CE70);
    outline: none;
}

button:not(.elementor-button),
input[type="button"]:not(.elementor-button),
input[type="submit"]:not(.elementor-button),
input[type="reset"]:not(.elementor-button) {
    display: inline-block;
    background-color: var(--e-global-color-primary, #4CAF50);
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 12px 24px;
    cursor: pointer;
    font-family: var(--e-global-typography-primary-font-family, 'Helvetica Neue', Helvetica, Arial, sans-serif);
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.1s ease;
}

button:not(.elementor-button):hover,
input[type="button"]:not(.elementor-button):hover,
input[type="submit"]:not(.elementor-button):hover,
input[type="reset"]:not(.elementor-button):hover {
    background-color: var(--e-global-color-secondary, #FF5722);
}

button:not(.elementor-button):active,
input[type="button"]:not(.elementor-button):active,
input[type="submit"]:not(.elementor-button):active,
input[type="reset"]:not(.elementor-button):active {
    transform: translateY(1px);
}
*/

/* =================================================================*********
 *  Layout & Structure
 * =================================================================********* */
.container {
    margin: 0 auto;
    padding: 0;
}

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

/* =================================================================*********
 *  Header
 * =================================================================********* */
.site-header {
    background-color: #ffffff;
    padding: 20px 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    position: relative;
    z-index: 100;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-branding {
    flex-shrink: 0;
}

.site-title {
    font-size: 1.5rem;
    margin: 0;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.site-title a {
    color: var(--e-global-color-primary, #000000);
    text-decoration: none;
}

/* Navigation */
.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px;
}

.main-navigation ul li {
    position: relative;
}

.main-navigation ul li a {
    color: var(--e-global-color-text, #555555);
    font-weight: 500;
    font-size: 0.95rem;
    text-decoration: none;
    transition: color 0.3s ease;
}

.main-navigation ul li a:hover {
    color: var(--e-global-color-primary, #000000);
}

/* =================================================================*********
 *  Footer
 * =================================================================********* */
.site-footer {
    background-color: #f9f9f9;
    padding: 40px 0;
    margin-top: 60px;
    border-top: 1px solid #eeeeee;
    text-align: center;
}

.site-info {
    color: #888888;
    font-size: 0.9rem;
}

.site-info a {
    color: var(--e-global-color-text, #555555);
    font-weight: 600;
}

.site-info a:hover {
    color: var(--e-global-color-primary, #000000);
}

/* =================================================================*********
 *  WordPress Core Classes
 * =================================================================********* */
.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 #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption-text {
    font-size: 0.9em;
    margin: 0;
    padding: 0 4px 5px;
}

/* =================================================================*********
 *  Elementor Compatibility
 * =================================================================********* */
/* Ensure Elementor sections stretch correctly */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1140px; /* Or your preferred container width */
}

/* Fix for some Elementor widgets overflow */
.elementor-widget-wrap {
    overflow: visible;
}

.elementor-widget-n-accordion summary * {
    z-index: 1;
}

/* =================================================================*********
 *  Complianz Compatibility
 * =================================================================********* */

.cmplz-document h2 {
    font-size: var(--e-global-typography-h3-font-size);
}
.cmplz-document .cmplz-categories details
.cmplz-document #cmplz-cookies-overview details {
    background-color: var(--e-global-color-light-gray);
    border-radius: var(--e-global-button-border-radius) !important;
    padding: var(--e-global-button-padding);
    margin-bottom: 12px;
}
.cmplz-document #cmplz-cookies-overview summary h3,
.cmplz-document #cmplz-cookies-overview .cmplz-service-description h4,
.cmplz-document #cmplz-cookies-overview .cmplz-sharing-data h4,
.cmplz-document #cmplz-cookies-overview .cookies-per-purpose h4,
.cmplz-document #cmplz-cookies-overview .cookies-per-purpose h5
{
    font-size: var(--e-global-typography-h6-font-size);
}

/* Cookie Banner Buttons */
.cmplz-cookiebanner * {
    font-family: var(--e-global-typography-text-font-family, inherit) !important;
    font-size: var(--e-global-typography-text-font-size, 16px) !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    border-radius: var(--e-global-button-border-radius, 4px) !important;
    transition: all 0.3s ease !important;
}


.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
    background-color: var(--e-global-color-primary, #000000) !important;
    border-color: var(--e-global-color-primary, #000000) !important;
    color: var(--e-global-color-white, #ffffff) !important;

}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover{
    background-color: var(--e-global-color-text) !important;
    color: var(--e-global-color-white) !important;
}

#cmplz-manage-consent .cmplz-btn.cmplz-manage-consent {
    display: none !important;
}

.cmplz-cookiebanner .cmplz-title {
    font-size: var(--e-global-typography-h6-font-size, 18px) !important;
}

.cmplz-cookiebanner .cmplz-documents.cmplz-links a {
    font-size: var(--e-global-typography-text-font-size, 16px) !important;
    color: var(--e-global-color-primary);
    transition: all 0.3s ease !important;
}

.cmplz-cookiebanner .cmplz-documents.cmplz-links a:hover {
    color: var(--e-global-color-text) !important;
}