/* 회원 화면의 공연 이미지·티켓·안내를 연결하는 보라색 팔레트. */
:root{--primary:#7950b3;--primary-hover:#8358bd;--primary-pressed:#644092;--accent-text:#c3a3f0;--icon:#c7a4ed;--tab-active-stroke:#c3a3f0}
.site-header{background:rgba(16,14,23,.98);border-bottom-color:#342c41}
.status-band{background:#191321;border-bottom-color:#342c41}
.brand-tag{border-color:#554162;color:#c4b7d7}
.nav-badge{background:#74509d}.main-nav .nav-link.is-active{color:#d6b7ff}
.page-head{background:radial-gradient(ellipse at 80% 0,rgba(106,67,149,.16),transparent 65%)}
.page-head h1{letter-spacing:-.04em}.page-head p{line-height:1.8}
.auth-card{border-color:#463650;box-shadow:0 22px 70px rgba(5,3,12,.25)}
.transfer-card{background:linear-gradient(135deg,#2c203e,#251d34);border-color:#6d5287}
.transfer-eyebrow{color:#d4b5f4}.guide-code{background:#2c203e;border-color:#775091}
.member-progress .is-current{background:#2e213e;border-color:#9566bd}
.mobile-ticket{border-color:#624277}.mobile-ticket-top{background:linear-gradient(120deg,#593177,#34213f)}
.mobile-ticket .mobile-ticket-eyebrow,.mobile-ticket .mobile-ticket-seat-index{color:#cdb0f3}
.mobile-ticket .ticket-ref-copy{color:#d5b6ff}
.my-bank{background:linear-gradient(145deg,#1e1a27,#1b1d24)}
.site-footer .bg{object-position:center 60%}.site-footer{border-top-color:#3c2b4a}
input[type=checkbox],input[type=radio]{accent-color:#956cc7}
@media(max-width:767px){.page-head{padding-top:34px;padding-bottom:28px}.page-head h1{font-size:29px}.page-head p{font-size:14px}}

/* LATAM venue, sector and real inventory surfaces. */
.editorial-image-label { position:absolute; right:16px; bottom:12px; z-index:3; padding:5px 9px; border-radius:6px; background:rgba(8,9,14,.74); color:#d5d5df; font-size:11px; letter-spacing:.02em; }
.booking-image-label { display:inline-block; color:var(--muted); font-size:11px; margin-bottom:7px; }
.venue-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; margin:20px 0; min-width:0; }
.venue-gallery .figure { margin:0; min-width:0; }
.venue-gallery img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:18px; }
.venue-gallery figcaption { margin-top:10px; color:var(--muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.venue-gallery.is-compact { grid-template-columns:1fr; margin:0; }
.venue-gallery.is-compact .figure:not(:first-child) { display:none; }
.venue-gallery.is-compact img { aspect-ratio:4/3; }
.polish-hero-photo .venue-gallery { height:100%; }
.polish-hero-photo .venue-gallery img { height:100%; aspect-ratio:auto; border-radius:0; }
.polish-hero-photo .venue-gallery figcaption { position:absolute; bottom:10px; right:14px; z-index:2; max-width:50%; color:white; font-size:11px; }
.external-source-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:14px; margin-top:24px; }
.external-source { display:flex; flex-direction:column; justify-content:space-between; gap:20px; min-width:0; overflow-wrap:anywhere; }
.external-source span { color:var(--muted); font-size:12px; }
.latam-arrival .card-grid { margin-top:24px; }
.arrival-time { font-size:24px; font-weight:750; margin:16px 0; }
.latam-arrival .card > .muted { margin-top:14px; font-size:13px; }
.price-basis-note { margin:0 0 24px; padding:16px 18px; border:1px solid var(--border); border-radius:12px; color:var(--muted); }
.custom-seat-map { min-width:0; }
.custom-seat-map .official-map-window { width:100%; }
.custom-seat-map .official-map-window img { width:100%; height:auto; display:block; }
.custom-seat-map.country-pe .official-map-window { aspect-ratio:768/575; overflow:hidden; position:relative; }
.custom-seat-map.country-cl .official-map-window { aspect-ratio:768/590; overflow:hidden; position:relative; }
.custom-seat-map.country-pe .official-map-window img, .custom-seat-map.country-cl .official-map-window img { position:absolute; inset:0 auto auto 0; max-height:none; object-fit:initial; }
.custom-map-sections { display:flex; flex-wrap:wrap; gap:8px; padding:16px; }
.custom-map-sections button { flex:1 1 150px; min-width:0; white-space:normal; line-height:1.4; }
.actual-seat-list { display:grid; gap:20px; margin-top:18px; }
.actual-seat-row h3 { margin:0 0 10px; font-size:14px; color:var(--muted); }
.actual-seat-row > div { display:flex; flex-wrap:wrap; gap:8px; }
.actual-seat-list .actual-seat { width:auto; min-width:52px; min-height:48px; padding:10px 12px; white-space:normal; overflow-wrap:anywhere; }
.standing-selector { padding:24px; border:1px solid var(--border); border-radius:16px; display:grid; gap:16px; background:var(--surface); }
.standing-selector select { max-width:300px; min-height:48px; }
.standing-gates { padding:12px 0; border-block:1px solid var(--border); }
.inventory-pending { display:block; padding:22px; }
.inventory-pending p { margin-top:8px; }
.ticket-gates { margin-top:15px; color:var(--muted); font-size:13px; }
body:has(.country-pe) .map-tabs [data-map-tab="floor"], body:has(.country-cl) .map-tabs [data-map-tab="floor"], body:has(.country-ar) .map-tabs [data-map-tab="floor"] { display:none; }
@media(max-width:600px) {
  .custom-map-sections { padding:10px; gap:6px; }
  .custom-map-sections button { flex-basis:120px; font-size:12px; }
  .standing-selector { padding:18px; }
  .external-source-list { grid-template-columns:1fr; }
  .editorial-image-label { font-size:10px; }
  .map-legend { gap:6px; }
  .legend-btn { font-size:12px; }
}
.custom-seat-map.country-ar .official-map-window { aspect-ratio:535/490; overflow:hidden; position:relative; }
.custom-seat-map.country-ar .official-map-window img { position:absolute; width:261.682%; max-width:none; left:-81.308%; top:-16.326%; height:auto; max-height:none; object-fit:initial; }
.site-header { container-type:inline-size; }
.site-header .wrap { gap:12px; }
.site-header .brand-tag { display:none; }
.site-header .brand-mark { font-size:16px; line-height:1.35; }
.site-header .nav-link { padding-inline:9px; font-size:13px; }
@container (max-width:1199px) {
  .site-header .main-nav, .site-header .header-cta, .site-header .header-auth { display:none; }
  .site-header .menu-toggle { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; margin-left:auto; border-radius:12px; border:1px solid var(--border); background:var(--surface); cursor:pointer; }
  .site-header .menu-toggle img { width:24px; height:24px; }
}
/* A separate navigation row keeps Spanish labels readable without horizontal scrolling. */
@media(min-width:1200px) {
  .site-header .wrap { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; height:auto; min-height:110px; gap:4px 16px; padding-block:9px; }
  .site-header .brand { grid-column:1; grid-row:1; }
  .site-header nav { grid-column:1 / -1; grid-row:2; }
  .site-header .main-nav { justify-content:center; }
  .site-header .header-auth { grid-column:2; grid-row:1; }
  .site-header .header-cta { grid-column:3; grid-row:1; }
}
@container(max-width:1199px) {
  .site-header .wrap { display:flex; min-height:76px; padding-block:0; }
  .site-header nav { display:none; }
}
.mobile-ticket-seat-index { white-space:nowrap; min-width:20px; flex-shrink:0; }
.sale-home-info p { display:flex; flex-wrap:wrap; gap:6px; align-items:baseline; }
.bts-home-hero .hero-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
