:root{--luv-place-accent:var(--trip-accent,var(--module-accent,#a23d63));--luv-place-ink:var(--lv-ink,#183247);--luv-place-muted:var(--lv-muted,#6b7d8b);--luv-place-line:var(--lv-line,#e6ebef);--luv-place-soft:color-mix(in srgb,var(--luv-place-accent) 7%,var(--lv-surface-elevated,#fff))}
.luv-place-card{background:#fff;border:1px solid var(--luv-place-line);border-radius:26px;padding:20px;box-shadow:0 12px 34px rgba(31,50,67,.08);transition:.2s ease;min-width:0}.luv-place-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(31,50,67,.12)}
.luv-place-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.luv-place-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--luv-place-soft);font-size:1.35rem}.luv-place-type{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--luv-place-muted);font-weight:850}.luv-place-card h3{margin:3px 0 0;color:var(--luv-place-ink);font-size:1.1rem}.luv-place-lifecycle{padding:7px 10px;border-radius:999px;background:var(--luv-place-soft);border:1px solid color-mix(in srgb,var(--luv-place-accent) 17%,#e7ecef);font-size:.72rem;font-weight:850;color:#334b5d}.luv-place-address,.luv-place-description{margin:12px 0 0;color:var(--luv-place-muted);line-height:1.5}.luv-place-roles,.luv-place-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.luv-place-roles span,.luv-place-badge{padding:7px 10px;border-radius:999px;background:#f6f8f9;border:1px solid #e9edf0;color:#465b69;font-size:.72rem;font-weight:800}.luv-place-badge.is-match{background:var(--luv-place-soft);border-color:color-mix(in srgb,var(--luv-place-accent) 22%,#e7ebee)}.luv-place-badge.is-warning{background:#fff6f2;color:#8a4c33}.luv-place-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.luv-place-actions button,.luv-place-actions a{min-height:42px;padding:10px 14px;border:1px solid transparent;border-radius:14px;background:var(--luv-place-soft);color:#263d4d;text-decoration:none;font-weight:800;cursor:pointer}.luv-place-actions .primary{background:color-mix(in srgb,var(--luv-place-accent) 14%,#fff);border-color:color-mix(in srgb,var(--luv-place-accent) 22%,#e3e8ec)}
.luv-place-assessment{display:grid;grid-template-columns:1fr 1fr;gap:12px}.luv-place-assessment article{padding:17px;border-radius:19px;background:#f8fafb;border:1px solid #edf0f2}.luv-place-assessment span{font-weight:900;color:var(--luv-place-ink)}.luv-place-assessment ul{margin:10px 0 0;padding-left:18px;color:#4d606e}.luv-place-assessment p{color:#4d606e}.luv-place-assessment .has-warning{background:#fff8f4}
@media(max-width:640px){.luv-place-card{padding:16px;border-radius:22px}.luv-place-card-head{grid-template-columns:auto minmax(0,1fr)}.luv-place-lifecycle{grid-column:1/-1;width:max-content}.luv-place-assessment{grid-template-columns:1fr}}

/* Core 4.5.1.5 — global Place UI contract */
:root{--place-surface:var(--lv-surface-elevated,#fff);--place-surface-raised:var(--lv-surface-elevated,#fff);--place-surface-muted:var(--lv-surface-soft,#f7f9fa);--place-border:var(--luv-place-line);--place-radius-card:24px;--place-radius-overlay:28px;--place-card-padding:18px;--place-control-height:44px;--place-gap-sm:8px;--place-gap-md:14px;--place-gap-lg:22px;--place-shadow-card:0 12px 34px rgba(31,50,67,.08);--place-shadow-overlay:0 28px 80px rgba(20,39,55,.18);--place-accent:var(--luv-place-accent);--place-accent-soft:var(--luv-place-soft)}
.luv-place-card{background:var(--place-surface);border-color:var(--place-border);border-radius:var(--place-radius-card);padding:var(--place-card-padding);box-shadow:var(--place-shadow-card)}
.luv-place-fact-slots{display:flex;flex-wrap:wrap;gap:var(--place-gap-sm)}
.luv-place-detail{border-radius:var(--place-radius-overlay);box-shadow:var(--place-shadow-overlay)}
.luv-place-provider-details{margin-top:var(--place-gap-lg);padding:18px;border:1px solid var(--place-border);border-radius:20px;background:var(--place-surface-muted)}
.luv-place-provider-details>span{display:block;margin-bottom:12px;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--luv-place-accent)}
.luv-place-provider-details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.luv-place-provider-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--place-border) 75%,transparent)}.luv-place-provider-row span{color:var(--luv-place-muted)}.luv-place-provider-row strong,.luv-place-provider-row a{text-align:right;color:var(--luv-place-ink);font-weight:800}
.luv-place-state{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px dashed var(--place-border);border-radius:16px;background:var(--place-surface-muted);color:var(--luv-place-muted)}.luv-place-state p{margin:0}
.luv-place-alternatives{display:block!important}
@media(max-width:640px){.luv-place-provider-details>div{grid-template-columns:1fr}.luv-place-provider-row{align-items:flex-start}.luv-place-card{--place-card-padding:16px;--place-radius-card:22px}}

/* Core 4.5.1.5 — final Place UI behavior closure */
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions button[data-import],:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions button[data-favorite],:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions button[data-rv2-import],:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions button[data-rv2-unfavorite],:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions button[data-place-favorite-action]{background:var(--place-accent,var(--rv2-accent,var(--lv-accent)))!important;color:#fff!important;border-color:var(--place-accent,var(--rv2-accent,var(--lv-accent)))!important}
.luv-place-alternative{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:15px 14px;border:1px solid var(--place-border,#dfe7ea);border-radius:var(--place-radius-card,16px);background:var(--place-surface,#fff);color:var(--luv-place-ink,#17364b);cursor:pointer;font:inherit}.luv-place-alternative span{display:grid;gap:4px}.luv-place-alternative strong{font-size:1rem}.luv-place-alternative small{color:var(--luv-place-muted,#71808b)}.luv-place-alternative b{color:var(--place-accent,var(--rv2-accent,var(--lv-accent)));white-space:nowrap}.luv-place-alternative:hover,.luv-place-alternative:focus-visible{background:var(--place-accent-soft,var(--luv-place-soft));border-color:color-mix(in srgb,var(--place-accent,var(--rv2-accent,var(--lv-accent))) 35%,var(--place-border,#dfe7ea));outline:none}

html[data-theme=dark] .rv2-shell,html[data-theme=dark] .rv2-experience,html[data-theme=dark] .places-hub,html[data-theme=dark] .places-experience{--rv2-ink:var(--lv-text);--rv2-muted:var(--lv-muted);--rv2-line:var(--lv-line);color:var(--lv-text)}
html[data-theme=dark] :is(.rv2-head,.rv2-planned-panel,.rv2-discovery,.rv2-library,.rv2-search-card,.rv2-summary,.rv2-lifecycle,.luv-place-provider-details,.luv-place-assessment article){background:var(--lv-surface-elevated)!important;color:var(--lv-text)!important;border-color:var(--lv-line)!important}
html[data-theme=dark] :is(.rv2-head h1,.rv2-head h2,.rv2-head h3,.rv2-search-card h3,.rv2-experience h2,.rv2-experience h3,.places-hub h1,.places-hub strong){color:var(--lv-text)!important}
html[data-theme=dark] :is(.rv2-head p,.rv2-search-card p,.rv2-search-card small,.rv2-summary p,.places-hub p,.luv-place-provider-row span){color:var(--lv-muted)!important}

/* Build 13.6.3: canonical global Place actions */
.rv2-detail-primary-actions .luv-place-primary-action,.luv-place-actions .luv-place-primary-action{background:var(--place-accent,var(--trip-accent,var(--lv-accent)))!important;border-color:var(--place-accent,var(--trip-accent,var(--lv-accent)))!important;color:var(--trip-accent-contrast,#fff)!important;box-shadow:0 10px 24px color-mix(in srgb,var(--place-accent,var(--lv-accent)) 22%,transparent)!important}
.rv2-detail-primary-actions .luv-place-primary-action:hover,.luv-place-actions .luv-place-primary-action:hover{background:color-mix(in srgb,var(--place-accent,var(--lv-accent)) 88%,#000)!important;color:var(--trip-accent-contrast,#fff)!important}
.luv-place-plan-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.luv-place-plan-fields label{display:grid;gap:7px;font-weight:800}.luv-place-plan-fields input{min-height:48px;padding:10px 13px;border:1px solid var(--place-border);border-radius:14px;background:var(--lv-input);color:var(--lv-text);font:inherit}@media(max-width:560px){.luv-place-plan-fields{grid-template-columns:1fr}}

/* Build 13.6.3 — all global Place detail primary actions are contract-owned */
.rv2-detail-primary-actions>button,.luv-place-actions>button{background:var(--place-accent,var(--trip-accent,var(--module-accent,var(--lv-accent))))!important;border-color:var(--place-accent,var(--trip-accent,var(--module-accent,var(--lv-accent))))!important;color:var(--trip-accent-contrast,#fff)!important;box-shadow:0 10px 24px color-mix(in srgb,var(--place-accent,var(--trip-accent,var(--lv-accent))) 22%,transparent)!important}
.rv2-detail-primary-actions>button:hover,.luv-place-actions>button:hover{background:color-mix(in srgb,var(--place-accent,var(--trip-accent,var(--lv-accent))) 88%,#000)!important;color:var(--trip-accent-contrast,#fff)!important}


/* Build 13.6.9 — canonical Place module shell, collections and planning dialog */
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module).luvia-restaurants-v2{font-family:var(--lv-font-body,Manrope,system-ui,sans-serif);color:var(--lv-text,var(--luv-place-ink));--place-accent:var(--trip-accent,var(--module-accent,var(--lv-accent)))}
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .rv2-head.rv2-head-new{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .rv2-head-copy{min-width:0}
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .rv2-head h2{margin:0;font-family:var(--lv-font-display,var(--lv-font-body,Manrope,system-ui,sans-serif));font-size:clamp(2rem,4vw,3.15rem);line-height:1.02;color:var(--lv-text,#17354d)}
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .rv2-head p{margin:9px 0 0;color:var(--lv-muted,#6f8390);line-height:1.58;max-width:720px}
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .rv2-library{display:grid;gap:14px}
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions>button[data-rv2-import],
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions>button[data-rv2-unfavorite],
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions>button[data-import],
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions>button[data-favorite]{background:var(--place-accent)!important;border-color:var(--place-accent)!important;color:var(--trip-accent-contrast,#fff)!important;box-shadow:0 9px 20px color-mix(in srgb,var(--place-accent) 20%,transparent)!important}
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-actions>.rv2-detail-button{background:color-mix(in srgb,var(--place-accent) 10%,var(--lv-surface-elevated,#fff))!important;border:1px solid color-mix(in srgb,var(--place-accent) 22%,var(--lv-line,#dfe7ea))!important;color:color-mix(in srgb,var(--place-accent) 78%,var(--lv-text,#294357))!important;box-shadow:none!important}
.luv-place-plan-dialog{position:relative!important;width:min(440px,calc(100vw - 28px))!important;box-sizing:border-box!important;padding:30px!important;padding-top:34px!important;overflow:visible!important}
.luv-place-plan-dialog>.rv2-experience-close{position:absolute!important;float:none!important;top:14px!important;right:14px!important;margin:0!important;width:40px!important;height:40px!important;display:grid!important;place-items:center!important;line-height:1!important}
.luv-place-plan-dialog>.rv2-workspace-kicker{display:block;padding-right:48px;font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--place-accent)}
.luv-place-plan-dialog>h3{padding-right:48px;font-family:var(--lv-font-display,var(--lv-font-body,Manrope,system-ui,sans-serif));font-size:1.35rem;line-height:1.2;color:var(--lv-text,#17354d)}
.luv-place-plan-dialog>p{line-height:1.55;color:var(--lv-muted,#6f8390)}
.luv-place-plan-fields{grid-template-columns:1fr!important}
.luv-place-plan-dialog .rv2-planning-actions{margin-top:4px;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.luv-place-plan-dialog .rv2-planning-actions button{min-width:0;white-space:nowrap}
@media(max-width:520px){.luv-place-plan-dialog{padding:24px 20px 20px!important}.luv-place-plan-dialog>.rv2-experience-close{top:10px!important;right:10px!important}.luv-place-plan-dialog .rv2-planning-actions{display:grid;grid-template-columns:1fr 1fr}.luv-place-plan-dialog .rv2-planning-actions button{width:100%}}

/* Core 4.6.9: one canonical favorite action for every Place surface */
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-favorite-toggle{background:var(--place-accent,var(--rv2-accent,var(--lv-accent)))!important;color:var(--luvia-accent-contrast,#fff)!important;border-color:var(--place-accent,var(--rv2-accent,var(--lv-accent)))!important;opacity:1!important;cursor:pointer!important}
:is(#restaurants-module,#accommodations-module,#attractions-module,#photo-spots-module,#shopping-module,#nature-module,#mobility-module) .luv-place-favorite-toggle.is-active{background:color-mix(in srgb,var(--place-accent,var(--rv2-accent,var(--lv-accent))) 72%,#fff)!important}

/* Core 4.19.1 — reusable Place Intelligence insight cards */
.luv-place-insight-section {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 20px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid color-mix(in srgb, var(--place-accent, var(--lv-accent)) 16%, var(--lv-line));
  border-radius: 26px;
  background:
    radial-gradient(circle at 94% 12%, color-mix(in srgb, var(--place-accent, var(--lv-accent)) 13%, transparent) 0 10%, transparent 11%),
    linear-gradient(145deg, color-mix(in srgb, var(--place-accent, var(--lv-accent)) 5%, var(--lv-surface-elevated)), var(--lv-surface-elevated));
  box-shadow: var(--lv-shadow-sm, 0 14px 34px rgba(35, 53, 70, .07));
}

.luv-place-insight-section > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.luv-place-insight-section h3 {
  margin: 5px 0 0;
  color: var(--lv-text);
  font-family: var(--lv-font-display, var(--lv-font-body, Manrope, system-ui, sans-serif));
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  line-height: 1.18;
  text-wrap: balance;
}

.luv-place-insight-section > header p {
  max-width: 680px;
  margin: 8px 0 0;
  color: var(--lv-muted);
  line-height: 1.55;
}

.luv-place-insight-hero-icon {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--place-accent, var(--lv-accent)) 18%, var(--lv-line));
  border-radius: 19px;
  background: color-mix(in srgb, var(--place-accent, var(--lv-accent)) 11%, var(--lv-surface-elevated));
  font-size: 1.75rem;
}

.luv-place-insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.luv-place-insight-card {
  min-width: 0;
  min-height: 152px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--place-accent, var(--lv-accent)) 11%, var(--lv-line));
  border-radius: 20px;
  background: color-mix(in srgb, var(--place-accent, var(--lv-accent)) 3%, var(--lv-surface-soft));
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 55%, transparent);
}

.luv-place-insight-card.is-featured {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--place-accent, var(--lv-accent)) 13%, var(--lv-surface-elevated)), var(--lv-surface-elevated));
  border-color: color-mix(in srgb, var(--place-accent, var(--lv-accent)) 23%, var(--lv-line));
}

.luv-place-insight-card.is-wide {
  grid-column: 1 / -1;
  min-height: 0;
}

.luv-place-insight-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.luv-place-insight-icon {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: color-mix(in srgb, var(--place-accent, var(--lv-accent)) 12%, var(--lv-surface-elevated));
  font-size: 1.15rem;
}

.luv-place-insight-label {
  min-width: 0;
  color: var(--lv-muted);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1.25;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.luv-place-insight-card > strong {
  color: var(--lv-text);
  font-family: var(--lv-font-display, var(--lv-font-body, Manrope, system-ui, sans-serif));
  font-size: clamp(1.02rem, 2vw, 1.25rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.luv-place-insight-card.is-featured > strong {
  font-size: clamp(1.15rem, 2.4vw, 1.48rem);
}

.luv-place-insight-meta {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  color: var(--lv-muted);
  font-size: .75rem;
  line-height: 1.4;
}

.luv-place-insight-meta > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.luv-place-insight-meta em {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  font-style: normal;
  font-size: .68rem;
  font-weight: 900;
  white-space: nowrap;
}

.luv-place-insight-meta em.is-high {
  background: color-mix(in srgb, #28a36a 13%, var(--lv-surface-elevated));
  color: color-mix(in srgb, #188453 82%, var(--lv-text));
}

.luv-place-insight-meta em.is-medium {
  background: color-mix(in srgb, #d89119 14%, var(--lv-surface-elevated));
  color: color-mix(in srgb, #a86700 78%, var(--lv-text));
}

.luv-place-insight-meta em.is-low {
  background: color-mix(in srgb, var(--lv-muted) 11%, var(--lv-surface-elevated));
  color: var(--lv-muted);
}

.luv-place-insight-note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  padding: 13px 15px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--place-accent, var(--lv-accent)) 7%, var(--lv-surface-soft));
  color: var(--lv-muted);
  font-size: .82rem;
  line-height: 1.5;
}

html[data-theme="dark"] .luv-place-insight-section,
html[data-theme="dark"] .luv-place-insight-card {
  box-shadow: none;
}

@media (max-width: 680px) {
  .luv-place-insight-section {
    padding: 20px 16px;
    border-radius: 22px;
  }

  .luv-place-insight-section > header {
    gap: 12px;
  }

  .luv-place-insight-hero-icon {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    font-size: 1.45rem;
  }

  .luv-place-insight-grid {
    grid-template-columns: 1fr;
  }

  .luv-place-insight-card,
  .luv-place-insight-card.is-wide {
    grid-column: auto;
    min-height: 0;
  }

  .luv-place-insight-meta {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* Build 13.19.1 – canonical contract-driven Place planning editor */
.rv2-plan-backdrop[data-luvia-place-plan-editor],.rv2-plan-backdrop{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:20px;background:rgba(17,29,38,.48);backdrop-filter:blur(14px)}
.rv2-plan-dialog.luv-place-plan-dialog,.rv2-plan-dialog{position:relative;width:min(500px,100%);max-height:min(88dvh,760px);overflow:auto;display:grid;gap:16px;padding:28px;border-radius:28px;background:var(--lv-surface-elevated,#fff);box-shadow:var(--place-shadow-overlay,0 30px 90px rgba(12,24,34,.28));border:1px solid color-mix(in srgb,var(--place-accent,var(--rv2-accent,#a23d63)) 18%,var(--lv-line,#e4e9ec));color:var(--lv-text,#17354d)}
.rv2-plan-dialog h3{margin:0;padding-right:42px;font-size:clamp(1.35rem,4vw,1.65rem);line-height:1.25;color:var(--lv-text,#17354d)}
.rv2-plan-dialog>p{margin:-8px 0 4px;color:var(--lv-muted,#718493);line-height:1.5}
.rv2-plan-kicker{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--place-accent,var(--rv2-accent,#a23d63))}
.luv-place-plan-fields{display:grid;gap:14px}
.luv-place-plan-fieldset{min-width:0;margin:0;padding:15px;border:1px solid color-mix(in srgb,var(--place-accent,var(--rv2-accent,#a23d63)) 13%,var(--lv-line,#dbe3e8));border-radius:19px;background:color-mix(in srgb,var(--place-accent,var(--rv2-accent,#a23d63)) 4%,var(--lv-surface-soft,#fbfcfd))}
.luv-place-plan-fieldset legend{padding:0 7px;color:var(--place-accent,var(--rv2-accent,#a23d63));font-size:.75rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.luv-place-plan-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rv2-plan-dialog label{display:grid;gap:7px}.rv2-plan-dialog label span{font-size:.82rem;font-weight:800;color:var(--lv-muted,#526b7c)}
.rv2-plan-dialog input{width:100%;min-width:0;min-height:52px;padding:12px 14px;border:1px solid var(--lv-line,#dbe3e8);border-radius:15px;font:inherit;color:var(--lv-text,#17354d);background:var(--lv-input,var(--lv-surface-elevated,#fbfcfd));color-scheme:light dark}
.rv2-plan-dialog input:focus{outline:3px solid color-mix(in srgb,var(--place-accent,var(--rv2-accent,#a23d63)) 18%,transparent);border-color:var(--place-accent,var(--rv2-accent,#a23d63))}
.rv2-plan-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:var(--lv-surface-soft,#f1f5f6);color:var(--lv-text,#17354d);font-size:22px;cursor:pointer}
.rv2-plan-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.rv2-plan-actions button{min-height:46px;padding:10px 16px;border-radius:14px;border:1px solid var(--lv-line,#dbe3e8);background:var(--lv-surface-elevated,#fff);color:var(--lv-text,#17354d);font-weight:800;cursor:pointer}.rv2-plan-actions .primary{background:var(--place-accent,var(--rv2-accent,#a23d63));color:#fff;border-color:var(--place-accent,var(--rv2-accent,#a23d63))}.rv2-plan-actions button:disabled{cursor:wait;opacity:.68}
.rv2-plan-message{min-height:20px;color:var(--lv-muted,#527064);font-size:.86rem}.rv2-plan-message:not(:empty){color:color-mix(in srgb,#b12635 82%,var(--lv-text));font-weight:750}
html[data-theme="dark"] .rv2-plan-backdrop{background:rgba(4,10,16,.7)}
@media(max-width:680px){.rv2-plan-dialog.luv-place-plan-dialog,.rv2-plan-dialog{padding:24px 18px;border-radius:24px}.luv-place-plan-field-grid{grid-template-columns:1fr}.rv2-plan-actions{display:grid;grid-template-columns:1fr 1fr}.rv2-plan-actions button{width:100%}}

/* Guided Discovery visual language · v13.19.1 */
.places-experience-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px}.places-direct-link,.places-guided-return{border:0;border-radius:999px;padding:12px 17px;background:linear-gradient(135deg,color-mix(in srgb,var(--trip-accent,#ee6f83) 12%,#fff),#f1e9fb);box-shadow:0 12px 32px rgba(57,39,52,.08);font:700 13px Manrope;cursor:pointer}.places-guided-return{margin-top:18px}.luv-discovery-contract-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;margin:0 0 22px;border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--trip-accent,#ee6f83) 15%,#fff),#fff 42%,#f2eafd);box-shadow:0 20px 54px rgba(57,39,52,.08);border:1px solid rgba(88,61,80,.06)}.luv-discovery-contract-banner>div>span{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--trip-accent,#ee6f83)}.luv-discovery-contract-banner h3{margin:5px 0 10px;font-size:20px}.luv-discovery-contract-banner>div>div{display:flex;flex-wrap:wrap;gap:7px}.luv-discovery-contract-banner em{font-style:normal;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.74);font-size:11px;font-weight:700}.luv-discovery-contract-banner button{border:0;border-radius:999px;padding:12px 16px;background:var(--trip-accent,#ee6f83);color:#fff;font-weight:750;white-space:nowrap}.luv-place-card,.rv2-search-card,.places-hub-tile{border-radius:28px!important;box-shadow:0 18px 48px rgba(61,42,56,.08)!important;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease!important}.luv-place-card:hover,.rv2-search-card:hover,.places-hub-tile:hover{transform:translateY(-5px)!important;box-shadow:0 28px 66px rgba(61,42,56,.13)!important}.luv-place-detail-sheet,.luv-place-detail-card{border-radius:32px!important}.luv-place-route-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--trip-accent,#ee6f83) 12%,#fff),#eee7f8);color:#3b3440;text-decoration:none;font-weight:750}
@media(max-width:720px){.places-experience-nav{position:sticky;top:0;z-index:20;padding:10px 4px;background:color-mix(in srgb,#fff 88%,transparent);backdrop-filter:blur(16px)}.luv-discovery-contract-banner{align-items:flex-start;flex-direction:column;border-radius:24px}.luv-discovery-contract-banner button{width:100%}.luv-place-card,.rv2-search-card,.places-hub-tile{border-radius:24px!important}}

/* 13.27.2 Unified Place Surface */
.luv-place-detail{border-radius:32px!important;overflow:hidden!important;background:linear-gradient(145deg,#fff,#fff9fb)!important;box-shadow:0 30px 90px rgba(50,55,80,.22)!important}.luv-place-detail__body{padding:clamp(20px,4vw,44px)!important}.luv-place-detail .rv2-experience-title h2{font-size:clamp(2rem,5vw,4rem)!important;letter-spacing:-.05em;line-height:1.02}.luv-place-detail section{border:1px solid rgba(70,89,110,.12);background:rgba(244,249,250,.72);border-radius:22px;padding:18px;margin-top:16px}
