/*
Theme Name: Julie Ferrez
Description: Thème enfant de la reconstruction native Bricks de Julie Ferrez.
Author: Romain Gal
Template: bricks
Version: 1.0.0
Text Domain: julie-ferrez
*/

/* La présentation éditable reste dans les contrôles natifs de Bricks. */
/* Fond de secours entre les sections ; leurs fonds natifs restent prioritaires. */
html, body { background-color: var(--julie-page-background, #fff8f0); }

/* Le contenu reste lisible si un observateur d'entrée est retardé (Safari,
   retour d'onglet, grand bloc mobile). Les keyframes natifs Bricks prennent
   toujours le relais pendant l'animation ; aucune géométrie n'est surchargée. */
.jf-reveal { opacity: 1 !important; }
@media(prefers-reduced-motion:no-preference) {
  .jf-reveal.brx-animate-fadeIn { animation-name: julie-reveal; }
  @keyframes julie-reveal {
    from { transform: translateY(12px); }
    to { transform: translateY(0); }
  }
}

/* Accessibilité des seules animations d’entrée natives, sans modifier leur design. */
@media (prefers-reduced-motion: reduce) {
  .jf-reveal { opacity: 1 !important; visibility: visible !important; animation: none !important; transform: none !important; }
  html { scroll-behavior: auto !important; }
}

/* Mouvement uniquement : la géométrie, les couleurs et les polices restent natives. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .jf-action{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
 .jf-action:hover{transform:translateY(-2px);box-shadow:0 8px 22px #4f242318}
 .jf-action:active{transform:translateY(0)}
 .jf-action img,.jf-action svg,.jf-action .jf-arrow{transition:transform .22s ease}.jf-action:hover img,.jf-action:hover svg,.jf-action:hover .jf-arrow{transform:translateX(3px)}
 .jf-event-card{transition:transform .28s ease,box-shadow .28s ease}.jf-event-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px #51473315}
 .jf-photo-frame img{transition:transform .5s ease}.jf-photo-frame:hover img{transform:scale(1.035)}
 .jf-course-card > div:first-child img{transition:transform .5s ease}.jf-course-card:hover > div:first-child img{transform:scale(1.025)}
}
/* Contenu riche du CMS : tableaux et listes s’adaptent à leur colonne native. */
.jf-story-copy>*:first-child{margin-top:0}.jf-story-copy>*:last-child{margin-bottom:0}
.jf-story-copy p{margin:0 0 1em}.jf-story-copy ul,.jf-story-copy ol{padding-left:1.3em;margin:1em 0}.jf-story-copy li{padding-left:.3em;margin:.5em 0}.jf-story-copy li::marker{color:#8f2931}
.jf-story-copy figure{margin:1.5em 0;max-width:100%}.jf-story-copy img{max-width:100%;height:auto!important;border-radius:20px}.jf-story-copy table{border-collapse:collapse;width:100%;font-size:16px}.jf-story-copy th,.jf-story-copy td{padding:16px 14px;border-bottom:1px solid #dfd3c6;text-align:left;overflow-wrap:anywhere}.jf-story-copy tr:first-child{background:#f3ece2}.jf-story-copy .wp-block-table{overflow-x:auto}.jf-story-copy .jf-story-context{font-size:14px;letter-spacing:.04em;color:#515c4e}.jf-story-copy a{text-decoration:underline;text-underline-offset:3px}
.jf-hero-video video{pointer-events:none}.jf-hero-video video::-webkit-media-controls{display:none!important}
.jf-inline-video video{display:block;width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:reduce){.jf-action,.jf-event-card,.jf-photo-frame img{transition:none!important;transform:none!important}}
.jf-story-copy table,.jf-story-copy th,.jf-story-copy td{border-left:0!important;border-right:0!important;border-top:0!important}.jf-story-copy th,.jf-story-copy td{border-bottom:1px solid #dfd3c6!important}.jf-story-copy table tr:first-child td{font-weight:600}.jf-story-copy .wp-block-table{border-radius:16px;background:#fffdf9}

/* Garder les intitulés et montants des tableaux à deux colonnes lisibles sur mobile. */
.jf-story-copy th{overflow-wrap:normal;word-break:normal;white-space:nowrap}.jf-story-copy tr>:nth-child(2):last-child{width:1%;white-space:nowrap;overflow-wrap:normal}
/* Adaptation à la barre WordPress : aucun changement de la navigation visiteur. */
body.admin-bar #brx-header > .brxe-section{top:var(--wp-admin--admin-bar--height,32px)}
body.admin-bar #brxe-jf0012{top:calc(16px + var(--wp-admin--admin-bar--height,32px))}
body.admin-bar #brxe-jf0005.brx-open .brx-nav-nested-items{top:calc(84px + var(--wp-admin--admin-bar--height,32px));height:calc(100dvh - 84px - var(--wp-admin--admin-bar--height,32px))}
@media(max-width:600px){body.admin-bar #wpadminbar{position:fixed}}

/* Survol discret des pictogrammes et références ; dimensions éditables dans Bricks. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .jf-benefit>img{transition:transform .35s ease}.jf-benefit:hover>img{transform:translateY(-4px) rotate(-3deg)}
 .jf-company-logos img{transition:transform .3s ease}.jf-company-logos img:hover{transform:scale(1.06)}
}

/* L’affiche reste dans la couche vidéo, derrière les titres et les voiles du héros. */
.jf-hero-video{isolation:isolate}
.jf-hero-video::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background-image:inherit;background-size:cover;background-position:center}
.jf-hero-video.jf-video-playing::after{display:none}
