/* WILFRIED — RESPONSIVE FIXES V1 */


/* ================================================================
 * TABLETTES ET PETITS ORDINATEURS
 * Le menu hamburger apparaît avant que le menu bureau ne se replie.
 * ============================================================= */

@media (max-width: 1100px) {

header.wp-block-template-part
.wp-block-navigation__responsive-container-open,
.wilfried-header
.wp-block-navigation__responsive-container-open {
align-items: center;
background: transparent;
border: 1px solid rgba(218, 168, 76, 0.72);
border-radius: 2px;
color: #e2b45d;
display: flex !important;
height: 42px;
justify-content: center;
padding: 8px;
width: 42px;
}

header.wp-block-template-part
.wp-block-navigation__responsive-container-open
svg,
.wilfried-header
.wp-block-navigation__responsive-container-open
svg {
height: 25px;
width: 25px;
}

header.wp-block-template-part
.wp-block-navigation__responsive-container:not(.is-menu-open),
.wilfried-header
.wp-block-navigation__responsive-container:not(.is-menu-open) {
display: none !important;
}

header.wp-block-template-part
.wp-block-navigation,
.wilfried-header
.wp-block-navigation {
margin-left: auto !important;
}

header.wp-block-template-part
.wp-block-group.alignwide,
.wilfried-header
.wp-block-group.alignwide {
align-items: center !important;
flex-direction: row !important;
flex-wrap: nowrap !important;
justify-content: space-between !important;
}

header.wp-block-template-part
.wp-block-image,
header.wp-block-template-part
.wp-block-site-logo,
.wilfried-header
.wp-block-image,
.wilfried-header
.wp-block-site-logo {
flex: 0 1 auto;
margin: 0;
}

header.wp-block-template-part
.wp-block-image img,
header.wp-block-template-part
.wp-block-site-logo img,
.wilfried-header
.wp-block-image img,
.wilfried-header
.wp-block-site-logo img {
height: auto;
max-width: 230px;
}


/* Menu ouvert */

header.wp-block-template-part
.wp-block-navigation__responsive-container.is-menu-open,
.wilfried-header
.wp-block-navigation__responsive-container.is-menu-open {
background:
radial-gradient(
circle at 80% 10%,
rgba(125, 33, 28, 0.25),
transparent 32%
),
#0d0a08 !important;
color: #fff8eb;
display: flex !important;
inset: 0;
padding:
1.25rem
clamp(1.4rem, 6vw, 3rem)
2rem !important;
position: fixed;
z-index: 100000;
}

header.wp-block-template-part
.wp-block-navigation__responsive-close,
.wilfried-header
.wp-block-navigation__responsive-close {
max-width: none !important;
width: 100%;
}

header.wp-block-template-part
.wp-block-navigation__responsive-dialog,
.wilfried-header
.wp-block-navigation__responsive-dialog {
height: 100%;
}

header.wp-block-template-part
.wp-block-navigation__responsive-container-close,
.wilfried-header
.wp-block-navigation__responsive-container-close {
color: #fff8eb;
right: 0;
top: 0;
}

header.wp-block-template-part
.wp-block-navigation__responsive-container-content,
.wilfried-header
.wp-block-navigation__responsive-container-content {
align-items: flex-end !important;
box-sizing: border-box;
height: 100%;
justify-content: flex-start !important;
overflow-y: auto;
padding-top: 4.5rem !important;
width: 100%;
}

header.wp-block-template-part
.wp-block-navigation__responsive-container-content
.wp-block-navigation__container,
.wilfried-header
.wp-block-navigation__responsive-container-content
.wp-block-navigation__container {
align-items: flex-end !important;
gap: 0.55rem !important;
width: 100%;
}

header.wp-block-template-part
.wp-block-navigation-item,
.wilfried-header
.wp-block-navigation-item {
align-items: flex-end !important;
text-align: right;
width: 100%;
}

header.wp-block-template-part
.wp-block-navigation-item__content,
.wilfried-header
.wp-block-navigation-item__content {
box-sizing: border-box;
font-size: 1rem;
padding: 0.65rem 0.2rem !important;
width: auto;
}

header.wp-block-template-part
.wp-block-navigation__submenu-icon,
.wilfried-header
.wp-block-navigation__submenu-icon {
margin-left: 0.45rem;
}


/* Sous-menu Mes livres */

header.wp-block-template-part
.wp-block-navigation__submenu-container,
.wilfried-header
.wp-block-navigation__submenu-container {
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
margin: 0 !important;
padding:
0.15rem
0
0.45rem !important;
position: static !important;
width: 100% !important;
}

header.wp-block-template-part
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content,
.wilfried-header
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
color: rgba(255, 248, 235, 0.7) !important;
font-size: 0.9rem;
padding: 0.45rem 0.2rem !important;
}
}


/* ================================================================
 * HERO — TABLETTE PAYSAGE
 * Version compacte, sans écraser la signature.
 * ============================================================= */

@media (min-width: 901px) and (max-width: 1100px) {

.wilfried-hero-cover--showcase {
min-height: 72vh !important;
}

.wilfried-hero-cover--showcase
.wp-block-cover__inner-container {
align-items: flex-start !important;
min-height: 72vh !important;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__content {
margin-left: auto !important;
margin-right: 1.6rem !important;
max-width: 370px !important;
padding-bottom: 2rem !important;
padding-top: 2.4rem !important;
}

.wilfried-hero-cover--showcase
.wilfried-eyebrow {
font-size: 0.59rem;
line-height: 1.45;
max-width: 330px;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__intro {
font-size: 0.92rem !important;
line-height: 1.55;
max-width: 340px;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__buttons {
align-items: flex-start;
flex-direction: column;
gap: 0.65rem;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__buttons
.wp-block-button__link {
min-width: 180px;
text-align: center;
}
}


/* ================================================================
 * HERO — TABLETTE PORTRAIT ET MOBILE
 *
 * Sur un écran étroit, il est impossible de montrer simultanément
 * le portrait et toute la signature. Le visage devient prioritaire.
 * Le contenu reste ancré en bas dans une zone sombre lisible.
 * ============================================================= */

@media (max-width: 900px) {

.wilfried-hero-cover--showcase {
min-height: 720px !important;
}

.wilfried-hero-cover--showcase::after {
display: none !important;
}

.wilfried-hero-cover--showcase
> .wp-block-cover__background {
background:
linear-gradient(
180deg,
rgba(5, 3, 2, 0.02) 0%,
rgba(6, 4, 3, 0.06) 35%,
rgba(7, 5, 4, 0.34) 57%,
rgba(8, 5, 4, 0.84) 78%,
rgba(8, 5, 4, 0.97) 100%
) !important;
opacity: 1 !important;
}

.wilfried-hero-cover--showcase
.wp-block-cover__image-background {
filter:
brightness(1.08)
contrast(1.02)
saturate(1.04);
object-position: 27% center !important;
}

.wilfried-hero-cover--showcase
.wp-block-cover__inner-container {
align-items: flex-end !important;
display: flex !important;
min-height: 720px !important;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__content {
box-sizing: border-box;
margin:
0
auto !important;
max-width: 680px !important;
padding:
2rem
clamp(1.5rem, 5vw, 2.5rem)
2.5rem !important;
width: 100% !important;
}

.wilfried-hero-cover--showcase
.wilfried-eyebrow {
font-size: 0.62rem;
letter-spacing: 0.15em;
line-height: 1.55;
margin-bottom: 0.85rem;
max-width: 430px;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__intro {
font-size: 1rem !important;
line-height: 1.6;
max-width: 510px;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__buttons {
margin-top: 1.2rem;
}
}


/* ================================================================
 * PETITS MOBILES
 * ============================================================= */

@media (max-width: 600px) {

header.wp-block-template-part
.wp-block-group.alignwide,
.wilfried-header
.wp-block-group.alignwide {
padding:
0.95rem
1.15rem !important;
}

header.wp-block-template-part
.wp-block-image img,
header.wp-block-template-part
.wp-block-site-logo img,
.wilfried-header
.wp-block-image img,
.wilfried-header
.wp-block-site-logo img {
max-width: 190px;
}

.wilfried-hero-cover--showcase {
min-height: 680px !important;
}

.wilfried-hero-cover--showcase
.wp-block-cover__inner-container {
min-height: 680px !important;
}

.wilfried-hero-cover--showcase
.wp-block-cover__image-background {
object-position: 22% center !important;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__content {
padding:
1.6rem
1.35rem
1.8rem !important;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__intro {
font-size: 0.96rem !important;
line-height: 1.55;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__buttons {
align-items: stretch;
flex-direction: column;
gap: 0.7rem;
}

.wilfried-hero-cover--showcase
.wilfried-hero-cover__buttons
.wp-block-button,
.wilfried-hero-cover--showcase
.wilfried-hero-cover__buttons
.wp-block-button__link {
box-sizing: border-box;
width: 100%;
}
}


/* ================================================================
 * SÉCURITÉS RESPONSIVE COMMUNES
 * ============================================================= */

@media (max-width: 760px) {

.wilfried-main h1,
.wilfried-main h2,
.wilfried-main h3 {
overflow-wrap: break-word;
}

.wilfried-main
.wp-block-buttons {
max-width: 100%;
}

.wilfried-main
.wp-block-button,
.wilfried-main
.wp-block-button__link {
box-sizing: border-box;
}
}
/* WILFRIED — RESPONSIVE FIXES V2 */

/* ================================================================
 * MENU MOBILE PLUS COMPACT
 * ============================================================= */

@media (max-width: 600px) {

header.wp-block-template-part
.wp-block-navigation__responsive-container.is-menu-open,
.wilfried-header
.wp-block-navigation__responsive-container.is-menu-open {
padding:
0.9rem
1.25rem
1rem !important;
}

header.wp-block-template-part
.wp-block-navigation__responsive-container-content,
.wilfried-header
.wp-block-navigation__responsive-container-content {
box-sizing: border-box;
justify-content: flex-start !important;
overflow-y: auto;
overscroll-behavior: contain;
padding-bottom: 1rem !important;
padding-top: 2.8rem !important;
}

header.wp-block-template-part
.wp-block-navigation__responsive-container-content
.wp-block-navigation__container,
.wilfried-header
.wp-block-navigation__responsive-container-content
.wp-block-navigation__container {
gap: 0.15rem !important;
}

header.wp-block-template-part
.wp-block-navigation-item__content,
.wilfried-header
.wp-block-navigation-item__content {
font-size: 0.94rem;
line-height: 1.25;
padding:
0.43rem
0.15rem !important;
}

header.wp-block-template-part
.wp-block-navigation__submenu-container,
.wilfried-header
.wp-block-navigation__submenu-container {
padding:
0
0
0.25rem !important;
}

header.wp-block-template-part
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content,
.wilfried-header
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
font-size: 0.79rem;
line-height: 1.25;
padding:
0.28rem
0.15rem !important;
}
}


/* ================================================================
 * SUPPRESSION DES DÉBORDEMENTS HORIZONTAUX
 * ============================================================= */

@media (max-width: 760px) {

html,
body {
max-width: 100%;
overflow-x: hidden;
}

.wp-site-blocks,
.wilfried-main,
.wilfried-main
> .wp-block-post-content {
box-sizing: border-box;
max-width: 100%;
overflow-x: clip;
width: 100%;
}

.wilfried-main
> .wp-block-post-content
> .alignfull {
box-sizing: border-box;
margin-left: 0 !important;
margin-right: 0 !important;
max-width: 100% !important;
width: 100% !important;
}


/*
 * Toutes les colonnes passent réellement sur une seule ligne
 * verticale, sans conserver une largeur héritée du bureau.
 */

.wilfried-main
.wp-block-columns {
box-sizing: border-box;
flex-direction: column !important;
gap: 1.5rem !important;
max-width: 100%;
width: 100%;
}

.wilfried-main
.wp-block-column {
box-sizing: border-box;
flex-basis: 100% !important;
margin-left: 0 !important;
margin-right: 0 !important;
max-width: 100% !important;
min-width: 0 !important;
width: 100% !important;
}


/*
 * Les cartes utilisent désormais une largeur incluant
 * leurs bordures et leurs marges intérieures.
 */

.wilfried-book-card,
.wilfried-book-theme-card,
.wilfried-book-link-card,
.wilfried-home-gallery-card,
.wilfried-home-news-card,
.wilfried-career-method-card,
.wilfried-career-gallery-card,
.wilfried-video-card,
.wilfried-gallery-album-card,
.wilfried-news-card,
.wilfried-contact-form-column,
.wilfried-contact-card {
box-sizing: border-box !important;
flex-basis: 100% !important;
margin-left: 0 !important;
margin-right: 0 !important;
max-width: 100% !important;
min-width: 0 !important;
width: 100% !important;
}

.wilfried-main figure,
.wilfried-main
.wp-block-image {
box-sizing: border-box;
max-width: 100% !important;
}

.wilfried-main img {
height: auto;
max-width: 100%;
}


/*
 * Marges latérales homogènes sur les sections principales.
 */

.wilfried-introduction,
.wilfried-books-section,
.wilfried-transmission,
.wilfried-home-gallery,
.wilfried-home-news,
.wilfried-home-final {
box-sizing: border-box;
padding-left: 1rem !important;
padding-right: 1rem !important;
}

.wilfried-section-heading,
.wilfried-home-section-heading {
align-items: flex-start !important;
box-sizing: border-box;
flex-direction: column !important;
max-width: 100%;
width: 100%;
}
}


/* ================================================================
 * TRÈS PETITS ÉCRANS
 * ============================================================= */

@media (max-width: 420px) {

.wilfried-books-section h2,
.wilfried-home-section-heading h2 {
font-size:
clamp(
2.35rem,
12vw,
3.3rem
) !important;
line-height: 1.02;
}

.wilfried-book-card {
padding:
1rem
1rem
1.6rem !important;
}

.wilfried-book-card__image img {
border-radius: 11px;
width: 100%;
}
}
