/* Aura V6 — ubicación inmersiva. Solo afecta aura/ubicacion.html */
.aura-location-page {
  --aura-location-wine: #3a211d;
  --aura-location-wine-soft: #56332b;
  --aura-location-gold: #b9855e;
  --aura-location-gold-light: #f1d8c1;
  --aura-location-ivory: #fffaf5;
  --aura-location-milk: #f5ece4;
  background:
    radial-gradient(circle at 18% 16%, rgba(205,169,146,.15), transparent 29%),
    #fbf8f4;
}

.aura-location-page .site-header.is-scrolled {
  background: rgba(255,250,245,.9);
}

.aura-location-v6 {
  min-height: 100svh;
  padding-top: calc(var(--header-height) + 88px);
  padding-bottom: 112px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 9%, rgba(185,133,94,.11), transparent 22%),
    radial-gradient(circle at 5% 72%, rgba(205,169,146,.13), transparent 27%),
    linear-gradient(180deg, #fffdfb 0%, #f8f1eb 100%);
}

.aura-location-v6::before {
  content: "AURA";
  position: absolute;
  top: 48px;
  right: -2vw;
  color: rgba(155,107,71,.035);
  font-size: clamp(150px, 21vw, 360px);
  font-weight: 700;
  letter-spacing: -.09em;
  line-height: .8;
  pointer-events: none;
}

.aura-location-ambient,
.aura-location-ambient i {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.aura-location-ambient i::before {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(185,133,94,.55);
  box-shadow: 0 0 22px rgba(185,133,94,.38);
  animation: auraAmbientFloat 12s ease-in-out infinite;
}
.aura-location-ambient i:nth-child(1)::before { left: 9%; top: 24%; animation-delay: -2s; }
.aura-location-ambient i:nth-child(2)::before { right: 10%; top: 42%; width: 4px; height: 4px; animation-delay: -7s; }
.aura-location-ambient i:nth-child(3)::before { left: 24%; bottom: 12%; width: 5px; height: 5px; animation-delay: -5s; }

@keyframes auraAmbientFloat {
  0%,100% { transform: translate3d(0,0,0) scale(.75); opacity: .2; }
  48% { transform: translate3d(22px,-35px,0) scale(1.25); opacity: .85; }
}

.aura-location-heading {
  position: relative;
  z-index: 2;
  margin-bottom: 54px;
}

.aura-location-heading-grid {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(300px,.58fr);
  gap: clamp(44px, 9vw, 148px);
  align-items: end;
}

.aura-location-heading h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(46px, 6vw, 94px);
  font-weight: 400;
  letter-spacing: -.064em;
  line-height: .98;
}

.aura-location-heading-grid > p {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}

.aura-location-stage {
  --pointer-x: 50%;
  --pointer-y: 50%;
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  z-index: 2;
  min-height: 640px;
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(350px,.72fr);
  overflow: hidden;
  border: 1px solid rgba(91,57,41,.12);
  border-radius: 42px;
  background: #38211c;
  box-shadow: 0 40px 105px rgba(74,42,29,.2);
  isolation: isolate;
}

.aura-location-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 6;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: inherit;
  pointer-events: none;
}

.aura-map-panel {
  position: relative;
  min-width: 0;
  min-height: 640px;
  overflow: hidden;
  background: #ac8c78;
}

.aura-map-panel iframe {
  position: absolute;
  inset: -18px;
  width: calc(100% + 36px);
  height: calc(100% + 36px);
  border: 0;
  filter: sepia(.22) saturate(.76) contrast(.94) brightness(1.04);
  transform: scale(1.025);
  transition: filter .8s ease, transform 1.1s var(--ease);
}

.aura-location-stage:hover .aura-map-panel iframe {
  filter: sepia(.1) saturate(.92) contrast(.98) brightness(1.02);
  transform: scale(1.045);
}

.aura-map-wash {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle 260px at var(--pointer-x) var(--pointer-y), rgba(255,250,245,.04), transparent 72%),
    linear-gradient(90deg, rgba(58,33,29,.12), rgba(58,33,29,.02) 55%, rgba(58,33,29,.22)),
    linear-gradient(180deg, rgba(255,250,245,.05), rgba(58,33,29,.12));
  pointer-events: none;
}

.aura-map-open {
  position: absolute;
  z-index: 8;
  top: 26px;
  left: 26px;
  min-height: 48px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 999px;
  background: rgba(255,250,245,.88);
  color: var(--aura-location-wine);
  box-shadow: 0 14px 38px rgba(58,33,29,.15);
  backdrop-filter: blur(15px) saturate(150%);
  font-size: 11px;
  font-weight: 600;
  transition: transform .35s var(--ease), box-shadow .35s ease, background .35s ease;
}
.aura-map-open span { font-size: 16px; transition: transform .35s var(--ease); }
.aura-map-open:hover { transform: translateY(-3px); background: #fff; box-shadow: 0 20px 46px rgba(58,33,29,.2); }
.aura-map-open:hover span { transform: translate(3px,-3px); }

.aura-route-art {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1s ease .4s;
}
.aura-location-stage.is-aura-location-visible .aura-route-art { opacity: 1; }
.aura-route-art svg { width: 100%; height: 100%; overflow: visible; }
.aura-route-shadow { stroke: rgba(58,33,29,.18); stroke-width: 9; stroke-linecap: round; }
.aura-route-line {
  stroke: url(#auraRouteGradientV6);
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-dasharray: 7 18;
  animation: auraRouteDash 12s linear infinite;
  filter: drop-shadow(0 0 7px rgba(255,248,239,.9));
}
@keyframes auraRouteDash { to { stroke-dashoffset: -250; } }

.aura-route-traveler { opacity: 0; transition: opacity .6s ease; transform-box: fill-box; transform-origin: center; }
.aura-location-stage.is-aura-location-visible .aura-route-traveler { opacity: 1; }
.aura-route-spark {
  transform-box: fill-box;
  transform-origin: center;
  animation: auraSparkFade 1.15s ease-out forwards;
}
@keyframes auraSparkFade {
  0% { opacity: .95; transform: scale(.7); }
  55% { opacity: .42; transform: scale(1.2) translateY(-4px); }
  100% { opacity: 0; transform: scale(.12) translateY(-15px); }
}

.aura-destination-seal { transform-box: fill-box; transform-origin: center; }
.aura-destination-ring { fill: none; stroke: rgba(255,250,245,.78); stroke-width: 1.5; transform-box: fill-box; transform-origin: center; }
.aura-destination-ring.ring-one { animation: auraDestinationPulse 3.2s ease-out infinite; }
.aura-destination-ring.ring-two { animation: auraDestinationPulse 3.2s ease-out -1.15s infinite; }
.aura-destination-seal.is-arrived { animation: auraArrivalBloom .9s var(--ease); }
@keyframes auraDestinationPulse { 0% { opacity: .9; transform: scale(.55); } 100% { opacity: 0; transform: scale(1.55); } }
@keyframes auraArrivalBloom { 0%,100% { transform: scale(1); } 45% { transform: scale(1.22); } }

.aura-map-label {
  position: absolute;
  z-index: 7;
  color: rgba(255,250,245,.78);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-shadow: 0 2px 14px rgba(58,33,29,.5);
  pointer-events: none;
}
.aura-map-label-one { left: 30px; bottom: 28px; }
.aura-map-label-two { right: 26px; top: 31px; writing-mode: vertical-rl; }

.aura-location-card {
  position: relative;
  z-index: 7;
  min-width: 0;
  margin: 22px 22px 22px -56px;
  padding: clamp(34px, 4.2vw, 60px);
  align-self: stretch;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 34px;
  background:
    radial-gradient(circle 280px at 105% 0%, rgba(205,169,146,.22), transparent 68%),
    rgba(255,250,245,.93);
  color: var(--ink);
  box-shadow: 0 34px 85px rgba(58,33,29,.25);
  backdrop-filter: blur(30px) saturate(140%);
  transform: perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style: preserve-3d;
  transition: transform .25s ease-out, box-shadow .45s ease;
}
.aura-location-card:hover { box-shadow: 0 42px 100px rgba(58,33,29,.3); }

.aura-location-card::before {
  content: "";
  position: absolute;
  inset: -40% 70% -40% -30%;
  background: linear-gradient(100deg, transparent 15%, rgba(255,255,255,.72) 50%, transparent 85%);
  transform: translateX(-100%) rotate(9deg);
  animation: auraCardSheen 8s ease-in-out infinite 2s;
  pointer-events: none;
}
@keyframes auraCardSheen { 0%,68%,100% { transform: translateX(-110%) rotate(9deg); opacity: 0; } 76% { opacity: .75; } 88% { transform: translateX(360%) rotate(9deg); opacity: 0; } }

.aura-location-card-brand {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 15px;
}
.aura-location-card-brand img { width: 60px; height: 60px; object-fit: cover; border-radius: 50%; box-shadow: 0 12px 30px rgba(74,42,29,.13); }
.aura-location-card-brand div { display: grid; gap: 3px; }
.aura-location-card-brand small { color: var(--bronze); font-size: 8px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.aura-location-card-brand strong { font-size: 13px; font-weight: 600; letter-spacing: .04em; }

.aura-location-kicker {
  position: relative;
  z-index: 2;
  margin: 38px 0 10px;
  color: var(--bronze);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.aura-location-card h2 {
  position: relative;
  z-index: 2;
  margin: 0;
  max-width: 480px;
  font-size: clamp(31px, 3.2vw, 53px);
  font-weight: 400;
  letter-spacing: -.052em;
  line-height: 1.04;
}

.aura-location-details {
  position: relative;
  z-index: 2;
  margin: 36px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(91,57,41,.12);
}
.aura-location-details li {
  padding: 17px 0;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 13px;
  border-bottom: 1px solid rgba(91,57,41,.12);
}
.aura-location-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(155,107,71,.23);
  border-radius: 50%;
  color: var(--bronze);
  background: rgba(255,255,255,.48);
  font-size: 13px;
}
.aura-location-details strong { display: block; font-size: 10px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.aura-location-details p { margin: 3px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.aura-location-details a { transition: color .25s ease; }
.aura-location-details a:hover { color: var(--bronze); }

.aura-location-actions {
  position: relative;
  z-index: 2;
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
.aura-location-primary {
  min-height: 56px;
  background: var(--aura-location-wine);
  color: #fff;
  box-shadow: 0 16px 34px rgba(58,33,29,.2);
}
.aura-location-primary:hover { background: var(--aura-location-wine-soft); }
.aura-location-whatsapp {
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(58,33,29,.28);
  font-size: 11px;
  font-weight: 600;
}

.aura-card-orbit { position: absolute; right: -72px; bottom: -72px; width: 230px; aspect-ratio: 1; pointer-events: none; opacity: .22; }
.aura-card-orbit i { position: absolute; inset: 0; border: 1px solid var(--bronze); border-radius: 50%; }
.aura-card-orbit i:nth-child(2) { inset: 22%; border-style: dashed; animation: auraOrbitRotate 24s linear infinite; }
.aura-card-orbit i:nth-child(3) { inset: 42%; }
@keyframes auraOrbitRotate { to { transform: rotate(360deg); } }

.aura-location-contact-strip {
  position: relative;
  z-index: 3;
  margin-top: 22px;
  display: grid;
  grid-template-columns: 1.28fr repeat(5, minmax(145px,.72fr));
  overflow: hidden;
  border: 1px solid rgba(91,57,41,.12);
  border-radius: 28px;
  background: rgba(255,253,251,.74);
  box-shadow: 0 18px 60px rgba(74,42,29,.08);
  backdrop-filter: blur(20px);
}
.aura-location-contact-intro,
.aura-location-contact-card { min-height: 118px; padding: 25px 23px; }
.aura-location-contact-intro { display: grid; align-content: center; gap: 6px; background: var(--aura-location-wine); color: white; }
.aura-location-contact-intro span { color: #e8cdbc; font-size: 8px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.aura-location-contact-intro strong { max-width: 260px; font-size: 13px; font-weight: 500; line-height: 1.45; }
.aura-location-contact-card {
  position: relative;
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: 12px;
  align-items: center;
  border-left: 1px solid rgba(91,57,41,.1);
  transition: background .35s ease, transform .35s var(--ease), color .35s ease;
}
a.aura-location-contact-card:hover { z-index: 2; background: #fff; transform: translateY(-5px); }
.aura-contact-symbol { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(155,107,71,.2); border-radius: 50%; color: var(--bronze); font-size: 12px; font-weight: 600; }
.aura-location-contact-card div { min-width: 0; display: grid; gap: 3px; }
.aura-location-contact-card small { color: var(--muted); font-size: 8px; letter-spacing: .11em; text-transform: uppercase; }
.aura-location-contact-card strong { overflow: hidden; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.aura-location-contact-card > i { color: var(--bronze); font-size: 13px; font-style: normal; }
.aura-location-contact-card.is-pending { opacity: .56; cursor: default; }
.aura-location-contact-card.is-ready { opacity: 1; cursor: pointer; }

.aura-location-note {
  position: relative;
  z-index: 2;
  margin: 24px auto 0;
  max-width: 860px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  color: var(--muted);
  text-align: center;
}
.aura-location-note span { color: var(--bronze); animation: auraNoteTwinkle 2.6s ease-in-out infinite; }
.aura-location-note p { margin: 0; font-size: 11px; }
@keyframes auraNoteTwinkle { 0%,100% { transform: scale(.75) rotate(0); opacity: .35; } 50% { transform: scale(1.18) rotate(90deg); opacity: 1; } }

@media (max-width: 1180px) {
  .aura-location-stage { grid-template-columns: minmax(0,1.1fr) minmax(340px,.8fr); }
  .aura-location-card { margin-left: -34px; padding: 36px; }
  .aura-location-contact-strip { grid-template-columns: repeat(3,1fr); }
  .aura-location-contact-intro { grid-column: span 3; min-height: 94px; }
  .aura-location-contact-card:nth-child(5), .aura-location-contact-card:nth-child(6) { border-top: 1px solid rgba(91,57,41,.1); }
}

@media (max-width: 900px) {
  .aura-location-v6 { padding-top: calc(var(--header-height) + 62px); }
  .aura-location-heading-grid { grid-template-columns: 1fr; gap: 26px; }
  .aura-location-heading h1 { max-width: 720px; }
  .aura-location-heading-grid > p { max-width: 620px; }
  .aura-location-stage { min-height: 0; grid-template-columns: 1fr; overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .aura-location-stage::after { display: none; }
  .aura-map-panel { min-height: 560px; border-radius: 34px; box-shadow: 0 30px 75px rgba(74,42,29,.18); }
  .aura-location-card { margin: -72px 22px 0; min-height: auto; padding: 38px; border-radius: 30px; }
  .aura-route-art { inset: 0 0 0 0; }
}

@media (max-width: 680px) {
  .aura-location-v6 { padding-top: calc(var(--header-height) + 40px); padding-bottom: 82px; }
  .aura-location-heading { margin-bottom: 36px; }
  .aura-location-heading h1 { font-size: clamp(42px, 13vw, 62px); }
  .aura-map-panel { min-height: 470px; border-radius: 26px; }
  .aura-map-open { top: 16px; left: 16px; min-height: 44px; padding-inline: 17px; }
  .aura-map-label-one { left: 20px; bottom: 20px; }
  .aura-map-label-two { right: 18px; top: 86px; }
  .aura-location-card { margin: -48px 12px 0; padding: 29px 24px 31px; border-radius: 25px; }
  .aura-location-card-brand img { width: 50px; height: 50px; }
  .aura-location-card h2 { font-size: 34px; }
  .aura-location-kicker { margin-top: 28px; }
  .aura-location-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
  .aura-location-primary { width: 100%; }
  .aura-card-orbit { width: 160px; }
  .aura-location-contact-strip { grid-template-columns: 1fr; border-radius: 24px; }
  .aura-location-contact-intro { grid-column: auto; min-height: 100px; }
  .aura-location-contact-card { min-height: 84px; border-left: 0; border-top: 1px solid rgba(91,57,41,.1); }
  .aura-location-contact-card:nth-child(5), .aura-location-contact-card:nth-child(6) { border-top: 1px solid rgba(91,57,41,.1); }
  .aura-location-note { align-items: flex-start; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .aura-location-ambient i::before,
  .aura-route-line,
  .aura-destination-ring,
  .aura-location-card::before,
  .aura-card-orbit i,
  .aura-location-note span { animation: none !important; }
  .aura-location-card { transform: none !important; }
  .aura-map-panel iframe { transition: none; transform: none; }
}


/* Aura V6.3 — ubicación estática, sin animaciones superpuestas sobre el mapa. */
.aura-location-page .aura-location-ambient,
.aura-location-page .aura-route-art,
.aura-location-page .aura-card-orbit {
  display: none !important;
}

.aura-location-page .aura-location-stage,
.aura-location-page .aura-location-card,
.aura-location-page .aura-map-panel iframe,
.aura-location-page .aura-map-open,
.aura-location-page .aura-location-contact-card,
.aura-location-page .aura-location-note span {
  animation: none !important;
  transition: none !important;
}

.aura-location-page .aura-location-card {
  transform: none !important;
}

.aura-location-page .aura-location-stage:hover .aura-map-panel iframe {
  transform: scale(1.025);
  filter: sepia(.22) saturate(.76) contrast(.94) brightness(1.04);
}

.aura-location-page .aura-location-contact-card:hover,
.aura-location-page .aura-map-open:hover,
.aura-location-page .aura-location-primary:hover {
  transform: none !important;
}

.aura-location-page .aura-map-wash {
  opacity: .42;
}

.aura-location-page .aura-location-card::before {
  animation: none !important;
  display: none !important;
}
