/* Normal */
@font-face {
  font-family: "Linux Biolinum";
  src: url("fonts/linux_biolinum/LinBiolinum.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Italique */
@font-face {
  font-family: "Linux Biolinum";
  src: url("fonts/linux_biolinum/LinBiolinum_I.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Gras */
@font-face {
  font-family: "Linux Biolinum";
  src: url("fonts/linux_biolinum/LinBiolinum_B.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Gras Italique */
@font-face {
  font-family: "Linux Biolinum";
  src: url("fonts/linux_biolinum/LinBiolinum_BI.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Normal */
@font-face {
  font-family: "Dream Orphans";
  src: url("fonts/dream_orphans/Dream\ Orphans.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Italique */
@font-face {
  font-family: "Dream Orphans";
  src: url("fonts/dream_orphans/Dream\ Orphans\ It.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Gras */
@font-face {
  font-family: "Dream Orphans";
  src: url("fonts/dream_orphans/Dream\ Orphans\ Bd.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Gras Italique */
@font-face {
  font-family: "Dream Orphans";
  src: url("fonts/dream_orphans/Dream\ Orphans\ Bd\ It.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Titre */
@font-face {
  font-family: "Colandra";
  src: url("fonts/Colendra.otf") format("opentype");
  size-adjust: 150%;
}

/* Titre */
@font-face {
  font-family: "Magnolia";
  src: url("fonts/Magnolia\ Script.otf") format("opentype");
}


:root {
  --user-primary: #00d1b2;
  --bulma-arrow-color: var(--user-primary);
  --bulma-primary-invert-l: black;
  --bulma-family-primary: "Linux Biolinum", "Dream Orphans", Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif;
  --bulma-navbar-background-color: color-mix(in srgb, var(--bulma-scheme-main) 70%, transparent);
  --user-background-url: url("/Elina/css/backgrounds/cappuccino.jpg");
}

body {
  background-image: var(--user-background-url);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed !important;
}

.dropdown.is-active .dropdown-menu {
  z-index: 3000;
}

.navbar {
  border-radius: 10px;
}

.box {
  background-color: color-mix(in srgb, var(--bulma-scheme-main) 70%, transparent);
  backdrop-filter: blur(6px); /* optionnel, effet glass */
}

.card {
  background-color: color-mix(in srgb, var(--bulma-scheme-main) 70%, transparent);
  backdrop-filter: blur(6px); /* optionnel, effet glass */
}

.title {
  font-family: Colandra, Magnolia, "Dream Orphans", "Apple Garamond", Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 300;
}

/* On surcharge les classes Bulma principales */
.button.is-primary, .tag.is-primary {
  background-color: var(--user-primary);
  border-color: var(--user-primary);
  color: var(--bulma-primary-invert-l);
}

.has-text-primary {
  color: var(--user-primary) !important;
}

.has-background-primary {
  background-color: var(--user-primary);
}

.navbar-burger {
  color: var(--user-primary);
}

.navbar-burger.is-active {
  color: var(--user-primary);
}

.navbar-link::after {
  border-color: var(--user-primary);
}

.navbar-item.has-dropdown.is-active > .navbar-link::after {
  border-color: var(--user-primary);
}

@media (max-width: 1023px) {
  /* Dropdowns mobile */
  .mobile-dropdown .navbar-dropdown {
    display: none;
  }

  .mobile-dropdown.is-active .navbar-dropdown {
    display: block;
  }

  /* Menu fullscreen */
  .navbar-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    padding-top: 3.5rem;
    overflow-y: auto;

    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }

  .navbar-menu.is-active {
    transform: translateX(0);
  }
}

.navbar-link:not(.is-arrowless)::after {
  border-left-color: var(--user-primary) !important;
  border-bottom-color: var(--user-primary) !important;
}


.poster-wrapper {
  margin: auto;
  max-width: 100%;       /* taille fixe */
}

.poster-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;  /* recadre proprement */
  border-radius: 10px;
}

.movie-card {
  display: flex;
  height: 100%;
  align-items: center;
  opacity: 0;
  transform: translateY(10px);
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 250ms ease forwards;
}

.movie-card .card-content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 65%;
  padding: 5%;
  padding-right: 2%;
}

.movie-card .card-image {
  width: 35%;
  padding: 3%;
}

.movie-card .buttons {
  margin-top: auto; /* pousse les boutons en bas */
}

.tag.action, .tag.artsmartiaux, .tag.horreur {
  background-color: #A7001E;
  color: white;
}
.tag.animation {
  background-color: #26474E;
  color: white;
}
.tag.aventure, .tag.fantastique, .tag.western {
  background-color: #5D7052;
  color: white;
}
.tag.biopic, .tag.guerre, .tag.historique {
  background-color: #93441A;
  color: white;
}
.tag.comédie, tag.comédie-musicale, .tag.famille, .tag.musique {
  background-color: #F5DF4D;
  color: black;
}
.tag.crime, .tag.espionnage, .tag.mystère, .tag.policier, .tag.suspense, .tag.thriller {
  background-color: #F27438;
  color: white;
}
.tag.drame {
  background-color: #212E53;
  color: white;
}
.tag.romance {
  background-color: #CA3C66;
  color: white;
}
.tag.science-fiction {
  background-color: #4AA3A2;
  color: white;
}

.pagination a:hover {
  color: var(--user-primary);
  border-color: var(--user-primary);
}

.pagination a.is-current {
  background-color: var(--user-primary);
  border-color: var(--user-primary);
}



/* ----- CAROUSEL ----- */
.carousel-title {
  text-align: center;
  color: var(--user-primary);
  margin: 5rem 0 -5rem 0 !important;
}

.carousel-container {
	min-width: 100%;
	max-width: 1200px;
	height: 450px;
	position: relative;
	perspective: 1000px;
	margin-top: 80px;
}

.carousel-track {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	transform-style: preserve-3d;
	transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.card-carousel {
  position: absolute;
	width: 260px;
	height: 380px;
	background: white;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
	transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	cursor: pointer;
}

.card-carousel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.card-carousel.center {
	z-index: 10;
	transform: scale(1.1) translateZ(0);
}

.card-carousel.center img {
	filter: none;
}

.card-carousel.left-2 {
	z-index: 1;
	transform: translateX(-400px) scale(0.8) translateZ(-300px);
	opacity: 0.7;
}

.card-carousel.left-2 img {
	filter: grayscale(100%);
}

.card-carousel.left-1 {
	z-index: 5;
	transform: translateX(-200px) scale(0.9) translateZ(-100px);
	opacity: 0.9;
}

.card-carousel.left-1 img {
	filter: grayscale(100%);
}

.card-carousel.right-1 {
	z-index: 5;
	transform: translateX(200px) scale(0.9) translateZ(-100px);
	opacity: 0.9;
}

.card-carousel.right-1 img {
	filter: grayscale(100%);
}

.card-carousel.right-2 {
	z-index: 1;
	transform: translateX(400px) scale(0.8) translateZ(-300px);
	opacity: 0.7;
}

.card-carousel.right-2 img {
	filter: grayscale(100%);
}

.card-carousel.hidden {
	opacity: 0;
	pointer-events: none;
}

.dot.active {
	background: rgb(8, 42, 123);
	transform: scale(1.2);
}

.nav-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	z-index: 20;
	transition: all 0.3s ease;
	font-size: 1.5rem;
	outline: none;
	padding-bottom: 4px;
  text-align: center;
}

.nav-arrow:hover {
	background: rgba(0, 0, 0, 0.8);
	transform: translateY(-50%) scale(1.1);
}

.nav-arrow.left {
	left: 20px;
	padding: 3px;
}

.nav-arrow.right {
	right: 20px;
	padding: 3px;
}

@media (max-width: 768px) {
  .carousel-title {
    margin: 0 !important;
  }
  
	.carousel-container {
		width: 90vw;
		height: 50vh;
    max-width: 350px;
    margin: 0 auto;
	}

  .card-carousel {
    position: relative !important;
    left: 0 !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .card-carousel:not(.center) {
    display: none !important;
  }

  .card-carousel.center {
    display: block !important;
    z-index: 10;
    transform: scale(1) !important;
    opacity: 1 !important;
  }

  .card-carousel.center img {
    filter: none !important;
  }

  .carousel-track {
    justify-content: center !important;
  }

  nav-arrow:active {
    background: rgba(0, 0, 0, 0.8);
    transform: translateY(-50%) scale(1.1);
  }
}

@media (hover: hover) {
  .nav-arrow:hover {
    background: rgba(0, 0, 0, 0.8);
    transform: translateY(-50%) scale(1.1);
  }
}

/*------- CALENDAR --------*/
#calendar a {
  color: #212E53;
}

.table-calendar {
  background-color: transparent;
}

.table-calendar-month {
  background-color: transparent;
}