@import url("https://fonts.googleapis.com");

/* Define Gilroy SemiBold */
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/gilroy/Gilroy-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy-Regular";
  src: url("../fonts/gilroy/Gilroy-Regular.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Define TT Trailers Trial DemiBold */
@font-face {
  font-family: "TT Trailers";
  src: url("../fonts/tt_trailers/TT\ Trailers\ Trial\ DemiBold.ttf")
    format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* ===================================
   CSS VARIABLES
   =================================== */
:root {
  --color-bg-primary: #f8e8d8;
  --color-dark: #2b1c14;
  --color-brand: #f1644a;
  --color-burgundy: #76293f;
  --color-teal: #1a3a36;
  --color-light: #f8e8d8;

  --font-heading: "TT Trailers", sans-serif;
  --font-body: "Gilroy", sans-serif;
  --font-body-regular: "Gilroy-Regular", sans-serif;
  --font-ui: "Inter", sans-serif;
}

/* ===================================
   GLOBAL STYLES
   =================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth !important;
}

body {
  font-family: var(--font-body);
  background-color: var(--color-bg-primary);
  color: var(--color-dark);
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  text-transform: uppercase;
  font-weight: 700;
}

a {
  text-decoration: none;
  transition: all 0.3s ease;
}

img {
  max-width: 100%;
  height: auto;
}

section {
  position: relative;
  padding: 70px 0; /* Reduced from 80px */
}

/* ===================================
   DECORATIVE PATTERNS (Unchanged)
   =================================== */
.decorative-pattern {
  position: absolute;
  opacity: 0.1;
  pointer-events: none;
  z-index: 0;
}

.pattern-top-right {
  top: -100px;
  left: 548px;
  width: 990px;
  height: 950px;
  background: url("../img/motifs/1-07.png") no-repeat;
  transform: rotate(-115deg);
}

.pattern-left {
  left: 0;
  top: 50%;
  width: 555px;
  height: 620px;
  background: url("../img/motifs/1-09.png") no-repeat;
  transform: rotate(-90deg);
  opacity: 0.05;
}

.pattern-right {
  right: 0;
  top: -90%;
  width: 1200px;
  height: 800px;
  background: url("../img/motifs/1-09.png") no-repeat;
  /* transform: rotate(-90deg); */
  opacity: 0.18;
  z-index: -999;
}

.pattern-footer {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.1;
}

.small-heading {
  color: var(--color-burgundy);
}

/* ===================================
   HEADER / NAVIGATION
   =================================== */
.site-header {
  background-color: var(--color-bg-primary);
  /* padding: 12px 0; */
  position: sticky;
  top: 0;
  z-index: 1000;
}

/* UPDATED: Reduced from 50px to 40px */
.navbar-brand .logo {
  height: 40px;
}

.navbar-nav {
  gap: 15px;
}

.nav-link {
  font-family: var(--font-body);
  font-weight: 600;
  /* font-size: 18px; */
  color: var(--color-dark) !important;
  padding: 18px 20px !important;
  position: relative;
}

.nav-link.active::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 60px;
  background: url("../img/motifs/Vector.png") no-repeat center;
  background-size: contain;
  z-index: -1;
}

.btn-save-seat {
  background-color: var(--color-dark);
  color: var(--color-light) !important;
  padding: 10px 18px; /* Slightly reduced padding */
  border-radius: 30px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px; /* Explicit size */
}

.btn-save-seat:hover {
  background-color: var(--color-brand);
  transform: translateY(-2px);
}

/* ===================================
   HERO SECTION - HOME
   =================================== */
.hero-section {
  /* padding: 100px 0; */
  position: relative;
}

/* UPDATED: Reduced from 115px to 100px */
.hero-title {
  font-size: 90px;
  line-height: 0.9;
  color: var(--color-brand);
  margin-bottom: 30px;
}

/* UPDATED: Reduced from 20px to 18px */
.hero-subtitle {
  font-size: 18px;
  line-height: 24px;
  color: var(--color-dark);
  margin-bottom: 30px;
  font-weight: 600;
}

.btn-reserve {
  background-color: var(--color-light);
  border: 1px solid var(--color-dark);
  padding: 12px 30px; /* Reduced padding */
  border-radius: 35px;
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 18px; /* Reduced from 20px */
  color: var(--color-burgundy);
}

.btn-reserve:hover {
  background-color: var(--color-brand);
  color: var(--color-light);
  border-color: var(--color-brand);
}

.hero-images {
  position: relative;
  display: flex;
  /* gap: 20px; */
}

.hero-images img {
  /* border-radius: 21px; */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.hero-images .img-1 {
  width: 290px;
  height: 400px;
  transform: rotate(9deg);
  object-fit: cover;
}

.hero-images .img-2 {
  width: 416px;
  height: 400px;
  object-fit: cover;
  transform: scale(1.2);
  z-index: 99;
}

.decorative-icon {
  width: 78px;
  height: 78px;
  background: url("../img/motifs/1-03.png") no-repeat center;
  position: absolute;
}

.icon-center {
  bottom: 250px;
  left: 45%;
  transform: translateX(-50%);
}

/* ===================================
   CONVERSATION SECTION
   =================================== */
.conversation-section {
  padding: 60px 0;
}

.conversation-box {
  background-color: var(--color-brand);
  border: 1px solid var(--color-dark);
  border-radius: 12px;
  padding: 35px; /* Slightly reduced */
  max-width: 1280px;
  margin: 0 auto;
}

/* UPDATED: Reduced from 96px to 80px */
.section-title {
  font-size: 80px;
  line-height: 1; /* Tighter line height */
  color: var(--color-dark);
  margin-bottom: 25px;
}

.conversation-box .section-title {
  color: var(--color-dark);
}

.conversation-box .section-subtitle {
    text-transform: none !important;
    font-size: 17px;
}

.conversation-prompt {
  background-color: var(--color-light);
  border-radius: 6px;
  padding: 15px 30px;
}

/* UPDATED: Reduced from 24px to 21px */
.conversation-prompt p {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 21px;
  line-height: 28px;
  color: var(--color-burgundy);
  margin: 0;
}

/* ===================================
   FOOD & DRINKS SECTION
   =================================== */
.food-drinks-section {
  padding: 80px 0; /* Reduced from 100px */
}

.decorative-line {
  width: 175px;
  height: 8px;
  background-color: var(--color-dark);
  /* margin-bottom: 30px; */
  margin-top: 35px;
}

.food-grid,
.drinks-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin: 40px 0;
}

.food-grid img,
.drinks-grid img {
  width: 100%;
  height: 169px;
  object-fit: cover;
  border-radius: 21px;
}

.food-grid img:first-child {
  grid-row: span 2;
  height: 353px;
}

.drinks-grid img:nth-child(2) {
  grid-row: span 2;
  height: 353px;
}

/* UPDATED: Reduced from 22px to 20px */
.section-description {
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  text-align: center;
  margin-top: 35px;
}

.decorative-icon-small {
  width: 56px;
  height: 44px;
  background: url("../img/motifs/1-02.png") no-repeat center;
  margin: 20px auto;
}

/* ===================================
   BOOK A TABLE SECTION
   =================================== */
.book-section {
  background-color: var(--color-burgundy);
  padding: 70px 0; /* Reduced */
  position: relative;
  overflow: hidden;
}

.book-section .section-title,
.book-section .section-subtitle {
  color: var(--color-light);
  margin-bottom: 0;
}

/* UPDATED: Reduced from 24px to 22px */
.section-subtitle {
  font-size: 22px;
  font-weight: 600;
  text-transform: uppercase;
}

.booking-card {
  background-color: var(--color-light);
  border-radius: 12px;
  padding: 15px 10px;
  text-align: center;
  height: 100%;
}

.booking-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 18px; /* Reduced from 20px */
  font-weight: 600;
  margin-bottom: 10px;
}

.booking-card p {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 20px;
}

.btn-book {
  background-color: var(--color-brand);
  color: var(--color-burgundy);
  padding: 5px 30px;
  border-radius: 6px;
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 16px;
  display: inline-block;
}

.btn-book:hover {
  background-color: var(--color-dark);
  color: var(--color-light);
}

/* ===================================
   IN THE MOMENT SECTION
   =================================== */
.moment-section {
  background-color: var(--color-bg-primary);
  padding: 70px 0;
}

.moment-header {
  margin-bottom: 50px;
}

.moment-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

/* UPDATED: Reduced from 96px to 80px */
.moment-label {
  font-family: var(--font-heading);
  font-size: 80px;
  font-weight: 700;
  color: var(--color-brand);
  text-transform: uppercase;
  line-height: 1;
}

.decorative-line-moment {
  width: 175px;
  height: 8px;
  background-color: var(--color-brand);
}

.moment-title-wrapper .section-title {
  color: var(--color-brand);
  margin-bottom: 0;
}

.moment-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.moment-card {
  position: relative;
  overflow: hidden;
  border-radius: 21px;
  aspect-ratio: 3/4;
}

.moment-card:nth-child(2) {
  margin-top: 60px;
}

.moment-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.moment-card:hover img {
  transform: scale(1.05);
}

/* Old carousel styles kept for backward compatibility */
.decorative-lines {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 100px;
  margin-top: 20px;
}

.decorative-lines .line {
  width: 245px;
  height: 5px;
  background-color: var(--color-light);
}

.moment-carousel {
  overflow: hidden;
  transform: rotate(-3.24deg);
}

.carousel-track {
  display: flex;
  gap: 20px;
  animation: scroll 30s linear infinite;
}

.carousel-track img {
  height: 519px;
  border-radius: 21px;
  object-fit: cover;
}

@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ===================================
   EVENTS SECTION
   =================================== */
.events-section {
  padding: 80px 0;
  background-color: var(--color-brand);
}

.events-header {
  text-align: center;
  margin-bottom: 40px;
}

.events-label {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-burgundy);
}

.event-card {
  background-color: #d9d9d9;
  border-radius: 22px;
  height: 448px;
  position: relative;
}

.event-image {
  width: 100%;
  height: 100%;
  border-radius: 22px;
}

.event-arrows {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  transform: translateY(-50%);
}

.event-arrows span {
  font-size: 24px;
  color: var(--color-dark);
  cursor: pointer;
  background: rgba(255, 255, 255, 0.7);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.fun-tags {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.tag {
  position: absolute;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 20px;
  font-weight: 600;
  color: var(--color-light);
}

.tag-1 {
  background-color: var(--color-teal);
  transform: rotate(10deg);
  top: 150px;
  left: 60px;
}

.tag-2 {
  background-color: var(--color-burgundy);
  transform: rotate(10deg);
  top: 100px;
  left: 400px;
}

.tag-3 {
  background-color: var(--color-burgundy);
  transform: rotate(10deg);
  top: 150px;
  right: 400px;
}

.tag-4 {
  background-color: var(--color-teal);
  transform: rotate(10deg);
  top: 100px;
  right: 100px;
}

/* ===================================
   TEAM SECTION
   =================================== */
.team-section {
  background-color: var(--color-brand);
  padding: 70px 0;
  position: relative;
  z-index: 1;
}

.team-header {
  padding: 0 40px;
}

.team-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 40px;
  margin-bottom: 0;
  flex-wrap: nowrap;
}

.team-title-wrapper .section-title {
  color: var(--color-bg-primary);
  margin-bottom: 0;
  white-space: nowrap;
}

.decorative-line-team {
  width: 175px;
  height: 8px;
  background-color: var(--color-bg-primary);
  flex-shrink: 0;
}

.team-label {
  font-family: var(--font-body);
  font-size: 22px; /* Reduced from 24px */
  font-weight: 600;
  color: var(--color-dark);
  text-transform: uppercase;
}

/* UPDATED: Reduced from 25px to 22px */
.team-subtitle {
  font-family: var(--font-body);
  font-size: 22px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--color-bg-primary);
  text-transform: uppercase;
  display: flex;
  gap: 2px;
  flex-direction: column;
}

.team-subtitle-line {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  /* justify-content: flex-start; */
}

.team-subtitle-line-to {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  /* justify-content: flex-start; */
}

/* UPDATED: Reduced from 65px to 55px */
.team-subtitle-cap {
  font-size: 55px;
  line-height: 0.9;
  font-family: var(--font-heading);
}

.team-subtitle-break {
  flex-basis: 100%;
  height: 0;
}

.team-subtitle-showtop {
  align-items: flex-start;
}

.team-carousel {
  margin-top: 40px;
}

.carousel-item {
  padding: 20px 0;
}

.team-member {
  text-align: center;
  min-width: 220px;
}

.member-image {
  /*aspect-ratio: 2 / 3;*/
  max-width: 80%;
  overflow: hidden;
  margin: 0 auto 20px;
  background-color: #ddd;
  border-radius: 20px;
}

.member-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* UPDATED: Reduced from 24px to 21px */
.member-name {
  font-family: var(--font-heading);
  font-size: 21px;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 8px;
}

.team-member h3 {
  font-size: 18px; /* Reduced from 20px */
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 8px;
}

.member-desg {
  color: var(--color-bg-primary);
  text-transform: capitalize;
  font-size: 16px; /* Reduced from 18px */
}

.member-icon {
  width: 40px;
  height: 40px;
  background: url("../img/motifs/1-03.png") no-repeat center;
  background-size: contain;
  margin: 0 auto;
}

/* ===================================
   FOOTER
   =================================== */
.site-footer {
  background-color: var(--color-burgundy);
  color: var(--color-light);
  padding: 60px 0 20px; /* Reduced padding */
  position: relative;
  overflow: hidden;
  z-index: 0;
  font-family: var(--font-body-regular);
}

.footer-logo {
  height: 40px; /* Reduced from 54px */
  margin-bottom: 20px;
}

/* UPDATED: Reduced from 18px to 16px */
.footer-tagline {
  font-size: 16px;
  line-height: 22px;
  margin-bottom: 30px;
}

.social-links {
  display: flex;
  gap: 16px;
}

.social-links a {
  width: 48px; /* Reduced from 56px */
  height: 48px;
  border: 1px solid rgba(248, 232, 216, 0.1);
  border-radius: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-light);
}

.social-links a:hover {
  background-color: var(--color-brand);
  border-color: var(--color-brand);
}

/* UPDATED: Reduced from 45px to 36px */
.site-footer h4 {
  font-size: 36px;
  font-weight: 500;
  color: var(--color-brand);
  margin-bottom: 15px;
}

.footer-links {
  list-style: none;
  padding: 0;
}

.footer-links li {
  margin-bottom: 8px;
}

/* UPDATED: Reduced from 16px to 15px */
.footer-links a {
  color: var(--color-light);
  font-size: 15px;
}

.footer-links a:hover {
  color: var(--color-brand);
}

.footer-divider {
  border-color: rgba(248, 232, 216, 0.9);
  margin: 20px 0;
}

.footer-bottom p {
  font-size: 16px; /* Reduced from 18px */
  opacity: 0.8;
  margin: 0;
}

.site-footer > .container {
  margin-bottom: 12%;
}

.site-footer > .container > .row {
  justify-content: space-evenly;
}

.site-footer-extra {
  margin-right: 40px;
  margin-left: 40px;
}

.footer-logo-watermark {
  position: absolute;
  bottom: -40%;
  width: 100%;
  height: 100%;
  background: url("../img/Logo and Brand Guidelines/logo/ConversationRoom_LogoPack-04.png")
    no-repeat center;
  opacity: 0.12;
  z-index: -1;
  /*display: none;*/
}

/* ===================================
   MERCH PAGE - HERO
   =================================== */
.merch-hero {
  position: relative;
  height: 520px;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(43, 28, 20, 0.79);
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
  padding-top: 100px;
}

/* UPDATED: Reduced from 145px to 120px */
.merch-hero .hero-title {
  font-size: 120px;
  line-height: 1;
  color: var(--color-brand);
}

/* UPDATED: Reduced from 24px to 20px */
.merch-hero .hero-subtitle {
  font-size: 20px;
  line-height: 26px;
  color: var(--color-light);
  margin-top: 20px;
}

/* ===================================
   MERCH GRID
   =================================== */
.merch-grid-section {
  position: relative;
}

.merch-row {
  margin-left: 20px;
  margin-right: 20px;
}

.merch-card {
  position: relative;
  text-align: center;
  padding: 40px 20px;
}

.badge {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 15px;
  font-weight: 600;
  z-index: 10;
}

.badge-available {
  background-color: var(--color-brand);
  color: var(--color-burgundy);
}

.badge-sold-out {
  background-color: var(--color-dark);
  color: var(--color-brand);
}

.badge-closed {
  background-color: var(--color-teal);
  color: var(--color-light);
}

.merch-image {
  width: 272px;
  height: 342px;
  background-color: #d9d9d9;
  border-radius: 15px;
  margin: 0 auto 30px;
  overflow: hidden;
}

.merch-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* UPDATED: Reduced from 40px to 32px */
.merch-title {
  font-size: 32px;
  font-weight: 600;
  color: var(--color-dark);
  margin: 15px 0 10px;
}

.merch-description {
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  color: var(--color-dark);
  padding: 0px 20px;
}

/* Card Rotations */
.card-rotate-1 {
  transform: rotate(-10.36deg);
}
.card-rotate-2 {
  transform: rotate(5.36deg);
}
.card-rotate-3 {
  transform: rotate(-5.36deg);
}
.card-rotate-4 {
  transform: rotate(10.36deg);
}
.card-rotate-5 {
  transform: rotate(10.36deg);
}
.card-rotate-6 {
  transform: rotate(-10.36deg);
}

/* Decorative Icons Scattered */
.decorative-icon-scatter {
  position: absolute;
  width: 32px;
  height: 34px;
  background: url("../images/icon-scatter.svg") no-repeat center;
}

.icon-1 {
  top: 100px;
  left: 366px;
}
.icon-2 {
  top: 250px;
  left: 40px;
}
.icon-3 {
  top: 100px;
  right: 427px;
}
.icon-4 {
  top: 250px;
  right: 67px;
}
.icon-5 {
  top: 400px;
  left: 279px;
}
.icon-6 {
  top: 650px;
  left: 656px;
}
.icon-7 {
  top: 550px;
  right: 430px;
}
.icon-8 {
  top: 650px;
  right: 1010px;
}

/* ===================================
   NO CART SECTION
   =================================== */
.no-cart-section {
  padding: 60px 0;
}

.no-cart-box {
  background-color: var(--color-burgundy);
  border-radius: 14px;
  padding: 40px;
  max-width: 712px;
  margin: 0 auto;
  text-align: center;
}

/* UPDATED: Reduced from 75px to 60px */
.no-cart-box h2 {
  font-size: 60px;
  line-height: 1;
  color: var(--color-brand);
  margin-bottom: 20px;
}

.no-cart-box p {
  font-size: 20px;
  line-height: 29px;
  font-weight: 600;
  color: var(--color-light);
}

/* ===================================
   MERCH BANNER
   =================================== */
.merch-banner {
  width: 102%;
  left: -1%;
  background-color: var(--color-teal);
  padding: 10px 0;
  transform: rotate(3.5deg);
  margin: 80px 0;
}

.banner-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

/* UPDATED: Reduced from 75px to 60px */
.banner-content h2 {
  font-size: 60px;
  line-height: 1.1;
  color: var(--color-brand);
  text-align: center;
  margin: 0;
  letter-spacing: 2px;
}

.banner-content .decorative-icon {
  width: 50px;
  height: 50px;
  background: url("../images/icon-banner.svg") no-repeat center;
}

.testimonial-carousel {
  display: flex;
  gap: 75px;
  overflow-x: auto;
  padding-bottom: 20px;
  align-content: center;
  justify-content: center;
  align-items: center;
}

.card {
  /*width: 25rem;*/
  max-width: 25%;
  background: #1a3a36;
  border-radius: 20px;
  font-family: var(--font-body-regular);
}

.card-img-top {
  border-radius: 20px;
  aspect-ratio: 3 / 2;
}

.card-body {
  padding: 10px;
  font-weight: 600;
  /* margin-bottom: 5px; */
  margin: 5px 10px;
  margin-bottom: 0px;
      color: var(--bs-body-bg);
}

.card-title {
  font-size: 14px;
  font-family: var(--font-body);
  /*font-weight: 800;*/
}

.card-text {
  font-weight: 700;
}

.card-info {
  font-size: 11px;
  font-weight: 500;
  /* margin-bottom: 5px; */
}

.card-link {
  color: var(--color-brand);
}

/* ===================================
   MOTIFS (UNCHANGED)
   =================================== */

.motif-hero-clip {
  position: absolute;
  top: -150px;
  right: -230px;
  width: 67%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  transform: rotate(-345deg);
  z-index: -99;
}

.motif-hero-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-07.png");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.05;
}

.motif-herocenter-clip {
  position: absolute;
  top: 62%;
  left: 41%;
  width: 5%;
  height: 12%;
  overflow: hidden;
  pointer-events: none;
}

.motif-herocenter-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-03.png");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
}

.motif-convo-clip {
  position: absolute;
  top: 150px;
  right: -111px;
  width: 90%;
  height: 65%;
  overflow: hidden;
  pointer-events: none;
  z-index: -99;
}

.motif-convo-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-07.png");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  transform: rotate(180deg);
  opacity: 0.05;
}

.motif-food-clip {
  position: absolute;
  top: 75px;
  left: 0px;
  width: 50%;
  height: 50%;
  overflow: hidden;
  pointer-events: none;
  z-index: -99;
}

.motif-food-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-07.png");
  background-repeat: repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.05;
}

.motif-drinks-clip {
  position: absolute;
  bottom: 75px;
  right: 0px;
  width: 50%;
  height: 50%;
  overflow: hidden;
  pointer-events: none;
  z-index: -99;
}

.motif-drinks-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-07.png");
  background-repeat: repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.05;
}

.motif-fnd-clip {
  position: absolute;
  top: 48%;
  left: 48%;
  width: 5%;
  height: 5%;
  overflow: hidden;
  pointer-events: none;
  z-index: -99;
}

.motif-fnd-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/2-02.png");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
}

.motif-book-clip {
  position: absolute;
  top: -108%;
  left: -30%;
  width: 54%;
  height: 220%;
  overflow: hidden;
  pointer-events: none;
}

.motif-book-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-08.png");
  background-repeat: repeat;
  background-position: center right;
  background-size: cover;
  transform: rotate(33deg);
  opacity: 0.2;
}

.motif-bookstar-clip {
  position: absolute;
  top: 15%;
  right: 2%;
  width: 5%;
  height: 14%;
  overflow: hidden;
  pointer-events: none;
}

.motif-bookstar-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-06.png");
  background-repeat: repeat;
  background-position: center right;
  background-size: cover;
}

.motif-teamleft-clip {
  position: absolute;
  bottom: -0;
  left: -30px;
  width: 30%;
  height: 35%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.motif-teamleft-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-11.png");
  background-repeat: repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.05;
}

.motif-teamright-clip {
  position: absolute;
  top: 0;
  right: -30px;
  width: 30%;
  height: 35%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.motif-teamright-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-11.png");
  background-repeat: repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.05;
}

.motif-testimonial-clip {
  position: absolute;
  top: 8%;
  left: 20%;
  width: 9%;
  height: 14%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.motif-testimonial-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/2-01.png");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.25;
}

.motif-testimonial-right-clip {
  position: absolute;
  top: 10%;
  bottom: 75px;
  right: -15%;
  width: 40%;
  height: 90%;
  overflow: hidden;
  pointer-events: none;
  z-index: -99;
}

.motif-testimonial-right-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-08.png");
  background-repeat: repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.05;
  transform: rotate(270deg);
}

.motif-footer-clip {
  position: absolute;
  top: 0%;
  left: -200px;
  width: 125%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.motif-footer-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-08.png");
  background-repeat: repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.12;
}

.motif-bannerleft-clip {
  position: absolute;
  top: 18%;
  left: 2%;
  width: 5%;
  height: 60%;
  overflow: hidden;
  pointer-events: none;
}

.motif-bannerleft-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-03.png");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.35;
}

.motif-bannerright-clip {
  position: absolute;
  top: 18%;
  right: 2%;
  width: 5%;
  height: 60%;
  overflow: hidden;
  pointer-events: none;
}

.motif-bannerright-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/1-03.png");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.35;
}

.motif-moment-clip {
  position: absolute;
  top: 3%;
  left: -6%;
    width: 15%;
    height: 20%;
  overflow: hidden;
  pointer-events: none;
}

.motif-moment-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/motifs/2-03.png");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
}

/* ===================================
   NEW SECTION STYLES - IN THE MOMENT (GRID LAYOUT)
   =================================== */
.moment-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

/* UPDATED: Reduced from 96px to 80px */
.moment-label {
  font-family: var(--font-heading);
  font-size: 80px;
  font-weight: 700;
  color: var(--color-brand);
  text-transform: uppercase;
  line-height: 1;
}

.decorative-line-moment {
  width: 200px;
  height: 8px;
  background-color: var(--color-brand);
}

.moment-title-wrapper .section-title {
  color: var(--color-brand);
  margin-bottom: 0;
}

.moment-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.moment-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.moment-card:hover img {
  transform: scale(1.05);
}

/* ===================================
   UPDATED TEAM SECTION STYLES
   =================================== */
.team-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-bottom: 30px;
}

.team-title-wrapper .section-title {
  margin-bottom: 0;
}

.decorative-line-team {
  width: 55vh;
  height: 8px;
  background-color: var(--color-bg-primary);
}

.member-name {
  font-family: var(--font-body);
  font-size: 24px;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 10px;
}

/* ===================================
   TESTIMONIALS SECTION
   =================================== */

.testimonial-section {
  padding: 80px 0;
  background-color: var(--color-bg-primary);
  z-index: 0;
}

.testimonial-header {
  margin-bottom: 60px;
  width: 60%;
}

.testimonial-label {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-burgundy);
  text-transform: uppercase;
  letter-spacing: 2px;
  /* margin-bottom: 10px; */
}

.testimonial-title-wrapper {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 15px;
}

.testimonial-header .section-title {
  color: var(--color-brand);
  margin-bottom: 0;
  white-space: nowrap;
}

.decorative-line-testimonial {
  flex: 1; /* Takes remaining space */
  height: 8px;
  background-color: var(--color-brand);
  max-width: 600px; /* Optional: limit max width */
}

.testimonial-subtitle {
  font-family: var(--font-body);
  font-size: 18px; /* Reduced from 20px */
  font-weight: 400; /* Changed from 600 to match image */
  color: var(--color-burgundy);
  line-height: 1.4;
}

/* ===================================
   HERO SLIDESHOW
   =================================== */

.hero-slideshow {
  flex: 1;
  position: relative;
  aspect-ratio: 4 / 5;
}

.hero-slide {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;
  object-fit: cover;

  opacity: 0;
  transition: opacity 1.8s ease-in-out;

  will-change: opacity;
}

.hero-slide.active {
  opacity: 1;
}

.back-to-top {
  position: fixed;
  right: 30px;
  bottom: 30px;

  width: 44px;
  height: 44px;

  border: none;
  border-radius: 50%;

  background: var(--color-dark);
  color: #fff;

  font-size: 20px;
  cursor: pointer;

  display: none;

  z-index: 999;

  transition:
    transform 0.2s ease,
    opacity 0.3s ease;
}

.back-to-top:hover {
  transform: translateY(-4px);
}

.moment-card iframe {
  width: 100%;
  height: 100%;
}
