/* PFB Premium Editorial 1.19.0 — Calendrier & événements */
body.pfb-premium-calendar,
body.pfb-premium-event{
  --pfb-refit-bg:#050a11;--pfb-refit-panel:#0b1621;--pfb-refit-panel2:#0e1d2a;
  --pfb-refit-line:rgba(255,255,255,.10);--pfb-refit-text:#e9eef4;--pfb-refit-muted:#93a4b4;
  --pfb-refit-red:#df2631;--pfb-refit-gold:#e4bb61;--pfb-refit-blue:#174d91;
  background:var(--pfb-refit-bg)!important;color:var(--pfb-refit-text)!important;overflow-x:hidden!important;
}
body.pfb-premium-calendar #main,
body.pfb-premium-event #main{background:#050a11!important;min-height:70vh!important;margin-top:0!important;padding-top:0!important}
body.pfb-premium-calendar #page-title-wrapper,
body.pfb-premium-event #page-title-wrapper{display:none!important}
body.pfb-premium-calendar #main>.container,
body.pfb-premium-event #main>.container,
body.pfb-premium-calendar #content,
body.pfb-premium-event #content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}

/* Le primary menu fait visuellement partie de la bannière, comme News/Portfolio. */
@media(min-width:1025px){
  body.pfb-premium-calendar:not(.pfb-header-scrolled) #header,
  body.pfb-premium-event:not(.pfb-header-scrolled) #header{border-bottom:0!important;background:transparent!important;box-shadow:none!important}
  body.pfb-premium-calendar:not(.pfb-header-scrolled) #header #nav-primary>nav>.menu-primary-menu-container>ul>li>a,
  body.pfb-premium-event:not(.pfb-header-scrolled) #header #nav-primary>nav>.menu-primary-menu-container>ul>li>a,
  body.pfb-premium-calendar:not(.pfb-header-scrolled) #header .nav>nav>ul>li>a,
  body.pfb-premium-event:not(.pfb-header-scrolled) #header .nav>nav>ul>li>a{
    color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;text-shadow:0 1px 12px rgba(0,0,0,.82)!important;
  }
  body.pfb-premium-calendar:not(.pfb-header-scrolled) #header #nav-primary>nav>.menu-primary-menu-container>ul>li.current-menu-item>a,
  body.pfb-premium-event:not(.pfb-header-scrolled) #header #nav-primary>nav>.menu-primary-menu-container>ul>li.current-menu-item>a{
    color:#df2631!important;-webkit-text-fill-color:#df2631!important;
  }
}

.pfb-refit-spectrum{position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#174d91 0%,#fff 31%,#df2631 66%,#d9b65d 100%);z-index:6}
.pfb-calendar-hero>.pfb-refit-spectrum,
.pfb-event-hero>.pfb-refit-spectrum{top:auto!important;bottom:0!important;height:3px!important}
.pfb-refit-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--pfb-refit-gold);font-size:11px;font-weight:900;letter-spacing:2.4px;text-transform:uppercase}
.pfb-refit-kicker:before{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--pfb-refit-red),var(--pfb-refit-gold))}
.pfb-refit-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid rgba(255,255,255,.20);border-radius:999px;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:rgba(8,16,24,.62);backdrop-filter:blur(10px);transition:.2s ease}
.pfb-refit-btn:hover{transform:translateY(-2px);border-color:rgba(228,187,97,.55);color:#fff!important;-webkit-text-fill-color:#fff!important}
.pfb-refit-btn--red{background:linear-gradient(135deg,#e62e39,#b7111c)!important;border-color:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 12px 30px rgba(223,38,49,.24)}

/* Calendar hero */
.pfb-calendar-hero{position:relative;isolation:isolate;min-height:430px;display:flex;align-items:flex-end;background:#07111b;overflow:hidden}
.pfb-calendar-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--pfb-hero-image);background-size:cover;background-position:center 44%;filter:saturate(.80) contrast(1.03)}
.pfb-calendar-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,8,13,.96) 0%,rgba(4,9,14,.83) 47%,rgba(5,10,15,.55) 100%),linear-gradient(180deg,rgba(5,10,17,.10),#050a11 100%)}
.pfb-calendar-hero__inner{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:128px 0 68px}
.pfb-calendar-hero h1{max-width:900px;margin:14px 0 18px;color:#fff!important;font-size:clamp(46px,6vw,84px)!important;line-height:.93!important;letter-spacing:-.055em!important;font-weight:950!important;text-shadow:0 16px 38px rgba(0,0,0,.28)!important}
.pfb-calendar-hero h1 em{font-style:normal;color:#d7e1ea;font-size:.55em;letter-spacing:-.03em;font-weight:750}
.pfb-calendar-hero p{max-width:760px;margin:0;color:#afbdca;font-size:16px;line-height:1.75}
.pfb-calendar-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pfb-calendar-content{position:relative;padding:44px 0 88px;background:radial-gradient(circle at 5% 10%,rgba(23,77,145,.15),transparent 28%),radial-gradient(circle at 96% 12%,rgba(223,38,49,.10),transparent 24%),#050a11}
.pfb-calendar-content__inner{width:min(1240px,calc(100% - 48px));margin:0 auto}
body.pfb-premium-calendar .wpb-content-wrapper,
body.pfb-premium-calendar .vc_row,
body.pfb-premium-calendar .vc_column-inner,
body.pfb-premium-calendar .wpb_wrapper{margin:0!important;padding:0!important;background:transparent!important}

/* Calendarize.it : peau premium + contrôles compacts */
body.pfb-premium-calendar .rhcalendar.rhc_holder{padding:20px!important;border:1px solid var(--pfb-refit-line)!important;border-radius:26px!important;background:linear-gradient(145deg,#0c1723,#07111a)!important;box-shadow:0 28px 70px rgba(0,0,0,.28)!important;overflow:hidden!important}
body.pfb-premium-calendar .fc-header{padding:8px 8px 18px!important;border-bottom:1px solid var(--pfb-refit-line)!important}
body.pfb-premium-calendar .fc-header-row{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:12px!important}
body.pfb-premium-calendar .fc-header-cell{float:none!important;width:auto!important;display:flex!important;align-items:center!important;gap:5px!important;height:auto!important;min-height:0!important}
body.pfb-premium-calendar .fc-header-left{justify-content:flex-start!important}
body.pfb-premium-calendar .fc-header-center{justify-content:center!important;grid-column:2;grid-row:1}
body.pfb-premium-calendar .fc-header-right{justify-content:flex-end!important}
body.pfb-premium-calendar .fc-header-title h2{margin:0!important;color:#fff!important;font-size:26px!important;line-height:1!important;font-weight:900!important;letter-spacing:-.025em!important}
body.pfb-premium-calendar .fc-button{
  float:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-width:0!important;height:32px!important;min-height:32px!important;max-height:32px!important;
  margin:2px!important;padding:0 10px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:9px!important;
  background:#101f2d!important;color:#cdd8e2!important;box-shadow:none!important;text-shadow:none!important;
  font-size:10px!important;font-weight:850!important;line-height:1!important;transition:.18s ease!important;box-sizing:border-box!important;
}
body.pfb-premium-calendar .fc-button-inner,
body.pfb-premium-calendar .fc-button-content{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;min-height:0!important;
  padding:0!important;margin:0!important;line-height:1!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
body.pfb-premium-calendar .fc-button-effect{display:none!important}
body.pfb-premium-calendar .fc-button:hover,
body.pfb-premium-calendar .fc-button.fc-state-active{background:#182b3d!important;color:#fff!important;border-color:rgba(228,187,97,.34)!important}
body.pfb-premium-calendar .fc-button-today{background:linear-gradient(135deg,#df2631,#b51520)!important;color:#fff!important;border-color:transparent!important}
body.pfb-premium-calendar .fc-button-prev,
body.pfb-premium-calendar .fc-button-next,
body.pfb-premium-calendar .fc-button-prevYear,
body.pfb-premium-calendar .fc-button-nextYear{width:32px!important;padding:0!important}
body.pfb-premium-calendar .fc-head-control{padding:12px 7px!important;background:transparent!important;border-bottom:1px solid var(--pfb-refit-line)!important}
body.pfb-premium-calendar .tax_filter_holder_viewport{overflow-x:auto!important}
body.pfb-premium-calendar .btn-taxfilter{width:auto!important;min-width:0!important;min-height:34px!important;padding:0 10px!important;background:#0f1c29!important;border:1px solid rgba(255,255,255,.10)!important;color:#d8e1ea!important;border-radius:8px!important}
body.pfb-premium-calendar .fc-content{padding:16px 6px 6px!important;overflow-x:auto!important;scrollbar-color:#314457 #0b1621}
body.pfb-premium-calendar .fc-view{min-width:780px}
body.pfb-premium-calendar .fc-border-separate{border-collapse:separate!important;border-spacing:1px!important;background:#0b151f!important}
body.pfb-premium-calendar .fc-widget-header{padding:12px 4px!important;background:#101e2b!important;color:#dce6ef!important;border:0!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:900!important}
body.pfb-premium-calendar .fc-widget-content{background:#07111a!important;border:1px solid rgba(255,255,255,.035)!important;color:#8193a4!important}
body.pfb-premium-calendar .fc-day-number{color:#aab8c6!important;font-weight:800!important;padding:8px!important}
body.pfb-premium-calendar .fc-state-highlight{background:#0d2132!important;box-shadow:inset 0 0 0 1px rgba(228,187,97,.28)!important}
body.pfb-premium-calendar .fc-event{border:0!important;border-radius:7px!important;padding:4px 6px!important;box-shadow:0 5px 14px rgba(0,0,0,.25)!important;font-weight:750!important;line-height:1.3!important;overflow:hidden!important}
body.pfb-premium-calendar .fc-event:hover{filter:brightness(1.08)!important;transform:translateY(-1px)!important}
body.pfb-premium-calendar .fc-event-time{font-weight:900!important;margin-right:4px!important}
body.pfb-premium-calendar .fc-event-title{font-weight:750!important}

/* Event hero */
.pfb-event-hero{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;background:#07101a}
.pfb-event-hero:before{content:"";position:absolute;inset:0;z-index:-3;background-image:var(--pfb-hero-image);background-size:cover;background-position:center 50%;filter:saturate(.80) contrast(1.04)}
.pfb-event-hero__overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,7,11,.96),rgba(5,9,14,.73) 53%,rgba(5,9,14,.54)),linear-gradient(180deg,rgba(0,0,0,.10),#050a11 100%)}
.pfb-event-hero__inner{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:142px 0 64px;position:relative;z-index:2}
.pfb-event-hero h1{max-width:930px;margin:15px 0 17px;color:#fff!important;font-size:clamp(45px,6.2vw,86px)!important;line-height:.94!important;letter-spacing:-.055em!important;font-weight:950!important;text-shadow:0 16px 38px rgba(0,0,0,.30)!important}
.pfb-event-hero__meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 7px}
.pfb-event-hero__meta span{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(7,14,22,.62);color:#e8eef4;font-size:12px;font-weight:800;backdrop-filter:blur(10px)}
.pfb-event-hero__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.pfb-event-hero__place{margin:16px 0 0;color:#9fb0c0;font-size:12px}
.pfb-event-content{padding:30px 0 92px;background:radial-gradient(circle at 3% 12%,rgba(23,77,145,.13),transparent 28%),radial-gradient(circle at 96% 9%,rgba(223,38,49,.08),transparent 26%),#050a11}
.pfb-event-content__inner{width:min(1180px,calc(100% - 48px));margin:0 auto}
.pfb-event-copy{max-width:930px}
body.pfb-premium-event .post-content.page-content{font-size:16px!important;line-height:1.72!important;color:#c8d4de!important}
body.pfb-premium-event .post-content.page-content>p{max-width:880px!important;color:#c8d4de!important}
body.pfb-premium-event .post-content.page-content>span:first-of-type{display:block!important;margin:0 0 18px!important;padding:0!important;color:#fff!important;font-size:20px!important;line-height:1.55!important;font-weight:750!important}
body.pfb-premium-event .post-content.page-content a{color:#e4bb61!important;text-decoration:none!important;font-weight:750!important}
body.pfb-premium-event .post-content.page-content strong{color:#fff!important}
body.pfb-premium-event .post-content.page-content span[style*="background-color"]{background:transparent!important;color:#fff!important}

/* On remplace les vieux encarts Calendarize et ses Google Maps par un bloc PFB propre. */
body.pfb-premium-event .rhc.fe-extrainfo-container,
body.pfb-premium-event .synved-social-button,
body.pfb-premium-event .synved-social-container{display:none!important}

.pfb-event-sharebar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 26px;padding:0 0 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.pfb-event-sharebar>span{margin-right:6px;color:#7f93a5;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.pfb-event-share{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.10);border-radius:11px;background:#0e1c29;color:#dce6ef!important;cursor:pointer;transition:.18s ease}
.pfb-event-share svg{width:17px;height:17px;display:block}
.pfb-event-share:hover{transform:translateY(-2px);border-color:rgba(228,187,97,.42);background:#142637;color:#fff!important}
.pfb-event-share--facebook:hover{background:#1877f2;border-color:#1877f2}
.pfb-event-share--x:hover{background:#111;border-color:#444}
.pfb-event-share--whatsapp:hover{background:#1ea952;border-color:#1ea952}
.pfb-event-share--copy.is-copied{background:#1d7a4b;border-color:#2baa6b}

.pfb-event-practical{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:18px;margin-top:36px}
.pfb-event-practical-card{min-width:0;padding:28px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:linear-gradient(145deg,#0d1925,#08111a);box-shadow:0 22px 54px rgba(0,0,0,.24);overflow:hidden}
.pfb-event-card-kicker{display:block;margin:0 0 8px;color:#e4bb61;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.pfb-event-practical-card h2{margin:0 0 22px!important;color:#fff!important;font-size:28px!important;line-height:1.05!important;letter-spacing:-.035em!important;font-weight:900!important}
.pfb-event-facts{margin:0;padding:0}
.pfb-event-facts>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.065)}
.pfb-event-facts dt{margin:0;color:#71869a;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pfb-event-facts dd{margin:0;color:#eef3f7;font-size:14px;line-height:1.45;font-weight:700;overflow-wrap:anywhere}
.pfb-event-card-actions,.pfb-event-map-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pfb-event-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:999px;background:linear-gradient(135deg,#df2631,#b7141e);color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.pfb-event-mini-btn--ghost{background:#142536;border:1px solid rgba(255,255,255,.10)}
.pfb-event-osm{position:relative;min-height:320px;border:1px solid rgba(255,255,255,.10);border-radius:18px;overflow:hidden;background:#061019}
.pfb-event-osm iframe{display:block;width:100%;height:320px;border:0;filter:saturate(.88) contrast(1.02)}
.pfb-event-osm-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:28px;text-align:center;color:#91a4b6;font-size:13px;line-height:1.55;background:linear-gradient(145deg,#091522,#061019)}
.pfb-event-osm.is-ready .pfb-event-osm-status{display:none}
.pfb-event-osm.is-error .pfb-event-osm-status{color:#cbd5de}

/* Le bouton Feed iCal natif ne doit jamais s'étirer. */
body.pfb-premium-event .fc-button-icalendar,
body.pfb-premium-event .fbd-button-primary{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:0 12px!important;margin:0!important;border:0!important;border-radius:8px!important;background:#df2631!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:11px!important;font-weight:850!important;line-height:1!important;text-decoration:none!important;box-shadow:none!important;
}
body.pfb-premium-event .fc-button-icalendar .fc-button-inner,
body.pfb-premium-event .fc-button-icalendar .fc-button-content{display:inline-flex!important;width:auto!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;line-height:1!important;background:transparent!important;border:0!important}
body.pfb-premium-event .fc-button-icalendar .fc-button-effect{display:none!important}

/* Ancien footer widget : laisser le footer Premium prendre la main. */
body.pfb-premium-calendar #footer-widget-bar,
body.pfb-premium-event #footer-widget-bar{display:none!important}

@media(max-width:900px){
  .pfb-calendar-hero__inner,.pfb-event-hero__inner,.pfb-event-content__inner,.pfb-calendar-content__inner{width:calc(100% - 28px)}
  .pfb-calendar-hero{min-height:390px}.pfb-event-hero{min-height:440px}
  .pfb-event-practical{grid-template-columns:1fr}
}
@media(max-width:700px){
  .pfb-calendar-hero__inner{padding:110px 0 48px}.pfb-event-hero__inner{padding:118px 0 48px}
  .pfb-calendar-hero h1,.pfb-event-hero h1{font-size:clamp(39px,12vw,58px)!important}
  .pfb-calendar-hero p{font-size:14px}
  .pfb-calendar-content,.pfb-event-content{padding:26px 0 64px}
  body.pfb-premium-calendar .rhcalendar.rhc_holder{padding:11px!important;border-radius:18px!important}
  body.pfb-premium-calendar .fc-header-row{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  body.pfb-premium-calendar .fc-header-cell{justify-content:center!important;flex-wrap:wrap!important}
  body.pfb-premium-calendar .fc-header-center{order:-1!important}
  body.pfb-premium-calendar .fc-view{min-width:720px}
  .pfb-event-sharebar{justify-content:flex-start}
  .pfb-event-practical-card{padding:21px 18px;border-radius:18px}
  .pfb-event-facts>div{grid-template-columns:1fr;gap:4px}
  .pfb-event-osm,.pfb-event-osm iframe{min-height:270px;height:270px}
  .pfb-refit-btn{min-height:42px;padding:0 14px;font-size:10px}
}


/* ======================================================================
   PFB Premium Editorial 1.28.0 — calendrier compact et réellement mobile
   ====================================================================== */
body.pfb-premium-calendar .fc-button{
  height:28px!important;min-height:28px!important;max-height:28px!important;padding:0 9px!important;margin:1px 2px!important;border-radius:8px!important;font-size:9px!important;
}
body.pfb-premium-calendar .fc-button-prev,
body.pfb-premium-calendar .fc-button-next,
body.pfb-premium-calendar .fc-button-prevYear,
body.pfb-premium-calendar .fc-button-nextYear{width:28px!important;min-width:28px!important;padding:0!important}
@media(max-width:700px){
  body.pfb-premium-calendar .rhcalendar.rhc_holder{overflow:hidden!important;padding:10px!important}
  body.pfb-premium-calendar .fc-header{padding:4px 2px 12px!important}
  body.pfb-premium-calendar .fc-header-row{gap:8px!important}
  body.pfb-premium-calendar .fc-header-cell{gap:3px!important}
  body.pfb-premium-calendar .fc-header-title h2{font-size:20px!important}
  body.pfb-premium-calendar .fc-button{height:29px!important;min-height:29px!important;max-height:29px!important;padding:0 8px!important;margin:1px!important;font-size:9px!important}
  body.pfb-premium-calendar .fc-button-prev,
  body.pfb-premium-calendar .fc-button-next,
  body.pfb-premium-calendar .fc-button-prevYear,
  body.pfb-premium-calendar .fc-button-nextYear{width:29px!important;min-width:29px!important;padding:0!important}
  body.pfb-premium-calendar .fc-content{width:100%!important;max-width:100%!important;padding:10px 0 0!important;overflow-x:hidden!important}
  body.pfb-premium-calendar .fc-view{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
  body.pfb-premium-calendar .fc-view table{width:100%!important;max-width:100%!important;table-layout:fixed!important}
  /* Si l'utilisateur revient manuellement au mois, il reste dans la largeur écran. */
  body.pfb-premium-calendar .fc-view-month .fc-event{font-size:8px!important;padding:3px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  body.pfb-premium-calendar .fc-widget-header{font-size:8px!important;letter-spacing:.02em!important;padding:8px 1px!important}
  body.pfb-premium-calendar .fc-day-number{font-size:10px!important;padding:5px!important}
}
