@import url("https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap");
@layer base {
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  :root {
    --grey-color: #959a9e;
    --light-grey-color: #f2f2f2;
    --text-color: #3f3f46;
    --text-fade-color: #959a9e;
    --background-color: #ffffff;
    --primary-color: #ff9161;
    --primary-hover-color: #ffb899;
    --success-text-color: rgb(92, 198, 92);
    --success-background-color: rgb(214, 255, 214);
    --danger-text-color: rgb(191, 70, 70);
    --danger-background-color: rgb(255, 222, 222);
  }
  body {
    font-family: "Urbanist", serif;
    font-weight: 400;
    color: var(--text-color);
    background-color: var(--background-color);
  }
  h1,
  h2 {
    font-weight: 400;
  }
  h1 {
    font-size: 2.4375rem;
  }
  h2 {
    font-size: 1.5625rem;
  }
  a {
    color: var(--primary-color);
  }
  .container {
    margin: auto;
    max-width: 81.25rem;
    padding: 0 1rem;
  }
  section {
    margin-bottom: 12.5rem;
  }
  .hero-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  .hero-section h1 {
    margin: 0;
    text-align: center;
    font-size: 4.75rem;
  }
}
@layer base, components, utilities;
@layer utilities {
  .m-0 {
    margin: 0rem;
  }
  .m-auto {
    margin: auto;
  }
  .mt-0 {
    margin-top: 0rem;
  }
  .mb-0 {
    margin-bottom: 0rem;
  }
  .ml-0 {
    margin-left: 0rem;
  }
  .mr-0 {
    margin-right: 0rem;
  }
  .m-1 {
    margin: 0.625rem;
  }
  .m-auto {
    margin: auto;
  }
  .mt-1 {
    margin-top: 0.625rem;
  }
  .mb-1 {
    margin-bottom: 0.625rem;
  }
  .ml-1 {
    margin-left: 0.625rem;
  }
  .mr-1 {
    margin-right: 0.625rem;
  }
  .m-2 {
    margin: 1.25rem;
  }
  .m-auto {
    margin: auto;
  }
  .mt-2 {
    margin-top: 1.25rem;
  }
  .mb-2 {
    margin-bottom: 1.25rem;
  }
  .ml-2 {
    margin-left: 1.25rem;
  }
  .mr-2 {
    margin-right: 1.25rem;
  }
  .m-3 {
    margin: 1.875rem;
  }
  .m-auto {
    margin: auto;
  }
  .mt-3 {
    margin-top: 1.875rem;
  }
  .mb-3 {
    margin-bottom: 1.875rem;
  }
  .ml-3 {
    margin-left: 1.875rem;
  }
  .mr-3 {
    margin-right: 1.875rem;
  }
  .m-4 {
    margin: 2.5rem;
  }
  .m-auto {
    margin: auto;
  }
  .mt-4 {
    margin-top: 2.5rem;
  }
  .mb-4 {
    margin-bottom: 2.5rem;
  }
  .ml-4 {
    margin-left: 2.5rem;
  }
  .mr-4 {
    margin-right: 2.5rem;
  }
  .m-5 {
    margin: 3.125rem;
  }
  .m-auto {
    margin: auto;
  }
  .mt-5 {
    margin-top: 3.125rem;
  }
  .mb-5 {
    margin-bottom: 3.125rem;
  }
  .ml-5 {
    margin-left: 3.125rem;
  }
  .mr-5 {
    margin-right: 3.125rem;
  }
  .m-6 {
    margin: 3.75rem;
  }
  .m-auto {
    margin: auto;
  }
  .mt-6 {
    margin-top: 3.75rem;
  }
  .mb-6 {
    margin-bottom: 3.75rem;
  }
  .ml-6 {
    margin-left: 3.75rem;
  }
  .mr-6 {
    margin-right: 3.75rem;
  }
  .m-7 {
    margin: 4.375rem;
  }
  .m-auto {
    margin: auto;
  }
  .mt-7 {
    margin-top: 4.375rem;
  }
  .mb-7 {
    margin-bottom: 4.375rem;
  }
  .ml-7 {
    margin-left: 4.375rem;
  }
  .mr-7 {
    margin-right: 4.375rem;
  }
  .m-8 {
    margin: 5rem;
  }
  .m-auto {
    margin: auto;
  }
  .mt-8 {
    margin-top: 5rem;
  }
  .mb-8 {
    margin-bottom: 5rem;
  }
  .ml-8 {
    margin-left: 5rem;
  }
  .mr-8 {
    margin-right: 5rem;
  }
  .text-center {
    text-align: center;
  }
  .w-100 {
    width: 100%;
  }
}
@layer components {
  .button {
    color: inherit;
    text-decoration: none;
    background-color: transparent;
    border: none;
    font-family: inherit;
    font-size: inherit;
    padding: 0;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.625rem;
    padding: 0.9375rem 1.5625rem;
    background-color: var(--primary-color);
    border-radius: 1.6875rem;
    font-weight: 500;
    color: var(--black-color);
    height: 3.375rem;
    transition: background-color 0.3s;
  }
  .button:hover {
    background-color: var(--primary-hover-color);
  }
  .button img {
    width: 1.5rem;
    height: 1.5rem;
  }
  .button--cta {
    background-color: var(--primary-color);
  }
  .button--secondary {
    background-color: var(--light-grey-color);
  }
  .button--icon {
    padding: 0.9375rem 0.9375rem;
  }
  .button--square {
    border-radius: 0.1875rem;
  }
  .button--no-background {
    background-color: transparent;
  }
  .button--no-background:hover {
    background-color: var(--light-grey-color);
  }
}
@layer components {
  .photo-card {
    position: relative;
    border-radius: 1.25rem;
    overflow: hidden;
    max-width: 19.375rem;
    margin: auto;
  }
  .photo-card:hover::after,
  .photo-card:hover button,
  .photo-card:hover a {
    opacity: 1;
    transition: 300ms ease-out;
  }
  .photo-card__img {
    width: 100%;
    border-radius: 1.25rem;
  }
  .photo-card__delete, .photo-card__zoom {
    background-color: transparent;
    border: none;
    font-family: inherit;
    font-size: inherit;
    padding: 0;
    cursor: pointer;
    width: 1.5rem;
    height: 1.5rem;
    opacity: 0;
    position: absolute;
    z-index: 2;
    cursor: pointer;
  }
  .photo-card__delete {
    background-image: url("../images/icons/cross.png");
    right: 1.125rem;
    top: 1.125rem;
  }
  .photo-card__zoom {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-image: url("../images/icons/zoom.png");
  }
  .photo-card::after {
    content: "";
    opacity: 0;
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100%;
    height: calc(100% - 0.25rem);
    border-radius: 1.25rem;
    background-color: rgba(0, 0, 0, 0.6);
  }
}
@layer components {
  .form {
    width: 100%;
    max-width: 33.75rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .form a:hover {
    color: var(--primary-color);
    text-decoration: underline;
  }
  .form label {
    width: 100%;
    font-weight: 500;
    margin-bottom: 0.5rem;
  }
  .form input {
    border: 1px solid var(--grey-color);
    outline: none;
    background: none;
    width: 100%;
    padding: 0.9375rem;
    border-radius: 0.75rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
  }
  .form input:focus {
    border-color: var(--grey-color);
  }
  .form input::placeholder {
    color: var(--grey-color);
  }
  .form__text, .form__title {
    font-weight: 500;
    text-align: center;
  }
  .form__text__title, .form__title__title {
    font-size: 2.4375rem;
  }
  .form__button[type=submit] {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    border-radius: 0.875rem;
  }
  .form__message {
    background-color: var(--danger-background-color);
    color: var(--danger-text-color);
    padding: 0.75rem;
    border-radius: 0.75rem;
    margin-bottom: 1.25rem;
    text-align: center;
  }
  .form__message--success {
    background-color: var(--success-background-color);
    color: var(--success-text-color);
  }
  .form .forgot-password-text {
    color: inherit;
    text-decoration: none;
    text-align: center;
  }
}
@layer components {
  .modal {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 2px 0.625rem rgba(0, 0, 0, 0.08);
    margin: auto;
    max-width: 46.25rem;
    min-height: 35.875rem;
    padding: 3.125rem 1rem;
    background-color: var(--white-color);
    border-radius: 1.25rem;
  }
}
@layer components {
  .user-profile {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.8125rem;
    font-size: 1.25rem;
  }
  .user-profile img {
    width: 2.9375rem;
    height: 2.9375rem;
    object-fit: cover;
    border-radius: 62.5rem;
  }
  .user-menu {
    position: relative;
    display: inline-block;
    padding: 0.5rem;
    cursor: pointer;
    border-radius: 1.25rem;
  }
  .user-menu .user-profile {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    height: 100%;
  }
  .user-menu .user-profile .user__thumbnail {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    object-fit: cover;
  }
  .user-menu .user-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--primary-color);
    border-radius: 0.25rem;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
    min-width: 15.625rem;
    margin-top: 0.5rem;
    z-index: 1000;
    display: none;
  }
  .user-menu .user-dropdown::before {
    content: "";
    position: absolute;
    top: -0.5rem;
    left: 50%;
    transform: translateX(-50%);
    border-left: 0.5rem solid transparent;
    border-right: 0.5rem solid transparent;
    border-bottom: 0.5rem solid var(--primary-color);
  }
  .user-menu .user-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    text-decoration: none;
    color: var(--white-color);
    text-align: center;
    transition: background-color 0.2s;
  }
  .user-menu .user-dropdown .dropdown-item:hover {
    background-color: rgba(255, 255, 255, 0.1);
  }
  .user-menu::after {
    content: "";
    position: absolute;
    bottom: -1.25rem;
    left: 0;
    width: 100%;
    height: 1.25rem;
  }
  .user-menu:hover {
    background-color: var(--light-grey-color);
  }
  .user-menu:hover .user-dropdown {
    display: block;
  }
}
@layer components {
  header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2.8125rem;
    margin-bottom: 5.5rem;
    width: auto;
  }
}
@layer components {
  .brand {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    color: inherit;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 500;
  }
  .brand img {
    width: 1.5rem;
    height: 1.5rem;
  }
}
@layer components {
  .grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.25rem;
  }
  .grid [class^=col-] {
    grid-column: 1/-1;
  }
  .grid .col-1 {
    grid-column: span 1;
  }
  .grid .col-2 {
    grid-column: span 2;
  }
  .grid .col-3 {
    grid-column: span 3;
  }
  .grid .col-4 {
    grid-column: span 4;
  }
  .grid .col-5 {
    grid-column: span 5;
  }
  .grid .col-6 {
    grid-column: span 6;
  }
  .grid .col-7 {
    grid-column: span 7;
  }
  .grid .col-8 {
    grid-column: span 8;
  }
  .grid .col-9 {
    grid-column: span 9;
  }
  .grid .col-10 {
    grid-column: span 10;
  }
  .grid .col-11 {
    grid-column: span 11;
  }
  .grid .col-12 {
    grid-column: span 12;
  }
  @media screen and (min-width: 576px) {
    .grid .col-sm-1 {
      grid-column: span 1;
    }
    .grid .col-sm-2 {
      grid-column: span 2;
    }
    .grid .col-sm-3 {
      grid-column: span 3;
    }
    .grid .col-sm-4 {
      grid-column: span 4;
    }
    .grid .col-sm-5 {
      grid-column: span 5;
    }
    .grid .col-sm-6 {
      grid-column: span 6;
    }
    .grid .col-sm-7 {
      grid-column: span 7;
    }
    .grid .col-sm-8 {
      grid-column: span 8;
    }
    .grid .col-sm-9 {
      grid-column: span 9;
    }
    .grid .col-sm-10 {
      grid-column: span 10;
    }
    .grid .col-sm-11 {
      grid-column: span 11;
    }
    .grid .col-sm-12 {
      grid-column: span 12;
    }
  }
  @media screen and (min-width: 768px) {
    .grid .col-md-1 {
      grid-column: span 1;
    }
    .grid .col-md-2 {
      grid-column: span 2;
    }
    .grid .col-md-3 {
      grid-column: span 3;
    }
    .grid .col-md-4 {
      grid-column: span 4;
    }
    .grid .col-md-5 {
      grid-column: span 5;
    }
    .grid .col-md-6 {
      grid-column: span 6;
    }
    .grid .col-md-7 {
      grid-column: span 7;
    }
    .grid .col-md-8 {
      grid-column: span 8;
    }
    .grid .col-md-9 {
      grid-column: span 9;
    }
    .grid .col-md-10 {
      grid-column: span 10;
    }
    .grid .col-md-11 {
      grid-column: span 11;
    }
    .grid .col-md-12 {
      grid-column: span 12;
    }
  }
  @media screen and (min-width: 992px) {
    .grid .col-lg-1 {
      grid-column: span 1;
    }
    .grid .col-lg-2 {
      grid-column: span 2;
    }
    .grid .col-lg-3 {
      grid-column: span 3;
    }
    .grid .col-lg-4 {
      grid-column: span 4;
    }
    .grid .col-lg-5 {
      grid-column: span 5;
    }
    .grid .col-lg-6 {
      grid-column: span 6;
    }
    .grid .col-lg-7 {
      grid-column: span 7;
    }
    .grid .col-lg-8 {
      grid-column: span 8;
    }
    .grid .col-lg-9 {
      grid-column: span 9;
    }
    .grid .col-lg-10 {
      grid-column: span 10;
    }
    .grid .col-lg-11 {
      grid-column: span 11;
    }
    .grid .col-lg-12 {
      grid-column: span 12;
    }
  }
  @media screen and (min-width: 1200px) {
    .grid .col-xl-1 {
      grid-column: span 1;
    }
    .grid .col-xl-2 {
      grid-column: span 2;
    }
    .grid .col-xl-3 {
      grid-column: span 3;
    }
    .grid .col-xl-4 {
      grid-column: span 4;
    }
    .grid .col-xl-5 {
      grid-column: span 5;
    }
    .grid .col-xl-6 {
      grid-column: span 6;
    }
    .grid .col-xl-7 {
      grid-column: span 7;
    }
    .grid .col-xl-8 {
      grid-column: span 8;
    }
    .grid .col-xl-9 {
      grid-column: span 9;
    }
    .grid .col-xl-10 {
      grid-column: span 10;
    }
    .grid .col-xl-11 {
      grid-column: span 11;
    }
    .grid .col-xl-12 {
      grid-column: span 12;
    }
  }
  @media screen and (min-width: 1400px) {
    .grid .col-xxl-1 {
      grid-column: span 1;
    }
    .grid .col-xxl-2 {
      grid-column: span 2;
    }
    .grid .col-xxl-3 {
      grid-column: span 3;
    }
    .grid .col-xxl-4 {
      grid-column: span 4;
    }
    .grid .col-xxl-5 {
      grid-column: span 5;
    }
    .grid .col-xxl-6 {
      grid-column: span 6;
    }
    .grid .col-xxl-7 {
      grid-column: span 7;
    }
    .grid .col-xxl-8 {
      grid-column: span 8;
    }
    .grid .col-xxl-9 {
      grid-column: span 9;
    }
    .grid .col-xxl-10 {
      grid-column: span 10;
    }
    .grid .col-xxl-11 {
      grid-column: span 11;
    }
    .grid .col-xxl-12 {
      grid-column: span 12;
    }
  }
}
.gallery {
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.0625rem;
  width: auto;
  transition: 0.3s ease-in-out;
}
.gallery__name {
  margin: 0;
  text-align: center;
  font-size: 1.5625rem;
  font-weight: 500;
}
.gallery__thumbnail__container {
  box-shadow: 0px 4px 18px rgba(0, 0, 0, 0.15);
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 0.625rem;
  padding: 0.625rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.625rem;
}
.gallery__thumbnail__container img {
  width: calc(50% - 0.3125rem);
  height: calc(50% - 0.3125rem);
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 0.625rem;
}
.gallery:hover {
  transform: scale(105%);
}

.footer {
  padding: 2rem 0;
  margin-top: 18.75rem;
}

.footer .container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 2rem;
}

.footer .footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.0625rem;
}

.footer .footer-content .footer-logo img {
  width: 4.0625rem;
  height: 4.0625rem;
}

.footer .footer-content .footer-nav {
  display: flex;
  gap: 2rem;
}

.footer .footer-content .footer-nav a {
  color: #666;
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.footer .footer-content .footer-nav a:hover {
  color: #333;
}

.footer .footer-bottom {
  text-align: center;
  color: #666;
  font-size: 0.85rem;
  border-top: 0.0625rem solid rgba(255, 145, 97, 0.2901960784);
  padding: 1.5rem;
}

@media (max-width: 48rem) {
  .footer .footer-content {
    flex-direction: column;
    gap: 1.5rem;
    text-align: center;
  }
  .footer .footer-content .footer-nav {
    flex-direction: column;
    gap: 1rem;
  }
}
@layer components {
  .flex {
    display: flex;
  }
  .flex--gap-1 {
    gap: 0.625rem;
  }
  .flex--gap-2 {
    gap: 1.25rem;
  }
  .flex--gap-3 {
    gap: 1.875rem;
  }
  .flex--gap-4 {
    gap: 2.5rem;
  }
  .flex--align-center {
    align-items: center;
  }
  .flex--justify-between {
    justify-content: space-between;
  }
  .flex--justify-end {
    justify-content: flex-end;
  }
  .flex--wrap {
    flex-wrap: wrap;
  }
}
@layer components {
  .user_thumbnail {
    width: 2.5rem;
    height: 2.5rem;
    object-fit: cover;
    border-radius: 50%;
    border: 0.125rem solid lightgray;
    position: relative;
    margin-left: -1.5625rem;
  }
}
@layer components {
  .alert {
    padding: 0.9375rem;
    margin: 0.625rem 0;
    border-radius: 0.625rem;
  }
  .alert--error {
    color: var(--danger-text-color);
    background-color: var(--danger-background-color);
  }
  .alert--success {
    color: var(--sucess-text-color);
    background-color: var(--success-background-color);
  }
  .alert--info {
    color: #0c5460;
    background-color: #d1ecf1;
  }
}


/* =================== */
/*  Base photo-card    */
/* =================== */
.photo-card {
  position: relative;
  margin: 1rem;
  display: inline-block; /* ou flex, block, etc. selon vos besoins */
  text-align: center;
}

.photo-card__zoom,
.photo-card__delete {
  cursor: pointer;
  /* Mettez votre style de bouton (taille, icône, etc.) */
}

/* =================== */
/*      Lightbox       */
/* =================== */
.lightbox {
  display: none;                /* cachée par défaut */
  position: fixed;              /* recouvre l’écran */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.8); /* fond semi-transparent */
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.3s ease;
  overflow: auto; /* au besoin pour scroller */
  opacity: 0;     /* Anim : on gère via .active plus bas */
}

.lightbox.active {
  display: flex;    /* l’affiche en mode flex */
  opacity: 1;       /* effet de fondu (avec le transition plus haut) */
}

/* L’image agrandie */
.lightbox__img {
  max-width: 90%;
  max-height: 90%;
  border: 2px solid #fff;
  transition: transform 0.3s ease;
}

.lightbox__img:hover {
  transform: scale(1.02); /* petit effet zoom au survol */
}

/* Bouton de fermeture (la croix) */
.lightbox__close {
  position: absolute;
  top: 1rem;
  right: 2rem;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
  user-select: none;
}


/*# sourceMappingURL=styles.css.map */
