/*
 * MEISTER Marbella v1.1.7
 * Global Mobile Experience · Desktop Integration · Boutique Access
 */

/* Accesos de visita dentro del desplegable de escritorio. */
.services-nav-menu .desktop-visit-featured,
.services-nav-menu .desktop-location-featured{
  position:relative;
  border-left:3px solid var(--orange,#f59a00);
  background:linear-gradient(135deg,rgba(245,154,0,.15),rgba(245,154,0,.025));
}
.services-nav-menu .desktop-location-featured{border-left-color:rgba(255,255,255,.58)}

/* Footer: bloque físico de Boutique, visible en todas las páginas. */
.footer-boutique-location{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);
  gap:clamp(42px,7vw,100px);
  align-items:end;
  padding:clamp(56px,7vw,88px) 0;
  border-top:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.footer-location-kicker{display:block;margin-bottom:18px;color:var(--orange,#f59a00);font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.footer-location-copy h2{margin:0 0 28px;font-family:var(--serif,Georgia,serif);font-size:clamp(42px,5.3vw,76px);font-weight:400;letter-spacing:-.05em;line-height:.94}
.footer-location-copy h2 em{color:#aaa7a0;font-weight:400}
.footer-location-copy address{display:grid;gap:4px;padding-left:18px;border-left:3px solid var(--orange,#f59a00);font-style:normal}
.footer-location-copy address strong{font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.footer-location-copy address span{color:#bbb7b0;font-size:17px}
.footer-location-actions{display:grid;gap:10px}
.footer-location-primary,.footer-location-date{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:center;min-height:82px;padding:18px 20px;border:1px solid rgba(255,255,255,.14);transition:transform .25s ease,border-color .25s ease}
.footer-location-primary{background:var(--orange,#f59a00);border-color:var(--orange,#f59a00);color:#060606}
.footer-location-primary span,.footer-location-date span{font-size:12px;font-weight:900;letter-spacing:.12em}
.footer-location-primary small,.footer-location-date small{grid-column:1;color:rgba(0,0,0,.62);font-size:11px}
.footer-location-date small{color:#88847e}
.footer-location-primary b{grid-column:2;grid-row:1/3;font-size:27px}
.footer-location-primary:hover,.footer-location-date:hover{transform:translateY(-3px)}
.footer-location-date:hover{border-color:rgba(245,154,0,.65)}
.footer-google-business{justify-self:start;color:#99958f;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}
.footer-google-business:hover{color:#fff}
@media(min-width:1100px){.footer-grid.footer-grid-luxury{grid-template-columns:1fr 1.2fr .85fr 1.05fr;gap:clamp(26px,3.2vw,54px)}}

/* Menú móvil v1.1.7: acciones primero, contenido jerarquizado después. */
@media(max-width:1180px){
  [data-mobile-panel]{z-index:2147481000!important;background:radial-gradient(circle at 88% 0,rgba(245,154,0,.15),transparent 28%),#050505!important}
  [data-mobile-panel] .mobile-panel-inner{width:min(100%,620px)!important;padding:0 20px calc(94px + env(safe-area-inset-bottom))!important;gap:18px!important}
  .mobile-menu-top{position:sticky;top:0;z-index:4;min-height:74px!important;margin:0 -20px!important;padding:calc(10px + env(safe-area-inset-top)) 20px 10px;background:rgba(5,5,5,.96);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .mobile-menu-brand{max-width:105px!important}
  .mobile-menu-intro{display:grid;gap:5px;padding-top:4px}
  .mobile-menu-intro .mobile-menu-eyebrow{margin:0!important;color:var(--orange,#f59a00)!important;font-size:9px!important;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
  .mobile-menu-intro>strong{font-family:var(--serif,Georgia,serif);font-size:clamp(28px,8.5vw,43px);font-weight:400;line-height:1;letter-spacing:-.04em}
  .mobile-concierge-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .mobile-concierge-actions a{min-width:0;min-height:92px;display:flex!important;flex-direction:column;justify-content:flex-end;align-items:flex-start!important;gap:5px;padding:16px!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;text-transform:none!important;letter-spacing:0!important}
  .mobile-concierge-actions a::after{display:none!important}
  .mobile-concierge-actions .mobile-concierge-date{background:var(--orange,#f59a00)!important;border-color:var(--orange,#f59a00)!important;color:#050505!important}
  .mobile-concierge-actions span{font-size:11px;font-weight:950;letter-spacing:.11em}
  .mobile-concierge-actions small{font-size:10px;line-height:1.35;color:#8e8a83}
  .mobile-concierge-date small{color:rgba(0,0,0,.62)}
  .mobile-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .mobile-quick-actions a{min-width:0;min-height:45px;display:flex;align-items:center;justify-content:center;padding:8px 4px;border:1px solid rgba(255,255,255,.13);color:#ddd;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
  .mobile-quick-actions a:last-child{border-color:rgba(245,154,0,.55);color:var(--orange,#f59a00)}
  .mobile-menu-sections{border-top:1px solid rgba(255,255,255,.13)}
  .mobile-menu-section{border-bottom:1px solid rgba(255,255,255,.12)}
  .mobile-menu-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:12px 2px;color:#fff;cursor:pointer}
  .mobile-menu-section>summary::-webkit-details-marker{display:none}
  .mobile-menu-section>summary span{font-family:var(--serif,Georgia,serif);font-size:clamp(23px,6.6vw,31px);letter-spacing:-.035em}
  .mobile-menu-section>summary small{display:flex;align-items:center;gap:9px;color:#77736d;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
  .mobile-menu-section>summary small::after{content:'+';display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.17);color:var(--orange,#f59a00);font-size:16px}
  .mobile-menu-section[open]>summary small::after{content:'−'}
  .mobile-menu-section-links{display:grid;padding:0 0 15px 14px;border-left:1px solid rgba(245,154,0,.46)}
  .mobile-menu-section-links a{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:43px!important;padding:8px 9px 8px 14px!important;border:0!important;color:#b8b4ae!important;font-family:var(--sans,Arial,sans-serif)!important;font-size:13px!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important}
  .mobile-menu-section-links a::after{content:'→'!important;margin-left:12px;color:#66615a!important;font-size:12px!important}
  .mobile-menu-section-links a:hover,.mobile-menu-section-links a:focus-visible{background:rgba(255,255,255,.05);color:#fff!important;outline:none}
  .mobile-contact-links a:first-child{color:#fff!important}
  .mobile-menu-signature{margin:0;padding:6px 0 18px;color:#69655f;font-size:8px;font-weight:900;letter-spacing:.15em;text-align:center;text-transform:uppercase}
  .mobile-actionbar{z-index:1001}
}

@media(max-width:480px){
  .footer-boutique-location{grid-template-columns:1fr;gap:32px;padding:54px 0}
  .footer-location-copy h2{font-size:clamp(39px,12vw,54px)}
  .footer-location-copy address span{font-size:15px}
}
@media(max-width:360px){
  [data-mobile-panel] .mobile-panel-inner{padding-left:14px!important;padding-right:14px!important}
  .mobile-menu-top{margin-left:-14px!important;margin-right:-14px!important;padding-left:14px;padding-right:14px}
  .mobile-concierge-actions{grid-template-columns:1fr}
  .mobile-concierge-actions a{min-height:72px}
  .mobile-quick-actions a{font-size:8px;letter-spacing:.04em}
  .mobile-menu-section>summary span{font-size:23px}
}
@media(min-width:481px) and (max-width:980px){.footer-boutique-location{grid-template-columns:1fr;gap:34px}}
@media(prefers-reduced-motion:reduce){.footer-location-primary,.footer-location-date{transition:none}}
