/*
Theme Name: Andorra Park V236 (Formularios)
Theme URI: https://example.com/
Author: Custom Build
Description: Tema personalizado generado a partir del sitio estático Andorra Park Hotel. Incluye plantillas por página y assets separados.
Version: 228.34
License: GPL-2.0-or-later
Text Domain: andorra-park-custom-theme-v228
*/

/* V20 WooCommerce dynamic pages and floating cart */
.andorra-wc-page-shell {
  background: #F8F2F2;
  color: #111;
  min-height: 70vh;
  padding: 150px 5vw 100px;
  font-family: 'Lato', sans-serif;
}
.andorra-wc-page-inner { max-width: 1280px; margin: 0 auto; }
.andorra-wc-page-kicker { display:block; color:#bfa37c; letter-spacing:4px; text-transform:uppercase; font-size:.68rem; font-weight:700; margin-bottom:18px; }
.andorra-wc-page-title { font-family:'Playfair Display', serif; font-size:clamp(3rem,7vw,6.5rem); font-weight:400; line-height:1; margin:0 0 24px; }
.andorra-wc-page-copy { max-width:720px; color:#555; line-height:1.8; font-size:1rem; margin-bottom:48px; }
.andorra-wc-box { background:#fff; padding:clamp(24px,4vw,56px); box-shadow:0 24px 70px rgba(0,0,0,.05); }
.andorra-wc-box .woocommerce { width:100%; }
.andorra-wc-box table.shop_table { border:0 !important; border-collapse:collapse; width:100%; }
.andorra-wc-box table.shop_table th { font-size:.7rem; text-transform:uppercase; letter-spacing:2px; color:#777; border-bottom:1px solid rgba(0,0,0,.12); padding:18px 12px; }
.andorra-wc-box table.shop_table td { border-top:1px solid rgba(0,0,0,.08); padding:22px 12px; vertical-align:middle; }
.andorra-wc-box .button,
.andorra-wc-box button.button,
.andorra-wc-box input.button,
.andorra-wc-box #place_order,
.andorra-wc-box .woocommerce-button,
.andorra-wc-box .wc-forward {
  background:#111 !important; color:#fff !important; border:1px solid #111 !important;
  border-radius:0 !important; padding:16px 28px !important; text-transform:uppercase;
  letter-spacing:2.5px; font-size:.72rem; font-weight:700; transition:.3s ease;
}
.andorra-wc-box .button:hover,
.andorra-wc-box button.button:hover,
.andorra-wc-box input.button:hover,
.andorra-wc-box #place_order:hover { background:#bfa37c !important; border-color:#bfa37c !important; }
.andorra-wc-box input.input-text,
.andorra-wc-box textarea,
.andorra-wc-box select,
.andorra-wc-box .select2-selection {
  border:0 !important; border-bottom:1px solid rgba(0,0,0,.22) !important; border-radius:0 !important;
  background:transparent !important; padding:12px 0 !important; min-height:46px !important;
}
.andorra-wc-box .woocommerce-notices-wrapper .woocommerce-message,
.andorra-wc-box .woocommerce-info,
.andorra-wc-box .woocommerce-error { border-top-color:#bfa37c; background:#f9f7f2; }
.andorra-wc-box .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0 0 30px; display:flex; flex-wrap:wrap; gap:10px; }
.andorra-wc-box .woocommerce-MyAccount-navigation a { display:block; padding:12px 16px; background:#f9f7f2; color:#111; text-transform:uppercase; font-size:.68rem; letter-spacing:1.6px; }
.andorra-wc-box .woocommerce-MyAccount-navigation .is-active a { background:#111; color:#fff; }
.andorra-login-clean .woocommerce h2 { font-family:'Playfair Display', serif; font-size:2.4rem; font-weight:400; margin-bottom:24px; }
.andorra-login-clean .u-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
.andorra-login-clean .u-column1, .andorra-login-clean .u-column2 { width:100% !important; max-width:none !important; float:none !important; background:#fff; padding:42px; box-shadow:0 24px 70px rgba(0,0,0,.05); }

.andorra-floating-cart {
  position:fixed; right:24px; bottom:24px; width:62px; height:62px; border-radius:50%; border:1px solid rgba(255,255,255,.22);
  background:#111; color:#fff; display:flex; align-items:center; justify-content:center; z-index:9998;
  box-shadow:0 18px 44px rgba(0,0,0,.25); cursor:pointer;
}
.andorra-floating-cart i { font-size:1.1rem; }
.andorra-floating-cart-count { position:absolute; right:-4px; top:-4px; min-width:22px; height:22px; border-radius:50%; background:#bfa37c; color:#fff; font-size:.72rem; display:flex; align-items:center; justify-content:center; font-weight:700; }
.andorra-cart-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.42); opacity:0; visibility:hidden; transition:.3s ease; z-index:9996; }
.andorra-cart-drawer { position:fixed; top:0; right:0; width:min(440px,92vw); height:100vh; background:#fff; color:#111; transform:translateX(105%); transition:transform .42s cubic-bezier(.22,1,.36,1); z-index:9997; box-shadow:-30px 0 80px rgba(0,0,0,.20); display:flex; flex-direction:column; }
.andorra-cart-backdrop.is-open { opacity:1; visibility:visible; }
.andorra-cart-drawer.is-open { transform:translateX(0); }
.andorra-cart-drawer-head { height:86px; padding:0 28px; border-bottom:1px solid rgba(0,0,0,.08); display:flex; align-items:center; justify-content:space-between; font-family:'Playfair Display', serif; font-size:1.8rem; }
.andorra-cart-close { border:0; background:transparent; color:#111; font-size:1.1rem; cursor:pointer; }
.andorra-cart-notice { margin:18px 24px 0; padding:12px 16px; background:#f4efe7; color:#111; font-size:.82rem; letter-spacing:.5px; }
.andorra-cart-drawer-content { padding:24px; overflow:auto; flex:1; }
.andorra-cart-empty { text-align:center; padding:48px 10px; color:#555; }
.andorra-cart-items { display:flex; flex-direction:column; gap:20px; }
.andorra-cart-item { display:grid; grid-template-columns:82px 1fr; gap:16px; align-items:start; }
.andorra-cart-item-img { display:block; width:82px; height:96px; background:#f4f4f4; overflow:hidden; }
.andorra-cart-item-img img { width:100%; height:100%; object-fit:cover; display:block; }
.andorra-cart-item-title { display:block; color:#111; font-family:'Playfair Display', serif; font-size:1.18rem; line-height:1.2; margin-bottom:8px; }
.andorra-cart-item-meta { color:#777; font-size:.84rem; margin-bottom:8px; }
.andorra-cart-item-line { color:#bfa37c; font-weight:700; }
.andorra-cart-drawer-total { display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(0,0,0,.10); margin-top:24px; padding-top:22px; font-size:1rem; }
.andorra-cart-drawer-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px; }
.andorra-cart-btn { display:flex; align-items:center; justify-content:center; background:#111; color:#fff !important; min-height:48px; padding:12px 16px; text-transform:uppercase; letter-spacing:2px; font-size:.68rem; font-weight:700; }
.andorra-cart-btn-light { background:#f4efe7; color:#111 !important; }

.andorra-add-cart-form .single_add_to_cart_button.loading,
.ajax_add_to_cart.loading { opacity:.6; pointer-events:none; }
.andorra-wc-product-card .ajax_add_to_cart.added::after { content:' ✓'; }

@media (max-width: 767.98px) {
  .andorra-wc-page-shell { padding:110px 18px 70px; }
  .andorra-wc-page-title { font-size:3rem; }
  .andorra-wc-box { padding:22px 16px; }
  .andorra-login-clean .u-columns { grid-template-columns:1fr; gap:24px; }
  .andorra-login-clean .u-column1, .andorra-login-clean .u-column2 { padding:26px 18px; }
  .andorra-wc-box table.shop_table th, .andorra-wc-box table.shop_table td { padding:14px 8px; font-size:.85rem; }
  .andorra-floating-cart { width:56px; height:56px; right:16px; bottom:16px; }
  .andorra-cart-drawer-head { height:74px; padding:0 20px; }
  .andorra-cart-drawer-content { padding:20px; }
}


/* V21: CTA único en sección Experiencias y logo navbar enlazado */
.experiences-cta-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 44px 5% 0;
}
.experiences-main-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  padding: 18px 42px;
  border: 1px solid rgba(255,255,255,0.22);
  color: #fff !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none !important;
  background: rgba(255,255,255,0.04);
  transition: all 0.35s ease;
}
.experiences-main-cta:hover {
  background: #fff;
  color: #111 !important;
  border-color: #fff;
}
.experiences-list-sec .hover-item { cursor: default !important; }
.nav-center a.nav-logo-home-link,
.nav-center a.mobile-logo-home-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
@media (max-width: 768px) {
  .experiences-cta-wrap { justify-content: flex-start; padding: 34px 22px 0; }
  .experiences-main-cta { width: 100%; min-width: 0; padding: 16px 24px; }
}


/* V25 additions */
.andorra-product-card .andorra-voucher-badge,.product .andorra-voucher-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;margin-bottom:14px;border:1px solid rgba(191,163,124,.35);color:#bfa37c;letter-spacing:2px;font-size:.62rem;text-transform:uppercase;font-weight:700}.andorra-floating-cart{z-index:9998!important}


/* V37 language selector clickable hard fix */
.dropdown-menu[data-andorra-lang-menu="true"],
.dropdown-menu[data-andorra-lang-menu="true"] *,
a[data-lang],
a[data-andorra-lang-label] {
  pointer-events: auto !important;
}
.dropdown-menu[data-andorra-lang-menu="true"] a {
  cursor: pointer !important;
}


/* V39: Anchor target for small hotel icon in navbar */
#el-primer-iconico-cinco-estrellas {
  scroll-margin-top: 120px;
}
.nav-small-hotel-anchor {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.nav-small-hotel-anchor img {
  display: block;
}


/* V42 - Mega menu fixed local image fallback */
.overlay-menu .menu-image-container {
  background: #e6e2dc url('assets/static/menu-fixed.jpg') center center / cover no-repeat !important;
}
.overlay-menu .menu-image-container img#menuImage {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  opacity: 1 !important;
  color: transparent !important;
  font-size: 0 !important;
}


/* V46 - Voucher Coupon individual product template */
.andorra-voucher-single-page{background:#F8F2F2;color:#111;font-family:'Lato',sans-serif;overflow:hidden}.andorra-voucher-single-hero{position:relative;min-height:72vh;background:#050505;display:flex;align-items:flex-end;overflow:hidden;padding:160px 5vw 80px}.andorra-voucher-single-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transform:scale(1.02)}.andorra-voucher-single-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.42),rgba(0,0,0,.68)),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.76));z-index:1}.andorra-voucher-single-hero-content{position:relative;z-index:2;width:min(1180px,90vw);color:#fff}.andorra-voucher-kicker{display:inline-block;color:#c5b097;text-transform:uppercase;letter-spacing:4px;font-size:.68rem;font-weight:700;margin-bottom:18px}.andorra-voucher-single-hero h1{font-family:'Playfair Display',serif;font-size:clamp(3.4rem,7vw,7rem);font-weight:400;line-height:.95;letter-spacing:-.05em;margin:0 0 22px}.andorra-voucher-single-hero p{max-width:680px;color:rgba(255,255,255,.84);font-size:1.05rem;line-height:1.85;margin:0}.andorra-voucher-single-shell{padding:110px 5vw 130px;background:#F8F2F2}.andorra-voucher-single-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:70px;align-items:start}.andorra-voucher-gallery{background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.06)}.andorra-voucher-main-image{aspect-ratio:4/3;background:#e8e4dc;overflow:hidden}.andorra-voucher-main-image img{width:100%;height:100%;object-fit:cover;display:block}.andorra-voucher-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px}.andorra-voucher-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;cursor:pointer;opacity:.72;transition:.25s ease}.andorra-voucher-thumbs img.active,.andorra-voucher-thumbs img:hover{opacity:1}.andorra-voucher-info{background:#fff;padding:clamp(34px,4.5vw,64px);box-shadow:0 24px 70px rgba(0,0,0,.05);position:sticky;top:110px}.andorra-voucher-info h2{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,4.8vw,5.2rem);line-height:.98;font-weight:400;letter-spacing:-.05em;margin:0 0 22px}.andorra-voucher-price{font-family:'Playfair Display',serif;font-size:2rem;color:#bfa37c;display:block;margin-bottom:28px}.andorra-voucher-copy{color:#555;line-height:1.9;margin-bottom:36px}.andorra-voucher-form .quantity{display:inline-flex;align-items:center;margin-right:14px}.andorra-voucher-form input.qty{width:76px;height:54px;border:1px solid rgba(0,0,0,.12);text-align:center;background:#F8F2F2}.andorra-voucher-add{min-height:54px;background:#111!important;color:#fff!important;border:1px solid #111!important;border-radius:0!important;padding:0 34px!important;text-transform:uppercase;letter-spacing:2.4px;font-size:.68rem!important;font-weight:700!important}.andorra-voucher-add:hover{background:#bfa37c!important;border-color:#bfa37c!important}.andorra-voucher-details{max-width:1320px;margin:80px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}.andorra-voucher-detail{padding:34px 28px;border-right:1px solid rgba(0,0,0,.08)}.andorra-voucher-detail:last-child{border-right:0}.andorra-voucher-detail strong{display:block;color:#bfa37c;font-family:'Playfair Display',serif;font-weight:400;margin-bottom:8px}.andorra-voucher-detail span{text-transform:uppercase;letter-spacing:2px;font-size:.74rem;font-weight:700;color:#333}.andorra-voucher-related{padding:0 5vw 120px;background:#fff}.andorra-voucher-related-inner{max-width:1320px;margin:0 auto}.andorra-voucher-related h2{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5vw,5.6rem);font-weight:400;line-height:1;margin:0 0 50px}.andorra-voucher-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.andorra-voucher-related-card{display:block;background:#F8F2F2;text-decoration:none;color:#111;border:1px solid rgba(0,0,0,.06);transition:.3s ease;overflow:hidden}.andorra-voucher-related-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.08)}.andorra-voucher-related-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.andorra-voucher-related-card div{padding:26px}.andorra-voucher-related-card h3{font-family:'Playfair Display',serif;font-size:2rem;margin:0 0 10px}.andorra-voucher-related-card span{color:#bfa37c;font-family:'Playfair Display',serif;font-size:1.2rem}.voucher-card-title-link{color:inherit;text-decoration:none}.voucher-card-title-link:hover{color:#bfa37c}.voucher-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.voucher-view-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;background:transparent;color:#111!important;text-decoration:none;text-transform:uppercase;letter-spacing:2px;font-size:.64rem;font-weight:700;border:1px solid rgba(0,0,0,.18);transition:.3s ease;white-space:nowrap}.voucher-view-btn:hover{background:#111;color:#fff!important;border-color:#111}@media(max-width:991.98px){.andorra-voucher-single-hero{min-height:62svh;padding:120px 24px 60px}.andorra-voucher-single-grid{grid-template-columns:1fr;gap:34px}.andorra-voucher-single-shell{padding:70px 22px 90px}.andorra-voucher-info{position:relative;top:auto;padding:32px 24px}.andorra-voucher-form .quantity{display:block;margin:0 0 14px}.andorra-voucher-form input.qty{width:100%}.andorra-voucher-add{width:100%;justify-content:center}.andorra-voucher-details{grid-template-columns:1fr;margin-top:46px}.andorra-voucher-detail{border-right:0;border-bottom:1px solid rgba(0,0,0,.08);padding:28px 0}.andorra-voucher-detail:last-child{border-bottom:0}.andorra-voucher-related{padding:0 22px 86px}.andorra-voucher-related-grid{grid-template-columns:1fr}.andorra-voucher-thumbs{grid-template-columns:repeat(3,1fr)}.voucher-card-actions{width:100%}.voucher-card-actions .voucher-add-btn,.voucher-card-actions .voucher-view-btn{width:100%}}

/* V49 Voucher Coupon functional page — Andorra Park style, not a copied reference */
.andorra-voucher-functional-page { background:#F8F2F2; color:#111; font-family:'Lato', sans-serif; overflow:hidden; }
.avf-hero-spacer { height:96px; background:#050505; }
.avf-product-shell { max-width:1380px; margin:0 auto; padding:90px 5vw 70px; }
.avf-product-grid { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(390px, .75fr); gap:72px; align-items:start; }
.avf-media-column { display:grid; gap:24px; }
.avf-main-image-card { background:#efe9e6; min-height:560px; overflow:hidden; box-shadow:0 30px 90px rgba(0,0,0,.08); }
.avf-main-image-card img { width:100%; height:100%; min-height:560px; object-fit:cover; display:block; }
.avf-thumbnails { display:flex; gap:12px; overflow-x:auto; padding-bottom:4px; }
.avf-thumb { width:92px; height:78px; border:1px solid transparent; padding:0; background:transparent; cursor:pointer; flex:0 0 auto; opacity:.65; transition:.25s ease; }
.avf-thumb.active, .avf-thumb:hover { opacity:1; border-color:#bfa37c; }
.avf-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.avf-info-card, .avf-delivery-card { background:#fff; padding:28px 32px; box-shadow:0 16px 48px rgba(0,0,0,.05); }
.avf-info-card span, .avf-delivery-card span, .avf-kicker { display:block; color:#9d7b52; text-transform:uppercase; letter-spacing:3px; font-size:.68rem; font-weight:700; margin-bottom:12px; }
.avf-info-card strong { font-weight:400; color:#4f4a47; }
.avf-days { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; }
.avf-days b { background:#bfa37c; color:#fff; padding:7px 10px; font-size:.65rem; letter-spacing:.5px; font-weight:700; }
.avf-delivery-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.avf-delivery-options label { border:1px solid rgba(0,0,0,.08); padding:18px 16px; display:flex; flex-direction:column; gap:10px; align-items:flex-start; cursor:pointer; background:#faf8f6; transition:.25s ease; }
.avf-delivery-options label:hover { border-color:#bfa37c; background:#fff; }
.avf-delivery-options input { accent-color:#9d7b52; }
.avf-delivery-options i { font-size:1.45rem; color:#9d7b52; }
.avf-purchase-panel { position:sticky; top:110px; background:#fff; padding:54px 52px; box-shadow:0 28px 90px rgba(0,0,0,.07); }
.avf-purchase-panel h1 { font-family:'Playfair Display', serif; font-size:clamp(2.5rem, 4vw, 4.8rem); line-height:.98; letter-spacing:-.04em; font-weight:400; margin:0 0 24px; }
.avf-short-copy { color:#5c5754; line-height:1.85; margin-bottom:26px; }
.avf-readmore { border:0; background:none; padding:0 0 8px; border-bottom:1px solid rgba(157,123,82,.35); color:#9d7b52; letter-spacing:1.5px; font-size:.72rem; text-transform:uppercase; font-weight:700; cursor:pointer; margin-bottom:32px; }
.avf-cart-form { display:grid; gap:20px; }
.avf-field-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:18px; border-top:1px solid rgba(0,0,0,.08); }
.avf-field-row label, .avf-qty-row span { color:#777; text-transform:uppercase; letter-spacing:2px; font-size:.66rem; font-weight:700; }
.avf-field-row select, .avf-personalization-mini input, .avf-personalization-mini textarea { width:100%; border:1px solid rgba(0,0,0,.12); background:#F8F2F2; min-height:48px; padding:12px 14px; outline:none; color:#111; }
.avf-personalization-mini { display:grid; gap:14px; }
.avf-personalization-mini label { display:grid; gap:8px; color:#777; text-transform:uppercase; letter-spacing:2px; font-size:.62rem; font-weight:700; }
.avf-price-row { display:flex; align-items:flex-end; gap:12px; margin-top:8px; }
.avf-price-row span { font-family:'Playfair Display', serif; font-size:3rem; line-height:1; color:#4f4a47; }
.avf-price-row small { color:#777; padding-bottom:7px; }
.avf-qty-row { display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(0,0,0,.08); padding-top:18px; }
.avf-qty-row .quantity { display:inline-flex; align-items:center; }
.avf-qty-row input.qty { width:76px; min-height:46px; border:1px solid rgba(0,0,0,.14); text-align:center; }
.avf-total-row { display:flex; align-items:center; justify-content:space-between; padding:18px 0; border-top:1px solid rgba(0,0,0,.08); border-bottom:1px solid rgba(0,0,0,.08); }
.avf-total-row span { color:#777; letter-spacing:2px; text-transform:uppercase; font-size:.66rem; font-weight:700; }
.avf-total-row strong { font-family:'Playfair Display', serif; font-size:2rem; font-weight:400; }
.avf-add-button, .avf-summary-action { width:100%; min-height:58px; border:1px solid #111 !important; background:#111 !important; color:#fff !important; text-transform:uppercase; letter-spacing:2.5px; font-size:.72rem; font-weight:700; border-radius:0 !important; transition:.3s ease; }
.avf-add-button:hover, .avf-summary-action:hover { background:#9d7b52 !important; border-color:#9d7b52 !important; }
.avf-customize-section { padding:90px 5vw 120px; background:#fff; }
.avf-section-head { max-width:860px; margin:0 auto 54px; text-align:center; }
.avf-section-head h2 { font-family:'Playfair Display', serif; font-size:clamp(2.8rem, 5vw, 5.8rem); line-height:1; letter-spacing:-.04em; margin:0 0 20px; font-weight:400; }
.avf-section-head p { color:#666; max-width:680px; margin:0 auto; line-height:1.8; }
.avf-steps { max-width:780px; margin:0 auto 50px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.avf-steps div { border-top:1px solid rgba(0,0,0,.12); padding-top:16px; text-align:center; color:#aaa; text-transform:uppercase; letter-spacing:2px; font-size:.62rem; font-weight:700; }
.avf-steps .active { color:#111; border-color:#9d7b52; }
.avf-steps span { display:block; font-family:'Playfair Display', serif; color:#9d7b52; font-size:1.2rem; margin-bottom:7px; }
.avf-options-layout { max-width:1380px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:44px; align-items:start; }
.avf-addons-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.avf-addon-card { background:#F8F2F2; border:1px solid rgba(0,0,0,.06); display:flex; flex-direction:column; min-height:100%; }
.avf-addon-card img { width:100%; height:190px; object-fit:cover; display:block; }
.avf-addon-body { padding:26px; display:flex; flex-direction:column; gap:14px; flex:1; }
.avf-addon-body h3 { font-family:'Playfair Display', serif; font-size:1.85rem; line-height:1.1; margin:0; font-weight:400; }
.avf-addon-body p { color:#666; line-height:1.65; margin:0; }
.avf-addon-bottom { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.avf-addon-bottom strong { color:#9d7b52; font-size:1.05rem; }
.avf-addon-qty { display:inline-flex; align-items:center; border:1px solid rgba(0,0,0,.12); background:#fff; }
.avf-addon-qty button { width:36px; height:36px; border:0; background:#fff; cursor:pointer; font-size:1.2rem; }
.avf-addon-qty input { width:40px; height:36px; border:0; text-align:center; }
.avf-summary-card { position:sticky; top:110px; background:#111; color:#fff; padding:32px; }
.avf-summary-card > span { display:block; color:#c5b097; letter-spacing:3px; text-transform:uppercase; font-size:.64rem; font-weight:700; margin-bottom:18px; }
.avf-summary-card h3 { font-family:'Playfair Display', serif; font-size:2rem; line-height:1.1; margin:0 0 28px; font-weight:400; }
.avf-summary-line, .avf-summary-extras div, .avf-summary-total { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid rgba(255,255,255,.12); padding:14px 0; }
.avf-summary-line small, .avf-summary-extras small, .avf-summary-total small { color:rgba(255,255,255,.65); }
.avf-summary-total strong { font-family:'Playfair Display', serif; font-size:1.8rem; font-weight:400; }
.avf-summary-action { margin-top:20px; background:#fff !important; color:#111 !important; border-color:#fff !important; }
.avf-details-section { background:#F8F2F2; padding:100px 5vw; }
.avf-details-inner { max-width:980px; margin:0 auto; }
.avf-details-inner h2 { font-family:'Playfair Display', serif; font-size:clamp(2.6rem,5vw,5rem); line-height:1; font-weight:400; margin:0 0 34px; }
.avf-details-copy { background:#fff; padding:44px; line-height:1.85; color:#555; }
.avf-related-section { background:#fff; padding:100px 5vw 130px; }
.avf-related-grid { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.avf-related-card { color:inherit; text-decoration:none; background:#F8F2F2; display:block; }
.avf-related-card img { width:100%; height:260px; object-fit:cover; display:block; }
.avf-related-card div { padding:24px; }
.avf-related-card h3 { font-family:'Playfair Display', serif; font-size:1.8rem; margin:0 0 10px; }
.avf-related-card span { color:#9d7b52; }
@media (max-width: 991.98px) {
  .avf-hero-spacer { height:76px; }
  .avf-product-shell { padding:50px 20px; }
  .avf-product-grid, .avf-options-layout { grid-template-columns:1fr; gap:34px; }
  .avf-main-image-card, .avf-main-image-card img { min-height:360px; }
  .avf-purchase-panel, .avf-summary-card { position:relative; top:auto; padding:34px 24px; }
  .avf-purchase-panel h1 { font-size:clamp(2.4rem, 12vw, 4rem); }
  .avf-delivery-options, .avf-addons-grid, .avf-related-grid { grid-template-columns:1fr; }
  .avf-customize-section, .avf-details-section, .avf-related-section { padding:70px 20px; }
  .avf-steps { grid-template-columns:1fr; }
  .avf-details-copy { padding:28px; }
}


/* V52 - CTA centrado para Meetings y Eventos */
.events-main-cta {
  width: 100%;
  max-width: 1400px;
  margin: 48px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.events-main-cta .events-page-link {
  color: #111;
  min-width: 290px;
  padding: 18px 28px 12px;
  letter-spacing: 3px;
}
.events-main-cta .events-page-link::before {
  background-color: rgba(0,0,0,0.16);
}
@media (max-width: 767.98px) {
  .events-main-cta { margin-top: 34px; padding: 0 18px; }
  .events-main-cta .events-page-link { min-width: 0; width: 100%; max-width: 360px; font-size: .7rem; letter-spacing: 2.4px; }
}


/* V66 Cookie Consent Premium Popup */
.andorra-cookie-consent {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding: clamp(18px, 3vw, 42px);
  pointer-events: none;
  font-family: 'Lato', sans-serif;
  isolation: isolate;
}
.andorra-cookie-consent.is-visible { display: flex; }
.andorra-cookie-consent::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(191,163,124,.18), transparent 34%),
    radial-gradient(circle at 82% 82%, rgba(255,255,255,.08), transparent 32%),
    rgba(0,0,0,.46);
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: auto;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.andorra-cookie-consent.is-visible::before { opacity: 1; }
.andorra-cookie-card {
  position: relative;
  width: min(980px, 100%);
  background: #F8F2F2;
  color: #111;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 34px 110px rgba(0,0,0,.42);
  padding: 0;
  pointer-events: auto;
  display: grid;
  grid-template-columns: minmax(220px, .48fr) minmax(0, 1fr);
  overflow: hidden;
  transform: translateY(28px) scale(.985);
  opacity: 0;
  transition: transform .42s cubic-bezier(.22,1,.36,1), opacity .32s ease;
}
.andorra-cookie-consent.is-visible .andorra-cookie-card { transform: translateY(0) scale(1); opacity: 1; }
.andorra-cookie-card::before {
  content: '';
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(17,17,17,.07);
  pointer-events: none;
  z-index: 2;
}
.andorra-cookie-visual {
  position: relative;
  min-height: 260px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.72)),
    url('https://www.andorraparkhotel.com/media/uploads/galeriahoteles/andorra-park-fachada-.jpg?q=pr:sharp/rs:fill/mw:900/h:900/g:ce/f:jpg') center/cover no-repeat;
}
.andorra-cookie-visual span {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 30px;
  color: rgba(255,255,255,.82);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: 3px;
  line-height: 1.5;
  text-transform: uppercase;
}
.andorra-cookie-content {
  position: relative;
  z-index: 3;
  padding: clamp(30px, 4vw, 48px);
}
.andorra-cookie-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #9a7c58;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.andorra-cookie-kicker::before {
  content: '';
  width: 34px;
  height: 1px;
  background: #9a7c58;
}
.andorra-cookie-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.05rem, 4.2vw, 4.1rem);
  line-height: .98;
  font-weight: 400;
  letter-spacing: -.045em;
  margin: 0 0 18px;
  color: #111;
}
.andorra-cookie-text {
  color: #555;
  font-size: .96rem;
  line-height: 1.82;
  margin: 0;
  max-width: 660px;
}
.andorra-cookie-text a {
  color: #111;
  border-bottom: 1px solid rgba(154,124,88,.65);
  text-decoration: none;
  transition: color .24s ease, border-color .24s ease;
}
.andorra-cookie-text a:hover { color: #9a7c58; border-color: #9a7c58; }
.andorra-cookie-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.andorra-cookie-btn {
  min-height: 50px;
  padding: 0 24px;
  border-radius: 0;
  border: 1px solid rgba(17,17,17,.14);
  background: rgba(255,255,255,.55);
  color: #111;
  font-family: 'Lato', sans-serif;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .28s ease;
}
.andorra-cookie-btn:hover {
  border-color: #9a7c58;
  color: #9a7c58;
  transform: translateY(-1px);
}
.andorra-cookie-btn.accept {
  background: #111;
  border-color: #111;
  color: #fff;
  min-width: 190px;
}
.andorra-cookie-btn.accept:hover {
  background: #9a7c58;
  border-color: #9a7c58;
  color: #fff;
}
.andorra-cookie-link-btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #555;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid rgba(154,124,88,.55);
  transition: color .24s ease, border-color .24s ease;
}
.andorra-cookie-link-btn:hover { color: #9a7c58; border-color: #9a7c58; }
body.andorra-cookie-modal-open { overflow: hidden !important; }
@media (max-width: 840px) {
  .andorra-cookie-consent { align-items: flex-end; padding: 12px; }
  .andorra-cookie-card { grid-template-columns: 1fr; width: min(620px, 100%); max-height: calc(100vh - 24px); overflow-y: auto; }
  .andorra-cookie-card::before { inset: 12px; }
  .andorra-cookie-visual { min-height: 150px; }
  .andorra-cookie-visual span { left: 24px; right: 24px; bottom: 22px; }
  .andorra-cookie-content { padding: 30px 22px 24px; }
  .andorra-cookie-actions { display: grid; grid-template-columns: 1fr; }
  .andorra-cookie-btn, .andorra-cookie-link-btn { width: 100%; }
}
@media (max-width: 420px) {
  .andorra-cookie-title { font-size: 2rem; }
  .andorra-cookie-text { font-size: .92rem; }
}

/* =========================================================
   v70 - Correccion global de cursor
   Desactiva el cursor personalizado que ocultaba el puntero
   nativo en algunas secciones y restaura cursores estandar.
   ========================================================= */
html,
body,
body * {
  cursor: auto !important;
}

a,
button,
[role="button"],
[type="button"],
[type="submit"],
[type="reset"],
.nav-link,
.dropdown-toggle,
.close-btn-box,
.menu-toggle,
.hamburger,
.gallery-item,
.gallery-card,
.room-card,
.product-card,
.avf-thumb,
.andorra-floating-cart,
.andorra-cart-close,
.voucher-view-btn,
.voucher-add-btn,
.ajax_add_to_cart,
.add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  cursor: pointer !important;
}

input,
textarea,
[contenteditable="true"] {
  cursor: text !important;
}

.cursor-dot,
.cursor-outline {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* V86: tamaño normal del logo principal centrado en la barra de navegación */
@media (min-width: 992px) {
  .custom-navbar .nav-center,
  nav.custom-navbar .nav-center {
    max-width: 340px !important;
    width: auto !important;
    overflow: visible !important;
  }
  .custom-navbar .nav-center > a.nav-logo-home-link,
  nav.custom-navbar .nav-center > a.nav-logo-home-link {
    max-width: 340px !important;
    width: auto !important;
    height: 80px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .custom-navbar .nav-center > a.nav-logo-home-link img,
  nav.custom-navbar .nav-center > a.nav-logo-home-link img {
    width: auto !important;
    max-width: 320px !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    display: block !important;
  }
  .custom-navbar.scrolled .nav-center > a.nav-logo-home-link,
  nav.custom-navbar.scrolled .nav-center > a.nav-logo-home-link {
    height: 64px !important;
  }
  .custom-navbar.scrolled .nav-center > a.nav-logo-home-link img,
  nav.custom-navbar.scrolled .nav-center > a.nav-logo-home-link img {
    max-width: 280px !important;
    max-height: 28px !important;
  }
}
@media (min-width: 992px) and (max-width: 1280px) {
  .custom-navbar .nav-center,
  nav.custom-navbar .nav-center,
  .custom-navbar .nav-center > a.nav-logo-home-link,
  nav.custom-navbar .nav-center > a.nav-logo-home-link {
    max-width: 280px !important;
  }
  .custom-navbar .nav-center > a.nav-logo-home-link img,
  nav.custom-navbar .nav-center > a.nav-logo-home-link img {
    max-width: 260px !important;
    max-height: 30px !important;
  }
}


/* V134 - Rediseño premium página individual de cupones */
.andorra-voucher-functional-page.is-voucher-product{
  background:linear-gradient(180deg,#0d0d0d 0,#0d0d0d 96px,#f8f2f2 96px,#f8f2f2 100%)!important;
  color:#111!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-hero-spacer{
  height:96px!important;
  background:#0d0d0d!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-product-shell{
  max-width:1440px!important;
  padding:clamp(56px,7vw,92px) 5vw clamp(58px,6vw,88px)!important;
  position:relative!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-product-shell::before{
  content:''!important;
  position:absolute!important;
  inset:0 0 auto!important;
  height:54%!important;
  background:radial-gradient(circle at 18% 20%,rgba(191,163,124,.12),transparent 30%),linear-gradient(180deg,#111 0%,#171411 36%,#f8f2f2 100%)!important;
  pointer-events:none!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-product-grid{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(380px,.72fr)!important;
  gap:clamp(34px,5vw,78px)!important;
  align-items:start!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-media-column{
  gap:18px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-main-image-card{
  position:relative!important;
  min-height:clamp(480px,48vw,680px)!important;
  background:#e6ded5!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 42px 110px rgba(0,0,0,.22)!important;
  overflow:hidden!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-main-image-card::before{
  content:'Gift Voucher'!important;
  position:absolute!important;
  top:24px!important;
  left:24px!important;
  z-index:3!important;
  background:rgba(13,13,13,.82)!important;
  color:#fff!important;
  padding:12px 15px!important;
  text-transform:uppercase!important;
  letter-spacing:2.4px!important;
  font-size:.58rem!important;
  font-weight:900!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-main-image-card::after{
  content:''!important;
  position:absolute!important;
  inset:22px!important;
  border:1px solid rgba(255,255,255,.32)!important;
  pointer-events:none!important;
  z-index:2!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-main-image-card img{
  min-height:clamp(480px,48vw,680px)!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(.96) contrast(1.02)!important;
  transition:transform 1.15s cubic-bezier(.22,1,.36,1), filter .5s ease!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-main-image-card:hover img{
  transform:scale(1.035)!important;
  filter:saturate(1.02) contrast(1.04)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-thumbnails{
  background:#fff!important;
  padding:12px!important;
  box-shadow:0 16px 44px rgba(0,0,0,.055)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-thumb{
  width:88px!important;
  height:76px!important;
  opacity:.58!important;
  border:1px solid rgba(0,0,0,.08)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-thumb.active,
.andorra-voucher-functional-page.is-voucher-product .avf-thumb:hover{
  opacity:1!important;
  border-color:#9d7b52!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-info-card,
.andorra-voucher-functional-page.is-voucher-product .avf-delivery-card{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(0,0,0,.055)!important;
  box-shadow:0 18px 56px rgba(0,0,0,.05)!important;
  padding:24px 26px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-info-card span,
.andorra-voucher-functional-page.is-voucher-product .avf-delivery-card span,
.andorra-voucher-functional-page.is-voucher-product .avf-kicker{
  color:#a48761!important;
  letter-spacing:3.2px!important;
  font-size:.58rem!important;
  font-weight:900!important;
  margin-bottom:12px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-info-card strong{
  font-size:.98rem!important;
  line-height:1.55!important;
  color:#2f2b27!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-days{
  gap:7px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-days b{
  background:#111!important;
  color:#fff!important;
  padding:7px 9px!important;
  font-size:.58rem!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-delivery-options{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-delivery-options label{
  background:#f8f2f2!important;
  border-color:rgba(0,0,0,.07)!important;
  padding:16px 14px!important;
  min-height:104px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-delivery-options label:hover{
  background:#fff!important;
  border-color:rgba(157,123,82,.45)!important;
  transform:translateY(-2px)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-delivery-options strong{
  font-size:.72rem!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
  letter-spacing:1.3px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-purchase-panel{
  position:sticky!important;
  top:104px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(0,0,0,.065)!important;
  box-shadow:0 42px 120px rgba(0,0,0,.16)!important;
  padding:clamp(34px,4.2vw,52px)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-purchase-panel::before{
  content:''!important;
  display:block!important;
  width:68px!important;
  height:1px!important;
  background:#bfa37c!important;
  margin:0 0 20px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-purchase-panel h1{
  font-size:clamp(2.15rem,3.05vw,3.45rem)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  margin:0 0 18px!important;
  max-width:560px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-short-copy{
  color:#5c5752!important;
  font-size:.98rem!important;
  line-height:1.78!important;
  margin-bottom:22px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-short-copy p{
  margin-bottom:0!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-readmore{
  color:#8c6e4d!important;
  border-bottom-color:rgba(140,110,77,.35)!important;
  font-size:.61rem!important;
  letter-spacing:1.8px!important;
  margin-bottom:26px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-cart-form{
  gap:16px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-field-row{
  background:#f8f2f2!important;
  border:1px solid rgba(0,0,0,.06)!important;
  padding:16px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-field-row label,
.andorra-voucher-functional-page.is-voucher-product .avf-qty-row span,
.andorra-voucher-functional-page.is-voucher-product .avf-total-row span{
  font-size:.58rem!important;
  letter-spacing:2.2px!important;
  color:#777!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-field-row select,
.andorra-voucher-functional-page.is-voucher-product .avf-personalization-mini input,
.andorra-voucher-functional-page.is-voucher-product .avf-personalization-mini textarea{
  background:#fff!important;
  border-color:rgba(0,0,0,.105)!important;
  min-height:46px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-personalization-mini{
  background:#fbf8f6!important;
  border:1px solid rgba(0,0,0,.055)!important;
  padding:16px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-personalization-mini label{
  font-size:.56rem!important;
  letter-spacing:2px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-price-row{
  margin-top:4px!important;
  padding-top:18px!important;
  border-top:1px solid rgba(0,0,0,.08)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-price-row span{
  font-size:clamp(2rem,3vw,2.55rem)!important;
  color:#111!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-price-row small{
  font-size:.72rem!important;
  color:#8a827b!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-qty-row{
  padding:16px 0!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-qty-row input.qty{
  width:70px!important;
  min-height:44px!important;
  background:#fff!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-total-row{
  padding:16px 0!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-total-row strong{
  font-size:1.55rem!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-add-button{
  min-height:56px!important;
  letter-spacing:2.2px!important;
  font-size:.66rem!important;
  margin-top:2px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-customize-section{
  background:#fff!important;
  padding:clamp(72px,7vw,106px) 5vw!important;
  position:relative!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-section-head{
  max-width:780px!important;
  margin-bottom:42px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-section-head h2,
.andorra-voucher-functional-page.is-voucher-product .avf-details-inner h2{
  font-size:clamp(2.05rem,3.4vw,3.65rem)!important;
  line-height:1.05!important;
  letter-spacing:-.038em!important;
  margin-bottom:18px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-section-head p{
  font-size:.98rem!important;
  line-height:1.75!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-steps{
  max-width:720px!important;
  margin-bottom:38px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-steps div{
  font-size:.56rem!important;
  letter-spacing:2px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-options-layout{
  max-width:1320px!important;
  grid-template-columns:minmax(0,1fr) 330px!important;
  gap:34px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-addons-grid{
  gap:22px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-addon-card{
  background:#f8f2f2!important;
  border:1px solid rgba(0,0,0,.055)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.045)!important;
  transition:transform .3s ease, box-shadow .3s ease!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-addon-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.075)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-addon-card img{
  height:178px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-addon-body{
  padding:24px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-addon-body h3{
  font-size:1.45rem!important;
  line-height:1.14!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-addon-body p{
  font-size:.92rem!important;
  line-height:1.62!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-summary-card{
  background:#0f0f0f!important;
  box-shadow:0 26px 76px rgba(0,0,0,.18)!important;
  padding:30px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-summary-card h3{
  font-size:1.55rem!important;
  line-height:1.16!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-summary-total strong{
  font-size:1.45rem!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-details-section{
  background:#f8f2f2!important;
  padding:clamp(70px,7vw,104px) 5vw!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-details-inner{
  max-width:1080px!important;
  display:grid!important;
  grid-template-columns:minmax(240px,.34fr) minmax(0,1fr)!important;
  gap:44px!important;
  align-items:start!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-details-inner .avf-kicker,
.andorra-voucher-functional-page.is-voucher-product .avf-details-inner h2{
  grid-column:1!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-details-copy{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.055)!important;
  box-shadow:0 22px 64px rgba(0,0,0,.045)!important;
  padding:clamp(30px,4vw,46px)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-details-copy h1,
.andorra-voucher-functional-page.is-voucher-product .avf-details-copy h2,
.andorra-voucher-functional-page.is-voucher-product .avf-details-copy h3{
  font-size:clamp(1.35rem,2.2vw,2rem)!important;
  line-height:1.15!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-related-section{
  background:#fff!important;
  padding:clamp(70px,7vw,104px) 5vw clamp(92px,8vw,132px)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-related-section .avf-section-head h2{
  font-size:clamp(2.05rem,3.1vw,3.45rem)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-related-grid{
  max-width:1240px!important;
  gap:24px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-related-card{
  background:#f8f2f2!important;
  border:1px solid rgba(0,0,0,.055)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.04)!important;
  transition:transform .3s ease, box-shadow .3s ease!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-related-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 26px 64px rgba(0,0,0,.075)!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-related-card img{
  height:230px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-related-card div{
  padding:24px!important;
}
.andorra-voucher-functional-page.is-voucher-product .avf-related-card h3{
  font-size:1.45rem!important;
  line-height:1.18!important;
}
@media(max-width:1180px){
  .andorra-voucher-functional-page.is-voucher-product .avf-product-grid{
    grid-template-columns:1fr!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-purchase-panel,
  .andorra-voucher-functional-page.is-voucher-product .avf-summary-card{
    position:relative!important;
    top:auto!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-options-layout{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:991.98px){
  .andorra-voucher-functional-page.is-voucher-product .avf-hero-spacer{
    height:76px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-product-shell{
    padding:38px 18px 56px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-product-shell::before{
    height:31%!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-product-grid{
    gap:24px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-main-image-card,
  .andorra-voucher-functional-page.is-voucher-product .avf-main-image-card img{
    min-height:360px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-main-image-card::before{
    top:16px!important;
    left:16px!important;
    padding:10px 12px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-main-image-card::after{
    inset:14px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-purchase-panel{
    padding:30px 22px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-purchase-panel h1{
    font-size:clamp(2rem,9vw,2.85rem)!important;
    line-height:1.04!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-delivery-options,
  .andorra-voucher-functional-page.is-voucher-product .avf-addons-grid,
  .andorra-voucher-functional-page.is-voucher-product .avf-related-grid{
    grid-template-columns:1fr!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-customize-section,
  .andorra-voucher-functional-page.is-voucher-product .avf-details-section,
  .andorra-voucher-functional-page.is-voucher-product .avf-related-section{
    padding:60px 18px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-section-head h2,
  .andorra-voucher-functional-page.is-voucher-product .avf-details-inner h2,
  .andorra-voucher-functional-page.is-voucher-product .avf-related-section .avf-section-head h2{
    font-size:clamp(1.9rem,8vw,2.65rem)!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-steps{
    grid-template-columns:1fr!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-details-inner{
    display:block!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-details-copy{
    margin-top:22px!important;
  }
}
@media(max-width:480px){
  .andorra-voucher-functional-page.is-voucher-product .avf-main-image-card,
  .andorra-voucher-functional-page.is-voucher-product .avf-main-image-card img{
    min-height:310px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-field-row,
  .andorra-voucher-functional-page.is-voucher-product .avf-qty-row,
  .andorra-voucher-functional-page.is-voucher-product .avf-total-row{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:12px!important;
  }
  .andorra-voucher-functional-page.is-voucher-product .avf-field-row select,
  .andorra-voucher-functional-page.is-voucher-product .avf-qty-row .quantity,
  .andorra-voucher-functional-page.is-voucher-product .avf-qty-row input.qty{
    width:100%!important;
  }
}


/* V159 - Línea vertical animada en todos los hero */
.global-hero-scroll-line {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 1px;
  height: 120px;
  transform: translateX(-50%);
  background: rgba(255,255,255,0.28);
  z-index: 4;
  overflow: hidden;
  pointer-events: none;
}
.global-hero-scroll-line::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: rgba(255,255,255,0.98);
  animation: andorraGlobalHeroScrollLine 2s infinite;
}
@keyframes andorraGlobalHeroScrollLine {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100%); }
}
@media (max-width: 991px) {
  .global-hero-scroll-line {
    height: 88px;
  }
}


/* V175 - Imagen fija del menú overlay */
#menuImage.menu-image-fixed {
  opacity: 1 !important;
  transition: none !important;
}
/* ============================================================
   Roiback - motor de reservas embebido en la barra superior
   ============================================================ */
#bookingStrip #bookingFields { flex: 1 1 100% !important; width: 100% !important; min-width: 0 !important; display: block !important; }
#bookingStrip .roi-engine-container { width: 100%; max-width: 100%; }
#bookingStrip .roi-engine-container * { box-sizing: border-box; }
#bookingStrip #roi-engine-loading { min-height: 90px; }
@media (max-width: 991px){
  #bookingStrip #bookingFields { flex-basis: auto !important; }
}
#bookingStrip.top-booking-strip {
  height: auto !important;
  min-height: 116px !important;
  align-items: center !important;
  overflow: visible !important;
}
#bookingStrip.top-booking-strip:not(.transparent-strip) {
  background-color: rgba(232, 230, 225, 0.97) !important;
  border-bottom-color: transparent !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
}
#bookingStrip #bookingFields {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
}
#bookingStrip .roi-engine-container { width: 100%; display: flex; align-items: center; }
#bookingStrip #roi-engine-loading { min-height: 80px !important; }
#bookingStrip .ocultar-toggle { color: #111 !important; }
#bookingStrip .booking-mobile-close-btn { color: #111; }
#bookingStrip.top-booking-strip {
  min-height: 96px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#bookingStrip.top-booking-strip:not(.transparent-strip) {
  background-color: rgba(240, 238, 233, 0.72) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom-color: rgba(255,255,255,0.18) !important;
}
#bookingStrip.top-booking-strip.scrolled:not(.transparent-strip) {
  background-color: rgba(240, 238, 233, 0.96) !important;
  border-bottom-color: transparent !important;
}
#bookingStrip #roi-engine-loading { min-height: 64px !important; }
#bookingStrip #bookingFields { flex: 1 1 100% !important; width: 100% !important; }
#bookingStrip .roi-engine-container { width: 100% !important; }
#bookingStrip .roi-engine-container > form,
#bookingStrip .roi-engine-container > div,
#bookingStrip .roi-search-engine { width: 100% !important; }
#bookingStrip .roi-search-engine {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
}

/* Habitaciones: la ultima imagen de la galeria (g-wide) ocupa toda la fila, sin hueco a la derecha. */
.gallery-section .gallery-grid .gallery-item.g-wide:last-child {
  grid-column: 1 / -1;
}

/* =========================================================================
   Maquillaje del widget de Roiback para que se vea IGUAL que la barra original
   del tema (.booking-field-new / .field-box / .btn-consultar-dark):
   labels en mayusculas, cajas gris claro con esquinas suaves y boton negro.
   Todo bajo #bookingStrip para no afectar nada mas.
   ========================================================================= */
#bookingStrip .roi-search-engine__form { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 24px !important; flex-wrap: nowrap !important; }
#bookingStrip .roi-search-engine__item { display: flex !important; align-items: center !important; align-self: center !important; }
#bookingStrip .roi-search-engine__form > * { align-self: center !important; }

/* Etiquetas: ENTRADA / SALIDA / OCUPACION (como los label de la barra original) */
#bookingStrip .roi-search-engine__label,
#bookingStrip .roi-search-engine__occupancy-text { display: block !important; font-family: 'Raleway','Lato',sans-serif !important; font-size: .6rem !important; font-weight: 700 !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: #555 !important; margin-bottom: 2px !important; line-height: 1 !important; }
#bookingStrip .roi-search-engine__field--day,
#bookingStrip .roi-search-engine__field--month-year,
#bookingStrip .roi-search-engine__occupancy-amount { line-height: 1.05 !important; }

/* Campos como ".field-box": caja gris clara, esquinas suaves, texto oscuro */
#bookingStrip .roi-search-engine__field--calendar,
#bookingStrip .roi-search-engine__occupancy-button,
#bookingStrip .roi-search-engine__field--promo {
  background: rgba(0,0,0,0.06) !important;
  border: none !important; border-radius: 2px !important;
  box-shadow: none !important; outline: none !important;
  padding: 5px 16px !important; color: #111 !important; cursor: pointer !important;
  box-sizing: border-box !important;
}
#bookingStrip .roi-search-engine__field--calendar:hover,
#bookingStrip .roi-search-engine__occupancy-button:hover,
#bookingStrip .roi-search-engine__field--promo:hover { background: rgba(0,0,0,0.1) !important; }

/* Caja de fechas: Entrada > Salida en una fila */
#bookingStrip .roi-search-engine__field--calendar { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; min-width: 220px !important; height: 42px !important; }
#bookingStrip .roi-search-engine__item--checkin,
#bookingStrip .roi-search-engine__item--checkout { display: block !important; text-align: left !important; white-space: nowrap !important; }
#bookingStrip .roi-search-engine__field--day { display: inline !important; font-family: 'Raleway','Lato',sans-serif !important; font-size: .82rem !important; font-weight: 600 !important; color: #111 !important; }
#bookingStrip .roi-search-engine__field--month-year { display: inline !important; font-family: 'Raleway','Lato',sans-serif !important; font-size: .75rem !important; font-weight: 400 !important; color: #333 !important; }

/* Caja de ocupacion: label arriba, "2 Adultos / 0 Ninos" debajo */
#bookingStrip .roi-search-engine__occupancy-button { display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; min-width: 180px !important; height: 42px !important; }
#bookingStrip .roi-search-engine__occupancy-wrap { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px !important; }
#bookingStrip .roi-search-engine__occupancy-info--adults,
#bookingStrip .roi-search-engine__occupancy-info--children { display: flex !important; align-items: center !important; gap: 4px !important; background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; }
#bookingStrip .roi-search-engine__occupancy-amount,
#bookingStrip .roi-search-engine__occupancy-amount-text { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; }
#bookingStrip .roi-search-engine__occupancy-amount { font-family: 'Raleway','Lato',sans-serif !important; font-size: .82rem !important; font-weight: 600 !important; color: #111 !important; }

/* Iconos discretos (grises, no dorados) */
#bookingStrip .roi-search-engine .svg-roi { width: 16px !important; height: 16px !important; fill: #777 !important; }
#bookingStrip .roi-search-engine .svg-roi_arrow-thin-right { width: 10px !important; height: 10px !important; fill: #999 !important; }

/* Codigo promocional: caja gris, texto en cursiva (como el original) */
#bookingStrip .roi-search-engine__field--promo { position: relative !important; top: 0px !important; vertical-align: middle !important; align-self: center !important; margin: 0 !important; min-width: 150px !important; height: 42px !important; min-height: 42px !important; line-height: 42px !important; padding: 0 16px !important; box-sizing: border-box !important; font-family: 'Raleway','Lato',sans-serif !important; font-size: .85rem !important; font-style: italic !important; color: #555 !important; }
#bookingStrip .roi-search-engine__field--promo::placeholder { color: #888 !important; font-style: italic !important; }

/* Boton "Consultar tarifas" = .btn-consultar-dark (negro, texto blanco) */
#bookingStrip .roi-search-engine__item--action { margin-left: auto !important; }
#bookingStrip .roi-search-engine__field--action { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 5px !important; background: #000 !important; color: #fff !important; border: none !important; border-radius: 0 !important; font-family: 'Raleway','Lato',sans-serif !important; font-size: .7rem !important; font-weight: 700 !important; letter-spacing: 2px !important; text-transform: uppercase !important; padding: 0 36px !important; height: 42px !important; min-height: 0 !important; white-space: nowrap !important; cursor: pointer !important; transition: background .3s ease !important; align-self: center !important; line-height: 1 !important; }
#bookingStrip .roi-search-engine__field--action:hover { background: #333 !important; }
#bookingStrip .roi-search-engine__field--action .roi-search-engine__field--text { color: inherit !important; font-weight: 700 !important; }

/* Desplegable de ocupacion: limpio */
#bookingStrip .roi-search-engine__occupancy-breakdown { background: #fff !important; border: 1px solid rgba(0,0,0,.1) !important; box-shadow: 0 18px 48px rgba(16,8,10,.15) !important; border-radius: 2px !important; padding: 18px !important; }
#bookingStrip .roi-search-engine__occupancy-input { font-family: 'Raleway','Lato',sans-serif !important; color: #111 !important; }
#bookingStrip .roi-search-engine__occupancy-save-rooms { background: #000 !important; color: #fff !important; border: none !important; border-radius: 0 !important; text-transform: uppercase !important; letter-spacing: 2px !important; font-size: .64rem !important; font-weight: 700 !important; padding: 11px 22px !important; cursor: pointer !important; transition: background .3s ease !important; }
#bookingStrip .roi-search-engine__occupancy-save-rooms:hover { background: #333 !important; }

/* Roiback responsive: en escritorio mediano (992-1300px) se compacta para que no se amontone */
/* Escritorio mediano (992-1300px): se compacta para que no se amontone */
@media (min-width: 992px) and (max-width: 1300px) {
  #bookingStrip .roi-search-engine__form { gap: 16px !important; }
  #bookingStrip .roi-search-engine__field--calendar { min-width: 175px !important; gap: 6px !important; padding: 8px 12px !important; }
  #bookingStrip .roi-search-engine__occupancy-button { min-width: 150px !important; padding: 8px 12px !important; }
  #bookingStrip .roi-search-engine__field--promo { min-width: 110px !important; padding: 8px 12px !important; }
  #bookingStrip .roi-search-engine__field--action { padding: 0 22px !important; font-size: .62rem !important; letter-spacing: 1.5px !important; }
  #bookingStrip .roi-search-engine__label,
  #bookingStrip .roi-search-engine__occupancy-text { font-size: .54rem !important; letter-spacing: 1.5px !important; }
  #bookingStrip .roi-search-engine__field--day { font-size: .84rem !important; }
  #bookingStrip .roi-search-engine__field--month-year,
  #bookingStrip .roi-search-engine__occupancy-amount { font-size: .76rem !important; }
  #bookingStrip .roi-search-engine .svg-roi { width: 15px !important; height: 15px !important; }
}

/* Movil / tablet (<=991px): la barra se apila en vertical, todo a ancho completo */
@media (max-width: 991px) {
  #bookingStrip .roi-engine-container,
  #bookingStrip .roi-search-engine,
  #bookingStrip .roi-search-engine__form { display: flex !important; flex-direction: column !important; align-items: stretch !important; width: 100% !important; gap: 12px !important; }
  #bookingStrip .roi-search-engine__item { width: 100% !important; }
  #bookingStrip .roi-search-engine__field--calendar,
  #bookingStrip .roi-search-engine__occupancy-button,
  #bookingStrip .roi-search-engine__field--promo { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
  #bookingStrip .roi-search-engine__item--action { margin-left: 0 !important; width: 100% !important; }
  #bookingStrip .roi-search-engine__field--action { width: 100% !important; padding: 0 !important; min-height: 50px !important; }
  /* el desplegable de ocupacion a ancho completo */
  #bookingStrip .roi-search-engine__occupancy-breakdown { width: 100% !important; left: 0 !important; right: 0 !important; }
}