/*
Theme Name: Les Amis du Fado
Theme URI: https://www.lesamisdufado.com
Author: Fabien Dubuy
Description: Thème perso pour les amis du fado
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 1.0
Template: twentytwentyfive
Text Domain: les-amis-du-fado
Tags: 
*/

/* --------------------------------------------------------------
   GLOBAL / BASE STYLES
-------------------------------------------------------------- */
a { transition: color .5s; }

/* -----------------------------------------------------------------
   RESPONSIVE UTILITIES
----------------------------------------------------------------- */
@media all and (max-width: 768px) {
    .hide-mobile { display: none; }
}

/* -----------------------------------------------------------------
   HEADER & NAVIGATION
----------------------------------------------------------------- */
/* Header layout helpers */
header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
    padding-top: 18px;
    background-color: transparent !important;
    border: none !important;
}

/* Sub‑menu items */
header .wp-block-navigation__submenu-container .wp-block-navigation-item {
    background-color: var(--wp--preset--color--accent-6);
}

/* Hover states – labels & backgrounds */
header .wp-block-navigation-item__label:hover {
    color: var(--wp--preset--color--accent-3);
    transition: color .5s;
}
header .wp-block-navigation__submenu-container .wp-block-navigation-item:hover {
    background-color: var(--wp--preset--color--accent-3);
    transition: background-color .5s;
}
header .wp-block-navigation__submenu-container .wp-block-navigation-item:hover .wp-block-navigation-item__label {
    color: var(--wp--preset--color--accent-5);
    transition: color .5s;
}

/* Remove default underline on hover for site title & navigation links */
header .wp-block-navigation-item:hover .wp-block-navigation-item__content,
:root :where(.wp-block-site-title a:where(:not(.wp-element-button)):hover) {
    text-decoration: none !important;
}

/* Mobile menu */
.wp-block-navigation__responsive-container.is-menu-open {
    background-color: #000000D1!important;
    text-align: right;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.has-child) .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    text-decoration: underline;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    padding-left: 1rem;
    padding-right: 1rem;
}

/* -----------------------------------------------------------------
   MAIN CONTENT
----------------------------------------------------------------- */
main { margin-top: -55px !important; }

/* Sections that float buttons to the right */
.section-venir-nous-ecouter .wp-block-button,
.section-venir-pratiquer .wp-block-button {
    float: right;
}

/* -----------------------------------------------------------------
   MEDIA TEXT BLOCKS
----------------------------------------------------------------- */
.wp-block-media-text {
    column-gap: 8%;
}
.wp-block-media-text img {
    border-radius: 20px;
    box-shadow: var(--wp--preset--shadow--natural);
}
.wp-block-media-text > .wp-block-media-text__content {
    padding: 0;
}

/* -----------------------------------------------------------------
   FOOTER
----------------------------------------------------------------- */
footer { margin-top: 0; }

/* -----------------------------------------------------------------
   FORMS
----------------------------------------------------------------- */
#contact-form,
.sib_signup_form {
    font-size: 1rem;
    font-family: var(--wp--preset--font-family--raleway);
}

#contact-form {
    min-width: 60%;
	flex: 1;
}

#contact-form label,
.sib_signup_form label {
	font-weight: bold;
}

#contact-form input,
#contact-form textarea,
.sib_signup_form input,
.sib_signup_form textarea {
    padding: 10px 20px;
    box-sizing: border-box;
    background-color: #FCF9F2CC;
    border-radius: 10px;
    border: none;
    color: var(--wp--preset--color--contrast);
}

/* Checkbox scaling */
#contact-form input[type="checkbox"],
.sib_signup_form input[type="checkbox"] {
    transform: scale(1.5);
    margin-right: 10px;
    opacity: .8;
}

/* Submit button */
#contact-form .button {
    width: 100%;
    padding: 10px 20px;
    border-radius: 10px;
    background-color: var(--wp--preset--color--accent-2);
    color: var(--wp--preset--color--accent-5);
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    font-family: var(--wp--preset--font-family--raleway);
    transition: opacity .5s;
}
#contact-form .button:hover {
	opacity: .8;
}

/* Layout for larger screens */
@media all and (min-width: 769px) {
    #contact-form form {
        display: flex;
        flex-wrap: wrap;
        gap: 0 10px;
        justify-content: space-between;
    }
    /* Two‑column fields */
    #contact-form .ef-ctrl-wrp:nth-child(1),
    #contact-form .ef-ctrl-wrp:nth-child(2) {
        flex-basis: calc(50% - 10px);
    }
    /* Full‑width fields */
    #contact-form .ef-ctrl-wrp:nth-child(3),
    #contact-form div:nth-child(4),
    #contact-form div:nth-child(5) {
        flex-basis: 100%;
    }
}

/* Clickable label/input pair (e.g., consent checkbox) */
#contact-form div:nth-child(4) label,
#contact-form div:nth-child(4) input { cursor: pointer; }

.sib_signup_form {
	max-width: 600px;
}

.sib_signup_form .sib-email-area {
	display: flex;
	flex-direction: column;
	max-width: 400px;
}

.sib_signup_form .sib-consent-box label {
	font-size: 0.8rem;
	font-weight: 400;
}

/* -----------------------------------------------------------------
   BUTTONS
----------------------------------------------------------------- */
/* Button blocks inside main (non‑outline style) */
main .wp-block-button:not(.is-style-outline) a.wp-block-button__link:hover,
:root :where(.wp-element-button:hover, .wp-block-button__link:hover) {
    transition: background-color .5s;
    background-color: var(--wp--preset--color--accent-1);
}

/* Outline buttons & navigation buttons */
.wp-block-button.is-style-outline a.wp-block-button__link:hover,
nav .wp-block-button a.wp-block-button__link:hover {
    transition: background-color .5s;
	color: var(--wp--preset--color--base);
}

/* Beige button hover colour */
.button-beige a:hover {
    background-color: var(--wp--preset--color--accent-2) !important;
}

/* -----------------------------------------------------------------
   MISCELLANEOUS COMPONENTS
----------------------------------------------------------------- */
/* Hide email second span (spam protection) */
p.email > span:nth-child(2) { display: none; }

/* Full‑height helper class */
.full-height { min-height: 100vh !important; }

/* Hide “prochaines‑dates” block when there are no results */
.prochaines-dates:has(.wp-block-query-no-results):not(.block-editor-block-list__block) {
    display: none;
}

/* Embedded media wrapper – keep aspect ratio */
.wp-block-embed__wrapper > div,
.wp-embed-responsive .wp-has-aspect-ratio iframe {
    position: absolute;
    top: 0;
    height: 100% !important;
    width: 100% !important;
}

:root :where(.wp-element-caption, .wp-block-audio figcaption, .wp-block-embed figcaption, .wp-block-gallery figcaption, .wp-block-image figcaption, .wp-block-table figcaption, .wp-block-video figcaption) {
	font-size: var(--wp--preset--font-size--large);
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
}

/**
 * Gallery on expo page
 */

@media all and (min-width: 900px) {
    .expo-gallery .wp-block-image:nth-child(1) {
		width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)!important;
	}

	.expo-gallery .wp-block-image:nth-child(2) {
		width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)!important;
	}

	.expo-gallery .wp-block-image:nth-child(3) {
		width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)!important;
	}
}

/**
 * Agenda
 */
 
@media all and (max-width: 768px) {
    .agenda-item {
        flex-direction: column;
    }
}