/*--------------------- Responsive (Start) ---------------------*/
@media (max-width: 991px){

    html{
        font-size: 55%;
    } 
   
    .header .navbar{  
        display: none; 
    }

    .header #menu-btn{  
        display: initial; 
    }

    .header .icon-container .btn{
        display: none;
    }

    .mobile-menu { 
        display: block;
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 10000;
        max-height: 80vh;
        overflow-y: auto; 
        background: var(--black);
        -webkit-transition: all 0.5s ease-in-out;
        -moz-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
        -webkit-box-shadow: var(--box-shadow);
                box-shadow: var(--box-shadow);
        border-top: 0.2rem solid var(--main-color);
        border-bottom: 0.2rem solid var(--main-color);
        padding: 2rem;
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
                clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    } 
    
    .mobile-menu.active {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
                clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }

    .mobile-navbar{
        display: -webkit-box; 
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 1rem;
    }

    .mobile-navbar .nav-link{
        background: var(--main-color);
        overflow: hidden;
    }

    .mobile-navbar .main-nav-link{
        color: var(--white);
        font-size: 2rem;
        font-weight: bold;
        cursor: pointer; 
        width: 100%;
        padding: 1.5rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify; 
        justify-content: space-between; 
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .mobile-navbar .main-nav-link a{
        color: var(--white);
    }
    
    .mobile-navbar .sub-nav-link {
        background-color: var(--white);
        padding: 1rem 0;
        padding-left: 4rem;
        display: none;
        -webkit-transition: all 0s;
        -moz-transition: all 0s;
        -o-transition: all 0s;
        transition: all 0s;
    }
    
    .mobile-navbar .sub-nav-link a{
        color: var(--grey);
        border-bottom: 0.1rem solid rgba(0,0,0,0.2);
        display: block;
        padding: 1rem 0rem;
        font-size: 1.8rem;
        font-weight: 500;
    }
    
    .mobile-navbar .sub-nav-link a:hover{
        color: var(--main-color);
    }
    
    .mobile-menu::-webkit-scrollbar{
        width: 0.8rem; 
    }
    
    .mobile-menu::-webkit-scrollbar-thumb{
        border-radius: 1rem;
        background-color: var(--main-color);
    }
    
    .mobile-menu::-webkit-scrollbar-track{
        background: transparent;
    }

    .blog.grid, .blog.list{
        -ms-flex-wrap: wrap-reverse;
            flex-wrap: wrap-reverse;
    }

    .shop{
        -ms-flex-wrap: wrap-reverse;
            flex-wrap: wrap-reverse;
    }
    
    .footer .box-container{
        -ms-grid-columns: (minmax(33rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(33rem, 1fr));
    }

    .features .box-container{
        -ms-grid-columns: (minmax(28rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
    }

    .team .box-container{
        -ms-grid-columns: (minmax(28rem, 1fr))[auto-fit];
            grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
    }
    
}

@media (max-width: 768px){

    section{
        padding: 3rem 2rem;
    }

    .header .header-1{
        padding-left: 2rem;
    }

    .header .header-2{
        padding: 0rem 2rem;
    }

    .header .social-contacts{
        width: 30%;
        padding: 0.5rem 2rem;
    }

    .footer .box-container{
        padding: 2rem;
    }

    .search-container{
        right: 1rem;
    }

    .home-item{
        height: 70rem;
    }

    .home-item .content{ 
        padding: 10rem 2rem;
    }

    .home-slider .swiper-button-next,
    .home-slider .swiper-button-prev{
        display: none;
    }

    .portfolio-item{
        width: 50%;
    }

    .gallery .box-container{
        -ms-grid-columns: 1fr 1fr;
            grid-template-columns: 1fr 1fr;
        grid-template-areas: 
        'gallery-1 gallery-3'
        'gallery-2 gallery-3'
        'gallery-4 gallery-6'
        'gallery-5 gallery-6';
    }

}

@media (max-width: 450px){
    
    html{
      font-size: 50%;
    }

    section{
        padding: 3rem 1rem;
    }

    .career .career-intro,
    .career-positions,
    .career-benefits,
    .contact .box-container{
        padding: 3rem 1rem;
    }

    .header .header-1{
        padding-left: 1rem;
        justify-content: flex-end;
    }

    .header .header-2{
        padding: 0rem 1rem;
    }

    .header .social-contacts{
        width: 50%;
        padding: 0.5rem 1rem;
    }

    .header .header-contacts{
        display: none;
    }

    .footer .box-container{
        padding: 2rem 1rem;
    }

    .home-item{
        height: 100vh;
    }

    .home-item .content{ 
        padding: 10rem 1rem;
    }

    .features{
        padding-bottom: 1rem;
    }

    .form .input-box,
    .dark-form .input-box{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .dark-form .input-box .input-field,
    .dark-form .select{
        -webkit-box-flex: 1;
            -ms-flex: 1 1 25rem;
                flex: 1 1 25rem;
    }

    .page-title{
        -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
        -webkit-box-align: start;
            -ms-flex-align: start;
                    -ms-grid-row-align: flex-start;
                align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .team-single .image{
        width: 100%;
    }

    .team-item .team-image{
        height: 40rem;
    }

    .account-form{
        max-width: 100%;
    }

    .portfolio-item{
        width: 100%;
    }

    .shop .product-container.list .product-item {
        gap: 0rem;
    }

    .shop .product-container.list .product-item .image {
        width: 30rem;
    }

    .shop .product-container.list .product-item .content {
        padding: 1rem;
        width: 100%;
    }

    .shop .product-container.list .product-item .content p {
        line-height: 1.5;
    }

    .product-info .leave-reply{
        width: 100%;
    }

    .cart .cart-summary{
        width: 100%; 
    }
    
    .whyUs .content,
    .cost-calculator .content,
    .get-quote .content{
        padding: 4rem 5%;
        -webkit-clip-path: none;
                clip-path: none;
    }
    
}

/*--------------------- Responsive (End) ---------------------*/

/* ==================== New Header & Mobile Menu ==================== */

.header .icon-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}

/* Play Now в верхней панели */
.header .header-play-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

/* Кнопка мобильного меню */
.header .menu-toggle {
  display: none;
  width: 5rem;
  height: 5rem;
  padding: 1.2rem;
  background: var(--main-color);
  border: 0;
  border-radius: 1rem;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}

.header .menu-toggle-line {
  display: block;
  width: 2.6rem;
  height: 0.3rem;
  background: var(--white);
  border-radius: 1rem;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

/* Анимация иконки при открытии */
.header .menu-toggle.active .menu-toggle-line:nth-child(1) {
  transform: translateY(0.8rem) rotate(45deg);
}

.header .menu-toggle.active .menu-toggle-line:nth-child(2) {
  opacity: 0;
}

.header .menu-toggle.active .menu-toggle-line:nth-child(3) {
  transform: translateY(-0.8rem) rotate(-45deg);
}

/* Мобильное меню по умолчанию закрыто */
.header .mobile-menu {
  display: none;
}

@media (max-width: 991px) {

  .header .header-2 {
    height: 8rem;
    padding: 0 4%;
    background: rgba(0, 0, 0, 0.9);
  }

  .header .header-2 .container {
    margin-left: auto;
    gap: 1rem;
  }

  /* Скрываем десктопную навигацию */
  .header .navbar {
    display: none;
  }

  /* Показываем кнопку меню */
  .header .menu-toggle {
    display: flex;
  }

  /* Принудительно показываем Play Now */
  .header .icon-container .header-play-btn {
    display: inline-flex !important;
    padding: 1.2rem 2rem;
    font-size: 1.5rem;
    line-height: 1;
  }

  /* Раскрывающийся блок */
  .header .mobile-menu {
    position: absolute;
    top: 8rem;
    left: 0;
    width: 100%;
    max-height: 0;
    display: block;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    background: var(--black);
    border-top: 0.2rem solid var(--main-color);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.25);
    transition:
      max-height 0.35s ease,
      opacity 0.25s ease,
      visibility 0.25s ease;
  }

  .header .mobile-menu.active {
    max-height: 60rem;
    visibility: visible;
    opacity: 1;
  }

  .header .mobile-navbar {
    display: flex;
    flex-direction: column;
    padding: 2rem 5%;
  }

  .header .mobile-navbar a {
    display: block;
    padding: 1.2rem 0;
    color: var(--white);
    font-size: 1.8rem;
    border-bottom: 0.1rem solid rgba(255, 255, 255, 0.12);
  }

  .header .mobile-navbar a:hover {
    color: var(--main-color);
    padding-left: 0.8rem;
  }
}

@media (max-width: 520px) {

  .header .logo img {
    height: 4.5rem;
  }

  .header .icon-container .header-play-btn {
    padding: 1.1rem 1.5rem;
    font-size: 1.35rem;
  }

  .header .menu-toggle {
    width: 4.8rem;
    height: 4.8rem;
  }
}

@media (max-width: 380px) {

  .header .icon-container .header-play-btn {
    padding: 1rem 1.2rem;
    font-size: 1.25rem;
  }

  .header .header-2 {
    padding-left: 3%;
    padding-right: 3%;
  }
}


/* ==================== Home Banner Responsive ==================== */

@media (max-width: 991px) {

  .home-banner {
    --banner-dark-left: 0.68;
    --banner-dark-middle: 0.58;
    --banner-dark-right: 0.38;
    --banner-dark-bottom: 0.88;

    min-height: 76rem;
  }

  .home-banner > img {
    object-position: 62% center;
  }

  .home-banner::before {
    background:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.2) 0%,
        rgba(0, 0, 0, 0.48) 42%,
        rgba(0, 0, 0, var(--banner-dark-bottom)) 100%
      );
  }

  .home-banner .content {
    min-height: 76rem;
    align-items: flex-end;
    padding: 13rem 4% 7rem;
  }

  .home-banner-side-text {
    display: none;
  }
}

@media (max-width: 600px) {

  .home-banner {
    min-height: 74rem;
  }

  .home-banner .content {
    min-height: 74rem;
    padding: 12rem 2rem 5rem;
  }

  .home-banner .text {
    padding-left: 1.8rem;
  }

  .home-banner-label {
    margin-bottom: 1.4rem;
  }

  .home-banner .text h5 {
    font-size: 1.7rem;
    line-height: 1.3;
  }

  .home-banner .text h1 {
    font-size: 5rem;
  }

  .home-banner-description {
    margin-top: 2rem;
    font-size: 1.7rem;
    line-height: 1.5;
  }

  .home-banner-actions {
    gap: 1.5rem;
    margin-top: 2.5rem;
  }

  .home-banner-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin-top: 3rem;
  }

  .home-banner-highlight {
    min-height: 5rem;
  }
}

@media (max-width: 420px) {

  .home-banner {
    min-height: 78rem;
  }

  .home-banner .content {
    min-height: 78rem;
  }

  .home-banner .text h1 {
    font-size: 4.2rem;
  }

  .home-banner-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .home-banner-actions .btn {
    width: 100%;
  }
}

/* ==================== Destination About Responsive ==================== */

@media (max-width: 1100px) {

  .destination-about-intro {
    gap: 5rem;
  }

  .destination-about-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .destination-about-main {
    grid-template-columns: 1fr;
  }

  .destination-about-featured {
    min-height: auto;
  }

  .destination-about-footer {
    grid-template-columns: 1fr 1.5fr;
  }

  .destination-footer-actions {
    grid-column: 1 / -1;
    flex-direction: row;
  }
}

@media (max-width: 850px) {

  .destination-about {
    padding: 7rem 4%;
  }

  .destination-about-intro {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .destination-about-footer {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .destination-footer-actions {
    grid-column: auto;
  }
}

@media (max-width: 650px) {

  .destination-about {
    padding: 6rem 2rem;
  }

  .destination-about-title h2 {
    font-size: 4.2rem;
  }

  .destination-about-description .destination-about-lead {
    font-size: 1.8rem;
  }

  .destination-about-facts {
    grid-template-columns: 1fr;
  }

  .destination-fact {
    min-height: auto;
  }

  .destination-about-featured {
    padding: 3rem 2.4rem;
  }

  .destination-featured-number {
    margin-bottom: 3.5rem;
  }

  .destination-featured-heading {
    align-items: flex-start;
  }

  .destination-featured-heading h3 {
    font-size: 3.2rem;
  }

  .destination-about-cards {
    grid-template-columns: 1fr;
  }

  .destination-about-card {
    min-height: auto;
  }

  .destination-about-footer {
    padding: 3rem 2.4rem;
  }

  .destination-footer-list {
    grid-template-columns: 1fr;
  }

  .destination-footer-actions {
    flex-direction: column;
  }
}

@media (max-width: 420px) {

  .destination-about-title h2 {
    font-size: 3.6rem;
  }

  .destination-featured-heading {
    flex-direction: column;
  }

  .destination-featured-heading h3 {
    font-size: 3rem;
  }

  .destination-footer-actions .btn,
  .destination-outline-button {
    width: 100%;
  }
}

/* ==================== Casino Overview Responsive ==================== */

@media (max-width: 1100px) {

  .casino-overview-header {
    gap: 5rem;
  }

  .casino-overview-grid {
    grid-template-columns: 1fr;
  }

  .casino-overview-featured {
    min-height: auto;
  }

  .casino-overview-strip {
    grid-template-columns: 1fr 1.5fr;
  }

  .casino-overview-strip .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 850px) {

  .casino-overview {
    padding: 7rem 4%;
  }

  .casino-overview-header {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .casino-overview-strip {
    grid-template-columns: 1fr;
  }

  .casino-overview-strip .btn {
    grid-column: auto;
  }
}

@media (max-width: 650px) {

  .casino-overview {
    padding: 6rem 2rem;
  }

  .casino-overview-title h2 {
    font-size: 4.2rem;
  }

  .casino-overview-copy .casino-overview-lead {
    font-size: 1.8rem;
  }

  .casino-overview-featured {
    padding: 3rem 2.4rem;
  }

  .casino-overview-featured h3 {
    font-size: 3.2rem;
  }

  .casino-overview-cards {
    grid-template-columns: 1fr;
  }

  .casino-overview-card {
    min-height: auto;
  }

  .casino-overview-strip {
    padding: 3rem 2.4rem;
  }

  .casino-strip-items {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {

  .casino-overview-title h2 {
    font-size: 3.6rem;
  }

  .casino-overview-featured h3 {
    font-size: 3rem;
  }

  .casino-overview-featured-top {
    margin-bottom: 3rem;
  }

  .casino-overview-strip .btn {
    width: 100%;
  }
}

/* ==================== Slots Section Responsive ==================== */

@media (max-width: 1000px) {

  .slots-section-header {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .slots-popular-panel,
  .slots-electronic-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {

  .slots-section {
    padding: 6rem 2rem;
  }

  .slots-section-title h2 {
    font-size: 4.2rem;
  }

  .slots-section-intro .slots-section-lead {
    font-size: 1.8rem;
  }

  .slots-family-grid {
    grid-template-columns: 1fr;
  }

  .slots-family-card {
    min-height: auto;
    padding: 2.8rem 2.4rem;
  }

  .slots-popular-panel,
  .slots-electronic-panel {
    padding: 3rem 2.4rem;
  }

  .slots-electronic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 450px) {

  .slots-section-title h2 {
    font-size: 3.6rem;
  }

  .slots-family-card-head,
  .slots-popular-heading,
  .slots-electronic-heading {
    flex-direction: column;
    align-items: flex-start;
  }

  .slots-family-card h3 {
    font-size: 2.7rem;
  }

  .slots-electronic-grid {
    grid-template-columns: 1fr;
  }
}

/* ==================== Table Games Responsive ==================== */

@media (max-width: 1100px) {

  .table-games-header {
    gap: 5rem;
  }

  .table-games-overview {
    grid-template-columns: 1fr;
  }

  .table-games-featured {
    min-height: auto;
  }

  .table-games-footer {
    grid-template-columns: 1fr 1.5fr;
  }

  .table-games-footer .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 850px) {

  .table-games {
    padding: 7rem 4%;
  }

  .table-games-header,
  .table-games-available {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .table-games-footer {
    grid-template-columns: 1fr;
  }

  .table-games-footer .btn {
    grid-column: auto;
  }
}

@media (max-width: 650px) {

  .table-games {
    padding: 6rem 2rem;
  }

  .table-games-title h2 {
    font-size: 4.2rem;
  }

  .table-games-intro .table-games-lead {
    font-size: 1.8rem;
  }

  .table-games-featured {
    padding: 3rem 2.4rem;
  }

  .table-games-featured h3 {
    font-size: 3.2rem;
  }

  .table-games-grid,
  .table-games-available-content,
  .table-games-hours-grid,
  .table-games-footer-points {
    grid-template-columns: 1fr;
  }

  .table-games-available,
  .table-games-hours,
  .table-games-footer {
    padding: 3rem 2.4rem;
  }
}

@media (max-width: 420px) {

  .table-games-title h2 {
    font-size: 3.6rem;
  }

  .table-games-featured-head,
  .table-games-available-heading,
  .table-games-hours-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .table-games-featured h3 {
    font-size: 3rem;
  }

  .table-games-footer .btn {
    width: 100%;
  }
}

/* ==================== Poker Room Responsive ==================== */

@media (max-width: 1100px) {

  .poker-room-header {
    gap: 5rem;
  }

  .poker-room-overview {
    grid-template-columns: 1fr;
  }

  .poker-room-featured {
    min-height: auto;
  }

  .poker-atlas {
    grid-template-columns: 1fr;
  }

  .poker-room-footer {
    grid-template-columns: 1fr 1.5fr;
  }

  .poker-room-footer .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 850px) {

  .poker-room {
    padding: 7rem 4%;
  }

  .poker-room-header {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .poker-room-footer {
    grid-template-columns: 1fr;
  }

  .poker-room-footer .btn {
    grid-column: auto;
  }
}

@media (max-width: 650px) {

  .poker-room {
    padding: 6rem 2rem;
  }

  .poker-room-title h2 {
    font-size: 4.2rem;
  }

  .poker-room-intro .poker-room-lead {
    font-size: 1.8rem;
  }

  .poker-room-featured,
  .poker-room-limits,
  .poker-atlas,
  .poker-check-in,
  .poker-room-footer {
    padding: 3rem 2.4rem;
  }

  .poker-room-featured h3,
  .poker-atlas-copy h3 {
    font-size: 3.1rem;
  }

  .poker-room-cards,
  .poker-room-limits-grid,
  .poker-check-in-grid,
  .poker-room-footer-list {
    grid-template-columns: 1fr;
  }

  .poker-room-card {
    min-height: auto;
  }

  .poker-atlas-features {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {

  .poker-room-title h2 {
    font-size: 3.6rem;
  }

  .poker-room-featured-head,
  .poker-room-limits-heading,
  .poker-room-rake {
    align-items: flex-start;
    flex-direction: column;
  }

  .poker-room-featured h3 {
    font-size: 3rem;
  }

  .poker-room-format {
    flex-direction: column;
  }

  .poker-atlas-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .poker-atlas-actions .btn,
  .poker-room-footer .btn {
    width: 100%;
  }
}

/* ==================== High Limit Gaming Responsive ==================== */

@media (max-width: 1100px) {

  .high-limit-header {
    gap: 5rem;
  }

  .high-limit-amenities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .high-limit-footer {
    grid-template-columns: 1fr 1.5fr;
  }

  .high-limit-footer .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 850px) {

  .high-limit-gaming {
    padding: 7rem 4%;
  }

  .high-limit-header,
  .high-limit-grid {
    grid-template-columns: 1fr;
  }

  .high-limit-header {
    gap: 3rem;
  }

  .high-limit-card {
    min-height: auto;
  }

  .high-limit-footer {
    grid-template-columns: 1fr;
  }

  .high-limit-footer .btn {
    grid-column: auto;
  }
}

@media (max-width: 650px) {

  .high-limit-gaming {
    padding: 6rem 2rem;
  }

  .high-limit-title h2 {
    font-size: 4.2rem;
  }

  .high-limit-intro .high-limit-lead {
    font-size: 1.8rem;
  }

  .high-limit-card,
  .high-limit-amenities,
  .high-limit-footer {
    padding: 3rem 2.4rem;
  }

  .high-limit-card h3 {
    font-size: 3.2rem;
  }

  .high-limit-amenities-grid,
  .high-limit-footer-points {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {

  .high-limit-title h2 {
    font-size: 3.6rem;
  }

  .high-limit-card-top,
  .high-limit-service-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .high-limit-location {
    text-align: left;
  }

  .high-limit-card h3 {
    font-size: 3rem;
  }

  .high-limit-footer .btn {
    width: 100%;
  }
}

/* ==================== Great Canadian Rewards Responsive ==================== */

@media (max-width: 1150px) {

  .gc-rewards-header {
    gap: 5rem;
  }

  .gc-rewards-benefits,
  .gc-rewards-tier-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gc-rewards-overview {
    grid-template-columns: 1fr;
  }

  .gc-rewards-featured {
    min-height: auto;
  }
}

@media (max-width: 850px) {

  .gc-rewards {
    padding: 7rem 4%;
  }

  .gc-rewards-header {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .gc-rewards-portal {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {

  .gc-rewards {
    padding: 6rem 2rem;
  }

  .gc-rewards-title h2 {
    font-size: 4.2rem;
  }

  .gc-rewards-intro .gc-rewards-lead {
    font-size: 1.8rem;
  }

  .gc-rewards-benefits,
  .gc-rewards-experiences,
  .gc-rewards-tier-grid,
  .gc-rewards-steps-grid {
    grid-template-columns: 1fr;
  }

  .gc-rewards-benefit,
  .gc-rewards-experience,
  .gc-rewards-tier {
    min-height: auto;
  }

  .gc-rewards-featured,
  .gc-rewards-tiers,
  .gc-rewards-portal,
  .gc-rewards-steps {
    padding: 3rem 2.4rem;
  }

  .gc-rewards-featured h3,
  .gc-rewards-portal-copy h3 {
    font-size: 3.1rem;
  }

  .gc-rewards-portal-features {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {

  .gc-rewards-title h2 {
    font-size: 3.6rem;
  }

  .gc-rewards-featured-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .gc-rewards-featured h3 {
    font-size: 3rem;
  }

  .gc-rewards-portal-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .gc-rewards-portal-actions .btn,
  .gc-rewards-outline-link {
    width: 100%;
    justify-content: center;
  }
}

/* ==================== Resort Hotel Responsive ==================== */

@media (max-width: 1100px) {

  .resort-hotel-container {
    gap: 5rem;
  }

  .resort-hotel-visual {
    min-height: 62rem;
  }
}

@media (max-width: 900px) {

  .resort-hotel {
    padding: 7rem 4%;
  }

  .resort-hotel-container {
    grid-template-columns: 1fr;
  }

  .resort-hotel-visual {
    width: 100%;
    max-width: 72rem;
    min-height: 58rem;
    margin: 0 auto;
  }

  .resort-hotel-content {
    max-width: 82rem;
    margin: 0 auto;
  }
}

@media (max-width: 650px) {

  .resort-hotel {
    padding: 6rem 2rem;
  }

  .resort-hotel-visual {
    min-height: 50rem;
  }

  .resort-hotel-image {
    inset: 0 2rem 0 0;
  }

  .resort-hotel-floating-card {
    top: 3rem;
    width: 22rem;
    padding: 1.8rem;
  }

  .resort-hotel-content h2 {
    font-size: 4.2rem;
  }

  .resort-hotel-content .resort-hotel-lead {
    font-size: 1.8rem;
  }

  .resort-hotel-highlights,
  .resort-hotel-amenities-list {
    grid-template-columns: 1fr;
  }

  .resort-hotel-highlight {
    min-height: auto;
  }
}

@media (max-width: 420px) {

  .resort-hotel-visual {
    min-height: 45rem;
  }

  .resort-hotel-image {
    inset: 0;
  }

  .resort-hotel-floating-card {
    position: absolute;
    top: auto;
    right: 1.5rem;
    bottom: 1.5rem;
    width: calc(100% - 3rem);
  }

  .resort-hotel-image-label {
    display: none;
  }

  .resort-hotel-content h2 {
    font-size: 3.6rem;
  }

  .resort-hotel-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .resort-hotel-actions .btn {
    width: 100%;
  }

  .resort-hotel-link {
    align-self: flex-start;
  }
}

/* ==================== Restaurants Responsive ==================== */

@media (max-width: 1100px) {

  .resort-dining-container {
    gap: 5rem;
  }

  .resort-dining-visual {
    min-height: 65rem;
  }
}

@media (max-width: 900px) {

  .resort-dining {
    padding: 7rem 4%;
  }

  .resort-dining-container {
    grid-template-columns: 1fr;
  }

  .resort-dining-content {
    max-width: 82rem;
    margin: 0 auto;
  }

  .resort-dining-visual {
    width: 100%;
    max-width: 72rem;
    min-height: 58rem;
    margin: 0 auto;
  }

  .resort-dining-image {
    inset: 0 0 0 3rem;
  }
}

@media (max-width: 650px) {

  .resort-dining {
    padding: 6rem 2rem;
  }

  .resort-dining-content h2 {
    font-size: 4.2rem;
  }

  .resort-dining-content .resort-dining-lead {
    font-size: 1.8rem;
  }

  .resort-dining-grid,
  .resort-dining-experience-list {
    grid-template-columns: 1fr;
  }

  .resort-dining-card {
    min-height: auto;
  }

  .resort-dining-visual {
    min-height: 52rem;
  }

  .resort-dining-image {
    inset: 0 0 0 2rem;
  }

  .resort-dining-floating-card {
    top: 3rem;
    width: 22rem;
  }

  .resort-dining-small-card {
    left: 0;
    bottom: 4rem;
    width: 23rem;
  }
}

@media (max-width: 420px) {

  .resort-dining-content h2 {
    font-size: 3.6rem;
  }

  .resort-dining-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .resort-dining-actions .btn {
    width: 100%;
  }

  .resort-dining-link {
    align-self: flex-start;
  }

  .resort-dining-visual {
    min-height: 47rem;
  }

  .resort-dining-image {
    inset: 0;
  }

  .resort-dining-image-content {
    display: none;
  }

  .resort-dining-floating-card {
    top: 1.5rem;
    left: 1.5rem;
    width: calc(100% - 3rem);
  }

  .resort-dining-small-card {
    left: 1.5rem;
    bottom: 1.5rem;
    width: calc(100% - 3rem);
  }
}

/* ==================== Bars & Nightlife Responsive ==================== */

@media (max-width: 1100px) {

  .resort-nightlife-container {
    gap: 5rem;
  }

  .resort-nightlife-visual {
    min-height: 65rem;
  }
}

@media (max-width: 900px) {

  .resort-nightlife {
    padding: 7rem 4%;
  }

  .resort-nightlife-container {
    grid-template-columns: 1fr;
  }

  .resort-nightlife-visual {
    width: 100%;
    max-width: 72rem;
    min-height: 58rem;
    margin: 0 auto;
  }

  .resort-nightlife-content {
    max-width: 82rem;
    margin: 0 auto;
  }
}

@media (max-width: 650px) {

  .resort-nightlife {
    padding: 6rem 2rem;
  }

  .resort-nightlife-content h2 {
    font-size: 4.2rem;
  }

  .resort-nightlife-content .resort-nightlife-lead {
    font-size: 1.8rem;
  }

  .resort-nightlife-grid,
  .resort-nightlife-experience-list {
    grid-template-columns: 1fr;
  }

  .resort-nightlife-card {
    min-height: auto;
  }

  .resort-nightlife-visual {
    min-height: 52rem;
  }

  .resort-nightlife-image {
    inset: 0 2rem 0 0;
  }

  .resort-nightlife-floating-card {
    top: 3rem;
    width: 22rem;
  }

  .resort-nightlife-small-card {
    right: 0;
    bottom: 4rem;
    width: 23rem;
  }
}

@media (max-width: 420px) {

  .resort-nightlife-content h2 {
    font-size: 3.6rem;
  }

  .resort-nightlife-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .resort-nightlife-actions .btn {
    width: 100%;
  }

  .resort-nightlife-link {
    align-self: flex-start;
  }

  .resort-nightlife-visual {
    min-height: 47rem;
  }

  .resort-nightlife-image {
    inset: 0;
  }

  .resort-nightlife-image-content {
    display: none;
  }

  .resort-nightlife-floating-card {
    top: 1.5rem;
    right: 1.5rem;
    width: calc(100% - 3rem);
  }

  .resort-nightlife-small-card {
    right: 1.5rem;
    bottom: 1.5rem;
    width: calc(100% - 3rem);
  }
}

/* ==================== The Theatre Responsive ==================== */

@media (max-width: 1100px) {

  .resort-theatre-container {
    gap: 5rem;
  }

  .resort-theatre-visual {
    min-height: 65rem;
  }
}

@media (max-width: 900px) {

  .resort-theatre {
    padding: 7rem 4%;
  }

  .resort-theatre-container {
    grid-template-columns: 1fr;
  }

  .resort-theatre-content {
    max-width: 82rem;
    margin: 0 auto;
  }

  .resort-theatre-visual {
    width: 100%;
    max-width: 72rem;
    min-height: 58rem;
    margin: 0 auto;
  }

  .resort-theatre-image {
    inset: 0 0 0 3rem;
  }
}

@media (max-width: 650px) {

  .resort-theatre {
    padding: 6rem 2rem;
  }

  .resort-theatre-content h2 {
    font-size: 4.2rem;
  }

  .resort-theatre-content .resort-theatre-lead {
    font-size: 1.8rem;
  }

  .resort-theatre-grid,
  .resort-theatre-details-list {
    grid-template-columns: 1fr;
  }

  .resort-theatre-card {
    min-height: auto;
  }

  .resort-theatre-visual {
    min-height: 52rem;
  }

  .resort-theatre-image {
    inset: 0 0 0 2rem;
  }

  .resort-theatre-floating-card {
    top: 3rem;
    width: 21rem;
  }

  .resort-theatre-small-card {
    left: 0;
    bottom: 4rem;
    width: 23rem;
  }
}

@media (max-width: 420px) {

  .resort-theatre-content h2 {
    font-size: 3.6rem;
  }

  .resort-theatre-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .resort-theatre-actions .btn {
    width: 100%;
  }

  .resort-theatre-link {
    align-self: flex-start;
  }

  .resort-theatre-visual {
    min-height: 47rem;
  }

  .resort-theatre-image {
    inset: 0;
  }

  .resort-theatre-image-content {
    display: none;
  }

  .resort-theatre-floating-card {
    top: 1.5rem;
    left: 1.5rem;
    width: calc(100% - 3rem);
  }

  .resort-theatre-small-card {
    left: 1.5rem;
    bottom: 1.5rem;
    width: calc(100% - 3rem);
  }
}

/* ==================== Woodbine Racetrack Responsive ==================== */

@media (max-width: 1100px) {

  .woodbine-racing-container {
    gap: 5rem;
  }

  .woodbine-racing-visual {
    min-height: 65rem;
  }
}

@media (max-width: 900px) {

  .woodbine-racing {
    padding: 7rem 4%;
  }

  .woodbine-racing-container {
    grid-template-columns: 1fr;
  }

  .woodbine-racing-visual {
    width: 100%;
    max-width: 72rem;
    min-height: 58rem;
    margin: 0 auto;
  }

  .woodbine-racing-content {
    max-width: 82rem;
    margin: 0 auto;
  }
}

@media (max-width: 650px) {

  .woodbine-racing {
    padding: 6rem 2rem;
  }

  .woodbine-racing-content h2 {
    font-size: 4.2rem;
  }

  .woodbine-racing-content .woodbine-racing-lead {
    font-size: 1.8rem;
  }

  .woodbine-racing-grid,
  .woodbine-racing-details-list {
    grid-template-columns: 1fr;
  }

  .woodbine-racing-card {
    min-height: auto;
  }

  .woodbine-racing-visual {
    min-height: 52rem;
  }

  .woodbine-racing-image {
    inset: 0 2rem 0 0;
  }

  .woodbine-racing-floating-card {
    top: 3rem;
    width: 22rem;
  }

  .woodbine-racing-small-card {
    right: 0;
    bottom: 4rem;
    width: 21rem;
  }
}

@media (max-width: 420px) {

  .woodbine-racing-content h2 {
    font-size: 3.6rem;
  }

  .woodbine-racing-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .woodbine-racing-actions .btn {
    width: 100%;
  }

  .woodbine-racing-link {
    align-self: flex-start;
  }

  .woodbine-racing-visual {
    min-height: 47rem;
  }

  .woodbine-racing-image {
    inset: 0;
  }

  .woodbine-racing-image-content {
    display: none;
  }

  .woodbine-racing-floating-card {
    top: 1.5rem;
    right: 1.5rem;
    width: calc(100% - 3rem);
  }

  .woodbine-racing-small-card {
    right: 1.5rem;
    bottom: 1.5rem;
    width: calc(100% - 3rem);
  }
}

/* ==================== Amenities & Services Responsive ==================== */

@media (max-width: 1100px) {

  .resort-amenities-header {
    gap: 5rem;
  }

  .resort-amenities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .resort-amenities-footer {
    grid-template-columns: 1fr 1.5fr;
  }

  .resort-amenities-footer .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 850px) {

  .resort-amenities {
    padding: 7rem 4%;
  }

  .resort-amenities-header,
  .resort-amenities-services {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .resort-amenities-info-grid {
    grid-template-columns: 1fr;
  }

  .resort-amenities-footer {
    grid-template-columns: 1fr;
  }

  .resort-amenities-footer .btn {
    grid-column: auto;
  }
}

@media (max-width: 650px) {

  .resort-amenities {
    padding: 6rem 2rem;
  }

  .resort-amenities-title h2 {
    font-size: 4.2rem;
  }

  .resort-amenities-intro .resort-amenities-lead {
    font-size: 1.8rem;
  }

  .resort-amenities-grid,
  .resort-amenities-services-list,
  .resort-amenities-footer-list {
    grid-template-columns: 1fr;
  }

  .resort-amenities-card {
    min-height: auto;
    padding: 2.6rem 2.4rem;
  }

  .resort-amenities-services,
  .resort-amenities-info,
  .resort-amenities-footer {
    padding: 3rem 2.4rem;
  }
}

@media (max-width: 420px) {

  .resort-amenities-title h2 {
    font-size: 3.6rem;
  }

  .resort-amenities-services-heading,
  .resort-amenities-info-heading,
  .resort-amenities-info-item {
    align-items: flex-start;
    flex-direction: column;
  }

  .resort-amenities-card-top {
    align-items: flex-start;
  }

  .resort-amenities-footer .btn {
    width: 100%;
  }
}

/* ==================== Private Events Responsive ==================== */

@media (max-width: 1150px) {

  .private-events-header {
    gap: 5rem;
  }

  .private-events-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .private-events-planning-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .private-events-footer {
    grid-template-columns: 1fr 1.5fr;
  }

  .private-events-footer .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 850px) {

  .private-events {
    padding: 7rem 4%;
  }

  .private-events-header,
  .private-events-advantages {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .private-events-footer {
    grid-template-columns: 1fr;
  }

  .private-events-footer .btn {
    grid-column: auto;
  }
}

@media (max-width: 650px) {

  .private-events {
    padding: 6rem 2rem;
  }

  .private-events-title h2 {
    font-size: 4.2rem;
  }

  .private-events-intro .private-events-lead {
    font-size: 1.8rem;
  }

  .private-events-grid,
  .private-events-advantages-list,
  .private-events-planning-grid,
  .private-events-details-grid,
  .private-events-footer-list {
    grid-template-columns: 1fr;
  }

  .private-events-card,
  .private-events-step {
    min-height: auto;
  }

  .private-events-card {
    padding: 2.6rem 2.4rem;
  }

  .private-events-advantages,
  .private-events-planning,
  .private-events-details,
  .private-events-footer {
    padding: 3rem 2.4rem;
  }
}

@media (max-width: 420px) {

  .private-events-title h2 {
    font-size: 3.6rem;
  }

  .private-events-advantages-heading,
  .private-events-details-heading,
  .private-events-details-item {
    align-items: flex-start;
    flex-direction: column;
  }

  .private-events-card-top {
    align-items: flex-start;
  }

  .private-events-footer .btn {
    width: 100%;
  }
}

/* ==================== Plan Your Visit Responsive ==================== */

@media (max-width: 1150px) {

  .visit-planner-header {
    gap: 5rem;
  }

  .visit-planner-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .visit-itinerary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .visit-contact {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 850px) {

  .visit-planner {
    padding: 7rem 4%;
  }

  .visit-planner-header,
  .visit-checklist {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .visit-contact-grid {
    grid-template-columns: 1fr;
  }

  .visit-planner-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 650px) {

  .visit-planner {
    padding: 6rem 2rem;
  }

  .visit-planner-title h2 {
    font-size: 4.2rem;
  }

  .visit-planner-intro .visit-planner-lead {
    font-size: 1.8rem;
  }

  .visit-planner-grid,
  .visit-itinerary-grid,
  .visit-checklist-list {
    grid-template-columns: 1fr;
  }

  .visit-planner-card,
  .visit-itinerary-step {
    min-height: auto;
  }

  .visit-planner-card,
  .visit-contact,
  .visit-itinerary,
  .visit-checklist,
  .visit-planner-footer {
    padding: 3rem 2.4rem;
  }
}

@media (max-width: 420px) {

  .visit-planner-title h2 {
    font-size: 3.6rem;
  }

  .visit-contact-heading,
  .visit-checklist-heading,
  .visit-responsible {
    align-items: flex-start;
    flex-direction: column;
  }

  .visit-planner-footer-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .visit-planner-footer-actions .btn,
  .visit-planner-outline-link {
    width: 100%;
    justify-content: center;
  }
}

/* ==================== FAQ Responsive ==================== */

@media (max-width: 1100px) {

  .casino-faq-header {
    gap: 5rem;
  }

  .casino-faq-layout {
    grid-template-columns: minmax(28rem, 0.75fr) minmax(0, 1.25fr);
  }

  .casino-faq-footer {
    grid-template-columns: 1fr 1.4fr;
  }

  .casino-faq-footer .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 850px) {

  .casino-faq {
    padding: 7rem 4%;
  }

  .casino-faq-header,
  .casino-faq-layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .casino-faq-summary {
    position: relative;
    top: auto;
    min-height: auto;
  }

  .casino-faq-footer {
    grid-template-columns: 1fr;
  }

  .casino-faq-footer .btn {
    grid-column: auto;
  }
}

@media (max-width: 650px) {

  .casino-faq {
    padding: 6rem 2rem;
  }

  .casino-faq-title h2 {
    font-size: 4.2rem;
  }

  .casino-faq-intro .casino-faq-lead {
    font-size: 1.8rem;
  }

  .casino-faq-summary,
  .casino-faq-footer {
    padding: 3rem 2.4rem;
  }

  .casino-faq-summary h3 {
    font-size: 3rem;
  }

  .casino-faq-question {
    min-height: 7rem;
    padding: 1.9rem 2rem;
  }

  .casino-faq-question span {
    font-size: 1.8rem;
  }

  .casino-faq-answer-inner {
    padding: 0 2rem 2rem;
  }

  .casino-faq-footer-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {

  .casino-faq-title h2 {
    font-size: 3.6rem;
  }

  .casino-faq-summary {
    padding: 2.8rem 2.2rem;
  }

  .casino-faq-summary h3 {
    font-size: 2.8rem;
  }

  .casino-faq-question {
    align-items: flex-start;
  }

  .casino-faq-question i {
    flex-basis: 4rem;
    width: 4rem;
    height: 4rem;
  }

  .casino-faq-footer-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .casino-faq-footer .btn {
    width: 100%;
  }
}

/* ==================== Footer & Legal Responsive ==================== */
@media (max-width: 1050px) {
  .site-footer-main { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .legal-layout { grid-template-columns: 1fr; }
  .legal-toc { position: relative; top: auto; }
  .legal-toc nav { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem 2rem; }
}
@media (max-width: 650px) {
  .site-footer-main { grid-template-columns: 1fr; padding: 6rem 2rem; gap: 3.5rem; }
  .site-footer-bottom { padding: 2rem; flex-direction: column; }
  .legal-hero { padding: 13rem 2rem 5rem; }
  .legal-content { padding: 5rem 2rem; }
  .legal-article { padding: 3rem 2.3rem; }
  .legal-toc nav { grid-template-columns: 1fr; }
  .legal-article h2 { font-size: 2.7rem; }
}
@media (max-width: 420px) {
  .header .header-play-btn { display: none !important; }
  .legal-hero h1 { font-size: 4rem; }
  .legal-meta { flex-direction: column; align-items: flex-start; }
}
