/**
 * Landing Page Template Styles
 * 
 * A modern, conversion-focused design for hair restoration services.
 * Uses a sophisticated color palette with the brand's coral/red accent.
 *
 * @package AM Base - Child Theme
 * @since 1.0.0
 */

 /* Icons */
 @font-face {
    font-family: 'artas-icon';
    src:  url('/wp-content/themes/am-base-child-theme/assets/icons/artas-icon.eot?7szy45');
    src:  url('/wp-content/themes/am-base-child-theme/assets/icons/artas-icon.eot?7szy45#iefix') format('embedded-opentype'),
      url('/wp-content/themes/am-base-child-theme/assets/icons/artas-icon.ttf?7szy45') format('truetype'),
      url('/wp-content/themes/am-base-child-theme/assets/icons/artas-icon.woff?7szy45') format('woff'),
      url('/wp-content/themes/am-base-child-theme/assets/icons/artas-icon.svg?7szy45#artas-icon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
  }
  
  [class^="artas-icon-"], [class*=" artas-icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'artas-icon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
  
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  
  .artas-icon-caret-left:before {
    content: "\e92e";
  }
  .artas-icon-caret-right:before {
    content: "\e92f";
  }
  .artas-icon-map-pin:before {
    content: "\e932";
  }
  .artas-icon-minus:before {
    content: "\e933";
  }
  .artas-icon-phone:before {
    content: "\e934";
  }
  .artas-icon-play:before {
    content: "\e935";
  }
  .artas-icon-plus1:before {
    content: "\e936";
  }
  .artas-icon-time:before {
    content: "\e937";
  }
  .artas-icon-link:before {
    content: "\e900";
  }
  

  /* CSS overrides */

.page-template-template-landing-page .site-content .ast-container {
    max-width: 100%;
    padding: 0;
}

.has-dark-bg {
    h1 {
        color: #fff;
    }
}

h2 {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 1.5em;
    margin-bottom: 15px;
}

.lp-container {
    max-width: 1350px;
    margin: auto;
}

.slick-dots li button:before {
    display: none;
}
  

/* ==========================================================================
   MASTHEAD / HERO SECTION
   ========================================================================== */

.lp-masthead {
    position: relative;
    overflow: hidden;
}

.lp-masthead__bg-pattern {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.lp-masthead__bg-pattern svg {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    min-width: 1920px;
    min-height: 100%;
}

/* Gradient overlay matching Figma design */
.lp-masthead__bg-pattern::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #3062B6 0%, #152B50 100%);
    opacity: 0.53;
    z-index: 2;
}

.lp-masthead__wrapper {
    position: relative;
    z-index: 3;
    max-width: 1400px;
    margin: auto;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

@media (min-width: 1024px) {
    .lp-masthead__wrapper {
        flex-direction: row;
        align-items: center;
        gap: 80px;
        padding: 55px 20px;
    }
}

@media (min-width: 1200px) {
    .lp-masthead__wrapper {
        gap: 102px;
    }
}


/*---*\
    MASTHEAD CONTENT COLUMN
\*---*/

.lp-masthead__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 100%;
}

.lp-masthead__title {
    font-size: 43px;
    line-height: 1.55em;
}

@media (min-width: 1024px) {
    .lp-masthead__content {
        flex-shrink: 0;
        width: 461px;
        gap: 37px;
    }
}

.lp-masthead__title {
    margin-bottom: 0;
}

.lp-masthead__description {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #fff;
    margin: 0;
}

@media (min-width: 1024px) {
    .lp-masthead__description {
        font-size: 18px;
    }
}

.lp-masthead__cta {
    padding-top: 8px;
}

.lp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.lp-btn--primary {
    background-color: #fff;
    color: #011b4e;
    padding: 10px 22px;
    border-radius: 5px;
    height: 48px;
}

@media (min-width: 1024px) {
    .lp-btn--primary {
        font-size: 16px;
    }
}

@media (min-width: 1200px) {
    .lp-btn--primary:hover {
        background-color: #f0f0f0;
        transform: translateY(-2px);
    }
}


/*---*\
    MASTHEAD MEDIA COLUMN
\*---*/

.lp-masthead__media {
    display: flex;
    flex-direction: column;
    /* gap: 20px; */
    position: relative;
}

@media (min-width: 768px) {
    .lp-masthead__media {
        flex-direction: row;
        align-items: flex-start;
        align-items: center;
    }
}

.lp-masthead__slider-wrapper {
    position: relative;
    flex-shrink: 0;
    z-index: 5;
}



/* Decorative curved shape */
.lp-masthead__shape {
    position: absolute;
    right: -80px;
    top: 0;
    width: 262px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    display: none;
}

@media (min-width: 1024px) {
    .lp-masthead__shape {
        display: block;
    }

    .lp-masthead__slider-wrapper:before {
        content: "";
        display: block;
        position: absolute;
        top: -20px;
        left: auto;
        right: -26px;
        width: 53px;
        height: 97%;
        background: #193462;
        background: linear-gradient(180deg, #204179 0%, #193461 100%);
        z-index: -1;
        border-radius: 24px;
        overflow: hidden;
    }
}

.lp-masthead__shape svg {
    width: 100%;
    height: 100%;
}


/*---*\
    BEFORE/AFTER SLIDER
\*---*/

.lp-masthead__slider {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #f5f5f5;
    max-width: 354px;

    &.slick-dotted.slick-slider {
        margin-bottom: 10px;
    }
}

.lp-masthead__slide {
    width: 100%;
}

.lp-masthead__slide-inner {
    display: flex;
    border-radius: 20px;
    overflow: hidden;
}

.lp-masthead__slide-image {
    position: relative;
    flex: 1;
    min-width: 0;
}

.lp-masthead__slide-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

@media (min-width: 768px) {
    .lp-masthead__slide-image img {
        height: 236px;
        width: 177px;
    }
}

.lp-masthead__slide-label {
    position: absolute;
    bottom: 0px;
    left: 0px;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 10px;
    letter-spacing: 1px;
    color: #fff;
    text-transform: uppercase;
    background: rgba(0, 0, 0, 0.5);
    padding: 4px 10px;
    border-radius: 4px;
}


/*---*\
    PLAY BUTTON OVERLAY
\*---*/

.lp-masthead__play-btn {
    position: absolute;
    top: 50%;
    right: -46px;
    transform: translateY(-50%);
    z-index: 10;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: none;
}

@media (min-width: 1024px) {
    .lp-masthead__play-btn {
        display: block;
    }
}

@media (min-width: 1200px) {
    .lp-masthead__play-btn:hover {
        transform: translateY(-50%) scale(1.05);
    }
}


/*---*\
    SLIDER NAVIGATION
\*---*/

.lp-masthead__slider-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    padding: 0 4px;
    width: calc(100% - 15px);
}

.lp-masthead__slider-dots {
    display: flex;
    gap: 15px;
}

/* Slick dots styling */
.lp-masthead__slider-dots .slick-dots {
    display: flex;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0;
    bottom: 0;
}

.lp-masthead__slider-dots .slick-dots li {
    margin: 0;
    padding: 0;
    width: auto;
}

.lp-masthead__slider-dots .slick-dots li button {
    display: block;
    width: 46px;
    height: 3px;
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 2px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border: none;
    padding: 0;
    font-size: 0;
    line-height: 0;
    color: transparent;
}

.lp-masthead__slider-dots .slick-dots li.slick-active button {
    background-color: #3B82F6;
}

@media (min-width: 1200px) {
    .lp-masthead__slider-dots .slick-dots li button:hover {
        background-color: rgba(255, 255, 255, 0.6);
    }
    
    .lp-masthead__slider-dots .slick-dots li.slick-active button:hover {
        background-color: #3B82F6;
    }
}

.lp-masthead__slider-arrows {
    display: flex;
    gap: 8px;
    z-index: 9;
}

.lp-masthead__slider-btn {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: #fff;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.lp-masthead__slider-btn i {
    color: #011b4e;
    font-size: 18px;
}

@media (min-width: 1200px) {
    .lp-masthead__slider-btn:hover,
    .lp-masthead__slider-btn:focus {
        transform: scale(1.1);
        opacity: 0.8;
        background: #fff;
    }
}


/*---*\
    VIDEO THUMBNAIL
\*---*/

.lp-masthead__video {
    position: relative;
    display: none;
    z-index: 2;
}

@media (min-width: 1024px) {
    .lp-masthead__video {
        display: block;
        width: 262px;
        flex-shrink: 0;
    }
}

.lp-masthead__video-wrapper {
    position: relative;
    display: block;
    border-radius: 20px;
    overflow: hidden;
    height: 465px;
    text-decoration: none;
    cursor: pointer;
}

.lp-masthead__video-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}


.lp-masthead__video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 92px;
    height: 92px;
    background: #fff;
    border: none;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.lp-masthead__video-play i {
    font-size: 32px;
    color: #3062B6;
    margin-left: 4px; /* Optical centering for play icon */
}

@media (min-width: 1200px) {
    .lp-masthead__video-wrapper:hover .lp-masthead__video-play {
        transform: translate(-50%, -50%) scale(1.1);
        box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    }
    
    .lp-masthead__video-wrapper:hover .lp-masthead__video-thumb {
        transform: scale(1.05);
    }
}


/* ==========================================================================
   EXPERT / DR. JOCHEN SECTION
   ========================================================================== */

.lp-expert {
    background-color: #fff;
    padding: 40px 20px;
}

@media (min-width: 1024px) {
    .lp-expert {
        padding: 55px 20px;
    }
}

.lp-expert__wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
    max-width: 1400px;
    margin: 0 auto;
    align-items: center;
}

@media (min-width: 1024px) {
    .lp-expert__wrapper {
        flex-direction: row;
        gap: 80px;
    }
}

@media (min-width: 1200px) {
    .lp-expert__wrapper {
        gap: 126px;
    }
}


/*---*\
    EXPERT IMAGE COLUMN
\*---*/

.lp-expert__image-col {
    flex-shrink: 0;
    width: 100%;
    max-width: 449px;
}

.lp-expert__image {
    width: 100%;
    height: auto;
    border-radius: 20px;
    object-fit: cover;
    display: block;
}

@media (min-width: 1024px) {
    .lp-expert__image {
        height: 438px;
    }
}


/*---*\
    EXPERT CONTENT COLUMN
\*---*/

.lp-expert__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    max-width: 100%;
}

@media (min-width: 1024px) {
    .lp-expert__content {
        gap: 45px;
        max-width: 752px;
    }
}

.lp-expert__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #3062B6;
}

.lp-expert__icon svg {
    width: 47px;
    height: 47px;
}

.lp-expert__icon svg path {
    fill: #fff;
}

.lp-expert__title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.3;
    color: #152B50;
    margin: 0;
}

@media (min-width: 768px) {
    .lp-expert__title {
        font-size: 28px;
    }
}

@media (min-width: 1024px) {
    .lp-expert__title {
        font-size: 30px;
    }
}

.lp-expert__description {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #000;
    margin: 0;
}

@media (min-width: 1024px) {
    .lp-expert__description {
        font-size: 18px;
    }
}

.lp-expert__link {
    color: #152B50;
    text-decoration: underline;
    transition: opacity 0.3s ease;
}

@media (min-width: 1200px) {
    .lp-expert__link:hover {
        opacity: 0.7;
    }
}

.lp-btn--secondary {
    background-color: #152B50;
    color: #fff;
    padding: 10px 22px;
    border-radius: 5px;
    height: 48px;
    text-transform: uppercase;
}

@media (min-width: 1024px) {
    .lp-btn--secondary {
        font-size: 16px;
    }
}

@media (min-width: 1200px) {
    .lp-btn--secondary:hover {
        background-color: #1e3a6b;
        transform: translateY(-2px);
    }
}


/* ==========================================================================
   INTRO SECTION
   ========================================================================== */

.lp-intro {
    position: relative;
    min-height: 500px;
}

@media (min-width: 1024px) {
    .lp-intro {
        min-height: 637px;
    }
}

.lp-intro__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: #152B50;
    overflow: hidden;
}

.lp-intro__bg img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.15; /* Subtle grainy texture effect */
    mix-blend-mode: screen; /* Blends gray texture with blue background */
    filter: brightness(0.5) sepia(1) saturate(3) hue-rotate(180deg); /* Colorizes gray to blue */
}

.lp-intro__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgba(21, 43, 80, 0.67);
}

.lp-intro__wrapper {
    position: relative;
    z-index: 3;
    max-width: 1400px;
    margin: 0 auto;
    padding: 50px 20px;
    display: flex;
    align-items: center;
    min-height: 500px;
}

@media (min-width: 1024px) {
    .lp-intro__wrapper {
        padding: 55px 20px;
        min-height: 637px;
    }
}

.lp-intro__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    max-width: 100%;
    padding: 30px 0;
}

@media (min-width: 768px) {
    .lp-intro__content {
        /* max-width: 500px; */
        gap: 45px;
        padding: 50px 0;
    }
}

@media (min-width: 1200px) {
    .lp-intro__content {
        max-width: 461px;
    }
}

.lp-intro__title {
    color: #fff;
    margin: 0;
}

.lp-intro__description {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #fff;
    margin: 0;
}

@media (min-width: 1024px) {
    .lp-intro__description {
        font-size: 18px;
    }
}


/*---*\
    INTRO DECORATIVE IMAGE
\*---*/

.lp-intro__image {
    display: none;
}

@media (min-width: 1200px) {
    .lp-intro__image {
        display: block;
        position: absolute;
        left: 50%;
        bottom: 0;
        z-index: 4;
        width: auto;
    }
}


.lp-intro__image img {
    width: auto;
    height: 100%;
    max-height: inherit;
    object-fit: contain;
    filter: drop-shadow(0px 4px 55px rgba(0, 0, 0, 0.16));
}


@media (min-width: 1200px) {
    .lp-section:has(+ .lp-intro) {
        padding-bottom: 120px;
    }    
}


/* ==========================================================================
   BEFORE/AFTER GALLERY CAROUSEL
   ========================================================================== */

.lp-gallery {
    padding: 55px 0;
}

.lp-gallery .lp-section-header {
    margin-bottom: 45px;
    text-align: center;
}

/*---*\
    CAROUSEL WRAPPER & LAYOUT
\*---*/

.lp-gallery__carousel-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 45px;
    overflow: hidden;
}

/* Fade gradients on sides */
.lp-gallery__fade {
    display: none;
}

@media (min-width: 1024px) {
    .lp-gallery__fade {
        display: block;
        position: absolute;
        top: 0;
        width: 350px;
        height: 100%;
        z-index: 10;
        pointer-events: none;
    }
    
    .lp-gallery__fade--left {
        left: 0;
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    }
    
    .lp-gallery__fade--right {
        right: 0;
        background: linear-gradient(-90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    }
}

/*---*\
    NAVIGATION BUTTONS
\*---*/

.lp-gallery__nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background-color: #152B50;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 20;
    transition: background-color 0.3s ease, transform 0.3s ease;
    color: #fff;
}

.lp-gallery__nav-btn--prev {
    left: 10px;
}

.lp-gallery__nav-btn--next {
    right: 10px;
}

.lp-gallery__nav-btn i {
    font-size: 14px;
}

@media (min-width: 1024px) {
    .lp-gallery__nav-btn {
        width: 49px;
        height: 49px;
    }
    
    .lp-gallery__nav-btn:hover {
        background-color: #1e3a6b;
        transform: translateY(-50%) scale(1.05);
    }
    
    .lp-gallery__nav-btn--prev {
        left: 0;
    }
    
    .lp-gallery__nav-btn--next {
        right: 0;
    }
    
    .lp-gallery__nav-btn svg {
        width: 12px;
        height: auto;
    }
}

/*---*\
    SLICK CAROUSEL STYLES
\*---*/

.lp-gallery__carousel {
    width: 100%;
}

.lp-gallery__carousel .slick-list {
    overflow: visible;
}

.lp-gallery__carousel .slick-list {
    height: 467px !important; /* Fixed height to prevent jumping */
}

.lp-gallery__carousel .slick-track {
    display: flex;
    align-items: center;
    height: 100%;
}

.lp-gallery__slide {
    padding: 0 15px;
    transition: all 0.4s ease;
    outline: none;
}

.lp-gallery__slide-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

/* All slides - consistent height approach */
.lp-gallery__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 467px; /* Match the largest size */
}

/* Side slides - smaller */
.lp-gallery__slide .lp-gallery__slider-container {
    width: 329px;
    height: 329px;
    margin: 0 auto;
    opacity: 0.7;
    transition: width 0.4s ease, height 0.4s ease, opacity 0.4s ease;
}

/* Center slide - larger */
.lp-gallery__carousel .slick-center .lp-gallery__slider-container {
    width: 467px;
    height: 467px;
    opacity: 1;
}

/* Disable interaction on non-center slides */
.lp-gallery__slide:not(.slick-center) .lp-gallery__slider-container {
    pointer-events: auto;
    cursor: ew-resize;
}

.lp-gallery__slide:not(.slick-center) .lp-gallery__handle,
.lp-gallery__slide:not(.slick-center) .lp-gallery__slider {
    opacity: 0.5;
}

/* Mobile: Show one slide at a time */
@media (max-width: 1023px) {
    .lp-gallery__carousel .slick-list {
        overflow: hidden;
        height: auto !important;
    }
    
    .lp-gallery__slide {
        min-height: auto;
    }
    
    .lp-gallery__slide .lp-gallery__slider-container {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        max-width: 400px;
        opacity: 1;
        pointer-events: auto;
        cursor: ew-resize;
    }
    
    .lp-gallery__slide .lp-gallery__handle,
    .lp-gallery__slide .lp-gallery__slider {
        opacity: 1;
    }
}

/*---*\
    BEFORE/AFTER SLIDER CONTAINER
\*---*/

.lp-gallery__slider-container {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    cursor: ew-resize;
    user-select: none;
    touch-action: none;
    background-color: #f0f0f0;
}

.lp-gallery__slider-container img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.lp-gallery__img-before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    clip-path: inset(0 50% 0 0);
    z-index: 2;
}

.lp-gallery__img-after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover;
}

/*---*\
    SLIDER LINE & HANDLE
\*---*/

.lp-gallery__slider {
    position: absolute;
    top: 0;
    left: 50%;
    width: 5px;
    height: 100%;

    transform: translateX(-50%);
    z-index: 3;

    &:before,
    &:after {
        content: '';
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 5px;
        height: calc(50% - 28px);
        background-color: #fff;
    }

    &:after {
        top: auto;
        bottom: 0;;
    }
}

.lp-gallery__handle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 56px;
    height: 56px;
    /* background-color: #fff; */
    border: 5px solid #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
    cursor: ew-resize;
    touch-action: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
}

.lp-gallery__handle::before,
.lp-gallery__handle::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}

/* Left arrow */
.lp-gallery__handle::before {
    left: 12px;
    border-width: 8px 8px 8px 0;
    border-color: transparent #fff transparent transparent;
}

/* Right arrow */
.lp-gallery__handle::after {
    right: 12px;
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #fff;
}

/* .lp-gallery__handle-bar {
    position: absolute;
    
    &:before,
    &:after {
        content: '';
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 3px;
        height: calc(50% - 28px);
        background-color: #fff;
    }
} */

.slick-current .lp-gallery__handle {
    width: 75px;
    height: 75px;
    border: 5px solid #fff;
}

.slick-current .lp-gallery__handle::before {
    left: 16px;
    border-width: 12px 12px 12px 0;
}

.slick-current .lp-gallery__handle::after {
    right: 16px;
    border-width: 12px 0 12px 12px;
}

.slick-current .lp-gallery__slider {
    width: 7px;
    &:before,
    &:after {
        height: calc(50% - 36px);
    }
}

@media (min-width: 1200px) {
    .lp-gallery__carousel .slick-center .lp-gallery__slider-container:hover .lp-gallery__handle {
        transform: translate(-50%, -50%) scale(1.1);
    }
}

/*---*\
    CTA BUTTON
\*---*/

.lp-gallery__cta {
    display: flex;
    justify-content: center;
}


/* ==========================================================================
   DESTINATION / LOCATION SECTION
   ========================================================================== */

.lp-destination {
    padding: 40px 20px;
    background-color: #fff;
}

@media (min-width: 1024px) {
    .lp-destination {
        padding: 55px 20px;
    }
}

.lp-destination__wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px;
    max-width: 1350px;
    margin: 0 auto;
}

@media (min-width: 1024px) {
    .lp-destination__wrapper {
        flex-direction: row;
        gap: 33px;
    }
}


/*---*\
    LOCATION INFO COLUMN
\*---*/

.lp-destination__info-col {
    display: flex;
    flex-direction: column;
    gap: 28px;
    width: 100%;
}

@media (min-width: 1024px) {
    .lp-destination__info-col {
        flex-shrink: 0;
        width: 659px;
    }
}


/*---*\
    INFO CARD
\*---*/

.lp-destination__card {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 35px 25px;
    background-color: #ddd;
    border-radius: 20px;
}

@media (min-width: 768px) {
    .lp-destination__card {
        padding: 53px 35px;
    }
}

.lp-destination__title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.3;
    color: #152B50;
    margin: 0;
}

@media (min-width: 768px) {
    .lp-destination__title {
        font-size: 30px;
    }
}

.lp-destination__cta {
    display: flex;
    justify-content: center;
}


/* ==========================================================================
   SERVICES / ACCORDION SECTION
   ========================================================================== */

.lp-services {
    background: linear-gradient(180deg, #152B50 0%, #1C3C71 100%);
    padding: 40px 20px;
}

@media (min-width: 1024px) {
    .lp-services {
        padding: 55px 20px;
    }
}

.lp-services__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 35px;
    max-width: 1122px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .lp-services__wrapper {
        gap: 45px;
    }
}


/*---*\
    SERVICES HEADER
\*---*/

.lp-services__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
}

@media (min-width: 768px) {
    .lp-services__header {
        gap: 25px;
    }
}

.lp-services__title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.3;
    color: #fff;
    margin: 0;
}

@media (min-width: 768px) {
    .lp-services__title {
        font-size: 28px;
    }
}

@media (min-width: 1024px) {
    .lp-services__title {
        font-size: 30px;
    }
}

.lp-services__desc {
    max-width: 892px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #fff;
}

@media (min-width: 768px) {
    .lp-services__desc {
        font-size: 18px;
    }
}

.lp-services__desc p {
    margin: 0 0 22px 0;
}

.lp-services__desc p:last-child {
    margin-bottom: 0;
}

.lp-services__link {
    color: #fff;
    text-decoration: underline;
    transition: opacity 0.3s ease;
}

@media (min-width: 1200px) {
    .lp-services__link:hover {
        opacity: 0.8;
    }
}


/*---*\
    ACCORDION
\*---*/

.lp-accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 891px;
}

.lp-accordion__item {
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 20px;
}

.lp-accordion__item:last-child {
    margin-bottom: 0;
}

/* Header / Summary */
.lp-accordion__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background-color: #f1f1f1;
    border-bottom: 2px solid #bababa;
    border-radius: 20px;
    cursor: pointer;
    list-style: none;
    transition: border-radius 0.3s ease;
}

@media (min-width: 768px) {
    .lp-accordion__header {
        padding: 16px 24px;
    }
}

/* Remove default marker */
.lp-accordion__header::-webkit-details-marker {
    display: none;
}

.lp-accordion__header::marker {
    display: none;
    content: '';
}

/* Open state - header */
.lp-accordion__item[open] .lp-accordion__header {
    border-bottom: none;
    border-radius: 20px 20px 0 0;
}

.lp-accordion__title {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 28px;
    color: #000;
    padding-right: 15px;
}

@media (min-width: 768px) {
    .lp-accordion__title {
        font-size: 18px;
    }
}


/*---*\
    ACCORDION ICON
\*---*/

.lp-accordion__icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lp-accordion__icon i {
    font-size: 18px;
    color: #000;
}

/* Show plus, hide minus by default (closed) */
.lp-accordion__icon-minus {
    display: none;
}

.lp-accordion__icon-plus {
    display: block;
}

/* When open: show minus, hide plus */
.lp-accordion__item[open] .lp-accordion__icon-minus {
    display: block;
}

.lp-accordion__item[open] .lp-accordion__icon-plus {
    display: none;
}


/*---*\
    ACCORDION CONTENT
\*---*/

.lp-accordion__content {
    background-color: #f7f7f7;
    border-bottom: 2px solid #bababa;
    border-radius: 0 0 20px 20px;
    padding: 25px 15px;
}

@media (min-width: 768px) {
    .lp-accordion__content {
        padding: 35px 10px;
    }
}

.lp-accordion__content-inner {
    max-width: 724px;
    margin: 0 auto;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #000;
}

@media (min-width: 768px) {
    .lp-accordion__content-inner {
        font-size: 18px;
    }
}

.lp-accordion__content-inner p {
    margin: 0 0 22px 0;
}

.lp-accordion__content-inner p:last-child {
    margin-bottom: 0;
}


/*---*\
    DETAILS GRID
\*---*/

.lp-destination__details {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (min-width: 768px) {
    .lp-destination__details {
        flex-direction: row;
        justify-content: flex-start;
        gap: 60px;
    }
}

.lp-destination__details-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (min-width: 768px) {
    .lp-destination__details-col {
        gap: 23px;
    }
}

.lp-destination__detail {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.lp-destination__icon {
    flex-shrink: 0;
    width: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 4px;
}

.lp-destination__icon i {
    font-size: 20px;
    color: #152B50;
}

.lp-destination__text {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #152B50;
}

@media (min-width: 768px) {
    .lp-destination__text {
        font-size: 18px;
    }
}

.lp-destination__text p {
    margin: 0;
}

.lp-destination__text a {
    color: #152B50;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

@media (min-width: 1200px) {
    .lp-destination__text a:hover {
        opacity: 0.7;
    }
}

/* Hours styling */
.lp-destination__detail--hours .lp-destination__text p {
    line-height: 1.2;
    margin-bottom: 12px;
}

.lp-destination__detail--hours .lp-destination__text p:last-child {
    margin-bottom: 0;
}

.lp-destination__hours-label {
    margin-bottom: 10px !important;
}

.lp-destination__detail--hours .lp-destination__text strong {
    font-weight: 700;
}


/*---*\
    BUILDING IMAGE
\*---*/

.lp-destination__image {
    width: 100%;
    overflow: hidden;
    border-radius: 20px;
}

.lp-destination__image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

@media (min-width: 1024px) {
    .lp-destination__image {
        height: 225px;
    }
    
    .lp-destination__image img {
        height: 100%;
    }
}


/*---*\
    MAP COLUMN
\*---*/

.lp-destination__map-col {
    width: 100%;
}

@media (min-width: 1024px) {
    .lp-destination__map-col {
        flex: 1;
    }
}

.lp-destination__map-wrapper {
    width: 100%;
    height: 350px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0px 4px 19px 0px rgba(0, 0, 0, 0.15);
}

@media (min-width: 768px) {
    .lp-destination__map-wrapper {
        height: 450px;
    }
}

@media (min-width: 1024px) {
    .lp-destination__map-wrapper {
        height: 100%;
        min-height: 603px;
    }
}

.lp-destination__map-wrapper iframe {
    width: 100%;
    height: 100%;
    display: block;
}


/* ==========================================================================
   WHY US SECTION
   ========================================================================== */

.lp-why-us {
    padding: 40px 20px;
    background-color: #fff;
}

@media (min-width: 1024px) {
    .lp-why-us {
        padding: 55px 20px;
    }
}

.lp-why-us__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 35px;
    max-width: 1350px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .lp-why-us__wrapper {
        gap: 45px;
    }
}


/*---*\
    WHY US TITLE
\*---*/

.lp-why-us__title {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3;
    color: #152B50;
    text-align: center;
    margin: 0;
}

@media (min-width: 768px) {
    .lp-why-us__title {
        font-size: 30px;
    }
}


/*---*\
    WHY US DESCRIPTION
\*---*/

.lp-why-us__desc {
    text-align: center;
    max-width: 1122px;
}

.lp-why-us__desc p {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    color: #000;
    margin: 0;
}

.lp-why-us__desc p + p {
    margin-top: 22px;
}

@media (min-width: 768px) {
    .lp-why-us__desc p {
        font-size: 18px;
    }
}


/*---*\
    WHY US GRID
\*---*/

.lp-why-us__grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

@media (min-width: 768px) {
    .lp-why-us__grid {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }
}

@media (min-width: 1200px) {
    .lp-why-us__grid {
        flex-wrap: nowrap;
        gap: 31px;
    }
}


/*---*\
    WHY US ITEM / CARD
\*---*/

.lp-why-us__item {
    display: flex;
    align-items: center;
    gap: 12px;
    background-color: #3062B6;
    border-radius: 20px;
    padding: 12px 19px;
    min-height: 97px;
    position: relative;
    overflow: hidden;
}

@media (min-width: 768px) {
    .lp-why-us__item {
        width: calc(50% - 10px);
        gap: 15px;
        padding: 6px 19px;
    }
}

@media (min-width: 1200px) {
    .lp-why-us__item {
        width: auto;
        flex: 1;
        max-width: 316px;
        gap: 12px;
    }
}


/*---*\
    WHY US ICON
\*---*/

.lp-why-us__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
}

.lp-why-us__icon-bg {
    position: absolute;
    z-index: 1;
}

.lp-why-us__icon-icon {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
}

@media (min-width: 768px) {
    .lp-why-us__icon {
        width: 72px;
        height: 72px;
    }
}


/*---*\
    WHY US TEXT
\*---*/

.lp-why-us__text {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    color: #fff;
    margin: 0;
}

@media (min-width: 768px) {
    .lp-why-us__text {
        font-size: 22px;
    }
}


/*---*\
    WHY US CTA
\*---*/

.lp-why-us__cta {
    display: flex;
    justify-content: center;
}

.lp-why-us__cta .lp-btn--secondary {
    background-color: #152B50;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 12px 22px;
    border-radius: 5px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    transition: background-color 0.3s ease;
}

.lp-why-us__cta .lp-btn--secondary:hover {
    background-color: #1a3a6d;
}

@media (min-width: 768px) {
    .lp-why-us__cta .lp-btn--secondary {
        font-size: 16px;
        padding: 17px 22px;
    }
}


/* ==========================================================================
   CTA WITH BACKGROUND
   ========================================================================== */

.lp-cta-with-bg {
    padding: 40px 0;
}

.lp-cta-with-bg__inner {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    padding: 40px 30px;
}

.lp-cta-with-bg__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.lp-cta-with-bg__overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(235, 235, 235, 0.57);
    pointer-events: none;
}

.lp-cta-with-bg__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 40px;
}


/*---*\
    CTA WITH BG LEFT COLUMN
\*---*/

.lp-cta-with-bg__left {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.lp-cta-with-bg__title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.4;
    color: #152B50;
    margin: 0;
}

.lp-cta-with-bg__desc {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.lp-cta-with-bg__desc p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #000;
    margin: 0;
}

.lp-cta-with-bg__link {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    color: #011B4E;
    text-decoration: none;
}


/*---*\
    CTA WITH BG RIGHT COLUMN
\*---*/

.lp-cta-with-bg__right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
}

.lp-cta-with-bg__logo {
    max-width: 200px;
    height: auto;
}


/* ==========================================================================
   CTA WITH BG - TABLET (min-width: 768px)
   ========================================================================== */

@media (min-width: 768px) {
    .lp-cta-with-bg__inner {
        padding: 45px 50px;
    }

    .lp-cta-with-bg__title {
        font-size: 28px;
    }

    .lp-cta-with-bg__desc p {
        font-size: 18px;
    }

    .lp-cta-with-bg__logo {
        max-width: 258px;
    }

    .lp-cta-with-bg__right {
        gap: 40px;
    }
}


/* ==========================================================================
   CTA WITH BG - DESKTOP (min-width: 1200px)
   ========================================================================== */

@media (min-width: 1200px) {
    .lp-cta-with-bg__inner {
        padding: 45px 84px;
    }

    .lp-cta-with-bg__content {
        flex-direction: row;
        align-items: center;
        gap: 180px;
    }

    .lp-cta-with-bg__left {
        flex: 1;
        max-width: 892px;
        gap: 45px;
    }

    .lp-cta-with-bg__title {
        font-size: 30px;
    }

    .lp-cta-with-bg__right {
        flex-shrink: 0;
        gap: 51px;
    }

    .lp-cta-with-bg__link:hover {
        text-decoration: underline;
    }
}


/* ==========================================================================
   FEATURED SERVICES
   ========================================================================== */

.lp-featured-services {
    padding: 55px 0;
}


/*---*\
    FEATURED SERVICES HEADER
\*---*/

.lp-featured-services__header {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 45px;
}

.lp-featured-services__text {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.lp-featured-services__title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.4;
    color: #152B50;
    margin: 0;
}

.lp-featured-services__desc {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #000;
    margin: 0;
}


/*---*\
    FEATURED SERVICES GRID
\*---*/

.lp-featured-services__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}


/*---*\
    SERVICE CARD
\*---*/

.lp-service-card {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 20px;
    overflow: hidden;
    text-decoration: none;
}

.lp-service-card__image {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.lp-service-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*---*\
    SERVICE CARD OVERLAY
\*---*/

.lp-service-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(to bottom, rgba(1, 27, 78, 0) 56.369%, #011B4E 100%);
    border-radius: 20px;
    transition: background 0.3s ease;
}


/*---*\
    SERVICE CARD CONTENT
\*---*/

.lp-service-card__content {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
}


/*---*\
    SERVICE CARD DEFAULT STATE
\*---*/

.lp-service-card__default {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    transition: opacity 0.3s ease;
}

.lp-service-card__title {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #fff;
    margin: 0;
}

.lp-service-card__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background-color: #fff;
    border-radius: 50%;
    flex-shrink: 0;
}

.lp-service-card__arrow i {
    font-size: 14px;
    color: #152B50;
}


/*---*\
    SERVICE CARD HOVER STATE
\*---*/

.lp-service-card__hover {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    padding: 24px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lp-service-card__hover .lp-service-card__title {
    margin-bottom: 15px;
}

.lp-service-card__divider {
    display: block;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
    margin-bottom: 15px;
}

.lp-service-card__desc {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #fff;
    margin: 0;
    flex: 1;
}

.lp-service-card__cta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: auto;
}

.lp-service-card__cta span:first-child {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #fff;
}


/* ==========================================================================
   FEATURED SERVICES - TABLET (min-width: 768px)
   ========================================================================== */

@media (min-width: 768px) {
    .lp-featured-services__header {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 40px;
    }

    .lp-featured-services__text {
        max-width: 700px;
        gap: 30px;
    }

    .lp-featured-services__title {
        font-size: 28px;
    }

    .lp-featured-services__desc {
        font-size: 18px;
    }

    .lp-featured-services__grid {
        gap: 31px;
    }

    .lp-service-card__title {
        font-size: 20px;
    }

    .lp-service-card__arrow {
        width: 42px;
        height: 42px;
    }

    .lp-service-card__arrow i {
        font-size: 16px;
    }

    .lp-service-card__hover {
        padding: 32px 24px;
    }

    .lp-service-card__hover .lp-service-card__title {
        margin-bottom: 25px;
    }

    .lp-service-card__divider {
        margin-bottom: 25px;
    }

    .lp-service-card__desc {
        font-size: 16px;
        line-height: 28px;
    }

    .lp-service-card__cta span:first-child {
        font-size: 20px;
    }
}


/* ==========================================================================
   FEATURED SERVICES - DESKTOP (min-width: 1200px)
   ========================================================================== */

@media (min-width: 1200px) {
    .lp-featured-services__text {
        max-width: 892px;
        gap: 45px;
    }

    .lp-featured-services__title {
        font-size: 30px;
    }

    .lp-featured-services__grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .lp-service-card__title {
        font-size: 25px;
    }

    .lp-service-card__cta span:first-child {
        font-size: 25px;
    }

    /* Hover effects */
    .lp-service-card:hover .lp-service-card__overlay {
        background: rgba(1, 27, 78, 0.85);
    }

    .lp-service-card:hover .lp-service-card__default {
        opacity: 0;
    }

    .lp-service-card:hover .lp-service-card__hover {
        opacity: 1;
    }
}


/* ==========================================================================
   LOCATIONS SECTION
   ========================================================================== */

.lp-locations {
    padding: 0;
}

.lp-locations__wrapper {
    display: flex;
    flex-direction: column;
}


/*---*\
    LOCATIONS LEFT COLUMN (Dark Blue)
\*---*/

.lp-locations__left {
    position: relative;
    background-color: #152B50;
    overflow: hidden;
}

.lp-locations__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.lp-locations__bg svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.lp-locations__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding: 55px 20px;
}

.lp-locations__title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.4;
    color: #fff;
    margin: 0;
}

.lp-locations__divider {
    width: 150px;
    height: 4px;
    background-color: #fff;
}


/*---*\
    LOCATIONS CAROUSEL
\*---*/

.lp-locations__carousel {
    position: relative;
}

.lp-locations__slide {
    display: none;
}

.lp-locations__slide:first-child {
    display: block;
}


/*---*\
    LOCATIONS CARD
\*---*/

.lp-locations__card {
    background-color: #EBEBEB;
    border-radius: 20px;
    padding: 30px 24px;
}

.lp-locations__region {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.4;
    color: #152B50;
    margin: 0 0 30px 0;
}

.lp-locations__grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.lp-locations__col {
    display: flex;
    flex-direction: column;
    gap: 30px;
}


/*---*\
    LOCATION ITEM
\*---*/

.lp-locations__item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    text-decoration: none;
}

.lp-locations__item-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lp-locations__item-name {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 28px;
    color: #011B4E;
}

.lp-locations__item i {
    font-size: 13px;
    color: #011B4E;
}

.lp-locations__address {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 28px;
    color: #000;
}


/*---*\
    LOCATIONS NAVIGATION
\*---*/

.lp-locations__nav {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
}

.lp-locations__nav-left {
    display: flex;
    align-items: center;
    gap: 30px;
}

.lp-locations__dots {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lp-locations__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.lp-locations__dot.is-active {
    background-color: #fff;
}

.lp-locations__arrows {
    display: flex;
    align-items: center;
    gap: 18px;
}

.lp-locations__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: transparent;
    color: #fff;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}

.lp-locations__arrow i {
    font-size: 16px;
    color: #fff;
}


/*---*\
    OUTLINE BUTTON
\*---*/

.lp-btn--outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    background: transparent;
    border: 1px solid #fff;
    border-radius: 5px;
    padding: 10px 22px;
    height: 48px;
    cursor: pointer;
    transition: all 0.3s ease;
}


/*---*\
    LOCATIONS RIGHT COLUMN (Form)
\*---*/

.lp-locations__right {
    padding: 40px 20px;
}

.lp-locations__form-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.4;
    color: #011B4E;
    text-align: center;
    margin: 0 0 30px 0;
}

.lp-locations__form {
    max-width: 500px;
    margin: 0 auto;
}


/* ==========================================================================
   LOCATIONS - TABLET (min-width: 768px)
   ========================================================================== */

@media (min-width: 768px) {
    .lp-locations__content {
        padding: 55px 40px;
    }

    .lp-locations__title {
        font-size: 28px;
    }

    .lp-locations__divider {
        width: 198px;
    }

    .lp-locations__card {
        padding: 49px 32px;
    }

    .lp-locations__region {
        font-size: 24px;
        margin-bottom: 42px;
    }

    .lp-locations__grid {
        flex-direction: row;
        gap: 40px;
    }

    .lp-locations__col {
        flex: 1;
        gap: 40px;
    }

    .lp-locations__item-name {
        font-size: 18px;
    }

    .lp-locations__address {
        font-size: 18px;
    }

    .lp-locations__nav {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .lp-locations__right {
        padding: 40px;
    }

    .lp-locations__form-title {
        font-size: 28px;
    }
}


/* ==========================================================================
   LOCATIONS - DESKTOP (min-width: 1200px)
   ========================================================================== */

@media (min-width: 1200px) {
    .lp-locations__wrapper {
        flex-direction: row;
        gap: 35px;
    }

    .lp-locations__left {
        flex: 0 0 50%;
        padding-left: calc((100vw - 1350px) / 2);
    }

    .lp-locations__content {
        padding: 68px 40px 55px 0;
        max-width: 675px;
    }

    .lp-locations__title {
        font-size: 30px;
    }

    .lp-locations__card {
        min-height: 511px;
    }

    .lp-locations__right {
        flex: 0 0 50%;
        padding: 21px calc((100vw - 1350px) / 2) 55px 40px;
        max-width: none;
    }

    .lp-locations__form-title {
        font-size: 30px;
        text-align: center;
    }

    .lp-locations__form {
        max-width: none;
    }

    .lp-btn--outline {
        font-size: 16px;
    }

    /* Hover states */
    .lp-locations__item:hover .lp-locations__item-name {
        text-decoration: underline;
    }

    .lp-locations__arrow:hover {
        background-color: #fff;
    }

    .lp-locations__arrow:hover i {
        color: #152B50;
    }

    .lp-btn--outline:hover {
        background-color: #fff;
        color: #152B50;
    }
}


/* ==========================================================================
   NEWSLETTER SECTION
   ========================================================================== */

.lp-newsletter__wrapper {
    display: flex;
    flex-direction: column;
}


/*---*\
    NEWSLETTER LEFT COLUMN
\*---*/

.lp-newsletter__left {
    background-color: #f2f3f3;
    padding: 40px 20px;
}

.lp-newsletter__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.lp-newsletter__title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.3;
    color: #152B50;
    margin: 0;
}

.lp-newsletter__description {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 28px;
    color: #000;
    margin: 0;
}


/*---*\
    NEWSLETTER FORM (Gravity Forms Override)
\*---*/

.lp-newsletter__form {
    margin-top: 15px;
}

.lp-newsletter__form .gform_wrapper {
    margin: 0 !important;
    max-width: none !important;
}

.lp-newsletter__form .gform_body {
    margin-bottom: 0;
}

/* ==========================================================
   GRAVITY FORMS OVERRIDE - Mobile (Stack All Fields)
   ========================================================== */

/* Reset GF's top_label horizontal layout */
.lp-newsletter__form .gform_fields,
.lp-newsletter__form .gform_fields.top_label,
.lp-newsletter__form #gform_fields_5 {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    grid-template-columns: none !important;
}

/* ALL fields stack vertically on mobile */
.lp-newsletter__form .gfield,
.lp-newsletter__form .gform_fields > .gfield,
.lp-newsletter__form .gform_fields > fieldset,
.lp-newsletter__form .gform_fields > div,
.lp-newsletter__form #field_5_2,
.lp-newsletter__form #field_5_1,
.lp-newsletter__form #field_5_3 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: auto !important;
}

/* Name field inner container - First/Last stack on mobile */
.lp-newsletter__form .ginput_complex,
.lp-newsletter__form .ginput_container--name,
.lp-newsletter__form .gform-grid-row,
.lp-newsletter__form #input_5_2 {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.lp-newsletter__form .ginput_complex > span,
.lp-newsletter__form .gform-grid-col,
.lp-newsletter__form .gform-grid-col--size-auto,
.lp-newsletter__form .name_first,
.lp-newsletter__form .name_last {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide labels */
.lp-newsletter__form .gfield_label,
.lp-newsletter__form .gform-field-label,
.lp-newsletter__form .ginput_complex label,
.lp-newsletter__form .gform-field-label--type-sub,
.lp-newsletter__form legend.gfield_label {
    display: none !important;
}

/* Hide validation container to prevent layout issues */
.lp-newsletter__form .gfield_description,
.lp-newsletter__form .ginput_container {
    width: 100%;
}

.lp-newsletter__form input[type="text"],
.lp-newsletter__form input[type="email"],
.lp-newsletter__form select {
    width: 100% !important;
    max-width: none !important;
    padding: 15px;
    background-color: #fafafa;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: #757575;
    transition: border-color 0.3s ease;
    box-sizing: border-box;
}

.lp-newsletter__form input[type="text"]::placeholder,
.lp-newsletter__form input[type="email"]::placeholder {
    color: #757575;
}

.lp-newsletter__form input[type="text"]:focus,
.lp-newsletter__form input[type="email"]:focus,
.lp-newsletter__form select:focus {
    outline: none;
    border-color: #152B50;
}

.lp-newsletter__form select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23757575' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    padding-right: 40px;
}

.lp-newsletter__form .gform_footer {
    margin-top: 20px !important;
    padding: 0 !important;
}

.lp-newsletter__form .gform_button,
.lp-newsletter__form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 17px 22px;
    background-color: transparent;
    border: 1px solid #011B4E;
    border-radius: 5px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #011B4E;
    cursor: pointer;
    transition: all 0.3s ease;
}


/*---*\
    NEWSLETTER RIGHT COLUMN (Image)
\*---*/

.lp-newsletter__right {
    position: relative;
    min-height: 300px;
}

.lp-newsletter__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}


/* ==========================================================================
   NEWSLETTER - TABLET (min-width: 768px)
   ========================================================================== */

@media (min-width: 768px) {
    .lp-newsletter__left {
        padding: 50px 40px;
    }
    
    .lp-newsletter__content {
        gap: 35px;
    }
    
    .lp-newsletter__title {
        font-size: 28px;
    }
    
    .lp-newsletter__description {
        font-size: 18px;
    }
    
    /* ==========================================================
       GRAVITY FORMS OVERRIDE - Tablet (2-Column Layout)
       ========================================================== */
    
    /* Form fields container - 2-column layout */
    .lp-newsletter__form .gform_fields,
    .lp-newsletter__form .gform_fields.top_label,
    .lp-newsletter__form #gform_fields_5 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 31px 54px !important;
        max-width: 578px !important;
        grid-template-columns: none !important;
    }
    
    /* Row 1: Name field takes FULL width (First + Last inside) */
    .lp-newsletter__form #field_5_2,
    .lp-newsletter__form .gfield--type-name {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        order: 1 !important;
    }
    
    /* Row 2: Email and Preferred Location - each takes half */
    .lp-newsletter__form #field_5_1,
    .lp-newsletter__form .gfield--type-email {
        width: calc((100% - 54px) / 2) !important;
        flex: 0 0 calc((100% - 54px) / 2) !important;
        max-width: calc((100% - 54px) / 2) !important;
        order: 2 !important;
    }
    
    .lp-newsletter__form #field_5_3,
    .lp-newsletter__form .gfield--type-select {
        width: calc((100% - 54px) / 2) !important;
        flex: 0 0 calc((100% - 54px) / 2) !important;
        max-width: calc((100% - 54px) / 2) !important;
        order: 3 !important;
    }
    
    /* Name field inner container - First/Last side by side */
    .lp-newsletter__form .ginput_complex,
    .lp-newsletter__form .ginput_container--name,
    .lp-newsletter__form .gform-grid-row,
    .lp-newsletter__form #input_5_2 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 54px !important;
        width: 100% !important;
    }
    
    .lp-newsletter__form .ginput_complex > span,
    .lp-newsletter__form .gform-grid-col,
    .lp-newsletter__form .gform-grid-col--size-auto,
    .lp-newsletter__form .name_first,
    .lp-newsletter__form .name_last {
        width: calc((100% - 54px) / 2) !important;
        flex: 1 1 calc((100% - 54px) / 2) !important;
        max-width: none !important;
    }
    
    .lp-newsletter__right {
        min-height: 400px;
    }
}


/* ==========================================================================
   NEWSLETTER - DESKTOP (min-width: 1200px)
   ========================================================================== */

@media (min-width: 1200px) {
    .lp-newsletter__wrapper {
        flex-direction: row;
        align-items: stretch;
    }
    
    .lp-newsletter__left {
        flex: 0 0 50%;
        padding: 64px 42px 64px 0;
        padding-left: calc((100vw - 1350px) / 2);
    }
    
    .lp-newsletter__content {
        max-width: 600px;
        gap: 45px;
    }
    
    .lp-newsletter__title {
        font-size: 30px;
    }
    
    .lp-newsletter__form {
        margin-top: 3px;
    }
    
    .lp-newsletter__form .gform_fields {
        max-width: 578px;
    }
    
    .lp-newsletter__right {
        flex: 0 0 50%;
        min-height: 540px;
    }
    
    /* Hover states */
    .lp-newsletter__form .gform_button:hover,
    .lp-newsletter__form input[type="submit"]:hover {
        background-color: #011B4E;
        color: #fff;
    }
}

/* ==========================================================================
   PARTNERS SECTION
   ========================================================================== */

.lp-partners {
    padding: 40px 20px;
}

.lp-partners__wrapper {
    max-width: 712px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    text-align: center;
}

.lp-partners__logo {
    flex-shrink: 0;
}

.lp-partners__logo img {
    max-width: 140px;
    height: auto;
}

.lp-partners__divider {
    display: none;
}

.lp-partners__text {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    color: #152B50;
    margin: 0;
}


/* ==========================================================================
   PARTNERS - TABLET (min-width: 768px)
   ========================================================================== */

@media (min-width: 768px) {
    .lp-partners {
        padding: 55px 20px;
    }
    
    .lp-partners__wrapper {
        flex-direction: row;
        align-items: center;
        gap: 40px;
        text-align: left;
    }
    
    .lp-partners__logo img {
        max-width: 160px;
    }
    
    .lp-partners__divider {
        display: block;
        width: 1px;
        height: 80px;
        background-color: #152B50;
        flex-shrink: 0;
    }
    
    .lp-partners__text {
        font-size: 22px;
    }
}


/* ==========================================================================
   PARTNERS - DESKTOP (min-width: 1200px)
   ========================================================================== */

@media (min-width: 1200px) {
    .lp-partners__wrapper {
        gap: 57px;
    }
    
    .lp-partners__logo img {
        max-width: 170px;
    }
    
    .lp-partners__divider {
        height: 98px;
    }
    
    .lp-partners__text {
        font-size: 30px;
        max-width: 428px;
    }
}

[class*="astra-advanced-hook-"] {
    display: none !important; 
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}