/*
Theme Name: École Nouvelle d'Antony - Block Theme
Theme URI: https://ecole-nouvelle-antony.fr
Author: École Nouvelle
Author URI: https://ecole-nouvelle-antony.fr
Description: Block theme WordPress personnalisé pour l'École Nouvelle d'Antony - Pédagogie par la confiance. Version Full Site Editing (FSE) du thème ENA.
Version: 1.1.13
Requires at least: 6.1
Tested up to: 6.4
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: ena-block
Tags: education, school, block-theme, full-site-editing, block-patterns, block-styles
*/

/*
 * This theme uses theme.json for most of its styling configuration.
 * Additional styles are loaded via functions.php
 */

/* Reset and normalize */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
}

/* Ensure smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Screen reader text utility */
.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;
    width: 1px;
    word-wrap: normal !important;
}

.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;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Skip link */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 2.5rem;
    z-index: 999999999;
    text-decoration: underline;
}

.skip-link:focus {
    display: block;
    left: 6px;
    top: 7px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    line-height: normal;
    padding: 15px 23px 14px;
    background: #f1f1f1;
    color: #21759b;
    border-radius: 3px;
}

/* Container utility for consistent max-width */
.container {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 768px) {
    .container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* Improve image handling */
img {
    height: auto;
    max-width: 100%;
}

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

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

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

.alignwide {
    max-width: var(--wp--style--global--wide-size);
    margin-left: auto;
    margin-right: auto;
}

.alignfull {
    max-width: none;
    width: 100%;
    margin-left: calc(50% - 50vw);
}

/* Clear floats */
.clear::after,
.entry-content::after,
.comment-content::after,
.site-header::after,
.site-content::after,
.site-footer::after {
    content: "";
    display: table;
    clear: both;
}

/* WordPress captions */
.wp-caption {
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin: 0;
}

.wp-caption-text {
    font-size: 0.875rem;
    color: var(--wp--preset--color--text-light);
    margin-top: 0.5rem;
    text-align: center;
}

/* Gallery styles */
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.gallery-item {
    margin: 0;
}

.gallery-caption {
    font-size: 0.875rem;
    color: var(--wp--preset--color--text-light);
    margin-top: 0.5rem;
}

/* Sticky post indicator */
.sticky {
    position: relative;
}

.sticky::before {
    content: "📌";
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 1.5rem;
}

/* Print styles */
@media print {
    .no-print,
    .site-header,
    .site-footer,
    .mobile-menu,
    .navbar-actions {
        display: none !important;
    }
}

/* =======
    HERO Pattern
   =======
*/
.hero-title {
    position: relative;
}
/* ===========================================
    WORDPRESS BLOCK OVERRIDES - FIXES
    =========================================== */
.wp-block-button .wp-block-button__link {
    padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--md);
}
/* Fix for WordPress inline global styles that override button colors with !important */
* .has-primary-color.has-text-color {
    color: var(--wp--preset--color--primary) !important;
}

* .has-secondary-color.has-text-color {
    color: var(--wp--preset--color--secondary) !important;
}

* .has-white-color.has-text-color {
    color: var(--wp--preset--color--white) !important;
}

* .has-pink-color.has-text-color {
    color: var(--wp--preset--color--pink) !important;
}
* .has-light-blue-color.has-text-color {
    color: #00b3ff !important;
}
* .has-purple-color.has-text-color {
    color: var(--wp--preset--color--purple) !important;
}
.wp-block-group {
    padding-top: 0;
    padding-bottom: 0;
}

.template-page-header {
    background-color: var(--wp--preset--color--bg-light);
    background-image: url(assets/images/bg-header-page.png);
}

@media (max-width: 781px) {
    .hide-on-mobile {
        display: none !important;
    }
}

@media (max-width: 781px) {
    .site-header
        .wp-block-navigation
        .wp-block-navigation__submenu-container
        .wp-block-navigation-item__content {
        color: var(--wp--preset--color--black);
    }
}
.site-header .wp-block-navigation__submenu-container {
    min-width: 250px !important;
}
.site-header
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item
    > .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--white) !important;
    transform: scale(1.04);
    color: var(--wp--preset--color--white);
}
/* Hover sur les liens de navigation de premier niveau */
.site-header
    .wp-block-navigation:not(.has-background)
    .wp-block-navigation-item
    > .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--primary);
}

/* Style des sous-menus */
.site-header .wp-block-navigation .wp-block-navigation__submenu-container {
    background-color: var(--wp--preset--color--primary) !important;
    border-radius: 8px;
}

/* Styles pour la navigation mobile */
@media (max-width: 781px) {
    /* Container de la navigation mobile */
    .site-header .wp-block-navigation__responsive-container.is-menu-open {
        padding: var(--wp--preset--spacing--md, 1rem);
    }
    .wp-block-navigation__container,
    .wp-block-navigation .wp-block-navigation-item {
        align-items: flex-start !important;
    }
    /* Items de menu en noir, alignés à gauche */
    .site-header
        .wp-block-navigation__responsive-container
        .wp-block-navigation-item__content {
        color: #000000 !important;
        justify-content: flex-start;
        padding: 8px;
    }

    /* Hover en mode mobile */
    .site-header
        .wp-block-navigation__responsive-container
        .wp-block-navigation-item__content:hover {
        background-color: var(--wp--preset--color--light, #f3f4f6);
        color: var(--wp--preset--color--primary) !important;
    }

    /* Item actif en mode mobile */
    .wp-block-navigation__responsive-container
        .wp-block-navigation-item.current-menu-item
        > .wp-block-navigation-item__content,
    .wp-block-navigation__responsive-container
        .wp-block-navigation-item.current_page_item
        > .wp-block-navigation-item__content {
        color: var(--wp--preset--color--primary) !important;
        font-weight: 600;
    }

    /* Sous-menus en mode mobile */
    .wp-block-navigation__responsive-container
        .wp-block-navigation__submenu-container {
        background-color: transparent !important;
        padding-left: var(--wp--preset--spacing--xs);
    }

    .wp-block-navigation__responsive-container
        .wp-block-navigation__submenu-container
        .wp-block-navigation-item__content {
        color: #333333 !important;
    }
}

/* Liens dans les sous-menus */
.site-header
    .wp-block-navigation
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
    color: var(--wp--preset--color--white);
    padding: var(--wp--preset--spacing--xs, 0.5rem)
        var(--wp--preset--spacing--sm, 0.75rem);
    border-radius: var(--wp--custom--border-radius--sm, 0.25rem);
}

/* Flèche/icône du submenu */
.site-header .wp-block-navigation .wp-block-navigation__submenu-icon {
    color: black;
}
/* Icône chevron pour les sous-menus */
.wp-block-navigation
    .wp-block-navigation-item.has-child
    .wp-block-navigation__submenu-icon {
    margin-left: 0.25rem;
}

/* Chevron au repos */
.wp-block-navigation
    .wp-block-navigation-item.has-child
    > .wp-block-navigation-item__content
    .wp-block-navigation__submenu-icon
    svg {
    transition: transform 0.2s ease;
}

/* Rotation du chevron au hover ou quand le submenu est ouvert */
.wp-block-navigation
    .wp-block-navigation-item.has-child:hover
    > .wp-block-navigation-item__content
    .wp-block-navigation__submenu-icon
    svg,
.wp-block-navigation
    .wp-block-navigation-item.has-child.is-menu-open
    > .wp-block-navigation-item__content
    .wp-block-navigation__submenu-icon
    svg {
    transform: rotate(180deg);
}

/* Couleur du chevron au hover */
.wp-block-navigation
    .wp-block-navigation-item.has-child
    > .wp-block-navigation-item__content:hover
    .wp-block-navigation__submenu-icon {
    color: var(--wp--preset--color--primary);
}

/* Item actif/courant dans la navigation */
.site-header
    .wp-block-navigation
    .wp-block-navigation-item.current-menu-item
    > .wp-block-navigation-item__content,
.site-header
    .wp-block-navigation
    .wp-block-navigation-item.current_page_item
    > .wp-block-navigation-item__content,
.site-header
    .wp-block-navigation
    .wp-block-navigation-item.current-page-ancestor
    > .wp-block-navigation-item__content,
.site-header
    .wp-block-navigation
    .wp-block-navigation-item.current-menu-ancestor
    > .wp-block-navigation-item__content {
    color: var(--wp--preset--color--primary);
}

.wp-block-navigation
    .wp-block-navigation-item
    > .wp-block-navigation-item__content {
    position: relative;
}
/*
 ==========
FEATURES-ICONS pattern
 ==========

*/
