:root {
    --primary: #00C0E8;
    --secondary: #FF00C0;
    --primary-invert: #fff;
    --secondary-invert: #fff;
    --dark: #000;

    --gradient-primary: linear-gradient(230deg, #00C0E8, #FF00C0);
    --gradient-secondary: linear-gradient(230deg, #0a1f44, #020024);

    /* DEFAULT COLOR OF TEXTS */
    --text-primary: #00C0E8;

    /* FOR BUTTONS & INPUTS */
    --elements-roundness: 10rem;

    --space-between-blocks: 5.3rem;
    /* for mobiles */
    --space-between-blocks-small-screens: 3rem;
  }

  body {
    color: var(--text-primary);
font-family: "Betm Rounded", sans-serif;
    margin: 0;
    padding: 0;
    font-size: 1rem;
    background: var(--primary);
      box-sizing: border-box;

  }


  h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    color: var(--text-primary);
      font-family: "Betm Rounded", sans-serif;

  }

  @font-face {
  font-family: 'Betm Rounded';
  src: url('/fonts/Betm\ Rounded\ Regular.otf') format('opentype-variations');
  font-weight: 100 900;  /* full range of supported weights */
  font-stretch: 75% 125%; /* optional, if font supports width axis */
  font-style: normal;
}

  p {
    font-size: 1.2rem;
    line-height: 1.6;
    opacity: .8;

  }

  .space-between-blocks {
    padding-top: var(--space-between-blocks-small-screens);
    padding-bottom: var(--space-between-blocks-small-screens);
  }

  @media (min-width: 992px) {
    .space-between-blocks {
      padding-top: var(--space-between-blocks);
      padding-bottom: var(--space-between-blocks);
    }
  }

  /* Buttons */

  button {
    color: inherit;
    padding: 0;
    background: none;
    border: none;
  }

  button:focus {
    outline: none;
    box-shadow: none;
  }

  .btn {
    font-size: 0.87rem;
    padding: 0.8rem 1.6rem;
    border: none;
    border-radius: var(--elements-roundness);
    transition: 0.2s all;
  }

  @media (min-width: 992px) {
    .btn {
      padding: 0.8rem 2rem;
    }
  }

  .btn,
  .btn:hover,
  .btn:focus {
    border: none;
    box-shadow: none;
    outline: none;
  }

  .btn:hover,
  .btn:focus {
    transform: scale(1.05);
  }

  .btn-primary,
  .btn-primary:hover,
  .btn-primary:focus {
    background: var(--gradient-primary, --primary);
    color: var(--primary-invert);
  }

  .btn-secondary,
  .btn-secondary:hover,
  .btn-secondary:focus {
    background: var(--gradient-secondary, --secondary);
    color: var(--secondary-invert);
  }

  .btn-primary--empty,
  .btn-primary--empty:hover,
  .btn-primary--empty:focus {
    color: var(--primary);
  }

  .btn-sm {
    padding: 0.8rem;
  }

  .highlight {
    color: var(--primary)
  }

  /* block header */

  .block__header {
    margin-bottom: 4rem;
  }

  .block__title {
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.4;
  }

  @media(min-width: 992px) {
    .block__title {
      font-size: 2.5rem;
    }

    .block__title--big {
      font-size: 3rem;
      line-height: 1.1;
    }
  }

  @media(min-width: 1200px) {
    .block__title--big {
      font-size: 3.5rem;
      line-height: 1.2;
    }
  }

  .block__paragraph {
    font-size: 1.1rem;
    line-height: 1.5;
    opacity: .9;
  }

  @media(min-width: 992px) {
    .block__paragraph--big {
      font-size: 1.2rem;
      line-height: 1.6;
    }
  }

  /* Icons */

  .fr-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 5px;
    background: rgba(0,0,0,0.04);
    margin-bottom: 1.5rem;
    transition: .5s;
  }

  .fr-icon--medium {
    font-size: 1.5rem;
    height: 3rem;
    width: 3rem;
  }

  .fr-icon--large {
    font-size: 1.2rem;
    height: 3.25rem;
    width: 3.25rem;
  }

  @media (min-width: 992px) {
    .fr-icon--large {
      height: 3.8rem;
      width: 3.8rem;
      font-size: 1.9rem;
    }
  }




  /* Put your blocks here */
/* Hero section styles */
.hero {
  --hero-nav-height: 100px;
  position: relative;
  display: flex;
  flex-direction: column;
  color: var(--block-text-color);
  
background: var(--dark);  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 100vh;

}

/* Dark overlay using pseudo-element */
.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.658); /* Dark overlay with transparency */
  z-index: 1; /* Ensures overlay stays behind content */
}



/*------------------------------*/
/*--Section Name----------------*/
/*------------------------------*/

.hero-nav {
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: var(--hero-nav-height);
  display: flex;
  align-items: center;
  z-index: 2;
  font-family: 'Betm Rounded';
  font-weight: 600 !important;
  font-size: 1.2rem !important;
}

.hero-nav__item {
  margin: auto;
  font-size: 1.1rem;
  color: var(--primary);
}

@media (min-width:992px) {
  .hero-nav__item {
    margin: 0 1rem
  }
}

@media (min-width:992px) {
  .nav--lg-side {
    flex-direction: row-reverse
  }
}

.hero-nav__logo {
  height: 35px
}

.hero-nav__link {
  color: inherit;
  opacity: .9;
  text-decoration: none
}

.hero-nav__link:focus,
.hero-nav__link:hover {
  color: inherit;
  text-decoration: none;
  opacity: 1
}

.ft-menu {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2000;
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both
}

@media (print),
(prefers-reduced-motion:reduce) {
  .ft-menu {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important
  }
}

.ft-menu .hero-nav__item {
  width: 100%;
  margin-top: .75rem;
  margin-bottom: .75rem
}

@media (min-width:992px) {
  .ft-menu .hero-nav__item {
    width: auto;
    margin-top: 0;
    margin-bottom: 0
  }
}

.ft-menu--js-show {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: .5s;
  animation-duration: .5s
}

.ft-menu::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background: var(--primary);
  opacity: .9;
  z-index: -1
}

@media (min-width:992px) {
  .ft-menu {
    -webkit-animation-name: none;
    animation-name: none;
    position: static;
    z-index: auto
  }

  .ft-menu::before {
    content: none
  }
}

.ft-menu__slider {
  --block-background: white;
  --block-text-color: var(--text-primary);
  color: var(--block-text-color);
  background: var(--block-background);
  width: 80%;
  height: 100%;
  overflow: hidden;
  transform: translateX(-100%);
  transition: .5s transform
}

@media (min-width:992px) {
  .ft-menu__slider {
    --block-background: transparent;
    --block-text-color: var(--block-text-color);
    width: auto;
    height: auto;
    background: 0 0;
    transform: none;
    display: flex;
    align-items: center
  }
}

.ft-menu--js-show .ft-menu__slider {
  transform: translateX(0)
}

.ft-menu__close-btn {
  color: var(--primary-invert);
  position: absolute;
  right: 0;
  top: 0;
  font-size: 2rem;
  margin: 1rem;
  transform: translateX(100%);
  transition: .5s transform
}

@media (min-width:992px) {
  .ft-menu__close-btn {
    display: none
  }
}

.ft-menu--js-show .ft-menu__close-btn {
  transform: translateX(0)
}

.ft-menu__close-btn:focus,
.ft-menu__close-btn:hover {
  color: var(--primary-invert)
}

@-webkit-keyframes fadeIn {
  from {
    visibility: hidden;
    opacity: 0
  }

  to {
    visibility: visible;
    opacity: 1
  }
}

@keyframes fadeIn {
  from {
    visibility: hidden;
    opacity: 0
  }

  to {
    visibility: visible;
    opacity: 1
  }
}

@-webkit-keyframes fadeOut {
  from {
    visibility: visible;
    opacity: 1
  }

  to {
    visibility: hidden;
    opacity: 0
  }
}

@keyframes fadeOut {
  from {
    visibility: visible;
    opacity: 1
  }

  to {
    visibility: hidden;
    opacity: 0
  }
}

.fixed-nav-container {
  height: var(--hero-nav-height)
}

.hero-nav--is-sticky {
  --block-background: white;
  color: var(--primary);
  background: var(--dark);
  position: fixed !important;
  left: 0;
  right: 0;
  margin: auto;
  box-shadow: 0 5px 20px rgba(0, 0, 0, .1);
  padding: 1rem !important;
  height: 60px;
  transition: .2s height;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown
}

@media (min-width:992px) {
  .hero-nav--is-sticky {
    height: 80px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 1rem 1.5rem !important
  }
}

.ft-menu__slider {
  color: var(--block-text-color)
}

.hero-nav--is-sticky .ft-menu__slider {
  color: var(--text-primary)
}

.hero-nav--is-sticky .btn {
  background: var(--gradient-primary, var(--primary));
  color: var(--primary-invert)
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
}

.ft-menu__slider .hero-nav__item {
  font-size: 1.1rem;
  padding: 0 1rem
}

@media (min-width:992px) {
  .ft-menu__slider .hero-nav__item {
    padding: 0
  }
}

.hero-nav__link {
  display: flex;
  align-items: center;
  outline: 0 !important
}

.ft-menu__slider {
  overflow-x: hidden;
  overflow-y: auto
}

@media (min-width:992px) {
  .ft-menu__slider {
    overflow: visible
  }
}

.hero-nav__item--with-dropdown {
  position: relative;
  cursor: pointer
}

@media (min-width:992px) {
  .hero-nav__item--with-dropdown::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 176%
  }
}

.hero-nav__dropdown {
  position: static;
  width: 100%;
  height: auto;
  font-size: .9rem;
  border-top: 1px solid rgba(0, 0, 0, .1);
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  transition: .3s all;
  color: var(--text-primary);
  text-align: initial;
  cursor: auto
}

@media (min-width:992px) {
  .hero-nav__dropdown {
    position: absolute;
    top: 176%;
    left: 0;
    margin-top: 0;
    border-radius: 10px;
    border-top: none;
    box-shadow: 0 14px 50px 0 rgba(0, 0, 0, .1);
    background-color: #fff;
    z-index: 2;
    max-height: 0;
    padding: 2.3rem 3rem 2rem 2rem;
    overflow: visible;
    transition: .3s all
  }
}

.dropdown--important {
  position: absolute;
  width: auto !important;
  top: 176%;
  left: 0;
  margin-top: 0;
  border-radius: 10px;
  border-top: none;
  box-shadow: 0 14px 50px 0 rgba(0, 0, 0, .1);
  background-color: #fff;
  z-index: 2;
  max-height: 0;
  padding: 2rem;
  padding-right: 3rem;
  overflow: visible;
  transition: .3s all
}

@media (min-width:992px) {
  .dropdown--of-1-columns {
    width: 400px
  }

  .dropdown--of-2-columns {
    width: 700px
  }

  .dropdown--language-selector {
    width: 250px
  }
}

.hero-nav__item--show-dropdown .hero-nav__dropdown {
  margin-top: 1rem;
  visibility: visible;
  opacity: 1;
  max-height: 9999px;
  padding-top: 1rem
}

@media (min-width:992px) {
  .hero-nav__item--show-dropdown .hero-nav__dropdown {
    margin-top: 0;
    padding: 2.3rem 3rem 2rem 2rem
  }
}

.hero-nav__item-chevron {
  transition: .3s all
}

.hero-nav__item--show-dropdown .hero-nav__item-chevron {
  transform: rotate(180deg)
}

.hero-nav__item--dropdown-left .hero-nav__dropdown {
  transform: translateX(-15px) !important
}

.hero-nav__item--dropdown-left .hero-nav__dropdown::before {
  left: 15%;
  right: auto
}

.hero-nav__item--dropdown-right .hero-nav__dropdown {
  transform: translateX(15px) !important;
  left: auto;
  right: 0
}

.hero-nav__item--dropdown-right .hero-nav__dropdown::before {
  left: auto;
  right: 15%
}

@media (min-width:992px) {
  .hero-nav__item--lg-dropdown-left .hero-nav__dropdown {
    transform: translateX(-15px) !important;
    left: 0;
    right: auto
  }

  .hero-nav__item--lg-dropdown-left .hero-nav__dropdown::before {
    left: 15%;
    right: auto
  }

  .hero-nav__item--lg-dropdown-right .hero-nav__dropdown {
    transform: translateX(15px) !important;
    left: auto;
    right: 0
  }

  .hero-nav__item--lg-dropdown-right .hero-nav__dropdown::before {
    left: auto;
    right: 15%
  }
}

.dropdown--important::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6.85px 8.1px 6.85px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  top: -6px;
  left: 0;
  right: 0;
  margin: auto
}

@media (min-width:992px) {
  .hero-nav__dropdown::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6.85px 8.1px 6.85px;
    border-color: transparent transparent #fff transparent;
    position: absolute;
    top: -6px;
    left: 0;
    right: 0;
    margin: auto
  }
}

.dropdown__title {
  color: var(--text-primary);
  opacity: .7;
  font-weight: 600;
  font-size: .9rem;
  display: block;
  margin-top: .5rem;
  margin-bottom: 1.18rem
}

.dropdown__link {
  display: flex;
  align-items: flex-start;
  position: relative;
  cursor: pointer;
  margin-bottom: 1.3rem;
  color: inherit;
  text-decoration: none
}

.dropdown__link:focus,
.dropdown__link:hover {
  color: inherit;
  text-decoration: none
}

[javascript-language-selector] .dropdown__link {
  border-radius: .5rem;
  padding: .7rem;
  margin-bottom: 3px
}

.dropdown__link::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.dropdown__link:last-child {
  margin: 0
}

[javascript-language-selector] .dropdown__link--selected,
[javascript-language-selector] .dropdown__link:focus,
[javascript-language-selector] .dropdown__link:hover {
  background: rgba(0, 0, 0, .06)
}

.dropdown__icon {
  width: 35px;
  height: 35px;
  background: var(--gradient-primary, var(--primary));
  color: var(--primary-invert);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10rem;
  font-size: 13px
}

@media (min-width:992px) {
  .dropdown__icon {
    width: 40px;
    height: 40px
  }
}

.dropdown__item {
  max-width: 250px
}

.dropdown__item-title {
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.5;
  position: relative;
  z-index: -1
}

@media (min-width:992px) {
  .dropdown__item-title {
    white-space: nowrap
  }
}

.dropdown__item-title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  width: 100%;
  background: var(--secondary);
  transform: translateY(2px);
  opacity: 0;
  transition: .2s
}

[javascript-language-selector] .dropdown__item-title {
  white-space: nowrap
}

[javascript-language-selector] .dropdown__item-title::before {
  display: none
}

.dropdown__link:focus .dropdown__item-title::before,
.dropdown__link:hover .dropdown__item-title::before {
  height: 30%;
  transform: translateY(0);
  opacity: .4
}

.dropdown__item-description {
  font-size: .9rem;
  opacity: .9;
  margin-top: .3rem;
  margin-bottom: 0
}

.dropdown__item-description,
.dropdown__item-title {
  width: 95%
}

.hero__row {
  height: 300px;
  position: static
}

@media (min-width:992px) {
  .hero__row {
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0
  }
}

.hero_empty-column {
  height: 100%
}

.hero__image-column {
  height: 100%;
  background-position: center;
  background-size: cover
}

.hero__content {
  text-align: initial
}

.hero__body {
  padding-top: 2rem;
  padding-bottom: 3rem;
  position: relative;
  z-index: 1
}

@media (min-width:992px) {
  .hero__body {
    padding-top: 4rem;
    padding-bottom: 9rem
  }
}

.hero__title {
  font-size: 2.5rem;
  font-weight: 900
}

.hero__paragraph {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.7;
  opacity: .98
}

@media (min-width:576px) {
  .hero__title {
    font-size: 2.5rem;
    line-height: 1.17
  }

  .hero__paragraph {
    width: 80%;
    margin: auto
  }
}

@media (min-width:768px) {
  .hero__title {
    font-size: 3rem
  }
}

@media (min-width:992px) {
  .hero__title {
    font-size: 4.1rem;
    line-height: 1.17
  }

  .hero__paragraph {
    font-size: 1.4rem;
    width: 80%
  }
}

@media (min-width:1200px) {
  .hero__title {
    font-size: 4.1rem;
    line-height: 1.25
  }
}

.hero__btns-container {
  margin-left: -.5rem;
  margin-right: -.5rem
}

@media (min-width:1400px) {
  .hero__content {
    max-width: 80%
  }
}




/* Custom card wrapper */
.custom-card {
  overflow: hidden;              /* clip image/background */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
     border: 3px solid #000; /* Cool black border */
  border-radius: 0.4em;
  box-shadow: 0.1em 0.1em;
  background: transparent;
  font-family: 'Betm Rounded';
 


}

/* Hover effect */
.custom-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 12px 28px rgba(0,0,0,0.25);

}

/* Card image radius control */
.custom-card .card-img-top {
  height: 300px;                 /* keep consistent height */
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* Optional hover zoom on image */
.custom-card:hover .card-img-top {
  transform: scale(1.05);
}

/* Card title styling */
.custom-card .card-title {
  font-weight: 600;
  font-size: 1.25rem;
  margin-top: 0.75rem;
  color: var(--dark);
}

/* Card body button styling */
.custom-card .card-body .btn {
  min-width: 100px;
}

/* Optional overlay on image */
.custom-card .card-img-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.25); /* semi-transparent overlay */
  z-index: 1;
  border-radius: 12px;
  pointer-events: none; /* so button clicks still work */
}

.card-title {
  font-weight: 600;
  font-size: 1.25rem;
  margin-top: 0.5rem;
 
}

.card-text {
  font-size: 14.5px;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}

.card-price {
  font-weight: 700;
  font-size: 1.2rem;
  color: #FF4081; /* fun, feisty accent */
  margin-top: 0.5rem;
}



    /* From Uiverse.io by adamgiebl */ 
.retrobutton {
  background: var(--primary);
  font-family: inherit;
  padding: 0.6em 1.3em;
  font-weight: 900;
  font-size: 18px;
  border: 3px solid #000; /* Cool black border */
  border-radius: 0.4em;
  box-shadow: 0.1em 0.1em;
  cursor: pointer;
  text-decoration: none; /* removes underline */
  color: #000; /* black text */
  display: inline-block; /* prevents weird spacing issues */
  font-family: 'Betm Rounded';

}

.retrobutton:hover {
  transform: translate(-0.05em, -0.05em);
  box-shadow: 0.15em 0.15em;
  text-decoration: none; /* keep underline gone on hover */
}

.retrobutton:active {
  transform: translate(0.05em, 0.05em);
  box-shadow: 0.05em 0.05em;
}

.retrobutton-reverse {
  background: #000; /* black background */
  font-family: 'Betm Rounded';
  padding: 0.6em 1.3em;
  font-weight: 900;
  font-size: 18px;
  border: 3px solid var(--primary); /* bright blue border */
  border-radius: 0.4em;
  box-shadow: 0.1em 0.1em var(--primary);
  cursor: pointer;
  text-decoration: none;
  color: var(--primary); /* blue text */
  display: inline-block;
  transition: all 0.15s ease;
}

.retrobutton-reverse:hover {
  transform: translate(-0.05em, -0.05em);
  box-shadow: 0.15em 0.15em var(--primary);
  text-decoration: none;
}

.retrobutton-reverse:active {
  transform: translate(0.05em, 0.05em);
  box-shadow: 0.05em 0.05em var(--primary);
}

.services-section {
  padding: 60px 20px;
  background: var(--primary);
}

.services h2 {
  color: var(--dark);
     font-weight: 600;
    font-size: 2.5rem;
 

}

.services p {
  color: var(--dark);
 
}


.menu-section {
  background-color: #000;
}

/*------------------------------*/
/*--Section Name----------------*/
/*------------------------------*/
.block-43 {
  --block-background: white;
  --block-text-color: var(--text-primary);
  background: var(--block-background);
  color: var(--block-text-color);
  font-size: 1rem
}

.block-43__list {
  display: flex;
  flex-wrap: wrap
}

.block-43__li-1 {
  margin: 0 1.2rem;
  margin-bottom: .6rem
}

@media(min-width:992px) {
  .block-43__li-1 {
    margin: 0 1.8rem
  }
}

.block-43__link {
  color: var(--block-text-color);
  text-decoration: none
}

.block-43__link:focus,
.block-43__link:hover {
  color: inherit;
  text-decoration: underline
}

.block-43__copyrights {
  color: var(--text-primary);
  line-height: 1.7
}

footer {
  background-color: var(--primary);
  color: var(--dark);
}

footer a {
  color: var(--dark);
  text-decoration: none;
  opacity: .9
}

footer img {
  height: 35px;
  width: auto;
}


.booking-section {
  background-color: var(--primary);
  color: var(--dark);
  padding: 60px 20px;
  text-align: center;
}

.booking-section img {
  height: 450px;
  width: auto;
  margin-bottom: 20px;
}

.about-section {
  border-radius: 12px;
}

.about-section h2 {
  font-size: 2rem;
  color: var(--bs-dark);
}

.about-section p {
  color: var(--dark);
  line-height: 1.6;
}

.about-img {
  border-radius: 12px;
  object-fit: cover;
    position: relative;
  overflow: hidden;
  border: 3px solid #000;
  border-radius: 0.5em;
  box-shadow: 0.1em 0.1em;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background: transparent;
}

/* Mobile stack */
@media (max-width: 767px) {
  .about-section h2 {
    text-align: center;
  }
  .about-section p {
    text-align: center;
  }
  .retrobutton {
    display: block;
    margin: 0 auto;
  }
}

.party-section {
  border-radius: 12px;
  background-color: var(--primary);
}

.party-section h2 {
  font-size: 2rem;
  color: var(--bs-dark);
}

.party-section p,
.party-section li {
  color: var(--dark);
  line-height: 1.6;
}

.party-section ul {
  padding-left: 0;
}

.party-img {
  border-radius: 12px;
  object-fit: cover;
    position: relative;
  overflow: hidden;
  border: 3px solid #000;
  border-radius: 0.5em;
  box-shadow: 0.1em 0.1em;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background: transparent;
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .party-section h2,
  .party-section p,
  .party-section li {
    text-align: center;
  }

  .retrobutton {
    display: block;
    margin: 0 auto;
  }
}


.bento-gallery {
  background-color: var(--primary);
  color: var(--dark);
}

.bento-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  grid-auto-rows: 220px;
  gap: 1rem;
  padding: 0 1rem;
}

.bento-item {
  position: relative;
  overflow: hidden;
  border: 3px solid #000;
  border-radius: 0.5em;
  box-shadow: 0.1em 0.1em;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bento-item:hover {
  transform: translateY(-5px);
  box-shadow: 0.25em 0.25em;
}

.bento-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Desktop */
.bento-item.medium {
  grid-column: span 1;
  grid-row: span 2; /* or whatever fits your layout */
}

/* Mobile */
@media (max-width: 768px) {
  .bento-item.medium {
    height: 200px; /* fixed height so it doesn’t collapse */
    aspect-ratio: auto; /* don’t force it */
  }
}
/* Layout variants */
.bento-item.big {
  grid-column: span 2;
  grid-row: span 2;
}

.bento-item.tall {
  grid-row: span 3;
  grid-column: span 1;
  min-height: 480px;
}

/* --- MOBILE FIX --- */
@media (max-width: 768px) {
  .bento-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .bento-item {
    aspect-ratio: 4 / 3; /* keeps consistent photo framing */
  }

  .bento-item.big {
    aspect-ratio: 3 / 2; /* taller on mobile to show more of the image */
  }

  .bento-item.tall {
    aspect-ratio: 2 / 3; /* still tall but not exaggerated */
    min-height: auto;
  }
}


.contact-section {
  border-radius: 12px;
  border: solid 3px #000;
  color: var(--dark);
  
}

.contact-section a i :active::after{

  color: var(--dark);
}
.contact-form {
  background: #fff;
  border: 3px solid #000;
  border-radius: 0.5em;
  box-shadow: 0.1em 0.1em;
  font-family: "Nunito", sans-serif;
}

.contact-form .form-control {
  border: 2px solid #000;
  border-radius: 0.4em;
  box-shadow: none;
  transition: all 0.2s ease;
}

.contact-form .form-control:focus {
  border-color: var(--bs-primary);
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(0,0,0,0.1);
}

  .contact-email {
    color: #222; /* dark color */
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
  }

  .contact-email:hover {
    text-decoration: underline;
  }



@media (max-width: 767px) {
  .contact-section h2 {
    font-size: 1.75rem;
  }
}

.hero__mini-gallery img {
  border: 3px solid #000;
  border-radius: 0.4em;
  box-shadow: 0.1em 0.1em;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background: transparent;
}

.hero__mini-gallery img:hover {
  transform: translateY(-4px);
  box-shadow: 0.2em 0.2em;
}

@media (max-width: 767px) {
  .hero__mini-gallery {
    margin-top: 1rem;
  }
  .hero__mini-gallery img {
    border-width: 2px;
  }
}


.contact-links a {
  display: inline-block;
  color: #000; /* default color */
  text-decoration: none;
  transition: transform 0.2s ease, color 0.2s ease;
}
.contact-links a:hover {
  color: #ffffff !important;
  transition: transform 0.2s ease, color 0.2s ease;
    transform: scale(1.05); /* subtle grow */

  
}

.party-section li {
  font-size: 1.2rem;
}