/* 32 Forêt Noire : habillage du site (maquette Figma V2 validée le 14/10/2026). Préfixe fn-. */
:root{--fn-navy:#00102E;--fn-blue:#233452;--fn-soft:#F2F4F8;--fn-muted:#5A6478;--fn-border:#DDE2EA;--fn-ocre:#DD9933;--fn-ocre-dark:#9A5B00;--fn-ocre-tint:#FBEBD6;}

/* Typographie générale */
body{color:var(--fn-blue);}
h1,h2,h3,h4{color:var(--fn-navy);letter-spacing:-0.01em;}
.entry-content a{color:var(--fn-blue);text-underline-offset:3px;}

/* En-tête */
#masthead .site-logo,#masthead-mobile .site-logo{max-height:48px;width:auto;}
#mainnav .menu-item a{font-weight:500;}

/* Titres des pages intérieures */
.page .entry-header .entry-title{font-size:clamp(30px,4vw,44px);font-weight:600;line-height:1.15;margin-bottom:28px;}

/* Boutons du module de comptes */
.um .um-button,.um input[type=submit].um-button{background:var(--fn-blue)!important;border-radius:4px!important;text-transform:uppercase;letter-spacing:.04em;font-weight:600!important;}
.um .um-button.um-alt,.um input[type=submit].um-button.um-alt{background:transparent!important;color:var(--fn-blue)!important;border:2px solid var(--fn-blue)!important;}
.um .um-form input[type=text],.um .um-form input[type=password],.um .um-form input[type=email]{border-radius:6px!important;}
.um .um-form input:focus{border-color:var(--fn-blue)!important;}

/* Pied de page */
#sidebar-footer .textwidget{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;}
#sidebar-footer .fn-foot-logo img{height:48px;width:auto;display:block;}
#sidebar-footer .fn-foot-addr{opacity:.85;margin:0;}
#sidebar-footer .fn-foot-links{display:flex;gap:28px;margin:0;}
#sidebar-footer .fn-foot-links a{font-weight:500;text-decoration:none;}
.site-info{font-size:13px;opacity:.75;}

/* Accueil pleine largeur (modèle Canevas Sydney) */
.page-template-page_front-page .page-wrap{padding-top:0;padding-bottom:0;}
.page-template-page_front-page .page-wrap .content-wrapper{width:100%;max-width:100%;padding-left:0;padding-right:0;}
.page-template-page_front-page .page-wrap .content-wrapper>.row{margin-left:0;margin-right:0;}

/* ---------- Page d'accueil ---------- */
.fn-home{overflow-x:hidden;}
.fn-wrap,.fn-hero .fn-hero-cols,.fn-section{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;}

/* Introduction */
.fn-hero{position:relative;overflow:hidden;background:var(--fn-soft);padding:96px 0;}
.fn-hero .fn-hero-cols{position:relative;z-index:1;}
.fn-hero .fn-deco{position:absolute;inset:0;z-index:0;pointer-events:none;}
.fn-blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:fn-float 14s ease-in-out infinite alternate;}
.fn-blob-a{width:560px;height:560px;background:#F2C27A;right:-120px;top:-240px;}
.fn-blob-b{width:500px;height:500px;background:#A9C1EE;left:-200px;bottom:-260px;animation-duration:18s;}
.fn-ring{position:absolute;border:1.5px solid var(--fn-blue);border-radius:50%;right:6%;top:50%;transform:translate(50%,-50%);animation:fn-breathe 10s ease-in-out infinite alternate;}
.fn-ring-1{width:520px;height:520px;opacity:.10;}
.fn-ring-2{width:760px;height:760px;opacity:.07;animation-delay:-3s;}
.fn-ring-3{width:1000px;height:1000px;opacity:.05;animation-delay:-6s;}
.fn-big32{position:absolute;right:2%;top:50%;transform:translateY(-50%);font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:min(36vw,520px);line-height:1;letter-spacing:-.04em;color:var(--fn-blue);opacity:.05;}
@keyframes fn-float{from{transform:translate(0,0)}to{transform:translate(24px,-24px)}}
@keyframes fn-breathe{from{transform:translate(50%,-50%) scale(1)}to{transform:translate(50%,-50%) scale(1.04)}}

.fn-hero-cols{gap:64px;align-items:center!important;margin-bottom:0!important;}
.fn-hero-cols>.wp-block-column:first-child{flex:1 1 60%;}
.fn-hero-cols>.wp-block-column:last-child{flex:0 0 400px;}
.fn-eyebrow{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fn-ocre-dark);margin:0 0 16px;}
h1.fn-h1{font-size:clamp(32px,4.4vw,52px);font-weight:600;line-height:1.12;letter-spacing:-0.015em;margin:0 0 24px;}
.fn-lead{font-size:clamp(17px,1.4vw,19px);line-height:1.6;margin:0 0 28px;}
.fn-btns{gap:14px;}
.fn-btns .wp-block-button__link{border-radius:4px;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:16px 30px;text-decoration:none;}
.fn-btns .is-style-outline .wp-block-button__link{border:2px solid var(--fn-blue);color:var(--fn-blue);background:transparent;padding:14px 28px;}

.fn-card{background:rgba(255,255,255,.92);border:1px solid var(--fn-border);border-radius:16px;padding:30px;box-shadow:0 12px 32px rgba(0,16,46,.10);}
.fn-row{display:flex;gap:14px;align-items:flex-start;}
.fn-row+.fn-row{margin-top:22px;padding-top:22px;border-top:1px solid var(--fn-border);}
.fn-ico{flex:0 0 44px;height:44px;border-radius:12px;background:var(--fn-ocre-tint);display:flex;align-items:center;justify-content:center;}
.fn-ico svg{width:22px;height:22px;}
.fn-row-label{display:block;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fn-muted);margin-bottom:4px;}
.fn-row-text{display:block;font-size:16px;font-weight:500;line-height:1.5;color:var(--fn-navy);}

/* Étapes */
.fn-section{padding-top:88px;}
.fn-section h2{font-size:clamp(26px,2.6vw,34px);font-weight:600;margin:0 0 24px;}
.fn-steps{gap:24px;margin-bottom:24px!important;}
.fn-step{height:100%;background:#fff;border:1px solid var(--fn-border);border-radius:12px;padding:28px;transition:box-shadow .3s ease,transform .3s ease;}
.fn-step:hover{box-shadow:0 10px 28px rgba(0,16,46,.08);transform:translateY(-2px);}
.fn-step-num{width:44px;height:44px;border-radius:50%;background:var(--fn-ocre-tint);color:var(--fn-ocre-dark);font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;margin:0 0 14px;}
.fn-step h3{font-size:19px;font-weight:600;margin:0 0 8px;}
.fn-step p:last-child{color:var(--fn-muted);margin:0;line-height:1.55;}
.fn-urgent{display:flex;flex-direction:column;gap:4px;background:var(--fn-ocre-tint);border-radius:12px;padding:20px 24px 20px 64px;position:relative;}
.fn-urgent::before{content:"";position:absolute;left:24px;top:22px;width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A5B00' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M12 9v4l2.5 2.5M9.5 2.5h5'/%3E%3C/svg%3E") no-repeat center/contain;}
.fn-urgent p{margin:0;}
.fn-urgent p:first-child{font-weight:600;color:var(--fn-navy);}
.fn-urgent p:last-child{font-size:14px;}

/* Encadrés */
.fn-infos{gap:24px;padding-top:32px;padding-bottom:96px;}
.fn-info{height:100%;background:var(--fn-soft);border-radius:16px;padding:32px;}
.fn-info h2{font-size:22px;margin:0 0 12px;}
.fn-info p{margin:0;line-height:1.6;}

/* Apparition au défilement (navigateurs compatibles) */
@supports (animation-timeline: view()){
  .fn-step,.fn-urgent,.fn-info{animation:fn-rise linear both;animation-timeline:view();animation-range:entry 0% cover 25%;}
  @keyframes fn-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion: reduce){
  .fn-blob,.fn-ring,.fn-step,.fn-urgent,.fn-info{animation:none!important;transition:none!important;}
}
@media (max-width: 781px){
  .fn-hero{padding:48px 0;}
  .fn-hero-cols{gap:28px;}
  .fn-hero-cols>.wp-block-column:last-child{flex:1 1 100%;}
  .fn-btns .wp-block-button{width:100%;}
  .fn-btns .wp-block-button__link{display:block;text-align:center;}
  .fn-section{padding-top:56px;}
  .fn-big32,.fn-ring-3{display:none;}
  .fn-infos{padding-bottom:56px;}
  #sidebar-footer .textwidget{flex-direction:column;align-items:flex-start;}
  #sidebar-footer .fn-foot-links{flex-direction:column;gap:10px;}
}

/* Menu de l'en-tête : survol et page en cours lisibles sur le bandeau bleu nuit (16/10/2026) */
#masthead #mainnav .menu-item > a:hover,
#masthead #mainnav .menu-item > a:focus-visible,
#masthead #mainnav .menu-item:hover > a,
#masthead #mainnav .current-menu-item > a,
#masthead #mainnav .current_page_item > a{color:var(--fn-ocre)!important;}
#masthead #mainnav .menu-item:hover{color:var(--fn-ocre)!important;}

/* Accueil : pas de bouton « Créer un compte patient » pour un patient déjà connecté */
.logged-in .fn-btns .is-style-outline{display:none;}

/* Mobile : zones cliquables du bouton de menu et de la loupe à 44 px (16/10/2026) */
#masthead-mobile .menu-toggle,
#masthead-mobile .header-search{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;}

/* En-tête : icône Mon compte (patients connectés) à la place de la recherche, retirée le 17/10/2026 */
.header-search-form{display:none!important;}
.fn-compte{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
.fn-compte .sydney-svg-icon{display:inline-flex;}
.fn-compte svg{width:16px;height:16px;fill:#fff;transition:fill .2s ease;}
.fn-compte:hover svg,.fn-compte:focus-visible svg{fill:var(--fn-ocre);}

/* Lien vers Mon compte en bas des pages Prendre rendez-vous et Annulation */
.fn-compte-lien{margin-top:32px;}
.fn-compte-lien a{font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.fn-compte-lien a:hover{color:var(--fn-ocre-dark);}
