  @charset "UTF-8";
  /* ==========================
      Google fonts
      Variables
      Typographys
      Texts, Links
      Buttons, Controls
      Accordions
      Modals
      Cards
      Tables
      Pagination
      Lists
      Hover Effect
      Circle Icons
      Images
      Backgrounds
      Bottom Overlay
      Video box
      Extra info
      Rates, Reviews, Awards
      Price range
      Comments
      Countdown
      Preloader 
      Animation
      Scroll to top
      Header
      Heros
      Search
      Block titles
      Title Info
      Destinations, Tours
      Testimonials
      Team
      Posts
      Form contact
      Account
      Booking
      Footer
      Utilities 
      Containers
  =============================== */
  /* ======= Google fonts ======= */
  @import url(https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap);
  /* ======= Google fonts ======= */
  /* ======= Variables ======= */
  :root,
  [data-bs-theme=light] {
    --bs-primary: #5196cc; 
    --bs-primary-rgb: 0, 0, 0;
    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: var(--bs-primary-rgb);
    --bs-link-decoration: none;
    --bs-link-hover-color: var(--bs-secondary);
    --bs-link-hover-color-rgb: var(--bs-secondary-rgb);
    --bs-font-sans-serif: "Outfit", sans-serif;
    --bs-body-font-size: 1.075rem;
    --bs-body-line-height: 1.55;
    --bs-body-font-weight: 300;
    --bs-border-radius: 0.675rem;
    --bs-border-radius-sm: 0.35rem;
    --bs-border-radius-lg: 1.25rem;
    --bs-box-shadow: 0 0.25rem 0.65rem rgba(0, 0, 0, 0.15);
    --bs-box-shadow-xs: 0.1rem 0.25rem 0.25rem rgba(0, 0, 0, 0.055);
    --bs-box-shadow-sm: 0 0.15rem 0.35rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 0.55rem 1rem rgba(0, 0, 0, 0.175);
    --bs-dark-blue: #5196cc;
    --bs-dark-blue-rgb: 10, 62, 89;
    --bs-light-gray: #e9ecef;
    --bs-light-gray-rgb: 244, 245, 247;
    /* Colores de marca Oliveza */
    --brand-green: #27472B;
    --brand-green-rgb: 39, 71, 43;
    --brand-green-light: #2d5016;
    --brand-green-light-rgb: 45, 80, 22;
    --brand-green-hover: #1f3a1f;
    /* Colores secundarios Oliveza */
    --brand-green-accent: #5b9f16;
    --brand-green-accent-rgb: 91, 159, 22;
    --brand-green-medium: #4a7c2a;
    --brand-green-tag: #9CCB3B;
    --brand-green-tag-rgb: 156, 203, 59;
    --brand-orange: #FF8C42;
    --brand-orange-rgb: 255, 140, 66;
    --brand-orange-dark: #e85a2a;
    --brand-blue: #2d4a7c;
    /* Colores de texto */
    --text-primary: #27472B;
    --text-secondary: #4a5568;
    --text-muted: #718096;
    --text-light: rgba(39, 71, 43, 0.7);
    /* Colores de texto blanco con transparencia */
    --white-95: rgba(255, 255, 255, 0.95);
    --white-85: rgba(255, 255, 255, 0.85);
    --white-75: rgba(255, 255, 255, 0.75);
    /* Colores de fondo */
    --bg-light: #f8f9fa;
    --bg-light-green: #f0f9f0;
    --bg-white: #ffffff;
    /* Colores de bordes */
    --border-light: #e2e8f0;
    --border-green: #9CCB3B;
    --border-green-accent: #5b9f16;
    /* Colores con transparencia */
    --green-tag-bg: rgba(156, 203, 59, 0.1);
    --green-tag-bg-light: rgba(156, 203, 59, 0.05);
    --green-tag-border: rgba(156, 203, 59, 0.2);
    --green-shadow: rgba(45, 80, 22, 0.15);
    --green-shadow-hover: rgba(45, 80, 22, 0.3);
    --green-shadow-strong: rgba(45, 80, 22, 0.2);
    --green-gradient-overlay: rgba(45, 80, 22, 0.3);
    /* Sombras negras */
    --shadow-sm: rgba(0, 0, 0, 0.08);
    --shadow-md: rgba(0, 0, 0, 0.12);
    --shadow-lg: rgba(0, 0, 0, 0.15);
    --shadow-xl: rgba(0, 0, 0, 0.2);
    /* Aspect ratio para imágenes */
    --aspect-ratio: 4/3;
    /* Variables para tags de categoria - Unificadas */
    --categoria-tag-bg: rgba(156, 203, 59, 0.1);
    --categoria-tag-color: rgba(156, 203, 59, 0.1);
    --categoria-tag-text-color: #27472B;
    --categoria-tag-font-size: 0.8125rem;
    --categoria-tag-font-weight: 500;
    --categoria-tag-padding-y: 0.4rem;
    --categoria-tag-padding-x: 0.85rem;
    --categoria-tag-border-radius: 20px;
    --categoria-tag-font-family: 'Inter', sans-serif;
    /* Variables para presentaciones de productos */
    --presentacion-text-color: #718096;
    --presentacion-font-size: 0.9375rem;
    --presentacion-icon-color: #FF8C42;
    --presentacion-icon-size: 25px;
    --presentacion-gap: 0.5rem;
  }

  /* ======= /Variables ======= */

  /* 
    GUÍA DE USO DE COLORES DE MARCA:
    - --brand-green (#27472B): Color principal para CTAs, secciones destacadas, botones de contacto
    - --brand-green-light (#2d5016): Color secundario para títulos, navegación, elementos UI generales
    - --brand-green-hover (#1f3a1f): Color para estados hover de elementos con --brand-green
    - --brand-green-accent (#5b9f16): Verde claro para acentos y elementos destacados
    - --brand-green-tag (#9CCB3B): Verde para tags y badges
    - --brand-orange (#FF8C42): Naranja para iconos y elementos de atención
    - --text-primary, --text-secondary, --text-muted, --text-light: Colores de texto
    - --bg-light, --bg-light-green, --bg-white: Fondos
    - --border-light, --border-green, --border-green-accent: Bordes
    - --green-tag-bg, --green-tag-border: Fondos y bordes con transparencia
    - --green-shadow, --green-shadow-hover, --green-shadow-strong: Sombras verdes
  */

  #form-search-movil {
    padding: 15px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    opacity: 0;
    transform: translateY(-20px);
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s linear 0.3s;
  }

  #form-search-movil.show {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  #form-search-movil input[type="text"] {
    border: none;
    outline: none; 
    font-size: 16px;
    background: transparent;
    color: #333;
  }

  #form-search-movil input::placeholder {
    color: #ccc;
    font-weight: 400;
  }

  /* ======= Typographys ======= */
  /* Anchor */
  a {
    color: var(--bs-link-color);
    -webkit-text-decoration: var(--bs-link-decoration);
            text-decoration: var(--bs-link-decoration);
    transition: color 0.25s ease-in-out;
  }
  a:hover, a:focus {
    color: var(--bs-link-hover-color);
  }

  /* Strong */
  b,
  strong {
    font-weight: 500;
  }

  /* Headings */
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.35;
    margin-bottom: 1rem;
  }

  .h5,
  h5 {
    font-size: 1.275rem;
  }

  .h6,
  h6 {
    font-size: 1.175rem;
  }

  /* ======= /Typographys ======= */
  /* ======= Texts, Links ======= */
  .link-hover:hover {
    color: #6cb015 !important;
  }
  .link-hover:hover svg {
    stroke: #6cb015 !important;
  }

  .text-primary {
    color: var(--bs-primary) !important;
  }

  .vertical-box {
    transform: rotate(180deg);
    writing-mode: vertical-lr;
  }

  .float-text,
  .float-text:hover {
    display: inline-block;
    color: white;
    text-wrap: nowrap;
    line-height: 1;
    text-transform: uppercase;
    font-size: 0.65rem;
    letter-spacing: 0.115rem;
    font-weight: 400;
    background-color: rgba(var(--bs-black-rgb), 0.45);
    padding: 0.4rem 0.55rem 0.4rem 0.75rem;
    border-radius: var(--bs-border-radius-sm);
  }
  .float-text.float-absolute,
  .float-text:hover.float-absolute {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 1;
  }

  /* ======= /Texts, Links ======= */
  /* ======= Buttons, Controls ======= */
  /* Button */
  .btn {
    padding: 0.625rem 1rem;
    font-size: var(--bs-body-font-size);
    font-weight: 400;
    text-decoration: none;
  }
  .btn.btn-uppercase {
    text-transform: uppercase;
    font-size: 0.95rem;
    letter-spacing: 0.115rem;
    padding: 0.72rem 1rem;
  }

  .btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: var(--bs-link-hover-color);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-bg: var(--bs-link-hover-color);
    --bs-btn-active-border-color: var(--bs-link-hover-color);
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
  }
  /* Icono de paquete - Presentaciones */
  .producto-size {
    display: flex;
    align-items: center;
    gap: var(--presentacion-gap);
    margin-bottom: 1rem;
    color: var(--presentacion-text-color);
    font-size: var(--presentacion-font-size);
  }

  .producto-size span {
    color: var(--presentacion-text-color);
    font-size: var(--presentacion-font-size);
  }

  .lucide-package {
    width: var(--presentacion-icon-size);
    height: var(--presentacion-icon-size);
    color: var(--presentacion-icon-color);
    display: inline-block;
    flex-shrink: 0;
  }

  /* Play Button */
  .btn-video-play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: content-box;
    width: 74px;
    height: 74px;
    padding-left: 5px;
    border-radius: 50%;
  }
  .btn-video-play::before, .btn-video-play::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 64px;
    height: 64px;
    background: var(--bs-primary);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.25s ease-in-out;
    z-index: 0;
  }
  .btn-video-play::before {
    animation: pulse-border 1500ms ease-out infinite;
  }
  .btn-video-play:hover::before, .btn-video-play:hover::after {
    opacity: 0.55;
  }
  .btn-video-play span {
    display: block;
    width: 0;
    height: 0;
    border-left: 16px solid white;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    position: relative;
    z-index: 3;
  }
  .btn-video-play.btn-video-play-sm {
    width: 56px;
    height: 56px;
  }
  .btn-video-play.btn-video-play-sm::before, .btn-video-play.btn-video-play-sm::after {
    width: 48px;
    height: 48px;
  }
  .btn-video-play.btn-video-play-sm span {
    border-left: 12px solid white;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
  }
  @keyframes pulse-border {
    0% {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
    }
    to {
      opacity: 0;
      transform: translate(-50%, -50%) scale(1.5);
    }
  }

  /* Facebook, Google button */
  .btn-facebook,
  .btn-google {
    background-color: var(--bs-light-gray);
    border-color: var(--bs-border-color);
  }
  .btn-facebook:hover, .btn-facebook:focus,
  .btn-google:hover,
  .btn-google:focus {
    border-color: var(--bs-border-color);
  }

  /* Form check */
  .form-check-input.checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
  }
  .form-check-input:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.15);
    box-shadow: none;
  }
  .form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
  }

  /* Form range */
  .form-range:focus::-webkit-slider-thumb, .form-range:focus::-moz-range-thumb {
    box-shadow: none;
  }
  .form-range::-webkit-slider-thumb {
    -webkit-appearance: none;
            appearance: none;
    background-color: var(--bs-primary);
    box-shadow: none !important;
  }
  .form-range::-moz-range-thumb {
    -moz-appearance: none;
        appearance: none;
    background-color: var(--bs-primary);
    box-shadow: none !important;
  }
  .form-range::-moz-range-thumb:active, .form-range::-moz-range-thumb:focus {
    background-color: rgba(var(--bs-primary-rgb), 0.5);
    box-shadow: none;
  }
  .form-range::-webkit-slider-thumb:active, .form-range::-webkit-slider-thumb:focus {
    background-color: rgba(var(--bs-primary-rgb), 0.5);
    box-shadow: none;
  }

  /* Form control */
  .form-control {
    padding: 0.625rem 1rem;
    font-size: var(--bs-body-font-size);
  }
  .form-control:focus, .form-control:active {
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    box-shadow: none !important;
  }

  /* Dropdown */
  .dropdown-menu {
    --bs-dropdown-border-color: var(--bs-border-color);
    box-shadow: var(--bs-box-shadow-sm);
  }
  .dropdown-menu .dropdown-item.active, .dropdown-menu .dropdown-item:active {
    background-color: var(--bs-primary);
    color: white;
  }

  /* Form Select */
  .form-select {
    padding: 0.625rem 1rem;
    font-size: var(--bs-body-font-size);
  }
  .form-select:focus, .form-select:active {
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    box-shadow: none !important;
  }

  /* Input Icon Group */
  .input-icon-group {
    position: relative;
  }
  .input-icon-group .input-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--bs-secondary);
    z-index: 1;
  }
  .input-icon-group .form-control,
  .input-icon-group .form-select {
    padding-left: 3rem;
  }

  /* ======= /Buttons, Controls ======= */
  /* ======= Accordions ======= */
  /* Why Accordion */
  .accordion-why {
    background-color: transparent;
  }
  .accordion-why .accordion-button {
    background-color: transparent;
    color: inherit;
    box-shadow: none;
    font-size: 1.275rem;
    font-weight: 500;
    padding-left: 0;
    padding-right: 0;
  }
  .accordion-why .accordion-button:hover, .accordion-why .accordion-button:not(.collapsed) {
    color: var(--bs-primary);
  }
  .accordion-why .accordion-button i {
    margin-right: 0.75rem;
    font-size: 0.95rem;
    color: var(--bs-primary);
  }
  .accordion-why .accordion-body {
    padding: 0 0 1.35rem 0;
  }

  /* Itinerary Accordion */
  .accordion-itinerary {
    background-color: transparent;
    border: 0;
  }
  .accordion-itinerary .accordion-item {
    position: relative;
    padding-left: 40px;
    margin-left: 12px;
  }
  .accordion-itinerary .accordion-item:not(:last-child):before {
    position: absolute;
    content: "";
    border-left: 1px solid var(--bs-accordion-border-color);
    width: 0;
    height: calc(100% + 1rem);
    left: 0;
    top: 2rem;
    z-index: 1;
  }
  .accordion-itinerary .accordion-button {
    background-color: transparent;
    font-size: 1.275rem;
    color: inherit;
    box-shadow: none;
    font-weight: 500;
    padding: 1.5rem 0;
    align-items: start;
  }
  .accordion-itinerary .accordion-button::after {
    content: unset;
  }
  .accordion-itinerary .accordion-button:before {
    position: absolute;
    left: -56px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    content: "\f3de";
    font-family: icons !important;
    font-size: 0.95rem;
    border-radius: 50%;
    display: flex;
    line-height: 0;
    justify-content: center;
    align-items: center;
    background: var(--bs-primary);
    border: 1px solid var(--bs-primary);
    color: white;
    z-index: 2;
    transition: 0.3s ease-in-out;
  }
  .accordion-itinerary .accordion-button:not(.collapsed):before {
    content: "\f36c";
  }
  .accordion-itinerary .accordion-button strong {
    margin-right: 0.55rem;
    font-weight: 700;
    text-wrap: nowrap;
  }
  .accordion-itinerary .accordion-button:hover, .accordion-itinerary .accordion-button:not(.collapsed) {
    color: var(--bs-primary);
  }
  .accordion-itinerary .accordion-body {
    padding: 0 0 1.35rem 0;
  }

  /* Accordion Filter */
  .accordion-filter .accordion-item {
    background-color: transparent;
    border: 0;
    font-size: 1rem;
  }
  .accordion-filter .accordion-button {
    border-top: 1px solid var(--bs-border-color);
    background-color: transparent;
    padding: 1.25rem 0;
    font-size: 1.25rem;
    color: var(--bs-body-color);
    font-weight: 500;
    border-radius: 0 !important;
    box-shadow: none;
  }
  .accordion-filter .accordion-body {
    padding: 0.5rem 0 1.25rem 0;
  }

  /* ======= /Accordiosn ======= */
  /* ======= Modals ======= */
  .modal {
    --bs-modal-padding: 1.5rem 2rem;
    --bs-modal-header-padding: 1.5rem 2rem;
  }

  /* ======= Modals ======= */
  /* ======= Navs & Tabs ======= */
  .tab-menu {
    display: flex;
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius);
    font-size: 1rem;
  }
  .tab-menu .nav-item .nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--bs-body-color);
    padding: 1rem 1.5rem 1rem 1.75rem;
    border-right: 1px solid var(--bs-border-color);
    letter-spacing: 0.135rem;
  }
  .tab-menu .nav-item .nav-link::after {
    background: transparent;
    border-right: 1px solid transparent;
    border-bottom: 1px solid transparent;
    content: "";
    height: 0.7rem;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    position: absolute;
    bottom: -0.35rem;
    width: 0.7rem;
    z-index: 0;
  }
  .tab-menu .nav-item .nav-link:hover {
    color: var(--bs-primary);
  }
  .tab-menu .nav-item .nav-link.active {
    background-color: var(--bs-primary);
    color: white !important;
    border-right-color: var(--bs-primary);
  }
  .tab-menu .nav-item .nav-link.active::after {
    background: var(--bs-primary);
    border-right: 1px solid var(--bs-primary);
    border-bottom: 1px solid var(--bs-primary);
  }
  .tab-menu .nav-item:first-child .nav-link {
    border-top-left-radius: var(--bs-border-radius);
    border-bottom-left-radius: var(--bs-border-radius);
  }
  .tab-menu .nav-item:last-child .nav-link {
    border-top-right-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius);
  }
  .tab-menu .nav-item.nav-item-link {
    margin-left: auto;
    margin-right: 0;
  }
  .tab-menu .nav-item.nav-item-link .nav-link {
    color: var(--bs-secondary);
  }
  .tab-menu .nav-item.nav-item-button {
    margin-left: auto;
    margin-right: 0;
  }
  .tab-menu .nav-item.nav-item-button .nav-link {
    background-color: var(--bs-dark-blue);
    color: white;
  }
  @media (max-width: 1199.98px) {
    .tab-menu {
      box-shadow: none !important;
      background-color: unset;
      flex-wrap: wrap;
      margin-top: 0.5rem;
      margin-right: -0.25rem;
      margin-left: -0.25rem;
    }
    .tab-menu .nav-item {
      padding-right: 0.25rem;
      padding-left: 0.25rem;
      margin-top: 0.5rem;
    }
    .tab-menu .nav-item .nav-link {
      background-color: var(--bs-body-bg);
      border: none;
      width: 100%;
      border-radius: var(--bs-border-radius);
    }
    .tab-menu .nav-item .nav-link::after {
      content: unset;
    }
    .tab-menu .nav-item.nav-item-link, .tab-menu .nav-item.nav-item-button {
      margin-left: unset;
      margin-right: unset;
    }
    .tab-menu.shadow-sm .nav-item .nav-link, .tab-menu.shadow .nav-item .nav-link {
      box-shadow: var(--bs-box-shadow-sm);
    }
    .tab-menu.tour-nav .nav-item {
      width: 33.333%;
    }
  }
  @media (max-width: 767.98px) {
    .tab-menu.tour-nav .nav-item {
      width: 50%;
    }
  }

  /* ======= /Navs & Tabs ======= */
  /* ======= Cards ======= */
  /* Card */
  .card {
    --bs-card-spacer-y: 1.5rem;
    --bs-card-spacer-x: 1.5rem;
  }

  /* Float card */
  .float-card {
    position: relative;
  }
  .float-card .float-image {
    position: relative;
  }
  .float-card .card-content {
    padding: 1.5rem;
    margin: -1rem 0.5rem 0 0.5rem;
    background-color: white;
    position: relative;
  }
  @media (min-width: 768px) {
    .float-card.float-card-right .card-content {
      margin: -2rem 1rem 0 1rem;
    }
  }
  @media (min-width: 1200px) {
    .float-card.float-card-right {
      display: flex;
    }
    .float-card.float-card-right .float-image {
      width: calc(50% + 2rem);
    }
    .float-card.float-card-right .card-content {
      width: calc(50% + 2rem);
      margin: 1rem 0 1rem -2rem;
    }
  }

  /* Info Card */
  .info-card {
    display: block;
    padding: 1.5rem;
    background-color: white;
    color: var(--bs-body-color);
  }
  .info-card:hover {
    color: var(--bs-body-color);
  }
  .info-card .card-icon {
    margin-bottom: 1rem;
    color: white;
    display: inline-flex;
    width: 64px;
    height: 64px;
    background: var(--bs-primary);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
  }
  .info-card .card-title {
    color: var(--bs-emphasis-color);
  }
  .info-card .card-link {
    color: var(--bs-primary);
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    font-size: 0.875em;
    font-weight: 500;
  }
  .info-card .card-link:hover {
    color: var(--bs-primary-text-emphasis);
  }
  .info-card.card-hover, .info-card.active {
    background-color: var(--bs-primary);
  }
  .info-card.card-hover .card-icon, .info-card.active .card-icon {
    background-color: white;
    color: var(--bs-primary);
  }
  .info-card.card-hover .card-title,
  .info-card.card-hover .card-desc,
  .info-card.card-hover .card-link, .info-card.active .card-title,
  .info-card.active .card-desc,
  .info-card.active .card-link {
    color: white;
  }

  /* Transparent card */
  .transparent-card {
    display: block;
    padding: 1.5rem;
    color: white;
  }
  .transparent-card .card-icon {
    margin-bottom: 1.5rem;
    display: inline-flex;
    width: 64px;
    height: 64px;
    background: var(--bs-primary);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-size: 1.85rem;
  }

  /* Mini card */
  .mini-card {
    display: flex;
    align-items: center;
    padding: 0.85rem 1rem;
    background-color: white;
    color: var(--bs-body-color);
  }
  .mini-card.card-center {
    padding: 1.25rem;
    flex-direction: column;
    text-align: center;
  }
  .mini-card.card-simple {
    padding: 0;
    background-color: transparent;
  }
  .mini-card .card-icon {
    color: var(--bs-primary);
    border-right: 1px solid var(--bs-border-color);
    margin-right: 1.25rem;
    padding-right: 1.25rem;
    font-size: 2.25rem;
    line-height: 1;
  }
  .mini-card.card-center .card-icon {
    border-right: unset;
    margin-right: unset;
    padding-right: unset;
    margin-bottom: 0.75rem;
  }
  .mini-card .card-title {
    color: var(--bs-text-emphasis);
    display: block;
    margin-bottom: 0;
    font-size: 1.25rem;
  }
  .mini-card.card-center .card-title {
    font-size: 1.275rem;
  }
  .mini-card .card-desc {
    color: var(--bs-secondary);
    display: block;
  }
  .mini-card .card-link:hover {
    color: var(--bs-text-emphasis);
  }
  .mini-card.card-hover:hover, .mini-card.active {
    background-color: var(--bs-primary);
  }
  .mini-card.card-hover:hover .card-icon,
  .mini-card.card-hover:hover .card-title,
  .mini-card.card-hover:hover .card-desc, .mini-card.active .card-icon,
  .mini-card.active .card-title,
  .mini-card.active .card-desc {
    color: white;
  }
  @media (max-width: 576px) {
    .mini-card.card-mobile-small .card-icon {
      margin-right: 0.75rem;
      padding-right: 0.75rem;
      font-size: 1.85rem;
    }
    .mini-card.card-mobile-small .card-title {
      font-size: 1rem;
    }
    .mini-card.card-mobile-small .card-desc {
      font-size: 0.85rem;
    }
  }

  /* ======= Cards ======= */
  /* ======= Tables ======= */
  .table > :not(caption) > * > * {
    padding: 1rem 0.5rem;
  }

  /* ======= Tables ======= */
  /* ======= Pagination ======= */
  .pagination {
    --bs-pagination-focus-box-shadow: none;
  }
  .pagination.pagination-circle .page-link {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 1rem;
    border-radius: 50% !important;
  }

  /* ======= Pagination ======= */
  /* ======= Lists ======= */
  /* Statistics */
  .stats-list {
    padding-left: 0;
    list-style: none;
    margin-bottom: 0;
  }
  .stats-list .stats-number {
    font-weight: 600;
    margin-right: 1rem;
    margin-bottom: 0.5rem;
    color: var(--bs-emphasis-color);
  }
  .stats-list .stats-desc {
    line-height: 1.35;
    margin-bottom: 1.5rem;
  }
  @media (min-width: 576px) {
    .stats-list .stats-item {
      display: flex;
      align-items: center;
    }
    .stats-list .stats-number {
      margin-bottom: 1.5rem;
    }
  }

  /* Strength */
  .strength-list {
    padding-left: 0;
    list-style: none;
  }
  .strength-list .strength-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
  }
  .strength-list .strength-icon {
    margin-right: 1rem;
    color: var(--bs-primary);
  }

  /* Categories */
  .cat-list {
    padding-left: 0;
    list-style: none;
  }
  .cat-list .cat-item a {
    padding: 1.25rem 1.5rem;
    background-color: white;
    color: var(--bs-body-color);
    display: block;
    transition: 0.25s all ease-in-out;
  }
  .cat-list .cat-item a:hover, .cat-list .cat-item a.active {
    background-color: var(--bs-primary);
    color: white;
  }

  /* Social list */
  .social-list {
    list-style: none;
    padding-left: 0;
  }
  .social-list li {
    display: inline-block;
  }
  .social-list li:not(:last-child) {
    margin-right: 0.25rem;
  }
  .social-list .social-item a svg {
    stroke: var(--bs-body-color);
  }
  .social-list .social-item a svg:hover {
    stroke: var(--bs-primary);
  }
  .social-list.social-list-light .social-item a svg {
    stroke: white;
  }

  /* Highlight list */
  .highlight-list {
    list-style: none;
    padding-left: 0;
  }
  .highlight-list li {
    padding-left: 1.5rem;
    position: relative;
    margin-bottom: 0.35rem;
  }
  .highlight-list li::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "✓";
    font-weight: 600;
    margin-right: 0.5rem;
  }
  .highlight-list.unchecked li::before {
    content: "✕";
    color: var(--bs-danger);
  }
  .highlight-list.checked li::before {
    color: var(--bs-primary);
  }

  /* Filtered list */
  .filtered-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
  }
  .filtered-list .filtered-item {
    display: inline-block;
    line-height: 1;
    margin: 0.5rem 0;
  }
  .filtered-list .filtered-item:not(:last-child, :first-child) {
    border-right: 1px solid var(--bs-dark-border-subtle);
    margin-right: 0.75rem;
    padding-right: 0.75rem;
  }
  .filtered-list .filtered-item button {
    display: inline-flex;
    align-items: center;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: 0;
    background-color: transparent;
    outline: none;
    box-shadow: none;
    font-size: 1rem;
    color: var(--bs-secondary);
    font-weight: 300;
    padding: 0;
  }
  .filtered-list .filtered-item button:not(:last-child) {
    margin-right: 0.5rem;
  }
  .filtered-list .filtered-item button:hover {
    color: var(--bs-danger);
  }
  .filtered-list .filtered-item button i {
    font-size: 0.55rem;
    margin-left: 0.35rem;
    color: var(--bs-danger);
  }
  .filtered-list .filtered-item strong {
    font-size: 1rem;
    margin-right: 0.5rem;
    vertical-align: middle;
  }

  /* ======= /Lists ======= */
  /* ======= Hover Effect ======= */
  .hover-effect {
    transition: all 0.25s ease-in-out;
  }
  .hover-effect:hover {
    transform: translateY(-0.25rem);
  }

  /* ======= /Hover Effect ======= */
  /* ======= Circle Icons ======= */
  .circle-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.25s ease-in-out;
    border: 0;
    font-size: 1.125rem;
  }
  .circle-icon.circle-icon-sm {
    width: 32px;
    height: 32px;
    font-size: 1rem;
  }
  .circle-icon.cart-icon, .circle-icon.wishlist-icon {
    color: var(--bs-body-color);
    background-color: var(--bs-light-gray);
    position: relative;
  }
  .circle-icon.cart-icon:hover, .circle-icon.cart-icon:focus, .circle-icon.wishlist-icon:hover, .circle-icon.wishlist-icon:focus {
    color: var(--bs-primary);
  }
  .circle-icon.cart-icon span, .circle-icon.wishlist-icon span {
    background-color: var(--bs-primary);
    color: white;
    font-size: 0.85rem;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: absolute;
    top: -0.25rem;
    right: -0.25rem;
  }
  .circle-icon.circle-icon-link {
    background-color: #5196cc;
    color: #ffffff !important;
  }
  .circle-icon.circle-icon-link:hover {
    background-color: #5196cc;
    color: #ffffff !important;
  }
  .circle-icon.like-icon {
    background-color: rgba(var(--bs-white-rgb), 0.75);
    color: var(--bs-secondary);
  }
  .circle-icon.like-icon:hover, .circle-icon.like-icon:focus, .circle-icon.like-icon.liked {
    color: var(--bs-primary);
  }
  .circle-icon.like-icon.liked:hover, .circle-icon.like-icon.liked:focus {
    color: var(--bs-secondary);
  }
  .circle-icon.delete-icon {
    background-color: white;
    color: var(--bs-danger);
  }
  .circle-icon.delete-icon:hover, .circle-icon.delete-icon:focus, .circle-icon.delete-icon.liked {
    color: white;
    background-color: var(--bs-danger);
  }
  @media (max-width: 576px) {
    .circle-icon.icon-mobile-small {
      width: 32px;
      height: 32px;
      font-size: 1rem;
    }
  }

  /* ======= /Circle Icons ======= */
  /* ======= Images ======= */
  /* Image Info */
  .image-info {
    position: relative;
  }
  .image-info.image-info-vertical .image-center {
    margin-left: 3rem;
  }
  .image-info.image-info-vertical .vertical-title {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    height: 100%;
  }
  .image-info.image-info-vertical .vertical-title > small {
    transform: rotate(180deg);
    writing-mode: vertical-lr;
    color: var(--bs-secondary);
    text-transform: uppercase;
    text-wrap: nowrap;
    letter-spacing: 0.135rem;
  }
  .image-info.image-info-right {
    margin-right: 65px;
  }
  .image-info.image-info-left {
    margin-left: 65px;
  }
  .image-info .image-center {
    overflow: hidden;
  }
  .image-info .info-top-right {
    left: unset;
    right: 1.5rem;
    top: 1.5rem;
    width: auto;
  }
  .image-info .info-left-top {
    right: unset;
    left: 1.5rem;
    top: 1.5rem;
    width: auto;
  }
  .image-info .info-right-bottom {
    left: unset;
    right: 1.5rem;
    bottom: 1.5rem;
    width: auto;
  }
  .image-info .info-bottom-left {
    left: 1.5rem;
    right: unset;
    bottom: 1.5rem;
    width: auto;
  }
  .image-info .info-bottom-left,
  .image-info .info-left-top,
  .image-info .info-top-right,
  .image-info .info-right-bottom {
    text-align: center;
    position: absolute;
    width: 130px;
    z-index: 1;
  }
  .image-info.image-info-left .info-bottom-left,
  .image-info.image-info-left .info-left-top {
    transform: translateX(-50%);
  }
  .image-info.image-info-left .info-bottom-left {
    bottom: 4rem;
  }
  .image-info.image-info-left .info-left-top {
    top: 4rem;
  }
  .image-info.image-info-right .info-top-right,
  .image-info.image-info-right .info-right-bottom {
    transform: translateX(-50%);
  }
  .image-info.image-info-right .info-right-bottom {
    bottom: 4rem;
    left: 100%;
  }
  .image-info.image-info-right .info-top-right {
    top: 4rem;
    left: 100%;
  }
  @media (max-width: 1399.98px) {
    .image-info.image-info-right {
      margin-right: 65px;
    }
  }
  @media (max-width: 1199.98px) {
    .image-info.image-info-right {
      margin-right: 65px;
    }
  }
  @media (max-width: 767.98px) {
    .image-info.image-info-right {
      margin-right: 0;
      margin-left: 0;
    }
    .image-info.image-info-right .info-right-bottom {
      bottom: -1.5rem;
      right: 1.5rem;
      left: unset;
      transform: unset;
    }
    .image-info.image-info-right .info-top-right {
      top: -1.5rem;
      right: 1.5rem;
      left: unset;
      transform: unset;
    }
    .image-info.image-info-left .info-bottom-left {
      bottom: -1.5rem;
      left: 1.5rem;
      transform: unset;
    }
    .image-info.image-info-vertical .image-center {
      margin-left: 1.75rem;
    }
  }
  @media (max-width: 576px) {
    .image-info.image-info-vertical .vertical-title > small {
      font-size: 0.65rem;
    }
  }

  /* Image Hover */
  .image-hover {
    display: block;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
    margin-bottom: 0;
  }
  .image-hover img {
    max-width: 100%;
    width: 100%;
  }
  .image-hover.image-hover-overlay:after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    background: rgba(var(--bs-black-rgb), 0.35);
    transition: opacity 0.25s ease-in-out;
    z-index: 0;
  }
  .image-hover.image-hover-overlay:hover:after {
    opacity: 1;
  }
  .image-hover.image-bottom-overlay:before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    right: 0;
    height: 6rem;
    background: linear-gradient(0deg, rgba(var(--bs-black-rgb), 0.75) 0%, rgba(var(--bs-black-rgb), 0) 100%);
    z-index: 1;
  }
  .image-hover.image-hover-scale img {
    transition: transform 0.25s ease-in-out;
  }
  .image-hover.image-hover-scale:hover img {
    transform: scale(1.055);
  }
  .image-hover .image-hover-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    opacity: 0;
    color: white;
    transition: opacity 0.25s ease-in-out;
    transform: translate(-50%, -50%);
    z-index: 2;
    background-color: rgba(var(--bs-black-rgb), 0.55);
    border-radius: 50%;
  }
  .image-hover:hover .image-hover-icon {
    opacity: 1;
  }

  /* ======= /Images ======= */
  /* ======= Backgrounds ======= */
  /* Background color */
  .bg-primary {
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
  }

  .bg-gray-gradient {
    background-color: var(--bs-light-gray) !important;
    background: linear-gradient(to bottom, var(--bs-light-gray) 0%, rgba(var(--bs-light-gray-rgb), 0.35) 100%) !important;
  }

  .bg-light-gray {
    background-color: var(--bs-light-gray) !important;
  }

  .bg-dark-blue {
    background: #0a3e59 !important;
  }

  .bg-video {
    position: relative;
    overflow: hidden;
  }
  .bg-video.bg-overlay:after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    top: 0;
    background-image: url(../img/background/dot.png);
    background-repeat: repeat;
    bottom: 0;
  }
  .bg-video .bg-content {
    position: relative;
    z-index: 2;
    height: 100%;
  }
  .bg-video.ratio::before {
    content: unset;
  }

  /* ======= /Backgrounds ======= */
  /* ======= Bottom Overlay ======= */
  .bottom-overlay {
    position: relative;
    display: block;
    overflow: hidden;
  }
  .bottom-overlay .bottom-overlay-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 5rem 1.5rem 1.5rem 1.5rem;
    color: white;
    background: linear-gradient(0deg, rgba(var(--bs-black-rgb), 0.85) 0%, rgba(var(--bs-black-rgb), 0) 100%);
  }
  .bottom-overlay:hover figure.image-hover-scale img {
    transform: scale(1.055);
  }
  .bottom-overlay:hover .image-hover-overlay:after {
    opacity: 1;
  }
  .bottom-overlay:hover .image-hover-icon {
    opacity: 1;
  }
  .bottom-overlay .float-badge {
    position: absolute;
    left: 0.7rem;
    top: 0.75rem;
    background-color: rgba(var(--bs-black-rgb), 0.45);
    padding: 0.45rem 0.4rem 0.25rem 0.4rem;
    border-radius: var(--bs-border-radius-sm);
  }
  .bottom-overlay .float-badge span {
    color: white;
    transform: rotate(180deg);
    writing-mode: vertical-lr;
    text-wrap: nowrap;
    line-height: 1;
    text-transform: uppercase;
    font-size: 0.65rem;
    letter-spacing: 0.115rem;
    font-weight: 400;
  }

  /* ======= /Bottom Overlay ======= */
  /* ======= Video box ======= */
  .video-box {
    border: 1px solid rgba(var(--bs-white-rgb), 0.35);
    padding: 3rem 1.5rem;
  }
  @media (min-width: 576px) {
    .video-box {
      padding: 6rem 1.5rem;
    }
  }

  /* ======= /Video box ======= */
  /* ======= Extra info ======= */
  .extra-info {
    display: inline-flex;
    align-items: center;
  }
  .extra-info strong {
    font-size: 1.75rem;
    font-weight: 600;
    margin-right: 0.5rem;
  }
  .extra-info span {
    color: var(--bs-secondary);
    font-weight: 400;
  }

  /* ======= /Extra info ======= */
  /* ======= Rates, Reviews, Awards ======= */
  /* Star rate */
  .star-rate-view {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108.9 103.6'%3E%3Cg data-name='Layer 2'%3E%3Cpath fill='%23ced4da' d='m108.9 39.6-37.6-5.5L54.4 0 37.6 34.1 0 39.6l27.2 26.5-6.4 37.5 33.6-17.7 33.7 17.7-6.4-37.5z' data-name='Layer 1'/%3E%3C/g%3E%3C/svg%3E");
    background-position: 0 0;
    background-repeat: repeat-x;
    display: inline-block;
    position: relative;
  }
  .star-rate-view.star-rate-size-xs {
    background-size: 10px;
    height: 10px;
    width: 50px;
  }
  .star-rate-view.star-rate-size-sm {
    background-size: 16px;
    height: 16px;
    width: 80px;
  }
  .star-rate-view, .star-rate-view.star-rate-size-md {
    background-size: 20px;
    height: 20px;
    width: 100px;
  }
  .star-rate-view.star-rate-size-lg {
    background-size: 24px;
    height: 24px;
    width: 144px;
  }
  .star-rate-view .star-value {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108.9 103.6'%3E%3Cg data-name='Layer 2'%3E%3Cpath fill='%23eeb461' d='m54.4 0 16.9 34.1 37.6 5.5-27.2 26.5 6.4 37.5-33.7-17.7-33.6 17.7 6.4-37.5L0 39.6l37.6-5.5z' data-name='Layer 1'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat-x;
    height: 100%;
    position: absolute;
    width: 100%;
    left: 0;
    background-size: inherit;
  }
  .star-rate-view .star-value.rate-0 {
    width: 0;
  }
  .star-rate-view .star-value.rate-5 {
    width: 10%;
  }
  .star-rate-view .star-value.rate-10 {
    width: 20%;
  }
  .star-rate-view .star-value.rate-15 {
    width: 30%;
  }
  .star-rate-view .star-value.rate-20 {
    width: 40%;
  }
  .star-rate-view .star-value.rate-25 {
    width: 50%;
  }
  .star-rate-view .star-value.rate-30 {
    width: 60%;
  }
  .star-rate-view .star-value.rate-35 {
    width: 70%;
  }
  .star-rate-view .star-value.rate-40 {
    width: 80%;
  }
  .star-rate-view .star-value.rate-45 {
    width: 90%;
  }
  .star-rate-view .star-value.rate-50 {
    width: 100%;
  }

  /* Inline review */
  .inline-review {
    display: flex;
    align-items: center;
    padding: 0.5rem 0;
    border-top: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color);
  }
  .inline-review .review-score {
    font-weight: 500;
    margin-right: 0.25rem;
  }
  .inline-review .star-rate-view {
    margin-right: 0.35rem;
  }
  .inline-review .review-total {
    color: var(--bs-secondary);
  }
  .inline-review.review-border-0 {
    padding: 0;
    border: 0;
  }

  /* Vertical review */
  .vertical-review {
    background-color: var(--bs-body-bg);
    text-align: center;
    overflow: hidden;
    width: 130px;
  }
  .vertical-review .review-content {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .vertical-review .review-score,
  .vertical-review .star-rate-view,
  .vertical-review .review-total {
    margin-bottom: 0.5rem;
  }
  .vertical-review .review-score {
    font-weight: 600;
    line-height: 1;
    margin-bottom: 0.75rem;
    font-size: 2.5rem;
  }
  .vertical-review .review-label {
    font-weight: 500;
    background-color: var(--bs-primary);
    color: white;
    padding: 0.05rem 0.5rem;
    display: inline-block;
    border-radius: var(--bs-border-radius-sm);
  }
  .vertical-review .review-footer {
    background-color: var(--bs-dark-blue);
    color: white;
    font-weight: 500;
    padding: 0.175rem 0.5rem;
  }

  /* Horizontal review */
  .horizontal-review {
    position: relative;
    overflow: hidden;
    background-color: white;
    padding: 1.5rem 1.5rem 1.5rem 3.25rem;
    width: 100%;
  }
  .horizontal-review .review-content {
    display: flex;
    align-items: center;
  }
  .horizontal-review .review-score {
    font-weight: 600;
    font-size: 3.5rem;
    margin-right: 1rem;
    line-height: 1;
    margin-bottom: 0.1rem;
  }
  .horizontal-review .review-total {
    display: flex;
    flex-direction: column;
    color: var(--bs-secondary);
    line-height: 1.35rem;
  }
  .horizontal-review .review-total .star-rate-view {
    margin-bottom: 0.25rem;
  }
  .horizontal-review .review-total strong {
    color: var(--bs-body-color);
  }
  .horizontal-review .review-link {
    border-top: 1px solid var(--bs-border-color);
    padding-top: 0.5rem;
    margin-top: 0.5rem;
  }
  .horizontal-review .review-label {
    transform: rotate(180deg);
    writing-mode: vertical-lr;
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
    left: 0;
    text-align: center;
  }
  .horizontal-review .review-label > small {
    color: white;
    background-color: var(--bs-primary);
    text-transform: uppercase;
    letter-spacing: 0.175rem;
    display: block;
    height: 100%;
    font-weight: 500;
    padding: 0.25rem;
    font-size: 0.75rem;
    min-width: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .horizontal-review .review-label.review-label-lg > small {
    font-size: 1rem;
  }
  .horizontal-review .review-label.review-label-sm > small {
    font-size: 0.65rem;
  }
  .horizontal-review .review-title {
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    line-height: 1;
  }

  /* Review summary */
  .review-summary {
    background-color: white;
    overflow: hidden;
    padding: 1.5rem;
  }
  .review-summary .review-title {
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .review-summary li {
    display: flex;
    align-items: center;
    padding: 0.25rem 0;
  }
  .review-summary .review-content {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
  }
  .review-summary .review-score {
    display: flex;
    align-items: center;
  }
  .review-summary .review-score strong {
    margin-right: 0.5rem;
  }
  .review-summary .review-lable {
    margin-right: auto;
  }

  /* Review list */
  .review-list .review-item {
    border-bottom: 1px solid var(--bs-border-color);
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .review-list .review-item p {
    font-style: italic;
  }
  .review-list .review-client {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
  }
  .review-list .review-name {
    display: flex;
    flex-direction: column;
  }
  .review-list .review-name strong {
    margin-bottom: 0.35rem;
    font-size: 1.175rem;
    color: var(--bs-emphasis-color);
  }
  .review-list .review-name strong small {
    color: var(--bs-secondary);
    font-weight: 400;
    font-size: 1rem;
  }
  .review-list .review-avatar {
    margin-right: 1rem;
    margin-bottom: 0;
  }
  .review-list .review-date {
    color: var(--bs-secondary);
  }
  .review-list .review-verify {
    color: var(--bs-primary);
    font-weight: 500;
  }

  /* Vertical Award */
  .vertical-award {
    background-color: var(--bs-body-bg);
    text-align: center;
    overflow: hidden;
    width: 130px;
  }
  .vertical-award .award-content {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .vertical-award .award-title {
    font-weight: 500;
    display: inline-block;
    line-height: 1.35;
    margin-top: 0.75rem;
    line-height: 1.15;
  }
  .vertical-award .award-footer {
    background-color: var(--bs-dark-blue);
    color: white;
    font-weight: 500;
    padding: 0.175rem 0.5rem;
  }

  /* Vertical experience */
  .vertical-experience {
    background-color: var(--bs-primary);
    color: white;
    padding: 1rem;
    text-align: center;
    overflow: hidden;
    width: 130px;
  }
  .vertical-experience.experience-white {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
  }
  .vertical-experience.experience-white .experience-year {
    color: var(--bs-primary);
  }
  .vertical-experience .experience-year {
    line-height: 1;
    margin-bottom: 0.55rem;
    font-size: 2.5rem;
  }
  .vertical-experience .experience-title {
    text-transform: uppercase;
    font-weight: 400;
    display: inline-block;
    line-height: 1.35;
  }

  /* ======= /Rates, Reviews, Awards ======= */
  /* ======= Price range ======= */
  .price-range {
    margin-bottom: 0.5rem;
  }
  .price-range .price-slider {
    height: 0.35rem;
    position: relative;
    background: #ddd;
    border-radius: 0.25rem;
  }
  .price-range .price-slider .progress {
    height: 100%;
    left: 0;
    right: 0;
    position: absolute;
    border-radius: 0.25rem;
    background: var(--bs-primary);
  }
  .price-range .price-slider .range-input {
    position: relative;
  }
  .price-range .price-slider .range-input input {
    position: absolute;
    width: 100%;
    height: 0.35rem;
    top: 0;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
  }
  .price-range .price-slider input[type=range]::-webkit-slider-thumb {
    height: 1rem;
    width: 1rem;
    border-radius: 50%;
    background: var(--bs-primary);
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
  }
  .price-range .price-slider input[type=range]::-moz-range-thumb {
    height: 1rem;
    width: 1rem;
    border: none;
    border-radius: 50%;
    background: var(--bs-primary);
    pointer-events: auto;
    -moz-appearance: none;
    appearance: none;
  }

  /* ======= /Price range ======= */
  /* ======= Countdown ======= */
  .countdown {
    display: inline-flex;
    align-items: center;
    padding-left: 0;
    list-style: none;
    text-align: center;
  }
  .countdown .date-time {
    display: block;
    min-width: 90px;
    padding: 0.5rem;
    background-color: rgba(var(--bs-white-rgb), 0.15);
  }
  .countdown .date-time:not(:last-child) {
    margin-right: 1rem;
  }
  .countdown .date-time .num {
    display: block;
    font-size: 2.15rem;
    font-weight: 500;
    line-height: 1.1;
  }
  .countdown .date-time .word {
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
  }
  @media (max-width: 575.98px) {
    .countdown .date-time {
      min-width: 70px;
    }
    .countdown .date-time:not(:last-child) {
      margin-right: 0.5rem;
    }
    .countdown .date-time .num {
      font-size: 1.85rem;
    }
    .countdown .date-time .word {
      font-size: 0.75rem;
    }
  }

  /* ======= /Countdown ======= */
  /* ======= Preloader  ======= */
  #preloader {
    position: fixed;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    z-index: 999;
  }

  /* ======= /Preloader  ======= */
  /* ======= Animation ======= */
  @keyframes slideIn {
    0% {
      opacity: 0;
      transform: translateY(-1rem);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  .slideIn {
    animation-delay: 0s;
    animation-fill-mode: both;
    animation: slideIn 0.35s both;
  }

  /* ======= /Animation ======= */
  /* ======= Scroll to top ======= */
  .scroll-top {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    opacity: 0;
    visibility: hidden;
    color: white;
    background: rgba(var(--bs-primary-rgb), 0.75);
    z-index: 100000;
    transition: all 0.35s ease-in-out;
    border-radius: 50%;
  }
  .scroll-top.active {
    opacity: 1;
    visibility: visible;
  }
  .scroll-top:hover {
    background: rgba(var(--bs-primary-rgb), 1);
  }

  /* ======= /Scroll to top ======= */
  /* ======= Header ======= */
  /* Topbar */
  .header-topbar {
    background-color: var(--bs-dark-blue);
    height: 40px;
    display: flex;
    align-items: center;
    font-size: 1rem;
  }
  .header-topbar a {
    color: white;
  }
  .header-topbar a:hover {
    color: var(--bs-primary);
  }
  /* slider posts principales */
  .splide__slide img {
    width: 315.987px;
    /* Ancho exacto */
    height: 394.975px;
    /* Alto exacto */
    object-fit: cover;
    /* Evita deformación, recortando si es necesario */
  }

  /* Navbar */
  .header-navbar {
    background-color: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease-in-out;
    position: relative;
    z-index: 1000;
  }

  .header-navbar .navbar {
    padding: 1rem 0;
    min-height: 80px;
    display: flex;
    align-items: center;
  }

  .header-navbar .navbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .header-navbar .navbar .navbar-brand {
    padding: 0;
    margin-right: auto;
    flex-shrink: 0;
  }

  .header-navbar .navbar .navbar-brand img {
    max-height: 48px;
    width: auto;
    transition: all 0.3s ease;
  }

  .header-navbar .navbar .navbar-nav {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2rem;
    margin-left: auto;
  }

  .header-navbar .navbar .nav-item {
    margin: 0;
  }

  .header-navbar .navbar .nav-link {
    color: var(--brand-green);
    font-size: 1.05rem;
    font-weight: 500;
    text-decoration: none;
    padding: 0.5rem 0;
    transition: color 0.3s ease;
    position: relative;
    display: inline-block;
  }

  .header-navbar .navbar .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #5b9f16;
    transition: width 0.3s ease;
  }

  .header-navbar .navbar .nav-link:hover,
  .header-navbar .navbar .nav-link:focus,
  .header-navbar .navbar .nav-link.active {
    color: #5b9f16;
  }

  .header-navbar .navbar .nav-link:hover::after,
  .header-navbar .navbar .nav-link.active::after {
    width: 100%;
  }

  /* Botón Contactar */
  .header-navbar .btn-contactar {
    background-color: var(--brand-green);
    color: white !important;
    padding: 0.7rem 1.8rem;
    border-radius: 50px;
    font-size: 1.05rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid var(--brand-green);
    display: inline-block;
    text-align: center;
  }

  .header-navbar .btn-contactar:hover {
    background-color: #4a7c2a;
    border-color: #4a7c2a;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(91, 159, 22, 0.3);
  }

  .header-navbar .btn-contactar::after {
    display: none;
  }

  /* Responsive */
  @media (max-width: 1199px) {
    .header-navbar .navbar .navbar-nav {
      gap: 1.5rem;
    }
    
    .header-navbar .navbar .nav-link {
      font-size: 1rem;
    }
    
    .header-navbar .btn-contactar {
      padding: 0.6rem 1.5rem;
      font-size: 1rem;
    }
  }

  @media (max-width: 991px) {
    .header-navbar .navbar .navbar-nav {
      gap: 1.2rem;
    }
    
    .header-navbar .navbar .nav-link {
      font-size: 0.95rem;
    }
    
    .header-navbar .btn-contactar {
      padding: 0.5rem 1.2rem;
      font-size: 0.95rem;
    }
  }

  @media (max-width: 768px) {
    .header-navbar .navbar {
      min-height: 70px;
      padding: 0.75rem 0;
    }
    
    .header-navbar .navbar .navbar-brand img {
      max-height: 40px;
    }
    
    .header-navbar .navbar .navbar-nav {
      gap: 1rem;
    }
    
    .header-navbar .navbar .nav-link {
      font-size: 0.9rem;
    }
    
    .header-navbar .btn-contactar {
      padding: 0.5rem 1rem;
      font-size: 0.9rem;
    }
  }

  @media (max-width: 576px) {
    .header-navbar .navbar .navbar-nav {
      gap: 0.8rem;
    }
    
    .header-navbar .navbar .nav-link {
      font-size: 0.85rem;
    }
    
    .header-navbar .btn-contactar {
      padding: 0.4rem 0.9rem;
      font-size: 0.85rem;
    }
  }

  /* Header sticky */
  .header-sticked .header-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    animation: slideDown 0.3s ease-in-out;
  }

  /* Ya no es necesario, el body tiene padding-top */
  /* .header-sticked + main {
    margin-top: 80px;
  } */

  @keyframes slideDown {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  /* ======= /Header ======= */
  /* ======= Heros ======= */
  /* Hero */
  .hero {
    position: relative;
    /* Hero background */
    /* Hero title */
    /* Hero sub title */
    /* Hero description */
    /* Hero badge */
    /* Hero Carousel */
    /* Hero video */
    /* Hero Page Title */
    /* Hero Reviews */
    /* Breadcrumb */
  }
  .hero .hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .hero .hero-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--bs-black-rgb), 0.5);
  }
  .hero .hero-bg.hero-without-overlay::after {
    content: unset;
  }
  .hero .hero-bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .hero .bg-content {
    position: relative;
  }
  .hero .hero-title {
    font-weight: 500;
    color: white;
  }
  .hero .hero-sub-title {
    font-weight: 400;
    color: var(--bs-light);
    text-transform: uppercase;
    letter-spacing: 0.175rem;
    display: block;
    margin-bottom: 1rem;
  }
  .hero .hero-desc {
    color: rgba(var(--bs-white-rgb), 0.85);
  }
  .hero .hero-badge {
    color: white;
    background-color: var(--bs-primary);
    display: inline-block;
    padding: 0.15rem 1rem;
    font-weight: 400;
    margin-bottom: 1.5rem;
  }
  .hero .hero-carousel .hero-item {
    position: relative;
  }
  .hero .hero-carousel .hero-caption {
    position: relative;
    text-align: center;
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .hero .hero-carousel .hero-action {
    display: inline-flex;
    align-items: center;
    margin-top: 1.5rem;
  }
  .hero .hero-carousel .carousel-indicators.hero-indicators {
    margin: 0;
    padding-left: 0.75rem;
    margin-bottom: 0;
    bottom: 2rem;
  }
  .hero .hero-carousel .carousel-indicators.hero-indicators [data-bs-target] {
    height: 6px;
    width: 18px;
    padding: 0;
    margin: 0 3px;
    border-top: 0 solid transparent;
    border-bottom: 0 solid transparent;
    transition: all 0.25s ease-in-out;
    border-radius: 3px;
  }
  .hero .hero-carousel .carousel-indicators.hero-indicators [data-bs-target].active {
    width: 40px;
  }
  .hero .hero-carousel .carousel-indicators.hero-indicators-right {
    left: 0;
    right: 0;
    margin: 0;
    bottom: 2rem;
    align-items: center;
  }
  .hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target] {
    width: 1.25rem;
    height: 1.25rem;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 50%;
    margin: 0.35rem 0 0.35rem 0.5rem;
    position: relative;
    transition: all 0.35s ease-in-out;
  }
  .hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target]::after {
    position: absolute;
    content: "";
    width: 0.85rem;
    height: 0.85rem;
    background-color: white;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    transition: all 0.35s ease-in-out;
  }
  .hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target].active {
    border-color: var(--bs-primary);
    opacity: 1;
    transition: all 0.35s ease-in-out;
  }
  .hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target].active::after {
    width: 0.35rem;
    height: 0.35rem;
    background-color: var(--bs-primary);
  }
  .hero .hero-carousel .carousel-control-next-icon,
  .hero .hero-carousel .carousel-control-prev-icon {
    background-color: rgba(var(--bs-black-rgb), 0.75);
    width: 48px;
    height: 48px;
    border: 0.75rem solid transparent;
    border-radius: 50%;
  }
  .hero .hero-carousel .carousel-control {
    display: none;
    align-items: center;
    bottom: 3.75rem;
    position: absolute;
    z-index: 1;
  }
  .hero .hero-carousel .carousel-control .carousel-control-next,
  .hero .hero-carousel .carousel-control .carousel-control-prev {
    position: relative;
    width: auto;
    transition: all 0.35s ease-in-out;
  }
  .hero .hero-carousel .carousel-control .carousel-control-next::after, .hero .hero-carousel .carousel-control .carousel-control-next::before,
  .hero .hero-carousel .carousel-control .carousel-control-prev::after,
  .hero .hero-carousel .carousel-control .carousel-control-prev::before {
    background-color: white;
    content: "";
  }
  .hero .hero-carousel .carousel-control .carousel-control-next::after,
  .hero .hero-carousel .carousel-control .carousel-control-prev::before {
    height: 1px;
    width: 80px;
  }
  .hero .hero-carousel .carousel-control .carousel-control-next::before,
  .hero .hero-carousel .carousel-control .carousel-control-prev::after {
    position: absolute;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
  }
  .hero .hero-carousel .carousel-control .carousel-control-next {
    margin-right: 0.5rem;
  }
  .hero .hero-carousel .carousel-control .carousel-control-next::after {
    margin-left: -1rem;
  }
  .hero .hero-carousel .carousel-control .carousel-control-next::before {
    right: 0;
  }
  .hero .hero-carousel .carousel-control .carousel-control-prev {
    margin-left: 0.5rem;
  }
  .hero .hero-carousel .carousel-control .carousel-control-prev::before {
    margin-right: -1rem;
  }
  .hero .hero-carousel .carousel-control .carousel-control-prev::after {
    left: 0;
  }
  .hero .hero-carousel .carousel-control .carousel-control-next-icon,
  .hero .hero-carousel .carousel-control .carousel-control-prev-icon {
    width: 1.5rem;
    height: 1.5rem;
    background-color: unset;
    border: unset;
  }
  @media (min-width: 576px) {
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
      flex-direction: column;
      left: unset;
      right: unset;
      bottom: unset;
      top: 50%;
      transform: translateY(-50%);
    }
    .hero .hero-carousel .carousel-indicators.hero-indicators-right [data-bs-target] {
      margin: 0.35rem 0;
    }
  }
  @media (min-width: 768px) {
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
      right: calc((100% - 640px) / 2 + 0.75rem);
    }
    .hero .hero-carousel .carousel-control {
      display: flex;
      left: calc((100% - 640px) / 2);
    }
  }
  @media (min-width: 992px) {
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
      right: calc((100% - 720px) / 2 + 0.75rem);
    }
    .hero .hero-carousel .carousel-control {
      left: calc((100% - 720px) / 2);
    }
  }
  @media (min-width: 1200px) {
    .hero .hero-carousel .hero-caption {
      display: flex;
      align-items: center;
      height: calc(100vh - 130px);
      padding-top: unset;
      padding-bottom: 4rem;
    }
    .hero .hero-carousel .hero-indicators {
      bottom: 7rem;
    }
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
      right: calc((100% - 1200px) / 2 + 0.75rem);
    }
    .hero .hero-carousel .carousel-control {
      left: calc((100% - 1200px) / 2);
    }
  }
  @media (min-width: 1400px) {
    .hero .hero-carousel .carousel-indicators.hero-indicators-right {
      right: calc((100% - 1360px) / 2 + 0.75rem);
    }
    .hero .hero-carousel .carousel-control {
      left: calc((100% - 1360px) / 2);
    }
  }
  .hero .hero-video .hero-caption {
    height: calc(100vh - 130px);
    position: relative;
    text-align: center;
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .hero .hero-page-title {
    text-align: center;
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .hero .hero-page-title.hero-title-search {
    padding-bottom: calc(160px + 3rem);
  }
  .hero .hero-review {
    display: inline-block;
    position: relative;
    color: white;
  }
  .hero .hero-review .review-content {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
  }
  .hero .hero-review .review-score {
    font-weight: 600;
    font-size: 3.5rem;
    margin-right: 1rem;
    line-height: 1;
    margin-bottom: 0.1rem;
  }
  .hero .hero-review .review-total {
    display: flex;
    flex-direction: column;
    line-height: 1.35rem;
  }
  .hero .hero-review .review-total .star-rate-view {
    margin-bottom: 0.25rem;
  }
  .hero .hero-review .review-label {
    text-align: center;
    display: inline-block;
  }
  .hero .hero-review .review-label > small {
    color: white;
    background-color: var(--bs-primary);
    text-transform: uppercase;
    letter-spacing: 0.175rem;
    display: block;
    height: 100%;
    font-weight: 500;
    padding: 0.25rem 0.75rem 0.25rem 1rem;
    font-size: 0.75rem;
    min-width: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--bs-border-radius-sm);
  }
  .hero .hero-review .review-label > small.review-label-lg {
    font-size: 1rem;
  }
  .hero .hero-review .review-label > small.review-label-sm {
    font-size: 0.65rem;
  }
  .hero .hero-review .review-title {
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    line-height: 1;
  }
  .hero nav[aria-label=breadcrumb] {
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    height: 100%;
    font-size: 0.65rem;
    letter-spacing: 0.135rem;
    z-index: 1;
    display: none;
  }
  .hero nav[aria-label=breadcrumb] .breadcrumb {
    transform: rotate(180deg);
    writing-mode: vertical-lr;
    color: var(--bs-dark-gray);
    text-transform: uppercase;
    background-color: rgba(var(--bs-black-rgb), 0.35);
    padding: 0.85rem 0.35rem 0.75rem 0.35rem;
    margin: 0;
    border-radius: var(--bs-border-radius-sm);
  }
  .hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item + .breadcrumb-item {
    padding-left: unset;
    padding-top: 0.35rem;
  }
  .hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    padding-right: unset;
    padding-bottom: 0.35rem;
  }
  .hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item a {
    color: white;
  }
  .hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item a:hover {
    color: var(--bs-primary);
  }
  .hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item.active, .hero nav[aria-label=breadcrumb] .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(var(--bs-white-rgb), 0.5);
  }
  @media (min-width: 768px) {
    .hero nav[aria-label=breadcrumb] {
      display: flex;
      left: 0.75rem;
    }
  }
  @media (min-width: 1200px) {
    .hero nav[aria-label=breadcrumb] {
      left: calc((100% - 1200px) / 2 + 0.75rem);
    }
  }
  @media (min-width: 1400px) {
    .hero nav[aria-label=breadcrumb] {
      left: calc((100% - 1360px) / 2 + 0.75rem);
    }
  }

  /* ======= /Heros ======= */
  /* ======= Searchs ======= */
  /* Search tours */
  .search-tours {
    position: relative;
    z-index: 1;
    padding-top: 3rem;
    padding-bottom: 3rem;
    /* Seach hero */
  }
  .search-tours .search-tour-form {
    border-radius: var(--bs-border-radius);
  }
  .search-tours .btn-search-tour {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    min-width: auto;
    background-color: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
  }

  .search-tours .btn-search-tour:hover {
    background-color: #333333 !important;
    border-color: #333333 !important;
    color: #ffffff !important;
  }
  .search-tours.search-hero {
    border-bottom: 1px solid var(--bs-border-color);
  }
  .search-tours.search-hero .search-tour-form {
    background-color: var(--bs-light-gray);
  }
  .search-tours.search-hero .search-tour-input {
    position: relative;
    padding: 1.5rem;
  }
  @media (min-width: 1200px) {
    .search-tours {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
    }
    .search-tours.search-hero {
      padding-top: unset;
      padding-bottom: unset;
      border-bottom: unset;
      /* Searh half */
    }
    .search-tours.search-hero .search-tour-form {
      border-radius: 0;
      border-top-right-radius: var(--bs-border-radius);
      border-top-left-radius: var(--bs-border-radius);
      position: absolute;
      bottom: 100%;
      right: 0;
      width: 100%;
      background-color: var(--bs-light-gray);
      z-index: 1;
    }
    .search-tours.search-hero .search-tour-input {
      padding: 1rem;
    }
    .search-tours.search-hero.search-hero-half .search-tour-input {
      padding: 1.25rem;
    }
  }

  /* ======= /Searchs ======= */
  /* ======= Block titles ======= */
  .block-title {
    margin-bottom: 1rem;
  }
  .block-title .title {
    margin-bottom: 0;
    font-weight: 500;
  }
  .block-title .sub-title {
    text-transform: uppercase;
    color: var(--bs-primary);
    letter-spacing: 0.175rem;
    font-weight: 400;
    display: block;
    margin-bottom: 0.5rem;
  }

  /* ======= /Block titles ======= */
  /* ======= Title Info ======= */
  .title-info {
    position: relative;
    z-index: 2;
  }
  @media (min-width: 1200px) {
    .title-info {
      padding-top: 0;
    }
  }
  @media (min-width: 1200px) {
    .title-info .title-info-body {
      position: absolute;
      bottom: 0;
      right: 0;
      left: 0;
    }
  }

  /* ======= /Title Info ======= */
  /* ======= Destinations, Tours ======= */
  /* Destinations */
  .destination .destination-content {
    display: flex;
    align-items: center;
  }
  .destination .destination-content .destination-info {
    margin-right: auto;
  }
  .destination .destination-content .destination-info .destination-title {
    margin-bottom: 0;
  }
  .destination.destination-center {
    text-align: center;
  }
  .destination.destination-center .destination-icon {
    margin-bottom: 1rem;
  }
  .destination.destination-center .destination-title {
    margin-bottom: 0;
  }
  @media (max-width: 768px) {
    .destination.destination-center .destination-icon {
      margin-bottom: 0.35rem;
    }
  }

  /* Tour list */
  .tour-list .tour-item {
    background-color: var(--bs-body-bg);
    overflow: hidden;
  }
  .tour-list .tour-item .tour-img {
    position: relative;
  }
  .tour-list .tour-item .tour-like {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
  }
  .tour-list .tour-item .tour-content {
    position: relative;
    padding: 1.5rem;
    width: 100%;
  }
  .tour-list .tour-item .tour-content .tour-title {
    font-size: 1.5rem;
  }
  .tour-list .tour-item .tour-content .tour-title a {
    color: var(--bs-body-color);
  }
  .tour-list .tour-item .tour-content .tour-title a:hover {
    color: var(--bs-primary);
  }
  .tour-list .tour-item .tour-content .tour-info {
    display: flex;
    align-items: center;
  }
  .tour-list .tour-item .tour-content .tour-info .tour-itinerary {
    margin-bottom: 1rem;
    margin-right: 0.5rem;
    font-size: 1rem;
  }
  .tour-list .tour-item .tour-content .tour-info .tour-itinerary span {
    margin-right: 0.75rem;
  }
  .tour-list .tour-item .tour-content .tour-info .inline-review {
    margin-bottom: 1rem;
  }
  .tour-list .tour-item .tour-content .tour-booking {
    display: flex;
    align-items: center;
    width: 100%;
  }
  .tour-list .tour-item .tour-content .tour-booking .tour-price {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
  }
  .tour-list .tour-item .tour-content .tour-booking .tour-price strong {
    font-weight: 600;
    font-size: 1.5rem;
    margin-right: 0.25rem;
  }
  .tour-list .tour-item .tour-content .tour-booking .tour-price span {
    font-size: 1rem;
    color: var(--bs-secondary);
    font-weight: 400;
  }
  @media (max-width: 1399.98px) {
    .tour-list .tour-item .tour-content .tour-title {
      font-size: 1.275rem;
    }
    .tour-list .tour-item .tour-content .tour-info {
      margin-bottom: 0.75rem;
    }
    .tour-list .tour-item .tour-content .tour-info .tour-itinerary {
      margin-bottom: 0.75rem;
    }
  }
  @media (max-width: 1199.98px) {
    .tour-list .tour-item .tour-content .tour-info {
      display: block;
      align-items: unset;
    }
    .tour-list .tour-item .tour-content .tour-info .tour-itinerary {
      margin-bottom: 0.55rem;
    }
    .tour-list .tour-item .tour-content .tour-info .inline-review {
      margin-bottom: 0.55rem;
    }
    .tour-list .tour-item .tour-content .tour-booking {
      display: flex;
      align-items: center;
      width: 100%;
    }
    .tour-list .tour-item .tour-content .tour-booking .tour-price strong {
      font-size: 1.35rem;
    }
    .tour-list .tour-item .tour-content .tour-booking .tour-price span {
      font-size: 0.85rem;
    }
  }

  /* Tour grid */
  .tour-grid .tour-item {
    background-color: var(--bs-body-bg);
    overflow: hidden;
  }
  .tour-grid .tour-item .tour-img {
    position: relative;
  }
  .tour-grid .tour-item .tour-like {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
  }
  .tour-grid .tour-item .tour-content {
    position: relative;
    padding: 1.5rem;
    width: 100%;
  }
  .tour-grid .tour-item .tour-content .tour-title {
    font-size: 1.275rem;
  }
  .tour-grid .tour-item .tour-content .tour-title a {
    color: var(--bs-body-color);
  }
  .tour-grid .tour-item .tour-content .tour-title a:hover {
    color: var(--bs-primary);
  }
  .tour-grid .tour-item .tour-content .tour-itinerary {
    margin-bottom: 1rem;
    margin-right: 0.5rem;
    font-size: 1rem;
  }
  .tour-grid .tour-item .tour-content .tour-itinerary span {
    margin-right: 0.75rem;
  }
  .tour-grid .tour-item .tour-content .inline-review {
    margin-bottom: 1rem;
  }
  .tour-grid .tour-item .tour-content .tour-booking {
    display: flex;
    align-items: center;
    width: 100%;
  }
  .tour-grid .tour-item .tour-content .tour-booking .tour-price {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
  }
  .tour-grid .tour-item .tour-content .tour-booking .tour-price strong {
    font-weight: 600;
    font-size: 1.5rem;
    margin-right: 0.25rem;
  }
  .tour-grid .tour-item .tour-content .tour-booking .tour-price span {
    font-size: 1rem;
    color: var(--bs-secondary);
    font-weight: 400;
  }

  /* ======= /Destinations, Tours ======= */
  /* ======= Testimonials ======= */
  /* Box */
  .testimonial-box {
    position: relative;
    background-color: var(--bs-body-bg);
    padding: 1.5rem;
  }
  .testimonial-box .testimonial-icon {
    font-size: 3.5rem;
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
    opacity: 0.05;
    line-height: 1;
  }
  .testimonial-box .testimonial-client {
    display: flex;
    align-items: center;
    margin-bottom: 1.15rem;
  }
  .testimonial-box .testimonial-client img {
    margin-right: 1rem;
    max-width: 64px;
    border-radius: 50%;
  }
  .testimonial-box .testimonial-client span {
    font-size: 0.875rem;
    color: var(--bs-secondary);
    font-weight: normal;
  }
  .testimonial-box .testimonial-review {
    font-style: italic;
  }
  .testimonial-box .testimonial-star {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .testimonial-box .testimonial-date {
    font-size: 0.85rem;
    padding: 0.15rem 0.45rem;
    font-weight: 400;
    color: white;
    background-color: var(--bs-primary);
  }

  /* Above */
  .testimonial-above {
    position: relative;
    text-align: center;
  }
  .testimonial-above .testimonial-content {
    background-color: var(--bs-body-bg);
    padding: 1.5rem;
    position: relative;
  }
  .testimonial-above .testimonial-content .testimonial-review {
    font-style: italic;
  }
  .testimonial-above .testimonial-content .testimonial-name span {
    font-size: 0.875rem;
    color: var(--bs-secondary);
    font-weight: normal;
  }
  .testimonial-above .testimonial-content .testimonial-star {
    display: inline-block;
    margin-bottom: 0.5rem;
  }
  .testimonial-above .testimonial-content::after {
    background: var(--bs-body-bg);
    border-right: 1px solid var(--bs-body-bg);
    border-bottom: 1px solid var(--bs-body-bg);
    content: "";
    height: 1rem;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    position: absolute;
    bottom: -0.5rem;
    width: 1rem;
    z-index: 0;
    box-shadow: var(--bs-box-shadow-xs);
  }
  .testimonial-above .testimonial-avatar {
    display: inline-block;
    position: relative;
    margin-top: 1.5rem;
    border: 3px solid var(--bs-body-bg);
    border-radius: 50%;
  }
  .testimonial-above .testimonial-avatar img {
    width: 80px;
    border-radius: 50%;
  }
  .testimonial-above .testimonial-avatar .testimonial-icon {
    position: absolute;
    top: 0;
    right: -0.75rem;
    width: 32px;
    height: 32px;
    display: inline-flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-size: 0.85rem;
    background-color: var(--bs-primary);
    color: white;
    border-radius: 50%;
  }

  /* Inline */
  .testimonial-inline {
    text-align: center;
  }
  .testimonial-inline .testimonial-avatar {
    display: inline-block;
    position: relative;
    margin-bottom: 1rem;
  }
  .testimonial-inline .testimonial-avatar img {
    border-radius: 50%;
    width: 80px;
  }
  .testimonial-inline .testimonial-icon {
    position: absolute;
    top: 0;
    right: -0.75rem;
    width: 32px;
    height: 32px;
    display: inline-flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-size: 0.85rem;
    background-color: var(--bs-primary);
    color: white;
    border-radius: 50%;
  }
  .testimonial-inline .testimonial-review {
    font-style: italic;
    margin-bottom: 0.55rem;
  }
  .testimonial-inline .testimonial-star {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.75rem;
  }
  .testimonial-inline .testimonial-date {
    font-size: 0.85rem;
    margin-left: 0.5rem;
    color: var(--bs-secondary);
  }
  .testimonial-inline .testimonial-user {
    display: inline-flex;
    flex-direction: column;
    text-wrap: nowrap;
  }
  .testimonial-inline .testimonial-user span {
    font-size: 0.875rem;
    color: var(--bs-secondary);
    font-weight: normal;
  }
  @media (min-width: 1200px) {
    .testimonial-inline {
      display: flex;
      align-items: center;
      text-align: left;
    }
    .testimonial-inline .testimonial-avatar {
      margin-right: 2.5rem;
      margin-bottom: 0;
    }
    .testimonial-inline .testimonial-star {
      margin-bottom: 0;
    }
    .testimonial-inline .testimonial-user {
      border-left: 1px solid var(--bs-border-color);
      padding-left: 1.5rem;
      margin-left: 1.5rem;
    }
  }

  /* ======= /Testimonials ======= */
  /* ======= Team ======= */
  .team {
    position: relative;
    overflow: hidden;
    background-color: white;
    text-align: center;
  }
  .team img {
    width: 100%;
  }
  .team .team-info {
    padding: 1.5rem;
    position: relative;
    transition: 0.25s all ease-in-out;
  }
  .team .team-name {
    margin-bottom: 0;
    transition: 0.25s all ease-in-out;
  }
  .team .team-city {
    font-size: 0.875rem;
    color: var(--bs-secondary);
    font-weight: normal;
    display: block;
    transition: 0.35s all ease-in-out;
  }
  .team .social-list {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    opacity: 0;
    transition: 0.35s all ease-in-out;
  }
  .team:hover .team-info .team-name,
  .team:hover .team-info .team-city {
    opacity: 0;
  }
  .team:hover .social-list {
    opacity: 1;
  }

  /* ======= /Team ======= */
  /* ======= Posts ======= */
  /* Post mini */
  .post-mini {
    display: flex;
    align-items: center;
  }
  .post-mini .post-img {
    display: block;
    max-width: 128px;
    flex-shrink: 0;
    overflow: hidden;
  }
  .post-mini .post-img img {
    width: 100%;
  }
  .post-mini .post-content {
    flex-grow: 1;
    padding-left: 1.5rem;
  }
  .post-mini .post-title {
    margin-bottom: 0.5rem;
    font-size: 1.15rem;
  }
  .post-mini .post-title a {
    color: var(--bs-body-color);
  }
  .post-mini .post-title a:hover, .post-mini .post-title a:focus {
    color: var(--bs-primary);
  }
  .post-mini .post-ext {
    display: inline-flex;
    align-items: center;
    font-size: 0.85rem;
    color: var(--bs-secondary);
    font-weight: 400;
  }
  .post-mini .post-ext .post-date,
  .post-mini .post-ext .post-comment,
  .post-mini .post-ext .post-view {
    margin-right: 0.75rem;
  }
  @media (max-width: 1200px) {
    .post-mini .post-img {
      max-width: 160px;
    }
  }
  @media (max-width: 576px) {
    .post-mini .post-img {
      max-width: 110px;
    }
  }

  /* Post */
  .post {
    position: relative;
    background-color: var(--bs-body-bg);
  }
  .post .post-img {
    position: relative;
  }
  .post .post-content {
    padding: 1.5rem;
  }
  .post .post-title {
    margin-bottom: 0.5rem;
    font-size: 1.275rem;
  }
  .post .post-title a {
    color: var(--bs-body-color);
  }
  .post .post-title a:hover, .post .post-title a:focus {
    color: var(--bs-primary);
  }
  .post .post-link {
    display: flex;
    align-items: center;
  }
  .post .post-link .post-ext {
    display: inline-flex;
    align-items: center;
    font-size: 0.85rem;
    color: var(--bs-secondary);
    font-weight: 400;
    margin-right: auto;
  }
  .post .post-link .post-ext .post-date,
  .post .post-link .post-ext .post-comment,
  .post .post-link .post-ext .post-view {
    margin-right: 0.75rem;
  }

  /* Post content */
  .post-content h2 {
    font-size: 1.75rem;
  }
  .post-content h3 {
    font-size: 1.55rem;
  }
  .post-content h4 {
    font-size: 1.35rem;
  }
  .post-content blockquote {
    position: relative;
    font-size: 1.175rem;
    color: var(--bs-secondary);
    font-style: italic;
    border-left: 3px solid var(--bs-border-color);
    padding-left: 1rem;
    font-weight: 400;
  }

  /* Post category */
  .post-category {
    list-style: none;
    padding-left: 0;
    font-size: 1.175rem;
  }
  .post-category li a {
    position: relative;
    padding: 0.25rem 0 0.25rem 1.5rem;
    display: flex;
    align-items: center;
    color: var(--bs-body-color);
  }
  .post-category li a::before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: "\f2a5";
    padding: 0.25rem 0;
    font-weight: 600;
    font-family: icons;
    margin-right: 0.5rem;
  }
  .post-category li a span {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 400;
    font-size: 1rem;
    color: var(--bs-secondary);
  }
  .post-category li a:hover, .post-category li a:hover span {
    color: var(--bs-primary);
  }

  /* Post tags */
  .tag-list {
    list-style: none;
    padding-left: 0;
  }
  .tag-list li {
    display: inline-block;
    margin-right: 0.35rem;
  }
  .tag-list li a {
    display: inline-block;
    font-size: 1rem;
    background-color: var(--bs-gray-300);
    padding: 0.15rem 0.75rem;
    margin: 0.275rem 0;
    color: var(--bs-body-color);
    border-radius: 0.25rem;
    transition: 0.35s all ease-in-out;
    font-weight: 400;
  }
  .tag-list li a:hover {
    background-color: var(--bs-primary);
    color: white;
  }
  .tag-list.tag-lg li a {
    font-size: var(--bs-body-font-size);
    padding: 0.215rem 1rem;
  }

  /* Post comment */
  .comment-list .comment-item {
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
  }
  .comment-list .comment-item p {
    font-style: italic;
  }
  .comment-list .comment-client {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
  }
  .comment-list .comment-avatar {
    flex-shrink: 0;
    margin-bottom: 0;
    margin-right: 1rem;
  }
  .comment-list .comment-name {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }
  .comment-list .comment-name strong {
    font-size: 1.175rem;
    color: var(--bs-emphasis-color);
  }
  .comment-list .comment-name small {
    color: var(--bs-secondary);
  }
  .comment-list .comment-report {
    font-weight: 400;
    font-size: 0.875rem;
  }
  .comment-list .comment-report:hover {
    color: var(--bs-secondary);
  }

  /* ======= /Posts ======= */
  /* ======= Form contact ======= */
  .form-contact {
    background-color: var(--bs-primary);
    z-index: 1;
    position: relative;
    padding: 1.5rem;
  }
  @media (min-width: 992px) {
    .form-contact {
      margin-top: -5.55rem;
    }
  }

  /* ======= /Form contact ======= */
  /* ======= Account ======= */
  /* Account menu */
  .account-menu {
    list-style: none;
    padding-left: 0;
  }
  .account-menu .menu-item a {
    display: block;
    color: var(--bs-body-color);
    padding: 0.35rem 0;
  }
  .account-menu .menu-item a:hover, .account-menu .menu-item a.active {
    color: var(--bs-primary);
  }
  .account-menu .menu-item a i {
    margin-right: 0.25rem;
  }

  /* Account user */
  .account-user {
    display: flex;
    align-items: center;
  }
  .account-user .user-avatar {
    position: relative;
    display: inline-block;
    margin-right: 1.25rem;
  }
  .account-user .user-avatar .show-avatar {
    width: 64px;
    height: 64px;
  }
  .account-user .user-avatar .btn-update-avatar,
  .account-user .user-avatar .select-avatar {
    position: absolute;
    padding: 0;
    height: 24px;
    width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 0.75rem;
  }
  .account-user .user-avatar .btn-update-avatar {
    bottom: 0;
    right: 0;
  }
  .account-user .user-avatar .select-avatar {
    background-color: var(--bs-light-gray);
    border: 1px solid var(--bs-border-color);
    top: 0;
    right: 0;
    transition: all 0.25s ease-in-out;
    cursor: pointer;
  }
  .account-user .user-avatar .select-avatar:hover, .account-user .user-avatar .select-avatar:focus {
    background-color: var(--bs-secondary);
    border: 1px solid var(--bs-secondary);
    color: white;
  }
  .account-user .username {
    display: flex;
    flex-direction: column;
  }
  .account-user .username span {
    font-weight: 400;
    color: var(--bs-secondary);
  }
  .account-user .username strong {
    font-weight: 500;
    font-size: 1.275rem;
  }

  /* Booking status */
  .booking-status {
    padding: 0.25rem 0.75rem;
    border-radius: var(--bs-border-radius-sm);
    display: inline-block;
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.15;
    min-width: 100px;
    text-align: center;
  }
  .booking-status.booking-unpaid {
    background-color: rgba(var(--bs-danger-rgb), 0.1);
    color: var(--bs-danger);
  }
  .booking-status.booking-cancelled {
    background-color: rgba(var(--bs-dark-rgb), 0.1);
    color: var(--bs-dark);
  }
  .booking-status.booking-completed {
    background-color: rgba(var(--bs-success-rgb), 0.1);
    color: var(--bs-success);
  }
  .booking-status.booking-processing {
    background-color: rgba(var(--bs-warning-rgb), 0.1);
    color: var(--bs-warning);
  }

  /* ======= /Account ======= */
  /* ======= Booking ======= */
  /* Book Infomation */
  .book-info {
    margin-bottom: 2rem;
  }

  .book-info .block-title .title {
    color: var(--bs-emphasis-color);
  }

  .book-info .book-question {
    margin-top: 1.5rem;
  }

  .book-info .question-contact {
    display: flex;
    flex-direction: column;
  }

  .book-info .question-contact > * {
    margin-right: 1rem;
    color: var(--bs-emphasis-color);
    font-weight: 500;
    margin-bottom: 1rem;
  }

  .book-info .question-contact > *:hover {
    color: var(--bs-secondary);
  }

  .book-info.info-light,
  .book-info.info-light .block-title .title,
  .book-info.info-light .question-contact > * {
    color: white;
  }

  .book-info.info-light .question-contact > *:hover {
    color: var(--bs-primary);
  }

  @media (min-width: 768px) {
    .book-info .question-contact {
      align-items: center;
      flex-direction: row;
    }
  }
  @media (min-width: 1200px) {
    .book-info {
      margin-bottom: 0;
    }
    .book-info {
      margin-right: 3rem;
    }
  }
  /* Booking process */
  .booking-process {
    position: relative;
    height: 32px;
    margin-left: 16px;
    margin-right: 16px;
  }
  .booking-process::before, .booking-process::after {
    position: absolute;
    content: "";
    height: 2px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
  }
  .booking-process::before {
    background-color: var(--bs-dark-border-subtle);
    right: 0;
  }
  .booking-process::after {
    background-color: var(--bs-primary);
  }
  .booking-process[data-booking-step="1"]::after {
    background-color: var(--bs-primary);
    right: 50%;
  }
  .booking-process[data-booking-step="2"]::after {
    background-color: var(--bs-primary);
    right: 0;
  }
  .booking-process[data-booking-step="3"]::after, .booking-process[data-booking-step="4"]::after {
    background-color: var(--bs-primary);
    right: 0;
  }
  .booking-process .booking-step {
    background-color: var(--bs-dark-border-subtle);
    color: white;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
  }
  .booking-process .booking-step.step-1 {
    left: -16px;
  }
  .booking-process .booking-step.step-2 {
    left: calc(50% - 16px);
  }
  .booking-process .booking-step.step-3 {
    left: calc(100% - 16px);
  }
  .booking-process[data-booking-step="1"] .step-1 {
    background-color: var(--bs-primary);
  }
  .booking-process[data-booking-step="2"] .step-1,
  .booking-process[data-booking-step="2"] .step-2 {
    background-color: var(--bs-primary);
  }
  .booking-process[data-booking-step="3"] .step-1,
  .booking-process[data-booking-step="3"] .step-2,
  .booking-process[data-booking-step="3"] .step-3 {
    background-color: var(--bs-primary);
  }

  /* ======= /Process ======= */
  /* ======= Footer ======= */
  .footer {
    position: relative;
    background-color: #042233;
    color: rgba(var(--bs-white-rgb), 0.65);
  }
  .footer .footer-top {
    border-bottom: 1px solid rgba(var(--bs-white-rgb), 0.15);
    margin-bottom: 45px;
  }
  .footer a {
    color: white;
  }
  .footer a:hover {
    color: var(--bs-primary);
  }
  .footer .social-list .social-item a svg {
    stroke: white;
  }
  .footer .footer-widget {
    margin-bottom: 2.5rem;
  }
  .footer .footer-widget h2 {
    color: white;
  }
  .footer .brand-img {
    display: inline-block;
    margin-bottom: 1.5rem;
  }
  .footer .footer-link {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .footer .footer-link .link-item {
    padding: 0 0 0.5rem 0;
  }
  .footer .footer-link .link-item a {
    display: inline-block;
    padding: 0.125rem 0;
  }
  .footer .footer-local,
  .footer .footer-local a {
    display: flex;
    align-items: center;
  }

  /* ======= /Footer ======= */
  /* ======= Utilities  ======= */
  /* Pading */
  .p-top-50 {
    padding-top: 50px !important;
  }

  .p-bottom-50 {
    padding-bottom: 50px !important;
  }

  .p-top-60 {
    padding-top: 60px !important;
  }

  .p-bottom-60 {
    padding-bottom: 60px !important;
  }

  .p-top-70 {
    padding-top: 70px !important;
  }

  .p-bottom-70 {
    padding-bottom: 70px !important;
  }

  .p-top-80 {
    padding-top: 80px !important;
  }

  .p-bottom-80 {
    padding-bottom: 80px !important;
  }

  .p-top-90 {
    padding-top: 90px !important;
  }

  .p-bottom-90 {
    padding-bottom: 90px !important;
  }

  .p-top-100 {
    padding-top: 100px !important;
  }

  .p-bottom-100 {
    padding-bottom: 100px !important;
  }

  .p-top-110 {
    padding-top: 110px !important;
  }

  .p-bottom-110 {
    padding-bottom: 110px !important;
  }

  .p-top-120 {
    padding-top: 120px !important;
  }

  .p-bottom-120 {
    padding-bottom: 120px !important;
  }

  .p-top-130 {
    padding-top: 130px !important;
  }

  .p-bottom-130 {
    padding-bottom: 130px !important;
  }

  .p-top-140 {
    padding-top: 140px !important;
  }

  .p-bottom-140 {
    padding-bottom: 140px !important;
  }

  .p-top-150 {
    padding-top: 150px !important;
  }

  .p-bottom-150 {
    padding-bottom: 150px !important;
  }

  .p-top-160 {
    padding-top: 160px !important;
  }

  .p-bottom-160 {
    padding-bottom: 160px !important;
  }

  .p-top-170 {
    padding-top: 170px !important;
  }

  .p-bottom-170 {
    padding-bottom: 170px !important;
  }

  .p-top-180 {
    padding-top: 180px !important;
  }

  .p-bottom-180 {
    padding-bottom: 180px !important;
  }

  .p-top-190 {
    padding-top: 190px !important;
  }

  .p-bottom-190 {
    padding-bottom: 190px !important;
  }

  .p-top-200 {
    padding-top: 200px !important;
  }

  .p-bottom-200 {
    padding-bottom: 200px !important;
  }

  /* Min width */
  .mnw-150 {
    min-width: 150px !important;
  }

  .mnw-160 {
    min-width: 160px !important;
  }

  .mnw-170 {
    min-width: 170px !important;
  }

  .mnw-180 {
    min-width: 180px !important;
  }

  .mnw-190 {
    min-width: 190px !important;
  }

  .mnw-200 {
    min-width: 200px !important;
  }

  /* font sizes */
  .fsm-1 {
    font-size: 1rem !important;
  }

  .fsm-2 {
    font-size: 0.95rem !important;
  }

  .fsm-3 {
    font-size: 0.9rem !important;
  }

  .fsm-4 {
    font-size: 0.85rem !important;
  }

  .fsm-5 {
    font-size: 0.8rem !important;
  }

  .fsm-6 {
    font-size: 0.75rem !important;
  }

  .fsm-7 {
    font-size: 0.7rem !important;
  }

  .fsm-8 {
    font-size: 0.65rem !important;
  }

  /* Line height */
  .lh-xs {
    line-height: 1.15 !important;
  }

  /* Sticky */
  .sticky-top-120 {
    top: 120px !important;
  }

  /* ======= /Utilities  ======= */
  /* ======= Containers ======= */
  @media (min-width: 576px) {
    .container,
    .container-sm {
      max-width: 540px;
    }
  }
  @media (min-width: 768px) {
    .container,
    .container-md,
    .container-sm {
      max-width: 640px;
    }
  }
  @media (min-width: 992px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm {
      max-width: 720px;
    }
  }
  @media (min-width: 1200px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
      max-width: 1200px;
    }
  }
  @media (min-width: 1400px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
      max-width: 1360px;
    }
  }
  /* ======= /Containers ======= */

  /* ======= Custom Icon Styles ======= */
  .hicon-search-box {
    color: #ffffff !important;
  }

  /* Botón de búsqueda en blanco */
  button .hicon-search-box,
  .circle-icon .hicon-search-box {
    color: #ffffff !important;
  }

  button:hover .hicon-search-box,
  .circle-icon:hover .hicon-search-box {
    color: #ffffff !important;
  }
  /* ======= /Custom Icon Styles ======= */

  /*# sourceMappingURL=main.css.map */

  /* ========================================
    ESTILOS PERSONALIZADOS OLIVEZA
    ======================================== */

  /* Logo Header */
  .navbar-brand img {
      max-height: 48px !important;
      width: auto !important;
      transition: all 0.3s ease;
  }

  .navbar-brand:hover img {
      transform: scale(1.05);
  }

  /* Responsive para móviles */
  @media (max-width: 768px) {
      .navbar-brand img {
          max-height: 40px !important;
      }
  }

  @media (max-width: 576px) {
      .navbar-brand img {
          max-height: 36px !important;
      }
  }

  /* ========================================
    ESTILOS HEADER PERSONALIZADO OLIVEZA
    ======================================== */

  /* Header principal */
  #header {
      background: #ffffff;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 1000;
  }

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

  .header-navbar .navbar {
      padding: 0;
      display: flex !important;
      align-items: center;
      width: 100%;
  }

  .header-navbar .container {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      gap: 1rem;
  }

  /* Logo */
  .navbar-brand {
      display: flex;
      align-items: center;
      margin-right: auto;
      padding: 0;
      flex-shrink: 0;
  }

  .navbar-brand img {
      max-height: 50px !important;
      width: auto !important;
      height: auto !important;
      object-fit: contain;
  }

  /* Menú de navegación */
  .navbar-nav {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      gap: 2rem;
      margin-left: auto !important;
      margin-right: 0 !important;
      list-style: none !important;
      margin-bottom: 0 !important;
      padding-left: 0 !important;
  }

  .nav-item {
      margin: 0 !important;
      padding: 0 !important;
      display: inline-block !important;
  }

  .nav-link {
      color: var(--brand-green) !important;
      font-weight: 500;
      font-size: 1rem;
      padding: 0.5rem 0 !important;
      position: relative;
      transition: color 0.3s ease;
      text-decoration: none;
      white-space: nowrap;
  }

  .nav-link:hover {
      color: #4a7c2a !important;
  }

  .nav-link::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0;
      height: 2px;
      background-color: #4a7c2a;
      transition: width 0.3s ease;
  }

  .nav-link:hover::after {
      width: 100%;
  }

  /* Botón Contactar */
  .btn-contactar {
      background-color: var(--brand-green) !important;
      color: #ffffff !important;
      padding: 0.6rem 1.8rem !important;
      border-radius: 6px !important;
      font-weight: 500;
      border: none;
      transition: all 0.3s ease;
      text-decoration: none;
      display: inline-block;
      white-space: nowrap;
  }

  .btn-contactar:hover {
      background-color: #4a7c2a !important;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(45, 80, 22, 0.3);
  }

  .btn-contactar::after {
      display: none;
  }

  /* Dropdown de categorías para Productos */
  .nav-item.dropdown {
      position: relative;
  }

  /* Área de hover expandida para mejor UX */
  .nav-item.dropdown::after {
      content: '';
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      height: 20px;
      background: transparent;
  }

  .header-navbar .dropdown-menu {
      position: absolute;
      top: calc(100% + 20px);
      left: 50%;
      transform: translateX(-50%);
      background: #ffffff;
      min-width: 240px;
      padding: 0.75rem 0;
      margin: 0;
      border-radius: 8px;
      box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
      border: 1px solid #e0e0e0;
      visibility: hidden;
      opacity: 0;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      z-index: 1050;
      list-style: none !important;
      pointer-events: none;
      display: block !important;
  }

  .nav-item.dropdown:hover .dropdown-menu {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
  }

  .header-navbar .dropdown-menu::before {
      content: '';
      position: absolute;
      top: -8px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 10px solid transparent;
      border-right: 10px solid transparent;
      border-bottom: 10px solid #ffffff;
      filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.05));
  }

  .header-navbar .dropdown-menu li {
      list-style: none !important;
      margin: 0;
      padding: 0;
  }

  .header-navbar .dropdown-item {
      display: block;
      width: 100%;
      padding: 0.85rem 1.5rem;
      color: var(--brand-green) !important;
      text-decoration: none !important;
      font-size: 0.95rem;
      font-weight: 500;
      transition: all 0.2s ease;
      white-space: nowrap;
      border-left: 3px solid transparent;
  }

  .header-navbar .dropdown-item:hover {
      background-color: #f0f7ec;
      color: #4a7c2a !important;
      border-left-color: #4a7c2a;
  }

  .dropdown-toggle::after {
      display: inline !important;
      border: none;
  }

  /* Barra de acciones: idiomas + hamburguesa */
  .header-toolbar {
      display: flex;
      align-items: center;
      gap: 0.85rem;
      margin-left: 1.5rem;
      flex-shrink: 0;
  }

  .header-lang {
      display: flex;
      align-items: center;
      gap: 0.25rem;
      white-space: nowrap;
  }

  .header-lang-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 30px;
      border: 1px solid transparent;
      border-radius: 4px;
      color: var(--brand-green);
      font-weight: 600;
      font-size: 0.9rem;
      text-decoration: none;
      letter-spacing: 0.04em;
  }

  .header-lang-link.is-active,
  .header-lang-link:hover {
      color: var(--brand-green-accent, #5b9f16);
      border-color: var(--brand-green);
      background-color: rgba(39, 71, 43, 0.06);
  }

  .header-lang-link:focus-visible {
      outline: 2px solid var(--brand-green);
      outline-offset: 3px;
  }

  .header-lang-flag {
      display: block;
      width: 20px;
      height: auto;
      border-radius: 2px;
      box-shadow: 0 0 0 1px rgba(39, 71, 43, 0.12);
  }

  .header-lang-sep {
      color: #c5c5c4;
      font-size: 0.85rem;
  }

  .header-toggler {
      display: none;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 1px solid rgba(39, 71, 43, 0.18);
      border-radius: 8px;
      background: #fff;
      align-items: center;
      justify-content: center;
  }

  .header-toggler:focus {
      box-shadow: none;
      outline: 2px solid rgba(91, 159, 22, 0.35);
  }

  .header-toggler-icon,
  .header-toggler-icon::before,
  .header-toggler-icon::after {
      display: block;
      width: 18px;
      height: 2px;
      background: var(--brand-green);
      border-radius: 2px;
  }

  .header-toggler-icon {
      position: relative;
  }

  .header-toggler-icon::before,
  .header-toggler-icon::after {
      content: '';
      position: absolute;
      left: 0;
  }

  .header-toggler-icon::before {
      top: -6px;
  }

  .header-toggler-icon::after {
      top: 6px;
  }

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

  .header-contact-item {
      margin-left: 0.5rem !important;
  }

  /* Desktop: el menú permanece en la barra */
  @media (min-width: 992px) {
      .header-offcanvas {
          position: static !important;
          visibility: visible !important;
          transform: none !important;
          background: transparent;
          width: auto !important;
          height: auto !important;
          border: 0;
          box-shadow: none;
          z-index: auto;
          flex: 1 1 auto;
          display: flex !important;
          justify-content: flex-end;
      }

      .header-offcanvas .offcanvas-body {
          padding: 0;
          overflow: visible;
          display: flex;
          justify-content: flex-end;
      }

      .header-offcanvas .navbar-nav {
          flex-direction: row !important;
          flex-wrap: nowrap !important;
          align-items: center !important;
          gap: 2rem;
          margin-left: auto !important;
      }
  }

  /* Móvil: hamburguesa + panel lateral, idiomas visibles */
  @media (max-width: 991.98px) {
      .header-navbar .container {
          flex-wrap: nowrap !important;
          gap: 0.75rem;
      }

      .header-toolbar {
          margin-left: auto;
      }

      .header-toggler {
          display: flex;
      }

      .header-offcanvas {
          width: min(86vw, 360px);
      }

      .header-offcanvas .offcanvas-header {
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding: 1.1rem 1.25rem;
          border-bottom: 1px solid #eceae4;
      }

      .header-offcanvas .offcanvas-title {
          font-weight: 600;
          color: var(--brand-green);
      }

      .header-offcanvas .offcanvas-body {
          padding: 1rem 1.25rem 1.5rem;
      }

      .header-offcanvas .navbar-nav,
      .navbar-nav {
          display: flex !important;
          flex-direction: column !important;
          flex-wrap: nowrap !important;
          align-items: stretch !important;
          gap: 0.25rem;
          width: 100%;
          margin-left: 0 !important;
      }

      .header-offcanvas .nav-item {
          display: block !important;
          width: 100%;
      }

      .header-offcanvas .nav-link {
          display: block;
          padding: 0.85rem 0 !important;
          font-size: 1.05rem;
          white-space: normal;
      }

      .header-offcanvas .nav-link::after {
          display: none;
      }

      .header-contact-item {
          margin: 1rem 0 0 !important;
      }

      .header-offcanvas .btn-contactar {
          display: block;
          width: 100%;
          text-align: center;
          padding: 0.75rem 1.2rem !important;
      }

      .header-offcanvas .nav-item.dropdown::after {
          display: none;
      }

      .header-offcanvas .dropdown-menu {
          position: static;
          transform: none;
          visibility: visible;
          opacity: 1;
          pointer-events: auto;
          box-shadow: none;
          border: 0;
          min-width: 0;
          padding: 0 0 0.5rem 0.75rem;
          margin: 0;
          background: transparent;
      }

      .header-offcanvas .dropdown-menu::before {
          display: none;
      }

      .header-offcanvas .dropdown-item {
          padding: 0.5rem 0.25rem;
          font-size: 0.95rem;
          white-space: normal;
          border-left: 0;
      }
  }

  @media (max-width: 1199px) {
      .header-offcanvas .navbar-nav {
          gap: 1.5rem;
      }
  }

  @media (min-width: 992px) and (max-width: 1199px) {
      .header-offcanvas .navbar-nav {
          gap: 1.25rem;
      }
  }

  @media (max-width: 768px) {
      .navbar-brand img {
          max-height: 40px !important;
      }

      .header-navbar {
          padding: 0.75rem 0;
      }
  }

  /* Mejoras visuales generales */
  * {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
  }

  /* Scroll suave */
  html {
      scroll-behavior: smooth;
  }

  /* Ocultar scrollbar horizontal innecesario */
  body {
      overflow-x: hidden;
      padding-top: 80px; /* Compensar altura del header fixed */
  }

  /* Ajustar padding-top del body para diferentes tamaños de pantalla */
  @media (max-width: 768px) {
      body {
          padding-top: 70px; /* Header más pequeño en tablets */
      }
  }

  @media (max-width: 576px) {
      body {
          padding-top: 60px; /* Header aún más pequeño en móviles */
      }
  }

  /* Mejorar apariencia del container del navbar */
  .header-navbar .container {
      max-width: 1360px;
      padding-left: 1rem;
      padding-right: 1rem;
  }

  @media (min-width: 1400px) {
      .header-navbar .container {
          padding-left: 1.5rem;
          padding-right: 1.5rem;
      }
  }

  /* ========================================
    ESTILOS HOME PAGE OLIVEZA
    ======================================== */

  /* ======= Hero Oliveza ======= */
  .hero-oliveza {
      height: 100vh;
      display: flex;
      align-items: center;
      background: linear-gradient(to bottom, #ffffff, #F5F5F5);
      position: relative;
      overflow: hidden;
  }

  .hero-oliveza .container {
      max-width: 1360px;
  }

  .hero-oliveza .hero-content {
      padding-right: 2rem;
  }

  .hero-title-oliveza {
      font-size: 3.5rem;
      color: var(--brand-green);
      line-height: 1.2;
      margin-bottom: 1.5rem;
      font-family: 'Georgia', serif;
  }

  .hero-description {
      font-size: 1.125rem;
      line-height: 1.7;
      color: #4a5568;
      margin-bottom: 2rem;
  }

  .hero-buttons {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
  }

  .btn-primary-oliveza {
      background-color: var(--brand-green);
      color: white;
      padding: 0.875rem 2rem;
      border-radius: 50px;
      font-size: 1.0625rem;
      font-weight: 500;
      text-decoration: none;
      transition: all 0.3s ease;
      border: 2px solid var(--brand-green);
      display: inline-block;
  }

  .btn-primary-oliveza:hover {
      background-color: #1f3a0f;
      border-color: #1f3a0f;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(45, 80, 22, 0.3);
      color: white;
  }

  .btn-outline-oliveza {
      background-color: transparent;
      color: var(--brand-green);
      padding: 0.875rem 2rem;
      border-radius: 50px;
      font-size: 1.0625rem;
      font-weight: 500;
      text-decoration: none;
      transition: all 0.3s ease;
      border: 2px solid var(--brand-green);
      display: inline-block;
  }

  .btn-outline-oliveza:hover {
      background-color: var(--brand-green);
      color: white;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(45, 80, 22, 0.3);
  }

  .hero-image-wrapper {
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  }

  .hero-image-wrapper img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
  }

  .hero-placeholder {
      width: 100%;
      background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
      border: 2px dashed #cbd5e0;
      border-radius: 20px;
      padding: 2rem;
      text-align: center;
      min-height: 400px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
  }

  .hero-placeholder svg {
      max-width: 100%;
      height: auto;
      margin-bottom: 1rem;
  }

  .placeholder-text {
      color: #718096;
      font-size: 0.9375rem;
      margin: 1rem 0 0;
      font-weight: 500;
  }

  @media (max-width: 991px) {
      .hero-oliveza {
          height: 100vh;
      }
      
      .hero-title-oliveza {
          font-size: 2.75rem;
      }
      
      .hero-oliveza .hero-content {
          padding-right: 0;
          margin-bottom: 3rem;
          text-align: center;
      }
      
      .hero-buttons {
          justify-content: center;
      }
      
      .hero-description {
          font-size: 1.0625rem;
      }
  }

  @media (max-width: 767px) {
      .hero-oliveza {
          height: 100vh;
      }
      
      .hero-title-oliveza {
          font-size: 2.25rem;
      }
      
      .hero-description {
          font-size: 1rem;
      }
      
      .btn-primary-oliveza,
      .btn-outline-oliveza {
          padding: 0.75rem 1.5rem;
          font-size: 0.95rem;
          width: 100%;
          text-align: center;
      }
  }

  @media (max-width: 576px) {
      .hero-oliveza {
          height: 100vh;
      }
      
      .hero-title-oliveza {
          font-size: 1.875rem;
      }
      
      .hero-description {
          font-size: 0.9375rem;
      }
  }

  /* ======= Líneas de Producto ======= */
  .section-lineas-producto {
      background-color: #ffffff;
  }

  .lineas-title {
      font-size: 2.5rem;
      color: var(--brand-green);
      margin-bottom: 1rem;
  }

  .lineas-subtitle {
      font-size: 1.125rem;
      color: #718096;
      max-width: 700px;
      margin: 0 auto;
      line-height: 1.6;
  }

  .linea-card {
      display: block;
      background: white;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
      text-decoration: none;
      transition: all 0.3s ease;
      height: 100%;
  }

  .linea-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  }

  .linea-image {
      width: 100%;
      height: 280px;
      overflow: hidden;
      position: relative;
  }

  .linea-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
  }

  .linea-card:hover .linea-image img {
      transform: scale(1.1);
  }

  .linea-content {
      padding: 2rem;
  }

  .linea-title {
      font-size: 1.5rem;
      font-weight: 600;
      color: var(--brand-green);
      margin-bottom: 0.75rem;
  }

  .linea-description {
      color: #4a5568;
      line-height: 1.6;
      margin-bottom: 1.25rem;
      font-size: 1rem;
  }

  .linea-link {
      color: #ff6b35;
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      transition: all 0.3s ease;
  }

  .linea-card:hover .linea-link {
      gap: 0.75rem;
      color: #e85a2a;
  }

  .linea-link i {
      font-size: 0.875rem;
  }

  /* Variante Horizontal de Tarjeta de Línea */
  .linea-card-horizontal {
      display: flex;
      height: 220px;
      
  }

  .linea-card-inner {
      display: flex;
      flex-direction: row;
      width: 100%;
  }

  .linea-image-horizontal {
      flex: 0 0 40%;
      height: 100%;
      overflow: hidden;
      position: relative;
      
  }

  .linea-image-horizontal img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
  }

  .linea-card-horizontal:hover .linea-image-horizontal img {
      transform: scale(1.1);
  }

  .linea-content-horizontal {
      flex: 1;
      padding: 2rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
  }

  .linea-content-horizontal .linea-title {
      font-size: 1.5rem;
      font-weight: 600;
      color: var(--brand-green);
      margin-bottom: 0.75rem;
  }

  .linea-content-horizontal .linea-description {
      color: #4a5568;
      line-height: 1.6;
      margin-bottom: 1.25rem;
      font-size: 1rem;
  }

  .linea-content-horizontal .linea-link {
      color: #ff6b35;
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
  }

  @media (max-width: 991px) {
      .lineas-title {
          font-size: 2rem;
      }
      
      .lineas-subtitle {
          font-size: 1rem;
      }
      
      .linea-image {
          height: 240px;
      }
      
      .linea-content {
          padding: 1.5rem;
      }
      
      .linea-title {
          font-size: 1.375rem;
      }
      
      /* Tarjeta horizontal en tablets */
      .linea-card-horizontal {
          height: 200px;
      }
      
      .linea-content-horizontal {
          padding: 1.5rem;
      }
      
      .linea-content-horizontal .linea-title {
          font-size: 1.375rem;
      }
  }

  @media (max-width: 767px) {
      .lineas-title {
          font-size: 1.75rem;
      }
      
      .linea-image {
          height: 200px;
      }
      
      .linea-content {
          padding: 1.25rem;
      }
      
      .linea-title {
          font-size: 1.25rem;
      }
      
      .linea-description {
          font-size: 0.9375rem;
      }
      
      /* Tarjeta horizontal se convierte en vertical en móviles */
      .linea-card-horizontal {
          height: auto;
      }
      
      .linea-card-inner {
          flex-direction: column;
      }
      
      .linea-image-horizontal {
          flex: none;
          width: 100%;
          height: 200px;
      }
      
      .linea-content-horizontal {
          padding: 1.25rem;
      }
      
      .linea-content-horizontal .linea-title {
          font-size: 1.25rem;
      }
      
      .linea-content-horizontal .linea-description {
          font-size: 0.9375rem;
      }
  }

  /* ======= Por Qué Elegir Oliveza ======= */
  .section-por-que-elegir {
      background: linear-gradient(135deg, #f0f9f0 0%, #e8f5e8 100%);
  }

  .por-que-title {
      font-size: 2.5rem;
      color: var(--brand-green);
      margin-bottom: 0;
      font-family: 'Georgia', serif;
  }

  .benefit-card {
      background: white;
      border-radius: 16px;
      padding: 2.5rem 2rem;
      text-align: center;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
      transition: all 0.3s ease;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
  }

  .benefit-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  }

  .benefit-icon {
      width: 80px;
      height: 80px;
      background: linear-gradient(135deg, #f0f9f0 0%, #e1f5e1 100%);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1.5rem;
      border: 2px solid var(--brand-green);
      transition: all 0.3s ease;
  }

  .benefit-card:hover .benefit-icon {
      background: linear-gradient(135deg, #2d5016 0%, #4a7c2a 100%);
  }

  .benefit-icon svg {
      color: var(--brand-green);
      transition: color 0.3s ease;
  }

  .benefit-card:hover .benefit-icon svg {
      color: white;
  }

  .benefit-title {
      font-size: 1.375rem;
      font-weight: 600;
      color: var(--brand-green);
      margin-bottom: 1rem;
  }

  .benefit-description {
      color: #4a5568;
      line-height: 1.6;
      margin: 0;
      font-size: 1rem;
  }

  @media (max-width: 991px) {
      .por-que-title {
          font-size: 2rem;
      }
      
      .benefit-card {
          padding: 2rem 1.5rem;
      }
      
      .benefit-icon {
          width: 70px;
          height: 70px;
      }
      
      .benefit-icon svg {
          width: 40px;
          height: 40px;
      }
      
      .benefit-title {
          font-size: 1.25rem;
      }
      
      .benefit-description {
          font-size: 0.9375rem;
      }
  }

  @media (max-width: 767px) {
      .por-que-title {
          font-size: 1.75rem;
      }
      
      .benefit-card {
          padding: 1.75rem 1.25rem;
          margin-bottom: 1rem;
      }
      
      .benefit-icon {
          width: 65px;
          height: 65px;
      }
      
      .benefit-icon svg {
          width: 36px;
          height: 36px;
      }
  }

  /* ======= Blog Cards ======= */
  .blog-card {
      background: white;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
      transition: all 0.3s ease;
      height: 100%;
      display: flex;
      flex-direction: column;
  }

  .blog-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  }

  .blog-image-link {
      display: block;
      overflow: hidden;
  }

  .blog-image {
      width: 100%;
      height: 240px;
      overflow: hidden;
  }

  .blog-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s ease;
  }

  .blog-card:hover .blog-image img {
      transform: scale(1.08);
  }

  .blog-content {
      padding: 1.75rem;
      flex: 1;
      display: flex;
      flex-direction: column;
  }

  .blog-date {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      color: #718096;
      font-size: 0.875rem;
      margin-bottom: 0.75rem;
  }

  .blog-date i {
      color: var(--brand-green);
  }

  .blog-title {
      font-size: 1.375rem;
      font-weight: 600;
      line-height: 1.4;
      margin-bottom: 0.875rem;
  }

  .blog-title a {
      color: #2d4a7c;
      text-decoration: none;
      transition: color 0.3s ease;
  }

  .blog-title a:hover {
      color: var(--brand-green);
  }

  .blog-excerpt {
      color: #4a5568;
      line-height: 1.6;
      margin-bottom: 1.25rem;
      flex: 1;
  }

  .blog-read-more {
      color: var(--brand-green);
      font-weight: 500;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      transition: all 0.3s ease;
  }

  .blog-read-more:hover {
      gap: 0.75rem;
      color: #4a7c2a;
  }

  .blog-read-more i {
      font-size: 0.875rem;
  }

  @media (max-width: 767px) {
      .blog-image {
          height: 200px;
      }
      
      .blog-content {
          padding: 1.25rem;
      }
      
      .blog-title {
          font-size: 1.25rem;
      }
  }

  /* ======= Categorías Cards ======= */
  .categoria-card {
      display: block;
      background: white;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
      text-decoration: none;
      transition: all 0.3s ease;
      height: 100%;
      position: relative;
  }

  .categoria-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  }

  .categoria-image {
      width: 100%;
      height: 200px;
      overflow: hidden;
      position: relative;
  }

  .categoria-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
  }

  .categoria-card:hover .categoria-image img {
      transform: scale(1.1);
  }

  .categoria-overlay {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(180deg, transparent 0%, rgba(45, 80, 22, 0.7) 100%);
      opacity: 0;
      transition: opacity 0.3s ease;
  }

  .categoria-card:hover .categoria-overlay {
      opacity: 1;
  }

  .categoria-content {
      padding: 1.75rem;
  }

  .categoria-icon {
      width: 48px;
      height: 48px;
      background: linear-gradient(135deg, #2d5016 0%, #4a7c2a 100%);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1rem;
      color: white;
      font-size: 1.5rem;
  }

  .categoria-title {
      font-size: 1.375rem;
      font-weight: 600;
      color: var(--brand-green);
      margin-bottom: 0.75rem;
  }

  .categoria-description {
      color: #4a5568;
      line-height: 1.6;
      margin-bottom: 1rem;
      font-size: 0.9375rem;
  }

  .categoria-link {
      color: #5b9f16;
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      transition: all 0.3s ease;
  }

  .categoria-card:hover .categoria-link {
      gap: 0.75rem;
      color: #4a7c2a;
  }

  .categoria-link i {
      font-size: 0.875rem;
  }

  @media (max-width: 991px) {
      .categoria-image {
          height: 180px;
      }
      
      .categoria-content {
          padding: 1.5rem;
      }
      
      .categoria-title {
          font-size: 1.25rem;
      }
  }

  @media (max-width: 767px) {
      .categoria-image {
          height: 160px;
      }
      
      .categoria-content {
          padding: 1.25rem;
      }
      
      .categoria-title {
          font-size: 1.125rem;
      }
      
      .categoria-description {
          font-size: 0.875rem;
      }
  }

  /* ======= Nuestro Fundo ======= */
  .section-nuestro-fundo {
      background-color: #ffffff;
  }

  .fundo-banner-wrapper {
      position: relative;
      overflow: hidden;
      border-radius: 24px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
      transition: box-shadow 0.3s ease;
  }

  .fundo-banner-wrapper:hover {
      box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
  }

  .fundo-banner-image {
      position: relative;
      height: 500px;
      width: 100%;
      overflow: hidden;
  }

  .fundo-banner-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
  }

  .fundo-banner-overlay {
      background: linear-gradient(to right, rgba(39, 71, 43, 0.85) 0%, rgba(39, 71, 43, 0.6) 50%, rgba(39, 71, 43, 0.4) 100%);
      z-index: 1;
  }

  .fundo-banner-content {
      z-index: 2;
      padding: 0;
  }

  .fundo-text-wrapper {
      max-width: 600px;
      margin-left: 4rem;
      padding: 2rem;
  }

  .fundo-banner-title {
      font-size: 2.75rem;
      font-weight: 600;
      margin-bottom: 1.5rem;
      font-family: 'Georgia', serif;
      line-height: 1.2;
  }

  .fundo-banner-description {
      font-size: 1.125rem;
      line-height: 1.8;
      color: rgba(255, 255, 255, 0.95) !important;
      margin-bottom: 2rem;
  }

  .btn-fundo-banner {
      background-color: transparent;
      color: white;
      padding: 0.875rem 2rem;
      border-radius: 12px;
      font-size: 1.0625rem;
      font-weight: 500;
      text-decoration: none;
      transition: all 0.3s ease;
      border: 2px solid white;
      display: inline-block;
  }

  .btn-fundo-banner:hover {
      background-color: white;
      color: var(--brand-green);
      transform: scale(1.05);
      box-shadow: 0 4px 15px rgba(255, 255, 255, 0.4);
  }

  @media (max-width: 991px) {
      .fundo-banner-image {
          height: 450px;
      }
      
      .fundo-text-wrapper {
          margin-left: 3rem;
          max-width: 500px;
      }
      
      .fundo-banner-title {
          font-size: 2.25rem;
      }
      
      .fundo-banner-description {
          font-size: 1.0625rem;
      }
  }

  @media (max-width: 767px) {
      .fundo-banner-image {
          height: 400px;
      }
      
      .fundo-banner-wrapper {
          border-radius: 16px;
      }
      
      .fundo-text-wrapper {
          margin-left: 2rem;
          margin-right: 2rem;
          padding: 1.5rem;
          max-width: 100%;
      }
      
      .fundo-banner-title {
          font-size: 2rem;
      }
      
      .fundo-banner-description {
          font-size: 1rem;
      }
      
      .btn-fundo-banner {
          padding: 0.75rem 1.75rem;
          font-size: 1rem;
          width: 100%;
          text-align: center;
      }
  }

  @media (max-width: 576px) {
      .fundo-banner-image {
          height: 380px;
      }
      
      .fundo-text-wrapper {
          margin-left: 1.5rem;
          margin-right: 1.5rem;
          padding: 1rem;
      }
      
      .fundo-banner-title {
          font-size: 1.75rem;
          margin-bottom: 1rem;
      }
      
      .fundo-banner-description {
          font-size: 0.9375rem;
          margin-bottom: 1.5rem;
      }
  }

  /* ========================================
    FOOTER OLIVEZA
    ======================================== */

  .footer-oliveza {
      background-color: white;
      padding: 80px 0 0 0;
      border-top: 1px solid #e2e8f0;
  }

  .footer-oliveza .container {
      max-width: 1360px;
  }

  /* Footer Brand */
  .footer-brand {
      padding-right: 1rem;
  }

  .footer-logo {
      display: inline-block;
      margin-bottom: 1.25rem;
      text-decoration: none;
  }

  .footer-logo img {
      max-height: 48px;
      width: auto;
      transition: opacity 0.3s ease;
  }

  .footer-logo:hover img {
      opacity: 0.85;
  }

  .footer-logo .logo-text {
      font-size: 1.75rem;
      font-weight: 600;
      color: var(--brand-green);
      font-family: 'Georgia', serif;
  }

  .footer-tagline {
      color: #718096;
      font-size: 0.9375rem;
      line-height: 1.6;
      margin: 0;
  }

  /* Footer Titles */
  .footer-title {
      font-size: 1.125rem;
      font-weight: 700;
      color: var(--brand-green);
      margin-bottom: 1.25rem;
      text-transform: none;
  }

  /* Footer Links */
  .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
  }

  .footer-links li {
      margin-bottom: 0.75rem;
  }

  .footer-links a {
      color: #718096;
      font-size: 0.9375rem;
      text-decoration: none;
      transition: color 0.3s ease, padding-left 0.3s ease;
      display: inline-block;
  }

  .footer-links a:hover {
      color: var(--brand-green);
      padding-left: 5px;
  }

  /* Footer Contact */
  .footer-contact {
      list-style: none;
      padding: 0;
      margin: 0;
  }

  .footer-contact li {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      margin-bottom: 1rem;
  }

  .footer-contact svg {
      flex-shrink: 0;
      color: #ff8c42;
      margin-top: 2px;
  }

  .footer-contact span,
  .footer-contact a {
      color: #718096;
      font-size: 0.9375rem;
      line-height: 1.5;
      text-decoration: none;
  }

  .footer-contact a:hover {
      color: var(--brand-green);
  }

  /* Footer Social */
  .footer-social {
      display: flex;
      gap: 0.75rem;
      flex-wrap: wrap;
  }

  .social-icon {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background-color: #e8f5e8;
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      transition: all 0.3s ease;
  }

  .social-icon svg {
      color: var(--brand-green);
      transition: color 0.3s ease;
  }

  .social-icon:hover {
      background-color: var(--brand-green);
      transform: translateY(-3px);
      box-shadow: 0 4px 12px rgba(45, 80, 22, 0.3);
  }

  .social-icon:hover svg {
      color: white;
  }

  /* Footer Bottom */
  .footer-bottom {
      margin-top: 3rem;
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
      border-top: 1px solid #e2e8f0;
  }

  .footer-copyright {
      color: #a0aec0;
      font-size: 0.875rem;
      margin: 0;
  }

  /* Responsive Footer */
  @media (max-width: 991px) {
      .footer-oliveza {
          padding: 60px 0 0 0;
      }
      
      .footer-brand {
          padding-right: 0;
          margin-bottom: 2rem;
          text-align: center;
      }
      
      .footer-section {
          text-align: center;
          margin-bottom: 2rem;
      }
      
      .footer-links a {
          display: inline-block;
      }
      
      .footer-contact li {
          justify-content: center;
      }
      
      .footer-social {
          justify-content: center;
      }
  }

  @media (max-width: 767px) {
      .footer-oliveza {
          padding: 50px 0 0 0;
      }
      
      .footer-title {
          font-size: 1rem;
          margin-bottom: 1rem;
      }
      
      .footer-tagline {
          font-size: 0.875rem;
      }
      
      .footer-links a,
      .footer-contact span,
      .footer-contact a {
          font-size: 0.875rem;
      }
      
      .footer-bottom {
          margin-top: 2rem;
          padding-top: 1.25rem;
          padding-bottom: 1.25rem;
      }
      
      .footer-copyright {
          font-size: 0.8125rem;
      }
  }

  @media (max-width: 576px) {
      .footer-oliveza {
          padding: 40px 0 0 0;
      }
      
      .footer-logo img {
          max-height: 40px;
      }
      
      .social-icon {
          width: 40px;
          height: 40px;
      }
      
      .social-icon svg {
          width: 18px;
          height: 18px;
      }
  }
