@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Caprasimo:wght@400&display=swap);

/* Boutons & liens header */
.custom-header__links__link,
.notion-button {
  padding: 8px 24px !important;
  font-family: Poppins, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: #fff !important;
  font-weight: 400 !important;
}

.notion-button {
  opacity: 1 !important;
  cursor: pointer;
  background-color: #00b1ac !important;
  border-radius: 9999px !important;
  border: none !important;
  transition: .3s;
}

.notion-button:hover {
  background-color: #ff7034 !important;
  opacity: 1 !important;
}

.custom-header__links__link {
  background-color: #00b1ac !important;
  border: none !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: background-color .3s;
}

.custom-header__links__link:hover {
  background-color: #ff7034 !important;
  color: #fff !important;
}

/* Masquages */
.notion-block-fd1e69b90e7e43e0a4a94f0f1cb0f724 .notion-title-container,
a.styles_badgerLink__YnR_g {
  display: none !important;
}

a.notion-block-1046ae9a98f280d39023f3ba28cfc7c9,
a.notion-block-19f3c0c80f76450e926ba49e49f4bceb,
a.notion-block-1a46ae9a98f280b48cfaf0f3981dd64a,
a.notion-block-35adaa1207fd47b38b9d6b4115740b22,
a.notion-block-7b3a8f150fff44bb972726bbd828a57f,
a.notion-block-905b976410cf420caff3c6a618a147f9,
a.notion-block-d0b436d5a1e1428d8bd76845ab0654de,
a.notion-block-ea6aaecc43b448438befb83d9a2f60f7,
a.notion-block-1d06ae9a98f2804a838fea4211af04f1,
a.notion-block-1d16ae9a98f280a2b1fac57ddcfcf2cf,
a.notion-block-2fe6ae9a98f280e2824fdad8963e5917,
a.notion-block-2ff6ae9a98f28051aa49d147cc6ca334 {
  visibility: hidden;
  position: absolute;
  left: -9999px;
}

/* Footer */
.styles_main_footer__LoNow {
  background-color: hsla(0, 0%, 0%, .05) !important;
}

/* Espacements */
.notion-block-a24a44da57c7443c9cc2828a48bf66a6 {
  margin-top: 50px !important;
  margin-bottom: 80px !important;
}

/* Titres */
h2.notion-h.notion-h1.notion-h-indent-0
.notion-block-d7029277b8c843ac99308fa4128ed384[data-id=d7029277b8c843ac99308fa4128ed384]
a.notion-h-title b {
  font-size: 50px !important;
  font-family: Poppins, serif !important;
  font-weight: 900 !important;
  font-style: normal !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
}

div.notion-text.notion-block-34d20cdc7b5a4441b1710f343c7a71f5 b {
  font-size: 50px !important;
  font-family: Caprasimo, serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.2 !important;
  padding-top: 0 !important;
  padding-bottom: .1em !important;
  background: linear-gradient(to right, #ff7034, #ff3e9d);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* Logo */
.custom-header .title-link .title {
  background-image: url(https://cdn.myportfolio.com/fe6514f0-bf39-4f75-8a53-9415bc9aec70/b03b17e5-84dc-4ce1-960e-ebc116c6fc18_rw_600.png?h=3c450990c65cd9d632a3025e0d23ab0c);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 96px;
  width: 180px;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
}

.search-title {
  visibility: visible;
  background: 0 0;
}

/* Typo globale */
.notion-h-title,
h1.notion-title {
  font-family: Caprasimo, cursive !important;
  color: #882b6e !important;
}

h1.notion-title {
  font-weight: 900 !important;
}

.notion-h-title {
  font-weight: 400 !important;
  letter-spacing: -.5px;
  text-transform: uppercase;
  background: linear-gradient(to right, #ff8a00, #e52e71);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* Header & footer */
.styles_logo__JgM3o a {
  cursor: pointer;
  display: inline-block;
}

.styles_footer_column__2LJSq {
  display: none;
}

/* Cover */
body .notion-page-cover-wrapper img,
body .notion-page-cover-wrapper span {
  width: 100% !important;
  height: 600px !important;
  max-height: 600px !important;
}

.notion-page-cover-wrapper {
  width: 100%;
  height: 600px !important;
  max-height: 600px !important;
  margin-top: 100px;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

body .notion-page-cover-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center43% !important;
}

/* Responsive */
@media (max-width: 768px) {
  body .notion-page-cover-wrapper img,
  body .notion-page-cover-wrapper span {
    height: 300px !important;
    max-height: 300px !important;
  }

  .notion-page-cover-wrapper {
    height: 300px !important;
    margin-top: 0;
    margin-bottom: 0;
    min-height: 0 !important;
  }

  body .notion-page-cover-wrapper img {
    object-position: top center !important;
  }

  h2.notion-h.notion-h1.notion-h-indent-0
  .notion-block-d7029277b8c843ac99308fa4128ed384[data-id=d7029277b8c843ac99308fa4128ed384]
  a.notion-h-title b {
    font-size: 40px !important;
    font-family: Poppins, serif !important;
    font-weight: 900 !important;
    font-style: normal !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
  }

  div.notion-block-1a46ae9a98f280498706c38fe2b95838
  div.notion-block-1a46ae9a98f2809188a9e0919660bbcd,
  div.notion-block-cac7af24dd9249adbe6819cfc5620a9d,
  div.notion-block-d3789cf5e7034062ac8672f01be15220 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .notion-block-a24a44da57c7443c9cc2828a48bf66a6 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

.notion-block-2fb6ae9a98f2805fb38dc1fee4758a33 {
  font-size: 1.6em;
}
.festiv-copyright{
  grid-column: 1 / -1;   /* ← PREND TOUTES LES COLONNES */
  justify-self: center; /* ← centre dans la grille */
  width: 100%;
  text-align: center;

  font-size: 14px;
  color: #666;
  margin-top: 20px;
  padding-bottom: 20px;
}
/* Masque le badge "Made with Fillout" (toutes versions) */
a[href^="https://www.fillout.com/discover"],
a[href*="fillout.com/discover"]{
  display: none !important;
}

/* ✅ Toutes les icônes SVG des vues (onglets) */
.notion-collection-header .notion-collection-view-type-wrapper svg,
.notion-collection-header .notion-collection-view-type-wrapper-selected svg,
.notion-collection-header .notion-collection-view-type-wrapper-single svg,
.notion-collection-header .notion-collection-view-dropdown > svg:first-child {
  display: none !important;
}

/* ✅ Nettoie l'espace laissé */
.notion-collection-header .notion-collection-view-type-wrapper,
.notion-collection-header .notion-collection-view-type-wrapper-selected,
.notion-collection-header .notion-collection-view-type-wrapper-single {
  gap: 0 !important;
}

/* (optionnel) si tu vois encore un petit décalage */
.notion-collection-header .notion-collection-view-type-title {
  margin-left: 0 !important;
}
/* ====== GRID / ESPACEMENT ====== */
.notion-gallery .notion-gallery-grid{
  gap:24px !important;
}

/* ====== LA CARTE ====== */
.notion-gallery .notion-collection-card{
  border-radius:22px !important;
  overflow:hidden !important;                 /* clippe image + coins */
  background:#fff !important;
  border:1px solid rgba(0,0,0,.05) !important;
  box-shadow:
    0 10px 30px rgba(0,0,0,.08),
    0 2px 8px rgba(0,0,0,.05) !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}

.notion-gallery .notion-collection-card:hover{
  transform:translateY(-3px) !important;
  box-shadow:
    0 16px 45px rgba(0,0,0,.10),
    0 6px 16px rgba(0,0,0,.06) !important;
}

/* ====== IMAGE (cover) ====== */
.notion-gallery .notion-collection-card-cover{
  overflow:hidden !important;
  border-radius:22px 22px 0 0 !important;
}

.notion-gallery .notion-collection-card-cover img{
  display:block !important;
  width:100% !important;
  border-radius:inherit !important;
  transform:scale(1.02);                       /* petit effet “pro” */
}

/* ====== CONTENU TEXTE ====== */
.notion-gallery .notion-collection-card-body{
  padding:18px 18px 16px !important;
}

/* Titre un peu plus “magazine” */
.notion-gallery .notion-collection-card .notion-property-title{
  font-size:20px !important;
  line-height:1.3 !important;
}

/* Résumé + texte : un peu plus doux */
.notion-gallery .notion-collection-card .notion-property-text,
.notion-gallery .notion-collection-card .notion-property-rich_text{
  opacity:.92 !important;
}

/* ====== TAGS / PILLS (optionnel mais ça aide à matcher la capture) ====== */
.notion-gallery .notion-property-multi_select-item{
  border-radius:999px !important;
  padding:4px 10px !important;
  font-size:12px !important;
  line-height:1 !important;
}
/* Augmenter la hauteur des images de cover */
.notion-gallery .notion-collection-card-cover{
  height:230px !important;   /* ajuste : 240 / 260 / 280 */
}

.notion-gallery .notion-collection-card-cover img{
  height:100% !important;
  object-fit:cover !important;
}
/* Autoriser les ombres à dépasser */
.notion-gallery,
.notion-gallery-view,
.notion-gallery-grid{
  overflow: visible !important;
}
.notion-gallery-grid > *{
  overflow: visible !important;
}
/* === FIX OMBRE COUPÉE (parent Notion/Simple.ink) === */
.notion-collection,
.notion-collection-view,
.notion-collection-content,
.notion-collection-body,
.notion-collection-container{
  overflow: visible !important;
}

/* Un peu d'air autour de la grille pour que l'ombre respire */
.notion-gallery .notion-gallery-grid{
  padding: 12px !important;
}

/* Alignement parfait icône + titre */
.notion-gallery .notion-property-title .notion-page-title{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

/* Icône (emoji) : alignement & taille cohérents */
.notion-gallery .notion-page-title-icon{
  display:flex !important;
  align-items:center !important;
  line-height:1 !important;
  font-size:1.1em !important;
}

/* Texte du titre */
.notion-gallery .notion-page-title-text{
  line-height:1.15 !important;
  display:block !important;
}
/* ================================
   FIX SCROLL HORIZONTAL TABLES
   (Notion / Simple.ink)
================================ */

/* Le conteneur de la vue table doit scroller horizontalement */
.notion-table,
.notion-table-view,
.notion-collection-view-table,
.notion-collection-view-table > div,
.notion-collection-content,
.notion-collection-body {
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
}

/* Forcer la table à pouvoir dépasser la largeur sans être “compressée” */
.notion-table table,
.notion-table-view table,
.notion-collection-view-table table {
  width: max-content !important;
  min-width: 100% !important;
}

/* iOS : le geste horizontal doit être pris comme du scroll, pas du zoom */
.notion-table,
.notion-table-view,
.notion-collection-view-table {
  touch-action: pan-x pan-y !important;
}
/* ---------------------------------------------------------
   H1 (titre de page) : dégradé OK sur tout
--------------------------------------------------------- */
.notion-title {
  font-weight: 900 !important;
  background: linear-gradient(to right, #ff8a00, #e52e71) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  display: inline-block !important;
}

/* ---------------------------------------------------------
   Titres H2/H3/H4 : on ne met PAS le dégradé sur tout le <a>
   (sinon les emojis partent en vrille)
--------------------------------------------------------- */
.notion-h-title {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;

  /* couleur "normale" du titre quand ce n'est pas en gras */
  color: #882b6e !important;
  -webkit-text-fill-color: currentColor !important;

  display: inline-block !important;
}

/* Dégradé uniquement sur les portions en gras */
.notion-h-title b,
.notion-h-title strong {
  background: linear-gradient(to right, #ff8a00, #e52e71) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;

  /* option : ne pas épaissir visuellement */
  font-weight: inherit !important;
}

/* Masquer le titre + icône de la base de commentaires */
.notion-collection-header-title {
  display: none !important;
}
/* ===== Indicateur scroll horizontal TABLE (ultra robuste) ===== */

.notion-collection .notion-table{
  position: relative;
}

/* Ombre droite */
.notion-collection .notion-table.festiv-can-scroll-right{
  box-shadow: inset -24px 0 24px -24px rgba(0,0,0,.35);
}

/* Ombre gauche */
.notion-collection .notion-table.festiv-can-scroll-left{
  box-shadow: inset 24px 0 24px -24px rgba(0,0,0,.35);
}

/* Ombre des deux côtés */
.notion-collection .notion-table.festiv-can-scroll-left.festiv-can-scroll-right{
  box-shadow:
    inset 24px 0 24px -24px rgba(0,0,0,.35),
    inset -24px 0 24px -24px rgba(0,0,0,.35);
}

/* Petit hint texte (injecté par JS) */
.festiv-table-hint{
  font-size: 14px;
  color: #666;
  margin: 6px 0 10px;
  font-style: italic;
}
.festiv-back-btn{
  display:inline-block;
  padding:8px 24px;
  border-radius:9999px;
  background:#00b1ac;
  color:#fff !important;
  text-decoration:none !important;
  font-family:Poppins, sans-serif;
  font-size:14px;
  line-height:1.4;
  transition:.3s;
  cursor:pointer;

  /* 🔧 reset bouton natif */
  border:none;
  outline:none;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
}

.festiv-back-btn:hover{
  background:#ff7034;
}
.festiv-back-btn:focus{
  outline:none;
}

.festiv-back-btn:focus-visible{
  box-shadow:0 0 0 3px rgba(0,177,172,.35);
}

/* Cible uniquement le logo DANS le footer */
footer.styles_main_footer__LoNow .styles_logo__JgM3o img{
  transform-origin: 50% 80%;
  transition: transform .2s ease;
  will-change: transform;
}

footer.styles_main_footer__LoNow .styles_logo__JgM3o:hover img{
  animation: festiv-wiggle .55s ease-in-out;
}

@keyframes festiv-wiggle{
  0%   { transform: rotate(0) scale(1); }
  15%  { transform: rotate(-8deg) scale(1.03); }
  30%  { transform: rotate(8deg)  scale(1.03); }
  45%  { transform: rotate(-6deg) scale(1.02); }
  60%  { transform: rotate(6deg)  scale(1.02); }
  75%  { transform: rotate(-3deg) scale(1.01); }
  100% { transform: rotate(0) scale(1); }
}
/* Wiggle sur le "logo" d'entête (le titre Festiv’Ounans) */
.custom-header-container a.title-link .title,
.custom-header-container a.title-link span.title {
  display: inline-block;           /* indispensable pour transformer/animer */
  transform-origin: 50% 80%;
  will-change: transform;
}

/* Animation au survol */
.custom-header-container a.title-link .title:hover,
.custom-header-container a.title-link span.title:hover {
  animation: festiv-wiggle .55s ease-in-out;
}

/* =========================
   LIENS TEXTE (propres)
   - seulement dans le contenu
   - pas de rouge, pas d'effet sur les logos/images
   ========================= */

/* 1) On limite aux liens du contenu (Notion) */
.notion-text a,
.notion-callout-text a,
.notion-list a {
  color: #00b1ac !important;         /* vert Festiv'Ounans */
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color .2s ease, box-shadow .2s ease !important;
}

/* 2) Hover moderne : soulignement "propre" (pas le underline basique) */
.notion-text a:hover,
.notion-callout-text a:hover,
.notion-list a:hover {
  color: #ff7034 !important;         /* orange Festiv'Ounans */
  box-shadow: inset 0 -2px 0 0 currentColor !important;
}

/* 3) IMPORTANT : si le lien contient une image (logo), on ne stylise pas */
.notion-text a img,
.notion-callout-text a img,
.notion-list a img {
  box-shadow: none !important;
}

.notion-text a:has(img),
.notion-callout-text a:has(img),
.notion-list a:has(img) {
  box-shadow: none !important;
  color: inherit !important;
}

/* 4) On ne touche pas aux boutons / liens de header déjà stylés */
.notion-button,
.custom-header__links__link {
  box-shadow: none !important;
}
