/*
Theme Name: Brizy Starter
Description: A minimal WordPress theme designed specifically for maximum compatibility with Brizy page builder. This theme is NOT built by the official Brizy team. It provides only essential WordPress functionality while letting Brizy handle all design and layout decisions.
Theme URI: https://github.com/REVENTOR-EU/brizy-theme/tree/wp-standard
Author: REVENTOR
Author URI: https://reventor.eu
Version: 1.0.2
Requires at least: 5.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: brizy-starter
Tags: page-builder
Copyright: Copyright (c) 2025 REVENTOR. Brizy Starter is distributed under the terms of the GNU GPL.
*/

/* Minimal CSS Reset for Brizy Compatibility */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    padding: 0;
}

/* Essential accessibility */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    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;
}

/* Brizy compatibility - minimal interference */
.brizy-content,
.brizy-container,
.brizy-section,
.brizy-column,
.brizy-group,
.brizy-wrapper,
.brizy-element {
    margin: 0 !important;
    padding: 0 !important;
}

/* Basic typography for non-Brizy elements */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
}

h1, h2, h3, h4, h5, h6 {
    margin: 1.5em 0 0.5em;
    line-height: 1.2;
}

h1 { font-size: 2em; }
h2 { font-size: 1.75em; }
h3 { font-size: 1.5em; }
h4 { font-size: 1.25em; }
h5 { font-size: 1.1em; }
h6 { font-size: 1em; }

p {
    margin: 1em 0;
}

a {
    color: #0073aa;
    text-decoration: none;
}

a:hover,
a:focus {
    text-decoration: underline;
}

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

/* Basic form styles */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea,
select {
    width: 100%;
    padding: 8px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}

input[type="submit"],
button {
    background-color: #0073aa;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
}

input[type="submit"]:hover,
button:hover {
    background-color: #005a87;
}

/* Site structure basics */
.site {
    max-width: 100%;
}

.site-header {
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}

.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.site-branding {
    flex: 1;
}

.main-navigation {
    flex: 1;
    text-align: right;
}

.nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}

.nav-menu li a {
    display: block;
    padding: 10px 0;
}

.site-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.site-footer {
    padding: 40px 20px;
    border-top: 1px solid #eee;
    background-color: #f9f9f9;
    margin-top: 40px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Responsive design */
@media (max-width: 768px) {
    .header-container {
        flex-direction: column;
        gap: 20px;
    }

    .main-navigation {
        text-align: left;
        width: 100%;
    }

    .nav-menu {
        flex-direction: column;
        gap: 0;
    }

    .nav-menu li a {
        padding: 10px 0;
        border-bottom: 1px solid #eee;
    }

    h1 { font-size: 1.75em; }
    h2 { font-size: 1.5em; }
    h3 { font-size: 1.25em; }
    h4 { font-size: 1.1em; }
}

@media (max-width: 480px) {
    .site-header,
    .site-content,
    .site-footer {
        padding-left: 15px;
        padding-right: 15px;
    }

    h1 { font-size: 1.5em; }
    h2 { font-size: 1.25em; }
    h3 { font-size: 1.1em; }
}

/* WordPress Recommended Classes */

/* Sticky posts */
.sticky {
    background-color: #f5f5f5;
    padding: 1rem;
    border-left: 4px solid #0073aa;
}

/* Post author class */
.bypostauthor {
    background-color: #fff9e5;
    padding: 0.5rem;
}

/* Text alignment classes */
.alignleft {
    float: left;
    margin-right: 1rem;
    margin-bottom: 1rem;
}

.alignright {
    float: right;
    margin-left: 1rem;
    margin-bottom: 1rem;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
}

/* Caption classes */
.wp-caption {
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    padding: 0.5rem;
    margin-bottom: 1rem;
    text-align: center;
}

.wp-caption img {
    display: block;
    margin: 0 auto 0.5rem;
}

.wp-caption-text {
    font-size: 0.875em;
    color: #666;
    margin: 0;
}

/* Gallery caption */
.gallery-caption {
    font-size: 0.875em;
    color: #666;
    margin-top: 0.5rem;
}
