/* Developed entirely by staycreative.es 2020 */

/* Preloader */
#preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:#213667;z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity 0.6s ease, visibility 0.6s ease;}
#preloader img{width:80px;height:auto;filter:brightness(0) invert(1);animation:preloaderPulse 1.5s ease-in-out infinite;}
#preloader.loaded{opacity:0;visibility:hidden;}
@keyframes preloaderPulse{0%,100%{opacity:0.4;transform:scale(0.95);}50%{opacity:1;transform:scale(1);}}

/* Cookie Consent */
.cookie-consent-options label{margin-right:12px;font-family:'articulat-cf',sans-serif;text-transform:uppercase;font-size:0.75rem;cursor:pointer;}
.cookie-consent-options .uk-checkbox{border-color:#213667 !important;margin-right:4px;}
.cookie-consent-options .uk-checkbox:checked{background-color:#213667;}
.cookie-consent-options .uk-checkbox:disabled:checked{background-color:#ccc;border-color:#ccc !important;}

/* reset ui kit */
.uk-link:hover, a:hover{text-decoration: none;}
/* .uk-card-default {background-color: transparent !important; box-shadow: none; } */
::selection {color: white; background-color: #000;}
*+.uk-hr, *+hr {margin-top: 5px; margin-bottom: 15px;}


/* Generals */
html {scroll-behavior: smooth;}
/* Anclaje #booking (botón RESERVAR): deja hueco para el menú sticky en desktop. */
#booking {scroll-margin-top: 110px;}
html, body {font-family: 'articulat-cf', sans-serif;font-weight: 400;text-rendering: optimizeLegibility;-webkit-font-smoothing: antialiased;-moz-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;color: #000;}
p{font-family: 'articulat-cf', sans-serif;color: #000;font-weight: 400; font-size: 1rem;}
h1, h2, h3, h4, h5, h6 {font-family: 'Playfair', serif; color: #000;font-weight: 400; margin-bottom: 0; margin-top: 0px;}
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {font-family: 'Playfair', serif;font-style: italic;}
h1{font-size: 3rem;}
h2{font-size: 2.6rem;}
h3{font-size: 2rem;}
h4{font-size: 1.7rem;}
h5{font-size: 1.6rem;}
/* h1 span,h2 span,h3 span,h4 span,h5 span,h6 span{font-style: normal;display: block;font-size: 70%;font-weight: 400;} */
ul {padding-left: 0px;}
/* li {text-decoration:none; list-style-type: none; color: #323031;} */
.post ul li {text-decoration: initial !important;}
a {-webkit-transition: ease-in-out, .20s ease-in-out;transition: ease-in-out, .20s ease-in-out; word-wrap: break-word;color: #000;}
a:hover{color: #72706E;}
a span {display: inline-block;}

/* TipTap rich-text — underline inline links so users can spot them */
.pf-content-text a,
.pf-content-text p a,
.pf-flatpage-block__text a,
.pf-flatpage-block__text p a,
.pf-intro-text a,
.pf-intro-text p a,
.pf-lanzarote-intro__desc a,
.pf-lanzarote-intro__desc p a,
.pf-lanzarote-feature__text a,
.pf-lanzarote-feature__text p a,
.pf-lanzarote-grid__text a,
.pf-lanzarote-grid__text p a,
.pf-lanzarote-split__text a,
.pf-lanzarote-split__text p a,
.pf-select-intro__desc a,
.pf-select-intro__desc p a,
.pf-select-service__desc a,
.pf-select-service__desc p a,
.pf-destination-block__text a,
.pf-destination-block__text p a,
.pf-offers-feed__desc a,
.pf-offers-feed__desc p a,
.pf-wellness__body a,
.pf-wellness__desc a,
.pf-room-solarium__desc a,
.pf-text-gallery__body a,
.pf-experience-body__content a,
.pf-experience-body__content p a{text-decoration:underline;text-underline-offset:3px;color:inherit;}
.pf-content-text a:hover,
.pf-flatpage-block__text a:hover,
.pf-intro-text a:hover,
.pf-lanzarote-intro__desc a:hover,
.pf-lanzarote-feature__text a:hover,
.pf-lanzarote-grid__text a:hover,
.pf-lanzarote-split__text a:hover,
.pf-select-intro__desc a:hover,
.pf-select-service__desc a:hover,
.pf-destination-block__text a:hover,
.pf-offers-feed__desc a:hover,
.pf-wellness__body a:hover,
.pf-wellness__desc a:hover,
.pf-room-solarium__desc a:hover,
.pf-text-gallery__body a:hover,
.pf-experience-body__content a:hover{color:#213667;}

/* TipTap rich-text — restore list markers and tight item spacing */
.pf-content-text ul,
.pf-flatpage-block__text ul,
.pf-intro-text ul,
.pf-lanzarote-intro__desc ul,
.pf-lanzarote-feature__text ul,
.pf-lanzarote-grid__text ul,
.pf-lanzarote-split__text ul,
.pf-select-intro__desc ul,
.pf-select-service__desc ul,
.pf-destination-block__text ul,
.pf-offers-feed__desc ul,
.pf-wellness__body ul,
.pf-wellness__desc ul,
.pf-room-solarium__desc ul,
.pf-text-gallery__body ul,
.pf-experience-body__content ul{list-style:disc;padding-left:1.5em;margin:0 0 1em;}
.pf-content-text ol,
.pf-flatpage-block__text ol,
.pf-intro-text ol,
.pf-lanzarote-intro__desc ol,
.pf-lanzarote-feature__text ol,
.pf-lanzarote-grid__text ol,
.pf-lanzarote-split__text ol,
.pf-select-intro__desc ol,
.pf-select-service__desc ol,
.pf-destination-block__text ol,
.pf-offers-feed__desc ol,
.pf-wellness__body ol,
.pf-wellness__desc ol,
.pf-room-solarium__desc ol,
.pf-text-gallery__body ol,
.pf-experience-body__content ol{list-style:decimal;padding-left:1.5em;margin:0 0 1em;}
.pf-content-text li,
.pf-flatpage-block__text li,
.pf-intro-text li,
.pf-lanzarote-intro__desc li,
.pf-lanzarote-feature__text li,
.pf-lanzarote-grid__text li,
.pf-lanzarote-split__text li,
.pf-select-intro__desc li,
.pf-select-service__desc li,
.pf-destination-block__text li,
.pf-offers-feed__desc li,
.pf-wellness__body li,
.pf-wellness__desc li,
.pf-room-solarium__desc li,
.pf-text-gallery__body li,
.pf-experience-body__content li{list-style:inherit;font-size:inherit;line-height:1.45;margin:0 0 4px;padding:0;display:list-item;}
.pf-content-text li::marker,
.pf-flatpage-block__text li::marker,
.pf-intro-text li::marker,
.pf-lanzarote-intro__desc li::marker,
.pf-lanzarote-feature__text li::marker,
.pf-lanzarote-grid__text li::marker,
.pf-lanzarote-split__text li::marker,
.pf-select-intro__desc li::marker,
.pf-select-service__desc li::marker,
.pf-destination-block__text li::marker,
.pf-offers-feed__desc li::marker,
.pf-wellness__body li::marker,
.pf-wellness__desc li::marker,
.pf-room-solarium__desc li::marker,
.pf-text-gallery__body li::marker,
.pf-experience-body__content li::marker{font-size:0.55em;}
.pf-content-text li p,
.pf-flatpage-block__text li p,
.pf-intro-text li p,
.pf-lanzarote-intro__desc li p,
.pf-lanzarote-feature__text li p,
.pf-lanzarote-grid__text li p,
.pf-lanzarote-split__text li p,
.pf-select-intro__desc li p,
.pf-select-service__desc li p,
.pf-destination-block__text li p,
.pf-offers-feed__desc li p,
.pf-wellness__body li p,
.pf-wellness__desc li p,
.pf-room-solarium__desc li p,
.pf-text-gallery__body li p,
.pf-experience-body__content li p{margin:0;display:inline;}
small {font-weight: 400 !important;}
ul li {list-style-type: none; list-style: none; font-size: 1.1rem; line-height: 1.6;}
/*p b {font-size: 1rem; font-weight: 700;}*/
:focus {outline: none;}

.text-primary{font-family: 'articulat-cf';}
.text-secondary{font-family: 'Playfair';}

/* Buttons */
button{font-family: 'articulat-cf';}
.uk-button{ font-family: 'articulat-cf', sans-serif; font-size: 0.9rem; font-weight:400; border:0;line-height: 1.5;text-transform: uppercase;font-size: 1rem;-webkit-appearance: none !important;border-radius: 0;-webkit-transition: ease-in-out, .35s ease-in-out;transition: ease-in-out, .35s ease-in-out;padding: 0.5rem 1rem;}

    /* Buttons — shared base */
    .uk-button{display:inline-flex;align-items:center;gap:40px;padding:18px 25px;font-family:'articulat-cf',sans-serif;font-size:0.8rem;font-weight:600;letter-spacing:0.08em;text-decoration:none;text-transform:uppercase;transition:all 0.25s;cursor:pointer;border:none;line-height:1;}
    .uk-button svg{flex-shrink:0;}

    /* PRIMARY — solid blue #213667, hover darker */
    .uk-button.uk-button-primary{background:#213667;color:#fff !important;border:1px solid #213667;}
    .uk-button.uk-button-primary:hover{background:#0f193d;color:#fff;border-color:#0f193d;}
    
    /* PRIMARY ALT — outlined, hover fills white */
    .uk-button.uk-button-primary-alt{background:transparent;color:#fff;border:1px solid #fff;}
    .uk-button.uk-button-primary-alt:hover{background:#fff;color:#000;border-color:#fff;}

    /* SECONDARY — solid blue #213667, hover fills black */
    .uk-button.uk-button-secondary{background:#213667;color:#fff !important;border:1px solid #213667;}
    .uk-button.uk-button-secondary:hover{background:#0f193d;color:#fff;border-color:#0f193d;}

    /* THIRD — solid grey, hover fills black */
    .uk-button.uk-button-third{background:#555961;color:#fff;border:1px solid #555961;}
    .uk-button.uk-button-third:hover{background:#000;color:#fff;border-color:#000;}

    /* LINK — text + underline, hover loses underline and turns black */
    .uk-button.uk-button-link{background:transparent;color:#000;padding:0;gap:8px;border-radius:0;text-transform:uppercase;font-size:0.8rem;display:inline-flex;align-items:center;border:none;}
    .uk-button.uk-button-link span{border-bottom:1.5px solid #000;padding-bottom:4px;transition:border-color 0.2s;}
    .uk-button.uk-button-link:hover span{border-bottom-color:transparent;}

    .bg-dark .uk-button.uk-button-link{color:#fff;}
    .bg-dark .uk-button.uk-button-link span{border-bottom-color:#fff;}
    .bg-dark .uk-button.uk-button-link:hover span{border-bottom-color:transparent;}


/* uk notification */
.uk-notification-message{background-color: white;border: 1px solid #eee;}
.uk-notification-message{font-size: 1rem;}
.uk-notification{width: 400px;}
.uk-notification-top-center{margin-left: -200px;}
.uk-notification-message.uk-notification-message-danger{background-color: #f0506e;color: white;}
.uk-notification-message.uk-notification-message-danger .uk-close{color: white;}
.uk-notification-message.uk-notification-message-primary {background-color: #42d1b5; color: white;}
.uk-notification-message.uk-notification-message-primary .uk-close{color: white;}

/* breadcrumbs */
.uk-breadcrumb li a, .uk-breadcrumb li span{font-size: 0.7rem;text-transform: uppercase;}
.uk-breadcrumb>:nth-child(n+2):not(.uk-first-column)::before {margin: -1px 10px 0;vertical-align: middle;}

/* sweet alert */
.swal2-title{font-family: 'articulat-cf';}

    /* form */
    .form {position: relative; /* z-index: 2 */;}
    .form input[type=text],.form input[type=email],.form input[type=password],.form input[type=number],.form input[type=search],.form select,.form textarea{margin-top: 0px !important; padding: 5px 10px; border:0; border-bottom: 1px solid #000; background-color: transparent; box-shadow: none; margin-bottom: 6px; color: #000 !important; font-size: 1rem;height: auto;font-family: 'articulat-cf', sans-serif;text-transform: uppercase;}
    /* .form .uk-select:not([multiple]):not([size]){background-color: #fff; background-image: none; color: white !important;} */
    /* .uk-select:not([multiple]):not([size]) option {background-color: white !important; color: white !important;} */
    .bg-select-white:focus {background-color: white !important; color: white !important;}
    .form p {color: white;}
    .form input[type=text]::placeholder,.form input[type=email]::placeholder,.form input[type=number]::placeholder,.form select,.form textarea::placeholder{color: #72706E !important;}
    .form input[type=text]:focus,.form input[type=email]:focus,.form input[type=number]:focus,/*.form select:focus,*/.form textarea:focus, .form select:focus{ background-color: transparent !important; color: #000 !important; }
    .form select{padding-right: 30px;}
    .form textarea{margin-bottom: 10px;padding: 10px; color: white;}
    .form input::-webkit-input-placeholder, .form input:-moz-placeholder, .form input::-moz-placeholder, .form input:-ms-input-placeholder, .form textarea::-webkit-input-placeholder, .form textarea:-moz-placeholder, .form textarea::-moz-placeholder, .form textarea:-ms-input-placeholder
    {color: #72706E !important;font-size: 0.7rem !important;}
    .form small{color: white;}
    .form .uk-checkbox {border-color: #000 !important;}
    .form .uk-checkbox:focus, .form .uk-radio:focus {border-color: #000 !important;}
    .form .uk-checkbox:checked, .form .uk-checkbox:checked:focus {background-color: #000;}
    .form .uk-radio-label{font-size: 0.8rem;cursor: poarticulat-cf;}
    .form .uk-radio:checked, .form .uk-radio:checked:focus {background-color: #000;}
    .form input:-webkit-autofill,
    .form input:-webkit-autofill:hover,
    .form input:-webkit-autofill:focus
    .form textarea:-webkit-autofill,
    .form textarea:-webkit-autofill:hover
    .form textarea:-webkit-autofill:focus,
    .form select:-webkit-autofill,
    .form select:-webkit-autofill:hover,
    .form select:-webkit-autofill:focus {}
    .form input[type=text]::placeholder,.form input[type=email]::placeholder,.form input[type=number]::placeholder,.form select,.form textarea::placeholder{color: #72706E !important; font-size: 0.8rem !important;}
    form, input:focus::placeholder { color: #000;}


/* Icons */


.icon{background-image: url('../../front_img/assets-sprite.svg');display: inline-block; background-size: 1000px 500px;-webkit-transition: ease-in-out, .35s ease-in-out;transition: ease-in-out, .35s ease-in-out;}

.icon.facebook {width: 30px;height: 30px;background-position: 0px 0px;}
.icon.instagram {width: 30px;height: 30px;background-position: -30px 0px;}
.icon.linkedin {width: 30px;height: 30px;background-position: -150px 0px;}

  /* DROPDOWN */
  .uk-drop.uk-open {border-radius: 10px; z-index: 1111;}
  .uk-navbar-dropdown-nav>li>a {font-size: 0.9rem; font-weight: 600;}
  .uk-navbar-dropdown-nav>li>a:hover {color: #000 !important;}
  .uk-dropdown {min-width: max-content;}

  .uk-navbar-dropdown-nav>li>a.uk-active {color: #000;}

  /* BREADCRUMBS */
  .uk-breadcrumb{}
  .uk-breadcrumb li a, .uk-breadcrumb li span{font-family: 'articulat-cf';text-transform: none;}
  .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column)::before{content: "/";}
  .uk-breadcrumb>:last-child>a:not([href]), .uk-breadcrumb>:last-child>span{text-decoration: underline;text-decoration-thickness: 1px;text-decoration-color: rgba(0,0,0,0.5);text-underline-offset: 10px;}

  /* lightbox */
  .uk-lightbox{background-color: #fff;}
  .uk-lightbox-toolbar{background-color: transparent;color: #000;}
  .uk-lightbox-toolbar-icon, .uk-lightbox-toolbar-icon:hover{color: #000;}
  .uk-lightbox-button, .uk-lightbox-button:hover{color: #000;background: none;}
  .uk-lightbox .uk-slidenav{color: #000 !important;opacity: 1 !important;}
  .uk-lightbox .uk-slidenav:hover{color: #555 !important;}
  .uk-lightbox .uk-close{color: #000 !important;}
  .uk-lightbox .uk-lightbox-caption{display: none !important;}

  /* MENU - chain (1 fila) vs hotel (2 filas en reposo, 1 fila en sticky) */
  .pf-menu{background:#fff;z-index:980;}
  .pf-menu.uk-navbar-transparent{background:transparent;}
  .pf-menu.uk-active{background:#fff !important;box-shadow:0 2px 12px rgba(0,0,0,0.06);}

  /* Menu wrapper: chain = 90px, hotel = 140px, sticky = 80px */
  .pf-menu__wrapper{display:flex;align-items:stretch;transition:height 0.3s ease;}
  .pf-menu--chain .pf-menu__wrapper{height:90px;}
  .pf-menu--hotel .pf-menu__wrapper{height:140px;}
  .pf-menu.uk-active .pf-menu__wrapper{height:80px;}

  /* Logo ~19% width like Figma */
  .pf-menu__logo{flex-shrink:0;display:flex;align-items:center;justify-content:flex-start;width:19%;min-width:180px;max-width:320px;padding:0;overflow:hidden;}
  .pf-menu__logo img{width:auto;max-width:100%;object-fit:contain;transition:filter 0.3s ease, height 0.3s ease, max-height 0.3s ease;}
  .pf-menu--chain .pf-menu__logo img{height:auto;max-height:55px;}
  .pf-menu--hotel .pf-menu__logo img{height:auto;max-height:68px;}
  .pf-menu.uk-active .pf-menu__logo img{max-height:48px;}
  .pf-menu.uk-navbar-transparent:not(.uk-active) .pf-menu__logo img{filter:brightness(0) invert(1);}
  .pf-menu.uk-active .pf-menu__logo img{filter:none !important;}

  /* Separador vertical entre logo y selector */
  .pf-menu__separator{width:1px;background:#d0d0d0;flex-shrink:0;align-self:stretch;}
  .uk-navbar-transparent:not(.uk-active) .pf-menu__separator{background:rgba(255,255,255,0.3);}
  .pf-menu--chain.uk-navbar-transparent:not(.uk-active) .pf-menu__separator{display:none;}
  .pf-menu.uk-active .pf-menu__separator{display:none;}

  /* Right column */
  .pf-menu__right{flex:1;display:flex;flex-direction:column;min-width:0;}

  /* Piso 1 */
  .pf-menu__top{display:flex;align-items:center;flex:1;padding-left:25px;}

  /* Selector hotel */
  .pf-menu__hotel-selector{flex-shrink:0;}
  .pf-menu__hotel-selector > a,.pf-menu__hotel-selector-toggle{font-family:'articulat-cf',sans-serif;font-weight:400;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;color:#000;text-decoration:none;display:flex;align-items:center;gap:8px;}
  .pf-menu__hotel-selector > a span.pf-menu__hotel-selector-icon,.pf-menu__hotel-selector-toggle .pf-menu__hotel-selector-icon{font-size:1.1rem;line-height:1;text-decoration:none;font-weight:300;}
  .pf-menu__hotel-selector > a span:not(.pf-menu__hotel-selector-icon),.pf-menu__hotel-selector-toggle span:not(.pf-menu__hotel-selector-icon){text-decoration:underline;text-underline-offset:4px;}
  .uk-navbar-transparent:not(.uk-active) .pf-menu__hotel-selector > a,
  .uk-navbar-transparent:not(.uk-active) .pf-menu__hotel-selector-toggle{color:#fff;}

  /* Nav cadena */
  .pf-menu__nav{margin-left:auto;}
  .pf-menu__nav ul{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;}
  .pf-menu__nav ul li a{font-family:'articulat-cf',sans-serif;font-weight:400;font-size:0.9rem;color:#000;text-decoration:none;padding:6px 14px;display:block;}
  .pf-menu__nav ul li.uk-active:not(.pf-menu__mirai-session) a{text-decoration:underline;text-underline-offset:4px;}
  .pf-menu__nav ul li:not(.pf-menu__mirai-session) a:hover{text-decoration:underline;text-underline-offset:4px;}
  .pf-menu__mirai-session,.pf-menu__mirai-session *{text-decoration:none !important;font-family:'articulat-cf',sans-serif !important;font-size:0.9rem !important;font-weight:400 !important;}
  .pf-menu__mirai-session a:hover,.pf-menu__mirai-session button:hover{text-decoration:none !important;}
  .pf-menu__mirai-session .fUIr3W_login .DwpEmq_icon{display:none !important;}
  .pf-menu__mirai-session .fUIr3W_login .l5vG4W_text{font-family:'articulat-cf',sans-serif !important;font-size:0.9rem !important;font-weight:400 !important;letter-spacing:normal !important;text-transform:none !important;color:inherit !important;}
  .uk-navbar-transparent:not(.uk-active) .pf-menu__mirai-session,.uk-navbar-transparent:not(.uk-active) .pf-menu__mirai-session *{color:#fff !important;}
  .pf-menu.uk-active .pf-menu__mirai-session,.pf-menu.uk-active .pf-menu__mirai-session *{color:#000 !important;}
  /* Selector "Nuestros hoteles": en sticky (fondo blanco) el texto vuelve a negro. */
  .pf-menu.uk-active .pf-menu__hotel-selector > a,
  .pf-menu.uk-active .pf-menu__hotel-selector-toggle,
  .pf-menu.uk-active .pf-menu__hotel-selector-toggle .pf-menu__hotel-selector-icon{color:#000;}
  .uk-navbar-transparent:not(.uk-active) .pf-menu__nav > ul > li > a{color:#fff;}
  .pf-menu.uk-active .pf-menu__nav > ul > li > a{color:#000;}

  /* Mobile toggle */
  .pf-menu__toggle{color:#000;padding:8px;margin-left:auto;}
  .uk-navbar-transparent:not(.uk-active) .pf-menu__toggle{color:#fff;}

  /* Piso 2 */
  .pf-menu__bottom{display:flex;align-items:center;justify-content:flex-end;flex:1;border-top:1px solid #e5e7eb;padding-left:25px;}
  .uk-navbar-transparent:not(.uk-active) .pf-menu__bottom{border-top-color:rgba(255,255,255,0.2);}

  /* Nav hotel */
  .pf-menu__hotel-nav{flex:1;}
  .pf-menu__hotel-nav ul{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;}
  .pf-menu__hotel-nav ul li a{font-family:'articulat-cf',sans-serif;font-weight:400;font-size:0.9rem;color:#000;text-decoration:none;padding:6px 14px;display:block;}
  .pf-menu__hotel-nav ul li.uk-active a{text-decoration:underline;text-underline-offset:4px;font-weight:600;}
  .pf-menu__hotel-nav ul li a:hover{text-decoration:underline;text-underline-offset:4px;}
  .uk-navbar-transparent:not(.uk-active) .pf-menu__hotel-nav > ul > li > a{color:#fff;}
  .pf-menu.uk-active .pf-menu__hotel-nav > ul > li > a{color:#000;}

  /* Botón Reservar */
  .pf-menu__reserve-btn{display:inline-flex;align-items:center;justify-content:center;background:#213667;color:#fff;font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;padding:10px 28px;margin:8px 0;text-decoration:none;transition:background 0.2s;}
  .pf-menu__reserve-btn:hover{background:#1a2b52;color:#fff;}

  /* Variante chain: solo visible cuando sticky */
  .pf-menu__reserve-btn--chain{display:none;margin-left:20px;}
  .pf-menu.uk-active .pf-menu__reserve-btn--chain{display:inline-flex;}

  /* Sticky en hotel: colapsa a 1 fila (estilo cadena). En desktop ocultamos
     piso 1 (selector + nav cadena) y quitamos borde/padding del piso 2. En mobile
     mantenemos piso 1 visible para que el toggle hamburguesa siga accesible. */
  @media (min-width: 960px) {
      .pf-menu.uk-active.pf-menu--hotel .pf-menu__top{display:none;}
      .pf-menu.uk-active.pf-menu--hotel .pf-menu__bottom{border-top:none;padding-left:0;flex:1;}
  }

  /* Hotel mega-dropdown — flota sobre el contenido sin empujarlo */
  .pf-menu{position:relative;}
  .pf-hotel-mega{position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;padding:24px 0;box-shadow:0 20px 40px rgba(0,0,0,0.12);z-index:979;}
  .pf-hotel-mega__card{display:flex;gap:16px;padding:12px;border-radius:8px;text-decoration:none;color:#000;transition:background 0.2s;}
  .pf-hotel-mega__card:hover{background:#f5f5f5;color:#000;}
  .pf-hotel-mega__card--active{background:#f0f4ff;}
  .pf-hotel-mega__image{flex-shrink:0;width:120px;height:80px;overflow:hidden;border-radius:6px;}
  .pf-hotel-mega__image img{width:100%;height:100%;object-fit:cover;}
  .pf-hotel-mega__info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0;}
  .pf-hotel-mega__info h4{font-family:'articulat-cf',sans-serif;font-weight:700;font-size:0.95rem;margin:0 0 4px;}
  .pf-hotel-mega__info p{font-size:0.8rem;color:#666;margin:0;line-height:1.4;}

  /* Mobile: collapse the menu to logo + burger only. The hotel selector,
     chain nav, hotel nav, language switch and reserve button all live inside
     the offcanvas, so they're hidden in the bar itself. */
  @media (max-width: 959px){
      .pf-menu--chain .pf-menu__wrapper,
      .pf-menu--hotel .pf-menu__wrapper{height:72px;}
      .pf-menu.uk-active .pf-menu__wrapper{height:64px;}
      .pf-menu__separator{display:none;}
      /* Drop the extra right padding on mobile so the burger sits at the
         same distance from the right edge as the icon has top/bottom of the
         bar. The uk-container's own padding still provides breathing room. */
      .pf-menu__top{padding-left:0;padding-right:0;}
      /* Pin the menu bar's container to the same 20px rail used elsewhere on
         mobile (UIkit's tablet padding kicks in at 768-959px which leaves the
         logo + burger floating 40px+ away from the edge in the sticky state). */
      .pf-menu .uk-container,
      .pf-menu .uk-container-large{padding-left:20px !important;padding-right:20px !important;}
      .pf-menu__hotel-selector,
      .pf-menu__bottom{display:none;}
      /* Sizing: give the wrapper a real width so the image's max-width:100%
         resolves to a non-zero value; size the image by height + auto width. */
      .pf-menu__logo{width:auto;min-width:0;max-width:65%;flex:0 0 auto;}
      .pf-menu--chain .pf-menu__logo img,
      .pf-menu--hotel .pf-menu__logo img{height:50px;max-height:50px;width:auto;max-width:none;}
      .pf-menu.uk-active .pf-menu__logo img{height:45px;max-height:45px;}
      /* Burger toggle — guarantee it's rendered, sized and visible. */
      .pf-menu__toggle,
      .pf-menu__toggle.uk-hidden\@m{display:inline-flex !important;visibility:visible !important;opacity:1 !important;align-items:center !important;justify-content:center !important;width:44px !important;height:44px !important;padding:0 !important;margin-left:auto !important;color:#000 !important;position:relative;z-index:5;}
      .pf-menu.uk-navbar-transparent:not(.uk-active) .pf-menu__toggle{color:#fff !important;}
      .pf-menu__toggle svg,
      .pf-menu__toggle svg path{display:block !important;width:26px !important;height:26px !important;stroke:currentColor !important;}
      .pf-menu.uk-navbar-transparent:not(.uk-active) .pf-menu__toggle svg path{stroke:#fff !important;}
      .pf-menu:not(.uk-navbar-transparent) .pf-menu__toggle svg path,
      .pf-menu.uk-active .pf-menu__toggle svg path{stroke:#000 !important;}
      /* Make sure the right column doesn't collapse to 0 — guarantees the
         flex layout reserves space for the toggle. */
      .pf-menu__right{min-width:60px;}
      .pf-menu__top{justify-content:flex-end;}
      .pf-hotel-mega{padding:18px 0 96px;max-height:80vh;overflow:auto;}
      /* Subtle scrim behind the bar when transparent — readable but quiet. */
      .pf-menu.uk-navbar-transparent:not(.uk-active){background:linear-gradient(to bottom, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0) 100%);}
  }
  /* Hotel-selector entry inside the offcanvas — matches the rest of the
     menu items (same font/size/weight) with a chevron at the right that
     rotates 90° when the list is expanded. */
  .pf-offcanvas-hotel-selector{display:flex !important;align-items:center;justify-content:space-between;gap:10px;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:normal;text-transform:none;background:transparent;border:0;padding:0;color:inherit;cursor:pointer;width:100%;text-align:left;}
  .pf-offcanvas-hotel-selector__chev{flex-shrink:0;transition:transform .25s ease;color:inherit;}
  .pf-offcanvas-hotel-selector.is-open .pf-offcanvas-hotel-selector__chev{transform:rotate(90deg);}
  .pf-offcanvas-hotels{display:block;}
  .pf-offcanvas-hotels__list{list-style:none;margin:6px 0 0;padding:0;}
  .pf-offcanvas-hotels__list li{margin:0;}
  .pf-offcanvas-hotels__list li a{display:block;padding:6px 0 6px 14px;font-size:0.95rem;color:#000;text-decoration:none;}
  .pf-offcanvas-hotels__list li.is-current a{font-weight:700;}
  .pf-offcanvas-hotels__list li a:hover{color:#213667;}
  /* Smaller language list */
  .pf-offcanvas-langs > li > a{font-size:0.85rem !important;color:#666 !important;padding:4px 0 !important;}
  .pf-offcanvas-langs > li > a:hover{color:#213667 !important;}
  /* Current-hotel header inside the offcanvas */
  .pf-offcanvas-current{margin:8px 0 14px;display:flex;flex-direction:column;gap:2px;}
  .pf-offcanvas-current__label{font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:#999;}
  .pf-offcanvas-current__name{font-family:'Playfair',serif;font-style:italic;font-size:1.25rem;line-height:1.2;color:#000;}

  /* Offcanvas: white panel, black text, full viewport width */
  #offcanvas-nav .uk-offcanvas-bar{background:#fff;color:#000;width:100%;max-width:100%;left:0;right:0;padding:32px 24px;}
  #offcanvas-nav .uk-offcanvas-bar .uk-offcanvas-close{color:#000;}
  #offcanvas-nav .uk-nav-default > li > a,
  #offcanvas-nav .uk-nav-default > li.uk-active > a{color:#000;}
  #offcanvas-nav .uk-nav-default > li > a:hover{color:#213667;}
  #offcanvas-nav hr{border-color:rgba(0,0,0,0.12);}
  #offcanvas-nav .uk-text-muted{color:#666 !important;}

  /* Booking dock — floats over the page on mobile (no surrounding chrome) */
  @media (max-width: 959px){
      .pf-booking-dock{position:fixed;left:0;right:0;bottom:0;z-index:950;background:transparent;box-shadow:none;padding:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom));pointer-events:none;box-sizing:border-box;max-width:100vw;}
      .pf-booking-dock > *{pointer-events:auto;max-width:100%;box-sizing:border-box;}
      .pf-booking-dock [data-mirai-component="finder"]{margin:0;width:100% !important;max-width:100% !important;box-sizing:border-box;}
      .pf-booking-dock [data-mirai-component="finder"] ui-finder{width:100% !important;max-width:100% !important;box-sizing:border-box;}
      /* Reserve space at the foot so the polished dock (62px bar + 20px
         wrapper padding + iOS safe-area inset ≈ 110-120px total) doesn't
         sit on top of the last content/highlights section. */
      main{padding-bottom:120px;}

      /* ----------------------------------------------------------------------
         Mirai compact dock — pull it closer to the desktop pill look:
         bigger bar, clearer separators, bolder type, full-height navy button.
         ---------------------------------------------------------------------- */
      .pf-booking-dock [data-mirai-component="finder"] ui-finder-compact{
          background:#fff !important;
          border:1px solid rgba(0,0,0,0.06) !important;
          border-radius:14px !important;
          box-shadow:0 10px 28px rgba(0,0,0,0.14) !important;
          overflow:hidden !important;
          min-height:62px !important;
      }
      /* Cell padding — give each pressable a bit more breathing room. */
      .pf-booking-dock [data-mirai-component="finder"] ui-finder-compact .YRq8BG_pressable{
          padding:0 14px !important;
      }
      /* Vertical separators between cells — taller (70%) and slightly
         stronger than Mirai's default so the bar reads as discrete
         sections like the desktop pill. */
      .pf-booking-dock [data-mirai-component="finder"] .YRq8BG_separator{
          height:70% !important;
          background:#dcdcdc !important;
      }
      /* Icons in the brand navy, matching desktop. */
      .pf-booking-dock [data-mirai-component="finder"] ui-finder-compact ui-icon{
          color:#213667 !important;
      }
      /* Dates / occupancy caption — bolder + slightly larger so it reads
         as a value, not a label. */
      .pf-booking-dock [data-mirai-component="finder"] ui-finder-compact .YRq8BG_caption{
          font-family:'articulat-cf',sans-serif !important;
          font-weight:600 !important;
          font-size:0.92rem !important;
          color:#111 !important;
          letter-spacing:0 !important;
      }
      /* Search button — full bar height, navy, white icon + injected
         "BUSCAR" label (Mirai's compact ships icon-only by default;
         the brand pill always shows the text on desktop, restore it
         here via ::after for parity). */
      .pf-booking-dock [data-mirai-component="finder"] ui-finder-compact ui-button,
      .pf-booking-dock [data-mirai-component="finder"] .ex0cka_button{
          align-self:stretch !important;
          height:auto !important;
          min-width:0 !important;
          width:auto !important;
          flex:0 0 auto !important;
          padding:0 14px !important;
          gap:0 !important;
          background:#213667 !important;
          background-color:#213667 !important;
          color:#fff !important;
          border-radius:0 !important;
          margin:0 !important;
          display:flex !important;
          align-items:center !important;
          justify-content:center !important;
          /* Collapse any native "BUSCAR" label Mirai renders at some
             widths — without this it stacks with the injected ::after
             below and shows "BUSCARBUSCAR". ::after restores its size. */
          font-size:0 !important;
      }
      .pf-booking-dock [data-mirai-component="finder"] ui-finder-compact ui-button::after,
      .pf-booking-dock [data-mirai-component="finder"] .ex0cka_button::after{
          font-size:0.7rem !important;
          letter-spacing:0.12em !important;
      }
      /* Hide the magnifier — the injected "BUSCAR" wordmark already
         names the action and adding the icon makes the button too
         wide for the dock at small viewports. */
      .pf-booking-dock [data-mirai-component="finder"] ui-finder-compact ui-button ui-icon,
      .pf-booking-dock [data-mirai-component="finder"] .ex0cka_button ui-icon{display:none !important;}
      .pf-booking-dock [data-mirai-component="finder"] ui-finder-compact ui-button::after,
      .pf-booking-dock [data-mirai-component="finder"] .ex0cka_button::after{
          content:'BUSCAR';
          color:#fff;
          font-family:'articulat-cf',sans-serif;
          font-weight:700;
          font-size:0.78rem;
          letter-spacing:0.16em;
          text-transform:uppercase;
      }
  }

  /* date range picker */
  .drp-selected{display: none !important;}
  .daterangepicker td.in-range{background-color: #D3CBC3;}
  .daterangepicker td.active, .daterangepicker td.active:hover{background-color: #202020;}

  .daterangepicker .drp-calendar.right {background-color: white;}
  .daterangepicker.show-calendar .drp-buttons {background-color: white;}

/* HACKS */
.clear{clear: both;}
.overlay{background-color: rgba(30,63,57,0.2);position: absolute;top: 0;left:0;width: 100%;height: 100%;z-index: 0;-webkit-transition: ease-in-out, .35s ease-in-out;transition: ease-in-out, .35s ease-in-out; }
.overlay-light{background-color: rgba(255,255,255,0.3);position: absolute;top: 0;left:0;width: 100%;height: 100%;z-index: 0;-webkit-transition: ease-in-out, .35s ease-in-out;transition: ease-in-out, .35s ease-in-out; }

.section{padding: 5vh;}
.section-large{padding: 10vh;}
.section-small{padding: 3vw;}

.transition {-webkit-transition: ease-in-out, .35s ease-in-out;transition: ease-in-out, .35s ease-in-out;}
.bg-white {background-color: #fff !important;}
.bg-grey {background-color: #cecece !important;}
.bg-light {background-color: #f7f7f7 !important;}
.bg-dark {background-color: #242629 !important;}
.bg-primary{background-color: #f5f5f5 !important;}
.bg-secondary{background-color: #F8F6F1 !important;}
.bg-tertiary{background-color: #847551 !important;}
.bg-fourth{background-color: #BCC0AE !important;}

.white {color: #fff !important;}
.grey {color: #999 !important;}
.light {color: #fff5db !important;}
.dark {color: #000 !important;}
.primary{color: #000 !important;}
.secondary{color: #F8F6F1 !important;}
.tertiary{color: #847551 !important;}

.bg-img {background-position: center; background-repeat: no-repeat; background-size: cover; }
.bg-img-contain {background-position: center; background-repeat: no-repeat; background-size: contain; }
.bg-img img{width: 100%;}

.shadow {box-shadow: 0 0px 10px rgba(0,0,0,0.3);}

.b-bottom {border-bottom: 1px solid #000;}
.b-top {border-top: 1px solid #000;}
.sans {font-family: 'articulat-cf', sans-serif; font-size: 1.1rem;}
.bold {font-family: 'articulat-cf', sans-serif !important;}

.container-border{border-top: 1.5px solid #000; border-bottom: 1.5px solid #000;}
.container-text {max-width: 700px; margin: 0 auto;}
.container-feed {width: calc(100% - 10%); padding-left: 10%;}

.mt-0{margin-top: 0 !important;}
.mt-10{margin-top: 10px !important;}
.mt-25{margin-top: 25px !important;}
.mt-35{margin-top: 35px !important;}
.mt-50{margin-top: 50px !important;}

.ml-0{margin-left: 0 !important;}
.ml-10{margin-left: 10px !important;}
.ml-25{margin-left: 25px !important;}
.ml-35{margin-left: 35px !important;}
.ml-50{margin-left: 50px !important;}

.mb-0{margin-bottom: 0 !important;}
.mb-10{margin-bottom: 10px !important;}
.mb-25 {margin-bottom: 25px !important;}
.mb-35 {margin-bottom: 35px !important;}
.mb-50 {margin-bottom: 50px !important;}

.mr-0{margin-right: 0 !important;}
.mr-10{margin-right: 10px !important;}
.mr-25 {margin-right: 25px !important;}
.mr-35 {margin-right: 35px !important;}
.mr-50 {margin-right: 50px !important;}

.pt-0{padding-top: 0 !important;}
.pr-0{padding-right: 0 !important;}
.pl-0{padding-left: 0 !important;}
.pb-0{padding-bottom: 0 !important;}

.uk-link{color: #000;text-decoration: underline;font-weight: 700;}

.order-1{order: -1;}
.order-1m{order: -1;}

.mh-100{min-height: 100%;}
.mh-100vh{min-height: 100vh;}


/* PRELOADER */
.preloader{position: fixed;z-index: 1111;width: 100vw;height:100vh; opacity: 1; background: #FFFCF7; top: 0;left: 0;}
.preloader img{-webkit-animation: heartbeat 1.5s ease-out infinite normal;animation: heartbeat 1.5s ease-out infinite normal;width: 100px;height: 100px;position: absolute;top: 50%;left: 50%; transform: translate(-50%,-50%);filter: invert(1);}

@keyframes heartbeat{
  0%{transform: scale( .95 ) translate(-50%,-50%);opacity:0.6;}
  15%{transform: scale( 1 ) translate(-50%,-50%);opacity:1;}
  30%{transform: scale( .95 ) translate(-50%,-50%);opacity:0.6;}
  45%{transform: scale( 1 ) translate(-50%,-50%);opacity:1;}
  80%{transform: scale( .95 ) translate(-50%,-50%);opacity:0.6;}
  100%{transform: scale( .95 ) translate(-50%,-50%);opacity:0.6;}
}

/* MENU (legacy compat) */

/* BREADCRUMBS */
.uk-breadcrumb li a, .uk-breadcrumb li span{text-transform: uppercase;color: #000;}
.uk-breadcrumb>:last-child>a:not([href]), .uk-breadcrumb>:last-child>span{font-weight: 700;color: #000  ;}

/* BLOCKS */
    /* Quote Block */
    .pf-quote-block__quote{margin-bottom:30px;}
    .pf-quote-block__quote p{font-family:'articulat-cf',sans-serif;font-size:2rem;line-height:1.4;color:#000;margin:0;font-style: normal;}

    /* Hotels Feed block */
    .pf-hotel-feed.bg-dark h3.pf-block-title, .pf-hotel-feed.bg-dark p.pf-block-desc, .pf-hotel-feed.bg-dark .pf-hotel-card__body h3, .pf-hotel-feed.bg-dark .pf-hotel-card__body p{color: white;}

/* HOME */
.header.header-image{background-position: center;background-repeat: no-repeat;background-size:cover; height: 100vh;margin-top: -90px; display: flex; align-items: flex-end; position: relative;}
.header.header-video{height: 100vh;margin-top: -90px; display: flex; align-items: flex-end; position: relative; background:#1a1a1a;}
.pf-menu--hotel ~ main .header.header-video{margin-top:-140px;}
.pf-hero-video__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;}
.header.header-video::before{content:'';position:absolute;top:0;left:0;right:0;height:10%;background:linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 100%);z-index:1;pointer-events:none;}
.header.header-video::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);z-index:1;pointer-events:none;}
.header.header-video > .uk-container{position:relative;z-index:2;padding-bottom: 7vh; width: 100%;}
.header.header-video h1{color: #fff; font-size: 3.5rem; line-height: 1.1; margin-bottom: 15px;}
.header.header-video .uk-lead{color: #fff; font-size: 1.2rem; line-height: 1.5;}
.pf-menu--hotel ~ main .header.header-image{margin-top:-140px;}
.header.header-image::before{content:'';position:absolute;top:0;left:0;right:0;height:10%;background:linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 100%);z-index:1;pointer-events:none;}
.header.header-image::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);z-index:1;pointer-events:none;}
.header.header-image > .uk-container{position:relative;z-index:2;}
.header.header-image > .uk-container{padding-bottom: 7vh; width: 100%;}
.header.header-image h1{color: #fff; font-size: 3.5rem; line-height: 1.1; margin-bottom: 15px;}
.header.header-image .uk-lead{color: #fff; font-size: 1.2rem; line-height: 1.5;}
.pf-highlight-items{text-align: center;padding: 5vh;margin-top: -5vh;z-index: 1;position: relative;}
.pf-highlight-items h2{color: #000;font-size: 1.8rem;}
.pf-highlight-items h5{color: #213667;font-family: 'articulat-cf', sans-serif;font-weight: 700;font-size: 1rem;max-width: 160px;margin: 0 auto;}
.pf-highlight-items img{position: relative;max-width: 100px;}
.pf-intro-text{text-align: center;padding: 10vh 0;}
.pf-intro-text p{font-size: 1.8rem;}
.pf-content{padding-bottom:60px;}
.pf-content-text{font-size:1rem;line-height:1.8;}
.pf-content-text p{margin-bottom:16px;}
.pf-content-text h2,.pf-content-text h3{margin-top:32px;margin-bottom:12px;}
/* Flatpage Gallery (fake slider → lightbox) */
.pf-gallery-wrap{margin-bottom:90px;}
.pf-gallery{position:relative;overflow:hidden;display:flex;align-items:stretch;gap:12px;height:60vh;max-height:720px;margin-bottom:90px;}
.pf-gallery__peek{display:block;flex:0 0 8%;overflow:hidden;opacity:0.4;cursor:pointer;}
.pf-gallery__peek img{width:100%;height:100%;object-fit:cover;}
.pf-gallery__main{display:block;flex:1;overflow:hidden;cursor:pointer;}
.pf-gallery__main img{width:100%;height:100%;display:block;object-fit:cover;}
.pf-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:rgba(255,255,255,0.9);border-radius:50%;color:#000;display:flex;align-items:center;justify-content:center;z-index:2;transition:background 0.2s;cursor:pointer;}
.pf-gallery__nav:hover{background:#fff;color:#000;}
.pf-gallery__nav--prev{left:calc(8% + 10px);}
.pf-gallery__nav--next{right:calc(8% + 10px);}
.pf-gallery .pf-gallery__lightbox-btn{position:absolute;bottom:24px;left:calc(8% + 20px);z-index:2;}
@media(max-width:959px){
    /* Gallery wrap on landing pages (Blue Attitude, blog posts, etc.) —
       full-bleed on mobile so the photos reach the viewport edges.
       The wrapper carries .uk-container.uk-container-large which our
       global 20px gutter rule pins (!important + same specificity but
       later in the source). Use the combined class selector to outrank it. */
    .uk-container.pf-gallery-wrap,
    .uk-container-large.pf-gallery-wrap{
        margin-bottom:24px;
        padding-left:0 !important;
        padding-right:0 !important;
        max-width:none !important;
    }
    .pf-gallery{height:45vh;max-height:480px;gap:8px;margin-bottom:24px;}
    .pf-gallery__peek{flex:0 0 5%;}
    .pf-gallery__nav{width:36px;height:36px;}
    .pf-gallery__nav--prev{left:calc(5% + 6px);}
    .pf-gallery__nav--next{right:calc(5% + 6px);}
    .pf-gallery .pf-gallery__lightbox-btn{bottom:16px;left:calc(5% + 12px);}
}

/* Hotel galleries — single visual + per-slider lightbox buttons in the header */
.pf-hotel-gallery__head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;flex-wrap:wrap;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid #e5e5e5;}
.pf-hotel-gallery__head-text{flex:1 1 auto;min-width:0;}
.pf-hotel-gallery__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:2.8rem;line-height:1.05;margin:0 0 12px;color:#000;letter-spacing:-0.01em;}
.pf-hotel-gallery__subtitle{font-family:'articulat-cf',sans-serif;font-weight:400;font-size:1.05rem;color:#666;margin:0;line-height:1.45;max-width:560px;}
.pf-hotel-gallery__tabs{flex:0 0 auto;display:flex;align-items:center;gap:40px;flex-wrap:wrap;padding-bottom:6px;}
.pf-hotel-gallery__tab{background:none;border:0;padding:4px 0;margin:0;font-family:'articulat-cf',sans-serif;font-weight:500;font-size:0.85rem;letter-spacing:0.18em;text-transform:uppercase;color:#1a1a1a;cursor:pointer;transition:opacity .2s;position:relative;}
.pf-hotel-gallery__tab::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:#1a1a1a;transform:scaleX(0);transform-origin:left center;transition:transform .25s ease;}
.pf-hotel-gallery__tab:hover::after,
.pf-hotel-gallery__tab:focus-visible::after{transform:scaleX(1);}
.pf-hotel-gallery__tab:focus-visible{outline:none;}
@media(max-width:959px){
    .pf-hotel-gallery__head{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:18px;margin-bottom:24px;}
    .pf-hotel-gallery__title{font-size:1.9rem;margin-bottom:8px;}
    .pf-hotel-gallery__subtitle{font-size:0.95rem;}
    .pf-hotel-gallery__tabs{gap:24px;padding-bottom:0;}
    .pf-hotel-gallery__tab{font-size:0.78rem;letter-spacing:0.14em;}
}

.pf-block-title{font-size: 3rem;line-height: 1;}
.pf-block-desc{margin: 0 0 40px;}

.pf-flatpage-block__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.pf-flatpage-block__grid--reverse .pf-flatpage-block__image{order:2;}
.pf-flatpage-block__grid--reverse .pf-flatpage-block__text{order:1;}
.pf-flatpage-block__image .bg-img{display:block;}
.pf-flatpage-block__image .bg-img img{width:100%;height:auto;display:block;}
@media(max-width:959px){
    .pf-flatpage-block__grid{grid-template-columns:1fr;gap:24px;}
    .pf-flatpage-block__grid--reverse .pf-flatpage-block__image{order:0;}
    .pf-flatpage-block__grid--reverse .pf-flatpage-block__text{order:0;}
}

/* Text + Galería section block */
.pf-text-gallery__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.pf-text-gallery__text{min-width:0;}
.pf-text-gallery__body{font-size:1rem;line-height:1.7;color:#333;margin-top:18px;}
.pf-text-gallery__body p{margin:0 0 14px;}
.pf-text-gallery__media{position:relative;}
.pf-text-gallery__image{position:relative;overflow:hidden;aspect-ratio:4/3;}
.pf-text-gallery__image img{display:block;width:100%;height:100%;object-fit:cover;}
.pf-text-gallery__image .pf-hotel-card__gallery{left:auto !important;right:20px !important;width:auto !important;max-width:max-content !important;display:inline-flex !important;}
@media (max-width: 959px){
    /* Stack to one column and flip order so the gallery (media) sits
       ABOVE the text on mobile — matches the rest of the page's
       "photo on top" rhythm and matches the user's request on /es/arte. */
    .pf-text-gallery__grid{grid-template-columns:1fr;gap:18px;}
    .pf-text-gallery__text{order:2;}
    .pf-text-gallery__media{order:1;}
    /* Tighter body type + remove the desktop's 18px margin-top on the
       body copy since it now sits right under the title instead of
       inside a side column. */
    .pf-text-gallery__body{font-size:0.95rem;line-height:1.6;margin-top:8px;}
}

    /* Hotel Cards */
    .pf-hotel-card{display:flex;flex-direction:column;height:100%;}
    .pf-hotel-card__image{position:relative;overflow:hidden;display:block;cursor:pointer;}
    .pf-hotel-card__image img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:4/5;}
    .pf-hotel-card__gallery{position:absolute;bottom:20px;left:20px;display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,0.95);color:#000;padding:10px 18px;font-family:'articulat-cf',sans-serif;font-size:0.85rem;font-weight:600;border-radius:10px;transition:background 0.2s;}
    .pf-hotel-card__image:hover .pf-hotel-card__gallery{background:#fff;}
    .pf-hotel-card__gallery svg{flex-shrink:0;}
    .pf-hotel-card__body{padding:10px 0 20px;flex:1;display:block;text-decoration:none;color:inherit;}
    .pf-hotel-card__body:hover{text-decoration:none;}
    .pf-hotel-card__body h3{font-size:1.6rem;margin-bottom:0;color: #000;font-family:'articulat-cf',sans-serif;font-weight: 700;}
    .pf-hotel-card__body p{font-size:0.95rem;line-height:1.6;color:#333;margin-top: 0;}

    /* Offer Cards */
    .pf-offer-card{display:flex;flex-direction:column;height:100%;}
    .pf-offer-card__image{overflow:hidden;}
    .pf-offer-card__image img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:3/4;}
    .pf-offer-card__body{padding:20px 0;flex:1;}
    .pf-offer-card__body h4{font-size:1.4rem;margin-bottom:5px;color:#000;font-family:'articulat-cf',sans-serif;font-weight:700;}
    .pf-offer-card__body p{font-size:0.9rem;line-height:1.5;color:#333;margin-top:0;}

    /* Experience Cards */
    .pf-experiences{background:#242629;padding-top:80px;padding-bottom:80px;}
    .pf-experiences .pf-block-title,.pf-experiences .pf-block-title span,.pf-experiences .pf-block-desc{color:#fff;}
    /* Don't force cards to fill 100% of the slider item — that's what caused
       short cards to grow a giant empty band below the description. Let each
       card size to its content (image + title + 3-line-clamped description
       + padding); since all those measurements are identical across cards,
       the cards end up the same natural height. */
    .pf-experiences .uk-slider-items,
    .pf-exp-island .uk-slider-items{align-items:flex-start;}
    .pf-experience-card{display:flex;flex-direction:column;height:auto;border:1px solid rgba(255,255,255,0.25);border-left:none;padding:35px;transition:background 0.35s ease, border-color 0.35s ease;}
    .pf-experiences .uk-slider-items > :first-child .pf-experience-card{border-left:1px solid rgba(255,255,255,0.25);}
    .pf-experience-card:hover{background:#fff;border-color:#fff;}
    .pf-experience-card__image{overflow:hidden;margin-bottom:15px;}
    .pf-experience-card__image img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:3/4;}
    .pf-experience-card h4{font-size:1.2rem;margin-bottom:5px;color:#fff;font-family:'articulat-cf',sans-serif;font-weight:700;font-style:italic;transition:color 0.35s ease;}
    .pf-experience-card:hover h4{color:#000;}
    /* Description clamped to 3 lines + a reserved min-height for the same
       3 lines so every card has identical content height. Combined with the
       fixed 3/4 image aspect-ratio and one-line title, all cards measure the
       same naturally — no flex-stretch gymnastics needed. */
    .pf-experience-card p{font-size:0.9rem;line-height:1.5;color:rgba(255,255,255,0.7);margin-top:0;transition:color 0.35s ease;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(0.9rem * 1.5 * 3);}
    .pf-experience-card:hover p{color:#333;}

    /* Experiences Showcase – feed alternado (category 2) */
    .pf-experiences-showcase{padding-top:80px;padding-bottom:80px;}
    .pf-showcase-feed{display:flex;flex-direction:column;gap:60px;}
    .pf-showcase-item{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
    .pf-showcase-item--reverse .pf-showcase-item__image{order:2;}
    .pf-showcase-item--reverse .pf-showcase-item__text{order:1;}
    .pf-showcase-item__image{overflow:hidden;}
    .pf-showcase-item__image img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:4/3;}
    .pf-showcase-item__text{max-width:480px;justify-self:center;}
    .pf-showcase-item__text h4{font-size:1.5rem;font-family:'articulat-cf',sans-serif;font-weight:700;margin-bottom:16px;}
    .pf-showcase-item__text p{font-size:0.95rem;line-height:1.7;margin-bottom:30px;}
    @media(max-width:959px){
        .pf-showcase-item{grid-template-columns:1fr;gap:24px;}
        .pf-showcase-item--reverse .pf-showcase-item__image{order:0;}
        .pf-showcase-item--reverse .pf-showcase-item__text{order:0;margin-left:0;}
    }

    /* Experiences Showcase – slider variant (home) */
    .pf-showcase-head{margin-bottom:30px;align-items:flex-end;text-align:left;}
    .pf-showcase-head .pf-block-title,.pf-showcase-head .pf-block-desc{text-align:left;margin-left:0;margin-right:0;}
    .pf-showcase-head .pf-block-title{margin-bottom:14px;}
    .pf-showcase-head__link{display:inline-flex;align-items:center;gap:10px;color:#000;font-family:'articulat-cf',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;border-bottom:1px solid #000;padding-bottom:4px;text-decoration:none;transition:opacity 0.2s;}
    .pf-showcase-head__link:hover{opacity:0.6;color:#000;}
    .pf-showcase-head__link svg{flex-shrink:0;}
    .pf-showcase-slider{position:relative;}
    .pf-showcase-slider > .uk-position-relative{overflow:hidden;}
    .pf-showcase-slide{align-items:stretch;}
    .pf-showcase-slide__text{width:100%;max-width:520px;padding-left:40px;}
    .pf-showcase-slide__text h4{font-size:1.4rem;font-family:'articulat-cf',sans-serif;font-weight:700;margin:0 0 18px;color:#000;}
    .pf-showcase-slide__text p{font-size:0.95rem;line-height:1.65;color:#000;margin:0 0 32px;max-width:420px;}
    .pf-showcase-slide__image{position:relative;overflow:hidden;background-size:cover;background-position:center;}
    .pf-showcase-slide__image img{display:block;width:100%;height:auto;object-fit:cover;aspect-ratio:4/3;}
    .pf-showcase-slide__actions{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:24px;width:100%;padding-right:40px;box-sizing:border-box;}
    .pf-showcase-slide__cta{display:inline-flex;align-items:center;gap:14px;padding:14px 22px;border:1px solid #000;color:#000;background:transparent;font-family:'articulat-cf',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;transition:background 0.2s,color 0.2s;}
    .pf-showcase-slide__cta:hover{background:#000;color:#fff;}
    .pf-showcase-slide__cta svg{flex-shrink:0;}
    .pf-showcase-nav{display:inline-flex;align-items:center;gap:14px;color:#000;}
    .pf-showcase-nav a{display:inline-flex;align-items:center;justify-content:center;color:inherit;transition:opacity 0.2s;}
    .pf-showcase-nav a:hover{opacity:0.5;}
    .pf-showcase-nav__counter{font-family:'articulat-cf',sans-serif;font-size:0.9rem;color:#000;min-width:30px;text-align:center;}
    @media(max-width:959px){
        .pf-showcase-head{margin-bottom:40px;}
        .pf-showcase-head__link{font-size:0.72rem;}
        .pf-showcase-slide__text{padding-left:0;}
        .pf-showcase-slide__image{min-height:280px;}
        .pf-showcase-slide__actions{flex-direction:column;align-items:flex-start;padding-right:0;}
    }

    /* Offers Feed */
    .pf-offers-feed__list{display:flex;flex-direction:column;gap:30px;}
    .pf-offers-feed__item{display:grid;grid-template-columns:1fr 1fr;min-height:500px;}
    .pf-offers-feed__image{overflow:hidden;}
    .pf-offers-feed__image img{width:100%;height:100%;display:block;object-fit:cover;}
    .pf-offers-feed__text{display:flex;flex-direction:column;justify-content:center;padding:50px 60px;}
    .pf-offers-feed__subtitle{font-family:'articulat-cf',sans-serif;font-size:0.85rem;color:#000;margin-bottom:8px;}
    .pf-offers-feed__text h4{font-size:1.5rem;font-family:'articulat-cf',sans-serif;font-weight:700;margin-top:0;margin-bottom:16px;}
    .pf-offers-feed__desc{font-size:0.95rem;line-height:1.7;margin-bottom:24px;}
    .pf-offers-feed__desc p{margin-bottom:8px;}
    .pf-offers-feed__conditions p{font-size:0.75rem;line-height:1.5;color:#555961;margin-bottom:24px;}
    .pf-offers-feed__text .uk-button-primary{align-self:flex-start;}
    @media(max-width:959px){
        .pf-offers-feed__item{grid-template-columns:1fr;min-height:auto;}
        .pf-offers-feed__image{aspect-ratio:4/3;}
        .pf-offers-feed__text{padding:30px 24px;}
    }

    /* Bonos Banner */
    .pf-bonos-banner{padding-top:80px;padding-bottom:80px;}
    .pf-bonos-banner__card{}
    .pf-bonos-banner__left{background:#213667;color:#fff;display:flex;align-items:center;justify-content:center;padding:60px 50px;}
    .pf-bonos-banner__left h4{font-size:1.6rem;line-height:1;margin:0;color: #fff;}
    .pf-bonos-banner__left h4 span{font-style:italic;}
    .pf-bonos-banner__right{background:#fff;display:flex;flex-direction:column;justify-content:center;padding:60px 50px;border:1px solid #b1b4bb;border-left: 0;}
    .pf-bonos-banner__right p{font-size:0.95rem;line-height:1.7;color:#333;margin:0 0 20px;}
    @media(max-width:768px){
    .pf-bonos-banner__card{flex-direction:column;}
    .pf-bonos-banner__left,.pf-bonos-banner__right{width:100%;}
    }

    /* Destination Hero */
    .pf-destination-hero{background-size:cover;background-position:center;position:relative;min-height:85vh;box-sizing: border-box;}
    .pf-destination-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.1) 50%, transparent 100%);}
    .pf-destination-hero__content{position:relative;z-index:1;max-width:550px;}
    .pf-destination-hero__content h2{font-size:3rem;color:#fff;margin-bottom:15px;line-height:1;}
    .pf-destination-hero__content h2 em,.pf-destination-hero__content h2 span{font-style:italic;}
    .pf-destination-hero__content p{font-size:1rem;line-height:1.6;color:rgba(255,255,255,0.85);margin-bottom:30px;}
    .uk-button.uk-button-primary-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.6);display:inline-flex;align-items:center;gap:40px;padding:18px 25px;font-family:'articulat-cf',sans-serif;font-size:0.8rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;transition:all 0.3s ease;text-decoration:none;}
    .uk-button.uk-button-primary-outline:hover{background:#fff;color:#000;border-color:#fff;}
    .uk-button.uk-button-primary-outline svg{flex-shrink:0;}

    /* Slider navigation arrows */
    .uk-slidenav{width:50px;height:50px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,0.1);transition:all 0.25s;padding:0;}
    .uk-slidenav:hover{background:#f5f5f5;}
    .uk-slidenav svg{display:none;}
    .uk-slidenav::after{content:'';display:block;width:20px;height:20px;background-repeat:no-repeat;background-position:center;background-size:contain;}
    a[uk-slidenav-next]::after, .uk-slidenav-next::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");}
    a[uk-slidenav-previous]::after, .uk-slidenav-previous::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E");}

/* landing */
.landing .header-image{height: 70vh;}
.landing .pf-intro{padding: 40px;}
.landing .pf-intro h1{line-height: 1;}
.landing .pf-intro h1 span{display: block;}
.pf-blue-attitude-logo{display:block;width:480px;max-width:80%;height:auto;margin:0 auto 28px;}
@media (max-width: 959px){.pf-blue-attitude-logo{width:320px;margin-bottom:20px;}}
/* Logo Loyal Club (flatpage 24): SVG vertical 161x335, mostrado con sus colores. */
.pf-loyal-logo{display:block;width:130px;max-width:40%;height:auto;margin:0 auto 28px;}
@media (max-width: 959px){.pf-loyal-logo{width:100px;margin-bottom:20px;}}



/* Cookies */
#cookieMessageWrapper{width: 100%;position: fixed;left:0;top: 0;z-index: 9998;height:100%;background: rgba(38,38,38,0.6);display:none;}
#cookieMessage{margin: 0 auto;position: absolute;padding: 40px;width: 80%;left: 50%;top: 50%;max-width: 580px;transform: translateX(-50%) translateY(-50%);background-color: #ffffff;text-align: center;}
#cookieMessage .cookies-logo{width: 160px;filter: none;}
#cookieMessage p{margin: 20px 0; color: #444;text-align: center;}
.cookie-consent-options {margin-top: 10px;color: #000;}
#cookieMessage h3 {font-size: 1.6rem;}
#cookieMessage .uk-link{margin-top: 20px;color: #040f0c;display: inline-block;padding: 10px;vertical-align: middle;}
#cookieMessage:after{content: "."; display: block; height: 0; clear: both; visibility: hidden;}
#cookieClose{display: inline-block;margin-top: 20px;cursor: pointer;margin-right: 5px;}
#cookieClose:hover{color: #fff;}
#cookieNone{margin-top: 20px;}
#cookieMessageWrapper h4.uk-modal-title{font-size: 1rem;}
#cookieMessageWrapper .uk-link{color: #040f0c;display: inline-block;padding: 20px;vertical-align: middle;}
#cookieMessageWrapper label{margin-right: 10px;font-family: 'articulat-cf';text-transform: uppercase;font-size: 0.8rem;}
#cookieMessageWrapper .uk-checkbox{border-color: #040f0c !important;margin-right: 5px;}
#cookieMessageWrapper .uk-checkbox:checked{background-color: #040f0c;}
#cookieMessageWrapper .uk-checkbox:disabled:checked{background-color: rgba(255, 255, 255, 0.5);border-color: rgba(255, 255, 255, 0.5) !important;}
.uk-button-accept{ background-color: #213667; color: white !important; border: 1px solid #213667; padding: 10px 20px !important; margin: 2px; transition: all 0.2s;}
.uk-button-accept:hover{background-color: #1a2b52; border-color: #1a2b52; color: white !important;}
.uk-button-decline{ background-color: transparent; color: #213667 !important; border: 1px solid #213667; padding: 10px 20px !important; margin: 2px; transition: all 0.2s;}
.uk-button-decline:hover{ background-color: #213667; color: white !important; border-color: #213667; }
.uk-button-decline-all{ background-color: transparent; color: #999 !important; border: 1px solid #ccc; padding: 10px 20px !important; margin: 2px; transition: all 0.2s;}
.uk-button-decline-all:hover{background-color: #f5f5f5; color: #666 !important; border-color: #ccc;}

#cookieMessageWrapper .uk-link{color: #000;display: inline-block;padding: 20px;vertical-align: middle;}
#cookieMessageWrapper .uk-checkbox{border-color: #000 !important;}
#cookieMessageWrapper .uk-checkbox:checked{background-color: #000;}
#cookieMessageWrapper .uk-checkbox:disabled:checked{background-color: #f5e9c9;border-color: #f5e9c9 !important;}


  /* cookies i aviso legal */
  .cookies .header {background-position: center; position: relative; background-image: url('../../public/img/bg-cookies.jpg');background-size: cover; background-repeat: no-repeat; }
  .legal .header {background-position: center; position: relative; background-image: url('../../public/img/bg-legal.jpg');background-size: cover; background-repeat: no-repeat; }
  .conditions .header {background-position: center; position: relative; background-image: url('../../public/img/bg-legal.jpg');background-size: cover; background-repeat: no-repeat; }

  /* newsletter */
  #newsletter-subscribe-send{cursor: pointer;position: absolute;right: 0;top: 0;font-family: 'articulat-cf';text-transform: uppercase;font-size: 0.9rem;padding: 6px 10px;}
  #newsletter-subscribe-send:hover{background-color: #000;color: #fff;}

  /* footer */
  footer li a, footer li {color: #000; list-style: none !important; font-size: 1rem;font-family: 'articulat-cf';line-height: 2;font-size: 0.9rem;}
  footer li.uk-lead{font-weight: 400;font-size: 1.6rem;font-family: 'articulat-cf';text-transform: none;line-height: 1.6;}
  footer li a:hover {color: #000;}
  footer small {font-size: 0.7rem;}
  footer .attr { height: 0; display: table-column-group;}
  footer .footer-logos-partners img {opacity: 0.4;}

  .footer-logo {width: 100%;max-width: 150px;filter: invert();}

  .footer-legal li{display: inline-block;margin-right: 20px;}
  .footer-legal li a{font-family: 'articulat-cf';font-weight: 400;font-size: 0.8rem;}

  .copyright{font-size: 0.8rem;font-family: 'articulat-cf';font-weight: 400;color: #000;text-transform: uppercase;margin-top: 5px;}
  .autor{ font-size: 0.8rem; margin-bottom: 0;opacity: 0.6;}
  .autor a{font-weight: 400;margin-top: 10px !important; color: #999;}
  .autor b {font-weight: 700;}



/* Footer */
.pf-footer{border-top:1px solid #e0e0e0;}
.pf-footer__main{padding:0;}
.pf-footer__main .uk-grid-divider > :not(.uk-first-column)::before{border-left-color:#e0e0e0;}
/* Cada columna: misma altura, contenido centrado verticalmente (Figma) */
.pf-footer__main > div > [uk-grid] > div{display:flex;align-items:center;min-height:340px;}
.pf-footer__main > div > [uk-grid] > div > div{width:100%;}
.pf-footer__logo-col{width:80px !important;flex:none !important;position:relative;overflow:visible;display:flex;align-items:center;}
.pf-footer__logo{width:260px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-90deg);width: 200% !important;max-width: max-content;}
.pf-footer__heading{font-family:'articulat-cf',sans-serif;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#999;margin-bottom:10px;}
.pf-footer__heading--serif{font-family:'playfair-display',serif;font-size:1.3rem;font-weight:400;text-transform:none;letter-spacing:0;color:#000;line-height:1.3;}
.pf-footer__heading--serif span{font-style:italic;}
.pf-footer__list{margin:0;padding:0;list-style:none;}
.pf-footer__list li{font-size:1.3rem;color:#333;margin-bottom:8px;}
.pf-footer__list li a{color:inherit;text-decoration:none;font-size:inherit;transition:color .2s;}
.pf-footer__list li a:hover{color:#000;text-decoration:underline;text-underline-offset:4px;}
.pf-footer__text{font-size:1.3rem;color:#333;margin-bottom:20px;margin-top: 0;}
.pf-footer__text a{color:#333;text-decoration:none;}
.pf-footer__text a:hover{color:#000;}
.pf-footer__social{display:flex;gap:20px;}
.pf-footer__social a{font-size:1.1rem;color:#333;text-decoration:none;}
.pf-footer__social a:hover{color:#000;}
.pf-footer__newsletter{cursor:pointer;margin-bottom:12px;}
.pf-footer__newsletter-input{width:100%;border:none;border-bottom:2px solid #000;padding:10px 0;font-size:0.9rem;background:transparent;cursor:pointer;outline:none;}
.pf-footer__newsletter-legal{font-size:0.75rem;color:#999;line-height:1.5;margin-bottom:15px;}
.pf-footer__newsletter-legal a{color:#333;text-decoration:underline;}
.pf-footer__menu{border-top:1px solid #e0e0e0;padding:25px 0;}
.pf-footer__menu ul{list-style:none;margin:0;padding:0;gap:30px;}
.pf-footer__menu li a{font-family:'articulat-cf',sans-serif;font-size:0.9rem;color:#333;text-decoration:none;}
.pf-footer__menu li a:hover{color:#000;}
.pf-footer__bottom{border-top:1px solid #e0e0e0;padding:20px 0;}
.pf-footer__bottom p{font-size:0.75rem;color:#999;margin:0;}
.pf-footer__bottom ul{list-style:none;margin:0;padding:0;gap:25px;}
.pf-footer__bottom li a{font-size:0.75rem;color:#999;text-decoration:none;}
.pf-footer__bottom li a:hover{color:#333;}

@media only screen and (max-width: 1699px){ /* x-large */
  h4{font-size: 1.5rem;}
}
@media only screen and (max-width: 1499px){ /* large */
  .main-menu .uk-dropnav .uk-subnav li a{font-size: 2rem;}

}

@media only screen and (max-width: 1199px){ /* large */
  .section-text {padding: 5vh;}
  .text.section-text {padding: 3vh !important;}
  .main-menu .uk-dropnav .uk-subnav li a{font-size: 1.8rem;}


}

@media (max-width: 1024px){ /* ipad */


}


@media (max-width: 959px){ /* medium */
  /* .uk-navbar-nav.main-menu {display: none;position: absolute;top: 0;left: 0;padding: 20px 0vw 0 0vw;width: calc(100% - 10px);background-color: #000;z-index: 3;padding-left: 10px;padding-top: 100px;} */
  .uk-navbar-nav.visible-flex {display: block !important;overflow-y: auto;height: calc(100vh - 80px);}
  .uk-navbar-toggle {height: 80px;float: right;z-index: 4;position: relative;}
  .uk-navbar-toggle-icon {margin-right: 10px;}
  .uk-navbar-nav>li, .uk-navbar-nav>li ul li, .uk-navbar-nav>li ul.uk-nav-sub li{min-height: 40px;justify-content: left;}
  .uk-navbar-nav>li>a, .uk-navbar-nav>li ul li a, .uk-navbar-nav>li ul.uk-nav-sub li a{min-height: auto;justify-content: left;padding: 8px 10px;}

  .vertical {writing-mode: horizontal-tb;transform: rotate(0deg);}
  .section-large{padding: 4vh;}
  .newsletter-footer{text-align: center;}
  .footer-logos-partners{padding-top: 40px;}
  .footer-logos-partners div.uk-flex{justify-content: center;}
  .footer-logo-container{text-align: center ;}
  .footer-logo-container .footer-logo{margin-bottom: 20px;}
  .footer-social-mobile{justify-content: center;display: flex ;}
  .footer-menu-mobile .uk-accordion-title{font-size: 1.4rem;font-family: 'articulat-cf', sans-serif;font-weight: 400;text-transform: none;}
  .footer-menu-mobile .uk-accordion-title:before{display: none;}
  .footer-menu-mobile .uk-drop-parent-icon {transform: rotateZ(270deg);float: right;margin-right: 15px;margin-top: 5px;}
  .footer-menu-mobile .uk-drop-parent-icon svg{width: 15px;}
  .footer-menu-mobile li.uk-open .uk-accordion-title .uk-drop-parent-icon{transform: rotateX(360deg);}
  .container-menu-padding{padding: 0 20px !important;}

  .order-1 {order: -1; -webkit-order: -1}
  .order-1m{order: 0;}
  .order-1mu{order: -1;}

  /* PLUS FARIONES */

}
@media (max-width: 767px){ /* medium-small */

  #container-menu .uk-navbar{margin: 0;}
  .menu-langs{display: none;}
  .header{margin-top: -80px;}
  .header-logo{max-height: 40px;max-width: 150px;margin-top: 0;}
  #container-menu .uk-navbar-right .uk-button{padding: 2px 10px; font-size: 0.8rem; background-color: rgba(255, 255, 255, 0.5) !important;border: 0;}
  
  /* PLUS FARIONES */

}

@media only screen and (max-width: 639px){ /* small */

   /* PLUS FARIONES */



}
@media (max-width: 459px){ /* x-small */

    /* PLUS FARIONES */


}

/* =========================================================
   HOTEL HOME PAGE
   ========================================================= */

/* ---- Shared section primitives ---- */
.pf-eyebrow{display:inline-block;font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:#213667;margin-bottom:18px;}
.pf-block-title{font-family:'Playfair',serif;font-weight:400;font-size:3rem;line-height:1.05;color:#000;margin:0 0 18px;}
.pf-block-title span{font-style:italic;}
.pf-block-desc{font-family:'articulat-cf',sans-serif;font-size:1.05rem;line-height:1.55;color:#000;max-width:640px;margin:0 0 30px;}
.pf-section-head{margin-bottom:40px;}

.pf-link-arrow{display:inline-flex;align-items:center;gap:10px;font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:#000;text-decoration:none;position:relative;padding-bottom:6px;}
.pf-link-arrow::before{content:'';position:absolute;left:0;right:32px;bottom:0;height:1px;background:#000;}
.pf-link-arrow--light,.bg-dark .pf-link-arrow,.pf-destination-hero .pf-link-arrow{color:#fff;}
.pf-link-arrow--light::before,.bg-dark .pf-link-arrow::before{background:#fff;}

/* ---- Badge Select ---- */
.pf-badge-select{position:absolute;top:20px;left:20px;z-index:2;display:inline-flex;align-items:center;padding:9px 22px;background:#fff;color:#213667;font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.85rem;letter-spacing:0.18em;text-transform:uppercase;border-radius:999px;}

/* ---- Slider nav primitive ---- */
.pf-slider-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:30px;}
.pf-slider-nav--center{justify-content:center;}
.pf-slider-nav--right{justify-content:flex-end;}
.pf-slider-nav__arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(0,0,0,0.25);border-radius:999px;color:#000;transition:all .25s ease;background:transparent;}
.pf-slider-nav__arrow:hover{background:#213667;border-color:#213667;color:#fff;}
.pf-slider-nav__arrow--floating{position:absolute;right:-22px;top:50%;transform:translateY(-50%);background:#fff;z-index:2;}
.pf-slider-nav__counter{font-family:'articulat-cf',sans-serif;font-size:0.85rem;letter-spacing:0.08em;min-width:40px;text-align:center;}
.bg-dark .pf-slider-nav__arrow{border-color:rgba(255,255,255,0.3);color:#fff;}
.bg-dark .pf-slider-nav__arrow:hover{background:#fff;color:#000;}
.bg-dark .pf-slider-nav__counter{color:#fff;}

/* ---- BOOKING MASK (used by home + hotel) ---- */
/* Desktop only: keep the dock in flow so the Mirai dropdown's z-index
   stacks over the hero. On mobile the dock is fixed-bottom (see line ~456),
   so scoping this prevents the later rule from overriding the mobile fix. */
@media (min-width:960px){
    .pf-booking-dock{position:relative;z-index:60;}
    .pf-booking-dock [data-mirai-component="finder"]{position:relative;z-index:60;}
}
.pf-booking-mask{display:flex;align-items:stretch;margin-top:36px;background:#fff;border:1px solid #213667;border-radius:14px;box-shadow:0 30px 60px rgba(0,0,0,0.12);width:100%;max-width:1400px;}
.pf-booking-mask__fields{flex:1;display:flex;align-items:stretch;min-width:0;}
.pf-booking-mask > .pf-booking-mask__fields > .pf-booking-mask__field:first-child{border-radius:13px 0 0 13px;}
.pf-booking-mask__field{flex:1;display:flex;align-items:center;gap:14px;padding:18px 28px;min-width:0;position:relative;cursor:pointer;color:#000;margin:0;}
.pf-booking-mask__field + .pf-booking-mask__field::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:1px;background:#e5e5e5;}
.pf-booking-mask__icon{flex-shrink:0;color:#213667;}
.pf-booking-mask__body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}
.pf-booking-mask__label{font-family:'articulat-cf',sans-serif;font-weight:500;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:#8a8a8a;}
.pf-booking-mask__control{border:0;padding:0;margin:0;font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.95rem;line-height:1.2;color:#111;background:transparent;outline:none;width:100%;cursor:pointer;appearance:none;-webkit-appearance:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}
.pf-booking-mask__control::placeholder{color:#b0b0b0;font-weight:500;}
.pf-booking-mask__submit{flex-shrink:0;border:0;background:#213667;color:#fff;font-family:'articulat-cf',sans-serif;font-weight:700;font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;padding:0 48px;min-width:190px;cursor:pointer;transition:background .25s;border-radius:0 13px 13px 0;}
.pf-booking-mask__submit:hover{background:#17254a;}

.header-image .pf-booking-mask{box-shadow:0 30px 80px rgba(0,0,0,0.25);}

/* Standalone container for the bookingmask on pages without a hero image
   (hotel-rooms / room / destination / experience-post / job-offer) and as
   the @else branch on conditional-hero pages. Mobile uses the fixed dock
   so spacing only matters on desktop. */
@media (min-width:960px){.pf-booking-dock-bare{padding:30px 0 10px;}}

/* trigger field (occupancy) behaves like a label */
.pf-booking-mask__field--trigger{outline:none;}
.pf-booking-mask__field--trigger:hover,.pf-booking-mask__field--trigger:focus-visible{background:rgba(33,54,103,0.03);}
.pf-booking-mask__occupancy-summary{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ---- OCCUPANCY DROPDOWN (panel inside trigger, JS-controlled) ---- */
.pf-occupancy-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:1111;background:#fff;border-radius:12px;box-shadow:0 30px 60px rgba(0,0,0,0.18);min-width:380px;width:380px;max-width:calc(100vw - 32px);}
.pf-occupancy-dropdown[hidden]{display:none;}
.pf-occupancy{padding:22px 24px 18px;}
.pf-occupancy__rooms{display:flex;flex-direction:column;gap:20px;max-height:360px;overflow-y:auto;padding-right:8px;margin-right:-8px;scrollbar-width:thin;scrollbar-color:#c4c4c4 transparent;}
.pf-occupancy__rooms::-webkit-scrollbar{width:6px;}
.pf-occupancy__rooms::-webkit-scrollbar-track{background:transparent;}
.pf-occupancy__rooms::-webkit-scrollbar-thumb{background:#c4c4c4;border-radius:3px;}
.pf-occupancy__rooms::-webkit-scrollbar-thumb:hover{background:#a0a0a0;}
.pf-occupancy__add{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:10px 0;background:transparent;border:0;cursor:pointer;font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.85rem;color:#213667;text-decoration:underline;text-underline-offset:4px;}
.pf-occupancy__add:hover{color:#17254a;}
.pf-occupancy__actions{display:flex;justify-content:flex-end;border-top:1px solid #eee;margin:18px -24px 0;padding:14px 24px 0;}
.pf-occupancy__apply{background:#213667;border:0;color:#fff;font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;padding:12px 26px;cursor:pointer;border-radius:8px;transition:background .2s;}
.pf-occupancy__apply:hover{background:#17254a;}

.pf-occupancy-room{padding:16px 0 0;border-top:1px solid #eee;}
.pf-occupancy-room:first-child{padding-top:0;border-top:0;}
.pf-occupancy-room__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.pf-occupancy-room__title{font-family:'articulat-cf',sans-serif;font-weight:700;font-size:0.95rem;color:#111;}
.pf-occupancy-room__remove{background:transparent;border:0;cursor:pointer;color:#999;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;}
.pf-occupancy-room__remove:hover{color:#d23;background:rgba(221,51,68,0.08);}

.pf-occupancy-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;}
.pf-occupancy-row__label strong{display:block;font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.95rem;color:#111;}
.pf-occupancy-row__label small{font-family:'articulat-cf',sans-serif;font-size:0.78rem;color:#888;}

.pf-occupancy-stepper{display:inline-flex;align-items:center;gap:14px;}
.pf-occupancy-stepper__btn{width:34px;height:34px;border:1px solid #d4d4d4;background:#fff;border-radius:8px;cursor:pointer;font-size:1.1rem;color:#111;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;font-family:'articulat-cf',sans-serif;line-height:1;padding:0;}
.pf-occupancy-stepper__btn:hover{border-color:#213667;color:#213667;}
.pf-occupancy-stepper__btn:disabled{opacity:0.35;cursor:not-allowed;}
.pf-occupancy-stepper__value{font-family:'articulat-cf',sans-serif;font-weight:600;font-size:1rem;min-width:22px;text-align:center;color:#111;}

.pf-occupancy-room__ages{margin-top:10px;padding:14px;background:#f6f6f6;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;}
.pf-occupancy-age{flex:1 1 calc(50% - 5px);min-width:0;display:flex;flex-direction:column;gap:4px;}
.pf-occupancy-age__label{font-family:'articulat-cf',sans-serif;font-size:0.78rem;color:#666;}
.pf-occupancy-age__select{width:100%;padding:8px 12px;border:1px solid #d4d4d4;border-radius:8px;background:#fff;font-family:'articulat-cf',sans-serif;font-size:0.9rem;color:#111;cursor:pointer;}
.pf-occupancy-age__select:focus{outline:none;border-color:#213667;}
.pf-occupancy-room__ages-hint{flex:1 1 100%;font-family:'articulat-cf',sans-serif;font-size:0.75rem;color:#666;margin:4px 0 0;}

/* ---- FLATPICKR THEME ---- */
.flatpickr-calendar{font-family:'articulat-cf',sans-serif;border-radius:14px;box-shadow:0 30px 70px rgba(0,0,0,0.15);border:0;padding:18px 20px;width:auto;}
.flatpickr-calendar.hasTime .flatpickr-time{border-top:1px solid #eee;}
.flatpickr-calendar::before,.flatpickr-calendar::after{display:none;}

/* Month headers (Abril 2026, Mayo 2026) */
.flatpickr-months{padding:4px 4px 14px;align-items:center;}
.flatpickr-months .flatpickr-month{height:auto;color:#111;overflow:visible;display:flex;align-items:center;justify-content:center;}
.flatpickr-current-month{position:static;font-family:'articulat-cf',sans-serif;font-size:1rem;font-weight:700;color:#111;padding:0;height:auto;line-height:1;display:inline-flex;align-items:center;gap:4px;width:auto;left:auto;}
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year{font-family:'articulat-cf',sans-serif;font-weight:400;color:#111;line-height:1;}
.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:none;-webkit-appearance:none;padding:0 4px 0 0;}
.flatpickr-current-month input.cur-year{font-weight:400;padding:0;pointer-events:none;user-select:none;-webkit-user-select:none;caret-color:transparent;background:transparent;border:0;}
.flatpickr-current-month .numInputWrapper{width:auto;display:inline-flex;align-items:center;}
.flatpickr-current-month .numInputWrapper:hover{background:transparent;}
.flatpickr-current-month .numInputWrapper span{display:none !important;}
.flatpickr-current-month input.cur-year::-webkit-inner-spin-button,
.flatpickr-current-month input.cur-year::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.flatpickr-current-month input.cur-year{-moz-appearance:textfield;appearance:textfield;}

/* Prev / Next arrows → simple arrow (→ ←) */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month{position:static;width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#111;fill:#111;border-radius:50%;transition:background .2s;}
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover{background:rgba(33,54,103,0.08);color:#213667;fill:#213667;}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg{display:none;}
.flatpickr-months .flatpickr-prev-month::before,
.flatpickr-months .flatpickr-next-month::before{content:'';width:20px;height:20px;background:currentColor;-webkit-mask:no-repeat center / contain;mask:no-repeat center / contain;}
.flatpickr-months .flatpickr-prev-month::before{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><line x1='19' y1='12' x2='5' y2='12'/><polyline points='12 19 5 12 12 5'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><line x1='19' y1='12' x2='5' y2='12'/><polyline points='12 19 5 12 12 5'/></svg>");}
.flatpickr-months .flatpickr-next-month::before{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>");}

/* When 2 months are shown, separate the headers */
.flatpickr-calendar.multiMonth .flatpickr-months{justify-content:space-between;}

/* Weekdays */
.flatpickr-weekdays{height:auto;padding:6px 0 10px;}
.flatpickr-weekdaycontainer{padding:0 2px;}
.flatpickr-weekday{font-family:'articulat-cf',sans-serif;color:#a8a8a8;font-weight:500;font-size:0.78rem;text-transform:none;}

/* Days grid — roomier rows */
.flatpickr-days{padding:4px 0;}
.dayContainer{padding:0 2px;min-width:280px;width:280px;}
.flatpickr-day{font-family:'articulat-cf',sans-serif;font-weight:400;font-size:0.95rem;color:#111;height:44px;line-height:44px;max-width:40px;border-radius:50%;border:0;margin:2px 0;}
.flatpickr-day:hover:not(.selected):not(.inRange):not(.startRange):not(.endRange){background:#f3f3f3;}
.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:#ccc;background:transparent;border:0;cursor:default;}

/* Today → bold only, no ring */
.flatpickr-day.today{border:0;font-weight:700;color:#111;}
.flatpickr-day.today:not(.selected):hover{background:#f3f3f3;color:#111;}

/* Selected + range */
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,
.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,
.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover{background:#213667;border-color:#213667;color:#fff;font-weight:600;border-radius:50%;box-shadow:none;}
.flatpickr-day.inRange,.flatpickr-day.inRange:hover{background:rgba(33,54,103,0.08);border-color:transparent;box-shadow:-5px 0 0 rgba(33,54,103,0.08),5px 0 0 rgba(33,54,103,0.08);color:#213667;border-radius:0;font-weight:500;}
.flatpickr-day.startRange.endRange,.flatpickr-day.startRange+.endRange{border-radius:50%;}
.flatpickr-day.startRange:not(.endRange){border-radius:50% 0 0 50%;}
.flatpickr-day.endRange:not(.startRange){border-radius:0 50% 50% 0;}

@media (max-width: 1199px){
    .pf-booking-mask__field{padding:16px 20px;gap:10px;}
    .pf-booking-mask__submit{padding:0 32px;min-width:160px;}
}
@media (max-width: 959px){
    .pf-booking-mask{flex-direction:column;border-radius:12px;}
    .pf-booking-mask__fields{flex-direction:column;}
    .pf-booking-mask__field{padding:16px 22px;}
    .pf-booking-mask__field + .pf-booking-mask__field::before{left:22px;right:22px;top:0;bottom:auto;width:auto;height:1px;}
    .pf-booking-mask__submit{padding:18px;min-width:0;width:100%;border-radius:0 0 12px 12px;}
}

/* ---- 4. ROOMS ---- */
.pf-rooms{padding:60px 0;}
/* Rooms page – head + feed (image + beige panel) */
.pf-rooms-page__head{padding-top:70px;padding-bottom:40px;}
/* Hotel sub-page header (breadcrumb + centered title + lead) */
.pf-hotel-head{padding:50px 0 60px;}
.pf-hotel-head .uk-breadcrumb{margin-bottom:30px;}
.pf-hotel-head__text{max-width:780px;margin:0 auto;}
.pf-hotel-head__title{font-family:'Playfair',serif;font-weight:400;font-size:2.6rem;line-height:1.1;margin:0 0 16px;}
.pf-hotel-head__title span{font-style:italic;}
.pf-hotel-head__title--italic{font-style:italic;}
.pf-hotel-head__lead{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#333;margin:0;}
.pf-hotel-head__lead a{color:#000;text-decoration:underline;text-underline-offset:4px;}
@media (max-width:639px){
    .pf-hotel-head{padding:36px 0 40px;}
    .pf-hotel-head__title{font-size:2rem;}
}
.pf-rooms-page__title{font-family:'Playfair',serif;font-weight:400;font-size:3.2rem;line-height:1.05;margin:0 0 18px;}
.pf-rooms-page__intro{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#333;max-width:720px;margin:0;}
.pf-rooms-feed{padding:20px 0 80px;}
.pf-rooms-feed__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:50px;}
.pf-rooms-feed__item{display:grid;grid-template-columns:3fr 2fr;overflow:hidden;align-items:stretch;}
/* Desktop: image cell stretches with the grid row so it tracks the body
   height when the description / extras grid grows. min-height is the
   short-content floor. */
.pf-rooms-feed__image{position:relative;overflow:hidden;min-height:420px;}
.pf-rooms-feed__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.pf-rooms-feed__gallery-btn{position:absolute;bottom:20px;left:20px;display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,0.95);color:#000 !important;padding:10px 18px;font-family:'articulat-cf',sans-serif;font-size:0.85rem;font-weight:600;text-decoration:none;border-radius:10px;transition:background 0.2s;}
.pf-rooms-feed__gallery-btn:hover{background:#fff;color:#000;}
.pf-rooms-feed__gallery-btn svg{flex-shrink:0;}
.pf-rooms-feed__body{padding:48px 56px;display:flex;flex-direction:column;gap:18px;}
.pf-rooms-feed__title{font-family:'articulat-cf',sans-serif;font-weight:500;font-size:1.7rem;line-height:1.15;color:#000;margin:0;letter-spacing:-0.01em;}
.pf-rooms-feed__highlights{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 12px;font-family:'articulat-cf',sans-serif;font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;color:#6b6b6b;}
.pf-rooms-feed__highlights li{display:inline-flex;align-items:center;}
.pf-rooms-feed__highlights li:not(:last-child)::after{content:'•';margin-left:12px;color:#b5b5b5;}
.pf-rooms-feed__desc{font-family:'articulat-cf',sans-serif;font-size:0.95rem;line-height:1.65;color:#333;margin:0;}
.pf-rooms-feed__extras{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;}
.pf-rooms-feed__extras li{display:flex;align-items:center;gap:10px;font-family:'articulat-cf',sans-serif;font-size:0.88rem;color:#222;}
.pf-rooms-feed__extras li img{width:30px;height:30px;object-fit:contain;flex-shrink:0;}
.pf-rooms-feed__extras li svg{flex-shrink:0;color:#213667;width:26px;height:26px;}
.pf-rooms-feed__extras-more a{color:#6b6b6b;font-family:'articulat-cf',sans-serif;font-size:0.85rem;font-weight:400;text-decoration:underline;text-underline-offset:3px;}
.pf-rooms-feed__extras-more a:hover{color:#213667;}
.pf-rooms-feed__actions{display:flex;align-items:center;gap:24px;margin-top:32px;flex-wrap:wrap;}
@media (min-width: 960px){
    /* Desktop shows the full 8 amenities; the 'Ver más' link injected only
       to satisfy the mobile 3-cap is hidden here. */
    .pf-rooms-feed__extras-more--mobile{display:none;}
}
@media (max-width: 959px){
    .pf-rooms-feed__item{grid-template-columns:1fr;}
    /* Phones stack vertically, so use a fixed aspect ratio for the image
       instead of stretching to body height. */
    .pf-rooms-feed__image{aspect-ratio:4/3;min-height:320px;}
    .pf-rooms-feed__body{padding:32px 28px;gap:14px;}
    .pf-rooms-feed__extras{grid-template-columns:1fr;}
    /* Cap extras at 3 on mobile; desktop overflow items stay rendered for
       the wider grid but are hidden here. */
    .pf-rooms-feed__extras-item--desktop{display:none;}
    /* Highlights row ("2 CAMAS INDIVIDUALES O 1 DOBLE · 39 M²") was
       reading as a second headline on phones — shrink + tighten so it
       behaves like a caption. */
    .pf-rooms-feed__highlights,
    .pf-rooms-feed__highlights li{font-size:0.75rem !important;letter-spacing:0.06em !important;line-height:1.3 !important;}
    .pf-rooms-feed__highlights{gap:4px 10px !important;}
    .pf-rooms-feed__highlights li:not(:last-child)::after{margin-left:10px !important;font-size:0.75rem !important;}
    .pf-rooms-page__title{font-size:2.4rem;}
}
.pf-room-card{display:flex;flex-direction:column;gap:14px;}
.pf-room-card__media{position:relative;overflow:hidden;aspect-ratio:578/538;}
.pf-room-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.pf-room-card:hover .pf-room-card__media img{transform:scale(1.04);}
.pf-room-card__title{font-family:'articulat-cf',sans-serif;font-size:1.8rem;font-weight:500;line-height:1.15;color:#000;margin:10px 0 0;}
.pf-room-card__meta{font-family:'articulat-cf',sans-serif;font-size:0.85rem;font-weight:400;letter-spacing:0.08em;text-transform:uppercase;color:#000;margin:0;}
.pf-room-card__desc{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.5;color:#111;margin:0 0 26px;max-width:460px;}
/* Keep default .uk-button-secondary (solid navy). Only override sizing. */
.pf-room-card > .uk-button.uk-button-secondary{align-self:flex-start;}

/* ---- 5. SELECT PROMO ---- */
.pf-select-promo{padding:60px 0;}
.pf-select-promo__card{background:#f7f7f7;color:#0d1729;margin:0;align-items:stretch;position:relative;overflow:hidden;}
.pf-select-promo__media-col{padding:0;position:relative;}
.pf-select-promo__media{aspect-ratio:700/600;height:100%;overflow:hidden;position:relative;background:#0d1729;}
.pf-select-promo__media > img:not(.pf-select-promo__brand){width:100%;height:100%;object-fit:cover;display:block;}
.pf-select-promo__brand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46%;max-width:300px;height:auto;pointer-events:none;z-index:2;}
.pf-select-promo__body{padding:90px 70px;position:relative;z-index:2;max-width:620px;}
.pf-select-promo__body .pf-eyebrow{color:#0d1729;letter-spacing:0.18em;font-size:0.78rem;margin-bottom:26px;text-transform:uppercase;font-weight:500;font-family:'articulat-cf',sans-serif;}
.pf-select-promo__title{font-family:'Playfair',serif;font-weight:400;font-style:italic;font-size:2.4rem;line-height:1.2;color:#0d1729;margin:0 0 30px;}
.pf-select-promo__title span{font-style:italic;}
.pf-select-promo__desc{color:#3a3f4a;font-size:1rem;line-height:1.6;margin-bottom:60px;max-width:460px;font-family:'articulat-cf',sans-serif;}
.pf-select-promo .pf-link-arrow{color:#0d1729;letter-spacing:0.18em;}
.pf-select-promo .pf-link-arrow::before{background:#0d1729;}
.pf-select-promo .pf-link-arrow:hover{color:#213667;}
.pf-select-promo .pf-link-arrow:hover::before{background:#213667;}
@media (max-width: 959px){
    .pf-select-promo__media{aspect-ratio:16/9;}
    .pf-select-promo__brand{width:42%;max-width:220px;}
    .pf-select-promo__body{padding:50px 30px;}
    .pf-select-promo__title{font-size:1.8rem;}
}

/* ---- 5a. LANZAROTE LANDING (flatpage 4) ---- */
.pf-lanzarote-intro{padding:40px 0 30px;}
.pf-lanzarote-intro__breadcrumb{margin-bottom:30px;}
.pf-lanzarote-intro__breadcrumb .uk-breadcrumb{margin:0;font-family:'articulat-cf',sans-serif;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:#888;}
.pf-lanzarote-intro__breadcrumb .uk-breadcrumb > * > a,.pf-lanzarote-intro__breadcrumb .uk-breadcrumb > * > span{font-size:0.7rem;color:#888;}
.pf-lanzarote-intro__breadcrumb .uk-breadcrumb > :last-child > span{color:#0d1729;}
.pf-lanzarote-intro__head{max-width:920px;margin:0 auto;}
.pf-lanzarote-intro__title{font-family:'Playfair',serif;font-style:italic;font-weight:400;font-size:2.4rem;line-height:1.2;color:#0d1729;margin:0 0 22px;}
.pf-lanzarote-intro__desc{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#3a3f4a;max-width:780px;margin:0 auto;}
.pf-lanzarote-intro__desc p{margin:0 0 0.8em;}
.pf-lanzarote-intro__desc p:last-child{margin-bottom:0;}

.pf-lanzarote-feature{padding:20px 0;}
.pf-lanzarote-feature__wrap{position:relative;}
.pf-lanzarote-feature__media{aspect-ratio:1620/700;width:100%;overflow:hidden;}
.pf-lanzarote-feature__media img{display:block;width:100%;height:auto;visibility:hidden;}
.pf-lanzarote-feature__card{position:absolute;top:50px;left:50px;max-width:480px;color:#fff;}
.pf-lanzarote-feature__title{font-family:'Playfair',serif;font-style:italic;font-weight:400;font-size:2.4rem;line-height:1.15;color:#fff;margin:0 0 20px;}
.pf-lanzarote-feature__text,.pf-lanzarote-feature__text p{font-family:'articulat-cf',sans-serif;font-size:0.95rem;line-height:1.65;color:#fff;}
.pf-lanzarote-feature__text p{margin:0 0 0.7em;}
.pf-lanzarote-feature__text p:last-child{margin-bottom:0;}

.pf-lanzarote-grid{padding:20px 0 40px;}
.pf-lanzarote-grid__item{display:flex;flex-direction:column;}
.pf-lanzarote-grid__media{aspect-ratio:520/390;width:100%;overflow:hidden;}
.pf-lanzarote-grid__media img{display:block;width:100%;height:auto;visibility:hidden;}
.pf-lanzarote-grid__title{font-family:'articulat-cf',sans-serif;font-style:normal;font-weight:500;font-size:1.35rem;line-height:1.25;color:#0d1729;margin:14px 0 8px;}
.pf-lanzarote-grid__text,.pf-lanzarote-grid__text p{font-family:'articulat-cf',sans-serif;font-size:0.95rem;line-height:1.55;color:#3a3f4a;}
.pf-lanzarote-grid__text{margin:0;}
.pf-lanzarote-grid__text p{margin:0 0 0.4em;}
.pf-lanzarote-grid__text p:last-child{margin-bottom:0;}

.pf-lanzarote-split{padding:60px 0;}
.pf-lanzarote-split__title{font-family:'Playfair',serif;font-style:italic;font-weight:400;font-size:2.4rem;line-height:1.15;color:#0d1729;margin:0 0 16px;}
.pf-lanzarote-split__text{font-family:'articulat-cf',sans-serif;font-size:0.95rem;line-height:1.7;color:#3a3f4a;}
.pf-lanzarote-split__text p{margin:0 0 0.8em;}
.pf-lanzarote-split__text p:last-child{margin-bottom:0;}
.pf-lanzarote-split .pf-flatpage-block__image .bg-img{aspect-ratio:820/530;}
.pf-lanzarote-split .pf-flatpage-block__image img{visibility:hidden;}

@media (max-width: 959px){
    .pf-lanzarote-intro__title{font-size:1.8rem;}
    .pf-lanzarote-grid__title{font-size:1.15rem;}
    .pf-lanzarote-split__title{font-size:1.8rem;}
    .pf-lanzarote-split{padding:40px 0;}
}

@media (max-width: 767px){
    /* Unify every lanzarote block on phones: image on top, bold articulat
       title, body text below. The feature block (block 0) was an overlay
       card on a hero image — collapse it to the same vertical layout the
       grid items use so the page reads as one consistent column. */
    .pf-lanzarote-feature__wrap{display:flex;flex-direction:column;gap:14px;}
    .pf-lanzarote-feature__media{aspect-ratio:4/3;}
    .pf-lanzarote-feature__card{
        position:static;
        top:auto;left:auto;right:auto;
        max-width:none;
        color:#0d1729;
        padding:0;
    }
    /* Title family + weight unified across feature / grid / split so every
       block on the page reads with the same heading hierarchy. margin-top
       preserves the gap between the image and the title (grid items had
       margin:14px 0 8px on desktop; the new shorthand would have killed
       the top margin and made the title hug the image bottom). */
    .pf-lanzarote-feature__title,
    .pf-lanzarote-grid__title,
    .pf-lanzarote-split__title{
        font-family:'articulat-cf',sans-serif !important;
        font-style:normal !important;
        font-weight:700 !important;
        font-size:1.25rem !important;
        line-height:1.25 !important;
        color:#0d1729 !important;
        margin:14px 0 8px !important;
    }
    .pf-lanzarote-feature__text,
    .pf-lanzarote-feature__text p{
        font-family:'articulat-cf',sans-serif;
        color:#3a3f4a;
        font-size:0.95rem;
        line-height:1.55;
    }

    /* Split block (Playas indómitas): blade renders text first then image,
       which on mobile reads as text-then-photo and breaks the page's
       "photo on top" rhythm. Flip the order so every block matches. */
    .pf-lanzarote-split .pf-flatpage-block__grid{
        display:flex;
        flex-direction:column;
        gap:0;
    }
    .pf-lanzarote-split .pf-flatpage-block__text{order:2;}
    .pf-lanzarote-split .pf-flatpage-block__image{order:1;}

}

/* UIkit defaults em to a salmon/red (#f0506e) — kill that so italic
   text on the site inherits whatever color its surrounding paragraph
   uses. */
em{color:inherit;}

/* ---- 5b. SELECT LANDING (flatpage 22) ---- */
.pf-select-intro{padding:50px 0 0;}
.pf-select-intro__breadcrumb{margin-bottom:40px;}
.pf-select-intro__breadcrumb .uk-breadcrumb{margin:0;font-family:'articulat-cf',sans-serif;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:#888;}
.pf-select-intro__breadcrumb .uk-breadcrumb > * > a,.pf-select-intro__breadcrumb .uk-breadcrumb > * > span{font-size:0.7rem;color:#888;}
.pf-select-intro__breadcrumb .uk-breadcrumb > :last-child > span{color:#0d1729;}
.pf-select-intro__head{max-width:920px;margin:0 auto 60px;}
.pf-select-intro__logo{display:inline-block;width:280px;max-width:80%;aspect-ratio:378/141;background-color:#5e8d83;-webkit-mask:url('/assets/front/img/select-logo.svg') no-repeat center / contain;mask:url('/assets/front/img/select-logo.svg') no-repeat center / contain;margin:0 auto 24px;}
.pf-select-intro__eyebrow{display:block;margin-bottom:22px;color:#0d1729;}
.pf-select-intro__desc{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#3a3f4a;max-width:780px;margin:0 auto;}
.pf-select-intro__desc p{margin:0 0 0.8em;}
.pf-select-intro__desc p:last-child{margin-bottom:0;}
.pf-select-intro .pf-highlight-items{margin-top:30px;}

.pf-select-services{padding-bottom:30px;}
.pf-select-services .pf-section-head{margin:0 0 60px;text-align:left;}
.pf-select-service{padding:30px 0;}
.pf-select-service__title{font-family:'articulat-cf',sans-serif;font-style:normal;font-weight:500;font-size:1.6rem;line-height:1.2;margin:0 0 18px;}
.pf-select-service__desc{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#3a3f4a;}
.pf-select-service__desc p{margin:0 0 0.8em;}
.pf-select-service__desc p:last-child{margin-bottom:0;}
.pf-select-service .pf-flatpage-block__image .bg-img{position:relative;overflow:hidden;}
.pf-select-service .pf-flatpage-block__image .pf-hotel-card__gallery{cursor:pointer;left:auto !important;right:20px;width:auto !important;max-width:max-content !important;display:inline-flex !important;}
.pf-select-service .pf-flatpage-block__image .bg-img:hover .pf-hotel-card__gallery{background:#fff;}
@media (max-width: 959px){
    .pf-select-intro{padding:60px 0 0;}
    .pf-select-intro__logo{width:220px;}
    .pf-select-services .pf-section-head{margin-bottom:30px;}
    .pf-select-service__title{font-size:1.4rem;}
}

/* ---- 6. SHOWCASE GALLERY (peek) ---- */
.pf-showcase{padding:60px 0;}
.pf-showcase__head{margin-bottom:40px;}
.pf-tabs{list-style:none;margin:0;padding:0;display:flex;gap:32px;align-items:center;}
.pf-tabs__item a{font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:#999;text-decoration:none;padding-bottom:6px;border-bottom:1px solid transparent;transition:all .25s;}
.pf-tabs__item--active a,.pf-tabs__item a:hover{color:#000;border-bottom-color:#000;}
.pf-showcase__slider{position:relative;padding:0;}
.pf-showcase__slide{aspect-ratio:1500/1000;overflow:hidden;}
.pf-showcase__slide img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-showcase__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background:rgba(255,255,255,0.95);border-radius:999px;color:#000;transition:all .25s;}
.pf-showcase__nav:hover{background:#213667;color:#fff;}
.pf-showcase__nav--prev{left:30px;}
.pf-showcase__nav--next{right:30px;}
.pf-showcase__foot{text-align:center;margin-top:40px;}

/* ---- 7. GASTRO ---- */
.pf-gastro.bg-primary{background:#213667;}
.pf-gastro.bg-primary .pf-block-title,.pf-gastro.bg-primary .pf-block-desc{color:#fff;}
.pf-gastro.bg-primary .pf-gastro-card,.pf-gastro.bg-primary .pf-gastro-card__title{color:#fff;}
.pf-gastro.bg-primary .pf-gastro-card__desc{color:#d7dced;}
.pf-gastro.bg-light{background:#f7f7f7;}
.pf-gastro.bg-light .pf-block-title,.pf-gastro.bg-light .pf-block-desc{color:#000;}
.pf-gastro.bg-light .pf-gastro-card,.pf-gastro.bg-light .pf-gastro-card__title{color:#000;}
.pf-gastro.bg-light .pf-gastro-card__desc{color:#555;}
.pf-gastro-card{display:flex;flex-direction:column;}
.pf-gastro-card__media{aspect-ratio:4/3;overflow:hidden;margin-bottom:18px;}
.pf-gastro-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s;}
.pf-gastro-card:hover .pf-gastro-card__media img{transform:scale(1.04);}
.pf-gastro-card__title{font-family:'articulat-cf',sans-serif;font-size:1.6rem;font-weight:500;line-height:1.2;margin:0 0 10px;letter-spacing:-0.01em;}
.pf-gastro-card__desc{font-family:'articulat-cf',sans-serif;font-size:0.95rem;line-height:1.6;margin:0 0 20px;}
.pf-gastro-card > .uk-button.uk-button-secondary{background:transparent;color:#000 !important;border:1px solid rgba(0,0,0,0.4);padding:16px 24px;gap:30px;align-self:flex-start;}
.pf-gastro-card > .uk-button.uk-button-secondary:hover{background:#213667;color:#fff !important;border-color:#213667;}

/* Hotel subpage hero banner (~60vh image-only) — gastro / experiences / offers.
   Mirrors .header.header-image bottom-anchor pattern so the bookingmask sits
   at the bottom of the banner (above the menu, not on top of it). The
   :not(.pf-wellness-hero) carve-out keeps hotel-spa's wellness hero on its
   own height/gradient/padding rules. */
.pf-subpage-banner{height:60vh;background:#282b2e center/cover no-repeat;margin-top:-90px;position:relative;}
.pf-menu--hotel ~ main .pf-subpage-banner{margin-top:-140px;}
.pf-subpage-banner:not(.pf-wellness-hero){display:flex;align-items:flex-end;}
.pf-subpage-banner:not(.pf-wellness-hero)::before{content:'';position:absolute;top:0;left:0;right:0;height:10%;background:linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 100%);z-index:1;pointer-events:none;}
.pf-subpage-banner:not(.pf-wellness-hero)::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);z-index:1;pointer-events:none;}
.pf-subpage-banner:not(.pf-wellness-hero) > .uk-container{position:relative;z-index:2;padding-bottom:7vh;width:100%;}
@media (max-width: 959px){
    .pf-subpage-banner{height:45vh;}
}

/* Gastro horizontal feed (hotel-gastro page) */
.pf-gastro-feed{padding:0;background:#fff;}
.pf-gastro-feed__list{list-style:none;margin:0;padding:0;}
.pf-gastro-feed__row{padding:90px 0;}
.pf-gastro-feed__row.bg-primary{background-color:#f5f5f5;}
.pf-gastro-feed__item{display:grid;grid-template-columns:1fr 1.35fr;align-items:center;gap:90px;}
.pf-gastro-feed__body{display:flex;flex-direction:column;max-width:580px;padding-right:20px;}
.pf-gastro-feed__title{font-family:'articulat-cf',sans-serif;font-size:2.4rem;font-weight:400;line-height:1.05;margin:0 0 14px;letter-spacing:-0.01em;color:#000;}
.pf-gastro-feed__subtitle{font-family:'articulat-cf',sans-serif;font-size:1.15rem;font-weight:400;line-height:1.3;color:#1a1a1a;margin:0 0 26px;}
.pf-gastro-feed__desc{font-family:'articulat-cf',sans-serif;font-size:0.95rem;line-height:1.65;color:#333;margin:0;}
.pf-gastro-feed__desc br + br{display:block;content:'';margin-top:14px;}
.pf-gastro-feed__actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:34px;}
.pf-gastro-feed__cta{align-self:flex-start;background:transparent;color:#000 !important;border:1px solid rgba(0,0,0,0.5);padding:18px 30px;gap:48px;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;border-radius:0;}
.pf-gastro-feed__cta:hover{background:#213667;color:#fff !important;border-color:#213667;}
.pf-gastro-feed__book{font-family:'articulat-cf',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#000;text-decoration:underline;text-underline-offset:6px;}
.pf-gastro-feed__book:hover{color:#213667;}
.pf-gastro-feed__media{position:relative;}
.pf-gastro-feed__image{position:relative;overflow:hidden;aspect-ratio:812/530;background:#eee;}
.pf-gastro-feed__image > img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-gastro-feed__gallery-btn{position:absolute;bottom:20px;left:20px;display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,0.95);color:#000 !important;padding:10px 18px;font-family:'articulat-cf',sans-serif;font-size:0.85rem;font-weight:600;text-decoration:none;border-radius:10px;transition:background 0.2s;}
.pf-gastro-feed__gallery-btn:hover{background:#fff;}
.pf-gastro-feed__gallery-btn svg{flex-shrink:0;}
@media (max-width: 1199px){
    .pf-gastro-feed__row{padding:70px 0;}
    .pf-gastro-feed__item{gap:60px;}
    .pf-gastro-feed__title{font-size:2rem;}
}
@media (max-width: 959px){
    .pf-gastro-feed__row{padding:50px 0;}
    .pf-gastro-feed__item{grid-template-columns:1fr;gap:18px;}
    /* Order: image first, body second — blade ships body first / media
       second to keep the side-by-side desktop layout (text left, image
       right). On phones flip so the visual sits above the title and
       description, matching every other feed on the site. */
    .pf-gastro-feed__media{order:1;}
    .pf-gastro-feed__body{order:2;max-width:100%;padding-right:0;}
    .pf-gastro-feed__title{font-size:1.7rem;}
    .pf-gastro-feed__subtitle{font-size:1rem;margin-bottom:18px;}
}

/* ---- 8. DESTINATION HERO ---- */
.pf-destination-hero{position:relative;min-height:80vh;background-size:cover;background-position:center;padding:110px 0 70px;color:#fff;}
.pf-destination-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,0.35) 0%,rgba(0,0,0,0.1) 45%,transparent 75%);pointer-events:none;}
.pf-destination-hero > .uk-container{position:relative;z-index:2;}
.pf-destination-hero__content{position:relative;z-index:2;max-width:560px;}
.pf-destination-hero__content h2,.pf-destination-hero__title{font-family:'Playfair',serif;font-size:4rem;font-weight:400;color:#fff;line-height:1;margin:0 0 26px;}
.pf-destination-hero__content h2 span,.pf-destination-hero__content h2 em,.pf-destination-hero__title span{font-style:italic;}
.pf-destination-hero__content p,.pf-destination-hero p{color:#f0f0f0;font-size:1rem;line-height:1.6;margin:0 0 40px;}

/* ---- 9. EXPERIENCES HOTEL (Vivir nuestra esencia) ---- */
.pf-exp-hotel.bg-light{background:#f7f7f7;}
.pf-exp-hotel__slider{margin-top:20px;}
.pf-exp-hotel__slider ul{list-style:none;margin:0;padding:0;}
.pf-exp-hotel__slide{align-items:center;}
.pf-exp-hotel__text{padding:20px 40px 20px 0;}
.pf-exp-hotel__text h3{font-family:'Playfair',serif;font-size:2.4rem;font-weight:400;margin:0 0 20px;}
.pf-exp-hotel__text p{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.65;color:#333;margin-bottom:32px;}
.pf-exp-hotel__media{aspect-ratio:812/530;overflow:hidden;}
.pf-exp-hotel__media img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---- 10. EXPERIENCES ISLAND (Vivir la isla) ---- */
.pf-exp-island.bg-dark{background:#0d1729;color:#fff;}
.pf-exp-island .pf-block-title,.pf-exp-island .pf-block-desc{color:#fff;}
.pf-exp-island .pf-block-desc{color:#c9d2e3;}
.pf-island-card{color:#fff;}
.pf-island-card__media{aspect-ratio:450/540;overflow:hidden;margin-bottom:18px;}
.pf-island-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s;}
.pf-island-card:hover .pf-island-card__media img{transform:scale(1.04);}
.pf-island-card h4{font-family:'Playfair',serif;font-size:1.4rem;font-weight:400;margin:0 0 10px;color:#fff;font-style:italic;}
.pf-island-card p{font-family:'articulat-cf',sans-serif;font-size:0.9rem;line-height:1.55;color:#c9d2e3;margin:0;}

/* ---- 11. WELLNESS ---- */
.pf-wellness__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:stretch;}
.pf-wellness__col-text{display:flex;flex-direction:column;min-width:0;}
.pf-wellness__head{flex:0 0 auto;}
.pf-wellness__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:2.4rem;line-height:1.05;margin:0 0 14px;color:#000;letter-spacing:-0.005em;}
.pf-wellness__lead{font-family:'articulat-cf',sans-serif;font-weight:400;font-size:1rem;color:#1a1a1a;margin:0;line-height:1.5;max-width:480px;}
.pf-wellness__body{margin-top:auto;max-width:420px;}
.pf-wellness__desc{font-family:'articulat-cf',sans-serif;font-size:0.92rem;line-height:1.7;color:#1a1a1a;margin:0 0 38px;}
.pf-wellness__desc p{margin:0 0 14px;}
.pf-wellness__desc p:last-child{margin-bottom:0;}
.pf-wellness__cta{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:13px 22px;border:1px solid #1a1a1a;color:#1a1a1a;background:transparent;font-family:'articulat-cf',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s;min-width:200px;}
.pf-wellness__cta:hover{background:#1a1a1a;color:#fff;}
.pf-wellness__cta svg{flex-shrink:0;}
.pf-wellness__col-media{position:relative;display:flex;align-items:center;}
.pf-wellness__slider{position:relative;width:100%;}
.pf-wellness__slider ul{list-style:none;margin:0;padding:0;}
.pf-wellness__slide{aspect-ratio:560/440;overflow:hidden;}
.pf-wellness__slide img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-wellness__nav{position:absolute;right:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:14px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,0.35);}
.pf-wellness__nav a{display:inline-flex;align-items:center;justify-content:center;color:#fff;width:24px;height:24px;transition:opacity .2s;}
.pf-wellness__nav a:hover{opacity:0.7;}
.pf-wellness__nav .pf-slider-nav__counter{font-family:'articulat-cf',sans-serif;font-size:0.82rem;color:#fff;letter-spacing:0.05em;}

/* ---- 11b. WELLNESS PAGE (hotel-spa redesign per Figma) ---- */
.pf-wellness-hero{position:relative;height:560px;background-position:center;background-size:cover;display:flex;align-items:flex-end;color:#fff;padding-bottom:80px;}
.pf-wellness-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.25) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,0.55) 100%);pointer-events:none;}
.pf-wellness-hero > .uk-container{position:relative;z-index:2;}
.pf-wellness-hero__content{max-width:640px;}
.pf-wellness-hero__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:3.2rem;line-height:1.05;color:#fff;margin:0 0 18px;}
.pf-wellness-hero__title span{display:block;font-style:italic;}
.pf-wellness-hero__subtitle{font-family:'articulat-cf',sans-serif;font-size:1.2rem;line-height:1.4;color:#fff;margin:0;max-width:480px;}
.pf-wellness-hero__subtitle p{margin:0 0 0.4em;}
.pf-wellness-hero__subtitle p:last-child{margin-bottom:0;}

.pf-wellness-intro{padding:60px 0 80px;background:#fff;}
.pf-wellness-intro__breadcrumb{margin-bottom:60px;}
.pf-wellness-intro__breadcrumb .uk-breadcrumb{margin:0;font-family:'articulat-cf',sans-serif;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:#0d1729;display:flex;gap:0;}
.pf-wellness-intro__breadcrumb .uk-breadcrumb > * + *::before{content:'/';color:#0d1729;margin:0 12px;}
.pf-wellness-intro__breadcrumb .uk-breadcrumb a{color:#0d1729;text-decoration:none;}
.pf-wellness-intro__breadcrumb .uk-breadcrumb > :last-child > span{color:#0d1729;text-decoration:underline;text-underline-offset:6px;}
.pf-wellness-intro__breadcrumb .pf-stars{letter-spacing:0.1em;}

.pf-wellness-intro__head{text-align:center;max-width:780px;margin:0 auto;}
.pf-wellness-intro__logo{display:block;width:280px;max-width:80%;margin:0 auto 28px;}
.pf-wellness-intro__brand{display:block;font-family:'Playfair Display',serif;font-size:2rem;letter-spacing:0.24em;text-transform:uppercase;color:#0d1729;margin-bottom:28px;}
.pf-wellness-intro__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:2.6rem;line-height:1.1;color:#000;margin:0 0 30px;}
.pf-wellness-intro__desc{font-family:'articulat-cf',sans-serif;font-size:1.05rem;line-height:1.7;color:#1a1a1a;max-width:640px;margin:0 auto;}
.pf-wellness-intro__desc p{margin:0 0 0.8em;}
.pf-wellness-intro__desc p:last-child{margin-bottom:0;}

.pf-wellness-feature{padding-bottom:80px;background:#fff;}
.pf-wellness-feature__media{position:relative;aspect-ratio:1500/640;overflow:hidden;}
.pf-wellness-feature__media img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-wellness-feature__lightbox{position:absolute;left:24px;bottom:24px;display:inline-flex;align-items:center;gap:14px;padding:12px 22px;background:rgba(255,255,255,0.94);border:0;color:#1a1a1a;font-family:'articulat-cf',sans-serif;font-size:0.95rem;line-height:1;cursor:pointer;transition:background .2s;}
.pf-wellness-feature__lightbox:hover{background:#fff;}

.pf-wellness-rituales{padding:90px 0 100px;background:#f7f7f7;}
.pf-wellness-rituales__head{margin-bottom:60px;}
.pf-wellness-rituales__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:2.6rem;line-height:1.1;color:#1d1d1c;margin:0 0 12px;}
.pf-wellness-rituales__lead{font-family:'articulat-cf',sans-serif;font-size:1.05rem;color:#1d1d1c;margin:0;}
.pf-wellness-rituales__cards{display:grid;grid-template-columns:1fr;gap:60px;}

.pf-wellness-card{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.pf-wellness-card--reverse .pf-wellness-card__media{order:2;}
.pf-wellness-card--reverse .pf-wellness-card__body{order:1;}
.pf-wellness-card__media{aspect-ratio:700/440;overflow:hidden;}
.pf-wellness-card__media img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-wellness-card__title{font-family:'articulat-cf',sans-serif;font-weight:500;font-size:1.6rem;line-height:1.2;color:#000;margin:0 0 14px;letter-spacing:-0.005em;}
.pf-wellness-card__desc{font-family:'articulat-cf',sans-serif;font-size:0.98rem;line-height:1.65;color:#1a1a1a;margin:0 0 26px;max-width:480px;}
.pf-wellness-card__desc p{margin:0 0 0.8em;}
.pf-wellness-card__desc p:last-child{margin-bottom:0;}
.pf-wellness-card__cta{display:inline-flex;align-items:center;gap:18px;font-family:'articulat-cf',sans-serif;font-size:0.75rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#000;text-decoration:none;padding-bottom:8px;border-bottom:1px solid #000;}
.pf-wellness-card__cta:hover{color:#213667;border-color:#213667;}

.pf-wellness-cta-row{padding:70px 0 90px;background:#fff;}
.pf-wellness-cta-row__link{display:inline-flex;align-items:center;gap:24px;font-family:'articulat-cf',sans-serif;font-size:0.85rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:#000;text-decoration:none;padding-bottom:12px;border-bottom:1px solid #000;}
.pf-wellness-cta-row__link:hover{color:#213667;border-color:#213667;}

/* Wellness final block — Select-promo aesthetic: f7f7f7 card with image left + content right */
.pf-wellness-final{padding:60px 0 90px;background:#fff;}
.pf-wellness-final .pf-select-promo__card{align-items:stretch;}
.pf-wellness-final__body{padding:80px 70px;max-width:620px;display:flex;flex-direction:column;}
.pf-wellness-final__title{font-family:'Playfair',serif;font-weight:400;font-style:italic;font-size:2.4rem;line-height:1.2;color:#0d1729;margin:0 0 24px;}
.pf-wellness-final__title span{font-style:italic;}
.pf-wellness-final__desc{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.65;color:#3a3f4a;margin:0 0 36px;max-width:480px;}
.pf-wellness-final__desc p{margin:0 0 0.7em;}
.pf-wellness-final__desc p:last-child{margin-bottom:0;}
.pf-wellness-final__info{margin:0;padding:0;display:flex;flex-direction:column;gap:20px;}
.pf-wellness-final__row{display:flex;gap:18px;align-items:flex-start;font-family:'articulat-cf',sans-serif;}
.pf-wellness-final__row dt{flex:0 0 auto;min-width:110px;font-weight:600;color:#0d1729;font-size:0.95rem;margin:0;}
.pf-wellness-final__row dd{flex:1;margin:0;font-size:0.95rem;line-height:1.55;color:#1a1a1a;}
.pf-wellness-final__row dd p{margin:0 0 0.25em;}
.pf-wellness-final__row dd p:last-child{margin-bottom:0;}
.pf-wellness-final__row dd a{color:inherit;text-decoration:underline;text-underline-offset:3px;}

/* Wellness teaser block on hotel home — Select-promo card with spa intro */
.pf-wellness-home{padding:60px 0;}
.pf-wellness-home .pf-select-promo__media-col{background:#0d1729;}
.pf-wellness-home__brand.pf-select-promo__brand{top:50%;left:50%;bottom:auto;transform:translate(-50%,-50%);width:42%;max-width:260px;filter:brightness(0) invert(1) drop-shadow(0 2px 10px rgba(0,0,0,0.4));}
.pf-wellness-home__body{padding:80px 70px;display:flex;flex-direction:column;max-width:620px;}
.pf-wellness-home__body .pf-eyebrow{color:#0d1729;letter-spacing:0.18em;font-size:0.78rem;margin-bottom:24px;text-transform:uppercase;font-weight:500;font-family:'articulat-cf',sans-serif;}
.pf-wellness-home__title{font-family:'Playfair',serif;font-style:italic;font-weight:400;font-size:2.4rem;line-height:1.15;color:#0d1729;margin:0 0 22px;}
.pf-wellness-home__lead{font-family:'articulat-cf',sans-serif;font-size:1.05rem;line-height:1.55;color:#0d1729;margin:0 0 22px;font-weight:500;}
.pf-wellness-home__lead p{margin:0 0 0.4em;}
.pf-wellness-home__lead p:last-child{margin-bottom:0;}
.pf-wellness-home__desc{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.65;color:#3a3f4a;margin:0 0 36px;max-width:480px;}
.pf-wellness-home__desc p{margin:0 0 0.8em;}
.pf-wellness-home__desc p:last-child{margin-bottom:0;}
.pf-wellness-home .uk-button-secondary{align-self:flex-start;}
@media (max-width: 959px){
    .pf-wellness-home{padding:40px 0;}
    .pf-wellness-home__brand.pf-select-promo__brand{width:55%;max-width:200px;}
    .pf-wellness-home__body{padding:40px 28px;}
    .pf-wellness-home__title{font-size:1.7rem;margin-bottom:18px;}
    .pf-wellness-home__lead{font-size:1rem;margin-bottom:18px;}
    .pf-wellness-home__desc{margin-bottom:26px;}
}

@media (max-width: 959px){
    .pf-wellness-hero{height:auto;min-height:420px;padding:90px 0 60px;}
    .pf-wellness-hero__title{font-size:2.4rem;}
    .pf-wellness-hero__subtitle{font-size:1.05rem;}
    .pf-wellness-intro{padding:40px 0 60px;}
    .pf-wellness-intro__breadcrumb{margin-bottom:40px;}
    .pf-wellness-intro__title{font-size:1.9rem;}
    .pf-wellness-intro__desc{font-size:1rem;}
    .pf-wellness-feature{padding-bottom:50px;}
    .pf-wellness-feature__media{aspect-ratio:4/3;}
    .pf-wellness-feature__lightbox{left:14px;bottom:14px;padding:10px 16px;font-size:0.85rem;}
    .pf-wellness-rituales{padding:60px 0 70px;}
    .pf-wellness-rituales__title{font-size:2rem;}
    .pf-wellness-card{grid-template-columns:1fr;gap:24px;}
    .pf-wellness-card--reverse .pf-wellness-card__media{order:0;}
    .pf-wellness-card--reverse .pf-wellness-card__body{order:0;}
    .pf-wellness-cta-row{padding:24px 0 32px;}
    /* "EXPLORA NUESTRA CARTA DE BIENESTAR" was wrapping to two lines
       because of uk-button's 40px gap + 0.08em letter-spacing. Tighten
       so it fits on a single line at phone widths. */
    .pf-wellness-cta-row .uk-button{
        font-size:0.68rem;
        letter-spacing:0.04em;
        gap:10px;
        padding:14px 18px;
        white-space:nowrap;
    }
    .pf-wellness-cta-row .uk-button svg{width:14px;height:14px;}

    /* Spa gallery: full-bleed to both viewport edges on mobile so it
       matches the hotel home gallery + select promo treatment. */
    .pf-spa-gallery-wrap{padding-left:0 !important;padding-right:0 !important;margin-bottom:24px !important;}
    .pf-spa-gallery-wrap .pf-gallery{margin-left:0;margin-right:0;width:100%;border-radius:0;}

    .pf-wellness-final{padding:40px 0 60px;}
    .pf-wellness-final__body{padding:40px 28px;}
    .pf-wellness-final__title{font-size:1.7rem;margin-bottom:18px;}
    .pf-wellness-final__desc{margin-bottom:26px;}
    .pf-wellness-final__row{flex-direction:column;gap:6px;}
    .pf-wellness-final__row dt{min-width:0;}
}

/* ---- 12. SERVICES (piggybacks on .pf-offers from home) ---- */
.pf-services .pf-offer-card{background:transparent;}
.pf-services .pf-offer-card__image{position:relative;}
.pf-offer-card__select{position:absolute;top:18px;left:18px;z-index:2;display:block;width:90px;max-width:50%;aspect-ratio:378/141;background-color:#fff;-webkit-mask:url('/assets/front/img/select-logo.svg') no-repeat center / contain;mask:url('/assets/front/img/select-logo.svg') no-repeat center / contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.35));}

/* ---- 13. BLUE ATTITUDE ---- */
.pf-blue-attitude__illustration{aspect-ratio:700/600;overflow:hidden;}
.pf-blue-attitude__illustration img{width:100%;height:100%;object-fit:cover;display:block;}
/* Flatpage 25 image as background + Blue Attitude SVG logo centred on top */
.pf-blue-attitude__media{position:relative;width:100%;height:100%;background:#0a3d4f center/cover no-repeat;display:flex;align-items:center;justify-content:center;}
.pf-blue-attitude__media::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.28);}
.pf-blue-attitude__media .pf-blue-attitude__logo{position:relative;width:60%;max-width:340px;height:auto;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 4px 14px rgba(0,0,0,0.5));}
.pf-blue-attitude__body{padding-left:40px;max-width:540px;}
.pf-blue-attitude__body .pf-block-title{margin-bottom:20px;}
.pf-blue-attitude__body p{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#000;margin:0 0 28px;}

/* ---- 13b. COOKIES TABLE (flatpage type=cookies) ---- */
.pf-cookies{padding-bottom:100px;}
.pf-cookies__wrap{overflow-x:auto;}
.pf-cookies__table{font-family:'articulat-cf',sans-serif;color:#1a1a1a;width:100%;border-collapse:collapse;margin:0;}
.pf-cookies__table thead th{font-family:'articulat-cf',sans-serif;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:#0d1729;font-weight:600;padding:14px 16px;border-bottom:1px solid #d9d9d9;text-align:left;}
.pf-cookies__table tbody td{font-size:0.92rem;line-height:1.55;padding:14px 16px;vertical-align:top;border-bottom:1px solid #ececec;}
.pf-cookies__table tbody tr.pf-cookies__group td{background:#f4f4f4;color:#0d1729;font-weight:600;letter-spacing:0.04em;text-transform:none;font-size:0.9rem;padding:14px 16px;}
.pf-cookies__table code{font-family:'JetBrains Mono','Menlo',monospace;font-size:0.85rem;color:#0d1729;background:#f0f0f0;padding:2px 6px;border-radius:3px;white-space:nowrap;}
@media (max-width: 959px){
    .pf-cookies{padding-bottom:60px;}
    .pf-cookies__table thead{display:none;}
    .pf-cookies__table tbody td{display:block;padding:6px 14px;border:0;}
    .pf-cookies__table tbody tr{display:block;padding:14px 0;border-bottom:1px solid #ececec;}
    .pf-cookies__table tbody tr.pf-cookies__group{padding:10px 0;border-bottom:0;}
    .pf-cookies__table tbody tr.pf-cookies__group td{display:block;padding:10px 14px;}
}

/* ---- 14. FAQ ---- */
.pf-faq{padding:100px 0;}
.pf-faq__head{margin-bottom:50px;text-align:left;max-width:820px;}
.pf-faq__head .pf-block-title{font-size:2.6rem;}
.pf-faq__list{list-style:none;margin:0;padding:0;max-width:1400px;}
.pf-faq__item{border-bottom:1px solid #d9d9d9;padding:0;transition:background .25s;}
.pf-faq__item:first-child{border-top:1px solid #d9d9d9;}
.pf-faq__title{font-family:'articulat-cf',sans-serif;font-size:1.05rem;font-weight:700;color:#000;padding:26px 60px 26px 4px;display:flex;justify-content:space-between;align-items:center;text-decoration:none;cursor:pointer;position:relative;gap:30px;line-height:1.4;}
.pf-faq__title:hover{color:#213667;}
.pf-faq__title > span:first-child{flex:1;}
.pf-faq__icon{position:absolute;right:10px;top:50%;width:22px;height:22px;flex-shrink:0;transform:translateY(-50%);color:#000;transition:transform .35s cubic-bezier(.4,0,.2,1), color .25s;}
.pf-faq__item.uk-open .pf-faq__title{color:#213667;}
.pf-faq__item.uk-open .pf-faq__icon{transform:translateY(-50%) rotate(180deg);color:#213667;}
.pf-faq__content{padding:0 60px 30px 4px;max-width:1000px;}
.pf-faq__content p,.pf-faq__content{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#333;margin:0;}
.pf-faq__content p + p{margin-top:12px;}
@media (max-width: 639px){
    .pf-faq{padding:60px 0;}
    .pf-faq__title{font-size:0.98rem;padding:20px 40px 20px 0;}
    .pf-faq__content{padding-right:0;}
}

/* ---- 15. AWARDS ---- */
.pf-awards{padding:60px 0;border-top:1px solid #eee;}
.pf-awards__title{font-family:'Playfair',serif;font-size:1.8rem;font-weight:400;margin:0 0 30px;}
.pf-awards__slider{opacity:0.65;}
.pf-awards__list{margin:0;padding:0;list-style:none;align-items:center;}
.pf-awards__item{display:flex;align-items:center;justify-content:center;padding:0 16px;}
.pf-awards__item img{max-height:110px;max-width:100%;width:auto;object-fit:contain;display:block;filter:grayscale(100%);}
.pf-awards__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e0e0e0;border-radius:50%;color:#333;z-index:2;transition:background .2s,color .2s;}
.pf-awards__nav:hover{background:#213667;border-color:#213667;color:#fff;}
.pf-awards__nav--prev{left:-60px;}
.pf-awards__nav--next{right:-60px;}

/* ---- Hotel contact page (Figma node 1:4550) ---- */

/* "Contacta" outlined card */
.pf-hotel-contact-card-section{padding-bottom:60px;}
.pf-hotel-contact-card{border:1px solid rgba(0,0,0,0.15);padding:60px 70px 70px;background:#fff;}
.pf-hotel-contact-card__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:2rem;line-height:1;margin:0 0 24px;color:#000;}
.pf-hotel-contact-card__hotel-name{font-family:'articulat-cf',sans-serif;font-weight:500;font-size:1.15rem;line-height:1.3;margin:0 0 36px;color:#1a1a1a;letter-spacing:0.01em;}
.pf-hotel-contact-card__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;}
.pf-hotel-contact-card__col h5{font-family:'articulat-cf',sans-serif;font-weight:700;font-size:1rem;line-height:1.55;color:#1a1a1a;margin:0 0 6px;}
.pf-hotel-contact-card__col-spacer{margin-top:22px !important;}
.pf-hotel-contact-card__col p{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.55;color:#1a1a1a;margin:0;}
.pf-hotel-contact-card__col p a{color:#1a1a1a;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.pf-hotel-contact-card__col p a:hover{border-bottom-color:#1a1a1a;}
.pf-hotel-contact-card__map-link{margin-top:8px !important;}
.pf-hotel-contact-card__map-link a{display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid #1a1a1a;}
.pf-hotel-contact-card__map-link a svg{flex:none;}
.pf-hotel-contact-card__social{display:flex;gap:18px;flex-wrap:wrap;}
.pf-hotel-contact-card__social a{font-family:'articulat-cf',sans-serif;font-size:1rem;color:#1a1a1a;text-transform:capitalize;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.pf-hotel-contact-card__social a:hover{border-bottom-color:#1a1a1a;}

/* Form section */
.pf-hotel-contact-form-section{padding:30px 0 80px;}
.pf-hotel-contact-form__grid{display:block;}
.pf-hotel-contact-form__body{padding-top:6px;}
.pf-hotel-contact-form__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:2rem;line-height:1;margin:0 0 36px;color:#000;}
.pf-hotel-contact-form__success{background:#eef6ee;border:1px solid #cbe4cb;color:#1f5132;padding:18px 22px;margin-bottom:24px;font-family:'articulat-cf',sans-serif;font-size:0.95rem;}
.pf-hotel-contact-form__errors{margin-bottom:24px;}

/* Map (full-width iframe) */
.pf-hotel-contact-map{position:relative;margin:0 0 80px;text-align:center;}
.pf-hotel-contact-map iframe{width:100%;display:block;border:0;filter:grayscale(0.2);}
.pf-hotel-contact-map__cta{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#1a1a1a !important;padding:12px 22px;font-family:'articulat-cf',sans-serif;font-size:0.85rem;font-weight:600;text-decoration:none;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,0.18);transition:background .2s;}
.pf-hotel-contact-map__cta:hover{background:#f5f5f5;color:#1a1a1a !important;}
.pf-hotel-contact-map iframe + .pf-hotel-contact-map__cta{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);}

/* ---- Generic form (default = bordered, .pf-form--underline = minimal underline) ---- */
.pf-form{display:flex;flex-direction:column;gap:28px;}
.pf-form__row{display:flex;flex-direction:column;gap:6px;}
.pf-form__row--two-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.pf-form__row--two-cols > div{display:flex;flex-direction:column;gap:6px;}
.pf-form__row--inline{flex-direction:row;align-items:flex-start;gap:0;margin-top:6px;}
.pf-form__row--actions{margin-top:18px;align-items:flex-start;}
.pf-form__label{font-family:'articulat-cf',sans-serif;font-weight:500;font-size:0.85rem;color:#1a1a1a;}
.pf-form__input{width:100%;padding:14px 16px;border:1px solid rgba(0,0,0,0.18);background:#fff;font-family:'articulat-cf',sans-serif;font-size:0.95rem;line-height:1.4;color:#1a1a1a;border-radius:0;transition:border-color .2s,background .2s;}
.pf-form__input:focus{outline:none;border-color:#213667;background:#fff;}
.pf-form__textarea{resize:vertical;min-height:96px;}
.pf-form__check{display:inline-flex;gap:12px;align-items:flex-start;font-family:'articulat-cf',sans-serif;font-size:0.85rem;line-height:1.55;color:#333;cursor:pointer;}
.pf-form__check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:2px 0 0;border:1px solid rgba(0,0,0,0.4);background:#fff;cursor:pointer;flex-shrink:0;position:relative;transition:border-color .2s,background .2s;}
.pf-form__check input[type=checkbox]:hover{border-color:#213667;}
.pf-form__check input[type=checkbox]:focus-visible{outline:2px solid #213667;outline-offset:2px;}
.pf-form__check input[type=checkbox]:checked{background:#213667;border-color:#213667;}
.pf-form__check input[type=checkbox]:checked::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 8.5 6.5 12 13 5'/></svg>");background-size:14px 14px;background-position:center;background-repeat:no-repeat;}
.pf-form__check input[type=checkbox].pf-form__input--invalid{border-color:#b91c1c;}
.pf-form__check a{color:#000;text-decoration:underline;text-underline-offset:3px;}
.pf-form__submit{align-self:flex-start;background:transparent;color:#000 !important;border:1px solid rgba(0,0,0,0.5);padding:18px 30px;gap:48px;font-family:'articulat-cf',sans-serif;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;cursor:pointer;border-radius:0;}
.pf-form__submit:hover{background:#213667;color:#fff !important;border-color:#213667;}

/* Underline variant — Figma contact form */
.pf-form--underline{gap:32px;}
.pf-form--underline .pf-form__row{gap:4px;padding-bottom:6px;border-bottom:1px solid rgba(0,0,0,0.2);}
.pf-form--underline .pf-form__row--two-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;border:0;padding-bottom:0;}
.pf-form--underline .pf-form__row--two-cols > div{padding-bottom:6px;border-bottom:1px solid rgba(0,0,0,0.2);}
.pf-form--underline .pf-form__row--inline{border:0;padding-bottom:0;}
.pf-form--underline .pf-form__row--actions{border:0;padding-bottom:0;margin-top:14px;}
.pf-form--underline .pf-form__label{font-size:0.95rem;color:#3b3b3b;font-weight:400;}
.pf-form--underline .pf-form__input{border:0;padding:4px 0;background:transparent;font-size:1rem;color:#1a1a1a;}
.pf-form--underline .pf-form__input:focus{outline:none;background:transparent;}
.pf-form--underline .pf-form__textarea{min-height:60px;resize:vertical;}
.pf-form__row{position:relative;}
.pf-form__row > div{position:relative;}
.pf-form__error{font-family:'articulat-cf',sans-serif;font-size:0.8rem;color:#b91c1c;margin:0;position:absolute;left:0;right:0;top:100%;line-height:1.3;pointer-events:none;}
.pf-form__error--global{position:static;background:#fef2f2;border:1px solid #fecaca;padding:12px 16px;margin:0 0 18px;pointer-events:auto;}
.pf-form__input--invalid{border-color:#b91c1c !important;}
.pf-form--underline .pf-form__input--invalid{border-bottom:1px solid #b91c1c !important;}
.pf-form--underline .pf-form__row:has(.pf-form__input--invalid),
.pf-form--underline .pf-form__row--two-cols > div:has(.pf-form__input--invalid){border-bottom-color:transparent;}
/* Reserve space below each field/row so the absolute error never overlaps the next row. */
.pf-form--underline .pf-form__row,
.pf-form--underline .pf-form__row--two-cols > div{padding-bottom:6px;}
.pf-form--underline .pf-form__row--inline{margin-top:0;padding-bottom:0;}
.pf-form--underline .pf-form__row--inline + .pf-form__row--inline{margin-top:-20px;}
/* Inline checkbox rows: error sits in flow under the label (instead of
   absolute top:100%) so it doesn't bleed onto the next checkbox. */
.pf-form--underline .pf-form__row--inline .pf-form__error{position:static;margin:10px 0 0;}
.pf-form--underline .pf-form__row--actions,
.pf-form--underline .pf-form__row--recaptcha{border:0;padding-bottom:0;}
.pf-form--underline .pf-form__row--recaptcha{margin-top:0;}

@media (max-width: 1199px){
    .pf-hotel-contact-card{padding:48px 50px 56px;}
}
@media (max-width: 959px){
    .pf-hotel-contact-card-section{padding-bottom:40px;}
    .pf-hotel-contact-card{padding:32px 26px 36px;}
    .pf-hotel-contact-card__cols{grid-template-columns:1fr;gap:28px;}
    .pf-hotel-contact-form-section{padding:20px 0 60px;}
    .pf-hotel-contact-map{margin-bottom:60px;}
    .pf-form__row--two-cols{grid-template-columns:1fr;gap:18px;}
    .pf-form--underline .pf-form__row--two-cols{grid-template-columns:1fr;gap:18px;}
}

/* ---- 16. CONTACT ROW ---- */
.pf-contact-row{padding:60px 0;border-top:1px solid #eee;}
.pf-contact-row__item{padding:0 10px;}
.pf-contact-row__label{font-family:'articulat-cf',sans-serif;font-weight:600;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:#999;margin:0 0 12px;}
.pf-contact-row__label--spaced{margin-top:28px;}
.pf-contact-row__item p{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.6;color:#000;margin:0;}
.pf-contact-row__item p a{color:#000;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.pf-contact-row__item p a:hover{border-bottom-color:#000;}
.pf-contact-row__social{display:flex;gap:18px;margin-top:6px;}
.pf-contact-row__social a{color:#000;transition:color .2s;}
.pf-contact-row__social a:hover{color:#213667;}

/* =========================================================
   RESPONSIVE — HOTEL HOME
   ========================================================= */
@media (max-width: 959px){
    .pf-block-title{font-size:2.2rem;}
    .pf-destination-hero{min-height:70vh;padding:80px 0 60px;}
    .pf-destination-hero__content h2,.pf-destination-hero__title{font-size:2.6rem;}
    .pf-wellness__grid{grid-template-columns:1fr;gap:32px;}
    .pf-wellness__title{font-size:1.9rem;}
    .pf-wellness__body{margin-top:24px;max-width:100%;}
    /* CTA: content-width on phones with explicit border-box so it can't
       paint past the column's right edge regardless of the parent's
       padding/margin math. justify-content:flex-start keeps text +
       arrow tight instead of pushing the arrow to the far right. */
    .pf-wellness__cta{min-width:0;width:auto;max-width:100%;justify-content:flex-start;gap:24px;box-sizing:border-box;}
    .pf-blue-attitude__body{padding:0;max-width:100%;margin-bottom:30px;}
    .pf-showcase__nav{width:44px;height:44px;}
    .pf-showcase__nav--prev{left:10px;}
    .pf-showcase__nav--next{right:10px;}
    .pf-awards__nav--prev{left:0;}
    .pf-awards__nav--next{right:0;}
}
@media (max-width: 639px){
    .pf-block-title{font-size:1.8rem;}
    .pf-destination-hero{min-height:60vh;padding:60px 0 50px;}
    .pf-destination-hero__content h2,.pf-destination-hero__title{font-size:2rem;}
    .pf-contact-row__grid > div{margin-bottom:30px;}
}

/* ---- 18. ROOM DETAIL (habitación) ---- */
.pf-room-page__head{padding-top:60px;padding-bottom:30px;}
.pf-room-page__head-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px;margin-top:12px;}
.pf-room-page__back{display:inline-flex;align-items:center;gap:8px;font-family:'articulat-cf',sans-serif;font-size:0.75rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#000;text-decoration:none;margin-bottom:18px;}
.pf-room-page__back svg{transition:transform .2s ease;}
.pf-room-page__back:hover{color:#213667;}
.pf-room-page__back:hover svg{transform:translateX(-3px);}
.pf-room-page__title{font-family:'Playfair',serif;font-style:italic;font-weight:400;font-size:3.2rem;line-height:1.05;color:#000;margin:0 0 20px;}
.pf-room-page__intro{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#333;max-width:620px;margin:0;}
.pf-room-page__stats{list-style:none;margin:0;padding:0;display:flex;gap:44px;align-items:flex-end;}
.pf-room-page__stats li{display:inline-flex;align-items:center;gap:10px;font-family:'articulat-cf',sans-serif;font-size:0.9rem;letter-spacing:0.04em;text-transform:uppercase;color:#000;}
.pf-room-page__stats-icon{display:inline-flex;align-items:center;justify-content:center;color:#213667;}
@media (max-width: 959px){
    .pf-room-page__head-row{grid-template-columns:1fr;gap:30px;}
    .pf-room-page__stats{flex-wrap:wrap;gap:18px 30px;}
    .pf-room-page__title{font-size:2.4rem;}
}

.pf-room-services{padding:60px 0;margin-top:60px;}
.pf-room-services__head{display:grid;grid-template-columns:minmax(0,1fr) 1.5fr;gap:60px;align-items:start;}
.pf-room-services__title{font-family:'Playfair',serif;font-style:italic;font-weight:400;font-size:3rem;line-height:1.1;color:#000;margin:0 0 18px;}
.pf-room-services__desc{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#333;margin:0 0 32px;max-width:420px;}
.pf-room-services__cta{align-self:flex-start;}
.pf-room-services__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 28px;}
.pf-room-services__list li{display:flex;align-items:center;gap:12px;font-family:'articulat-cf',sans-serif;font-size:1rem;color:#222;}
.pf-room-services__list li img{width:22px;height:22px;object-fit:contain;flex-shrink:0;}
.pf-room-services__list li svg{flex-shrink:0;color:#213667;}
@media (max-width: 959px){
    .pf-room-services__head{grid-template-columns:1fr;gap:30px;}
    .pf-room-services__list{grid-template-columns:repeat(2,minmax(0,1fr));}
    .pf-room-services__title{font-size:2.2rem;}
}
@media (max-width: 639px){
    .pf-room-services__list{grid-template-columns:1fr;}
}

.pf-room-solarium{padding:60px 0;}
.pf-room-solarium__slider{position:relative;}
.pf-room-solarium__slider .uk-slider-items{margin:0;padding:0;list-style:none;}
.pf-room-solarium__slider .uk-slider-items > li{padding-left:0;}
.pf-room-solarium__card{background:#f7f7f7;margin:0;align-items:stretch;}
.pf-room-solarium__media-col{padding:0;}
.pf-room-solarium__media{aspect-ratio:700/600;height:100%;overflow:hidden;}
.pf-room-solarium__media img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-room-solarium__card > .uk-width-1-2\@m{display:flex;flex-direction:column;}
.pf-room-solarium__body{padding:70px 60px;display:flex;flex-direction:column;gap:22px;align-items:flex-start;flex:1 1 auto;}
.pf-room-solarium__logo{display:block;width:160px;max-width:60%;aspect-ratio:378/141;background-color:#5e8d83;-webkit-mask:url('/assets/front/img/select-logo.svg') no-repeat center / contain;mask:url('/assets/front/img/select-logo.svg') no-repeat center / contain;margin-bottom:6px;}
.pf-room-solarium__title{font-family:'Playfair',serif;font-style:normal;font-weight:400;font-size:2.3rem;line-height:1.15;color:#000;margin:0;}
.pf-room-solarium__title span,.pf-room-solarium__title em,.pf-room-solarium__title i{font-style:italic;}
.pf-room-solarium__desc{font-family:'articulat-cf',sans-serif;font-size:1rem;line-height:1.7;color:#333;margin:0;}
.pf-room-solarium__desc p{margin:0 0 0.6em;}
.pf-room-solarium__desc p:last-child{margin-bottom:0;}
.pf-room-solarium__nav{margin-top:auto;padding-top:18px;}
@media (max-width: 959px){
    .pf-room-solarium__media{aspect-ratio:16/9;}
    .pf-room-solarium__body{padding:40px 28px;}
    .pf-room-solarium__title{font-size:1.8rem;}
}

.pf-room-recommended{background:#151a28;color:#fff;padding:90px 0 100px;}
.pf-room-recommended .pf-block-title,
.pf-room-recommended .pf-block-title span{color:#fff;}
.pf-room-recommended .pf-block-desc{color:#d6d6d6;}
.pf-room-recommended .pf-link-arrow{color:#fff;}
.pf-room-recommended .pf-link-arrow::before{background:#fff;}
.pf-room-recommended .pf-link-arrow svg{color:#fff;}
.pf-room-recommended .pf-link-arrow:hover{color:#c4a364;}
.pf-room-recommended .pf-link-arrow:hover::before{background:#c4a364;}
.pf-room-recommended .pf-room-card__title,
.pf-room-recommended .pf-room-card__meta{color:#fff;}
.pf-room-recommended .pf-room-card__desc{color:#d6d6d6;}
.pf-room-recommended .pf-room-card .uk-button.uk-button-secondary{background:transparent;border-color:#fff;color:#fff !important;}
.pf-room-recommended .pf-room-card .uk-button.uk-button-secondary:hover{background:#fff;color:#000 !important;border-color:#fff;}
/* Floating circular nav arrows on the recommended-rooms slider — solid white circles outside the cards */
.pf-room-recommended__slider{position:relative;}
.pf-room-recommended__arrow{position:absolute;top:30%;transform:translateY(-50%);z-index:3;display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border:0;border-radius:999px;background:#fff;color:#151a28;box-shadow:0 6px 20px rgba(0,0,0,0.25);transition:background .2s ease,color .2s ease;}
.pf-room-recommended__arrow:hover{background:#c4a364;color:#fff;}
.pf-room-recommended__arrow--prev{left:-78px;}
.pf-room-recommended__arrow--next{right:-78px;}
@media (max-width: 1199px){
    .pf-room-recommended__arrow--prev{left:-30px;}
    .pf-room-recommended__arrow--next{right:-30px;}
}
@media (max-width: 959px){
    .pf-room-recommended__arrow{width:48px;height:48px;}
    .pf-room-recommended__arrow--prev{left:8px;}
    .pf-room-recommended__arrow--next{right:8px;}
}
@media (max-width: 959px){
    .pf-room-recommended{padding:60px 0 70px;}
}
/* Gastronomy + hotel-rooms slider: keep arrows inside the slider area on
   every viewport and hide them when UIKit disables them (nothing to scroll). */
.pf-gastro__slider .pf-room-recommended__arrow,
.pf-rooms__slider .pf-room-recommended__arrow{top:38%;}
.pf-gastro__slider .pf-room-recommended__arrow--prev,
.pf-rooms__slider .pf-room-recommended__arrow--prev{left:12px;}
.pf-gastro__slider .pf-room-recommended__arrow--next,
.pf-rooms__slider .pf-room-recommended__arrow--next{right:12px;left:auto;}
.pf-gastro__slider .pf-room-recommended__arrow.uk-disabled,
.pf-rooms__slider .pf-room-recommended__arrow.uk-disabled{display:none;}

/* ===== Experience card link reset ===== */
a.pf-experience-card{text-decoration:none;color:inherit;}
a.pf-experience-card:hover{text-decoration:none;}

/* ===== Experience Post page (Figma node 1:4557) — 40/60 split hero ===== */
.pf-experience-hero{display:grid;grid-template-columns:1fr 1fr;height:70vh;background:#282b2e;}
.pf-experience-hero--no-image{grid-template-columns:1fr;}
.pf-experience-hero__media{background-color:#1a1d20;background-position:center;background-size:cover;background-repeat:no-repeat;height:100%;}
.pf-experience-hero__panel{background:#282b2e;color:#fff;display:flex;align-items:flex-end;overflow:hidden;}
.pf-experience-hero__inner{padding:60px clamp(40px,5vw,80px);width:100%;}
.pf-experience-hero__lead{margin-top:20px;color:rgba(255,255,255,0.85);font-size:1rem;line-height:1.7;}
.pf-experience-hero__lead p{color:rgba(255,255,255,0.85);margin:0 0 0.9em;}
.pf-experience-hero__lead p:last-child{margin-bottom:0;}

.pf-experience-intro__breadcrumb{margin-bottom:50px;}
.pf-experience-intro__breadcrumb .uk-breadcrumb > * > *{color:rgba(255,255,255,0.6);font-size:0.7rem;text-transform:uppercase;}
.pf-experience-intro__breadcrumb .uk-breadcrumb > :last-child > span{color:#fff;font-weight:700;text-decoration-color:#fff;}
.pf-experience-intro__breadcrumb .uk-breadcrumb > :nth-child(n+2)::before{color:rgba(255,255,255,0.4);}
.pf-experience-intro__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;color:#fff;font-size:3rem;line-height:1.15;margin:0 0 20px;text-align:left;}
.pf-experience-intro__subtitle{margin:0 0 8px;color:rgba(255,255,255,0.85);font-size:1.2rem;line-height:1.5;text-align:left;}

.pf-experience-body{padding-top:48px;padding-bottom:90px;}
.pf-experience-body--first{padding-top:80px;}
.pf-experience-body__content{max-width:880px;margin:0 auto;color:#000;font-size:1rem;line-height:1.75;}
.pf-experience-body__content h2{font-family:'articulat-cf',sans-serif;font-weight:700;font-size:1.65rem;margin:42px 0 18px;}
.pf-experience-body__content h3{font-family:'articulat-cf',sans-serif;font-weight:700;font-size:1.3rem;margin:32px 0 14px;}
.pf-experience-body__content p{margin:0 0 18px;}
.pf-experience-body__content p:last-child{margin-bottom:0;}
.pf-experience-body__content img{max-width:100%;height:auto;display:block;margin:32px auto;border-radius:6px;}
.pf-service-iframe{max-width:880px;margin:48px auto 0;}
.pf-service-iframe iframe{display:block;width:100%;max-width:100%;border:0;border-radius:6px;}

.pf-experience-gallery{padding-top:40px;padding-bottom:80px;}
.pf-experience-gallery__slider .uk-slider-items > li{padding-right:14px;}
.pf-experience-gallery__item{position:relative;display:block;overflow:hidden;cursor:pointer;}
.pf-experience-gallery__item img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:3/4;}
.pf-experience-gallery__badge{position:absolute;bottom:18px;left:18px;display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,0.95);color:#000;padding:9px 16px;font-family:'articulat-cf',sans-serif;font-size:0.85rem;font-weight:600;border-radius:10px;transition:background 0.2s;}
.pf-experience-gallery__item:hover .pf-experience-gallery__badge{background:#fff;}
.pf-experience-gallery__badge svg{flex-shrink:0;}

@media (max-width: 959px){
    .pf-experience-hero{grid-template-columns:1fr;height:auto;}
    .pf-experience-hero__media{aspect-ratio:4/5;max-height:60vh;height:auto;}
    .pf-experience-hero__inner{padding:36px 24px 48px;}
    .pf-experience-intro__breadcrumb{margin-bottom:24px;}
    .pf-experience-intro__title{font-size:2rem;}
    .pf-experience-intro__subtitle{font-size:1.05rem;}
    .pf-experience-body{padding-top:40px;}
    .pf-experience-body--first{padding-top:40px;}
    .pf-experience-gallery{padding-bottom:50px;}
}

/* ===== Destination page (Figma node 1:689) ===== */
.pf-destination-head{padding:24px 0 8px;}
.pf-destination-head .uk-breadcrumb > * > *{color:#000;font-size:0.78rem;letter-spacing:0.04em;text-transform:uppercase;}

.pf-destination-hero{padding-bottom:0;}
.pf-destination-hero__image{overflow:hidden;}
.pf-destination-hero__image img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:16/7;max-height:700px;}

.pf-destination-lead{padding-top:60px;padding-bottom:60px;}
.pf-destination-lead__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;color:#000;font-size:3rem;line-height:1.15;margin:0 0 22px;}
.pf-destination-lead__text{font-size:1.4rem;line-height:1.45;color:#000;margin:0 auto;max-width:820px;}

.pf-destination-intro{position:relative;color:#fff;background:#0d1424;padding-top:120px;padding-bottom:120px;}
.pf-destination-intro__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;color:#fff;font-size:3.6rem;line-height:1.05;margin:0 0 28px;}
.pf-destination-intro__text{font-size:1.2rem;line-height:1.55;color:#fff;}
.pf-destination-intro__text p{margin:0 0 16px;}

.pf-destination-blocks{padding-top:80px;padding-bottom:80px;}
.pf-destination-block{display:flex;flex-direction:column;gap:18px;}
.pf-destination-block__image{overflow:hidden;}
.pf-destination-block__image img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:4/3;}
.pf-destination-block__title{font-family:'articulat-cf',sans-serif;font-weight:700;font-size:1.6rem;color:#000;margin:8px 0 6px;}
.pf-destination-block__text{font-size:1rem;line-height:1.6;color:#000;}
.pf-destination-block__text p{margin:0 0 12px;}

.pf-destination-side{padding-top:80px;padding-bottom:80px;}
.pf-destination-side__grid{align-items:center;}
.pf-destination-side__title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;color:#1b1b1a;font-size:3rem;line-height:1.1;margin:0 0 16px;}
.pf-destination-side__lead{font-size:1.25rem;color:#1b1b1a;margin:0 0 22px;}
.pf-destination-side__text{font-size:1rem;line-height:1.65;color:#000;}
.pf-destination-side__text p{margin:0 0 14px;}
.pf-destination-side__image{overflow:hidden;}
.pf-destination-side__image img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:4/3;}

@media (max-width: 959px){
    .pf-destination-lead__title{font-size:2.2rem;}
    .pf-destination-lead__text{font-size:1.1rem;}
    .pf-destination-intro{padding-top:60px;padding-bottom:60px;}
    .pf-destination-intro__title{font-size:2.4rem;}
    .pf-destination-intro__text{font-size:1.05rem;}
    .pf-destination-blocks,.pf-destination-side{padding-top:50px;padding-bottom:50px;}
    .pf-destination-side__title{font-size:2.1rem;}
}

/* ===== Mirai finder — re-skinned to match the pf-booking-mask design ===== */
[data-mirai-component="finder"]{display:block;width:100%;max-width:none;margin-top:36px;--mirai-finder-button-background:#213667;--mirai-finder-button-background-hover:#17254a;--mirai-finder-button-color:#fff;--mirai-finder-button-border-radius:0 13px 13px 0;--mirai-finder-field-height:100%;}
/* Direct-child selector: in compact mode Mirai nests a second <ui-finder>
   inside <ui-finder-compact> to hold separator views — without the `>`
   that nested element also got this chrome (white bg, 14px radius, big
   shadow) and rendered as a ghost panel below the compact bar. */
[data-mirai-component="finder"] > ui-finder{display:flex !important;align-items:stretch !important;width:100% !important;max-width:none !important;background:#fff;border:0 !important;border-radius:14px !important;box-shadow:0 30px 60px rgba(0,0,0,0.12);overflow:visible;padding:0 !important;gap:0 !important;}
.header-image [data-mirai-component="finder"] > ui-finder{box-shadow:0 30px 80px rgba(0,0,0,0.25);}
[data-mirai-component="finder"] ui-layer{flex:1 1 0;display:flex !important;align-items:stretch !important;min-width:0;margin:0 !important;}
[data-mirai-component="finder"] ui-finder > ui-layer:last-of-type{flex:0 0 auto !important;}
[data-mirai-component="finder"] ui-finder > ui-layer:not(:last-of-type){box-shadow:inset -1px 0 0 #e5e5e5;}
[data-mirai-component="finder"] .HH83Qq_field{flex:1;display:flex !important;align-items:center !important;gap:14px;padding:26px 28px !important;min-width:0;border:0 !important;border-radius:0 !important;background:transparent !important;cursor:pointer;height:auto !important;width:100%;}
[data-mirai-component="finder"] .HH83Qq_field:hover,
[data-mirai-component="finder"] .HH83Qq_field:focus{background:rgba(33,54,103,0.03) !important;outline:none;}
[data-mirai-component="finder"] .HH83Qq_icon{flex-shrink:0;color:#213667 !important;font-size:1.3rem !important;}
[data-mirai-component="finder"] .HH83Qq_icon svg{width:1.2rem;height:1.2rem;}
[data-mirai-component="finder"] .HH83Qq_input{display:flex !important;flex-direction:column;gap:4px;min-width:0;flex:1;}
[data-mirai-component="finder"] .HH83Qq_label{font-family:'articulat-cf',sans-serif !important;font-weight:500 !important;font-size:0.68rem !important;letter-spacing:0.16em !important;text-transform:uppercase !important;color:#8a8a8a !important;line-height:1.2 !important;}
[data-mirai-component="finder"] .HH83Qq_caption{font-family:'articulat-cf',sans-serif !important;font-weight:600 !important;font-size:0.95rem !important;line-height:1.2 !important;color:#111 !important;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}
[data-mirai-component="finder"] .HH83Qq_caption.HH83Qq_placeholder{color:#b0b0b0 !important;font-weight:500 !important;}
[data-mirai-component="finder"] .YRq8BG_separator{flex:0 0 1px !important;width:1px !important;height:60% !important;background:#e5e5e5 !important;margin:0 !important;align-self:center !important;}
[data-mirai-component="finder"] input.JiK2PW_input,
[data-mirai-component="finder"] input.I2Uiuq_input{border:0 !important;padding:0 !important;margin:0;background:transparent !important;outline:none !important;box-shadow:none !important;font-family:'articulat-cf',sans-serif !important;font-weight:600 !important;font-size:0.95rem !important;line-height:1.2 !important;color:#111 !important;width:100%;height:auto !important;}
[data-mirai-component="finder"] input.JiK2PW_input::placeholder,
[data-mirai-component="finder"] input.I2Uiuq_input::placeholder{color:#b0b0b0;font-weight:500;}
[data-mirai-component="finder"] .YRq8BG_button{flex:0 0 auto !important;display:flex !important;align-items:center !important;justify-content:center !important;align-self:stretch !important;height:auto !important;max-height:100% !important;margin:0 !important;border:0 !important;outline:0 !important;background:#213667 !important;background-color:#213667 !important;color:#fff !important;font-family:'articulat-cf',sans-serif !important;font-weight:700 !important;font-size:0.78rem !important;letter-spacing:0.18em !important;text-transform:uppercase !important;padding:0 48px !important;min-width:190px !important;border-radius:0 13px 13px 0 !important;box-shadow:none !important;cursor:pointer;transition:background .25s;}
[data-mirai-component="finder"] .YRq8BG_finder:not(.YRq8BG_compact) .YRq8BG_button:hover:not(.YRq8BG_skeleton){background:#17254a !important;background-color:#17254a !important;}
[data-mirai-component="finder"] ui-layer:first-of-type .HH83Qq_field{border-radius:13px 0 0 13px !important;}

@media (max-width:1199px){
    [data-mirai-component="finder"] .HH83Qq_field{padding:20px 20px !important;gap:10px;}
    [data-mirai-component="finder"] .YRq8BG_button{padding:0 32px !important;min-width:160px !important;}
}
@media (max-width:959px){
    /* Mobile booking bar — single row, button stretches edge-to-edge.
       Direct child only so the nested <ui-finder> inside <ui-finder-compact>
       doesn't get pinned to flex-direction:row + overflow:hidden. */
    [data-mirai-component="finder"] > ui-finder{flex-direction:row;border-radius:14px;overflow:hidden;align-items:stretch !important;}
    [data-mirai-component="finder"] ui-layer{flex:1 1 auto !important;width:auto !important;align-items:stretch !important;align-self:stretch !important;display:flex !important;}
    [data-mirai-component="finder"] ui-finder > ui-layer:last-of-type{flex:0 0 auto !important;padding:0 !important;}
    [data-mirai-component="finder"] ui-finder > ui-layer:not(:last-of-type){box-shadow:inset -1px 0 0 #e5e5e5;}
    [data-mirai-component="finder"] .HH83Qq_field{padding:0 14px !important;gap:8px;border-radius:0 !important;height:86px !important;align-self:stretch !important;align-items:center !important;}
    [data-mirai-component="finder"] ui-layer:first-of-type .HH83Qq_field{border-radius:0 !important;}
    [data-mirai-component="finder"] .YRq8BG_separator{width:1px !important;height:60% !important;margin:0 !important;align-self:center !important;}
    /* Force the search button cell + button to fill the entire bar height. */
    [data-mirai-component="finder"] ui-finder > ui-layer:last-of-type > *{height:100% !important;align-self:stretch !important;}
    [data-mirai-component="finder"] .YRq8BG_button{width:auto !important;padding:0 28px !important;min-width:0 !important;border-radius:0 !important;margin:0 !important;align-self:stretch !important;height:100% !important;max-height:none !important;}
    /* Mirai compact mode (<480px) defaults to var(--mirai-ui-space-XS)
       padding around the bar — kill it so the dock stays edge-to-edge. */
    [data-mirai-component="finder"] .YRq8BG_compact{padding:0 !important;max-width:100% !important;}
    [data-mirai-component="finder"] ui-finder.YRq8BG_compact{padding:0 !important;max-width:100% !important;}
}

/* ==========================================================================
   Mobile responsive polish — typography, spacing, layout fixes
   ========================================================================== */
@media (max-width: 767px){
    /* Hero typography — bring the giant Playfair down so it stops eating
       the viewport on phones. */
    .header.header-image h1,
    .header.header-video h1{font-size:1.9rem;line-height:1.1;margin-bottom:10px;}
    .header.header-image .uk-lead,
    .header.header-video .uk-lead{font-size:1rem;line-height:1.45;}

    /* Block titles + intro lead */
    .pf-block-title{font-size:1.7rem !important;line-height:1.1;margin-bottom:12px;}
    .pf-intro-text{padding:6vh 0;}
    .pf-intro-text p{font-size:1.1rem;line-height:1.5;}
    .pf-content-text{font-size:0.95rem;line-height:1.7;}

    /* Highlights ("Por qué reservar en Plus Fariones") — keep the 3 items
       in a single row at compact size so the section doesn't take a full
       viewport. UIkit grid would stack 1-per-row by default on mobile. */
    .pf-highlight-items{padding:24px 16px;margin-top:-30px;}
    .pf-highlight-items h2{font-size:1.4rem;margin-bottom:18px;}
    .pf-highlight-items > [uk-grid]{display:flex !important;flex-wrap:nowrap;gap:8px;margin-left:0;}
    .pf-highlight-items > [uk-grid] > *{flex:1 1 0;width:auto !important;min-width:0;padding-left:8px;}
    .pf-highlight-items img{max-width:44px;}
    .pf-highlight-items h5{font-size:0.7rem;line-height:1.25;max-width:none;margin-top:8px;}

    /* Section heads (Vivir la isla / Vivir nuestra esencia / Recommended /
       experiences-island block) — stack title above the link/CTA so it doesn't
       squeeze the title into one word per row. Also zero-out uk-grid's
       negative margin-left, because our child padding-left:0 below would
       otherwise leave the negative margin uncompensated and slide the
       whole heading off the left edge. */
    .pf-section-head[uk-grid],
    .pf-showcase-head[uk-grid],
    .pf-experiences > .uk-container > [uk-grid],
    .pf-experiences-showcase > .uk-container > [uk-grid],
    .pf-exp-island > .uk-container > [uk-grid]{flex-direction:column;align-items:flex-start;flex-wrap:wrap;margin-left:0 !important;}
    .pf-section-head > .uk-width-expand,
    .pf-section-head > .uk-width-auto,
    .pf-showcase-head > .uk-width-expand,
    .pf-showcase-head > .uk-width-auto,
    .pf-experiences > .uk-container > [uk-grid] > .uk-width-expand,
    .pf-experiences > .uk-container > [uk-grid] > .uk-width-auto,
    .pf-exp-island > .uk-container > [uk-grid] > .uk-width-expand,
    .pf-exp-island > .uk-container > [uk-grid] > .uk-width-auto{width:100% !important;padding-left:0;}
    .pf-section-head > .uk-width-auto,
    .pf-showcase-head > .uk-width-auto,
    .pf-experiences > .uk-container > [uk-grid] > .uk-width-auto,
    .pf-exp-island > .uk-container > [uk-grid] > .uk-width-auto{margin-top:8px;}

    /* Showcase slides: image on top, text below. The DOM has
       .pf-showcase-slide with text-wrapper as :first-child and
       image-wrapper as :last-child, so we reorder the direct flex
       children. Description stays visible (it's the per-experience
       subtitle and was missing on mobile). */
    .pf-showcase-slide{flex-direction:column !important;}
    .pf-showcase-slide > div{width:100% !important;}
    .pf-showcase-slide > div:first-child{order:2;}
    .pf-showcase-slide > div:last-child{order:1;}
    .pf-showcase-slide__text{padding-left:0;margin-top:14px;}
    .pf-showcase-slide__text > div p,
    .pf-showcase-slide__text > div{font-size:0.9rem;line-height:1.55;margin:6px 0 14px;display:block !important;}
    /* Keep the 4/3 aspect on the inner <img> only — UIkit's attr()-based
       reset would otherwise drop it back to auto and render the square
       placeholder thumb at its natural 1/1 ratio. Wrapper rule was
       redundant (struck through in devtools) so it stays removed. */
    .pf-showcase-slide__image img{width:100% !important;height:auto !important;aspect-ratio:4/3 !important;}

    /* Showcase peek hygiene on mobile: only the active slide shows its
       text — the next slide's text was peeking into the right gutter as
       a noisy fragment ("Dedica nuestro cuidad belleza armoni…"). The
       slot is preserved (visibility:hidden) so the slider height doesn't
       jump per slide. Add a real 12px margin-right so adjacent images
       don't visually touch. */
    .pf-experiences-showcase .uk-slider-items > *:not(.uk-active) .pf-showcase-slide__text{visibility:hidden;}
    .pf-experiences-showcase .uk-slider-items > *{margin-right:12px;}

    /* Destination hero — give it a fixed share of the viewport so the
       background photo stays visible and the CTA isn't glued to the bottom. */
    .pf-destination-hero{min-height:80vh;}
    .pf-destination-hero__content h2{font-size:2rem !important;}
    .pf-destination-hero__content p{font-size:1rem;}

    /* Bonos banner — single border around the column once it stacks; the
       desktop rule leaves the right pane with `border-left:0` which on
       mobile reads as a broken outline. */
    .pf-bonos-banner__left{padding:48px 32px;}
    .pf-bonos-banner__left h4{font-size:1.4rem;}
    .pf-bonos-banner__right{padding:36px 32px;border:1px solid #b1b4bb;border-top:0;}
    .pf-bonos-banner__right p{font-size:1rem;line-height:1.6;margin-bottom:18px;}

    /* Footer — un-rotate the logo, left-align everything, tame the giant
       divider gaps and bring list/text down to comfortable reading sizes
       (was 1.3rem inherited from desktop). */
    .pf-footer__main > div > [uk-grid]{margin-left:0 !important;}
    .pf-footer__main > div > [uk-grid] > div{min-height:0;padding-left:0 !important;margin-top:0 !important;}
    /* Drop the vertical dividers — when the grid stacks they become full-width
       lines that read as visual gaps between blocks. */
    .pf-footer__main .uk-grid-divider > :not(.uk-first-column)::before{display:none !important;}
    .pf-footer__logo-col{width:100% !important;height:auto !important;position:static !important;padding:16px 0 !important;justify-content:flex-start !important;}
    .pf-footer__logo{position:static !important;transform:none !important;width:200px !important;max-width:200px !important;left:auto !important;top:auto !important;display:block;margin:0;}
    .pf-footer__main .uk-margin-medium-top{margin-top:0 !important;}
    .pf-footer__main .uk-margin-medium-bottom{margin-bottom:18px !important;}
    .pf-footer__heading{font-size:0.7rem;margin-bottom:8px;}
    .pf-footer__heading--serif{font-size:1.1rem;margin-bottom:12px;}
    .pf-footer__list li{font-size:1rem;margin-bottom:6px;}
    .pf-footer__text{font-size:1rem;margin-bottom:12px;}
    /* Footer menu (Reglamentos / Trabaja / Bono regalo …) — left aligned
       and tighter. */
    .pf-footer__menu{padding:18px 0;}
    .pf-footer__menu ul.uk-flex-center{justify-content:flex-start !important;}
    .pf-footer__menu ul{gap:8px 18px !important;}
    .pf-footer__menu li a{font-size:0.85rem !important;}
    .pf-footer__bottom{padding:14px 0;}
    .pf-footer__bottom [uk-grid]{flex-direction:column;gap:8px;}
    .pf-footer__bottom .uk-flex-right\@m{justify-content:flex-start !important;}

    /* Sliders bleed to the right edge — the slider wrapper extends 20px
       past the container's right padding (= viewport right edge) so the
       next-card peek runs all the way to the screen edge instead of
       stopping at the 20px gutter. Container left padding still anchors
       the first card to the 20px rail. Section overflow is hidden so
       the bleed can't push the body wider than 100vw and create the
       horizontal scroll (visible on the experiences flatpage as a beige
       sliver on the right of the dark Vivir-la-isla section). */
    .pf-hotel-feed,
    .pf-offers,
    .pf-experiences,
    .pf-experiences-showcase,
    .pf-exp-island,
    .pf-rooms,
    .pf-gastro,
    .pf-hotel-gallery,
    .pf-select-promo{overflow:hidden;}

    /* Hotel gallery title — Playfair italic 2.8rem on desktop breaks
       across multiple lines on a phone. Shrink + tighten. */
    .pf-hotel-gallery__title{font-size:1.7rem !important;line-height:1.1 !important;}
    .pf-hotel-gallery__subtitle{font-size:0.95rem;}

    /* Hotel gallery hero + Select promo banner: full-bleed on both
       sides on mobile (currently constrained to the 20px container
       gutter). Use negative margins to extend to the viewport edges
       while keeping the heading/tabs anchored to the rail. */
    .pf-hotel-gallery .pf-gallery,
    .pf-hotel-gallery .pf-gallery-wrap{
        margin-left:-20px;
        margin-right:-20px;
        width:calc(100% + 40px);
        max-width:none;
    }
    .pf-select-promo .pf-select-promo__card{
        margin-left:-20px;
        margin-right:-20px;
        width:calc(100% + 40px);
        max-width:none;
    }
    .pf-hotel-feed [uk-slider],
    .pf-offers [uk-slider],
    .pf-experiences [uk-slider],
    .pf-experiences-showcase [uk-slider],
    .pf-exp-island [uk-slider],
    .pf-rooms [uk-slider],
    .pf-gastro [uk-slider]{margin-right:-20px;}
    /* Rooms + restaurants sliders: each card 88% width so the next one
       peeks from the right edge, matching the hotels-feed behaviour. */
    .pf-rooms .uk-slider-items > *,
    .pf-gastro .uk-slider-items > *{width:88% !important;}

    /* Hotel cards slider: peek next card + smaller title */
    .pf-hotel-feed .uk-slider-items > *{width:85%;}
    .pf-hotel-card__body h3{font-size:1.25rem;}
    .pf-hotel-card__body p{font-size:0.9rem;}

    /* Ofertas matches the hoteles proportion so both bleed identically. */
    .pf-offers .uk-slider-items > *{width:85% !important;}

    /* Vivir la isla / Vivir nuestra esencia — main card large, second
       card small peek at the right edge. The showcase variant ships
       uk-width-1-1 per slide so we have to override that to enable
       peek. */
    .pf-experiences .uk-slider-items > *,
    .pf-exp-island .uk-slider-items > *,
    .pf-experiences-showcase .uk-slider-items > *.uk-width-1-1,
    .pf-experiences-showcase .uk-slider-items > *{width:88% !important;box-sizing:border-box;}
    /* Push the experience cards apart by 12px so card-A's right border
       and card-B's left border don't paint a doubled 1px line where
       they meet. Showcase stays untouched (those slides have no
       border + the user explicitly asked the slides to touch). */
    .pf-experiences .uk-slider-items > *,
    .pf-exp-island .uk-slider-items > *{margin-right:12px;}

    /* Tighter spacing between the showcase heading block and the first
       slide on mobile. */
    .pf-experiences-showcase .pf-showcase-head{margin-bottom:16px !important;}

    /* Experience cards (Vivir la isla): every card needs a left border
       on mobile. The desktop pattern (no border-left + first-child
       fixed) assumes cards touch each other and share borders — on
       mobile the 10px slide right-padding creates a visible gap, so
       subsequent cards rendered as open boxes without it. */
    .pf-experience-card{padding:20px !important;border-left:1px solid rgba(255,255,255,0.25) !important;}
    .pf-experience-card__image img{aspect-ratio:4/3;}
    .pf-experience-card h4{font-size:1.05rem;}
    .pf-experience-card p{font-size:0.85rem;line-height:1.45;}

    /* ==========================================================================
       Mobile gutter standardization — single 20px gutter across the whole site.
       Section wrappers stop adding horizontal padding (vh-based padding spawns
       a different gap per viewport); the inner uk-container provides the only
       horizontal rail at 20px so every block aligns to the same vertical guide.
       ========================================================================== */
    /* No !important here — utility overrides like .pt-0 / .pb-0 must
       still be able to zero out one side without us forcing it back. */
    .section{padding:5vh 0;}
    .section-large{padding:8vh 0;}
    .section-small{padding:3vh 0;}

    .uk-container,
    .uk-container-large,
    .uk-container-medium,
    .uk-container-small,
    .uk-container-xsmall,
    .uk-container-expand{padding-left:20px !important;padding-right:20px !important;box-sizing:border-box;}

    /* Custom container used in some feeds (defaults to 10% padding-left). */
    .container-feed{width:100% !important;padding-left:20px !important;padding-right:20px !important;box-sizing:border-box;}

    /* Highlights re-aligned to the same 20px rail. */
    .pf-highlight-items{padding-left:20px !important;padding-right:20px !important;}

    /* ==========================================================================
       Flatpages (landing) — keep the type hierarchy but scale heading + body
       and tighten the block-to-block rhythm. The desktop h1 ships at 3rem;
       on a phone "Reinventando la estancia desde el cuidado de cada
       detalle" rendered at 3rem broke into 6+ lines and dominated the
       screen.
       ========================================================================== */
    .landing .pf-intro{padding:24px 0 !important;}
    .pf-intro-text h1,
    .landing .pf-intro h1{font-size:1.7rem !important;line-height:1.15 !important;}
    .pf-intro-text > div{font-size:1rem;line-height:1.6;}

    /* Flatpage blocks: stacked image + text on mobile, less vertical air
       between sections and between image and heading. No !important so
       .pt-0 / .pb-0 utility classes still win when used. */
    .pf-flatpage-block.section-large{padding-top:24px;padding-bottom:24px;}
    .pf-flatpage-block__grid{gap:14px !important;}
    .pf-flatpage-block__text{padding-top:4px;}
    .pf-flatpage-block__text .pf-block-title{font-size:1.6rem !important;margin-bottom:10px !important;}
    .pf-flatpage-block__text .uk-text-large{font-size:1rem !important;line-height:1.55 !important;}

    /* Quote block: 2rem body + section-large was reading as another
       headline. Drop to readable body size and trim the section padding.
       No !important so .pt-0 still wins on the existing markup. */
    .pf-quote-block.section-large{padding-top:24px;padding-bottom:24px;}
    .pf-quote-block__quote{margin-bottom:16px !important;}
    .pf-quote-block__quote p{font-size:1.2rem !important;line-height:1.45 !important;}

    /* Dark-bg slider bullets (hotels-feed block on bg-dark) — UIkit's
       default dotnav uses near-black bullets, invisible on #242629.
       Force white border + transparent fill, with white fill on active. */
    .bg-dark .uk-dotnav > * > *,
    .pf-hotel-feed.bg-dark .uk-dotnav > * > *{
        background:transparent !important;
        border-color:rgba(255,255,255,0.5) !important;
    }
    .bg-dark .uk-dotnav > .uk-active > *,
    .pf-hotel-feed.bg-dark .uk-dotnav > .uk-active > *{
        background-color:#fff !important;
        border-color:#fff !important;
    }
    .bg-dark .uk-dotnav > * > :hover,
    .pf-hotel-feed.bg-dark .uk-dotnav > * > :hover{
        background-color:rgba(255,255,255,0.7) !important;
        border-color:#fff !important;
    }

    /* Sections that paint their own horizontal padding (kill it so the
       inner uk-container is the only thing shaping the rail). No
       !important so .pl-0 / .pr-0 utilities still win when used. */
    .pf-experiences,
    .pf-experiences-showcase,
    .pf-exp-island,
    .pf-destination-hero,
    .pf-wellness-hero,
    .pf-bonos-banner{padding-left:0;padding-right:0;}
    /* The desktop .section-large{padding:10vh} adds horizontal vh padding
       on every side — at tablet widths (768-959px) that still applies,
       pushing slider content rightward off the heading rail. Force
       sections that host sliders to zero out horizontal padding for the
       full mobile range. */
    .pf-experiences.section-large,
    .pf-experiences-showcase.section-large,
    .pf-exp-island.section-large,
    .pf-hotel-feed.section-large,
    .pf-offers.section-large{padding-left:0;padding-right:0;}

    /* Bonos banner sits right above the footer — trim its bottom padding
       so the gap to the logo doesn't read as a dead band. No !important
       so .pt-0 / .pb-0 utilities can still override one side. */
    .pf-bonos-banner{padding-top:4vh;padding-bottom:4vh;}

    /* ==========================================================================
       Footer mobile fixes — separators must reach the gutters and stop
       overlapping content. Override UIkit's grid-divider so its ::before
       becomes a clean horizontal full-width line at the top of every
       non-first column (Hoteles → Teléfono → Newsletter), instead of the
       leaking vertical border it tries to paint when stacked.
       ========================================================================== */
    .pf-footer__main .uk-grid-divider > :not(.uk-first-column),
    .pf-footer__main [uk-grid] > div + div{position:relative;}
    .pf-footer__main .uk-grid-divider > :not(.uk-first-column)::before,
    .pf-footer__main [uk-grid] > div + div::before{
        content:"" !important;
        display:block !important;
        position:absolute !important;
        top:0 !important;
        /* Bleed past the container's 20px gutter so the line reaches the
           lateral edges of the white footer area, matching the separator
           above the Stay Creative credit. */
        left:-20px !important;
        right:-20px !important;
        width:auto !important;
        height:1px !important;
        background:#e0e0e0 !important;
        border:0 !important;
        margin:0 !important;
        padding:0 !important;
    }
    /* Push content down so it doesn't touch the separator. */
    .pf-footer__main [uk-grid] > div + div > div{padding-top:8px;}
    /* Newsletter heading — keep the brand serif touch but stop "Suscríbete"
       from sitting on top of the divider. */
    .pf-footer__heading--serif{margin-top:8px;}
    /* Social links row — they were colliding with the divider above. */
    .pf-footer__social{display:flex;gap:18px;flex-wrap:wrap;margin-top:4px;}

    /* Compact the last two footer bands — menu (Trabaja con nosotros / Bono
       regalo / Transparencia) and copyright. Less vertical air, same gutter. */
    .pf-footer__menu{padding:10px 0 !important;}
    .pf-footer__bottom{padding:10px 0 !important;}
    .pf-footer__bottom [uk-grid]{gap:4px !important;flex-direction:column !important;}
    .pf-footer__bottom p{font-size:0.7rem !important;}
    .pf-footer__bottom li a{font-size:0.7rem !important;}
    .pf-footer__bottom ul{gap:4px 16px !important;}
    /* Order on mobile: legal links first, copyright second. Copyright is
       declared before the legal list in the blade to keep the desktop
       layout (copyright left / legal right); flex order swaps them on
       phones without affecting desktop. */
    .pf-footer__bottom > .uk-container > [uk-grid] > div:first-child{order:2;}
    .pf-footer__bottom > .uk-container > [uk-grid] > div:last-child{order:1;}

    /* Stay Creative signature — small line under the copyright block. */
    .pf-footer__credit{padding:6px 20px 8px;}

    /* Reserve space at the bottom of the footer so the fixed booking dock
       doesn't sit on top of the Stay Creative credit when the user scrolls
       to the page end. Tightened from 110px (the dock is closer to 70-80px
       tall once compact). */
    /* Reserve dock space only on the CHAIN footer (last on the page).
       The hotel pre-footer (.pf-footer--hotel) sits ABOVE it and would
       otherwise inherit an 80px dead band before the next section. */
    .pf-footer:not(.pf-footer--hotel){padding-bottom:80px;}

    /* Hotel pre-footer (.pf-footer--hotel) — tighter column margins
       and a smaller logo so the contact stack reads compact on phones. */
    .pf-footer.pf-footer--hotel{padding:0;}
    .pf-footer.pf-footer--hotel .pf-footer__logo-col{padding:14px 0 !important;}
    .pf-footer.pf-footer--hotel .pf-footer__logo{width:160px !important;max-width:160px !important;}
    .pf-footer.pf-footer--hotel .uk-margin-medium-top{margin-top:0 !important;}
    .pf-footer.pf-footer--hotel .uk-margin-medium-bottom{margin-bottom:12px !important;}
    .pf-footer.pf-footer--hotel [uk-grid] > div + div > div{padding-top:14px;}
    .pf-footer.pf-footer--hotel .pf-footer__text{margin-bottom:8px;}
}

/* Stay Creative signature — small attribution under the legal links.
   Sits inside .pf-footer with subdued type so it doesn't compete. */
.pf-footer__credit{padding:14px 0;text-align:left;border-top:1px solid #e0e0e0;}
.pf-footer__credit small{font-size:0.7rem;color:#999;font-family:'articulat-cf',sans-serif;}
.pf-footer__credit a{color:#999;text-decoration:none;}
.pf-footer__credit a:hover{color:#213667;text-decoration:underline;}
.pf-footer__credit b{font-weight:600;color:#666;}

/* Flatpages tipo "contact" — pequeños ajustes para el formulario y la tarjeta de hoteles */
.pf-form--underline select.pf-form__input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 4px center;padding-right:24px;cursor:pointer;}

/* Detalle de oferta de empleo (job-offer.blade.php) */
.pf-job-detail{padding-top:140px;background:#f6f6f4;}
.pf-job-detail__head{margin:24px 0 36px;}
.pf-job-detail__head .pf-block-title{margin:0;}
.pf-job-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:36px;align-items:start;}
.pf-job-detail__card{align-self:start;}
.pf-job-detail__form{background:#fff;padding:40px 48px;}
.pf-job-detail__form .pf-block-title{margin:0 0 28px;font-size:2.2rem;}

/* Bloque "Adjunta tu currículum" */
.pf-job-cv{margin:8px 0 4px;display:flex;flex-direction:column;gap:10px;}
.pf-job-cv__label{display:inline-flex;align-items:center;gap:8px;font-family:'articulat-cf',sans-serif;font-size:0.95rem;color:#1a1a1a;margin:0;}
.pf-job-cv__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.pf-job-cv__button{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;background:#f4f4f5;border:1px solid rgba(0,0,0,0.18);padding:10px 16px;font-family:'articulat-cf',sans-serif;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:#1a1a1a;cursor:pointer;}
.pf-job-cv__button:hover{background:#ececec;}
.pf-job-cv__button-plus{font-size:1rem;font-weight:600;line-height:1;}
.pf-job-cv__filename{font-family:'articulat-cf',sans-serif;font-size:0.78rem;color:#555961;margin:0;}
.pf-job-cv__error{position:static;margin:4px 0 0;}

/* Texto legal junto al checkbox */
.pf-job-legal{display:flex;flex-direction:column;gap:14px;margin-top:8px;}
.pf-job-legal__row span{font-size:0.78rem;line-height:1.55;color:#1a1a1a;}
.pf-job-legal__row a{color:#1a1a1a;text-decoration:underline;}

/* Form pequeños tweaks */
.pf-form__hint{color:#8a8a8a;font-weight:400;}

@media(max-width:959px){
    .pf-job-detail{padding-top:90px;}
    .pf-job-detail__grid{grid-template-columns:1fr;gap:24px;}
    .pf-job-detail__form{padding:24px 22px;}
    .pf-job-detail__form .pf-block-title{font-size:1.6rem;}
}

/* Tablet polish for experience sliders — keep the peek width but no
   inter-slide margin (breaks the visual rhythm on the showcase block). */
@media (max-width: 959px){
    .pf-experiences .uk-slider-items > *,
    .pf-exp-island .uk-slider-items > *,
    .pf-experiences-showcase .uk-slider-items > *.uk-width-1-1,
    .pf-experiences-showcase .uk-slider-items > *{
        width:88% !important;
        box-sizing:border-box;
    }
}

/* Flatpage 13 — Empleos */
.pf-jobs{background:#f6f6f4;}
.pf-jobs__title{font-family:'Playfair',serif;font-style:italic;font-weight:400;font-size:3rem;line-height:1.05;color:#000;margin:0 0 48px;}
.pf-jobs__title span{font-style:italic;}
.pf-jobs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.pf-job-card{background:#fff;padding:28px;display:flex;flex-direction:column;}
.pf-job-card__title{font-family:'articulat-cf',sans-serif;font-weight:400;font-size:1.6rem;line-height:1.1;color:#000;margin:0 0 14px;}
.pf-job-card__divider{height:1px;background:#000;margin:0 0 18px;width:100%;}
.pf-job-card__desc{font-family:'articulat-cf',sans-serif;font-size:0.95rem;line-height:1.55;color:#000;flex:1;margin:0 0 24px;}
.pf-job-card__actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:auto;}
.pf-job-card__info{display:inline-flex;align-items:center;gap:8px;font-family:'articulat-cf',sans-serif;font-size:0.8rem;font-weight:600;letter-spacing:0.05em;color:#000;text-decoration:none;}
.pf-job-card__info:hover{color:#213667;}
.pf-job-card__info svg{flex-shrink:0;}
.pf-job-card__apply{padding:14px 22px;font-size:0.78rem;}
.pf-job-card__apply svg{margin-left:auto;}

@media(max-width:959px){
    .pf-jobs__title{font-size:2.2rem;margin-bottom:32px;}
    .pf-jobs__grid{grid-template-columns:1fr;gap:18px;}
    .pf-job-card{padding:22px;}
    .pf-job-card__title{font-size:1.35rem;}
}

/* ---- 15. GIFT VOUCHER (flatpage type=gift, wizard) ---- */
.pf-gift{padding-bottom:100px;}
.pf-gift__errors{background:#fff0f0;border:1px solid #f3c2c2;color:#a3261c;padding:14px 18px;border-radius:6px;margin-bottom:24px;font-family:'articulat-cf',sans-serif;font-size:0.92rem;}
.pf-gift__errors ul{margin:6px 0 0;padding-left:18px;}

/* Stepper */
.pf-gift-stepper{list-style:none;margin:0 0 50px;padding:0;display:flex;flex-wrap:wrap;gap:0;justify-content:space-between;position:relative;font-family:'articulat-cf',sans-serif;}
.pf-gift-stepper::before{content:'';position:absolute;left:18px;right:18px;top:18px;height:1px;background:rgba(0,0,0,0.12);z-index:0;}
.pf-gift-stepper__item{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:default;position:relative;z-index:1;flex:0 0 auto;min-width:80px;text-align:center;color:#888;transition:color .2s;}
.pf-gift-stepper__item.is-done{cursor:pointer;color:#0d1729;}
.pf-gift-stepper__bullet{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,0.15);color:#888;font-weight:600;font-size:0.95rem;transition:background .2s,border-color .2s,color .2s;}
.pf-gift-stepper__item.is-active .pf-gift-stepper__bullet{background:#0d1729;border-color:#0d1729;color:#fff;}
.pf-gift-stepper__item.is-done .pf-gift-stepper__bullet{background:#213667;border-color:#213667;color:#fff;}
.pf-gift-stepper__label{font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;}
.pf-gift-stepper__item.is-active .pf-gift-stepper__label{color:#0d1729;}

/* Steps */
.pf-gift-step{display:none;}
.pf-gift-step.is-active{display:flex;flex-direction:column;gap:28px;}
.pf-gift-step__legend{font-family:'Playfair',serif;font-style:italic;font-weight:400;font-size:2rem;line-height:1.15;color:#0d1729;margin:0;padding:0;}
.pf-gift-step__lead{font-family:'articulat-cf',sans-serif;font-size:0.98rem;line-height:1.55;color:#3a3f4a;margin:0;max-width:520px;}
.pf-gift-step__legend + .pf-gift-step__lead{margin-top:-18px;}

/* Required asterisk */
.pf-form__required{color:#b91c1c;margin-left:4px;font-weight:500;}

/* Checkbox rows should not carry the underline divider */
.pf-form--underline .pf-form__row--check{border-bottom:0;padding-bottom:0;}

/* Hide native spinner on the custom-amount input */
.pf-gift-form input[type="number"]::-webkit-outer-spin-button,
.pf-gift-form input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pf-gift-form input[type="number"]{-moz-appearance:textfield;appearance:textfield;}

/* Amount chips */
.pf-gift-amounts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.pf-gift-amount{cursor:pointer;}
.pf-gift-amount input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;}
.pf-gift-amount__chip{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border:1px solid rgba(0,0,0,0.18);background:#fff;color:#0d1729;font-family:'articulat-cf',sans-serif;font-weight:500;font-size:1rem;letter-spacing:0.02em;border-radius:999px;transition:background .2s,border-color .2s,color .2s;}
.pf-gift-amount input:checked + .pf-gift-amount__chip{background:#0d1729;border-color:#0d1729;color:#fff;}
.pf-gift-amount:hover .pf-gift-amount__chip{border-color:#0d1729;}
.pf-gift-amount input:focus-visible + .pf-gift-amount__chip{outline:2px solid #213667;outline-offset:2px;}

/* Summary on step 4 */
.pf-gift-summary{margin:0 0 28px;padding:24px 26px;background:#f7f7f7;display:flex;flex-direction:column;gap:14px;font-family:'articulat-cf',sans-serif;}
.pf-gift-summary__row{display:flex;gap:14px;align-items:flex-start;}
.pf-gift-summary__row dt{flex:0 0 130px;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:#0d1729;font-weight:600;margin:0;line-height:1.5;}
.pf-gift-summary__row dd{flex:1;margin:0;font-size:0.95rem;line-height:1.55;color:#0d1729;}

/* Wizard nav */
.pf-gift-nav{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;align-items:center;}
.pf-form__submit--ghost{background:transparent;color:#000 !important;border-color:rgba(0,0,0,0.25);}
.pf-form__submit--ghost:hover{background:#0d1729;color:#fff !important;border-color:#0d1729;}

.pf-gift-form__notice{font-family:'articulat-cf',sans-serif;font-size:0.85rem;color:#6b6b6b;margin:18px 0 0;max-width:480px;}

.pf-gift-return__code{display:inline-block;font-family:'JetBrains Mono','Courier New',monospace;font-size:1.4rem;letter-spacing:0.16em;color:#0d1729;background:#f4f4f4;padding:6px 14px;border-radius:4px;margin-left:8px;}

@media (max-width: 639px){
    .pf-gift{padding-bottom:60px;}
    .pf-gift-stepper{margin-bottom:34px;}
    .pf-gift-stepper__item{min-width:60px;gap:6px;}
    .pf-gift-stepper__bullet{width:28px;height:28px;font-size:0.82rem;}
    .pf-gift-stepper::before{left:14px;right:14px;top:14px;}
    .pf-gift-stepper__label{font-size:0.62rem;letter-spacing:0.1em;}
    .pf-gift-step__legend{font-size:1.5rem;}
    .pf-gift-amount__chip{padding:12px 20px;font-size:0.95rem;}
    .pf-gift-summary__row{flex-direction:column;gap:4px;}
    .pf-gift-summary__row dt{flex-basis:auto;}
}

/* ============================================================
   BLOG / NOTICIAS (flatpage type=news)
   ============================================================ */
.pf-news-feed{}
.pf-news-feed__grid{margin-top:30px;}
.pf-news-feed__empty{color:#666;font-size:1rem;}
.pf-news-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:10px;}
.pf-news-filter__item{display:inline-flex;align-items:center;padding:10px 20px;border:1px solid rgba(0,0,0,0.15);border-radius:999px;background:#fff;color:#213667;font-family:'articulat-cf',sans-serif;font-size:0.85rem;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
.pf-news-filter__item:hover{background:#f5f6f9;color:#213667;text-decoration:none;}
.pf-news-filter__item--active,.pf-news-filter__item--active:hover{background:#213667;color:#fff;border-color:#213667;}
.pf-news-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;background:#fff;border-radius:8px;overflow:hidden;padding:0 0 22px;height:100%;box-shadow:0 1px 2px rgba(0,0,0,0.04);}
.pf-news-card__media{display:block;width:calc(100% - 0px);aspect-ratio:4/3;overflow:hidden;margin-bottom:18px;}
.pf-news-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s;}
.pf-news-card:hover .pf-news-card__media img{transform:scale(1.04);}
.pf-news-card__category{display:inline-flex;align-self:flex-start;width:auto;margin:0 22px 12px;padding:6px 16px;background:#213667;color:#fff;font-family:'articulat-cf',sans-serif;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;border-radius:999px;line-height:1.2;}
a.pf-news-card__category:hover{background:#1a2b54;color:#fff;text-decoration:none;}
.pf-news-card__title{margin:0 22px 10px;font-size:1.35rem;line-height:1.25;}
.pf-news-card__title a{color:inherit;text-decoration:none;}
.pf-news-card__title a:hover{color:#213667;}
.pf-news-card__desc{margin:0 22px 18px;color:#555;font-size:0.95rem;line-height:1.55;}
.pf-news-card__actions{margin:auto 22px 0;}
.pf-news-card__actions .uk-button.uk-button-secondary{background:transparent;color:#000 !important;border:1px solid rgba(0,0,0,0.4);padding:14px 22px;gap:24px;align-self:flex-start;}
.pf-news-card__actions .uk-button.uk-button-secondary:hover{background:#213667;color:#fff !important;border-color:#213667;}
.pf-news-pagination{margin-top:50px;}
.pf-news-pagination .uk-pagination > *{margin:0 2px;}
.pf-news-pagination .uk-pagination > * > *{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid rgba(0,0,0,0.15);border-radius:6px;color:#213667;font-family:'articulat-cf',sans-serif;font-size:0.9rem;font-weight:500;background:#fff;text-decoration:none;}
.pf-news-pagination .uk-pagination > * > a:hover{background:#f5f6f9;color:#213667;}
.pf-news-pagination .uk-active > *{background:#213667;color:#fff;border-color:#213667;}
.pf-news-pagination .uk-disabled > *{opacity:0.4;}

/* Post detail */
.post .header-image{height:70vh;}
.post .pf-intro{padding:40px;}
.post .pf-intro h1{line-height:1;}
.post .pf-intro h1 span{display:block;}
.pf-post-intro{text-align:center;}
.pf-post-category-wrap{display:flex;justify-content:center;margin-bottom:18px;}
.pf-intro-text a.pf-post-category,.pf-post-category{display:inline-flex;align-items:center;padding:8px 18px;background:#213667;color:#fff !important;font-family:'articulat-cf',sans-serif;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none !important;border-radius:999px;line-height:1.2;}
.pf-intro-text a.pf-post-category:hover{background:#1a2b54;color:#fff !important;text-decoration:none !important;}
.pf-post-subtitle{color:#555;font-size:1.05rem;margin:0 auto 18px;max-width:680px;}
.pf-post-back{padding:30px 0 60px;}

@media (max-width: 767px){
    .pf-news-card__title{font-size:1.2rem;margin:0 18px 8px;}
    .pf-news-card__category{margin:0 18px 10px;}
    .pf-news-card__desc{margin:0 18px 16px;}
    .pf-news-card__actions{margin:auto 18px 0;}
    .pf-news-pagination .uk-pagination > * > *{min-width:34px;height:34px;font-size:0.85rem;}
}

/* ---- Room reservation modal ---- */
.pf-reserva-modal .uk-modal-dialog.pf-reserva-modal__dialog{width:640px;max-width:calc(100vw - 30px);padding:38px 40px;border-radius:0;}
.pf-reserva-modal__title{font-family:'articulat-cf',sans-serif;font-weight:700;font-size:1.5rem;line-height:1.15;margin:0 0 2px;color:#213667;}
.pf-reserva-modal__hotel{font-family:'articulat-cf',sans-serif;font-size:0.92rem;color:#555;margin:0 0 16px;}
/* Tighten the form: override the global .pf-form--underline gap:32px and
   drop the stacked per-row margin so fields sit close together. */
.pf-reserva-modal .pf-form.pf-form--underline{gap:14px;}
.pf-reserva-modal .pf-form__row{margin-bottom:0;}
.pf-reserva-modal .pf-form--underline .pf-form__row,
.pf-reserva-modal .pf-form--underline .pf-form__row--two-cols > div{padding-bottom:4px;}
.pf-reserva-modal .pf-form--underline .pf-form__row--two-cols{gap:24px;}
.pf-reserva-modal .pf-form__label{font-size:0.88rem;}
.pf-reserva-modal .pf-form__input[readonly]{background:transparent;cursor:default;}
.pf-reserva-stepper{display:flex;align-items:center;gap:14px;border:0;padding:6px 0;background:transparent;margin-top:2px;}
.pf-reserva-stepper__btn{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #213667;background:#fff;color:#213667;font-size:1.1rem;line-height:1;cursor:pointer;border-radius:8px;transition:background .15s,color .15s;}
.pf-reserva-stepper__btn:hover{background:#213667;color:#fff;}
.pf-reserva-stepper__val{flex:1;text-align:center;font-family:'articulat-cf',sans-serif;font-weight:600;font-size:1rem;color:#1a1a1a;}
.pf-reserva-stepper__hint{display:inline;font-weight:400;font-size:0.72rem;color:#888;text-transform:none;letter-spacing:0;}
/* The global rule pulls consecutive inline rows up by -20px (tuned for the
   old 32px gap); with the tighter gap here that overlaps the checkboxes. */
.pf-reserva-modal .pf-form--underline .pf-form__row--inline + .pf-form__row--inline{margin-top:6px;}
.pf-reserva-modal .pf-form__row--actions{margin-top:8px;}
@media (max-width: 639px){
    .pf-reserva-modal .uk-modal-dialog.pf-reserva-modal__dialog{padding:28px 22px;}
    .pf-reserva-modal__title{font-size:1.35rem;}
}
