.elementor-18 .elementor-element.elementor-element-e4b3563{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18 .elementor-element.elementor-element-e4b3563:not(.elementor-motion-effects-element-type-background), .elementor-18 .elementor-element.elementor-element-e4b3563 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F291800;}.elementor-18 .elementor-element.elementor-element-be4a4f8{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18 .elementor-element.elementor-element-9cbbc44{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-9cbbc44.elementor-element{--align-self:flex-end;}.elementor-18 .elementor-element.elementor-element-08e5cd1{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18 .elementor-element.elementor-element-c320af3{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-18 .elementor-element.elementor-element-2905a7f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-18 .elementor-element.elementor-element-2905a7f img{max-width:82%;}.elementor-18 .elementor-element.elementor-element-33fb1f8{--display:flex;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu .elementor-item{font-family:"Inter", Sans-serif;font-size:15px;font-weight:600;}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-13b514a );fill:var( --e-global-color-13b514a );}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown a, .elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-menu-toggle{color:#FFFFFFCC;fill:#FFFFFFCC;}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown{background-color:var( --e-global-color-2676146 );border-radius:8px 8px 8px 8px;}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown a:hover,
					.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown a:focus,
					.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-menu-toggle:hover,
					.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-menu-toggle:focus{color:var( --e-global-color-13b514a );}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown a.elementor-item-active{color:#FFFFFFCC;background-color:var( --e-global-color-2676146 );}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:8px;border-top-right-radius:8px;}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:8px;border-bottom-left-radius:8px;}.elementor-18 .elementor-element.elementor-element-41af7c0 .elementor-nav-menu--dropdown li:not(:last-child){border-style:solid;border-color:#FFFFFF1A;border-bottom-width:1px;}.elementor-18 .elementor-element.elementor-element-1a64477{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18 .elementor-element.elementor-element-b8944b2 .elementor-button{background-color:var( --e-global-color-13b514a );font-family:"Inter", Sans-serif;font-weight:700;fill:#0F2918;color:#0F2918;border-radius:4px 4px 4px 4px;padding:9px 22px 9px 22px;}.elementor-18 .elementor-element.elementor-element-b8944b2 .elementor-button:hover, .elementor-18 .elementor-element.elementor-element-b8944b2 .elementor-button:focus{background-color:var( --e-global-color-8c15a35 );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-18 .elementor-element.elementor-element-2905a7f img{max-width:100%;}}@media(min-width:768px){.elementor-18 .elementor-element.elementor-element-c320af3{--width:16%;}.elementor-18 .elementor-element.elementor-element-33fb1f8{--width:57%;}.elementor-18 .elementor-element.elementor-element-1a64477{--width:27%;}}@media(max-width:1024px) and (min-width:768px){.elementor-18 .elementor-element.elementor-element-c320af3{--width:20%;}.elementor-18 .elementor-element.elementor-element-33fb1f8{--width:39%;}.elementor-18 .elementor-element.elementor-element-1a64477{--width:41%;}}@media(max-width:767px){.elementor-18 .elementor-element.elementor-element-be4a4f8{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-18 .elementor-element.elementor-element-c320af3{--width:35%;}.elementor-18 .elementor-element.elementor-element-33fb1f8{--width:65%;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;}.elementor-18 .elementor-element.elementor-element-1a64477{--width:40%;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}}/* Start custom CSS for container, class: .elementor-element-be4a4f8 *//* UTILITY BAR */
  .util-bar {
    background: transparent;
    display: flex; align-items: center; justify-content: flex-end;
    padding: 0 0px; height: 36px;
    transition: background 0.3s ease;
  }
  .util-bar.scrolled { background: #0f2918; }
  .util-bar-inner {
    display: flex; align-items: center; gap: 4px;
    background: rgba(0,0,0,0.35);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    padding: 5px 14px; border-radius: 100px;
  }
  .util-bar.scrolled .util-bar-inner {
    background: transparent;
    backdrop-filter: none;
    padding: 0;
  }
  .util-link {
    display: flex; align-items: center; gap: 6px;
    font-size: 13px; color: rgba(255,255,255,0.9);
    text-decoration: none; font-weight: 500;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
  }
  a.util-link {margin: 0 5px;}
  .util-link:hover { color: #f5c000; }
  .util-link svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
  .util-divider { width: 1px; height: 14px; background: rgba(255,255,255,0.3); margin: 0 4px; }/* End custom CSS */
/* Start custom CSS for theme-site-logo, class: .elementor-element-2905a7f */.elementor-18 .elementor-element.elementor-element-2905a7f img {
    width: 170px;
    max-width: 100%;
    height: auto;
    display: block;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e1efd3b */.trr-mobile-hamburger {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;

    width: 44px;
    height: 44px;
    padding: 8px;

    background: transparent;
    border: 0;
    border-radius: 4px;

    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;

    position: relative;
    z-index: 10002;
}

.trr-mobile-hamburger span {
    display: block;
    width: 25px;
    height: 2px;

    background-color: #ffffff;
    border-radius: 10px;

    transform-origin: center;
    transition:
        transform 0.2s ease,
        opacity 0.2s ease,
        background-color 0.2s ease;
}

.trr-mobile-hamburger:hover span,
.trr-mobile-hamburger:focus-visible span {
    background-color: #f5c000;
}

.trr-mobile-hamburger:focus {
    background-color: #0f2918;
    outline: none;
}

.trr-mobile-hamburger:focus-visible {
    outline: 2px solid #f5c000;
    outline-offset: 3px;
}

/* Transformación de hamburguesa a X */
.trr-mobile-hamburger.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.trr-mobile-hamburger.is-open span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.trr-mobile-hamburger.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bf60ad4 */.nav-gift {
    display: flex; align-items: center; gap: 6px;
    font-size: 15px; color: rgba(255,255,255,0.85); text-decoration: none; font-weight: 500;
    padding: 7px 12px; border-radius: 4px; transition: background 0.15s; white-space: nowrap;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
  }
  .nav-gift:hover { background: rgba(255,255,255,0.12); color: #fff; }
  .nav-gift svg { width: 15px; height: 15px; fill: none; stroke: rgba(255,255,255,0.7); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8326229 *//* =====================================================
   TRR — MENÚ MÓVIL
   Colores principales:
   Amarillo: #f5c000
   Verde:    #0f2918
===================================================== */

/* El widget no debe ocupar espacio cuando el menú está cerrado */
.elementor-18 .elementor-element.elementor-element-8326229 {
    width: 100%;
}

/* Contenedor principal */
.trr-mobile-menu {
    display: none;
    position: fixed;

    /*
     * Este valor será calculado automáticamente con JavaScript
     * en el siguiente paso.
     */
    top: var(--trr-mobile-menu-top, 70px);

    left: 0;
    right: 0;
    bottom: 0;

    width: 100%;
    height: auto;

    background-color: #0f2918;
    z-index: 9998;

    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);

    transition:
        opacity 0.18s ease,
        visibility 0.18s ease,
        transform 0.18s ease;

    -webkit-overflow-scrolling: touch;
}

/* Estado abierto */
.trr-mobile-menu.is-open {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Contenido interior */
.trr-mobile-menu-inner {
    width: 100%;
    min-height: 100%;
    background-color: #0f2918;
}

/* =====================================================
   QUICK LINKS
===================================================== */

.trr-mobile-quick-strip {
    padding: 14px 16px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.trr-mobile-quick-label {
    margin-bottom: 10px;

    color: rgba(245, 192, 0, 0.7);
    font-family: "Inter", sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.trr-mobile-top-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 7px;

    margin-bottom: 7px;
}

/* Botón Book Now */
.trr-mobile-btn-book {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 12px;

    background-color: #f5c000;
    color: #0f2918 !important;

    border: 1px solid #f5c000;
    border-radius: 6px;

    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;

    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        transform 0.18s ease;
}

.trr-mobile-btn-book:hover,
.trr-mobile-btn-book:focus-visible {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #0f2918 !important;
}

/* Botón de teléfono */
.trr-mobile-btn-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 48px;
    padding: 12px 8px;

    background-color: rgba(255, 255, 255, 0.07);
    color: #ffffff !important;

    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.2px;
    white-space: nowrap;
    text-decoration: none !important;

    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease;
}

.trr-mobile-btn-phone:hover,
.trr-mobile-btn-phone:focus-visible {
    background-color: rgba(245, 192, 0, 0.12);
    border-color: #f5c000;
    color: #f5c000 !important;
}

/* Accesos destacados */
.trr-mobile-quick-links {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.trr-mobile-quick-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    min-height: 60px;
    padding: 11px 14px;

    background-color: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;

    text-decoration: none !important;

    transition:
        background-color 0.18s ease,
        border-color 0.18s ease;
}

.trr-mobile-quick-link:hover,
.trr-mobile-quick-link:focus-visible {
    background-color: rgba(245, 192, 0, 0.1);
    border-color: rgba(245, 192, 0, 0.65);
}

.trr-mobile-quick-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.trr-mobile-quick-title {
    color: #ffffff;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.trr-mobile-quick-description {
    margin-top: 2px;

    color: rgba(255, 255, 255, 0.5);

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
}

.trr-mobile-arrow {
    flex: 0 0 auto;

    color: rgba(255, 255, 255, 0.35);
    font-size: 25px;
    font-weight: 300;
    line-height: 1;
}

/* =====================================================
   NAVEGACIÓN PRINCIPAL
===================================================== */

.trr-mobile-navigation {
    width: 100%;
    padding: 7px 0 20px;
}

.trr-mobile-nav-item {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Botones de los acordeones */
.trr-mobile-nav-toggle,
.trr-mobile-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    width: 100%;
    min-height: 52px;
    padding: 14px 16px;

    background: transparent;
    color: #ffffff !important;

    border: 0;
    border-radius: 0;

    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    text-decoration: none !important;

    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;

    transition:
        background-color 0.18s ease,
        color 0.18s ease;
}

.trr-mobile-nav-toggle:hover,
.trr-mobile-nav-toggle:focus-visible,
.trr-mobile-nav-link:hover,
.trr-mobile-nav-link:focus-visible {
    background-color: rgba(255, 255, 255, 0.05);
    color: #f5c000 !important;
}

.trr-mobile-nav-toggle:focus {
    outline: none;
}

.trr-mobile-nav-toggle:focus-visible,
.trr-mobile-nav-link:focus-visible {
    outline: 2px solid #f5c000;
    outline-offset: -3px;
}

/* Flecha del acordeón */
.trr-mobile-chevron {
    flex: 0 0 auto;

    color: rgba(255, 255, 255, 0.4);
    font-size: 24px;
    font-weight: 300;
    line-height: 1;

    transform: rotate(0deg);
    transition:
        transform 0.18s ease,
        color 0.18s ease;
}

.trr-mobile-nav-toggle[aria-expanded="true"] {
    color: #f5c000 !important;
}

.trr-mobile-nav-toggle[aria-expanded="true"] .trr-mobile-chevron {
    color: #f5c000;
    transform: rotate(90deg);
}

/* =====================================================
   SUBMENÚS
===================================================== */

.trr-mobile-submenu {
    width: 100%;
    background-color: rgba(0, 0, 0, 0.2);
}

.trr-mobile-submenu[hidden] {
    display: none !important;
}

.trr-mobile-submenu a {
    display: flex;
    align-items: center;

    width: 100%;
    min-height: 46px;
    padding: 11px 16px 11px 29px;

    color: rgba(255, 255, 255, 0.72) !important;

    border-bottom: 1px solid rgba(255, 255, 255, 0.04);

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: none !important;

    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        padding-left 0.18s ease;
}

.trr-mobile-submenu a:last-child {
    border-bottom: 0;
}

.trr-mobile-submenu a:hover,
.trr-mobile-submenu a:focus-visible {
    padding-left: 33px;

    background-color: rgba(245, 192, 0, 0.08);
    color: #f5c000 !important;
}

/* =====================================================
   ESTADOS GENERALES
===================================================== */

/* Evita scroll de la página cuando el menú está abierto */
html.trr-mobile-menu-active,
body.trr-mobile-menu-active {
    overflow: hidden !important;
}

/* Ocultar siempre en pantallas mayores a móvil */
@media (min-width: 768px) {
    .trr-mobile-menu {
        display: none !important;
    }
}

/* Ajustes para pantallas muy estrechas */
@media (max-width: 360px) {
    .trr-mobile-quick-strip {
        padding-left: 12px;
        padding-right: 12px;
    }

    .trr-mobile-btn-book {
        font-size: 14px;
    }

    .trr-mobile-btn-phone {
        gap: 4px;
        padding-left: 6px;
        padding-right: 6px;
        font-size: 12px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e4b3563 *//* Transición suave para el estado inicial */
.elementor-18 .elementor-element.elementor-element-e4b3563 {
    transition: background-color 0.3s ease-in-out;
}

/* Color fijo cuando se hace scroll */
.elementor-18 .elementor-element.elementor-element-e4b3563.elementor-sticky--effects {
    background-color: #0F2918 !important; /* Reemplaza #000000 por tu color */
    transition: background-color 0.3s ease-in-out;
}/* End custom CSS */