.elementor-kit-6{--e-global-color-primary:#000000;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#003232;--e-global-color-4b46026:#009898;--e-global-color-28d236f:#F06767FA;--e-global-color-10fdc79:#2D6F3F;--e-global-color-fdb98f5:#2D6F3F;--e-global-color-fdb0527:#CAFFD0;--e-global-color-79805d3:#E7FFF3;--e-global-color-a13f206:#1A4225;--e-global-color-c14f867:#1B3512;--e-global-color-e83839a:#3B6753;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;--e-global-typography-43d8c7e-font-family:"Inter";--e-global-typography-43d8c7e-font-size:16px;--e-global-typography-43d8c7e-font-weight:400;--e-global-typography-92f1743-font-family:"Cormorant";--e-global-typography-92f1743-font-size:42px;--e-global-typography-92f1743-font-weight:400;--e-global-typography-92f1743-text-transform:uppercase;--e-global-typography-626c18d-font-family:"Lexend Deca";--e-global-typography-626c18d-font-size:16px;--e-global-typography-626c18d-font-weight:400;--e-global-typography-4634879-font-family:"Lexend Deca";--e-global-typography-4634879-font-size:24px;--e-global-typography-4634879-font-weight:400;--e-global-typography-0cf8c9b-font-family:"Lexend Deca";--e-global-typography-0cf8c9b-font-size:24px;--e-global-typography-0cf8c9b-font-weight:400;--e-global-typography-0cf8c9b-text-transform:uppercase;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-92f1743-font-size:28px;--e-global-typography-626c18d-font-size:16px;--e-global-typography-4634879-font-size:16px;--e-global-typography-0cf8c9b-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */html,  body {
    overflow-x: hidden;
}

/* flex card */
    :root {
      --optionBackground: #E6E9ED;
    }

    * {
      box-sizing: border-box;
    }


    .flexcard {
      width: 100%;
      padding: 0;
      margin: 0;
    }

    .options {
      display: flex;
      width: 100%;
      height: min(50vw, 550px);
      gap: 10px;
      align-items: stretch; /* Ensure equal height for cards on desktop */
    }

    .option {
      position: relative;
      flex: 1;
      background: var(--optionBackground);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      border-radius: 0px;
      cursor: pointer;
      transition: flex 0.5s ease;
      overflow: hidden;
    }

    .option.active {
      flex: 3;
    }

    .option::before {
      content: "";
      display: block;
      padding-top: 56.25%; /* 16:9 aspect ratio for image area */
    }

    .option::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 33.33%;
      background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent);
      opacity: 0;
      transition: opacity 0.3s ease;
      z-index: 0;
    }

    .option.active::after {
      opacity: 1;
    }

    .label {
      position: absolute;
      bottom: 20px;
      left: 20px;
      right: 20px;
      z-index: 1;
      color: white;
      opacity: 0;
      transform: translateY(10px);
      transition: opacity 0.5s ease, transform 0.5s ease;
    }

    .option.active .label {
      opacity: 1;
      transform: translateY(0);
    }

    .info .main {
      font-family: 'Lexend Deca', sans-serif;
      font-weight: 500;
      font-size: 22px;
      margin-bottom: 4px;
    }

    .info .sub {
      font-family: 'Lexend Deca', sans-serif;
      font-weight: 400;
      font-size: 16px;
      opacity: 0.95;
      line-height: 1.5;
      text-align: justify;
      max-height: 6.5em;
      overflow: hidden;
    }

    /* Mobile styles */
    @media (max-width: 768px) {
      .options {
        flex-direction: column;
        height: auto;
        gap: 8px;
        padding: 0px;
      }

      .option {
        flex: none;
        width: 100%;
        border-radius: 0px;
        height: auto; /* Allow height to adjust based on content */
      }

      .option::before {
        padding-top: 56.25%; /* Maintain 16:9 aspect ratio for image area */
      }

      .option::after {
        display: none; /* Remove gradient overlay on mobile */
      }

      .option .label {
        display: none; /* Hide label inside option on mobile */
      }

      .label {
        position: static; /* Place label below card */
        color: #1B3512; /* Green for main text */
        padding: 16px 8px 32px;
        opacity: 1; /* Always visible on mobile */
        transform: none; /* Remove transform for static positioning */
        background: transparent;
      }

      .info .main {
        color: #1B3512; /* Green */
        font-family: 'Lexend Deca', sans-serif;
        font-size: 20px;
        font-weight: 500;
        margin-bottom: 8px;
      }

      .info .sub {
        color: #3B6753;
        font-family:'Lexend Deca', sans-serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.6;
      }
    }
    
/* gallery img ratio */
.img-fix-ratio {
  position: relative;
  width: 100%;
  padding-top: 60%; /* 3:2 = 2/3 = 66.66% */
  overflow: hidden;
}

.img-fix-ratio img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* hoặc dùng contain nếu muốn toàn bộ ảnh không bị cắt */
}

/* Zoom cover */
.zoom-effect {
  animation: zoomOutEffect 2s ease-in-out forwards;
}

@keyframes zoomOutEffect {
  0% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}/* End custom CSS */