/*
Theme Name: No Entres
Theme URI: https://noentres.com/
Author: No Entres
Description: Tema propio para la plataforma de ocio de terror No Entres.
Version: 0.17.4
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: ya-estoy-aqui
*/

:root {
      --bg: #0e1113;
      --surface: #15191c;
      --surface-2: #1b2024;
      --surface-3: #242a2f;
      --line: rgba(236,240,238,.12);
      --muted-line: rgba(236,240,238,.07);
      --ink: #f4f5f2;
      --muted: #b5bab7;
      --faint: #a2aaa6;
      --red: #b6373c;
      --red-bright: #e06469;
      --red-dark: #76272b;
      --cream: #d8d2c9;
      --gold: #c39b5d;
      --green: #58aa79;
      --warning: #d3a65e;
      --shadow: 0 24px 80px rgba(0,0,0,.34);
      --radius: 20px;
      --serif: "Cinzel", Georgia, serif;
      --sans: "Barlow", system-ui, sans-serif;
}

/* Panel profesional: navegación y formularios de alta claridad. */
#view-business .business-navigation {
  position: sticky;
  z-index: 35;
  top: 0;
  display: grid;
  gap: 10px;
  margin-bottom: 26px;
  padding: 12px;
  border: 1px solid #343d42;
  border-radius: 17px;
  background: rgba(15,18,20,.97);
  box-shadow: 0 16px 38px rgba(0,0,0,.32);
  backdrop-filter: blur(14px);
}
#view-business .business-nav-label {
  display: block;
  margin: 0 4px 8px;
  color: #aeb7bb;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
#view-business .business-tabs {
  position: static !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: auto !important;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  backdrop-filter: none;
  scrollbar-width: thin;
}
#view-business .business-tabs button {
  flex: 1 0 128px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
  color: #d7dcde;
  border: 1px solid #343d42;
  border-radius: 12px;
  background: #1b2023;
  font-size: 15px !important;
}
#view-business .business-tabs button:hover { border-color: #68747a; background: #242b2f; }
#view-business .business-tabs button.active { color: #fff; border-color: #9e3b40; background: #7f292e; box-shadow: 0 7px 20px rgba(127,41,46,.28); }
#view-business .business-tabs button.last-minute-tab { color: #fff; border-color: #b74b50; background: #39191c; }
#view-business .business-tabs button.last-minute-tab.active { background: #b6373c; }
#view-business .business-tabs button svg { width: 19px; height: 19px; }
#view-business .business-nav-more { border-top: 1px solid #30383d; padding-top: 9px; }
#view-business .business-nav-more > summary {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 13px;
  color: #d7dcde;
  border-radius: 10px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 750;
  list-style: none;
}
#view-business .business-nav-more > summary::-webkit-details-marker { display: none; }
#view-business .business-nav-more > summary span { display: inline-flex; align-items: center; gap: 9px; }
#view-business .business-nav-more[open] > summary > svg { transform: rotate(180deg); }
#view-business .business-tabs-secondary { padding-top: 8px; }

#view-business .field {
  position: relative;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: 14px;
  cursor: text;
  transition: border-color .18s ease, background-color .18s ease;
}
#view-business label.field:has(select),
#view-business label.field:has(input[type="date"]),
#view-business label.field:has(input[type="time"]) { cursor: pointer; }
#view-business .field:hover { border-color: #3c464c; background: rgba(255,255,255,.018); }
#view-business .field:focus-within { border-color: #a34247; background: rgba(163,66,71,.07); }
#view-business .field.has-value > span { color: #f0f2f1; }
#view-business .field input,
#view-business .field select,
#view-business .field textarea {
  color: #fff !important;
  border: 1px solid #505c62 !important;
  background: #242b2f !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
#view-business .field input:hover,
#view-business .field select:hover,
#view-business .field textarea:hover { border-color: #76838a !important; background: #2a3237 !important; }
#view-business .field input:focus,
#view-business .field select:focus,
#view-business .field textarea:focus { border-color: #d05b61 !important; box-shadow: 0 0 0 3px rgba(208,91,97,.16) !important; }
#view-business .field input::placeholder,
#view-business .field textarea::placeholder { color: #a9b1b4; opacity: 1; }
#view-business .field select option { color: #fff; background: #242b2f; }
#view-business .inline-check,
#view-business .weekday-options label { color: #e6e9e7; border: 1px solid #465158; background: #242b2f; }

#view-business .experience-mode-editor { grid-column: 1/-1; }
#view-business .experience-mode-rows { display: grid; gap: 10px; }
#view-business .experience-mode-row { display: grid; grid-template-columns: minmax(145px,1fr) 120px 120px minmax(220px,1.4fr) 44px; align-items: end; gap: 10px; padding: 13px; border: 1px solid #424d52; border-radius: 13px; background: #1d2326; }
#view-business .experience-mode-row .field { min-width: 0; }
#view-business .experience-mode-row .mini-action { margin-bottom: 2px; }

#view-business .inherited-capacity { display: grid; grid-template-columns: auto minmax(220px,1fr) minmax(210px,auto); align-items: center; gap: 14px; padding: 16px; border: 1px solid #465158; border-radius: 14px; background: #1d2326; }
#view-business .inherited-capacity > svg { width: 26px; color: #e16a70; }
#view-business .inherited-capacity strong { color: #fff; font-size: 16px; }
#view-business .inherited-capacity p { margin: 4px 0 0; color: #b8c0c3; font-size: 14px; }
#view-business .inherited-capacity details { justify-self: end; min-width: 210px; }
#view-business .inherited-capacity summary { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 9px 13px; color: #fff; border: 1px solid #4b575d; border-radius: 10px; background: #272f33; cursor: pointer; }
#view-business .inherited-capacity details[open] summary { margin-bottom: 10px; border-color: #d05b61; }
#view-business .inherited-capacity .field { margin: 0; }

#view-business .schedule-rule-builder { display: grid; gap: 14px; padding: 18px; border: 1px solid #465158; border-radius: 15px; background: #191e21; }
#view-business .schedule-rule-builder .field-heading { display: grid; gap: 3px; }
#view-business .schedule-rule-builder .field-heading small { color: #b9c1c4; font-size: 14px; }
#view-business .schedule-rule-rows { display: grid; gap: 12px; }
#view-business .schedule-rule { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.9fr); gap: 15px 18px; padding: 16px; border: 1px solid #455158; border-radius: 14px; background: #232a2e; }
#view-business .schedule-rule-head { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 11px; border-bottom: 1px solid #3f494e; }
#view-business .schedule-rule-head > div { display: grid; gap: 3px; }
#view-business .schedule-rule-head strong { color: #fff; font-size: 16px; }
#view-business .schedule-rule-head span { color: #b7c0c2; font-size: 14px; }
#view-business .schedule-rule-days,
#view-business .schedule-rule-times { display: grid; align-content: start; gap: 9px; }
#view-business .schedule-rule-days > span,
#view-business .schedule-rule-times > span { color: #e9eceb; font-size: 14px; font-weight: 700; }
#view-business .schedule-rule-days .weekday-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
#view-business .schedule-rule-days .weekday-options label { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 5px; border-radius: 9px; cursor: pointer; }
#view-business .schedule-rule-days .weekday-options label:has(input:checked) { color: #fff; border-color: #d05b61; background: #5a252a; }
#view-business .schedule-time-adder { display: grid; grid-template-columns: minmax(120px,1fr) auto; gap: 8px; }
#view-business .schedule-time-adder input { min-height: 48px; width: 100%; padding: 10px 12px; color: #fff; border: 1px solid #505c62; border-radius: 10px; background: #171c1f; }
#view-business .schedule-time-adder .btn { min-height: 48px; white-space: nowrap; }
#view-business .schedule-time-list { display: flex; flex-wrap: wrap; gap: 7px; min-height: 38px; }
#view-business .schedule-time-list button { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px 7px 12px; color: #fff; border: 1px solid #774047; border-radius: 999px; background: #4f2227; cursor: pointer; }
#view-business .schedule-time-list button:hover { border-color: #df676d; background: #62282d; }
#view-business .schedule-time-list svg { width: 15px; height: 15px; }
#view-business .schedule-rule-mode { grid-column: 1/-1; max-width: 560px; margin: 0; }
#view-business .schedule-rule-builder > .btn { justify-self: start; }

#view-business .session-choice-builder {
  display: grid;
  gap: 14px;
  padding: 20px;
  border: 1px solid #465158;
  border-radius: 15px;
  background: #191e21;
}
#view-business .session-choice-builder .field-heading { display: grid; justify-content: start; margin: 0; }
#view-business .session-choice-builder .field-heading small { color: #b9c1c4; font-size: 14px; }
#view-business .offer-session-toolbar { display: grid; grid-template-columns: minmax(240px,1fr) auto; align-items: end; gap: 12px; }
#view-business .offer-session-date-field { margin: 0; }
#view-business .offer-session-date-field select { text-transform: capitalize; }
#view-business .offer-session-toolbar-actions { display: flex; align-items: center; gap: 8px; }
#view-business .offer-session-toolbar-actions .btn { min-height: 48px; white-space: nowrap; }
#view-business .offer-session-toolbar-actions .btn-quiet { padding-inline: 14px; color: #d7dcde; border: 1px solid #465158; background: #242b2f; }
#view-business .offer-session-toolbar-actions .btn:disabled { cursor: not-allowed; opacity: .45; }
#view-business .offer-session-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
#view-business .offer-session-choice { position: relative; min-height: 72px; cursor: pointer; }
#view-business .offer-session-choice > input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
#view-business .offer-session-choice > span:last-child {
  min-height: 72px;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: 3px;
  padding: 14px 48px 14px 16px;
  border: 1px solid #4a565c;
  border-radius: 13px;
  background: #242b2f;
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}
#view-business .offer-session-choice:hover > span:last-child { border-color: #7a888f; background: #2b3338; transform: translateY(-1px); }
#view-business .offer-session-choice input:checked ~ span:last-child { border-color: #e35f65; background: #542126; box-shadow: 0 0 0 3px rgba(227,95,101,.12); }
#view-business .offer-session-choice b { color: #fff; font-size: 20px; }
#view-business .offer-session-choice small { color: #c3cacc; font-size: 14px; }
#view-business .offer-session-check { position: absolute; z-index: 2; right: 14px; top: 50%; width: 25px; height: 25px; display: grid; place-items: center; color: transparent; border: 2px solid #7a858a; border-radius: 50%; transform: translateY(-50%); }
#view-business .offer-session-choice input:checked + .offer-session-check { color: #fff; border-color: #e35f65; background: #c53e44; }
#view-business .offer-session-check svg { width: 15px; }
#view-business .offer-session-selection { display: grid; gap: 10px; padding: 13px 14px; border: 1px solid #3f494e; border-radius: 12px; background: #202629; }
#view-business .offer-session-selection > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
#view-business .offer-session-selection strong { color: #fff; font-size: 15px; }
#view-business .offer-session-selection > div:first-child span { color: #aeb7ba; font-size: 13px; }
#view-business .offer-session-selection-list { display: flex; flex-wrap: wrap; gap: 7px; }
#view-business .offer-session-selection-list:empty { display: none; }
#view-business .offer-session-selected-chip { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px 7px 12px; color: #fff; border: 1px solid #824046; border-radius: 999px; background: #512126; cursor: pointer; }
#view-business .offer-session-selected-chip:hover { border-color: #e16a70; background: #62272c; }
#view-business .offer-session-selected-chip svg { width: 16px; height: 16px; }
#view-business .offer-create-sessions { justify-self: start; }

#view-business .primary-media-upload { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
#view-business .primary-media-upload strong { color: #fff; font-size: 17px; }
#view-business .primary-media-upload p { margin: 5px 0 0; }
#view-business .primary-media-preview { grid-template-columns: minmax(0,560px); margin-top: 15px; }
#view-business .primary-upload-preview img,
#view-business .primary-upload-preview video { width: 100%; aspect-ratio: 16/9; display: block; object-fit: cover; border-radius: 11px 11px 0 0; background: #08090a; }
#view-business .gallery-upload-heading { margin-top: 25px; padding-top: 22px; border-top: 1px solid #3c464b; }

@media (max-width: 720px) {
  #view-business .business-navigation { top: 0; margin-inline: -2px; padding: 9px; border-radius: 14px; }
  #view-business .business-nav-label { font-size: 11px; }
  #view-business .business-tabs button { flex-basis: 116px; min-height: 50px; padding-inline: 11px; font-size: 14px !important; }
  #view-business .business-tabs-primary button[data-business-tab="summary"] { flex-basis: 105px; }
  #view-business .experience-mode-row { grid-template-columns: 1fr 1fr; }
  #view-business .experience-mode-row .mode-notes { grid-column: 1/-1; }
  #view-business .experience-mode-row .mini-action { justify-self: end; }
  #view-business .inherited-capacity { grid-template-columns: auto 1fr; align-items: start; padding: 14px; }
  #view-business .inherited-capacity details { grid-column: 1/-1; justify-self: stretch; min-width: 0; }
  #view-business .schedule-rule-builder { padding: 14px; }
  #view-business .schedule-rule { grid-template-columns: 1fr; padding: 13px; }
  #view-business .schedule-rule-head,
  #view-business .schedule-rule-mode { grid-column: 1; }
  #view-business .schedule-rule-days .weekday-options { grid-template-columns: repeat(4,minmax(0,1fr)); }
  #view-business .schedule-time-adder { grid-template-columns: 1fr; }
  #view-business .schedule-time-adder .btn { width: 100%; }
  #view-business .offer-session-toolbar { grid-template-columns: 1fr; }
  #view-business .offer-session-toolbar-actions { display: grid; grid-template-columns: 1fr auto; }
  #view-business .offer-session-toolbar-actions .btn { width: 100%; }
  #view-business .offer-session-choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #view-business .offer-session-selection > div:first-child { align-items: flex-start; flex-direction: column; gap: 3px; }
  #view-business .session-choice-builder { padding: 14px; }
  #view-business .primary-media-upload { align-items: stretch; flex-direction: column; }
  #view-business .primary-media-upload .btn { width: 100%; }
}

    * { box-sizing: border-box; }
    [hidden] { display: none !important; }
    html { scroll-behavior: smooth; background: var(--bg); }
    body { margin: 0; min-width: 320px; color: var(--ink); background: radial-gradient(circle at 82% 6%, rgba(83,95,98,.09), transparent 28%), var(--bg); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
    button, input, select { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { color: inherit; }
    img { display: block; width: 100%; }
    a { color: inherit; text-decoration: none; }
    ::selection { color: white; background: var(--red); }

    .grain { position: fixed; inset: 0; z-index: 100; pointer-events: none; opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
    .private-demo { position: sticky; top: 0; z-index: 90; min-height: 34px; display: flex; align-items: center; color: #f7ded9; border-bottom: 1px solid rgba(255,255,255,.09); background: linear-gradient(90deg,#5a1317,#341012); }
    .private-demo .shell { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 9px; letter-spacing: .07em; }
    .private-demo strong { display: inline-flex; align-items: center; gap: 7px; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
    .private-demo i { width: 13px; }
    .private-demo span { color: #d6b8b4; }
    .demo-chip { display: inline-flex; align-items: center; gap: 7px; width: max-content; margin-top: 12px; padding: 7px 10px; color: #e8c7c4; border: 1px solid rgba(216,91,96,.28); border-radius: 999px; background: rgba(184,32,37,.09); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .demo-chip i { width: 13px; }
    .shell { width: min(1320px, calc(100% - 32px)); margin: 0 auto; }
    .view { display: none; min-height: calc(100vh - 132px); animation: enter .35s ease both; }
    .view.active { display: block; }
    @keyframes enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
    .eyebrow { margin: 0 0 12px; color: var(--red-bright); font-size: 11px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
    .section-title { margin: 0; font-family: var(--serif); font-size: clamp(36px, 4vw, 54px); font-weight: 600; line-height: .98; letter-spacing: -.025em; }
    .section-copy { max-width: 580px; margin: 13px 0 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
    .section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
    .text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--cream); background: none; border: 0; padding: 7px 0; cursor: pointer; font-size: 13px; font-weight: 700; }
    .text-link:hover { color: white; }
    .text-link i { width: 16px; }

    .topbar { position: sticky; top: 34px; z-index: 80; border-bottom: 1px solid var(--muted-line); background: rgba(8,8,8,.92); backdrop-filter: blur(20px); }
    .topbar-inner { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
    .brand { display: inline-flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; min-width: 205px; cursor: pointer; background: none; border: 0; padding: 0; text-align: left; }
    .brand-isotype { width: 44px; height: 44px; flex: 0 0 44px; object-fit: contain; }
    .brand-copy { min-width: 0; display: inline-flex; flex-direction: column; justify-content: center; }
    .brand-main { font-family: var(--serif); font-size: 23px; font-weight: 700; line-height: .95; letter-spacing: .015em; }
    .brand-sub { margin-top: 6px; color: var(--red-bright); font-size: 7px; font-weight: 800; letter-spacing: .42em; text-transform: uppercase; }
    .desktop-nav { display: flex; align-items: center; gap: 7px; }
    .nav-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 14px; color: #aaa49d; background: none; border: 0; border-radius: 12px; cursor: pointer; font-size: 12px; font-weight: 700; }
    .nav-btn:hover, .nav-btn.active { color: white; background: rgba(255,255,255,.055); }
    .nav-btn i { width: 16px; height: 16px; }
    .nav-dropdown { position: relative; }
    .nav-dropdown summary { list-style: none; }
    .nav-dropdown summary::-webkit-details-marker { display: none; }
    .nav-dropdown summary i:last-child { width: 12px; transition: transform .2s ease; }
    .nav-dropdown[open] summary { color: white; background: rgba(255,255,255,.055); }
    .nav-dropdown[open] summary i:last-child { transform: rotate(180deg); }
    .nav-dropdown-panel { position: absolute; z-index: 95; top: calc(100% + 9px); left: 0; width: 230px; display: grid; padding: 9px; border: 1px solid var(--line); border-radius: 14px; background: rgba(18,18,18,.98); box-shadow: var(--shadow); }
    .nav-dropdown-panel a, .nav-dropdown-panel button { min-height: 42px; display: flex; align-items: center; padding: 0 12px; color: var(--muted); border: 0; border-radius: 9px; background: transparent; cursor: pointer; font: inherit; font-size: 11px; font-weight: 700; text-align: left; }
    .nav-dropdown-panel a:hover, .nav-dropdown-panel button:hover { color: white; background: rgba(255,255,255,.055); }
    .top-actions { display: flex; align-items: center; gap: 10px; }
    .business-entry { min-height: 40px; display: inline-flex; align-items: center; padding: 0 14px; color: #f0d8d5; border: 1px solid rgba(212,45,50,.34); border-radius: 999px; background: rgba(184,32,37,.1); font-size: 9px; font-weight: 800; white-space: nowrap; }
    .business-entry:hover { color: white; border-color: rgba(212,45,50,.65); background: rgba(184,32,37,.18); }
    .city-pill { display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 14px; color: var(--cream); background: transparent; border: 1px solid var(--line); border-radius: 999px; font-size: 11px; font-weight: 700; }
    .city-pill i { width: 14px; }
    .account-entry { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; color: var(--cream); border: 1px solid var(--line); border-radius: 999px; background: #171515; cursor: pointer; font-size: 10px; font-weight: 800; }
    .account-entry:hover { color: white; border-color: rgba(255,255,255,.25); }
    .account-entry i { width: 15px; }
    .global-search { border-top: 1px solid var(--muted-line); background: rgba(12,12,12,.96); }
    .global-search-inner { height: 54px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; }
    .global-query { min-width: 0; display: flex; align-items: center; gap: 10px; }
    .global-query i { width: 17px; color: var(--red-bright); }
    .global-query input { width: 100%; color: white; border: 0; outline: 0; background: transparent; font-size: 11px; }
    .global-query input::placeholder { color: #6f6a64; }
    .global-location { height: 34px; padding: 0 11px; color: var(--cream); border: 1px solid var(--line); border-radius: 999px; background: #171615; font-size: 9px; }
    .global-submit { width: 38px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 9px; background: var(--red); cursor: pointer; }
    .global-submit i { width: 15px; }

    .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid transparent; border-radius: 12px; cursor: pointer; font-size: 12px; font-weight: 800; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
    .btn:hover { transform: translateY(-1px); }
    .btn i { width: 17px; }
    .btn-primary { color: white; background: var(--red); box-shadow: 0 10px 30px rgba(184,32,37,.18); }
    .btn-primary:hover { background: var(--red-bright); }
    .btn-dark { background: #171515; border-color: var(--line); }
    .btn-dark:hover { border-color: rgba(255,255,255,.22); }
    .btn-ghost { background: transparent; border-color: var(--line); }
    .btn-ghost:hover { background: rgba(255,255,255,.04); }

    /* NAVIGATION HUBS */
    .navigation-hub { padding-bottom: 92px; }
    .hub-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
    .hub-grid-territories { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hub-card { min-height: 220px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 28px; color: var(--ink); border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(145deg,var(--surface-2),var(--surface)); transition: transform .2s ease,border-color .2s ease; }
    .hub-card:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.22); }
    .hub-card-featured { border-color: rgba(212,45,50,.3); background: linear-gradient(145deg,rgba(184,32,37,.16),var(--surface)); }
    .hub-card > i { width: 25px; height: 25px; margin-bottom: auto; color: var(--red-bright); }
    .hub-card span { margin-bottom: auto; color: var(--red-bright); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
    .hub-card h2 { margin: 20px 0 8px; font-family: var(--serif); font-size: 34px; line-height: 1; }
    .hub-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
    .hub-card strong { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-size: 14px; }
    .hub-card strong i { width: 15px; }
    .hub-territory-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; padding:8px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
    .hub-territory-tabs a { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 20px; border-radius:10px; color:var(--muted); font-size:15px; font-weight:800; text-decoration:none; }
    .hub-territory-tabs a:hover,.hub-territory-tabs a.is-active { color:#fff; background:#b91e25; }
    .hub-list-title { margin:42px 0 18px; color:var(--ink); font:600 28px/1.2 var(--serif); }
    .hub-feature { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); }
    .hub-feature > i { width: 36px; height: 36px; color: var(--red-bright); }
    .hub-feature h2 { margin: 0 0 7px; font-family: var(--serif); font-size: 31px; }
    .hub-feature p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.7; }
    .urgent-feature { border-color: rgba(212,45,50,.3); background: linear-gradient(90deg,rgba(184,32,37,.12),var(--surface)); }
    .hub-actions { display: flex; gap: 12px; margin-top: 24px; }
    .map-hub { display: grid; grid-template-columns: .85fr 1.15fr; gap: 18px; }
    .map-hub-copy, .map-hub-visual { min-height: 430px; padding: 32px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); }
    .map-hub-copy strong { display: block; margin: 19px 0 8px; font-family: var(--serif); font-size: 33px; }
    .map-hub-copy p { margin: 0 0 25px; color: var(--muted); line-height: 1.75; }
    .map-hub-visual { position: relative; overflow: hidden; background: radial-gradient(circle at 56% 48%,rgba(184,32,37,.15),transparent 18%),linear-gradient(145deg,#171b1e,#0c0e10); }
    .map-hub-visual::before { content: ""; position: absolute; inset: 8% 15%; opacity: .42; background: repeating-linear-gradient(30deg,transparent 0 28px,rgba(255,255,255,.07) 29px 30px),repeating-linear-gradient(115deg,transparent 0 38px,rgba(255,255,255,.05) 39px 40px); clip-path: polygon(23% 0,80% 5%,100% 39%,78% 100%,16% 84%,0 38%); }
    .map-point { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 7px; color: #eee; font-size: 10px; font-weight: 800; }
    .map-point::before { content: ""; width: 10px; height: 10px; border: 3px solid rgba(255,255,255,.65); border-radius: 50%; background: var(--red); box-shadow: 0 0 0 7px rgba(184,32,37,.16); }
    .point-barcelona { right: 22%; bottom: 25%; }.point-girona { right: 20%; top: 23%; }.point-tarragona { left: 27%; bottom: 18%; }.point-lleida { left: 22%; top: 37%; }
    body:not(.home) .empty-results { display: block; }

    /* HOME */
    .hero { position: relative; min-height: 620px; display: flex; align-items: flex-end; overflow: hidden; border-bottom: 1px solid var(--muted-line); }
    .hero-media { position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(4,4,4,.94) 0%, rgba(4,4,4,.73) 40%, rgba(4,4,4,.18) 76%), linear-gradient(0deg, #080808 0%, transparent 45%), url("https://images.unsplash.com/photo-1703419776762-56bf2020639d?auto=format&fit=crop&q=85&w=2000"); background-position: center; background-size: cover; transform: scale(1.01); }
    .hero-media::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 77% 39%, transparent 0 10%, rgba(0,0,0,.14) 45%, rgba(0,0,0,.48)); }
    .hero-content { position: relative; z-index: 2; padding: 92px 0 72px; }
    .status-line { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; color: #c7c0b6; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    .status-dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--red-bright); box-shadow: 0 0 0 5px rgba(212,45,50,.13); }
    .status-dot::after { content: ""; position: absolute; inset: -4px; border: 1px solid rgba(212,45,50,.5); border-radius: 50%; animation: pulse 1.8s infinite; }
    @keyframes pulse { 70%, 100% { transform: scale(2); opacity: 0; } }
    .hero h1 { max-width: 980px; margin: 0 0 31px; font-family: var(--serif); font-size: clamp(48px, 4.7vw, 68px); font-weight: 600; line-height: 1.02; letter-spacing: -.025em; text-wrap: balance; }
    .hero h1 em { display: block; color: var(--red-bright); font-weight: 500; }
    .hero-lead { max-width: 560px; margin: 23px 0 30px; color: #c3bdb4; font-size: 15px; line-height: 1.7; }
    .search-panel { width: min(1100px, 100%); display: grid; grid-template-columns: 1.22fr .9fr .78fr 1.18fr 112px; background: rgba(17,16,15,.94); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; box-shadow: var(--shadow); backdrop-filter: blur(18px); overflow: hidden; }
    .search-field { position: relative; min-width: 0; min-height: 78px; display: flex; flex-direction: column; justify-content: center; padding: 14px 20px 13px; border-right: 1px solid var(--line); }
    .search-field label, .search-field > span { display: block; margin-bottom: 7px; color: var(--faint); font-size: 11px; font-weight: 750; letter-spacing: .02em; text-transform: none; }
    .search-field select, .search-field input { width: 100%; color: var(--ink); background: transparent; border: 0; outline: 0; font-size: 15px; font-weight: 650; appearance: none; }
    .search-field select option { color: white; background: #151414; }
    .search-go { width: auto; min-width: 96px; min-height: 62px; display: flex; align-items: center; justify-content: center; gap: 8px; margin: 8px; padding: 0 15px; border: 0; border-radius: 12px; background: var(--red); cursor: pointer; font-size: 12px; font-weight: 800; }
    .search-go:hover { background: var(--red-bright); }
    .search-go i { width: 19px; }
    .trust-row { display: flex; gap: 25px; margin-top: 25px; color: #8d8881; font-size: 10px; font-weight: 600; }
    .trust-row span { display: inline-flex; align-items: center; gap: 7px; }
    .trust-row i { width: 13px; color: var(--cream); }

    .section { padding: 86px 0; }
    .section-tight { padding-top: 48px; }
    .stats-strip { border-bottom: 1px solid var(--muted-line); }
    .stats { display: grid; grid-template-columns: repeat(4,1fr); padding: 20px 0; }
    .stat { padding: 7px 24px; border-right: 1px solid var(--muted-line); text-align: center; }
    .stat:first-child { padding-left: 0; }
    .stat:last-child { border: 0; }
    .stat strong { display: block; font-family: var(--serif); font-size: 28px; font-weight: 600; }
    .stat span { color: var(--faint); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

    .sponsored-section { padding-bottom: 24px; }
    .sponsored-note { max-width: 590px; }
    .sponsored-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
    .sponsored-card { position: relative; min-height: 390px; overflow: hidden; display: flex; align-items: flex-end; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: #151312; cursor: pointer; box-shadow: 0 18px 46px rgba(0,0,0,.25); transition: transform .25s ease, border-color .25s ease; }
    .sponsored-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.28); }
    .sponsored-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
    .sponsored-card:hover > img { transform: scale(1.035); }
    .sponsored-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,4,4,.98) 0%, rgba(4,4,4,.72) 37%, rgba(4,4,4,.08) 76%), linear-gradient(90deg, rgba(0,0,0,.24), transparent); }
    .sponsor-label { position: absolute; z-index: 2; top: 15px; left: 15px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; color: #ded8ce; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(7,7,7,.7); backdrop-filter: blur(10px); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
    .sponsor-label i { width: 11px; }
    .sponsored-content { position: relative; z-index: 2; width: 100%; padding: 24px; }
    .sponsored-content h3 { margin: 8px 0 7px; font-family: var(--serif); font-size: 31px; font-weight: 600; line-height: 1; }
    .sponsored-content p { margin: 0; color: #aaa39a; font-size: 11px; line-height: 1.55; }
    .sponsored-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 19px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.13); color: var(--cream); font-size: 10px; font-weight: 700; }
    .sponsored-meta span { display: inline-flex; align-items: center; gap: 6px; }
    .sponsored-meta i { width: 13px; color: var(--red-bright); }

    .offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
    .offer-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); cursor: pointer; transition: transform .25s ease, border-color .25s ease; }
    .offer-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.22); }
    .offer-card.featured { grid-column: span 2; display: grid; grid-template-columns: 1.12fr .88fr; min-height: 356px; }
    .offer-image { position: relative; height: 210px; overflow: hidden; background: #1d1918; }
    .featured .offer-image { height: 100%; }
    .offer-image img { height: 100%; object-fit: cover; transition: transform .5s ease; }
    .offer-card:hover .offer-image img { transform: scale(1.025); }
    .offer-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.7), transparent 55%); }
    .offer-top { position: absolute; z-index: 2; top: 14px; left: 14px; right: 14px; display: flex; align-items: center; justify-content: space-between; }
    .discount { min-width: 72px; padding: 10px 12px; border-radius: 9px; background: linear-gradient(135deg,var(--red-bright),var(--red-dark)); box-shadow: 0 10px 28px rgba(184,32,37,.38); font-size: 17px; font-weight: 800; line-height: 1; text-align: center; }
    .discount small { display: block; margin-top: 5px; color: #ffd6d6; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
    .like-btn { width: 34px; height: 34px; display: grid; place-items: center; color: white; background: rgba(8,8,8,.58); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; backdrop-filter: blur(10px); cursor: pointer; }
    .like-btn i { width: 15px; fill: transparent; }
    .like-btn.liked { color: #ff6266; }
    .like-btn.liked i { fill: currentColor; }
    .offer-body { padding: 19px; }
    .featured .offer-body { display: flex; flex-direction: column; justify-content: center; padding: 30px; }
    .offer-type { color: var(--red-bright); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    .offer-card h3 { margin: 9px 0 7px; font-family: var(--serif); font-size: 31px; font-weight: 600; line-height: 1; }
    .featured h3 { font-size: 39px; }
    .offer-location { display: flex; align-items: center; gap: 6px; color: #c3bbb1; font-size: 11px; }
    .offer-location i { width: 12px; }
    .offer-capacity { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; color: #e7dfd5; font-size: 11px; font-weight: 750; }
    .offer-capacity i { width: 14px; color: var(--gold); }
    .offer-info { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 20px 0; padding: 15px 0; border-block: 1px solid var(--muted-line); }
    .offer-info span { color: #8c857d; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .offer-info strong { display: block; margin-top: 5px; color: #f3e9dc; font-size: 13px; }
    .offer-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
    .countdown-label { color: #938b83; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .countdown { display: block; margin-top: 4px; color: #ff666a; font-variant-numeric: tabular-nums; font-size: 17px; font-weight: 800; }
    .price { text-align: right; }
    .old-price { display: block; color: var(--faint); font-size: 9px; text-decoration: line-through; }
    .price strong { font-family: var(--serif); font-size: 33px; font-weight: 600; line-height: 1; }
    .price small { color: var(--faint); font-size: 8px; }

    .agenda-wrap { background: #0c0c0c; border-block: 1px solid var(--muted-line); }
    .agenda-list { border-top: 1px solid var(--line); }
    .agenda-item { display: grid; grid-template-columns: 92px 1fr 150px 130px 30px; align-items: center; gap: 22px; padding: 22px 8px; border-bottom: 1px solid var(--muted-line); cursor: pointer; transition: background .2s; }
    .agenda-item:hover { background: rgba(255,255,255,.025); }
    .date-block strong { display: block; font-family: var(--serif); font-size: 35px; font-weight: 600; line-height: .8; }
    .date-block span { color: var(--red-bright); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    .agenda-main { display: flex; align-items: center; gap: 16px; min-width: 0; }
    .agenda-thumb { width: 62px; height: 62px; flex: 0 0 auto; overflow: hidden; border-radius: 11px; }
    .agenda-thumb img { height: 100%; object-fit: cover; }
    .agenda-main h4 { margin: 0 0 6px; font-family: var(--serif); font-size: 22px; font-weight: 600; }
    .agenda-main p, .agenda-meta { margin: 0; color: var(--muted); font-size: 10px; }
    .agenda-tag { justify-self: start; padding: 7px 9px; color: var(--cream); border: 1px solid var(--line); border-radius: 999px; font-size: 8px; font-weight: 700; }
    .agenda-price { text-align: right; }
    .agenda-price strong { font-size: 13px; }
    .agenda-price span { display: block; color: var(--faint); font-size: 8px; }
    .agenda-item > i { width: 17px; color: var(--faint); }
    .agenda-period { margin: 38px 0 10px; padding-bottom: 11px; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 29px; font-weight: 600; }
    .agenda-period:first-child { margin-top: 0; }
    .agenda-location-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
    .agenda-location-copy strong { display: block; font-size: 10px; }
    .agenda-location-copy span { display: block; margin-top: 4px; color: var(--faint); font-size: 8px; }
    .agenda-location-select { min-width: 250px; height: 41px; padding: 0 12px; color: white; border: 1px solid var(--line); border-radius: 10px; background: #181716; font-size: 9px; }
    .agenda-location-combo { min-width: min(420px,100%); display: grid; grid-template-columns: minmax(0,1fr) 42px; gap: 7px; }
    .agenda-location-combo input { min-width: 0; height: 42px; padding: 0 13px; color: white; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #181716; font-size: 10px; }
    .agenda-location-combo input:focus { border-color: rgba(184,32,37,.7); }
    .agenda-location-combo button { display: grid; place-items: center; border: 0; border-radius: 10px; background: var(--red); cursor: pointer; }
    .agenda-location-combo i { width: 15px; }
    .agenda-month-panel[hidden] { display: none; }
    .agenda-month-panel.active { animation: agenda-month-in .2s ease-out; }
    .agenda-empty-month, .agenda-empty-filter { min-height: 180px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 28px; text-align: center; border: 1px dashed var(--line); border-radius: 16px; background: rgba(255,255,255,.018); }
    .agenda-empty-filter[hidden] { display: none; }
    .agenda-empty-month i { width: 27px; color: var(--gold); }
    .agenda-empty-month strong, .agenda-empty-filter strong { font-family: var(--serif); font-size: 20px; }
    .agenda-empty-month span, .agenda-empty-filter span { max-width: 510px; color: var(--muted); font-size: 11px; line-height: 1.55; }
    .agenda-month-navigation { display: grid; grid-template-columns: minmax(150px,1fr) auto minmax(150px,1fr); align-items: center; gap: 12px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
    .agenda-month-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; color: var(--ink); border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); cursor: pointer; font-size: 11px; font-weight: 800; }
    .agenda-month-button:hover { border-color: rgba(224,100,105,.58); background: #252a2e; }
    .agenda-month-button[hidden] { display: none; }
    .agenda-month-button i { width: 17px; }
    .agenda-month-next { justify-self: end; }
    .agenda-month-previous { justify-self: start; }
    .agenda-page-status { color: var(--muted); font-size: 10px; font-weight: 750; text-align: center; }
    @keyframes agenda-month-in { from { opacity: .35; transform: translateY(5px); } to { opacity: 1; transform: none; } }
    @media (min-width: 901px) {
      #view-agenda .agenda-location-bar { min-height: 76px; padding: 18px 20px; }
      #view-agenda .agenda-location-copy strong { font-size: 15px; }
      #view-agenda .agenda-location-copy span { margin-top: 6px; font-size: 13px; }
      #view-agenda .agenda-location-visible-label { font-size: 12px; }
      #view-agenda .agenda-location-combo input { height: 50px; padding: 0 16px; font-size: 14px; }
      #view-agenda .agenda-location-combo button { min-height: 50px; padding-inline: 18px; font-size: 13px; }
      #view-agenda .agenda-filter-tabs { margin-bottom: 34px; }
      #view-agenda .agenda-filter-tabs .alert-tab { min-height: 50px; padding: 12px 22px; font-size: 14px; }
      #view-agenda .agenda-period { margin-bottom: 14px; padding-bottom: 16px; font-size: 36px; }
      #view-agenda .agenda-item { grid-template-columns: 112px minmax(0,1fr) 170px 178px 34px; gap: 26px; min-height: 112px; padding: 27px 12px; }
      #view-agenda .date-block { min-height: 82px; padding-left: 14px; }
      #view-agenda .date-block strong { font-size: 48px; }
      #view-agenda .date-block span { margin-top: 11px; font-size: 12px; }
      #view-agenda .agenda-thumb { width: 78px; height: 78px; border-radius: 13px; }
      #view-agenda .agenda-main { gap: 20px; }
      #view-agenda .agenda-main h4 { margin-bottom: 8px; font-size: 27px; line-height: 1.15; }
      #view-agenda .agenda-main p, #view-agenda .agenda-meta { font-size: 15px; line-height: 1.45; }
      #view-agenda .info-badge { margin-top: 10px; padding: 7px 10px; font-size: 11px; }
      #view-agenda .info-badge i { width: 15px; }
      #view-agenda .agenda-tag { padding: 10px 14px; font-size: 13px; }
      #view-agenda .agenda-price strong { font-size: 19px; line-height: 1.25; }
      #view-agenda .agenda-price span { margin-top: 5px; font-size: 12px; line-height: 1.35; }
      #view-agenda .agenda-item > i, #view-agenda .agenda-item > svg { width: 22px; }
      #view-agenda .agenda-empty-month strong, #view-agenda .agenda-empty-filter strong { font-size: 25px; }
      #view-agenda .agenda-empty-month span, #view-agenda .agenda-empty-filter span { font-size: 14px; }
      #view-agenda .agenda-month-navigation { gap: 20px; margin-top: 32px; padding-top: 24px; }
      #view-agenda .agenda-month-button { min-width: 190px; min-height: 56px; padding: 0 22px; font-size: 15px; }
      #view-agenda .agenda-month-button i { width: 20px; }
      #view-agenda .agenda-page-status { font-size: 14px; }
    }
    .date-block { min-height: 68px; display: flex; flex-direction: column; justify-content: center; padding-left: 10px; border-left: 2px solid var(--red); }
    .date-block strong { font-size: 42px; line-height: .72; }
    .date-block span { margin-top: 8px; color: #e4d9ca; font-size: 9px; letter-spacing: .12em; }
    .info-badge, .verified-badge { display: inline-flex; align-items: center; gap: 5px; margin-top: 7px; padding: 5px 7px; border-radius: 999px; font-size: 7px; font-weight: 800; text-transform: uppercase; }
    .info-badge { color: #a9a29a; border: 1px solid var(--line); background: #171615; }
    .verified-badge { color: #cfe5d5; border: 1px solid rgba(99,173,122,.25); background: rgba(99,173,122,.08); }
    .info-badge i, .verified-badge i { width: 10px; }

    /* SEARCH RESULTS */
    .results-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
    .results-header h1 { max-width: 880px; margin: 0; font-family: var(--serif); font-size: clamp(48px,6vw,72px); font-weight: 600; line-height: .9; }
    .results-count { color: var(--muted); font-size: 10px; white-space: nowrap; }
    .results-filters { display: grid; grid-template-columns: 1.1fr .8fr .7fr 1fr auto; gap: 1px; margin-bottom: 30px; padding: 6px; border: 1px solid var(--line); border-radius: 16px; background: #121110; }
    .results-filter { min-width: 0; padding: 9px 12px; border-right: 1px solid var(--muted-line); }
    .results-filter span { display: block; margin-bottom: 5px; color: var(--faint); font-size: 7px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
    .results-filter select, .results-filter input { width: 100%; min-width: 0; color: white; border: 0; outline: 0; background: transparent; font-size: 10px; }
    .results-filter option { background: #171615; }
    .results-apply { min-width: 118px; border: 0; border-radius: 11px; background: var(--red); cursor: pointer; font-size: 9px; font-weight: 800; }
    .results-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
    .result-card { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); cursor: pointer; transition: transform .2s, border-color .2s; }
    .result-card:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.23); }
    .result-card.registered { border-color: rgba(99,173,122,.23); box-shadow: 0 14px 45px rgba(0,0,0,.24); }
    .result-media { position: relative; height: 190px; }
    .result-media img { height: 100%; object-fit: cover; filter: brightness(.72) saturate(.82); }
    .result-distance { position: absolute; top: 12px; right: 12px; padding: 7px 9px; color: white; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(0,0,0,.65); font-size: 8px; font-weight: 800; }
    .result-body { padding: 18px; }
    .result-body h3 { min-height: 52px; display: -webkit-box; overflow: hidden; margin: 7px 0 6px; font-family: var(--serif); font-size: 27px; font-weight: 600; line-height: .95; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .result-body p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
    .result-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--muted-line); }
    .result-footer strong { font-size: 10px; }
    .result-footer span { color: var(--faint); font-size: 8px; }
    .empty-results { display: none; padding: 55px 20px; grid-column: 1/-1; text-align: center; color: var(--muted); border: 1px dashed var(--line); border-radius: 18px; }

    /* EDITORIAL & ARCHIVE */
    .editorial-lead { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 410px; margin-bottom: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); }
    .editorial-lead-image { min-height: 360px; background: linear-gradient(90deg,transparent,rgba(0,0,0,.18)),url("https://images.unsplash.com/photo-1703419776762-56bf2020639d?auto=format&fit=crop&q=84&w=1300") center/cover; }
    .editorial-lead-copy { display: flex; flex-direction: column; justify-content: center; padding: 45px; }
    .editorial-lead-copy h2 { margin: 0; font-family: var(--serif); font-size: 47px; font-weight: 600; line-height: .92; }
    .editorial-lead-copy p { color: var(--muted); font-size: 11px; line-height: 1.7; }
    .article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
    .article-card { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); cursor: pointer; }
    .article-card img { height: 180px; object-fit: cover; filter: brightness(.7) saturate(.82); }
    .article-card div { padding: 18px; }
    .article-card h3 { min-height: 49px; margin: 7px 0; font-family: var(--serif); font-size: 26px; font-weight: 600; line-height: .95; }
    .article-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
    .article-card time { display: block; margin-top: 14px; color: var(--faint); font-size: 8px; }
    .archive-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; padding: 17px 20px; color: #cec5b8; border: 1px solid rgba(182,154,111,.28); border-radius: 14px; background: rgba(182,154,111,.07); }
    .archive-banner strong { font-size: 11px; }
    .archive-banner span { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
    .archive-banner .btn { flex: 0 0 auto; }
    .business-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; margin: 25px 0 40px; }
    .business-fact { position: relative; min-height: 108px; padding: 21px 22px 19px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: linear-gradient(135deg, #171615, #101010); box-shadow: inset 3px 0 0 rgba(184,32,37,.78); }
    .business-fact::after { content: ""; position: absolute; top: -28px; right: -24px; width: 76px; height: 76px; border-radius: 50%; background: rgba(184,32,37,.07); }
    .business-fact span { position: relative; z-index: 1; display: flex; align-items: center; gap: 7px; color: #b8b0a6; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .business-fact span i { width: 15px; color: var(--red-bright); }
    .business-fact strong { position: relative; z-index: 1; display: block; margin-top: 11px; color: var(--ink); font-size: 15px; font-weight: 650; line-height: 1.45; }
    .related-experiences { margin: 40px 0; padding: 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: linear-gradient(145deg, rgba(111,17,23,.13), rgba(16,16,16,.96) 48%); }
    .related-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 19px; }
    .related-head h2 { margin: 4px 0 0; }
    .related-head p:last-child { max-width: 330px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
    .related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
    .related-card { position: relative; min-width: 0; padding: 19px; text-align: left; color: var(--ink); border: 1px solid var(--line); border-radius: 14px; background: #111; cursor: pointer; transition: transform .2s, border-color .2s, background .2s; }
    .related-card:hover { transform: translateY(-2px); border-color: rgba(212,45,50,.5); background: #171313; }
    .related-card.current { border-color: rgba(212,45,50,.42); box-shadow: inset 0 0 0 1px rgba(212,45,50,.09); }
    .related-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
    .related-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; color: #f1d8d2; background: linear-gradient(145deg, var(--red-dark), #3d0c10); }
    .related-icon i { width: 17px; }
    .related-state { color: var(--faint); font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .related-card.current .related-state { color: #ee8588; }
    .related-card h3 { display: -webkit-box; min-height: 44px; margin: 0 0 7px; overflow: hidden; font-family: var(--serif); font-size: 23px; font-weight: 650; line-height: .98; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .related-card p { min-height: 31px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
    .related-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
    .related-meta span { padding: 5px 7px; color: #bbb2a8; border: 1px solid var(--line); border-radius: 999px; font-size: 8px; }
    .related-arrow { position: absolute; right: 17px; bottom: 17px; width: 15px; color: var(--red-bright); }
    .booking-card .related-experiences { margin: 18px 0 0; padding: 19px 14px 15px; border-radius: 14px; }
    .booking-card .related-head { align-items: flex-start; flex-direction: column; gap: 7px; margin-bottom: 14px; }
    .booking-card .related-head h2 { margin-top: 3px; font-size: 27px; line-height: .95; }
    .booking-card .related-head p:last-child { max-width: none; font-size: 9px; }
    .booking-card .related-grid { grid-template-columns: 1fr; gap: 8px; }
    .booking-card .related-card { padding: 15px; }
    .booking-card .related-card-top { margin-bottom: 11px; }
    .booking-card .related-card h3 { min-height: 0; padding-right: 18px; font-size: 21px; }
    .booking-card .related-card p { min-height: 0; padding-right: 12px; font-size: 8px; }
    .booking-card .related-meta { margin-top: 10px; }
    .operations-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
    .operation-card { display: flex; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #161514; }
    .operation-card i { flex: 0 0 auto; width: 18px; color: var(--red-bright); }
    .operation-card strong { display: block; font-size: 9px; }
    .operation-card span { display: block; margin-top: 4px; color: var(--faint); font-size: 8px; line-height: 1.5; }

    .editorial { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; border: 1px solid var(--line); border-radius: 25px; overflow: hidden; }
    .editorial-image { position: relative; min-height: 420px; background: url("assets/images/neo-caja-negra/neo-caja-negra-its-alive.jpg") center/cover; }
    .editorial-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 50%, rgba(0,0,0,.18)); }
    .editorial-content { display: flex; flex-direction: column; justify-content: center; padding: 60px; background: #12100f; }
    .editorial-content blockquote { margin: 0; font-family: var(--serif); font-size: clamp(37px,4vw,54px); font-weight: 500; line-height: .96; }
    .editorial-content p { margin: 22px 0 30px; color: var(--muted); font-size: 13px; line-height: 1.75; }

    .business-cta { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 50px; padding: 48px; border: 1px solid rgba(184,32,37,.32); border-radius: 24px; background: radial-gradient(circle at 85% 50%, rgba(184,32,37,.18), transparent 32%), #11100f; }
    .business-cta::before { content: ""; position: absolute; inset: 0; opacity: .12; background: repeating-linear-gradient(125deg, transparent 0 18px, rgba(255,255,255,.025) 18px 19px); pointer-events: none; }
    .business-cta h3 { margin: 0; font-family: var(--serif); font-size: 38px; font-weight: 600; }
    .business-cta p { max-width: 650px; margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }

    /* EXPERIENCE */
    .detail-hero { position: relative; height: 570px; overflow: hidden; }
    .detail-hero img { height: 100%; object-fit: cover; }
    .detail-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #080808 0%, transparent 60%), linear-gradient(90deg, rgba(0,0,0,.48), transparent 65%); }
    .back-button { position: absolute; z-index: 3; top: 28px; left: max(24px, calc((100% - 1220px)/2)); width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(0,0,0,.42); backdrop-filter: blur(10px); cursor: pointer; }
    .back-button i { width: 17px; }
    .image-disclaimer { position: absolute; z-index: 3; top: 29px; right: max(24px, calc((100% - 1220px)/2)); padding: 8px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(0,0,0,.58); color: #ddd5ca; backdrop-filter: blur(10px); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
    .detail-title { position: absolute; z-index: 2; bottom: 48px; left: max(24px, calc((100% - 1220px)/2)); right: 24px; }
    .detail-title h1 { max-width: 850px; margin: 8px 0 10px; font-family: var(--serif); font-size: clamp(49px,6.2vw,76px); font-weight: 600; line-height: .94; letter-spacing: -.022em; }
    .detail-meta { display: flex; flex-wrap: wrap; gap: 16px; color: #d3cdc4; font-size: 11px; }
    .detail-meta span { display: inline-flex; align-items: center; gap: 6px; }
    .detail-meta i { width: 13px; }
    .detail-layout { display: grid; grid-template-columns: 1fr 350px; gap: 60px; padding: 56px 0 95px; }
    .detail-copy h2 { margin: 0 0 16px; font-family: var(--serif); font-size: 36px; font-weight: 600; }
    .detail-copy > p { color: #b7b0a7; font-size: 14px; line-height: 1.85; }
    .feature-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 32px 0 43px; }
    .feature-box { min-height: 108px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
    .feature-box i { width: 18px; color: var(--red-bright); }
    .feature-box span { display: block; margin-top: 14px; color: var(--faint); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .feature-box strong { display: block; margin-top: 4px; font-size: 11px; }
    .fear-meter { margin: 24px 0 42px; }
    .fear-label { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }
    .fear-label strong { color: var(--red-bright); }
    .fear-track { display: grid; grid-template-columns: repeat(5,1fr); gap: 5px; margin-top: 10px; }
    .fear-track span { height: 8px; border-radius: 999px; background: #262322; }
    .fear-track span.on { background: linear-gradient(90deg, var(--red-dark), var(--red-bright)); }
    .photo-grid { display: grid; grid-template-columns: 1.45fr 1fr; grid-template-rows: 180px 180px; gap: 10px; }
    .photo-grid img { height: 100%; object-fit: cover; border-radius: 13px; }
    .photo-grid img:first-child { grid-row: span 2; }
    .booking-card { position: sticky; top: 104px; align-self: start; padding: 25px; border: 1px solid var(--line); border-radius: 19px; background: #121110; box-shadow: var(--shadow); }
    .booking-card.has-catalog { position: relative; top: auto; }
    .booking-card .mini-label { color: var(--faint); font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
    .booking-card .booking-price { margin: 7px 0 20px; font-family: var(--serif); font-size: 39px; }
    .booking-price small { color: var(--muted); font-family: var(--sans); font-size: 10px; }
    .date-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-bottom: 18px; }
    .date-option { padding: 10px 5px; color: var(--muted); background: #191716; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; text-align: center; }
    .date-option.active { color: white; border-color: var(--red); background: rgba(184,32,37,.12); }
    .date-option span { display: block; font-size: 8px; font-weight: 700; text-transform: uppercase; }
    .date-option strong { display: block; margin-top: 3px; font-size: 13px; }
    .booking-card .btn { width: 100%; margin-top: 8px; }
    .detail-action { width: 100%; margin-top: 10px; }
    .action-scope { margin-top: 12px; padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.025); }
    .action-scope.business-wide { border-color: rgba(184,32,37,.25); background: linear-gradient(145deg, rgba(111,17,23,.13), rgba(255,255,255,.02)); }
    .action-scope-label { display: flex; align-items: center; gap: 7px; margin-bottom: 4px; color: #c2b9ae; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .action-scope-label i { width: 14px; color: var(--red-bright); }
    .action-scope-copy { display: block; margin: 4px 0 9px; color: var(--faint); font-size: 9px; line-height: 1.45; }
    .parent-business-name { display: block; margin: 6px 0 2px; font-family: var(--serif); color: var(--ink); font-size: 25px; font-weight: 650; line-height: 1; }
    .action-scope .detail-action { margin-top: 8px; }
    .booking-note { display: flex; gap: 8px; margin: 17px 0 0; color: var(--faint); font-size: 9px; line-height: 1.5; }
    .booking-note i { flex: 0 0 auto; width: 13px; color: var(--green); }
    .profile-origin { display: flex; align-items: center; gap: 8px; margin-bottom: 15px; padding: 11px 13px; color: #cfe5d5; border: 1px solid rgba(99,173,122,.25); border-radius: 11px; background: rgba(99,173,122,.07); font-size: 8px; font-weight: 800; }
    .profile-origin i { width: 14px; }
    .verified-reviews { margin-top: 42px; padding-top: 34px; border-top: 1px solid var(--line); }
    .review-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 11px; }
    .review-card { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
    .review-card strong { font-size: 10px; }
    .review-card p { margin: 9px 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
    .review-card span { color: var(--faint); font-size: 8px; }
    .post-booking-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 17px; }
    .post-booking-actions button { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--cream); border: 1px solid var(--line); border-radius: 10px; background: #171515; cursor: pointer; font-size: 8px; font-weight: 800; }
    .post-booking-actions i { width: 14px; }

    /* CHECKOUT */
    .subpage { padding: 66px 0 110px; }
    .subpage-header { margin-bottom: 38px; }
    .subpage-header h1 { margin: 0; font-family: var(--serif); font-size: clamp(47px,6vw,68px); font-weight: 600; line-height: .9; letter-spacing: -.035em; }
    .subpage-header p { margin: 14px 0 0; color: var(--muted); font-size: 13px; }
    .checkout-layout { display: grid; grid-template-columns: 1fr 385px; gap: 42px; }
    .checkout-section { margin-bottom: 17px; padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
    .checkout-section h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; font-family: var(--serif); font-size: 25px; font-weight: 600; }
    .step-num { width: 24px; height: 24px; display: inline-grid; place-items: center; color: white; border-radius: 50%; background: var(--red); font-family: var(--sans); font-size: 9px; font-weight: 800; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
    .field { display: block; }
    .field.full { grid-column: 1 / -1; }
    .field span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 9px; font-weight: 700; }
    .field input, .field select, .field textarea { width: 100%; height: 47px; padding: 0 13px; color: white; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #181716; font-size: 11px; }
    .field textarea { height: 90px; padding-top: 13px; resize: vertical; }
    .field input:focus, .field select:focus, .field textarea:focus { border-color: rgba(184,32,37,.7); box-shadow: 0 0 0 3px rgba(184,32,37,.09); }
    .payment-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .payment-option { padding: 17px; border: 1px solid var(--line); border-radius: 11px; background: #181716; cursor: pointer; }
    .payment-option.active { border-color: var(--red); background: rgba(184,32,37,.08); }
    .payment-option strong { display: block; font-size: 11px; }
    .payment-option small { color: var(--faint); font-size: 8px; }
    .order-summary { position: sticky; top: 103px; align-self: start; overflow: hidden; border: 1px solid var(--line); border-radius: 19px; background: #121110; }
    .summary-image { height: 170px; }
    .summary-image img { height: 100%; object-fit: cover; }
    .summary-body { padding: 24px; }
    .summary-body h3 { margin: 4px 0 6px; font-family: var(--serif); font-size: 26px; }
    .summary-body > p { margin: 0 0 20px; color: var(--muted); font-size: 9px; }
    .summary-line { display: flex; justify-content: space-between; margin: 11px 0; color: var(--muted); font-size: 10px; }
    .summary-line.total { margin-top: 18px; padding-top: 18px; color: white; border-top: 1px solid var(--line); font-size: 12px; }
    .summary-line.total strong { font-family: var(--serif); font-size: 24px; }
    .order-summary .btn { width: 100%; margin-top: 14px; }
    .secure-line { display: flex; justify-content: center; gap: 6px; margin-top: 13px; color: var(--faint); font-size: 8px; }
    .secure-line i { width: 11px; }
    .registered-user { display: flex; align-items: center; gap: 13px; margin-bottom: 19px; padding: 14px; border: 1px solid rgba(99,173,122,.22); border-radius: 12px; background: rgba(99,173,122,.055); }
    .registered-user > i { width: 21px; color: var(--green); }
    .registered-user strong { display: block; font-size: 10px; }
    .registered-user span { display: block; margin-top: 3px; color: var(--faint); font-size: 8px; }
    .availability-line { display: flex; align-items: flex-start; gap: 9px; margin: 14px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
    .availability-line i { flex: 0 0 auto; width: 14px; color: var(--gold); }
    .reserve-button { width: 100%; margin-top: 18px; }
    .checkout-section.is-reserved { border-color: rgba(99,173,122,.34); }
    .checkout-section.is-reserved .step-num { background: var(--green); }
    .payment-stage[hidden] { display: none; }
    .reservation-success { display: none; align-items: center; gap: 12px; margin-top: 17px; padding: 14px; color: #cfe5d5; border: 1px solid rgba(99,173,122,.28); border-radius: 12px; background: rgba(99,173,122,.08); font-size: 9px; line-height: 1.5; }
    .reservation-success.show { display: flex; }
    .reservation-success i { width: 18px; color: var(--green); }
    .summary-status { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; padding: 7px 9px; color: #d5cbbb; border: 1px solid var(--line); border-radius: 999px; background: #181615; font-size: 8px; font-weight: 800; }
    .summary-status.locked { color: #cfe5d5; border-color: rgba(99,173,122,.3); background: rgba(99,173,122,.08); }
    .summary-status i { width: 11px; }
    .nonrefundable { margin: 15px 0 0; padding: 12px; color: #bbb2a6; border-left: 2px solid var(--red); background: rgba(184,32,37,.06); font-size: 8px; line-height: 1.55; }
    .demo-state-controls { margin-bottom: 17px; padding: 16px; border: 1px dashed rgba(182,154,111,.32); border-radius: 14px; background: rgba(182,154,111,.045); }
    .demo-state-controls > span { display: block; margin-bottom: 10px; color: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
    .scenario-buttons { display: flex; flex-wrap: wrap; gap: 7px; }
    .scenario-button { min-height: 34px; padding: 0 11px; color: var(--muted); border: 1px solid var(--line); border-radius: 9px; background: #171615; cursor: pointer; font-size: 8px; font-weight: 800; }
    .scenario-button.active { color: white; border-color: var(--red); background: rgba(184,32,37,.15); }
    .flow-message { display: none; align-items: flex-start; gap: 11px; margin-top: 16px; padding: 14px; border-radius: 12px; font-size: 9px; line-height: 1.55; }
    .flow-message.show { display: flex; }
    .flow-message i { flex: 0 0 auto; width: 18px; }
    .flow-message:not(.error):not(.warning) { color: #cfe5d5; border: 1px solid rgba(99,173,122,.3); background: rgba(99,173,122,.08); }
    .flow-message:not(.error):not(.warning) i { color: var(--green); }
    .flow-message.error { color: #f0c4c5; border: 1px solid rgba(221,67,72,.35); background: rgba(184,32,37,.1); }
    .flow-message.error i { color: #f36c70; }
    .flow-message.warning { color: #e3d1ad; border: 1px solid rgba(182,154,111,.34); background: rgba(182,154,111,.08); }
    .flow-message.warning i { color: var(--gold); }
    .flow-message .inline-retry { display: block; margin-top: 8px; padding: 0; color: white; border: 0; background: none; cursor: pointer; font-size: 8px; font-weight: 850; text-decoration: underline; }

    /* ALERTS */
    .alert-tabs { display: inline-flex; gap: 4px; margin-bottom: 28px; padding: 4px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
    .alert-tab { padding: 10px 16px; color: var(--muted); border: 0; border-radius: 8px; background: transparent; cursor: pointer; font-size: 10px; font-weight: 750; }
    .alert-tab.active { color: white; background: #262220; }
    .alert-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; }
    .panel { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
    .panel-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
    .panel-head h3 { margin: 0; font-family: var(--serif); font-size: 26px; font-weight: 600; }
    .panel-head span { color: var(--faint); font-size: 9px; }
    .followed-item { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid var(--muted-line); }
    .followed-item img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }
    .followed-item h4 { margin: 0 0 5px; font-size: 11px; }
    .followed-item p { margin: 0; color: var(--faint); font-size: 9px; }
    .toggle { position: relative; width: 38px; height: 22px; padding: 0; border: 0; border-radius: 999px; background: #332f2d; cursor: pointer; }
    .toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #8c8680; transition: .2s; }
    .toggle.on { background: var(--red); }
    .toggle.on::after { left: 19px; background: white; }
    .preference { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 0; border-top: 1px solid var(--muted-line); }
    .preference strong { display: block; font-size: 10px; }
    .preference span { display: block; margin-top: 4px; color: var(--faint); font-size: 8px; line-height: 1.5; }
    .city-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding: 20px; border-radius: 14px; background: linear-gradient(120deg, #1d1716, #141313); border: 1px solid rgba(184,32,37,.24); }
    .city-card strong { display: block; font-family: var(--serif); font-size: 23px; }
    .city-card span { color: var(--muted); font-size: 9px; }
    .notification-card { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid var(--muted-line); }
    .notification-icon { width: 37px; height: 37px; flex: 0 0 auto; display: grid; place-items: center; color: #ffb1b3; border-radius: 11px; background: rgba(184,32,37,.15); }
    .notification-icon i { width: 15px; }
    .notification-card h4 { margin: 1px 0 5px; font-size: 10px; }
    .notification-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
    .notification-card time { display: block; margin-top: 6px; color: var(--faint); font-size: 8px; }
    .notification-card > div:last-child { flex: 1; }
    .notification-book { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 8px 10px; color: white; border: 0; border-radius: 8px; background: var(--red); cursor: pointer; font-size: 8px; font-weight: 800; }
    .notification-book i { width: 12px; }
    .account-pane { display: none; }
    .account-pane.active { display: block; }
    .account-list { display: grid; gap: 12px; }
    .account-list-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
    .account-list-card > i { width: 20px; color: var(--red-bright); }
    .account-list-card h4 { margin: 0 0 5px; font-size: 11px; }
    .account-list-card p { margin: 0; color: var(--faint); font-size: 8px; line-height: 1.5; }
    .account-list-card .card-meta { color: var(--cream); font-size: 9px; font-weight: 800; text-align: right; }

    /* BUSINESS */
    .business-view { background: #0b0b0b; }
    .business-top { border-bottom: 1px solid var(--muted-line); background: #0e0d0d; }
    .business-top .shell { min-height: 76px; display: flex; align-items: center; justify-content: space-between; }
    .business-top-actions, .pending-account-actions { display: flex; align-items: center; gap: 10px; }
    .business-mark { display: flex; align-items: center; gap: 12px; }
    .business-mark i { width: 21px; color: var(--red-bright); }
    .business-mark strong { display: block; font-family: var(--serif); font-size: 21px; }
    .business-mark span { display: block; color: var(--faint); font-size: 8px; }
    .business-status { display: inline-flex; align-items: center; gap: 7px; color: var(--green); font-size: 9px; }
    .business-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
    .experience-admin-icon { width: 58px; height: 58px; display: grid; place-items: center; color: var(--red-bright); border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
    .experience-admin-icon i { width: 22px; }
    .business-pending-layout { min-height: calc(100vh - 210px); align-items: center; }
    .business-pending-layout .approval-result { padding: 10px 0; }
    .pending-account-actions { justify-content: center; flex-wrap: wrap; margin-top: 24px; }
    .business-layout { display: grid; grid-template-columns: minmax(0,1fr) 365px; gap: 35px; padding: 45px 0 100px; }
    .business-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; margin-bottom: 26px; }
    .business-intro h1 { margin: 0; font-family: var(--serif); font-size: 47px; font-weight: 600; line-height: .9; }
    .timer-chip { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 10px 13px; color: var(--cream); border: 1px solid var(--line); border-radius: 10px; font-size: 10px; }
    .timer-chip i { width: 14px; color: var(--red-bright); }
    .quick-form { padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
    .quick-form .form-grid { gap: 17px; }
    .price-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .helper { display: block; margin-top: 6px; color: var(--faint); font-size: 8px; line-height: 1.5; }
    .business-submit { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 24px; padding-top: 23px; border-top: 1px solid var(--muted-line); }
    .business-submit p { margin: 0; color: var(--faint); font-size: 8px; line-height: 1.5; }
    .preview-label { margin: 2px 0 12px; color: var(--faint); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
    .live-preview { position: sticky; top: 103px; align-self: start; }
    .preview-phone { padding: 14px; border: 1px solid var(--line); border-radius: 26px; background: #070707; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
    .preview-card { overflow: hidden; border-radius: 17px; background: #151313; }
    .preview-img { position: relative; height: 210px; background: url("https://images.unsplash.com/photo-1648142652719-b934e1f9b2de?auto=format&fit=crop&q=80&w=900") center/cover; }
    .preview-discount { position: absolute; top: 12px; left: 12px; padding: 7px 9px; border-radius: 6px; background: var(--red); font-size: 10px; font-weight: 800; }
    .preview-content { padding: 20px; }
    .preview-content h3 { margin: 7px 0 5px; font-family: var(--serif); font-size: 30px; font-weight: 600; }
    .preview-content p { margin: 0; color: var(--muted); font-size: 9px; }
    .preview-footer { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
    .preview-footer strong { display: block; font-family: var(--serif); font-size: 27px; }
    .preview-footer span { color: var(--red-bright); font-size: 10px; font-weight: 800; }
    .recent-offers { margin-top: 20px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
    .recent-offers h4 { margin: 0 0 12px; font-size: 10px; }
    .recent-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-top: 1px solid var(--muted-line); font-size: 9px; }
    .recent-row span { color: var(--faint); }
    .recent-row b { color: var(--green); font-weight: 700; }

    /* LOCATION, ACCOUNTS & BUSINESS SYSTEM */
    .geo-hint { display: flex; align-items: center; gap: 10px; margin-top: 16px; color: #9f9991; font-size: 10px; }
    .geo-hint button { display: inline-flex; align-items: center; gap: 6px; padding: 0; color: white; border: 0; background: none; cursor: pointer; font-size: 10px; font-weight: 800; }
    .geo-hint i { width: 13px; color: var(--red-bright); }
    .nearby-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
    .nearby-item { display: grid; grid-template-columns: 94px 1fr auto; align-items: center; gap: 17px; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); cursor: pointer; transition: border-color .2s, transform .2s; }
    .nearby-item:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.22); }
    .nearby-item img { width: 94px; height: 78px; object-fit: cover; border-radius: 10px; filter: brightness(.72) saturate(.82); }
    .nearby-item h4 { margin: 0 0 5px; font-family: var(--serif); font-size: 20px; font-weight: 600; }
    .nearby-item p { margin: 0; color: var(--faint); font-size: 8px; line-height: 1.55; }
    .distance-pill { min-width: 66px; padding: 8px 10px; color: var(--cream); border: 1px solid var(--line); border-radius: 999px; text-align: center; font-size: 9px; font-weight: 800; }
    .nearby-pagination { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px; margin-top: 16px; }
    .nearby-page-center { display: grid; justify-items: center; gap: 7px; min-width: 0; }
    .nearby-page-center > span { color: var(--muted); font-size: 12px; font-weight: 700; }
    .nearby-page-numbers { display: flex; align-items: center; justify-content: center; gap: 7px; }
    .nearby-page-number, .nearby-page-nav { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--ink); border: 1px solid var(--line); background: var(--surface-2); font-size: 13px; font-weight: 800; cursor: pointer; transition: border-color .2s, background .2s, opacity .2s; }
    .nearby-page-number { border-radius: 50%; }
    .nearby-page-number[aria-current="page"] { color: #fff; border-color: var(--red-bright); background: var(--red); }
    .nearby-page-nav { gap: 7px; padding: 0 15px; border-radius: 999px; }
    .nearby-page-number:hover, .nearby-page-nav:hover:not(:disabled) { border-color: rgba(255,255,255,.3); background: #202529; }
    .nearby-page-nav:disabled { opacity: .34; cursor: default; }
    .nearby-page-nav i { width: 17px; height: 17px; }
    .offer-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 16px 0 0; }
    .alert-offer-btn, .quick-buy-btn { width: 100%; min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 0 10px; border-radius: 10px; cursor: pointer; font-size: 8px; font-weight: 800; }
    .alert-offer-btn { color: #d9cdbd; border: 1px solid var(--line); background: #171515; }
    .alert-offer-btn i { width: 13px; }
    .alert-offer-btn.on { color: white; border-color: rgba(184,32,37,.55); background: rgba(184,32,37,.14); }
    .quick-buy-btn { color: white; border: 1px solid var(--red); background: var(--red); }
    .quick-buy-btn i { width: 13px; }

    .account-summary { display: grid; grid-template-columns: 1.4fr repeat(3, .6fr); gap: 12px; margin-bottom: 25px; }
    .welcome-card, .account-stat { min-height: 125px; padding: 23px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); }
    .welcome-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: radial-gradient(circle at 90% 30%, rgba(184,32,37,.18), transparent 38%), var(--surface); }
    .welcome-card h2 { margin: 0; font-family: var(--serif); font-size: 31px; font-weight: 600; }
    .welcome-card p { margin: 6px 0 0; color: var(--muted); font-size: 9px; }
    .welcome-avatar { width: 52px; height: 52px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: #211c1b; }
    .account-stat { display: flex; flex-direction: column; justify-content: center; }
    .account-stat span { color: var(--faint); font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .account-stat strong { margin-top: 8px; font-family: var(--serif); font-size: 31px; font-weight: 600; }
    .collector-card { margin-bottom: 20px; padding: 24px; border: 1px solid rgba(182,154,111,.28); border-radius: 18px; background: radial-gradient(circle at 85% 40%, rgba(182,154,111,.13), transparent 34%), #131210; }
    .collector-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
    .collector-head h3 { margin: 0; font-family: var(--serif); font-size: 31px; }
    .collector-head strong { color: var(--gold); font-size: 11px; }
    .level-track { height: 8px; margin: 18px 0 9px; overflow: hidden; border-radius: 999px; background: #292622; }
    .level-track span { display: block; width: 68%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--red),var(--gold)); }
    .level-copy { display: flex; justify-content: space-between; color: var(--faint); font-size: 8px; }
    .account-library { display: grid; grid-template-columns: repeat(4,1fr); gap: 11px; margin-bottom: 20px; }
    .library-card { padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); cursor: pointer; }
    .library-card i { width: 18px; color: var(--red-bright); }
    .library-card strong { display: block; margin-top: 15px; font-size: 10px; }
    .library-card span { display: block; margin-top: 4px; color: var(--faint); font-size: 8px; }
    .reservation-row { display: grid; grid-template-columns: 70px 1fr auto; align-items: center; gap: 15px; padding: 16px 0; border-top: 1px solid var(--muted-line); }
    .reservation-date { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 11px; background: #1d1918; text-align: center; }
    .reservation-date strong { display: block; font-family: var(--serif); font-size: 23px; line-height: .75; }
    .reservation-date span { color: var(--red-bright); font-size: 7px; font-weight: 800; text-transform: uppercase; }
    .reservation-row h4 { margin: 0 0 5px; font-size: 11px; }
    .reservation-row p { margin: 0; color: var(--faint); font-size: 8px; }
    .reservation-status { padding: 7px 9px; color: var(--green); border: 1px solid rgba(99,173,122,.25); border-radius: 999px; font-size: 8px; font-weight: 800; }
    .channel-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
    .channel-card { padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: #181716; cursor: pointer; }
    .channel-card.active { border-color: rgba(184,32,37,.6); background: rgba(184,32,37,.09); }
    .channel-card.future { grid-column: 1 / -1; cursor: default; opacity: .68; }
    .channel-card[disabled] { color: var(--muted); }
    .channel-card i { width: 17px; color: var(--red-bright); }
    .channel-card strong { display: block; margin: 11px 0 4px; font-size: 10px; }
    .channel-card span { color: var(--faint); font-size: 8px; line-height: 1.5; }
    .channel-note { margin: 13px 0 0; color: var(--faint); font-size: 8px; line-height: 1.55; }

    .auth-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
    .auth-copy { position: sticky; top: 110px; padding: 26px 0; }
    .auth-copy h1 { margin: 0; font-family: var(--serif); font-size: clamp(50px,6vw,74px); font-weight: 600; line-height: .88; }
    .auth-copy > p { max-width: 490px; margin: 20px 0 28px; color: var(--muted); font-size: 13px; line-height: 1.75; }
    .auth-benefit { display: flex; gap: 12px; margin: 15px 0; color: var(--cream); font-size: 10px; }
    .auth-benefit i { width: 17px; color: var(--red-bright); }
    .auth-card { padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
    .existing-login { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 18px; color: var(--cream); border: 1px solid var(--line); border-radius: 11px; background: #181716; cursor: pointer; font-size: 9px; font-weight: 800; }
    .existing-login:hover { border-color: rgba(255,255,255,.24); }
    .existing-login i { width: 15px; }
    .role-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 24px; }
    .role-card { min-height: 122px; padding: 18px; text-align: left; border: 1px solid var(--line); border-radius: 14px; background: #171615; cursor: pointer; }
    .role-card.active { border-color: var(--red); background: rgba(184,32,37,.09); }
    .role-card i { width: 19px; color: var(--red-bright); }
    .role-card strong { display: block; margin: 14px 0 5px; font-size: 11px; }
    .role-card span { color: var(--faint); font-size: 8px; line-height: 1.45; }
    .auth-card h3 { margin: 0 0 18px; font-family: var(--serif); font-size: 28px; font-weight: 600; }
    .auth-card .btn { width: 100%; margin-top: 18px; }
    .forgot-password-link { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 8px; color: #f1d9da; border-radius: 10px; font-size: 12px; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(224,89,95,.55); text-underline-offset: 4px; }
    .forgot-password-link:hover, .forgot-password-link:focus-visible { color: #fff; background: rgba(184,32,37,.1); }
    .forgot-password-link i { width: 16px; height: 16px; color: var(--red-bright); }
    .password-recovery-card { max-width: 610px; width: 100%; }
    .password-recovery-card .field > span { font-size: 13px; }
    .password-recovery-card .field input { font-size: 15px; }
    .password-recovery-card .btn, .password-recovery-card .existing-login { font-size: 13px; }
    .recovery-header { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 22px; }
    .recovery-header h3 { margin: 0 0 7px; font-size: 27px; line-height: 1.08; }
    .recovery-header p, .recovery-success p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
    .recovery-icon { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; border: 1px solid rgba(224,89,95,.38); border-radius: 50%; background: rgba(184,32,37,.16); }
    .recovery-icon i { width: 22px; height: 22px; }
    .recovery-icon.success { color: #dff2e5; border-color: rgba(99,173,122,.4); background: rgba(99,173,122,.14); }
    .recovery-note { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
    .recovery-note i { width: 18px; height: 18px; flex: 0 0 auto; color: var(--green); }
    .recovery-back { margin-top: 13px !important; margin-bottom: 0; }
    .recovery-success { padding: 18px 4px 4px; text-align: center; }
    .recovery-success .recovery-icon { margin: 0 auto 18px; }
    .recovery-success h3 { margin: 0 0 9px; font-size: 29px; }
    .auth-status.success { color: #e2f3e7; border-color: rgba(99,173,122,.5); background: rgba(99,173,122,.1); }
    .auth-legal { margin: 12px 0 0; color: var(--faint); font-size: 7px; line-height: 1.55; text-align: center; }
    .auth-status { display: none; margin: 14px 0 0; padding: 13px 15px; border: 1px solid rgba(224,174,81,.45); border-radius: 12px; background: rgba(224,174,81,.08); color: var(--cream); font-size: 11px; line-height: 1.55; }
    .auth-status.show { display: block; }
    .auth-status.error { border-color: rgba(215,74,74,.62); background: rgba(215,74,74,.1); }
    .account-header-actions { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
    .account-header-actions .btn { flex: 0 0 auto; }
    .approval-note { display: none; gap: 11px; margin-top: 15px; padding: 14px; color: #cfc6ba; border: 1px solid rgba(182,154,111,.25); border-radius: 12px; background: rgba(182,154,111,.06); font-size: 8px; line-height: 1.6; }
    .approval-note.show { display: flex; }
    .approval-note i { flex: 0 0 auto; width: 17px; color: var(--gold); }
    .approval-result { display: none; padding: 35px 10px; text-align: center; }
    .approval-result.show { display: block; }
    .approval-result i { width: 42px; color: var(--gold); }
    .approval-result h3 { margin: 17px 0 9px; }
    .approval-result p { margin: 0 auto; max-width: 390px; color: var(--muted); font-size: 10px; line-height: 1.65; }

    .business-tabs { display: flex; gap: 5px; margin-bottom: 27px; padding: 5px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
    .business-tabs button { flex: 1; min-height: 40px; color: var(--muted); border: 0; border-radius: 9px; background: transparent; cursor: pointer; font-size: 9px; font-weight: 800; }
    .business-tabs button.active { color: white; background: #272321; }
    .business-pane { display: none; }
    .business-pane.active { display: block; }
    .ops-config { grid-column: 1 / -1; margin-top: 5px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); }
    .ops-config h4 { margin: 0 0 6px; font-size: 17px; }
    .ops-config > p { margin: 0 0 17px; color: var(--muted); font-size: 13px; line-height: 1.55; }
    .ops-config .form-grid { margin-top: 12px; }
    .tier-editor, .ticket-editor, .question-editor { display: grid; gap: 9px; margin-top: 12px; }
    .config-row { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 9px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
    .config-row.ticket-row { grid-template-columns: 1.05fr .58fr .58fr .9fr 1.25fr auto; }
    .config-row.question-row { grid-template-columns: 1.4fr .8fr 1.1fr auto; }
    .config-row .field span { font-size: 10px; }
    .inline-check { display: flex; align-items: center; gap: 8px; min-height: 44px; color: var(--soft); font-size: 12px; font-weight: 700; }
    .inline-check input { width: 20px; height: 20px; }
    .inline-check a, .auth-legal a { color: var(--cream); text-decoration: underline; text-underline-offset: 3px; }
    .checkout-terms { align-items: flex-start; margin: 14px 0 18px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); font-size: 10px; line-height: 1.55; }
    .checkout-terms input { flex: 0 0 auto; margin-top: 1px; }
    .checkout-terms > span { display: block; min-width: 0; }
    [data-business-pane="compliance"] > * + * { margin-top: 18px; }
    .legal-document { display: grid; gap: 14px; max-width: 880px; margin-top: 20px; }
    .legal-document section { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
    .legal-document h2 { margin: 0 0 8px; color: var(--cream); font-family: var(--sans); font-size: 18px; }
    .legal-document p { margin: 0; color: var(--soft); font-size: 13px; line-height: 1.75; }
    .legal-document .legal-version { padding: 12px 0; color: var(--faint); font-size: 11px; }
    .ops-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
    .session-builder { margin-bottom: 20px; }
    .weekday-options { display: flex; flex-wrap: wrap; gap: 7px; }
    .weekday-options label { display: flex; align-items: center; gap: 6px; min-height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--soft); font-size: 12px; }
    .weekday-options input { width: 18px; height: 18px; }
    .private-admin-channel { max-width: 760px; }
    .private-admin-channel textarea { min-height: 130px; }
    .private-label { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 12px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .live-session-empty { padding: 22px; border: 1px dashed var(--line-strong); border-radius: 12px; color: var(--muted); text-align: center; }
    .business-catalog-error { display: grid; justify-items: center; gap: 10px; color: var(--text); }
    .business-catalog-error span { color: var(--muted); font-size: 1rem; line-height: 1.5; }
    .business-catalog-error .btn { margin-top: 4px; }
    .deposit-helper { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 1.45; }
    .business-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 22px; }
    .business-metric { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
    .business-metric span { color: var(--faint); font-size: 8px; font-weight: 800; text-transform: uppercase; }
    .business-metric strong { display: block; margin-top: 8px; font-family: var(--serif); font-size: 27px; font-weight: 600; }
    .business-metric small { color: var(--green); font-size: 7px; }
    .portfolio-panel { margin-bottom: 22px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
    .portfolio-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 13px; }
    .portfolio-head h3 { margin: 0; font-family: var(--serif); font-size: 27px; font-weight: 600; }
    .experience-admin { display: grid; grid-template-columns: 54px 1fr auto auto; align-items: center; gap: 13px; padding: 13px 0; border-top: 1px solid var(--muted-line); }
    .experience-admin img { width: 54px; height: 54px; object-fit: cover; border-radius: 9px; }
    .experience-admin h4 { margin: 0 0 4px; font-size: 10px; }
    .experience-admin p { margin: 0; color: var(--faint); font-size: 8px; }
    .experience-admin .session-count { color: var(--cream); font-size: 8px; text-align: right; }
    .mini-action { width: 32px; height: 32px; display: grid; place-items: center; color: var(--muted); border: 1px solid var(--line); border-radius: 9px; background: transparent; cursor: pointer; }
    .mini-action i { width: 13px; }
    .integration-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; margin-bottom: 22px; padding: 20px; border: 1px solid rgba(182,154,111,.22); border-radius: 16px; background: linear-gradient(120deg,#171513,#111010); }
    .integration-card > i { width: 23px; color: var(--gold); }
    .integration-card h4 { margin: 0 0 5px; font-size: 11px; }
    .integration-card p { margin: 0; color: var(--faint); font-size: 8px; line-height: 1.5; }
    .commission-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; padding: 14px 17px; border: 1px solid var(--line); border-radius: 12px; background: #151413; }
    .commission-bar strong { font-size: 9px; }
    .commission-bar span { color: var(--faint); font-size: 8px; }
    .commission-badges { display: flex; gap: 7px; }
    .commission-badges b { padding: 6px 8px; color: var(--cream); border-radius: 8px; background: #272321; font-size: 8px; }
    .editor-shell { display: grid; grid-template-columns: 1.05fr .95fr; gap: 18px; }
    .editor-card, .calendar-card, .admin-review-card { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
    .editor-card h3, .calendar-card h3, .admin-review-card h3 { margin: 0 0 17px; font-family: var(--serif); font-size: 27px; font-weight: 600; }
    .editor-card .btn { width: 100%; margin-top: 17px; }
    .session-table { display: grid; gap: 8px; }
    .session-row { display: grid; grid-template-columns: 92px 1fr auto auto; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid var(--muted-line); border-radius: 11px; background: #151413; }
    .session-row time { color: var(--red-bright); font-size: 9px; font-weight: 850; }
    .session-row strong { display: block; font-size: 10px; }
    .session-row span { display: block; margin-top: 3px; color: var(--faint); font-size: 8px; }
    .capacity-pill { padding: 7px 9px; color: var(--cream); border: 1px solid var(--line); border-radius: 999px; font-size: 8px; font-weight: 800; white-space: nowrap; }
    .capacity-pill.warning { color: #e3d1ad; border-color: rgba(182,154,111,.3); }
    .capacity-pill.danger { color: #f0c4c5; border-color: rgba(221,67,72,.34); }
    .calendar-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 16px; }
    .calendar-toolbar p { margin: 0; color: var(--faint); font-size: 8px; line-height: 1.5; }
    .approval-timeline { display: grid; gap: 0; margin: 24px 0; }
    .approval-step { display: grid; grid-template-columns: 28px 1fr; gap: 12px; min-height: 62px; }
    .approval-step::before { content: ""; width: 10px; height: 10px; margin: 3px 0 0 5px; border: 2px solid #4b4642; border-radius: 50%; background: #111; box-shadow: 0 19px 0 -4px #4b4642, 0 38px 0 -4px #4b4642; }
    .approval-step.done::before { border-color: var(--green); background: var(--green); }
    .approval-step.current::before { border-color: var(--gold); background: var(--gold); box-shadow: 0 0 0 5px rgba(182,154,111,.1); }
    .approval-step strong { display: block; font-size: 10px; }
    .approval-step span { display: block; margin-top: 4px; color: var(--faint); font-size: 8px; line-height: 1.5; }
    .admin-review-layout { display: grid; grid-template-columns: 1fr 360px; gap: 24px; }
    .review-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
    .review-fact { padding: 15px; border: 1px solid var(--muted-line); border-radius: 11px; background: #151413; }
    .review-fact span { display: block; color: var(--faint); font-size: 8px; }
    .review-fact strong { display: block; margin-top: 5px; font-size: 10px; }
    .review-actions { display: grid; gap: 9px; }
    .review-result { display: none; margin-top: 15px; }
    .review-result.show { display: flex; }

    .toast { position: fixed; z-index: 200; left: 50%; bottom: 30px; display: flex; align-items: center; gap: 10px; max-width: calc(100% - 30px); padding: 13px 17px; color: white; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: #211f1e; box-shadow: var(--shadow); transform: translate(-50%, 130px); opacity: 0; transition: .35s ease; font-size: 10px; font-weight: 700; }
    .toast.show { transform: translate(-50%, 0); opacity: 1; }
    .toast i { width: 16px; color: var(--green); }
    .confirmation { display: none; padding: 34px; text-align: center; }
    .confirmation.show { display: block; }
    .confirmation-icon { width: 60px; height: 60px; display: grid; place-items: center; margin: 0 auto 17px; color: var(--green); border: 1px solid rgba(99,173,122,.3); border-radius: 50%; background: rgba(99,173,122,.1); }
    .confirmation-icon i { width: 26px; }
    .confirmation h3 { margin: 0; font-family: var(--serif); font-size: 34px; }
    .confirmation p { color: var(--muted); font-size: 10px; line-height: 1.6; }

    .footer { padding: 60px 0 94px; border-top: 1px solid var(--muted-line); background: #070707; }
    .footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 45px; }
    .footer-brand-mark { display: flex; align-items: center; gap: 11px; }
    .footer-brand-mark .brand-isotype { width: 50px; height: 50px; flex-basis: 50px; }
    .footer-brand p { max-width: 280px; color: var(--faint); font-size: 10px; line-height: 1.7; }
    .footer h5 { margin: 0 0 14px; color: var(--cream); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
    .footer a { display: block; width: fit-content; margin: 9px 0; color: var(--faint); font-size: 9px; }
    .footer a:hover { color: white; }
    .footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 45px; padding-top: 22px; color: #5e5a56; border-top: 1px solid var(--muted-line); font-size: 8px; }

    /* VISUAL SYSTEM · COMMERCIAL HORROR */
    .topbar { background: rgba(14,17,19,.94); }
    .global-search { background: rgba(17,21,24,.97); }
    .account-entry, .global-location, .btn-dark, .post-booking-actions button { background: var(--surface-2); }
    .agenda-wrap, .business-view { background: #111518; }
    .business-top { background: #15191c; }
    .results-filters, .booking-card, .order-summary, .editorial-content { background: var(--surface); }
    .field input, .field select, .field textarea, .payment-option, .date-option { background: var(--surface-2); }
    .search-panel { background: rgba(24,29,32,.95); }
    .eyebrow { color: var(--gold); }
    .brand-sub { color: #aaa39a; }
    .global-query i, .sponsored-meta i, .feature-box i, .operation-card i, .related-arrow { color: var(--gold); }
    .offer-type { color: var(--cream); }
    .offer-card .offer-type, .preview-content .offer-type, .summary-body .offer-type { color: var(--red-bright); }
    .date-block { border-left-color: var(--gold); }
    .date-block span { color: var(--cream); }
    .business-fact { background: linear-gradient(135deg, var(--surface-2), var(--surface)); box-shadow: inset 3px 0 0 rgba(195,155,93,.72); }
    .business-fact span i { color: var(--gold); }
    .related-experiences { background: linear-gradient(145deg, rgba(195,155,93,.07), rgba(21,25,28,.98) 48%); }
    .operation-card, .related-card { background: var(--surface-2); }
    .offer-card, .result-card, .article-card, .panel, .checkout-section, .feature-box, .review-card, .account-list-card, .quick-form, .portfolio-panel, .editor-card, .calendar-card, .admin-review-card, .business-metric, .nearby-item, .welcome-card, .account-stat, .library-card { box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 12px 38px rgba(0,0,0,.12); }
    .price strong, .booking-card .booking-price, .summary-line.total strong, .preview-footer strong, .business-metric strong, .account-stat strong, .stat strong, .date-block strong, .reservation-date strong { font-family: var(--sans); font-weight: 750; letter-spacing: -.035em; }
    .result-media img, .article-card img, .sponsored-card > img, .offer-image img, .photo-grid img, .detail-hero img, .summary-image img, .experience-admin img, .nearby-item img, .agenda-thumb img { object-position: center; filter: brightness(.84) saturate(.88) contrast(1.04); }
    .offer-image, .result-media, .article-card > img { aspect-ratio: 16 / 10; }
    .offer-image, .result-media { height: auto; }
    .featured .offer-image { height: 100%; aspect-ratio: auto; }
    .article-card > img { height: auto; }

    .photo-requirements { grid-column: 1 / -1; margin-top: 3px; padding: 18px; border: 1px solid rgba(195,155,93,.28); border-radius: 14px; background: rgba(195,155,93,.055); }
    .photo-requirements-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
    .photo-requirements-head div { min-width: 0; }
    .photo-requirements-head strong { display: block; color: var(--ink); font-size: 11px; }
    .photo-requirements-head p { margin: 5px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
    .photo-requirements-head .btn { width: auto; min-height: 38px; flex: 0 0 auto; margin: 0; padding: 0 13px; font-size: 9px; }
    .photo-standard-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 14px; }
    .photo-standard { min-height: 76px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); }
    .photo-standard i { width: 16px; color: var(--gold); }
    .photo-standard strong { display: block; margin-top: 9px; color: var(--cream); font-size: 8px; }
    .photo-standard span { display: block; margin-top: 3px; color: var(--faint); font-size: 7px; line-height: 1.4; }
    .photo-policy { display: flex; align-items: flex-start; gap: 8px; margin: 13px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
    .photo-policy i { flex: 0 0 auto; width: 14px; color: var(--green); }

    .mobile-nav { display: none; }
    .mobile-discovery, .mobile-header-actions, .mobile-filter-toggle { display: none; }

    @media (min-width: 981px) and (max-width: 1260px) {
      .shell { width: min(100% - 22px, 1180px); }
      .topbar-inner { gap: 12px; }
      .brand { min-width: 142px; }
      .nav-btn { gap: 5px; padding-inline: 9px; font-size: 10px; }
      .city-pill { display: none; }
      .business-entry { padding-inline: 11px; font-size: 8px; }
    }

    @media (min-width: 721px) and (max-width: 1400px) {
      .editor-shell { grid-template-columns: minmax(285px,.72fr) minmax(0,1.28fr); }
      .config-row.ticket-row, .config-row.question-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
      .question-row .inline-check { grid-column: 1 / -1; min-height: 38px; }
    }

    @media (max-width: 980px) {
      .desktop-nav { display: none; }
      .hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .map-hub { grid-template-columns: 1fr; }
      .map-hub-copy, .map-hub-visual { min-height: 330px; }
      .hero { min-height: 700px; }
      .results-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .results-filters { grid-template-columns: 1fr 1fr; }
      .results-filter { border-bottom: 1px solid var(--muted-line); }
      .results-apply { min-height: 44px; grid-column: 1/-1; }
      .offer-grid { grid-template-columns: 1fr 1fr; }
      .offer-card.featured { grid-column: 1 / -1; }
      .agenda-item { grid-template-columns: 72px 1fr 110px 25px; }
      .agenda-tag { display: none; }
      .editorial-content { padding: 38px; }
      .detail-layout, .checkout-layout, .business-layout { grid-template-columns: 1fr; }
      .booking-card, .order-summary, .live-preview { position: static; }
      .feature-row { grid-template-columns: repeat(2,1fr); }
      .live-preview { max-width: 420px; }
    }

    @media (max-width: 720px) {
      .shell { width: min(100% - 20px, 620px); }
      .topbar { height: auto; }
      .topbar-inner { height: 58px; gap: 10px; }
      .brand { min-width: auto; }
      .brand-isotype { width: 36px; height: 36px; flex-basis: 36px; }
      .brand-main { font-size: 19px; }
      .brand-sub { margin-top: 4px; font-size: 5px; letter-spacing: .28em; }
      .city-pill { min-height: 44px; height: 44px; padding: 0 12px; background: #17191b; }
      .account-entry { display: none; }
      .business-entry { display: none; }
      .global-search { padding: 8px 0; border-top-color: transparent; background: #0e1113; }
      .global-search-inner { height: 48px; grid-template-columns: minmax(0,1fr) 48px; gap: 7px; padding: 0 6px 0 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: #181b1e; box-shadow: 0 8px 24px rgba(0,0,0,.24); }
      .global-query { gap: 9px; }
      .global-query i { color: #d6d0c8; }
      .global-query input { font-size: 13px; }
      .global-query-label { display: none; }
      .private-demo { min-height: 31px; }
      .private-demo .shell { justify-content: center; text-align: center; }
      .private-demo span { display: none; }
      .topbar { top: 31px; }
      .global-location { display: none; }
      .global-submit { width: 44px; height: 40px; border-radius: 12px; }
      .global-submit span { display: none; }
      body[data-active-view="experience"] .topbar { display: block !important; }
      body[data-active-view="experience"] .experience-intro { padding-top: 10px; }
      .view { min-height: calc(100vh - 114px); }
      .hero { min-height: 342px; align-items: flex-end; }
      .hero-media { background-image: linear-gradient(0deg, #080b0d 0%, rgba(4,6,7,.32) 56%, rgba(4,4,4,.2) 100%), url("https://images.unsplash.com/photo-1703419776762-56bf2020639d?auto=format&fit=crop&q=82&w=1000"); background-position: 64% center; }
      .hero-content { width: 100%; padding: 54px 0 18px; }
      .hero h1 { max-width: 330px; font-size: clamp(42px, 12.5vw, 54px); line-height: .94; }
      .hero-lead { max-width: 320px; margin: 12px 0 17px; color: #ded8cf; font-size: 12px; line-height: 1.45; }
      .search-panel { width: 100%; display: flex; gap: 7px; overflow-x: auto; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; scrollbar-width: none; scroll-snap-type: x proximity; }
      .search-panel::-webkit-scrollbar { display: none; }
      .search-field { flex: 0 0 126px; min-height: 58px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 14px; background: rgba(22,25,27,.96); scroll-snap-align: start; }
      .search-field > span { margin-bottom: 4px; }
      .search-field select, .search-field input { min-height: 24px; padding: 0; font-size: 11px; }
      .search-go { position: sticky; z-index: 2; right: 0; flex: 0 0 58px; width: 58px; min-height: 58px; margin: 0; border-radius: 14px; box-shadow: -12px 0 24px rgba(8,11,13,.72); scroll-snap-align: end; }
      .search-go span { display: none; }
      .geo-hint { display: none; }
      .mobile-discovery { display: block; padding: 22px 0 6px; background: #101315; }
      .mobile-discovery-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
      .mobile-discovery-head strong { font-size: 14px; }
      .mobile-discovery-head button { min-height: 44px; color: #d8d1c8; border: 0; background: transparent; font-size: 10px; font-weight: 800; }
      .mobile-category-strip { width: 100%; display: flex; gap: 9px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
      .mobile-category-strip::-webkit-scrollbar { display: none; }
      .mobile-category { flex: 0 0 88px; min-height: 82px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 9px 7px; color: #e6e1da; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: #181b1e; scroll-snap-align: start; font-size: 9px; font-weight: 800; text-align: center; }
      .mobile-category i { width: 23px; height: 23px; color: #c9c2b8; }
      .mobile-category.urgent { color: white; border-color: rgba(212,45,50,.42); background: linear-gradient(145deg,rgba(184,32,37,.32),#211719); }
      .mobile-category.urgent i { color: #ff6d71; }
      #lastMinute { scroll-margin-top: 150px; }
      .stats { grid-template-columns: repeat(2,1fr); }
      .stat { border-bottom: 1px solid var(--muted-line); }
      .stat:nth-child(2) { border-right: 0; }
      .stat:nth-child(3), .stat:nth-child(4) { border-bottom: 0; }
      .section { padding: 42px 0; }
      .section-head { align-items: flex-start; margin-bottom: 22px; }
      .section-head .text-link { display: none; }
      .section-title { font-size: 34px; }
      .section-copy { max-width: 310px; font-size: 11px; line-height: 1.55; }
      .results-header { display: block; margin-bottom: 18px; }
      .results-header h1 { max-width: 340px; font-size: 36px; line-height: .94; letter-spacing: -.03em; }
      .results-count { display: block; margin-top: 12px; }
      .results-filters { grid-template-columns: 1fr 1fr; margin-bottom: 18px; }
      .results-filter { padding: 9px; }
      .results-grid { grid-template-columns: 1fr; }
      .result-card { display: grid; grid-template-columns: 112px minmax(0,1fr); min-height: 168px; align-items: stretch; }
      .result-media { width: 112px; height: 100%; min-height: 0; aspect-ratio: auto; overflow: hidden; }
      .result-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
      .result-distance { top: 8px; right: 8px; padding: 5px 6px; }
      .result-body { min-width: 0; padding: 14px; }
      .result-body h3 { min-height: 0; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
      .result-body p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
      .result-footer { align-items: flex-start; flex-direction: column; gap: 3px; }
      .result-body h3 { min-height: auto; font-size: 23px; }
      .alert-tabs { width: 100%; max-width: 100%; display: flex; overflow-x: auto; scrollbar-width: none; }
      .alert-tabs::-webkit-scrollbar { display: none; }
      .alert-tab { flex: 0 0 auto; }
      .agenda-location-bar { align-items: stretch; flex-direction: column; gap: 11px; padding: 13px; }
      .agenda-location-select { width: 100%; min-width: 0; }
      .agenda-location-combo { width: 100%; min-width: 0; }
      .discount { min-width: 66px; padding: 9px 10px; font-size: 15px; }
      .editorial-lead { grid-template-columns: 1fr; }
      .editorial-lead-image { min-height: 250px; }
      .editorial-lead-copy { padding: 28px 22px; }
      .editorial-lead-copy h2 { font-size: 38px; }
      .article-grid { grid-template-columns: 1fr; }
      .business-facts, .operations-grid, .related-grid { grid-template-columns: 1fr; }
      .related-experiences { margin: 30px 0; padding: 20px 16px; }
      .related-head { align-items: flex-start; flex-direction: column; gap: 8px; }
      .related-head p:last-child { max-width: none; }
      .archive-banner { align-items: flex-start; flex-direction: column; }
      .sponsored-section { padding-bottom: 10px; }
      .sponsored-grid { display: flex; margin-right: -10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .sponsored-grid::-webkit-scrollbar { display: none; }
      .sponsored-card { min-width: 78vw; min-height: 318px; scroll-snap-align: start; }
      .sponsored-content { padding: 19px; }
      .sponsored-content h3 { font-size: 27px; }
      .sponsored-content p { display: none; }
      .sponsored-meta { margin-top: 13px; padding-top: 12px; font-size: 9px; }
      .sponsored-meta span:last-child { display: none; }
      .offer-grid { display: flex; margin-right: -10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .offer-grid::-webkit-scrollbar { display: none; }
      .offer-card, .offer-card.featured { min-width: 82vw; display: block; scroll-snap-align: start; }
      .featured .offer-image { height: 212px; }
      .offer-image { height: 196px; }
      .featured .offer-body, .offer-body { padding: 17px; }
      .featured h3, .offer-card h3 { font-size: 27px; }
      .offer-info { margin: 13px 0; padding: 11px 0; }
      .agenda-list { border-top: 0; }
      .agenda-item { position: relative; grid-template-columns: 50px minmax(0,1fr); gap: 12px; min-height: 92px; padding: 17px 0; }
      .agenda-thumb { width: 54px; height: 54px; }
      .agenda-main { gap: 11px; padding-right: 72px; }
      .agenda-main h4 { font-size: 18px; }
      .agenda-meta { display: none; }
      .agenda-item > i { display: none; }
      .date-block strong { font-size: 29px; }
      .date-block { min-height: 67px; padding-left: 7px; }
      .date-block strong { font-size: 35px; }
      .date-block span { margin-top: 6px; font-size: 8px; }
      .agenda-period { margin-top: 31px; font-size: 25px; }
      .agenda-price { position: absolute; top: 25px; right: 0; width: 68px; text-align: right; }
      .agenda-price strong { font-size: 10px; white-space: nowrap; }
      .agenda-price span { max-width: 68px; margin-left: auto; line-height: 1.35; }
      .editorial { grid-template-columns: 1fr; }
      .editorial-image { min-height: 350px; }
      .editorial-content { padding: 33px 25px; }
      .business-cta { grid-template-columns: 1fr; gap: 24px; padding: 30px 24px; }
      .business-cta h3 { font-size: 31px; }
      .footer { padding: 32px 0 96px; }
      .footer-grid { display: block; }
      .footer-brand { padding-bottom: 18px; }
      .footer-brand p { display: none; }
      .footer-group { border-top: 1px solid var(--line); }
      .footer-group summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ink); cursor: pointer; font-size: 11px; font-weight: 800; }
      .footer-group summary::-webkit-details-marker { display: none; }
      .footer-group summary::after { content: "+"; color: var(--gold); font-size: 19px; font-weight: 500; }
      .footer-group[open] summary::after { content: "−"; }
      .footer-group > div { padding: 0 0 12px; }
      .footer-group a { min-height: 38px; display: flex; align-items: center; margin: 0; font-size: 10px; }
      .footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 16px; font-size: 9px; line-height: 1.65; }
      .footer-bottom span:last-child { display: flex; flex-wrap: wrap; gap: 4px 10px; }
      .footer-bottom span:last-child a { min-height: 32px; display: inline-flex; align-items: center; margin: 0; }
      .hub-grid, .hub-grid-territories { grid-template-columns: 1fr; }
      .hub-card { min-height: 195px; padding: 23px; }
      .hub-feature { grid-template-columns: 1fr; align-items: flex-start; padding: 23px; }
      .hub-feature .btn { width: 100%; }
      .hub-actions { flex-direction: column; }
      .hub-actions .btn { width: 100%; }
      .map-hub-copy, .map-hub-visual { min-height: 300px; padding: 23px; }

      .detail-hero { height: 530px; }
      .detail-title { bottom: 33px; }
      .detail-title h1 { font-size: 55px; }
      .detail-layout { gap: 32px; padding: 38px 0 90px; }
      .feature-row { grid-template-columns: repeat(2,1fr); }
      .photo-grid { grid-template-rows: 130px 130px; }
      .booking-card { border-radius: 17px; }
      .subpage { padding: 45px 0 100px; }
      .subpage-header { margin-bottom: 25px; }
      .subpage-header h1 { font-size: 48px; }
      .checkout-layout { gap: 20px; }
      .checkout-section { padding: 20px; }
      .form-grid { grid-template-columns: 1fr; }
      .field.full { grid-column: auto; }
      .payment-choice { grid-template-columns: 1fr; }
      .scenario-buttons { display: grid; grid-template-columns: 1fr 1fr; }
      .alert-grid { grid-template-columns: 1fr; }
      .panel { padding: 19px; }
      .business-top .shell { min-height: 65px; gap: 10px; }
      .business-mark { min-width: 0; }
      .business-mark strong { font-size: 19px; }
      .business-status { flex: 0 0 auto; white-space: nowrap; font-size: 8px; }
      .business-layout { padding: 33px 0 90px; }
      .business-intro h1 { font-size: 30px; line-height: 1.05; }
      .timer-chip { display: none; }
      .quick-form { padding: 20px; }
      .price-pair { grid-template-columns: 1fr; }
      .business-submit { align-items: stretch; flex-direction: column; }
      .business-submit .btn { width: 100%; }
      .geo-hint { align-items: flex-start; line-height: 1.5; }
      .geo-hint button { flex: 0 0 110px; }
      .geo-hint span { min-width: 0; }
      .nearby-list { grid-template-columns: 1fr; }
      .nearby-item { grid-template-columns: 76px minmax(0,1fr) auto; gap: 11px; }
      .nearby-item img { width: 76px; height: 68px; }
      .nearby-item h4 { font-size: 18px; }
      .distance-pill { min-width: 56px; padding-inline: 7px; }
      .account-summary { grid-template-columns: repeat(3,1fr); }
      .welcome-card { grid-column: 1 / -1; }
      .welcome-avatar { width: 45px; height: 45px; }
      .account-stat { min-height: 98px; padding: 16px 10px; text-align: center; }
      .account-stat strong { font-size: 27px; }
      .collector-card { padding: 19px; }
      .collector-head h3 { font-size: 26px; }
      .account-library { grid-template-columns: repeat(2,1fr); }
      .account-list-card { grid-template-columns: auto minmax(0,1fr); }
      .account-list-card .card-meta { grid-column: 2; text-align: left; }
      .review-grid, .post-booking-actions { grid-template-columns: 1fr; }
      .channel-grid { grid-template-columns: 1fr; }
      .channel-card.future { grid-column: auto; }
      .reservation-row { grid-template-columns: 60px minmax(0,1fr); }
      .reservation-status { grid-column: 2; justify-self: start; }
      .auth-layout { grid-template-columns: 1fr; gap: 18px; }
      .auth-copy { position: static; padding: 0; }
      .auth-copy h1 { font-size: 49px; }
      .auth-copy > p { font-size: 11px; }
      .auth-benefits { display: none; }
      .auth-card { padding: 20px; }
      .role-card { min-height: 112px; padding: 15px; }
      .business-tabs { display: flex; gap: 6px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: none; }
      .business-tabs::-webkit-scrollbar { display: none; }
      .business-tabs button { flex: 0 0 auto; min-width: 104px; min-height: 44px; padding-inline: 10px; font-size: 10px; scroll-snap-align: start; }
      .config-row, .config-row.ticket-row, .config-row.question-row { grid-template-columns: 1fr; }
      .business-layout > *, .business-layout > div > * { min-width: 0; max-width: 100%; }
      .business-tabs { width: 100%; max-width: 100%; }
      .business-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .business-metric { min-width: 0; }
      .business-metric strong { overflow-wrap: anywhere; }
      .editor-shell, .admin-review-layout { grid-template-columns: 1fr; }
      .review-facts { grid-template-columns: 1fr; }
      .session-row { grid-template-columns: 72px minmax(0,1fr) auto; }
      .session-row .mini-action { display: none; }
      .calendar-toolbar { align-items: flex-start; flex-direction: column; }
      .portfolio-panel, .quick-form { width: 100%; overflow: hidden; }
      .portfolio-head { flex-wrap: wrap; }
      .photo-requirements-head { flex-direction: column; }
      .photo-requirements-head .btn { width: 100%; }
      .photo-standard-grid { grid-template-columns: 1fr 1fr; }
      .experience-admin { grid-template-columns: 48px 1fr auto; }
      .experience-admin .session-count { display: none; }
      .integration-card { grid-template-columns: auto 1fr; }
      .integration-card .btn { grid-column: 1 / -1; width: 100%; }
      .commission-bar { align-items: flex-start; flex-direction: column; }

      body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
      .mobile-nav { position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(5,1fr); min-height: 68px; padding: 7px 7px calc(7px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.1); background: rgba(14,17,19,.97); box-shadow: 0 -12px 30px rgba(0,0,0,.28); backdrop-filter: blur(20px); }
      .mobile-nav.guest { grid-template-columns: repeat(5,1fr); }
      .mobile-nav.professional { grid-template-columns: repeat(3,1fr); }
      .mobile-nav button, .mobile-nav a { min-height: 48px; display: grid; place-items: center; align-content: center; gap: 4px; color: #8f9496; background: none; border: 0; cursor: pointer; font-size: 8px; font-weight: 750; }
      .mobile-nav button.active, .mobile-nav a.active { color: white; }
      .mobile-nav i { width: 19px; height: 19px; }
      .mobile-nav .urgent-mobile { color: white; }
      .mobile-nav .urgent-mobile i { width: 38px; height: 38px; padding: 9px; margin-top: -22px; color: white; border-radius: 50%; background: linear-gradient(145deg,var(--red-bright),var(--red-dark)); box-shadow: 0 8px 22px rgba(184,32,37,.42); }
      .toast { bottom: 84px; }
    }

    /* MOBILE HOME · COMPACT APP-LIKE NAVIGATION */
    @media (max-width: 720px) {
      .topbar-inner { height: 56px; }
      .top-actions, .desktop-nav { display: none; }
      .mobile-header-actions { display: flex; align-items: center; gap: 4px; }
      .mobile-icon-button, .mobile-menu > summary { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; color: #f2eee8; border: 0; border-radius: 12px; background: transparent; cursor: pointer; list-style: none; }
      .mobile-icon-button:hover, .mobile-menu[open] > summary { background: rgba(255,255,255,.07); }
      .mobile-icon-button i, .mobile-menu > summary i { width: 21px; height: 21px; }
      .mobile-menu { position: relative; }
      .mobile-menu > summary::-webkit-details-marker { display: none; }
      .mobile-menu-panel { position: absolute; z-index: 120; top: 50px; right: 0; width: 230px; display: grid; gap: 3px; padding: 9px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(19,22,24,.98); box-shadow: 0 22px 60px rgba(0,0,0,.55); }
      .mobile-menu-panel button { min-height: 46px; display: flex; align-items: center; gap: 10px; padding: 0 13px; color: #eee9e2; border: 0; border-radius: 10px; background: transparent; font-size: 13px; font-weight: 700; text-align: left; }
      .mobile-menu-panel button:hover { background: rgba(255,255,255,.06); }
      .mobile-menu-panel i { width: 18px; height: 18px; color: #c9c1b8; }

      .global-search { padding: 7px 0; }
      .global-search-inner { height: 46px; min-height: 46px; grid-template-columns: minmax(0,1fr) 44px; }
      .global-query input { font-size: 14px; }
      .global-submit { width: 40px; height: 40px; }

      .hero { min-height: 286px; }
      .hero-media { background-position: 62% center; }
      .hero-content { padding: 38px 0 15px; }
      .hero h1 { max-width: 290px; font-size: 38px; line-height: .96; }
      .hero-lead { max-width: 285px; margin: 9px 0 14px; font-size: 13px; line-height: 1.4; }
      .mobile-filter-toggle { width: 100%; min-height: 52px; display: grid; grid-template-columns: 22px minmax(0,1fr) 20px; align-items: center; gap: 10px; padding: 0 14px; color: #f6f2ec; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(22,25,27,.96); box-shadow: 0 10px 30px rgba(0,0,0,.3); text-align: left; }
      .mobile-filter-toggle > i { width: 20px; color: #ff6a6e; }
      .mobile-filter-toggle strong { display: block; font-size: 13px; line-height: 1.2; }
      .mobile-filter-toggle span { display: block; margin-top: 3px; color: #aaa49c; font-size: 12px; }
      .mobile-filter-toggle .toggle-chevron { width: 18px; color: #aaa49c; transition: transform .2s; }
      .mobile-filter-toggle[aria-expanded="true"] .toggle-chevron { transform: rotate(180deg); }
      .search-panel { display: none; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; padding: 10px; overflow: visible; border: 1px solid rgba(255,255,255,.14); border-radius: 15px; background: rgba(17,20,22,.98); box-shadow: 0 16px 38px rgba(0,0,0,.34); }
      .search-panel.is-open { display: grid; }
      .search-field { min-height: 54px; padding: 8px 10px; border-radius: 11px; background: #202427; }
      .search-field > span { color: #b7b1aa; font-size: 10px; letter-spacing: .06em; }
      .search-field select, .search-field input { min-height: 28px; color: white; font-size: 13px; }
      .search-go { position: static; grid-column: 1 / -1; width: 100%; min-height: 46px; margin: 0; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 11px; box-shadow: none; }
      .search-go span { display: inline; font-size: 13px; font-weight: 800; }

      .mobile-discovery { padding: 18px 0 4px; }
      .mobile-discovery-head strong { font-size: 16px; }
      .mobile-discovery-head button { font-size: 12px; }
      .mobile-category { flex-basis: 82px; min-height: 76px; font-size: 11px; line-height: 1.2; }
      .mobile-category i { width: 21px; height: 21px; }
      .section { padding: 34px 0; }
      .eyebrow { font-size: 11px; }
      .section-title { font-size: 32px; }
      .section-copy { font-size: 13px; line-height: 1.45; }

      .sponsored-grid { gap: 11px; }
      .sponsored-card { min-width: min(68vw, 252px); min-height: 276px; border-radius: 16px; }
      .sponsored-content { padding: 16px; }
      .sponsored-content h3 { margin-top: 7px; font-size: 23px; }
      .sponsored-content .offer-type { font-size: 11px; line-height: 1.35; }
      body .sponsored-meta { font-size: 12px; }

      .offer-grid { gap: 11px; }
      .offer-card, .offer-card.featured { min-width: min(74vw, 282px); border-radius: 16px; }
      .featured .offer-image, .offer-image { height: 158px; }
      .featured .offer-body, .offer-body { padding: 15px; }
      .featured h3, .offer-card h3 { margin: 7px 0 6px; font-size: 24px; }
      .offer-type { font-size: 11px; line-height: 1.35; }
      .offer-location { font-size: 12px; line-height: 1.35; }
      .offer-info { gap: 6px; margin: 11px 0; padding: 10px 0; }
      .offer-info span { font-size: 11px; }
      .offer-info strong { font-size: 12px; }
      .countdown-label, .old-price, .price small { font-size: 11px; }
      .discount small, body #view-home .like-label { font-size: 11px; }
      .countdown { font-size: 16px; }
      .price strong { font-size: 27px; }
      .demo-chip { font-size: 11px; line-height: 1.4; }

      #nearbySection .section-head { align-items: center; margin-bottom: 14px; }
      #nearbySection .section-title { font-size: 30px; }
      #nearbySection .text-link { min-height: 44px; display: inline-flex; font-size: 12px; }
      .nearby-list { gap: 8px; }
      .nearby-item { grid-template-columns: minmax(0,1fr) auto; gap: 10px; min-height: 68px; padding: 12px 13px; }
      .nearby-item img { display: none; }
      .nearby-item h4 { margin-bottom: 5px; font-size: 18px; line-height: 1.15; }
      .nearby-item p { color: #b5aea6; font-size: 12px; line-height: 1.35; }
      .distance-pill { min-width: 58px; font-size: 12px; }

      .home-agenda .section-head { margin-bottom: 12px; }
      .home-agenda .agenda-item { grid-template-columns: 58px minmax(0,1fr); min-height: 76px; padding: 11px 0; }
      .home-agenda .agenda-main { padding-right: 0; }
      .home-agenda .agenda-main h4 { margin-bottom: 5px; font-size: 18px; line-height: 1.15; }
      .home-agenda .agenda-main p { color: #b9b2aa; font-size: 12px; line-height: 1.35; }
      .home-agenda .date-block { min-height: 58px; }
      .home-agenda .date-block strong { font-size: 30px; }
      .home-agenda .date-block span { font-size: 11px; }
      .mobile-nav button, .mobile-nav a { font-size: 10px; }
    }
    /* EXPERIENCE DETAIL · PURCHASE-FIRST */
    #view-experience.active { animation: none; }
    .experience-intro { padding: 28px 0 0; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #111518 0%, var(--bg) 100%); }
    .experience-gallery { display: grid; grid-template-columns: minmax(0,1.8fr) .62fr .62fr; grid-template-rows: 225px 225px; gap: 10px; }
    .experience-media-main, .experience-media-side, .experience-video-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-2); }
    .experience-media-main { grid-row: 1 / span 2; contain: paint; isolation: isolate; }
    .experience-media-main img, .experience-media-side img, .experience-video-card img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.82) saturate(.88) contrast(1.05); transition: transform .35s ease; }
    .experience-media-main img { cursor: zoom-in; }
    .experience-media-side, .experience-video-card { padding: 0; color: var(--ink); cursor: pointer; }
    .experience-media-side:hover img, .experience-video-card:hover img { transform: scale(1.025); }
    .experience-video-card { grid-column: 2 / 4; }
    .experience-video-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,12,14,.78), rgba(9,12,14,.2)); }
    .experience-media-caption { position: absolute; z-index: 2; left: 14px; bottom: 13px; display: inline-flex; align-items: center; gap: 7px; color: #f4f5f2; font-size: 9px; font-weight: 800; }
    .experience-media-caption i { width: 15px; }
    .experience-media-main .back-button { top: 18px; left: 18px; }
    .experience-media-main .image-disclaimer { top: 18px; right: 18px; }
    .experience-favorite-button { position: fixed; z-index: 120; top: 118px; right: max(16px, calc((100vw - 1280px) / 2 + 16px)); width: 48px; min-width: 48px; height: 48px; min-height: 48px; display: grid; place-items: center; padding: 0; color: white; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: #b82025; box-shadow: 0 8px 26px rgba(0,0,0,.38); cursor: pointer; }
    body.admin-bar .experience-favorite-button { top: 150px; }
    .experience-favorite-button:hover, .experience-favorite-button[aria-pressed="true"] { background: #d12b31; transform: translateY(-1px); }
    .experience-favorite-button i { width: 21px; height: 21px; }
    body.lightbox-open { overflow: hidden; }
    .photo-lightbox { position: fixed; z-index: 500; inset: 0; display: grid; grid-template-columns: 64px minmax(0,1fr) 64px; align-items: center; gap: 18px; padding: 28px; color: var(--ink); background: rgba(3,4,5,.96); backdrop-filter: blur(18px); }
    .photo-lightbox[hidden] { display: none; }
    .lightbox-figure { min-width: 0; margin: 0; text-align: center; }
    .lightbox-image { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 125px); margin: 0 auto; object-fit: contain; border-radius: 12px; box-shadow: 0 30px 100px rgba(0,0,0,.7); touch-action: pan-y; }
    .lightbox-caption { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 14px; color: var(--soft); font-size: 11px; line-height: 1.5; }
    .lightbox-caption small { flex: 0 0 auto; color: var(--faint); font-size: 9px; font-weight: 800; }
    .lightbox-button { width: 52px; height: 52px; display: grid; place-items: center; color: white; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(23,25,27,.82); cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
    .lightbox-button:hover { border-color: rgba(255,255,255,.38); background: rgba(44,46,48,.9); transform: scale(1.04); }
    .lightbox-button i { width: 24px; height: 24px; }
    .lightbox-close { position: absolute; z-index: 2; top: 20px; right: 20px; }
    .lightbox-prev { justify-self: end; }
    .lightbox-next { justify-self: start; }
    .experience-title-block { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding-top: 28px; padding-bottom: 31px; }
    .experience-title-copy { min-width: 0; }
    .experience-title-copy h1 { max-width: 880px; margin: 8px 0 15px; font-family: var(--serif); font-size: clamp(48px,5.7vw,72px); font-weight: 600; line-height: .95; letter-spacing: -.022em; }
    .experience-labels, .experience-head-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
    .experience-head-meta { gap: 16px; color: var(--muted); font-size: 10px; }
    .experience-head-meta span { display: inline-flex; align-items: center; gap: 6px; }
    .experience-head-meta i { width: 14px; color: var(--gold); }
    .experience-label { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; color: #d9d4cd; border: 1px solid var(--line); border-radius: 999px; background: rgba(27,32,36,.84); font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .experience-label i { width: 12px; }
    .experience-label.verified { color: #cfe9d8; border-color: rgba(88,170,121,.32); background: rgba(88,170,121,.09); }
    .experience-alert-top { flex: 0 0 auto; margin-bottom: 4px; }
    .experience-alert-top i { width: 16px; }
    .detail-layout { grid-template-columns: minmax(0,1fr) 380px; gap: 48px; padding-top: 42px; }
    .detail-sidebar { min-width: 0; }
    .detail-sidebar .booking-card { position: sticky; top: 104px; }
    .detail-sidebar .related-experiences { margin-top: 16px; }
    .experience-keyfacts { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 42px; }
    .experience-keyfact { min-height: 112px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
    .experience-keyfact > i { width: 18px; color: var(--gold); }
    .experience-keyfact span { display: block; margin-top: 13px; color: var(--faint); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .experience-keyfact strong { display: block; margin-top: 5px; font-size: 11px; line-height: 1.35; }
    .experience-keyfact.fear strong { color: var(--red-bright); }
    .experience-section { margin-top: 42px; padding-top: 38px; border-top: 1px solid var(--line); }
    .experience-section:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
    .experience-section h2 { margin-bottom: 13px; }
    .experience-section > p { max-width: 780px; color: var(--muted); font-size: 13px; line-height: 1.8; }
    .experience-schedule { padding: 24px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); }
    .experience-schedule h2 { margin: 0 0 5px; font-size: 31px; }
    .experience-schedule-note { margin: 0 0 18px; color: var(--muted); font-size: 12px; }
    .schedule-controls { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 22px; }
    .schedule-control-group .select-label { display: block; margin-bottom: 8px; color: #c1c7c3; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .schedule-control-group .date-options { margin-bottom: 0; }
    .experience-hours-only { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding: 15px; color: var(--muted); border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); font-size: 12px; line-height: 1.5; }
    .experience-hours-only i { flex: 0 0 auto; width: 18px; color: var(--gold); }
    .included-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; margin-top: 22px; }
    .included-item { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--muted); font-size: 9px; line-height: 1.5; }
    .included-item i { flex: 0 0 auto; width: 15px; color: var(--green); }
    .experience-answer-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-top: 22px; }
    .experience-answer-card { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
    .experience-answer-card.warning { border-color: rgba(211,166,94,.28); background: rgba(211,166,94,.055); }
    .experience-answer-card.sensitive { border-color: rgba(182,55,60,.25); background: rgba(182,55,60,.055); }
    .experience-answer-card span { display: flex; align-items: center; gap: 7px; color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .experience-answer-card span i { width: 14px; }
    .experience-answer-card strong { display: block; margin-top: 9px; font-size: 11px; line-height: 1.45; }
    .experience-answer-card p { margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
    .location-card, .organizer-card { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; margin-top: 22px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
    .location-card h3, .organizer-card h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 27px; }
    .location-card p, .organizer-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
    .location-list { display: grid; gap: 9px; }
    .location-list div { display: flex; gap: 9px; color: var(--muted); font-size: 9px; line-height: 1.45; }
    .location-list i { flex: 0 0 auto; width: 15px; color: var(--gold); }
    .location-map { position: relative; min-height: 220px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background-color: #dedbd2; background-image: linear-gradient(30deg,transparent 46%,rgba(116,119,112,.32) 47%,rgba(116,119,112,.32) 51%,transparent 52%),linear-gradient(150deg,transparent 44%,rgba(116,119,112,.24) 45%,rgba(116,119,112,.24) 49%,transparent 50%),linear-gradient(90deg,transparent 49%,rgba(255,255,255,.72) 50%,transparent 52%); background-size: 82px 66px,104px 92px,58px 100%; }
    .location-map::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 28% 34%,rgba(111,151,116,.34) 0 8%,transparent 9%),radial-gradient(circle at 72% 67%,rgba(111,151,116,.28) 0 10%,transparent 11%); }
    .location-map-pin { position: absolute; z-index: 2; top: 42%; left: 50%; width: 48px; height: 48px; display: grid; place-items: center; color: white; border: 4px solid rgba(255,255,255,.9); border-radius: 50% 50% 50% 12%; background: #b82025; box-shadow: 0 8px 22px rgba(0,0,0,.28); transform: translate(-50%,-50%) rotate(-45deg); }
    .location-map-pin i { width: 22px; transform: rotate(45deg); }
    .location-map .btn { position: absolute; z-index: 3; right: 12px; bottom: 12px; left: 12px; min-height: 44px; }
    .organizer-card { grid-template-columns: 1fr auto; align-items: center; }
    .organizer-verified { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 10px; color: var(--green); font-size: 8px; font-weight: 800; text-transform: uppercase; }
    .organizer-verified i { width: 14px; }
    .organizer-card .btn { white-space: nowrap; }
    .booking-card { background: var(--surface); }
    .booking-price-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 7px 0 20px; }
    .booking-price-row .booking-price { margin: 0; }
    .booking-availability { display: inline-flex; align-items: center; gap: 5px; color: var(--green); font-size: 8px; font-weight: 800; }
    .booking-availability i { width: 12px; }
    .booking-card .select-label { display: block; margin: 15px 0 8px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .time-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
    .time-option { min-height: 38px; color: var(--muted); border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); cursor: pointer; font-size: 9px; font-weight: 800; }
    .time-option.active { color: var(--ink); border-color: var(--green); background: rgba(88,170,121,.09); }
    .booking-summary-line { display: flex; justify-content: space-between; gap: 12px; margin: 17px 0 4px; padding-top: 15px; color: var(--muted); border-top: 1px solid var(--line); font-size: 8px; }
    .booking-summary-line strong { color: var(--ink); }
    .mobile-booking-bar { display: none; }

    @media (max-width: 980px) {
      .experience-gallery { grid-template-rows: 190px 190px; }
      .detail-layout { grid-template-columns: 1fr; }
      .detail-sidebar .booking-card { position: static; }
      .experience-keyfacts { grid-template-columns: repeat(3,1fr); }
    }

    @media (max-width: 720px) {
      #view-experience { padding-bottom: 145px; }
      .experience-intro { padding-top: 10px; }
      .experience-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 92px 76px; gap: 7px; }
      .experience-media-main { grid-column: 1 / -1; grid-row: 1; border-radius: 13px; }
      .experience-media-side { grid-row: 2; border-radius: 11px; }
      .experience-video-card { grid-column: 1 / -1; grid-row: 3; border-radius: 11px; }
      .experience-media-main .back-button { top: 12px; left: 12px; }
      .experience-media-main .image-disclaimer { top: 12px; right: 12px; }
      .photo-lightbox { grid-template-columns: 1fr 1fr; align-content: center; gap: 14px; padding: 68px 14px 22px; }
      .lightbox-figure { grid-column: 1 / -1; grid-row: 1; }
      .lightbox-image { max-height: calc(100vh - 180px); border-radius: 9px; }
      .lightbox-prev, .lightbox-next { grid-row: 2; justify-self: center; }
      .lightbox-button { width: 48px; height: 48px; }
      .lightbox-close { top: 12px; right: 12px; }
      .lightbox-caption { align-items: flex-start; justify-content: space-between; text-align: left; }
      .experience-title-block { align-items: flex-start; padding-top: 20px; padding-bottom: 24px; }
      .experience-title-copy h1 { margin-top: 10px; font-size: 48px; }
      .experience-alert-top { min-height: 44px; padding-inline: 13px; font-size: 11px; }
      .experience-head-meta { gap: 9px 14px; font-size: 9px; }
      .detail-layout { gap: 28px; padding-top: 28px; padding-bottom: 40px; }
      .experience-keyfacts { grid-template-columns: repeat(2,1fr); gap: 8px; margin-bottom: 31px; }
      .experience-keyfact { min-height: 101px; padding: 14px; }
      .experience-section { margin-top: 32px; padding-top: 30px; }
      .experience-section h2 { font-size: 31px; }
      .experience-schedule { padding: 18px; }
      .schedule-controls { grid-template-columns: 1fr; gap: 18px; }
      .included-grid, .experience-answer-grid, .location-card, .organizer-card { grid-template-columns: 1fr; }
      .location-card, .organizer-card { padding: 18px; }
      .organizer-card .btn { width: 100%; }
      #view-experience.active .mobile-booking-bar:not([hidden]) { position: fixed; z-index: 16; right: 0; bottom: 62px; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 16px; border-top: 1px solid rgba(255,255,255,.12); background: rgba(20,24,27,.97); box-shadow: 0 -14px 34px rgba(0,0,0,.38); backdrop-filter: blur(16px); }
      .mobile-booking-price span, .mobile-booking-price small { display: block; color: var(--faint); font-size: 7px; font-weight: 800; text-transform: uppercase; }
      .mobile-booking-price strong { display: inline-block; margin: 1px 2px 0 0; font-family: var(--sans); font-size: 22px; letter-spacing: -.04em; }
      .mobile-booking-bar .btn { min-height: 44px; padding: 0 18px; }
    }

    /* ACCESSIBILITY BASELINE · WCAG 2.2 */
    .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
    .skip-link { position: fixed; z-index: 500; top: 10px; left: 10px; padding: 12px 16px; color: #111518; border-radius: 9px; background: #f3c86d; font-size: 12px; font-weight: 850; transform: translateY(-160%); transition: transform .18s ease; }
    .skip-link:focus { transform: translateY(0); }
    :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid #f3c86d !important; outline-offset: 3px !important; box-shadow: 0 0 0 6px rgba(243,200,109,.18) !important; }
    main:focus, .view:focus { outline: none !important; box-shadow: none !important; }
    :where(input, select, textarea)[aria-invalid="true"] { border-color: #f28589 !important; box-shadow: 0 0 0 2px rgba(242,133,137,.18); }
    input::placeholder, textarea::placeholder { color: #9ca39f; opacity: 1; }
    .field > span, .search-field label, .search-field > span, .results-filter span, .select-label, .mini-label { color: #c1c7c3; }
    .field-error { display: flex; align-items: flex-start; gap: 6px; margin: 7px 0 0; color: #ffb9bc; font-size: 10px; font-weight: 700; line-height: 1.45; }
    .field-error::before { content: "!"; flex: 0 0 auto; width: 16px; height: 16px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 9px; }
    .btn, .nav-btn, .account-entry, .city-pill, .existing-login, .quick-buy-btn, .alert-offer-btn, .notification-book, .payment-option, .date-option, .time-option, .scenario-button, .alert-tab, .channel-card, .role-card, .library-card, .global-submit, .search-go, .agenda-location-combo button { min-height: 44px; }
    .field input, .field select, .field textarea, .search-field select, .search-field input, .results-filter select, .results-filter input, .agenda-location-combo input { min-height: 44px; }
    .like-btn, .mini-action, .back-button, .experience-save-top { min-width: 44px; min-height: 44px; }
    .like-btn, .back-button { width: auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 11px; border-radius: 999px; }
    .like-label, .back-label { font-size: 8px; font-weight: 850; }
    .global-search-inner { grid-template-columns: minmax(0,1fr) auto auto; }
    .global-query { position: relative; min-height: 44px; padding-top: 12px; }
    .global-query-label { position: absolute; top: 1px; left: 27px; color: #c1c7c3; font-size: 7px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
    .global-search-inner { height: auto; min-height: 64px; }
    .global-query input { min-height: 44px; padding-top: 8px; }
    #heroGeoButton { min-height: 44px; }
    .global-location-wrap { position: relative; min-width: 150px; min-height: 64px; padding: 13px 11px 2px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-2); }
    .global-location-wrap > span { position: absolute; top: 5px; left: 12px; color: #c1c7c3; font-size: 7px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
    .global-location-wrap .global-location { width: 100%; height: 44px; padding: 8px 0 0; border: 0; background: transparent; outline: 0; }
    body[data-active-view="results"] .global-search-inner { grid-template-columns: minmax(0,1fr) auto; }
    body[data-active-view="results"] .global-location-wrap { display: none; }
    .location-suggestions { position: fixed; z-index: 10000; max-height: min(330px,45vh); overflow-y: auto; padding: 6px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; background: #171a1d; box-shadow: 0 20px 50px rgba(0,0,0,.58); }
    .location-suggestions[hidden] { display: none; }
    .location-suggestion { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 10px; color: var(--ink); border: 0; border-radius: 9px; background: transparent; cursor: pointer; text-align: left; }
    .location-suggestion:hover, .location-suggestion.active { background: rgba(255,255,255,.085); }
    .location-suggestion span { min-width: 0; display: block; }
    .location-suggestion strong { display: block; overflow: hidden; font-size: 13px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
    .location-suggestion small { display: block; margin-top: 4px; overflow: hidden; color: #aeb4b1; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
    .location-suggestion em { flex: 0 0 auto; color: var(--gold); font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .location-no-results { padding: 14px 12px; color: #c2c7c4; font-size: 12px; line-height: 1.45; }
    .global-submit { width: auto; min-width: 82px; height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 0 13px; font-size: 9px; font-weight: 850; }
    .global-submit i { width: 15px; }
    .agenda-location-combo { grid-template-columns: auto minmax(0,1fr) auto; }
    .agenda-location-visible-label { align-self: center; color: #c1c7c3; font-size: 8px; font-weight: 850; text-transform: uppercase; }
    .agenda-location-combo button { width: auto; min-width: 84px; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 0 12px; font-size: 9px; font-weight: 800; }
    .search-go { width: auto; min-width: 78px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 0 13px; font-size: 9px; font-weight: 850; }
    .media-alternative { width: min(1320px, calc(100% - 32px)); margin: 10px auto 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
    .media-alternative summary { min-height: 44px; display: flex; align-items: center; gap: 9px; padding: 0 14px; color: var(--ink); cursor: pointer; font-size: 9px; font-weight: 800; list-style: none; }
    .media-alternative summary::-webkit-details-marker { display: none; }
    .media-alternative summary i { width: 16px; color: var(--gold); }
    .media-alternative p { margin: 0; padding: 0 14px 14px 39px; color: var(--muted); font-size: 10px; line-height: 1.65; }
    .mini-action { width: auto; padding: 0 11px; gap: 6px; border-radius: 10px; }
    .mini-action .action-text { font-size: 8px; font-weight: 800; }
    .toggle { width: auto; min-width: 90px; height: 44px; padding: 0 10px 0 36px; color: var(--muted); border: 1px solid var(--line); background: var(--surface-3); font-size: 8px; font-weight: 850; }
    .toggle::after { top: 13px; left: 10px; width: 16px; height: 16px; background: #aeb5b1; }
    .toggle.on { color: #d9f2e2; border-color: rgba(88,170,121,.5); background: rgba(88,170,121,.12); }
    .toggle.on::after { left: 10px; background: var(--green); box-shadow: 0 0 0 3px rgba(88,170,121,.16); }
    .session-row .capacity-pill::before { display: inline-block; margin-right: 5px; font-weight: 900; }
    .session-row .capacity-pill::before { content: "Disponible ·"; color: var(--green); }
    .session-row .capacity-pill.warning::before { content: "Pocas plazas ·"; color: var(--warning); }
    .session-row .capacity-pill.danger::before { content: "Atención ·"; color: #f28589; }
    .test-payment-banner, .real-flow-panel { display: flex; align-items: flex-start; gap: 13px; padding: 16px; margin-bottom: 18px; border: 1px solid rgba(88,170,121,.35); border-radius: 16px; background: linear-gradient(135deg,rgba(88,170,121,.12),rgba(17,20,19,.94)); }
    .test-payment-banner > i, .real-flow-panel > i { flex: 0 0 auto; width: 20px; color: var(--green); }
    .test-payment-banner strong, .real-flow-panel strong { display: block; color: var(--ink); font-size: 11px; }
    .test-payment-banner span, .real-flow-panel p { display: block; margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
    .real-flow-panel { display: block; margin-bottom: 20px; }
    .real-flow-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
    .real-flow-head h3 { margin: 3px 0 0; font-family: var(--serif); font-size: 26px; }
    .real-flow-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 10px; color: #d9f2e2; border: 1px solid rgba(88,170,121,.45); border-radius: 999px; font-size: 8px; font-weight: 850; text-transform: uppercase; }
    .real-flow-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-top: 16px; }
    .real-flow-step { min-height: 86px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(0,0,0,.16); }
    .real-flow-step span { display: block; color: var(--faint); font-size: 7px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
    .real-flow-step strong { margin-top: 6px; font-size: 9px; line-height: 1.4; }
    .real-flow-step.done { border-color: rgba(88,170,121,.38); background: rgba(88,170,121,.08); }
    .real-flow-step.done span::before { content: "✓ "; color: var(--green); }
    .live-notification-panel { margin: 0 0 20px; border-color: rgba(195,155,93,.38); }
    .live-notification-item { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); }
    .live-notification-item:first-child { border-top: 0; }
    .live-notification-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--gold); border: 1px solid rgba(195,155,93,.35); border-radius: 50%; background: rgba(195,155,93,.08); }
    .live-notification-icon i { width: 18px; }
    .live-notification-item h4 { margin: 0 0 4px; font-size: 11px; }
    .live-notification-item p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
    .live-offer-note { display: inline-flex; align-items: center; gap: 5px; margin-top: 7px; color: #d9f2e2; font-size: 8px; font-weight: 800; }
    .live-offer-note i { width: 14px; }
    .flow-message, .booking-note, .experience-answer-card p, .location-card p, .organizer-card p { font-size: 10px; }

    /* CLEANER HOME AND EXPERIENCE PROFILES */
    #view-home .info-badge { display: none; }
    .sponsored-content p { font-size: 13px; line-height: 1.55; }
    .sponsored-meta { font-size: 11px; }
    .detail-layout { grid-template-columns: minmax(0,1fr) 340px; gap: 38px; padding-top: 34px; padding-bottom: 24px; }
    .experience-head-meta { font-size: 12px; }
    .experience-label { font-size: 10px; }
    .experience-keyfacts { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-bottom: 32px; }
    .experience-keyfact { min-height: 94px; padding: 15px; }
    .experience-keyfact span { margin-top: 9px; font-size: 10px; }
    .experience-keyfact strong { font-size: 14px; }
    .experience-keyfact small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.35; }
    .experience-section { margin-top: 36px; padding-top: 34px; }
    .experience-overview > p { max-width: 720px; font-size: 15px; line-height: 1.75; }
    .practical-section > h2 { margin-bottom: 18px; }
    .experience-accordions { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
    .experience-disclosure + .experience-disclosure { border-top: 1px solid var(--line); }
    .experience-disclosure summary { min-height: 74px; display: grid; grid-template-columns: 40px minmax(0,1fr) 22px; align-items: center; gap: 13px; padding: 12px 18px; list-style: none; cursor: pointer; }
    .experience-disclosure summary::-webkit-details-marker, .sidebar-disclosure summary::-webkit-details-marker, .location-disclosure summary::-webkit-details-marker { display: none; }
    .disclosure-icon { width: 40px; height: 40px; display: grid; place-items: center; color: var(--gold); border: 1px solid rgba(195,155,93,.25); border-radius: 12px; background: rgba(195,155,93,.07); }
    .disclosure-icon i { width: 18px; }
    .experience-disclosure summary strong { display: block; color: var(--ink); font-size: 14px; }
    .experience-disclosure summary small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
    .disclosure-chevron { width: 18px; color: var(--muted); transition: transform .2s ease; }
    .experience-disclosure[open] .disclosure-chevron { transform: rotate(180deg); }
    .disclosure-body { margin: 0; padding: 4px 18px 18px 71px; border: 0; }
    .disclosure-body.included-grid { margin-top: 0; }
    .included-item { padding: 12px; font-size: 12px; }
    .practical-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
    .practical-list > div { padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-2); }
    .practical-list span { display: block; color: var(--gold); font-size: 10px; font-weight: 800; text-transform: uppercase; }
    .practical-list strong { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; }
    .location-card { grid-template-columns: 1fr; gap: 15px; }
    .location-card p, .organizer-card p { font-size: 12px; }
    .location-disclosure { padding-top: 14px; border-top: 1px solid var(--line); }
    .location-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ink); font-size: 13px; font-weight: 750; cursor: pointer; }
    .location-disclosure summary i { width: 18px; color: var(--gold); }
    .location-disclosure .location-list { margin-top: 16px; }
    .location-list div { font-size: 12px; }
    .organizer-verified { font-size: 10px; }
    .booking-card .mini-label, .booking-card .select-label, .booking-summary-line, .booking-availability { font-size: 10px; }
    .time-option { min-height: 44px; font-size: 12px; }
    .action-scope-label { font-size: 10px; }
    .sidebar-disclosure { margin-top: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.025); }
    .sidebar-disclosure summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 13px; color: var(--ink); font-size: 12px; cursor: pointer; }
    .sidebar-disclosure summary span { display: inline-flex; align-items: center; gap: 7px; }
    .sidebar-disclosure summary i { width: 16px; color: var(--gold); }
    .sidebar-disclosure summary > i { transition: transform .2s ease; }
    .sidebar-disclosure[open] summary > i { transform: rotate(180deg); }
    .sidebar-disclosure > div { padding: 0 12px 12px; }
    .profile-origin { font-size: 10px; }
    .related-experiences-full { margin-top: 20px; margin-bottom: 90px; }
    .related-experiences-full .related-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .related-card p { font-size: 12px; line-height: 1.55; }
    .related-meta span { font-size: 10px; }
    .detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 38px; padding: 34px 0 90px; }
    .detail-grid > .booking-card { position: sticky; top: 104px; align-self: start; }
    .php-keyfacts { grid-template-columns: repeat(3,minmax(0,1fr)); margin: 30px 0; }
    .single-info-disclosure { margin-top: 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
    .single-info-disclosure .disclosure-body p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
    .business-profile-layout { padding-bottom: 38px; }
    .business-catalog-section { padding: 36px 0 90px; border-top: 1px solid var(--line); }
    .business-catalog-section > h2 { margin: 4px 0 24px; }
    .business-catalog-section .results-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .result-image { overflow: hidden; aspect-ratio: 16/10; background: var(--surface-2); }
    .result-image img { width: 100%; height: 100%; object-fit: cover; }

    @media (max-width: 980px) {
      .detail-layout { grid-template-columns: 1fr; }
      .detail-grid { grid-template-columns: 1fr; }
      .detail-grid > .booking-card { position: static; }
      .experience-keyfacts { grid-template-columns: repeat(4,minmax(0,1fr)); }
      .related-experiences-full .related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .business-catalog-section .results-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    }

    @media (max-width: 720px) {
      .experience-head-meta { font-size: 11px; }
      .experience-keyfacts { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .php-keyfacts { grid-template-columns: 1fr; }
      .experience-keyfact { min-height: 90px; }
      .experience-overview > p { font-size: 14px; }
      .experience-disclosure summary { grid-template-columns: 38px minmax(0,1fr) 20px; padding: 11px 13px; }
      .disclosure-icon { width: 38px; height: 38px; }
      .disclosure-body { padding: 3px 13px 15px; }
      .included-grid, .practical-list { grid-template-columns: 1fr; }
      .related-experiences-full { margin-top: 0; margin-bottom: 55px; padding: 20px 16px; }
      .related-experiences-full .related-grid { grid-template-columns: 1fr; }
      .business-catalog-section .results-grid { grid-template-columns: 1fr; }
    }
    body.reduce-motion, body.reduce-motion *, body.reduce-motion *::before, body.reduce-motion *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }

    /* Entradas digitales y control de acceso */
    .ticket-live-row { align-items: center; }
    .ticket-live-row .reservation-date strong { font-size: 17px; letter-spacing: .06em; }
    .ticket-live-row.is-invalid { opacity: .72; }
    .ticket-state-valid { color: var(--green); }
    .ticket-state-used, .ticket-state-replaced, .ticket-state-cancelled, .ticket-state-refunded { color: var(--muted); }
    .access-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 22px; align-items: start; }
	.business-layout.access-expanded { grid-template-columns: minmax(0,1fr); }
	.business-layout.access-expanded > .live-preview { display: none; }
    .access-side { display: grid; gap: 22px; }
    .access-scanner > p { max-width: 720px; color: var(--muted); line-height: 1.65; }
    .scanner-frame { position: relative; overflow: hidden; min-height: 360px; display: grid; place-items: center; margin: 22px 0 16px; border: 1px solid var(--line); border-radius: 18px; background: #08090a; }
    .scanner-frame video { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
    .scanner-frame:not(.active) video { display: none; }
    .scanner-placeholder { display: grid; justify-items: center; gap: 12px; max-width: 260px; padding: 30px; color: var(--muted); text-align: center; }
    .scanner-placeholder i { width: 50px; height: 50px; color: var(--gold); }
    .scanner-frame.active .scanner-placeholder { display: none; }
    .scanner-guide { position: absolute; z-index: 2; width: min(70%,310px); aspect-ratio: 1; border: 2px solid rgba(255,255,255,.85); border-radius: 18px; box-shadow: 0 0 0 999px rgba(0,0,0,.32); pointer-events: none; opacity: 0; }
    .scanner-frame.active .scanner-guide { opacity: 1; }
    .manual-checkin { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; margin-top: 20px; }
    .manual-checkin .field { margin: 0; }
    .checkin-result { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 14px; align-items: center; min-height: 82px; margin-top: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); }
    .checkin-result > i { width: 28px; height: 28px; color: var(--muted); justify-self: center; }
    .checkin-result strong, .checkin-result span { display: block; }
    .checkin-result span { margin-top: 4px; color: var(--muted); font-size: 13px; line-height: 1.5; }
    .checkin-result.valid { border-color: rgba(101,197,147,.55); background: rgba(45,105,72,.17); }
    .checkin-result.valid > i { color: var(--green); }
    .checkin-result.warning { border-color: rgba(218,169,77,.55); background: rgba(119,81,22,.16); }
    .checkin-result.warning > i { color: var(--warning); }
    .checkin-result.error { border-color: rgba(210,75,79,.55); background: rgba(115,33,37,.18); }
    .checkin-result.error > i { color: #ef777b; }
    .offline-status { display: flex; align-items: center; gap: 10px; min-height: 46px; margin-top: 16px; padding: 10px 12px; border-radius: 12px; background: rgba(101,197,147,.1); color: var(--green); font-weight: 700; font-size: 12px; }
    .offline-status.offline { background: rgba(218,169,77,.12); color: var(--warning); }
    .offline-status i { width: 18px; }
    .staff-list { display: grid; gap: 9px; margin-top: 18px; }
    .staff-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
    .staff-row strong, .staff-row span { display: block; }
    .staff-row span { margin-top: 3px; color: var(--muted); font-size: 11px; }
    .staff-row button { min-height: 44px; }
    @media (max-width: 980px) { .access-layout { grid-template-columns: 1fr; } }
    @media (max-width: 720px) {
      .scanner-frame, .scanner-frame video { min-height: 300px; }
      .manual-checkin { grid-template-columns: 1fr; }
      .manual-checkin button { width: 100%; }
      .access-layout { gap: 16px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto !important; }
      *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
    }

    @media (max-width: 720px) {
      .brand, .city-pill, .global-submit, .search-go, .hero-geo, .quick-buy-btn, .alert-offer-btn, .mobile-nav button { min-height: 44px; }
      .global-search-inner { grid-template-columns: minmax(0,1fr) 76px; gap: 6px; }
      .global-location-wrap { display: none; }
      .session-row { grid-template-columns: 72px minmax(0,1fr); }
      .session-row > .capacity-pill,
      .session-row .mini-action { grid-column: 2; justify-self: start; }
      .session-row .mini-action { display: inline-flex; }
      .real-flow-head { flex-direction: column; }
      .real-flow-steps { grid-template-columns: 1fr 1fr; }
      .real-flow-step:last-child { grid-column: 1 / -1; }
      .live-notification-item { grid-template-columns: 42px minmax(0,1fr); }
      .live-notification-item .notification-book { grid-column: 2; justify-self: start; }
      .global-submit { min-width: 70px; padding: 0 8px; border-radius: 10px; }
      .global-query-label { left: 26px; }
      .search-field select { min-height: 44px; }
      .agenda-location-combo { grid-template-columns: 1fr auto; }
      .agenda-location-visible-label { grid-column: 1 / -1; }
      .agenda-location-combo button { min-width: 92px; }
      .like-btn { width: 44px; height: 44px; }
      .like-btn { width: auto; min-width: 72px; }
      .experience-save-top { width: auto; padding: 0 10px; }
      .experience-save-top span { display: inline; }
      .mobile-nav button { height: auto; padding-top: 4px; }
    }

    .incident-workspace { margin-top: 24px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
    .admin-incident-workspace { margin-top: 28px; }
    .incident-workspace-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; margin-bottom: 20px; }
    .incident-workspace-head h2, .incident-workspace-head h3 { margin: 0 0 7px; font-family: var(--serif); font-size: clamp(24px,3vw,34px); }
    .incident-workspace-head p { max-width: 700px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
    .privacy-badge { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 36px; padding: 7px 11px; border: 1px solid rgba(110,178,125,.32); border-radius: 999px; color: #b9dfc1; background: rgba(50,107,63,.16); font-size: 11px; font-weight: 800; }
    .privacy-badge svg { width: 15px; }
    .incident-layout { display: grid; grid-template-columns: minmax(280px,.78fr) minmax(420px,1.35fr); min-height: 420px; overflow: hidden; border: 1px solid var(--muted-line); border-radius: 14px; background: #111010; }
    .incident-list { padding: 10px; border-right: 1px solid var(--muted-line); background: #151314; }
    .incident-empty { display: grid; place-items: center; min-height: 180px; padding: 25px; color: var(--muted); text-align: center; font-size: 13px; line-height: 1.5; }
    .incident-card { width: 100%; margin-bottom: 8px; padding: 15px; border: 1px solid transparent; border-radius: 11px; color: var(--cream); background: #1c1a1a; text-align: left; cursor: pointer; }
    .incident-card:hover, .incident-card.active { border-color: #65514a; background: #252020; }
    .incident-card-head, .incident-card-foot, .incident-status-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .incident-card h4 { margin: 9px 0 5px; font-size: 15px; }
    .incident-card p { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
    .incident-code { color: var(--faint); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
    .incident-priority, .incident-state { padding: 4px 7px; border-radius: 999px; font-size: 9px; font-weight: 900; text-transform: uppercase; }
    .incident-priority.urgent { color: #ffd5d5; background: rgba(184,32,37,.28); }
    .incident-priority.normal { color: #d8cec0; background: #312d2b; }
    .incident-state { color: #cbe4d0; background: rgba(50,107,63,.22); }
    .incident-deadline { color: #d7b27a; font-size: 10px; font-weight: 800; }
    .incident-detail { min-width: 0; padding: 24px; }
    .incident-detail > svg { width: 30px; height: 30px; color: var(--red-light); }
    .incident-detail h3 { margin: 12px 0 7px; font-size: 22px; }
    .incident-detail > p { color: var(--muted); line-height: 1.55; }
    .incident-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 18px; border-bottom: 1px solid var(--muted-line); }
    .incident-detail-header h3 { margin: 5px 0; }
    .incident-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 16px 0; }
    .incident-fact { padding: 10px; border-radius: 9px; background: #1d1b1b; }
    .incident-fact span { display: block; margin-bottom: 4px; color: var(--faint); font-size: 9px; text-transform: uppercase; }
    .incident-fact strong { font-size: 12px; }
    .incident-thread { display: grid; gap: 9px; max-height: 280px; margin: 16px 0; overflow: auto; }
    .incident-message { padding: 12px; border-radius: 10px; background: #1c1a1a; }
    .incident-message.internal { border: 1px dashed #81683f; background: rgba(129,104,63,.1); }
    .incident-message header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 6px; color: var(--faint); font-size: 10px; }
    .incident-message p { margin: 0; color: var(--cream); font-size: 13px; line-height: 1.5; }
    .incident-attachments { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
    .incident-attachments a { color: #d8b684; font-size: 10px; }
    .incident-reply { display: grid; gap: 9px; padding-top: 14px; border-top: 1px solid var(--muted-line); }
    .incident-reply textarea { min-height: 76px; }
    .incident-reply-actions, .incident-admin-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
    .incident-reply-actions .btn, .incident-admin-actions .btn { min-height: 44px; }
    .incident-admin-actions { margin-top: 14px; padding: 14px; border-radius: 11px; background: #191717; }
    .incident-admin-actions .field { min-width: 150px; flex: 1; }
    .cancellation-builder { grid-column: 1 / -1; }

    @media (max-width: 980px) {
      .incident-layout { grid-template-columns: 1fr; }
      .incident-list { max-height: 360px; border-right: 0; border-bottom: 1px solid var(--muted-line); overflow: auto; }
    }
    @media (max-width: 720px) {
      .incident-workspace { margin-inline: -8px; padding: 16px; border-radius: 14px; }
      .incident-workspace-head { flex-direction: column; }
      .incident-layout { min-height: 0; }
      .incident-detail { padding: 18px 14px; }
      .incident-facts { grid-template-columns: 1fr 1fr; }
      .incident-admin-actions { align-items: stretch; }
      .incident-admin-actions .field, .incident-admin-actions .btn { width: 100%; }
    }

    /* CURATED HOME CAROUSELS */
    body[data-active-view="home"] .global-search { display: none; }
    .recommendation-sections { padding: 18px 0 56px; background: #0e1214; }
    .recommendation-group { padding: 25px 0; border-top: 1px solid var(--muted-line); }
    .recommendation-group:first-child { border-top: 0; }
    .recommendation-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
    .recommendation-head h2 { margin: 0; font-family: var(--serif); font-size: 30px; font-weight: 600; line-height: 1; }
    .recommendation-head button { min-height: 44px; padding: 0; color: #d5cec5; border: 0; background: transparent; font-size: 12px; font-weight: 800; }
    .recommendation-track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
    .recommendation-card { min-width: 0; overflow: hidden; color: var(--ink); border: 1px solid var(--line); border-radius: 15px; background: var(--surface); cursor: pointer; }
    .recommendation-card img { width: 100%; height: 150px; object-fit: cover; filter: brightness(.84) saturate(.88); }
    .recommendation-card > div { padding: 14px; }
    .recommendation-card h3 { margin: 0 0 6px; font-family: var(--serif); font-size: 20px; line-height: 1.05; }
    .recommendation-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.35; }
    .recommendation-card strong { display: block; margin-top: 10px; color: #f1d6ae; font-size: 13px; }
    .recommendation-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; }
    .recommendation-bottom strong { margin-top: 0; }
    .recommendation-rating { display: inline-flex; align-items: center; gap: 4px; color: #f4d487; font-size: 12px; font-weight: 800; }
    .recommendation-rating i { width: 13px; fill: currentColor; }

    /* FINAL MOBILE DENSITY AND MARGIN PASS */
    @media (max-width: 720px) {
      .shell { width: min(calc(100% - 24px),620px); }
      .global-search { display: none; }
      body[data-active-view="home"] .topbar { border-bottom-color: rgba(255,255,255,.09); }
      .hero { min-height: 316px; overflow: hidden; }
      .hero-media { background-image: linear-gradient(0deg,rgba(8,11,13,.88) 0%,rgba(5,7,8,.35) 60%,rgba(5,7,8,.18) 100%),url("https://images.unsplash.com/photo-1703419776762-56bf2020639d?auto=format&fit=crop&q=82&w=1000"); background-position: 62% center; }
      .hero-content { padding: 34px 0 20px; }
      .hero h1 { max-width: 100%; margin-bottom: 16px; font-size: 32px; line-height: 1.02; text-wrap: balance; }
      .hero-lead, .mobile-filter-toggle { display: none !important; }
      .search-panel, .search-panel.is-open { position: relative; width: 100%; display: grid; grid-template-columns: minmax(0,1fr) 58px; gap: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.3); border-radius: 15px; background: #f3f0eb; box-shadow: 0 16px 40px rgba(0,0,0,.36); }
      .search-field { min-height: 62px; padding: 10px 13px 7px; border: 0 !important; border-bottom: 1px solid #d5d1cb !important; border-radius: 0; background: transparent; }
      .search-field:nth-child(4) { grid-column: 1 / -1; grid-row: 1; }
      .search-field:nth-child(1) { grid-column: 1 / -1; grid-row: 2; }
      .search-field:nth-child(2) { grid-column: 1; grid-row: 3; border-bottom: 0 !important; }
      .search-field:nth-child(3) { display: none; }
      .search-field > span { display: block; margin: 0 0 3px; color: #6d6b67; font-size: 11px; font-weight: 700; letter-spacing: 0; text-transform: none; }
      .search-field select, .search-field input { min-height: 30px; padding: 0 22px 0 0; color: #242321; background: transparent; font-size: 14px; font-weight: 600; }
      .search-field select option { color: #242321; background: white; }
      .search-go { position: static; grid-column: 2; grid-row: 3; align-self: center; justify-self: center; width: 46px; min-width: 46px; height: 46px; min-height: 46px; margin: 0 7px 0 0; padding: 0; border-radius: 11px; box-shadow: none; }
      .search-go span { display: none; }
      .search-go i { width: 21px; }

      .sponsored-grid, .offer-grid { margin-right: 0; padding-right: 9px; }
      #lastMinute .eyebrow, #lastMinute .section-copy, #lastMinute .demo-chip { display: none; }
      #lastMinute .section-head { margin-bottom: 15px; }
      #lastMinute .offer-type, #lastMinute .offer-info, #lastMinute .live-offer-note { display: none; }
      #lastMinute .offer-body { min-height: 132px; }
      #lastMinute .like-btn { width: 44px; min-width: 44px; padding: 0; }
      #lastMinute .like-label { display: none; }
      #lastMinute .alert-offer-btn { display: none; }
      #lastMinute .offer-actions { grid-template-columns: 1fr; margin-top: 13px; }
      #lastMinute .quick-buy-btn { font-size: 12px; }
      #lastMinute .offer-bottom { margin-top: 14px !important; padding-top: 12px; border-top: 1px solid var(--line); }

      #nearbySection .section-head { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; }
      #nearbySection .text-link { max-width: 132px; justify-content: flex-end; white-space: nowrap; }
      .nearby-item { grid-template-columns: 68px minmax(0,1fr) auto; min-height: 82px; gap: 11px; padding: 8px; }
      .nearby-item img { display: block; width: 68px; height: 64px; border-radius: 9px; }
      .nearby-item h4 { font-size: 17px; }
      .nearby-item p { font-size: 12px; }
      .distance-pill { min-width: 56px; padding: 7px 6px; font-size: 11px; }

      .recommendation-sections { padding: 8px 0 34px; }
      .recommendation-group { padding: 22px 0; }
      .recommendation-head { margin-bottom: 13px; }
      .recommendation-head h2 { max-width: 75%; font-size: 25px; }
      .recommendation-head button { font-size: 12px; }
      .recommendation-track { display: flex; gap: 10px; padding-right: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .recommendation-track::-webkit-scrollbar { display: none; }
      .recommendation-card { flex: 0 0 calc((100% - 10px) / 2); scroll-snap-align: start; }
      .recommendation-card img { height: 108px; }
      .recommendation-card > div { padding: 12px; }
      .recommendation-card h3 { font-size: 18px; }
      .recommendation-card p { font-size: 12px; }
      .recommendation-card strong { font-size: 12px; }

      .subpage { padding-top: 30px; }
      .subpage-header { margin-bottom: 20px; }
      .subpage-header h1, .results-header h1 { max-width: 100%; font-size: 31px; line-height: 1.04; letter-spacing: -.02em; text-wrap: balance; }
      .subpage-header > p:not(.eyebrow) { display: none; }
      #view-agenda .alert-tabs { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; overflow: hidden; }
      #view-agenda .alert-tab { width: 100%; padding: 8px 5px; font-size: 11px; }
      #view-agenda .agenda-item { grid-template-columns: 78px minmax(0,1fr); column-gap: 8px; min-height: 78px; padding: 12px 0; }
      #view-agenda .agenda-thumb, #view-agenda .agenda-tag, #view-agenda .agenda-price, #view-agenda .agenda-item > i, #view-agenda .agenda-item > svg, #view-agenda .info-badge { display: none; }
      #view-agenda .agenda-main { padding-right: 0; }
      #view-agenda .agenda-main h4 { margin-bottom: 5px; font-size: 18px; line-height: 1.15; }
      #view-agenda .agenda-main p { color: #b9b2aa; font-size: 12px; line-height: 1.35; }
      #view-agenda .agenda-period { margin: 24px 0 8px; font-size: 25px; }
      #view-agenda .agenda-empty-month, #view-agenda .agenda-empty-filter { min-height: 156px; padding: 22px 16px; }
      #view-agenda .agenda-empty-month strong, #view-agenda .agenda-empty-filter strong { font-size: 19px; }
      #view-agenda .agenda-empty-month span, #view-agenda .agenda-empty-filter span { font-size: 12px; }
      #view-agenda .agenda-month-navigation { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px; }
      #view-agenda .agenda-page-status { grid-column: 1 / -1; grid-row: 1; font-size: 12px; }
      #view-agenda .agenda-month-button { width: 100%; min-height: 48px; padding: 0 10px; font-size: 12px; }
      #view-agenda .agenda-month-previous { grid-column: 1; grid-row: 2; }
      #view-agenda .agenda-month-next { grid-column: 2; grid-row: 2; }
      .experience-title-block { position: relative; display: block; padding: 16px 0 20px; }
      .experience-title-copy { width: 100%; }
      .experience-title-copy .experience-labels { padding-right: 92px; }
      .experience-title-block { position: relative; display: block; }
      .experience-alert-top { width: 100%; margin-top: 17px; }
      .experience-title-copy h1 { max-width: 100%; margin: 8px 0 10px; font-size: clamp(30px,9vw,38px); line-height: 1.02; overflow-wrap: anywhere; text-wrap: balance; }
      .experience-head-meta { font-size: 11px; }
      .experience-gallery { width: min(calc(100% - 24px),620px); display: flex; grid-template: none; gap: 8px; margin: 0 auto; padding: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .experience-gallery::-webkit-scrollbar { display: none; }
      .experience-media-main, .experience-media-side, .experience-video-card { flex: 0 0 calc(100% - 34px); width: auto; height: 238px; grid-column: auto; grid-row: auto; scroll-snap-align: start; border-radius: 13px; }
      .experience-media-main .back-button { top: 12px; left: 12px; }
      .experience-media-main { position: relative !important; contain: layout paint; isolation: isolate; }
      .experience-intro > .experience-favorite-button { position: fixed; top: 112px; right: 14px; width: 46px; min-width: 46px; height: 46px; min-height: 46px; }
      body.admin-bar .experience-intro > .experience-favorite-button { top: 145px; }
      .experience-media-main .image-disclaimer { right: 12px; }
      .media-alternative { width: min(calc(100% - 24px),620px); }
    }

    /* UPDATE 0.11.9 · MOBILE CLARITY, REAL MAPS AND COLLECTION */
    .auth-copy h1[hidden] { display: none; }
    #registerTitle { max-width: 100%; white-space: nowrap; font-size: clamp(21px,3vw,31px); }
    .location-map { min-height: 245px; padding: 0; background: #101417; }
    .location-map::before, .location-map-pin { display: none; }
    .location-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.28) saturate(.7) contrast(1.04); }
    .location-map .btn { z-index: 3; box-shadow: 0 10px 30px rgba(0,0,0,.45); }
    .collection-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
    .collection-stat { padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-2); }
    .collection-stat span { display: block; color: var(--faint); font-size: 8px; font-weight: 800; text-transform: uppercase; }
    .collection-stat strong { display: block; margin-top: 5px; font-size: 23px; }
    .completed-list { display: grid; gap: 10px; }
    .completed-item { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-2); }
    .completed-item > i { width: 21px; color: var(--gold); }
    .completed-item h4 { margin: 0 0 4px; font-size: 14px; }
    .completed-item p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
    .completed-source { padding: 7px 9px; border-radius: 999px; color: #d4d7d4; background: rgba(255,255,255,.06); font-size: 8px; font-weight: 800; white-space: nowrap; }
    .completed-source.verified { color: #d8f0df; background: rgba(88,170,121,.13); }
    .completed-empty { padding: 20px; color: var(--muted); border: 1px dashed var(--line); border-radius: 13px; text-align: center; font-size: 10px; }
    .is-completed-home { display: none !important; }
    .mark-completed-button.done { color: #d8f0df; border-color: rgba(88,170,121,.4); background: rgba(88,170,121,.1); }
    @media (min-width:721px) {
      .footer-group > summary { pointer-events: none; list-style: none; }
      .footer-group > summary::-webkit-details-marker { display: none; }
      .footer-group > div { display: block !important; }
    }
    @media (max-width:720px) {
      .recovery-layout.auth-layout { width: min(calc(100% - 24px),620px); margin-inline: auto; }
      .recovery-layout .auth-copy h1 { max-width: 100%; font-size: clamp(30px,9vw,38px); line-height: 1.02; }
      .recovery-layout .auth-copy > p { margin: 11px 0 5px; font-size: 14px; line-height: 1.5; }
      .password-recovery-card { padding: 18px; }
      .recovery-header h3 { font-size: 23px; }
      .recovery-header p, .recovery-success p, .recovery-note { font-size: 13px; }
      .search-panel, .compact-search, .mobile-ticket-search { color: var(--ink); border-color: rgba(255,255,255,.1); background: #15191c; box-shadow: 0 16px 40px rgba(0,0,0,.3); }
      .search-field, .search-field + .search-field { border-color: rgba(255,255,255,.08); background: transparent; }
      .search-field > span, .search-field label { color: #aaa39a; }
      .search-field select, .search-field input { color: var(--ink); }
      .search-field select option { color: var(--ink); background: #15191c; }
      .search-go { align-self: stretch; }
      .search-go { color: #fff; display: grid; place-items: center; }
      .search-go i { display: block; width: 21px; height: 21px; stroke-width: 2.35; }
      .nearby-pagination { grid-template-columns: 44px minmax(0,1fr) 44px; gap: 9px; margin-top: 13px; }
      .nearby-page-nav { width: 44px; min-width: 44px; padding: 0; border-radius: 12px; }
      .nearby-page-nav span { display: none; }
      .nearby-page-center { gap: 5px; }
      .nearby-page-center > span { font-size: 12px; }
      .nearby-page-numbers { gap: 6px; }
      .date-block strong.date-range { font-size: 25px; letter-spacing: -.055em; white-space: nowrap; }
      .date-block span.date-range-month { max-width: 54px; font-size: 7px; line-height: 1.25; }
      .mobile-menu-label { padding: 9px 13px 4px; color: #8f8880; border-top: 1px solid rgba(255,255,255,.08); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
      #registerTitle { font-size: clamp(18px,5.6vw,24px); letter-spacing: -.02em; }
      #view-results .results-header h1 { max-width: 100%; font-size: clamp(27px,7.6vw,31px); line-height: 1.02; }
      .collection-overview { grid-template-columns: 1fr 1fr; }
      .collection-stat:first-child { grid-column: 1/-1; }
      .completed-item { grid-template-columns: 36px minmax(0,1fr); }
      .completed-source { grid-column: 2; width: fit-content; }
    }

    /* MVP STRUCTURE · BUSINESS, TRUST, EVENTS AND GUEST CHECKOUT */
    .business-card-action { display: inline-flex; align-items: center; margin-top: 13px; color: #f3ddd0; font-size: 13px; font-weight: 850; }
    .trust-section { padding: 22px 0; background: #0d1012; }
    .trust-panel { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--line); }
    .trust-panel > div { min-width: 0; padding: 18px; background: #17191b; }
    .trust-panel i { width: 21px; color: var(--green); }
    .trust-panel strong, .trust-panel span { display: block; }
    .trust-panel strong { margin-top: 10px; font-size: 15px; }
    .trust-panel span { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.4; }
    .home-editorial-links { padding: 40px 0 58px; background: #111416; }
    .editorial-link-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 18px; }
    .editorial-link-grid a, .editorial-link-grid button { min-height: 64px; padding: 14px 16px; color: var(--ink); border: 1px solid var(--line); border-radius: 13px; background: var(--surface); font: inherit; font-size: 14px; font-weight: 800; line-height: 1.3; text-align: left; cursor: pointer; }
    .editorial-link-grid a:hover, .editorial-link-grid button:hover { border-color: #76524e; background: var(--surface-2); }
    .guest-checkout-fields { display: grid; gap: 14px; margin-bottom: 18px; }
    .guest-checkout-note { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid rgba(195,148,84,.25); border-radius: 12px; background: rgba(195,148,84,.07); }
    .guest-checkout-note > i { flex: 0 0 auto; width: 21px; color: var(--gold); }
    .guest-checkout-note strong, .guest-checkout-note span { display: block; }
    .guest-checkout-note strong { font-size: 14px; }
    .guest-checkout-note span { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .experience-keyfacts { grid-template-columns: repeat(5,minmax(0,1fr)); }
    .business-profile-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 13px 0; color: var(--muted); font-size: 13px; }
    .business-profile-meta > span { display: inline-flex; align-items: center; gap: 6px; }
    .business-profile-meta svg { width: 16px; }
    .profile-status { padding: 6px 9px; border-radius: 999px; background: rgba(255,255,255,.06); color: #d6d0c8; font-weight: 800; }
    .event-detail-hero { min-height: 480px; }
    .event-keyfacts { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .event-description { margin: 28px 0; color: #ddd8d1; font-size: 16px; line-height: 1.7; }
    .event-booking-card { display: grid; gap: 11px; }
    .event-booking-date { display: block; margin: 2px 0 13px; font-family: var(--serif); font-size: 28px; line-height: 1.15; }
    .booking-kicker { color: var(--faint); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
    .auth-layout, .auth-copy, .auth-card, .form-grid, .field { min-width: 0; }
    .auth-card { box-sizing: border-box; width: 100%; }

    @media (max-width:980px) {
      .trust-panel { grid-template-columns: 1fr 1fr; }
      .editorial-link-grid { grid-template-columns: 1fr 1fr; }
      .experience-keyfacts { grid-template-columns: repeat(3,minmax(0,1fr)); }
      .event-keyfacts { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width:720px) {
      .search-field { min-height: 68px; }
      .search-field select, .search-field input { min-height: 40px; font-size: 15px; }
      .search-field > span { font-size: 12px; }
      .trust-section { padding: 14px 0; }
      .trust-panel { grid-template-columns: 1fr 1fr; border-radius: 13px; }
      .trust-panel > div { padding: 14px 12px; }
      .trust-panel strong { font-size: 14px; }
      .trust-panel span { font-size: 12px; }
      .home-editorial-links { padding: 30px 0 42px; }
      .editorial-link-grid { grid-template-columns: 1fr; }
      .editorial-link-grid a, .editorial-link-grid button { min-height: 52px; font-size: 14px; }
      .experience-keyfacts, .event-keyfacts { grid-template-columns: 1fr 1fr; }
      .experience-keyfact span { font-size: 11px; }
      .experience-keyfact strong { font-size: 13px; }
      .event-detail-hero { min-height: 350px; }
      .event-description { font-size: 15px; }
      .auth-layout { width: 100%; }
      .auth-card { padding: 16px; overflow: hidden; }
      .auth-copy h1 { font-size: clamp(29px,8.6vw,38px); line-height: 1.04; }
      .field > span, .form-grid .field > span { font-size: 12px; }
      .field input, .field select, .field textarea { min-height: 44px; font-size: 16px; }
      .inline-check { font-size: 12px; line-height: 1.45; }
      .inline-check input { flex: 0 0 22px; width: 22px; height: 22px; }
      .registered-user strong { font-size: 13px; }
      .registered-user span { font-size: 12px; line-height: 1.4; }
      #view-results .results-count { max-width: 100%; font-size: 13px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
      #view-results .results-filter span { font-size: 11px; }
      #view-results .results-filter select, #view-results .results-filter input { min-height: 44px; font-size: 14px; }
      #view-results .result-card h3 { font-size: 18px; }
      #view-results .result-card p, #view-results .result-meta { font-size: 12px; }
      .mobile-nav button, .mobile-nav a { min-height: 52px; font-size: 11px; }
      .location-disclosure summary { min-height: 48px; }
    }

    /* UPDATE 0.13.2 · LEGIBILITY, CAROUSELS AND BLACK BACKGROUND */
    :root { --bg: #050505; }
    html, body { background: #050505; }
    body { background-image: none; }
    #view-home, #view-results, #view-agenda, #view-experience,
    .agenda-wrap, .business-view, .mobile-discovery, .home-editorial-links { background: #050505; }

    .business-entry { min-height: 44px; padding: 0 17px; font-size: 13px; }
    .global-query input { font-size: 15px; }
    .global-location { font-size: 13px; }
    .search-field label, .search-field > span { font-size: 13px; }
    .search-field select, .search-field input { font-size: 16px; }
    .results-filter span { font-size: 12px; }
    .results-filter input, .results-filter select { font-size: 15px; }
    .result-body p, .result-meta, .result-footer { font-size: 13px; }

    .sponsored-grid, .offer-grid {
      display: flex;
      gap: 18px;
      overflow-x: auto;
      padding: 2px 2px 14px;
      scroll-behavior: smooth;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }
    .sponsored-grid::-webkit-scrollbar, .offer-grid::-webkit-scrollbar { display: none; }
    .sponsored-card {
      flex: 0 0 min(360px,calc((100% - 36px)/3));
      min-width: 300px;
      min-height: 360px;
      scroll-snap-align: start;
    }
    .offer-card, .offer-card.featured {
      flex: 0 0 min(360px,calc((100% - 36px)/3));
      min-width: 300px;
      min-height: 0;
      display: flex;
      flex-direction: column;
      grid-column: auto;
      scroll-snap-align: start;
    }
    .offer-image, .featured .offer-image { flex: 0 0 190px; height: 190px; }
    .offer-body, .featured .offer-body { flex: 1; display: flex; flex-direction: column; padding: 20px; }
    .offer-card h3, .featured h3 { font-size: 29px; line-height: 1.05; }
    .offer-location, .offer-capacity { font-size: 14px; line-height: 1.45; }
    .offer-capacity { margin-top: 9px; }
    .offer-type { font-size: 12px; line-height: 1.35; }
    .offer-actions { gap: 9px; margin-top: 16px; }
    .alert-offer-btn, .quick-buy-btn { min-height: 46px; padding: 0 12px; font-size: 13px; line-height: 1.25; }
    .alert-offer-btn i, .quick-buy-btn i { width: 17px; }
    .offer-bottom { margin-top: auto !important; padding-top: 16px; }
    .countdown-label { font-size: 12px; letter-spacing: .04em; }
    .countdown { font-size: 20px; }
    .old-price, .price small { font-size: 12px; }
    .price strong { font-size: 32px; }
    .carousel-controls { display: flex; flex: 0 0 auto; gap: 8px; }
    .carousel-controls button {
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      padding: 0;
      color: var(--ink);
      border: 1px solid var(--line);
      border-radius: 50%;
      background: var(--surface);
      cursor: pointer;
    }
    .carousel-controls button:hover { border-color: rgba(255,255,255,.3); background: var(--surface-2); }
    .carousel-controls button i { width: 19px; }

    #agendaLocationLabel { display: none !important; }
    .experience-head-meta, .business-profile-meta { font-size: 14px; }
    .experience-label, .experience-keyfact span, .booking-card .mini-label,
    .booking-card .select-label, .booking-kicker { font-size: 12px; }
    .experience-keyfact strong { font-size: 15px; line-height: 1.35; }
    .detail-action, .booking-card .btn { min-height: 48px; font-size: 14px; }
    .booking-price small { font-size: 13px; }
    .booking-summary-line { font-size: 13px; }

    @media (min-width:981px) {
      .detail-sidebar { position: sticky; top: 112px; align-self: start; }
      .detail-sidebar .booking-card { position: static; }
      #detailFavoriteTop { display: none !important; }
    }

    @media (max-width:720px) {
      .search-panel, .search-panel.is-open { grid-template-columns: 1fr 1fr; }
      .search-field:nth-child(2) { grid-column: 1; grid-row: 3; border-bottom: 0 !important; }
      .search-field:nth-child(3) { display: flex; grid-column: 2; grid-row: 3; border-left: 1px solid rgba(255,255,255,.08) !important; border-bottom: 0 !important; }
      .search-go { grid-column: 1 / -1; grid-row: 4; width: calc(100% - 14px); min-height: 50px; margin: 7px; }
      .search-go span { display: inline; font-size: 14px; }
      .sponsored-card { flex-basis: min(78vw,290px); min-width: 260px; min-height: 320px; }
      .offer-card, .offer-card.featured { flex-basis: min(82vw,310px); min-width: 275px; }
      .offer-location, .offer-capacity { font-size: 14px; }
      #lastMinute .offer-actions { display: grid; grid-template-columns: 1fr 1fr; }
      #lastMinute .alert-offer-btn { display: flex; }
      #lastMinute .alert-offer-btn, #lastMinute .quick-buy-btn { font-size: 13px; }
      .carousel-controls button { width: 44px; height: 44px; }
      .experience-head-meta { font-size: 13px; }
    }

    /* UPDATE 0.13.3 · VISUAL HOME AGENDA AND TEST BUSINESS */
    .test-business-label {
      position: absolute;
      z-index: 3;
      top: 15px;
      left: 15px;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 8px 10px;
      color: #f4e5c9;
      border: 1px solid rgba(195,155,93,.45);
      border-radius: 999px;
      background: rgba(22,17,10,.84);
      backdrop-filter: blur(10px);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .04em;
    }
    .test-business-label i { width: 15px; }
    .sponsored-card-test { border-color: rgba(195,155,93,.35); }

    .home-agenda { background: #050505; }
    .home-agenda-grid {
      display: grid;
      grid-template-columns: repeat(2,minmax(0,1fr));
      gap: 18px;
      border: 0;
    }
    .home-agenda-card {
      min-width: 0;
      min-height: 250px;
      display: grid;
      grid-template-columns: minmax(165px,34%) minmax(0,1fr);
      gap: 0;
      padding: 0;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: var(--surface);
      box-shadow: 0 16px 42px rgba(0,0,0,.2);
    }
    .home-agenda-card:hover { border-color: rgba(255,255,255,.24); background: var(--surface-2); }
    .home-agenda-media { position: relative; min-height: 250px; overflow: hidden; }
    .home-agenda-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.66),transparent 54%); }
    .home-agenda-media img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.78) saturate(.85) contrast(1.06); }
    .home-agenda-media > span { position: absolute; z-index: 2; left: 13px; bottom: 13px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(5,5,5,.76); font-size: 11px; font-weight: 800; }
    .home-agenda-content { min-width: 0; display: flex; flex-direction: column; padding: 19px; }
    .home-agenda-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
    .home-date-range { display: flex; align-items: center; gap: 7px; }
    .home-date-range > span { width: 57px; min-height: 64px; display: grid; grid-template-columns: 1fr auto; align-content: center; padding: 7px 8px; border: 1px solid var(--line); border-radius: 11px; background: #101214; }
    .home-date-range small { grid-column: 1 / -1; margin-bottom: 2px; color: var(--faint); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .home-date-range strong { font-family: var(--sans); font-size: 25px; line-height: 1; }
    .home-date-range b { align-self: end; padding-bottom: 2px; color: var(--red-bright); font-size: 9px; }
    .home-date-range > i { width: 14px; color: var(--faint); }
    .home-date-range.single > span { width: 64px; }
    .home-agenda-duration { padding: 7px 9px; color: #e6decf; border-radius: 999px; background: rgba(195,155,93,.12); font-size: 10px; font-weight: 800; white-space: nowrap; }
    .home-agenda-content h3 { margin: 16px 0 7px; font-family: var(--serif); font-size: 23px; line-height: 1.08; }
    .home-agenda-content > p { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.4; }
    .home-agenda-content > p i { flex: 0 0 auto; width: 15px; color: var(--red-bright); }
    .home-agenda-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--muted-line); }
    .home-agenda-footer span { display: inline-flex; align-items: center; gap: 6px; color: var(--faint); font-size: 11px; line-height: 1.35; }
    .home-agenda-footer span i { flex: 0 0 auto; width: 14px; }
    .home-agenda-footer strong { color: var(--cream); font-size: 12px; white-space: nowrap; }

    #view-agenda .date-block:has(.date-range) {
      min-height: 82px;
      align-items: center;
      padding: 10px 8px;
      border: 1px solid rgba(195,155,93,.25);
      border-left: 3px solid var(--gold);
      border-radius: 13px;
      background: rgba(195,155,93,.055);
      text-align: center;
    }
    #view-agenda .date-block strong.date-range { font-size: 32px; line-height: 1; letter-spacing: -.055em; white-space: nowrap; }
    #view-agenda .date-block span.date-range-month { max-width: none; margin-top: 7px; font-size: 10px; line-height: 1.25; }

    @media (max-width:980px) {
      .home-agenda-grid { grid-template-columns: 1fr; }
      .home-agenda-card { grid-template-columns: minmax(180px,32%) minmax(0,1fr); }
    }

    @media (max-width:720px) {
      .home-agenda-grid { width: 100%; display: flex; gap: 13px; overflow-x: auto; margin-right: 0; padding: 1px 12px 13px 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .home-agenda-grid::-webkit-scrollbar { display: none; }
      .home-agenda-card { flex: 0 0 min(84vw,325px); min-height: 420px; display: flex; flex-direction: column; scroll-snap-align: start; }
      .home-agenda-media { flex: 0 0 166px; min-height: 166px; }
      .home-agenda-content { flex: 1; padding: 16px; }
      .home-agenda-content h3 { margin-top: 14px; font-size: 22px; }
      .home-agenda-footer { align-items: flex-start; flex-direction: column; }
      .home-agenda-footer strong { font-size: 13px; }
      .home-date-range > span { width: 55px; min-height: 60px; }
      .home-agenda-duration { font-size: 9px; }
      #view-agenda .agenda-item { grid-template-columns: 76px minmax(0,1fr); }
      #view-agenda .date-block:has(.date-range) { width: 72px; min-height: 74px; padding: 8px 5px; }
      #view-agenda .date-block strong.date-range { font-size: 23px; }
      #view-agenda .date-block span.date-range-month { font-size: 8px; }
    }

    /* UPDATE 0.13.4 · FREE SEARCH AND ENTITY-SPECIFIC DETAIL PAGES */
    .global-search-inner {
      grid-template-columns: minmax(0,1fr) auto;
      gap: 12px;
    }
    .global-query {
      min-height: 54px;
      padding: 7px 14px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 14px;
      background: var(--surface-2);
    }
    .global-query-label { left: 43px; top: 5px; }
    .global-query input { padding: 9px 0 0; font-size: 15px; }
    .global-submit { min-width: 116px; min-height: 54px; border-radius: 14px; }
    body[data-active-view="results"] .global-search-inner { grid-template-columns: minmax(0,1fr) auto; }

    #view-results .results-filters { grid-template-columns: .9fr .75fr 1fr auto; }
    #view-results .results-filter:first-of-type { border-left: 0; }

    #view-experience .detail-sidebar,
    #view-experience .detail-sidebar .booking-card {
      position: static !important;
      top: auto !important;
      align-self: start;
    }
    .related-experiences-sidebar {
      margin: 16px 0 0;
      padding: 19px;
      border-radius: 16px;
    }
    .related-experiences-sidebar .related-head { display: block; margin-bottom: 14px; }
    .related-experiences-sidebar .related-head h2 { margin: 4px 0 8px; font-size: 25px; line-height: 1; }
    .related-experiences-sidebar .related-head > p { max-width: none; margin: 0; font-size: 12px; line-height: 1.45; }
    .related-experiences-sidebar .related-grid { grid-template-columns: 1fr; gap: 9px; }
    .related-experiences-sidebar .related-card { min-height: 0; padding: 14px; }
    .related-experiences-sidebar .related-card-top { margin-bottom: 9px; }
    .related-experiences-sidebar .related-card h3 { min-height: 0; margin-bottom: 5px; padding-right: 20px; font-size: 19px; line-height: 1.08; }
    .related-experiences-sidebar .related-card p { min-height: 0; font-size: 12px; line-height: 1.4; }
    .related-experiences-sidebar .related-meta { margin-top: 9px; }
    .related-experiences-sidebar .related-meta span { font-size: 10px; }
    .detail-grid > .booking-card,
    .business-profile-layout > .booking-card { position: static !important; top: auto !important; align-self: start; }
    .business-catalog-section .result-card { border-radius: 17px; }
    .business-catalog-section .result-card a { height: 100%; display: flex; flex-direction: column; color: inherit; }
    .business-catalog-section .result-image { min-height: 180px; background: linear-gradient(145deg,#252a2d,#111416); }
    .business-catalog-section .result-image img { width: 100%; height: 180px; object-fit: cover; }
    .business-catalog-section .result-body { flex: 1; padding: 18px; }

    @media (max-width:720px) {
      .global-search-inner { grid-template-columns: minmax(0,1fr) 52px; }
      .global-query { min-height: 50px; padding: 5px 9px 5px 12px; }
      .global-query-label { display: none; }
      .global-query input { min-height: 42px; padding: 0; font-size: 14px; }
      .global-submit { min-width: 52px; width: 52px; min-height: 50px; padding: 0; }
      .global-submit span { display: none; }

      #searchForm.search-panel,
      #searchForm.search-panel.is-open {
        grid-template-columns: minmax(0,1fr) 56px;
        grid-template-rows: 64px;
      }
      #searchForm .search-keyword-field { display: flex; grid-column: 1; grid-row: 1; border: 0 !important; }
      #searchForm .search-date-field,
      #searchForm .search-people-field,
      #searchForm .search-category-field { display: none; }
      #searchForm .search-go { grid-column: 2; grid-row: 1; width: 46px; min-width: 46px; min-height: 46px; margin: 9px 7px 9px 0; }
      #searchForm .search-go span { display: none; }

      #view-results .results-filters { grid-template-columns: 1fr 1fr; }
      #view-results .results-filter:last-of-type { grid-column: 1 / -1; }
      .related-experiences-sidebar { margin-bottom: 16px; }
    }

    /* UPDATE 0.13.8 · PROFESSIONAL PANEL, REAL EDITING AND LEGIBILITY */
    body { font-size: 16px; }
    .view p, .view small, .view label, .view button, .view input, .view select, .view textarea, .view time,
    .footer a, .footer-bottom, .section-copy, .result-meta, .offer-location, .offer-capacity, .offer-info span,
    .booking-note, .channel-note, .helper, .deposit-helper { font-size: max(13px, 1em) !important; }

    .business-layout { grid-template-columns: minmax(0,1fr) 330px; gap: 28px; padding-top: 28px; }
    .business-tabs { position: sticky; z-index: 30; top: 0; padding: 8px; gap: 7px; overflow-x: auto; background: rgba(21,25,28,.97); backdrop-filter: blur(14px); }
    .business-tabs button { flex: 0 0 auto; min-width: 112px; min-height: 48px; padding: 0 15px; font-size: 14px !important; }
    .business-tabs button.last-minute-tab { min-width: 150px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: #fff; border: 1px solid rgba(224,100,105,.55); background: rgba(182,55,60,.2); }
    .business-tabs button.last-minute-tab.active { background: var(--red); }
    .business-tabs button svg { width: 18px; }
    .business-mark span, .business-status { font-size: 13px; }
    .business-mark strong { font-size: 24px; }

    .business-metric { min-height: 118px; padding: 22px; }
    .business-metric span { color: var(--muted); font-size: 13px; letter-spacing: .04em; }
    .business-metric strong { font-size: 34px; }
    .business-metric small { display: block; margin-top: 7px; font-size: 13px; line-height: 1.35; }
    .portfolio-panel, .quick-form, .editor-card, .calendar-card { padding: 30px; }
    .portfolio-head { margin-bottom: 20px; }
    .portfolio-head h3, .editor-card h3, .calendar-card h3 { font-size: 30px; line-height: 1.12; }
    .portfolio-head p, .editor-card-heading p { max-width: 720px; margin: 7px 0 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
    .portfolio-head .btn { min-height: 48px; font-size: 14px !important; }

    .business-quick-actions { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 14px; margin-top: 22px; }
    .business-quick-actions > * { min-height: 96px; display: flex; align-items: center; gap: 14px; padding: 20px; color: var(--ink); border: 1px solid var(--line); border-radius: 16px; background: var(--surface); text-align: left; cursor: pointer; }
    .business-quick-actions > * > svg:first-child { flex: 0 0 auto; width: 25px; }
    .business-quick-actions > * span { min-width: 0; }
    .business-quick-actions strong { display: block; font-size: 17px; }
    .business-quick-actions small { display: block; margin-top: 5px; color: var(--muted); font-size: 13px !important; line-height: 1.35; }
    .urgent-business-action { color: #fff; border-color: rgba(224,100,105,.55); background: linear-gradient(135deg,#a52f34,#76272b); }
    .urgent-business-action > svg:last-child { margin-left: auto; }
    .urgent-business-action small { color: #f2dfe0; }
    .business-action-card:hover, .business-action-card:focus-visible { border-color: rgba(255,255,255,.28); background: var(--surface-2); }

    .editor-shell { display: block; }
    .business-catalog-manager { margin-bottom: 22px; }
    .editor-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
    .editor-card-heading h3 { margin-bottom: 0; }
    .editor-section { margin: 14px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #121619; }
    .editor-section > summary { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 20px; cursor: pointer; list-style: none; }
    .editor-section > summary::-webkit-details-marker { display: none; }
    .editor-section > summary > span { display: grid; grid-template-columns: 24px 1fr; gap: 2px 12px; align-items: center; }
    .editor-section > summary > span > svg { grid-row: 1 / 3; width: 22px; color: var(--gold); }
    .editor-section > summary strong { font-size: 18px; }
    .editor-section > summary small { color: var(--muted); font-size: 13px !important; }
    .editor-section > summary > svg { width: 19px; transition: transform .2s; }
    .editor-section[open] > summary > svg { transform: rotate(180deg); }
    .editor-section-body { padding: 24px; border-top: 1px solid var(--line); }
    .editor-section-body.form-grid { gap: 20px; }
    .editor-card > .editor-section .ops-config { padding: 22px; }
    .ops-config h4 { font-size: 20px; }
    .ops-config > p { font-size: 14px; }

    .business-view .field > span, .business-view .field-heading > span { margin-bottom: 9px; color: #e6e8e5; font-size: 14px; font-weight: 750; }
    .business-view .field input, .business-view .field select, .business-view .field textarea { min-height: 52px; padding-inline: 15px; border-radius: 11px; font-size: 16px !important; }
    .business-view .field textarea { min-height: 126px; padding-top: 14px; line-height: 1.5; }
    .business-view .inline-check { min-height: 48px; font-size: 14px !important; line-height: 1.45; }
    .business-view .inline-check input { flex: 0 0 22px; width: 22px; height: 22px; }
    .business-view .btn { min-height: 48px; font-size: 14px !important; }
    .editor-submit-bar { position: sticky; z-index: 15; bottom: 14px; display: flex; gap: 12px; margin-top: 18px; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: rgba(21,25,28,.94); backdrop-filter: blur(14px); }
    .editor-submit-bar .btn-primary { flex: 1; }

    .experience-admin { display: grid; grid-template-columns: 92px minmax(0,1fr) auto; align-items: center; gap: 18px; margin-top: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-2); }
    .experience-admin-media { width: 92px; height: 72px; display: grid; place-items: center; overflow: hidden; color: var(--gold); border-radius: 11px; background: #111416; }
    .experience-admin-media img { width: 100%; height: 100%; object-fit: cover; }
    .experience-admin-media svg { width: 24px; }
    .experience-admin-copy h4 { margin: 0 0 5px; font-size: 18px; }
    .experience-admin-copy p, .experience-admin-copy span { display: block; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
    .experience-admin-actions { display: flex; gap: 8px; }
    .experience-admin-actions .btn { min-height: 44px; padding-inline: 14px; }

    .photo-upload-panel, .photo-requirements { padding: 22px; }
    .photo-upload-panel > div:first-child strong, .photo-requirements-head strong { font-size: 17px; }
    .photo-upload-panel p, .photo-requirements-head p, .photo-policy { color: var(--muted); font-size: 14px; line-height: 1.5; }
    .photo-upload-status { display: flex; align-items: center; gap: 9px; min-height: 46px; margin: 14px 0 0; padding: 11px 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; background: rgba(255,255,255,.045); color: var(--ink); font-size: 14px; }
    .photo-upload-status[data-state="uploading"] { border-color: rgba(195,155,93,.55); color: #f1ca87; }
    .photo-upload-status[data-state="success"] { border-color: rgba(108,190,130,.55); color: #a9e1b8; }
    .photo-upload-status[data-state="error"] { border-color: rgba(210,66,76,.65); color: #ffafb5; }
    .photo-upload-actions { display: flex; gap: 10px; margin: 16px 0; }
    .file-button { cursor: pointer; }
    .upload-preview-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
    .upload-preview { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #101315; }
    .upload-preview img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
    .upload-preview figcaption { padding: 10px; font-size: 13px; font-weight: 750; }
    .upload-preview figcaption span { color: var(--muted); font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
    .upload-empty { grid-column: 1/-1; min-height: 116px; display: grid; place-items: center; align-content: center; gap: 8px; color: var(--muted); border: 1px dashed rgba(255,255,255,.2); border-radius: 12px; font-size: 14px; }
    .upload-empty svg { width: 25px; }

    .vacation-builder, .multiple-time-builder { grid-column: 1/-1; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); }
    .vacation-builder > div:first-child strong, .field-heading > span { display: block; color: var(--ink); font-size: 17px; font-weight: 750; }
    .vacation-builder > div:first-child p { margin: 5px 0 15px; color: var(--muted); font-size: 14px; }
    .vacation-fields { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 12px; }
    .vacation-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; color: var(--muted); font-size: 14px; }
    .vacation-list button { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 11px; color: var(--ink); border: 1px solid var(--line); border-radius: 999px; background: #111416; cursor: pointer; }
    .vacation-list button svg { width: 16px; }
    .field-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
    .field-heading button { min-height: 42px; display: inline-flex; align-items: center; gap: 7px; padding: 0 13px; color: var(--ink); border: 1px solid var(--line); border-radius: 10px; background: #111416; cursor: pointer; }
    .field-heading button svg { width: 17px; }
    #offerTimeRows { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
    .time-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: #111416; }
    .time-row > span { grid-column: 1/-1; color: var(--muted); font-size: 13px; }
    .time-row input { width: 100%; min-height: 50px; padding: 0 12px; color: #fff; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-2); font-size: 17px; cursor: pointer; color-scheme: dark; }

    .last-minute-publisher { border-color: rgba(224,100,105,.48); box-shadow: 0 0 0 1px rgba(182,55,60,.08),0 24px 70px rgba(0,0,0,.28); }
    .last-minute-heading { display: grid; grid-template-columns: 56px 1fr auto; align-items: center; gap: 16px; margin-bottom: 24px; }
    .last-minute-icon { width: 56px; height: 56px; display: grid; place-items: center; color: #fff; border-radius: 15px; background: var(--red); }
    .last-minute-icon svg { width: 28px; }
    .last-minute-heading h3 { margin: 0; font-family: var(--serif); font-size: 34px; }
    .last-minute-heading p { margin: 5px 0 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
    .last-minute-price-result { margin-top: 20px; padding: 22px; border: 1px solid rgba(224,100,105,.4); border-radius: 16px; background: linear-gradient(135deg,rgba(182,55,60,.18),rgba(17,20,22,.96)); }
    .last-minute-price-result > span { color: #f0d8d9; font-size: 14px; font-weight: 750; }
    .last-minute-price-result > strong { display: block; margin: 6px 0; font-size: 42px; line-height: 1; }
    .last-minute-price-result p { margin: 8px 0 0; color: #d9d3cc; font-size: 14px; line-height: 1.5; }

    .business-profile-editor .portfolio-head { align-items: flex-start; }
    .business-profile-editor .form-grid { margin-top: 22px; }

    @media (max-width:1100px) {
      .business-layout { grid-template-columns: 1fr; }
      .business-layout > .live-preview { position: static; max-width: 520px; }
      .business-quick-actions { grid-template-columns: 1fr 1fr; }
      .urgent-business-action { grid-column: 1/-1; }
    }
    @media (max-width:720px) {
      .business-layout { width: min(100% - 20px,1180px); padding-top: 14px; }
      .business-top .shell { padding-inline: 10px; }
      .business-mark strong { font-size: 20px; }
      .business-status { display: none; }
      .business-tabs { margin-inline: -2px; top: 0; }
      .business-tabs button { min-width: 118px; min-height: 50px; font-size: 14px !important; }
      .business-metrics, .business-quick-actions { grid-template-columns: 1fr; }
      .urgent-business-action { grid-column: auto; }
      .portfolio-panel, .quick-form, .editor-card, .calendar-card { padding: 18px; border-radius: 16px; }
      .portfolio-head, .editor-card-heading, .last-minute-heading { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
      .last-minute-icon { width: 48px; height: 48px; }
      .portfolio-head .btn, .editor-card-heading .btn { width: 100%; }
      .editor-section > summary { min-height: 76px; padding: 14px; }
      .editor-section-body { padding: 14px; }
      .experience-admin { grid-template-columns: 72px minmax(0,1fr); gap: 13px; }
      .experience-admin-media { width: 72px; height: 64px; }
      .experience-admin-actions { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; }
      .upload-preview-grid { grid-template-columns: 1fr 1fr; }
      .photo-upload-actions, .editor-submit-bar { flex-direction: column; }
      .photo-upload-actions .btn, .editor-submit-bar .btn { width: 100%; }
      .vacation-fields, #offerTimeRows { grid-template-columns: 1fr; }
      .vacation-fields .btn { width: 100%; }
      .last-minute-heading .timer-chip { width: fit-content; }
      .last-minute-price-result > strong { font-size: 38px; }
    }

    /* Legibilidad mínima consistente: ninguna instrucción operativa queda en microtexto. */
    .private-demo { min-height: 42px; }
    .private-demo .shell, .private-demo strong, .private-demo span { font-size: 13px; line-height: 1.35; }
    .private-demo i { width: 17px; }
    #view-business :is(p,small,label,button,input,select,textarea,time,span),
    #view-business .business-status,
    #view-business .live-preview h4,
    #view-business .live-preview strong { font-size: max(14px, 1em) !important; }
    #view-business .live-preview .preview-discount,
    #view-business .live-preview .offer-type { font-size: 14px !important; }
    #view-business .business-mark { gap: 12px; }
    #view-business .business-mark strong { font-size: 23px !important; line-height: 1.1; }
    #view-business .business-mark > svg { width: 24px; }
    #view-business .mini-action .action-text { font-size: 13px !important; }
    #view-business .toggle-label { font-size: 13px !important; }
    #view-business .timer-chip { font-size: 13px !important; }
    #view-business .payment-callout,
    #view-business .payment-callout strong,
    #view-business .payment-callout span { font-size: 14px !important; line-height: 1.45; }
    #view-business .flow-message,
    #view-business .flow-message strong,
    #view-business .flow-message span { font-size: 14px !important; line-height: 1.45; }
    #view-business .live-preview h4 { font-size: 17px !important; }
    #view-business .live-preview .offer-preview h3 { font-size: 32px !important; }
    #view-business .business-mark + .business-top-actions { flex-shrink: 0; }
    #view-business .integration-card h4,
    #view-business .commission-bar strong { font-size: 15px !important; line-height: 1.35; }
    #view-business .commission-bar span,
    #view-business .commission-badges b { font-size: 13px !important; line-height: 1.4; }

    .view :is(.result-meta,.offer-location,.offer-capacity,.offer-info,.booking-note,.channel-note,.helper,.deposit-helper) span,
    .view :is(.result-meta,.offer-location,.offer-capacity,.offer-info,.booking-note,.channel-note,.helper,.deposit-helper) { font-size: max(13px, 1em) !important; }
    .view span { font-size: max(13px, 1em) !important; }
    .login-remember { min-height: 60px; display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 14px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.035); cursor: pointer; }
    .login-remember input { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 2px; accent-color: var(--red-bright); }
    .login-remember span { min-width: 0; }
    .login-remember strong { display: block; font-size: 15px; line-height: 1.3; }
    .login-remember small { display: block; margin-top: 4px; color: var(--muted); font-size: 13px !important; line-height: 1.45; }
    .home-date-range b,
    .home-agenda-footer strong,
    .result-footer strong,
    #view-expired .archive-banner strong,
    #view-experience .location-map .btn,
    #view-experience .review-card strong,
    #view-experience .profile-origin,
    #view-checkout .test-payment-banner strong,
    #view-checkout .registered-user strong,
    #view-checkout .summary-line strong,
    #view-checkout .secure-line,
    #view-register .auth-benefit,
    #view-register .role-card strong,
    .recommendation-bottom strong,
    .agenda-location-copy strong { font-size: 13px !important; }

    @media (min-width:721px) {
      #view-business .business-tabs { flex-wrap: wrap; overflow: visible; }
      #view-business .business-tabs button { flex: 1 1 120px; }
      #view-business .business-tabs button.last-minute-tab { flex-basis: 155px; }
    }

    @media (max-width:720px) {
      .private-demo { min-height: 38px; }
      .private-demo .shell, .private-demo strong { font-size: 13px; }
      #view-business .business-mark strong { max-width: 150px; overflow: hidden; font-size: 19px !important; text-overflow: ellipsis; white-space: nowrap; }
      #view-business .business-top .shell { min-height: 72px; }
      #view-business .business-top-actions { gap: 7px; }
      #view-business .mini-action { min-width: 82px; min-height: 54px; padding-inline: 8px; }
      #view-business .mini-action .action-text { font-size: 13px !important; }
    }

    .detail-hero-video { width: 100%; height: 100%; display: block; object-fit: cover; background: #050607; }
    .single-media-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0 0 28px; }
    .single-media-gallery a { min-height: 130px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #111; }
    .single-media-gallery img { width: 100%; height: 100%; aspect-ratio: 4/3; display: block; object-fit: cover; transition: transform .22s ease; }
    .single-media-gallery a:hover img { transform: scale(1.035); }
    .organizer-inline-link, .organizer-title-link { display: inline-flex; align-items: center; gap: 7px; padding: 0; color: inherit; border: 0; background: transparent; font: inherit; text-align: left; text-decoration: underline; text-decoration-color: rgba(224,100,105,.48); text-underline-offset: 4px; cursor: pointer; }
    .organizer-inline-link:hover, .organizer-title-link:hover { color: #fff; text-decoration-color: var(--red-bright); }
    .organizer-inline-link svg { width: 17px; }
    .organizer-title-link:disabled { text-decoration: none; cursor: default; }
    .organizer-keyfact { color: inherit; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
    .organizer-keyfact:hover { border-color: rgba(224,100,105,.62); transform: translateY(-2px); }
    .organizer-keyfact small { color: var(--red-soft); }
    .field-helper-actions { display: flex; justify-content: flex-start; margin-top: -7px; }
    .field-helper-actions .btn { min-height: 44px; }
    .experience-address-field { padding: 15px; border: 1px solid rgba(224,100,105,.34); border-radius: 13px; background: rgba(182,55,60,.07); }
    .single-commerce-card { display: grid; gap: 10px; }
    .single-commerce-status { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
    .single-commerce-status span { display: inline-flex; align-items: center; gap: 7px; color: var(--positive); font-weight: 750; }
    .single-commerce-status svg { width: 18px; }
    .single-commerce-status strong { color: var(--ink); font-size: 20px; }
    .single-next-session { display: grid; gap: 4px; padding: 12px 0; }
    .single-next-session span { color: var(--muted); font-size: 13px; }
    .single-next-session strong { color: var(--ink); font-size: 16px; line-height: 1.35; }
    .single-booking-primary { min-height: 54px; font-size: 16px; }
    .single-commerce-empty { display: flex; align-items: flex-start; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
    .single-commerce-empty > svg { flex: 0 0 21px; width: 21px; color: var(--gold); }
    .single-commerce-empty strong, .single-commerce-empty span { display: block; }
    .single-commerce-empty span { margin-top: 4px; color: var(--muted); font-size: 13px; line-height: 1.45; }
    .single-official-site { margin-top: 2px; }
    .single-official-site .btn { margin-top: 0; }
    .single-mobile-booking-bar { display: none; }
    @media (max-width:720px) {
      .single-media-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .single-media-gallery a { min-height: 105px; }
      .field-helper-actions .btn { width: 100%; }
      .single-yea_experience .site-footer, .single-yea_event .site-footer, .single-yea_venue .site-footer { padding-bottom: 92px; }
      .single-mobile-booking-bar { position: fixed; z-index: 120; right: 10px; bottom: 10px; left: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 70px; padding: 10px 10px 10px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 17px; background: rgba(17,20,22,.96); box-shadow: 0 16px 45px rgba(0,0,0,.55); backdrop-filter: blur(16px); }
      .single-mobile-booking-bar > div { min-width: 0; }
      .single-mobile-booking-bar span { display: block; color: var(--muted); font-size: 12px; }
      .single-mobile-booking-bar strong { display: block; margin-top: 2px; color: #fff; font-size: 17px; }
      .single-mobile-booking-bar .btn { flex: 0 0 auto; min-width: 125px; min-height: 50px; }
    }

    /* Ficha verificable: galería ampliable, calendario real y lectura por bloques. */
    .single-bookable-entity { animation: none; }
    .detail-hero::after { pointer-events: none; }
    .single-primary-open { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #090909; cursor: zoom-in; }
    .single-primary-open img { width: 100%; height: 100%; display: block; object-fit: cover; }
    .single-entity-shell { padding-top: 24px; }
    .single-entity-shell .single-media-gallery { display: block; margin: 0 0 24px; }
    .single-gallery-track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
    .single-gallery-track .single-gallery-open { min-width: 0; min-height: 150px; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #111; cursor: zoom-in; }
    .single-gallery-track .single-gallery-open img { width: 100%; height: 100%; aspect-ratio: 4/3; display: block; object-fit: cover; transition: transform .2s ease; }
    .single-gallery-track .single-gallery-open:hover img { transform: scale(1.025); }
    .single-media-gallery.has-carousel .single-gallery-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .single-media-gallery.has-carousel .single-gallery-track::-webkit-scrollbar { display: none; }
    .single-media-gallery.has-carousel .single-gallery-open { flex: 0 0 calc((100% - 20px) / 3); scroll-snap-align: start; }
    .single-gallery-controls { display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin-top: 10px; color: var(--muted); }
    .single-gallery-controls button { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--ink); cursor: pointer; }
    .single-gallery-controls span { margin-right: auto; font-size: 14px; }
    .single-detail-grid { padding-top: 0; }
    .single-top-keyfacts { margin: 0 0 24px; }
    .single-content-section { margin-top: 42px; }
    .single-content-section > h2, .single-section-heading h2 { margin: 0 0 16px; font-family: var(--serif); font-size: clamp(25px,3vw,34px); line-height: 1.1; }
    .single-rich-copy, .single-rich-copy p { color: #c8c2bc; font-size: 17px; line-height: 1.72; }

    .public-session-picker { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
    .public-session-heading, .session-calendar-toolbar, .single-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
    .public-session-heading > div > span, .single-section-heading > div > span { color: var(--red-soft); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .public-session-heading h2 { margin: 3px 0 0; font-family: var(--serif); font-size: clamp(25px,3vw,33px); line-height: 1.08; }
    .public-session-heading > span { display: inline-flex; align-items: center; gap: 7px; color: var(--positive); font-size: 14px; font-weight: 750; white-space: nowrap; }
    .public-session-heading svg { width: 18px; }
    .session-calendar-toolbar { margin-top: 22px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-2); }
    .session-calendar-toolbar strong { font-size: 18px; text-transform: capitalize; }
    .session-calendar-toolbar button { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: #111517; color: var(--ink); cursor: pointer; }
    .session-calendar-toolbar button:disabled { opacity: .28; cursor: default; }
    .session-weekdays, .session-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 7px; }
    .session-weekdays { margin-top: 14px; }
    .session-weekdays span { padding: 7px 0; color: var(--muted); font-size: 13px; font-weight: 800; text-align: center; }
    .session-calendar-grid button, .session-calendar-blank { min-height: 54px; }
    .session-calendar-grid button { position: relative; display: grid; place-items: center; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: #111517; color: var(--ink); cursor: pointer; }
    .session-calendar-grid button > span { font-size: 16px; font-weight: 800; }
    .session-calendar-grid button small { position: absolute; right: 4px; bottom: 3px; min-width: 17px; padding: 2px 4px; border-radius: 10px; background: rgba(66,161,106,.18); color: #8de5b1; font-size: 10px; font-weight: 800; }
    .session-calendar-grid button:disabled { border-color: transparent; background: transparent; color: #5d6265; cursor: default; }
    .session-calendar-grid button.active { border-color: var(--red-bright); background: rgba(184,50,58,.2); box-shadow: 0 0 0 2px rgba(184,50,58,.12); }
    .session-time-panel { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
    .session-time-panel > strong { display: block; font-size: 16px; text-transform: capitalize; }
    .session-time-options { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
    .session-time-options button { min-width: 108px; min-height: 58px; display: grid; gap: 2px; padding: 9px 14px; border: 1px solid var(--line-strong); border-radius: 11px; background: #111517; color: var(--ink); text-align: left; cursor: pointer; }
    .session-time-options button strong { font-size: 17px; }
    .session-time-options button span { color: var(--muted); font-size: 13px; }
    .session-time-options button.active { border-color: var(--red-bright); background: var(--red); color: #fff; }
    .session-time-options button.active span { color: #fff; }
    .single-inline-empty { margin-bottom: 28px; }

    .single-commerce-status { min-width: 0; }
    .single-commerce-status strong { flex: 0 0 auto; white-space: nowrap; }
    .single-selected-session { display: grid; gap: 5px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
    .single-selected-session span { color: var(--muted); font-size: 13px; }
    .single-selected-session strong { font-size: 15px; line-height: 1.4; }
    .single-booking-primary.is-disabled, .single-mobile-booking-bar .btn.is-disabled { opacity: .46; filter: saturate(.25); cursor: not-allowed; }

    .single-practical-info .experience-disclosure { margin-bottom: 10px; }
    .single-practical-info .experience-disclosure summary strong { font-size: 16px; }
    .single-practical-info .experience-disclosure summary small { font-size: 14px; line-height: 1.4; }
    .single-practical-info .experience-disclosure .disclosure-body p { font-size: 15px; line-height: 1.65; }
    .single-section-heading .btn { flex: 0 0 auto; min-height: 46px; }
    .single-location-address { display: flex; align-items: center; gap: 8px; margin: 0 0 13px; color: #d9d4ce; font-size: 16px; }
    .single-location-address svg { flex: 0 0 19px; width: 19px; color: var(--red-soft); }
    .single-map-preview { height: 310px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #111; }
    .single-map-preview iframe { width: 100%; height: 100%; border: 0; filter: grayscale(.25) brightness(.82) contrast(1.08); pointer-events: none; }
    .single-organizer-card { display: grid; grid-template-columns: 68px minmax(0,1fr) 24px; align-items: center; gap: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: inherit; text-decoration: none; }
    .single-organizer-card > img, .single-organizer-placeholder { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 13px; object-fit: cover; background: var(--surface-2); }
    .single-organizer-placeholder svg { width: 28px; color: var(--gold); }
    .single-organizer-card > span:nth-child(2) { min-width: 0; }
    .single-organizer-card strong { display: block; font-size: 20px; }
    .single-organizer-card small { display: inline-flex; align-items: center; gap: 6px; margin-top: 5px; color: var(--positive); font-size: 13px; }
    .single-organizer-card small svg { width: 16px; }
    .single-organizer-card p { margin: 9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }

    .single-lightbox[hidden] { display: none; }
    .single-lightbox { position: fixed; z-index: 99999; inset: 0; display: grid; place-items: center; padding: 70px 72px; background: rgba(0,0,0,.94); }
    .single-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: 0 25px 80px rgba(0,0,0,.6); }
    .single-lightbox-close, .single-lightbox-nav { position: absolute; width: 50px; height: 50px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(20,22,24,.88); color: #fff; cursor: pointer; }
    .single-lightbox-close { top: 18px; right: 18px; }
    .single-lightbox-nav { top: 50%; transform: translateY(-50%); }
    .single-lightbox-nav.previous { left: 15px; }
    .single-lightbox-nav.next { right: 15px; }
    .single-lightbox > span { position: absolute; bottom: 22px; color: #fff; font-size: 15px; font-weight: 800; }
    body.single-lightbox-open { overflow: hidden; }

    #view-business .focal-upload-preview { display: grid; }
    #view-business .media-focal-controls { display: grid; gap: 8px; padding: 11px; border-top: 1px solid var(--line); background: #15191c; }
    #view-business .media-focal-controls label { display: grid; grid-template-columns: 82px minmax(0,1fr); align-items: center; gap: 9px; }
    #view-business .media-focal-controls span { color: var(--muted); font-size: 13px !important; font-weight: 700; }
    #view-business .media-focal-controls input[type="range"] { width: 100%; min-height: 32px; accent-color: var(--red-bright); cursor: grab; }

    @media (max-width:900px) {
      .single-gallery-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .single-media-gallery.has-carousel .single-gallery-open { flex-basis: calc((100% - 10px) / 2); }
    }
    @media (max-width:720px) {
      .single-entity-shell { width: min(calc(100% - 24px),var(--max)); padding-top: 14px; }
      .single-gallery-track { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .single-gallery-track .single-gallery-open, .single-media-gallery.has-carousel .single-gallery-open { flex: 0 0 78%; min-height: 120px; scroll-snap-align: start; }
      .single-gallery-controls { display: none; }
      .single-detail-grid { gap: 24px; }
      .single-detail-grid > .single-commerce-card { display: none; }
      .public-session-picker { padding: 16px; border-radius: 15px; }
      .public-session-heading { align-items: flex-start; }
      .public-session-heading > span { font-size: 12px; }
      .session-weekdays, .session-calendar-grid { gap: 4px; }
      .session-calendar-grid button, .session-calendar-blank { min-height: 47px; }
      .session-calendar-grid button > span { font-size: 15px; }
      .session-time-options { display: grid; grid-template-columns: 1fr 1fr; }
      .session-time-options button { width: 100%; min-width: 0; }
      .single-content-section { margin-top: 34px; }
      .single-section-heading { align-items: flex-start; flex-direction: column; }
      .single-section-heading .btn { width: 100%; }
      .single-map-preview { height: 240px; }
      .single-lightbox { padding: 70px 12px; }
      .single-lightbox-nav { top: auto; bottom: 17px; transform: none; }
      .single-lightbox > span { bottom: 32px; }
      #view-business .upload-preview-grid { grid-template-columns: 1fr; }
    }

    /* Ficha 0.14.4: galería compacta, ampliación contenida y datos clave agrupados. */
    .single-media-composition { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
    .single-media-composition.has-side-gallery { grid-template-columns: minmax(0,2.15fr) minmax(250px,.85fr); }
    .single-media-composition .detail-hero { height: 420px; border: 1px solid var(--line); border-radius: 20px; }
    .single-media-composition .back-button { top: 18px; left: 18px; }
    .single-media-composition .detail-title { bottom: 27px; left: 28px; right: 28px; }
    .single-media-composition .detail-title h1 { font-size: clamp(42px,5vw,64px); }
    .single-media-composition .single-media-gallery { position: relative; min-width: 0; height: 420px; display: block; margin: 0; overflow: hidden; border-radius: 20px; }
    .single-media-composition .single-gallery-track,
    .single-media-composition .single-media-gallery.has-carousel .single-gallery-track { width: 100%; height: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: calc((100% - 10px)/2); gap: 10px; overflow-x: hidden; overflow-y: auto; scroll-snap-type: y mandatory; scrollbar-width: none; }
    .single-media-composition .single-gallery-track::-webkit-scrollbar { display: none; }
    .single-media-composition .single-gallery-track .single-gallery-open,
    .single-media-composition .single-media-gallery.has-carousel .single-gallery-open { width: 100%; height: 100%; min-height: 0; border-radius: 16px; scroll-snap-align: start; }
    .single-media-composition .single-gallery-count-1 .single-gallery-track { grid-template-columns: 1fr; grid-auto-rows: 100%; }
    .single-media-composition .single-gallery-count-2 .single-gallery-track { grid-template-columns: 1fr; grid-auto-rows: calc((100% - 10px)/2); }
    .single-media-composition .single-gallery-track .single-gallery-open img { width: 100%; height: 100%; aspect-ratio: auto; }
    .single-media-composition .single-gallery-controls { position: absolute; z-index: 4; right: 10px; bottom: 10px; left: 10px; justify-content: center; gap: 7px; margin: 0; padding: 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(8,10,11,.82); backdrop-filter: blur(12px); }
    .single-media-composition .single-gallery-controls span { margin: 0 auto; color: #fff; font-size: 13px; font-weight: 750; }
    .single-media-composition .single-gallery-controls button { width: 36px; height: 36px; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.08); }
    .single-entity-shell { padding-top: 28px; }

    .single-top-keyfacts { grid-template-columns: minmax(190px,1.35fr) repeat(4,minmax(0,1fr)); gap: 0; padding: 8px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,#161b1e,#101315); box-shadow: inset 0 1px 0 rgba(255,255,255,.035); }
    .single-top-keyfacts .experience-keyfact { position: relative; min-height: 106px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 0; padding: 22px 17px 17px; border: 0; border-left: 1px solid rgba(255,255,255,.09); border-radius: 0; background: transparent; }
    .single-top-keyfacts .experience-keyfact:first-child { border-left: 0; }
    .single-top-keyfacts .organizer-keyfact { border-radius: 13px; background: linear-gradient(145deg,rgba(180,51,58,.18),rgba(255,255,255,.025)); }
    .single-top-keyfacts .experience-keyfact::before { content: ""; position: absolute; top: 11px; left: 17px; width: 30px; height: 2px; background: linear-gradient(90deg,#a52f39,#d7a25f 72%,transparent); box-shadow: 0 0 10px rgba(165,47,57,.28); }
    .single-top-keyfacts .organizer-keyfact::before { width: 42px; background: linear-gradient(90deg,#d84b55,#e6b66e 72%,transparent); }
    .single-top-keyfacts .experience-keyfact > span { margin: 0; color: #c7c1bb; font-size: 14px; letter-spacing: .035em; }
    .single-top-keyfacts .experience-keyfact > strong { margin-top: 7px; color: #f4f1ed; font-family: var(--serif); font-size: 19px; line-height: 1.22; letter-spacing: .01em; }
    .single-top-keyfacts .experience-keyfact > small { margin-top: 7px; color: #db8a8f; font-size: 13px; }
    .single-top-keyfacts .fear-track { width: min(100%,105px); gap: 3px; margin-top: 10px; }
    .single-top-keyfacts .fear-track span { height: 5px; }

    .single-lightbox { padding: 76px; background: rgba(0,0,0,.91); backdrop-filter: blur(8px); }
    .single-lightbox img { width: auto; height: auto; max-width: min(100%,980px); max-height: 72vh; padding: 8px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: #0f1112; box-shadow: 0 24px 75px rgba(0,0,0,.68); }
    .single-lightbox > span { bottom: 26px; padding: 7px 12px; border-radius: 999px; background: rgba(20,22,24,.86); }

    .experience-address-map-preview { grid-column: 1/-1; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #111517; }
    .experience-address-map-preview[hidden] { display: none; }
    .experience-address-map-preview > div { min-width: 0; }
    .experience-address-map-preview strong, .experience-address-map-preview span { display: block; }
    .experience-address-map-preview strong { font-size: 16px; }
    .experience-address-map-preview span { margin-top: 4px; color: var(--muted); font-size: 13px !important; overflow-wrap: anywhere; }
    .experience-address-map-preview iframe { grid-column: 1/-1; width: 100%; height: 210px; border: 0; border-radius: 12px; background: #090b0c; }
    .experience-address-map-preview .btn { align-self: center; margin: 0; white-space: nowrap; }
    #view-business .primary-media-preview { max-width: 680px; }
    #view-business .primary-upload-preview img,
    #view-business .primary-upload-preview video { aspect-ratio: 16/9; }
    #view-business #experiencePhotoPreview .upload-preview img { aspect-ratio: 4/3; }

    @media (max-width:980px) {
      .single-media-composition.has-side-gallery { grid-template-columns: minmax(0,1.8fr) minmax(220px,.8fr); }
      .single-top-keyfacts { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .single-top-keyfacts .organizer-keyfact { grid-column: 1/-1; }
      .single-top-keyfacts .experience-keyfact { border-left: 0; border-top: 1px solid rgba(255,255,255,.08); }
    }
    @media (max-width:720px) {
      .single-media-composition, .single-media-composition.has-side-gallery { width: min(calc(100% - 20px),var(--max)); display: block; margin-top: 10px; }
      .single-media-composition .detail-hero { height: 310px; border-radius: 16px; }
      .single-media-composition .detail-title { bottom: 18px; left: 18px; right: 18px; }
      .single-media-composition .detail-title h1 { font-size: clamp(36px,12vw,48px); }
      .single-media-composition .detail-meta { gap: 8px 12px; }
      .single-media-composition .single-media-gallery { height: 106px; margin-top: 8px; border-radius: 13px; }
      .single-media-composition .single-gallery-track,
      .single-media-composition .single-media-gallery.has-carousel .single-gallery-track { display: flex; flex-direction: row; gap: 8px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; }
      .single-media-composition .single-gallery-track .single-gallery-open,
      .single-media-composition .single-media-gallery.has-carousel .single-gallery-open,
      .single-media-composition .single-gallery-count-1 .single-gallery-open { flex: 0 0 46%; min-height: 106px; border-radius: 13px; }
      .single-media-composition .single-gallery-count-1 .single-gallery-open { flex-basis: 100%; }
      .single-top-keyfacts { grid-template-columns: 1fr 1fr; padding: 6px; }
      .single-top-keyfacts .organizer-keyfact { grid-column: 1/-1; }
      .single-top-keyfacts .experience-keyfact { min-height: 98px; padding: 23px 12px 13px; }
      .single-top-keyfacts .experience-keyfact::before { top: 11px; left: 12px; width: 26px; }
      .single-top-keyfacts .organizer-keyfact::before { width: 38px; }
      .single-top-keyfacts .experience-keyfact > span { font-size: 13px; }
      .single-top-keyfacts .experience-keyfact > strong { font-size: 16px; }
      .single-lightbox { padding: 66px 12px 88px; }
      .single-lightbox img { max-width: 94vw; max-height: 68vh; padding: 5px; }
      .experience-address-map-preview { grid-template-columns: 1fr; }
      .experience-address-map-preview .btn { width: 100%; }
      .experience-address-map-preview iframe { height: 190px; }
    }

/* Edición de experiencia y calendario profesional · 0.14.6 */
#view-business .choice-panel { min-width: 0; margin: 0; padding: 18px; border: 1px solid #465158; border-radius: 14px; background: #1b2024; }
#view-business .choice-panel legend { padding: 0 7px; color: #f2f3f1; font-size: 16px; font-weight: 800; }
#view-business .choice-panel > p { margin: 0 0 13px; color: #b8c0c3; font-size: 14px; }
#view-business .choice-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
#view-business .choice-grid label { min-height: 48px; display: flex; align-items: center; gap: 9px; padding: 10px 12px; color: #e9ecea; border: 1px solid #48545a; border-radius: 11px; background: #242b2f; cursor: pointer; }
#view-business .choice-grid label:has(input:checked) { border-color: #d05b61; background: #562329; box-shadow: 0 0 0 2px rgba(208,91,97,.1); }
#view-business .choice-grid input { flex: 0 0 20px; width: 20px; height: 20px; accent-color: #d85259; }

#view-business .schedule-rule-builder { gap: 18px; padding: 22px; background: linear-gradient(145deg,#191e21,#14181b); }
#view-business .form-grid > .full { grid-column: 1 / -1; }
#view-business .schedule-rule-builder > .field-heading { align-items: flex-start; margin: 0; padding-bottom: 16px; border-bottom: 1px solid #3b454a; }
#view-business .schedule-rule-builder .field-heading > span { font-family: var(--serif); font-size: 22px; }
#view-business .schedule-rule { grid-template-columns: 1fr; gap: 18px; padding: 0; overflow: hidden; border-color: #4b575d; background: #20272b; }
#view-business .schedule-rule-head { grid-column: 1; min-height: 65px; padding: 13px 16px; border-bottom-color: #465158; background: linear-gradient(90deg,rgba(166,49,57,.2),rgba(255,255,255,.018)); }
#view-business .schedule-rule-head strong { font-family: var(--serif); font-size: 19px; }
#view-business .schedule-rule-days,
#view-business .schedule-rule-times,
#view-business .schedule-rule-mode { grid-column: 1; margin: 0 16px; }
#view-business .schedule-rule-days .weekday-options { grid-template-columns: repeat(7,minmax(0,1fr)); }
#view-business .schedule-rule-days .weekday-options label { min-height: 48px; font-size: 14px; }
#view-business .schedule-rule-times { padding-top: 16px; border-top: 1px solid #3e484d; }
#view-business .schedule-time-adder { max-width: 520px; grid-template-columns: minmax(150px,210px) auto; }
#view-business .schedule-time-list { min-height: 46px; padding: 4px 0; }
#view-business .schedule-rule-mode { max-width: 520px; padding: 0 0 18px; }

#view-business .calendar-sync-panel { margin: 0 0 22px; padding: 24px; border: 1px solid #59666d; border-radius: 18px; background: linear-gradient(145deg,#1a2023,#111517); box-shadow: 0 18px 48px rgba(0,0,0,.22); }
#view-business .calendar-sync-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
#view-business .calendar-sync-heading > div > span { color: #e06469; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
#view-business .calendar-sync-heading h3 { margin: 4px 0 6px; font-family: var(--serif); font-size: 30px; }
#view-business .calendar-sync-heading p { max-width: 780px; margin: 0; color: #bec5c7; font-size: 15px; line-height: 1.5; }
#view-business .calendar-sync-explanation { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
#view-business .calendar-sync-explanation > div { display: grid; grid-template-columns: 35px 1fr; gap: 11px; padding: 14px; border: 1px solid #465158; border-radius: 12px; background: #20272b; }
#view-business .calendar-sync-explanation svg { width: 23px; color: #e06469; }
#view-business .calendar-sync-explanation strong,
#view-business .calendar-sync-explanation small { display: block; }
#view-business .calendar-sync-explanation small { margin-top: 4px; color: #b8c0c3; line-height: 1.4; }

#view-business .bulk-session-delete { margin-top: 18px; border: 1px solid rgba(224,100,105,.34); border-radius: 14px; background: #18191a; }
#view-business .session-table { gap: 14px; }
#view-business .session-day-group { overflow: hidden; border: 1px solid #3f494e; border-radius: 14px; background: #131719; }
#view-business .session-day-group > header { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 15px; border-bottom: 1px solid #3f494e; background: #20272b; }
#view-business .session-day-group > header strong { color: #fff; font-family: var(--serif); font-size: 17px; }
#view-business .session-day-group > header span { color: #c4cbcd; font-size: 14px; }
#view-business .session-day-group > div { display: grid; }
#view-business .session-day-group .session-row { margin: 0; border: 0; border-bottom: 1px solid #343d42; border-radius: 0; background: transparent; }
#view-business .session-day-group .session-row:last-child { border-bottom: 0; }
#view-business .session-day-group .session-row time { color: #f0b2b5; font-size: 16px; }
#view-business .session-day-group .session-row strong { font-size: 16px; }
#view-business .session-day-group .session-row span { font-size: 14px; }
#view-business .bulk-session-delete > summary { min-height: 52px; display: flex; align-items: center; gap: 9px; padding: 0 16px; color: #efb1b4; cursor: pointer; font-size: 15px; font-weight: 800; list-style: none; }
#view-business .bulk-session-delete > summary::-webkit-details-marker { display: none; }
#view-business .bulk-session-delete > summary svg { width: 19px; }
#view-business .bulk-session-delete > div { padding: 18px; border-top: 1px solid rgba(224,100,105,.25); }
#view-business .bulk-session-delete p { margin: 6px 0 16px; color: #bdc4c6; line-height: 1.45; }
#view-business .bulk-delete-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
#view-business .btn-danger { color: #fff; border: 1px solid #dc5c62; background: #a52f35; }
#view-business .btn-danger:hover { background: #bd3a41; }

#view-business .media-crop-stage { position: relative; overflow: hidden; background: #080a0b; cursor: grab; touch-action: none; }
#view-business .media-crop-stage:active { cursor: grabbing; }
#view-business .media-crop-stage img,
#view-business .media-crop-stage video { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .12s ease; will-change: transform,object-position; }
#view-business .primary-upload-preview .media-crop-stage { aspect-ratio: 16/9; }
#view-business #experiencePhotoPreview .media-crop-stage { aspect-ratio: 4/3; }
#view-business .media-crop-hint { position: absolute; right: 9px; bottom: 9px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; color: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(7,9,10,.82); pointer-events: none; font-size: 12px !important; }
#view-business .media-crop-hint svg { width: 15px; }
#view-business .media-focal-controls { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; gap: 10px; }
#view-business .media-focal-controls label { display: grid; grid-template-columns: 82px minmax(90px,1fr) 42px; gap: 9px; }
#view-business .media-focal-controls output { min-width: 42px; color: #fff; font-size: 13px; text-align: right; }
#view-business .media-focal-controls .btn { min-height: 40px; padding: 8px 11px; }
#view-business .upload-preview { position: relative; }
#view-business .remove-gallery-media { position: absolute; z-index: 4; top: 8px; right: 8px; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; color: #fff; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(113,28,33,.92); cursor: pointer; }
#view-business .remove-gallery-media svg { width: 17px; }

.detail-organizer-link { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-weight: 750; }
.detail-organizer-link:hover { color: #efb1b4; }
.single-location-transport { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.single-location-transport span { min-height: 42px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; color: #e9ece9; border: 1px solid var(--line); border-radius: 999px; background: #151a1d; font-size: 14px; font-weight: 700; }
.single-location-transport svg { width: 18px; color: var(--gold); }

@media (max-width:900px) {
  #view-business .choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #view-business .calendar-sync-explanation { grid-template-columns: 1fr; }
}
@media (max-width:720px) {
  #view-business .schedule-rule-builder { padding: 14px; }
  #view-business .schedule-rule-days .weekday-options { grid-template-columns: repeat(4,minmax(0,1fr)); }
  #view-business .schedule-time-adder { max-width: none; grid-template-columns: 1fr; }
  #view-business .calendar-sync-panel { padding: 17px; }
  #view-business .calendar-sync-heading { flex-direction: column; }
  #view-business .calendar-sync-heading h3 { font-size: 26px; }
  #view-business .bulk-delete-actions { flex-direction: column-reverse; }
  #view-business .bulk-delete-actions .btn { width: 100%; }
  #view-business .media-focal-controls { grid-template-columns: 1fr; }
  #view-business .choice-grid { grid-template-columns: 1fr 1fr; }
  .single-top-keyfacts .experience-keyfact:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Diseño B · ficha pública y editor profesional 0.14.9 */
.single-design-b { padding: 24px 0 124px; background: #050606; }
.single-design-b .shell { width: min(1320px,calc(100% - 40px)); }
.single-b-hero { display: grid; grid-template-columns: minmax(0,1.58fr) minmax(360px,.82fr); overflow: hidden; border: 1px solid #292d30; border-radius: 14px; background: #101214; box-shadow: 0 28px 70px rgba(0,0,0,.35); }
.single-b-gallery { min-width: 0; padding: 10px; background: #090a0b; }
.single-b-gallery .detail-hero { position: relative; height: 480px; min-height: 0; overflow: hidden; border-radius: 9px; background: #151719; }
.single-b-gallery .single-primary-open,.single-b-gallery .detail-hero-video { width: 100%; height: 100%; display: block; border: 0; background: #111; }
.single-b-gallery .single-primary-open img,.single-b-gallery .detail-hero-video { width: 100%; height: 100%; object-fit: cover; }
.single-b-gallery .single-media-gallery { position: relative; margin-top: 8px; padding: 0; border: 0; background: transparent; }
.single-b-gallery .single-gallery-track { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.single-b-gallery .single-gallery-track::-webkit-scrollbar { display: none; }
.single-b-gallery .single-gallery-track .single-gallery-open { flex: 0 0 102px; width: 102px; height: 68px; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 7px; background: #181a1c; }
.single-b-gallery .single-gallery-track .single-gallery-open:hover,.single-b-gallery .single-gallery-track .single-gallery-open:focus-visible { border-color: #c33b42; }
.single-b-gallery .single-gallery-track .single-gallery-open img { width: 100%; height: 100%; object-fit: cover; }
.single-b-gallery .single-gallery-controls { position: absolute; right: 8px; bottom: 8px; display: flex; align-items: center; gap: 5px; padding: 5px; border-radius: 7px; background: rgba(8,9,10,.88); }
.single-b-gallery .single-gallery-controls button { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; border: 0; border-radius: 5px; background: #26292b; }
.single-b-gallery .single-gallery-controls span { padding-inline: 5px; color: #fff; font-size: 12px; font-weight: 800; }
.single-b-summary { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 36px 34px 28px; border-left: 1px solid #292d30; background: linear-gradient(145deg,#181b1d,#101214 70%); }
.single-b-favorite { position: absolute; top: 22px; right: 22px; width: 46px; height: 46px; display: grid; place-items: center; color: #fff; border: 1px solid #653439; border-radius: 50%; background: #9f2f35; }
.single-b-favorite svg { width: 21px; }
.single-b-favorite.is-saved,.single-b-favorite.active { color: #fff; background: #d1434a; }
.single-b-favorite.is-saved svg,.single-b-favorite.active svg { fill: currentColor; }
.single-b-organizer { display: inline-flex; align-items: center; gap: 10px; max-width: calc(100% - 58px); color: #f0ede8; font-size: 15px; font-weight: 800; }
.single-b-organizer > span { display: inline-flex; align-items: center; gap: 4px; color: #d1a156; font-size: 12px; }
.single-b-organizer svg { width: 15px; }
.single-b-summary h1 { max-width: 100%; margin: 20px 0 7px; font-family: var(--serif); font-size: clamp(38px,4vw,57px); font-weight: 600; line-height: 1.01; letter-spacing: -.035em; }
.single-b-type { margin: 0; color: #c8c4be; font-size: 16px; line-height: 1.4; }
.single-b-review-summary { display: flex; align-items: center; gap: 9px; margin-top: 16px; }
.single-b-review-summary strong { display: inline-flex; align-items: center; gap: 5px; color: #f4c36c; font-size: 18px; }
.single-b-review-summary strong svg { width: 18px; fill: currentColor; }
.single-b-review-summary span { color: #bbb8b2; font-size: 14px; }
.single-google-rating a { color: #d8d5cf; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.single-google-rating a:hover,.single-google-rating a:focus-visible { color: #fff; }
.single-google-rating.is-unrated strong { color: #f0c34d; font-size: 15px; }
.single-b-price { display: flex; align-items: baseline; gap: 8px; margin-top: 22px; }
.single-b-price span,.single-b-price small { color: #bdb9b2; font-size: 14px; }
.single-b-price strong { color: #fff; font-family: var(--sans); font-size: 32px; font-weight: 850; }
.single-b-teaser { margin: 17px 0 0; color: #dbd8d2; font-size: 16px; line-height: 1.62; }
.single-b-keyfacts { width: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin-top: 22px; border-top: 1px solid #303437; border-bottom: 1px solid #303437; }
.single-b-keyfacts > div,.single-b-keyfacts > span { min-width: 0; padding: 14px 10px 14px 0; }
.single-b-keyfacts span { display: block; margin-bottom: 4px; color: #9f9c97; font-size: 12px; font-weight: 700; }
.single-b-keyfacts strong { display: block; overflow: hidden; color: #f4f1ed; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.single-b-alert { width: 100%; min-height: 50px; margin-top: auto; color: #f0ede8; border-color: #464a4d; font-size: 15px; }

.single-b-booking-console { display: grid; grid-template-columns: 190px minmax(280px,1.25fr) minmax(230px,.9fr) 150px 205px; gap: 0; align-items: stretch; margin-top: 20px; overflow: hidden; border: 1px solid #34383b; border-radius: 12px; background: #141719; box-shadow: 0 20px 50px rgba(0,0,0,.3); }
.single-b-booking-intro,.single-b-booking-step,.single-b-booking-action { min-width: 0; padding: 21px 20px; }
.single-b-booking-intro { display: flex; flex-direction: column; justify-content: center; background: #0e1011; }
.single-b-booking-intro > span { color: #d34a51; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.single-b-booking-intro h2 { margin: 7px 0 4px; font-family: var(--serif); font-size: 24px; line-height: 1.05; }
.single-b-booking-intro p { margin: 0; color: #aaa7a1; font-size: 13px; }
.single-b-booking-step { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 11px; border-left: 1px solid #303437; }
.single-b-step-number { width: 27px; height: 27px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: #a83239; font-size: 13px; font-weight: 900; }
.single-b-booking-step strong { color: #f3f0eb; font-size: 15px; }
.single-b-booking-step small { display: block; margin-top: 6px; color: #aaa7a1; font-size: 12px; }
.single-b-booking-console .session-calendar-toolbar { display: grid; grid-template-columns: 36px minmax(0,1fr) 36px; align-items: center; gap: 4px; margin: 8px 0 7px; }
.single-b-booking-console .session-calendar-toolbar button { width: 36px; height: 36px; display: grid; place-items: center; color: #ddd9d3; border: 1px solid #3b3f42; border-radius: 6px; background: #1c1f21; }
.single-b-booking-console .session-calendar-toolbar button svg { width: 16px; }
.single-b-booking-console #sessionCalendarMonth { overflow: hidden; color: #dedbd6; font-size: 13px; font-weight: 800; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.single-b-booking-console .session-calendar-grid { display: flex; gap: 6px; overflow-x: auto; padding: 1px 0 5px; scrollbar-width: thin; }
.single-b-booking-console .session-calendar-grid button { flex: 0 0 49px; min-height: 49px; padding: 4px; color: #e9e5df; border: 1px solid #3c4043; border-radius: 7px; background: #1d2022; font-size: 13px; font-weight: 850; }
.single-b-booking-console .session-calendar-grid button.selected,.single-b-booking-console .session-calendar-grid button.active { border-color: #d24a51; background: #9f3036; }
.single-b-booking-console .session-time-panel { margin-top: 9px; }
.single-b-booking-console #sessionTimeTitle { display: block; color: #aaa7a1; font-size: 12px; }
.single-b-booking-console .session-time-options { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.single-b-booking-console .session-time-options button { min-height: 38px; padding: 0 11px; color: #e9e5df; border: 1px solid #3c4043; border-radius: 6px; background: #1d2022; font-size: 13px; font-weight: 800; }
.single-b-booking-console .session-time-options button.selected,.single-b-booking-console .session-time-options button.active { border-color: #d24a51; background: #9f3036; }
.single-b-people-control { display: grid; grid-template-columns: 38px 42px 38px; align-items: center; margin-top: 12px; }
.single-b-people-control button { height: 38px; color: #fff; border: 1px solid #424649; background: #202326; font-size: 20px; }
.single-b-people-control button:first-child { border-radius: 7px 0 0 7px; }
.single-b-people-control button:last-child { border-radius: 0 7px 7px 0; }
.single-b-people-control span { height: 38px; display: grid; place-items: center; border-top: 1px solid #424649; border-bottom: 1px solid #424649; color: #fff; font-size: 16px; font-weight: 900; }
.single-b-booking-action { display: flex; flex-direction: column; justify-content: center; border-left: 1px solid #303437; background: #111314; }
.single-b-booking-action > span { color: #aaa7a1; font-size: 12px; }
.single-b-booking-action > strong { margin: 4px 0; color: #fff; font-size: 26px; }
.single-b-booking-action > small { min-height: 18px; overflow: hidden; color: #b8b5af; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.single-b-booking-action .btn { width: 100%; min-height: 46px; margin-top: 10px; font-size: 14px; }
.single-b-no-sessions { min-height: 76px; display: flex; align-items: center; gap: 15px; margin-top: 20px; padding: 18px 20px; border: 1px solid #34383b; border-radius: 10px; background: #121416; }
.single-b-no-sessions svg { color: #c3914b; }
.single-b-no-sessions strong,.single-b-no-sessions span { display: block; }
.single-b-no-sessions span { margin-top: 3px; color: #aaa7a1; font-size: 14px; }

.single-b-content { padding-top: 34px; }
.single-b-content-nav { position: sticky; top: 0; z-index: 15; display: flex; gap: 32px; overflow-x: auto; border-bottom: 1px solid #2e3234; background: rgba(5,6,6,.96); backdrop-filter: blur(12px); }
.single-b-content-nav button { min-height: 56px; flex: 0 0 auto; padding: 0 0 2px; color: #aaa7a1; border: 0; border-bottom: 3px solid transparent; background: transparent; font-size: 15px; font-weight: 850; }
.single-b-content-nav button.active { color: #fff; border-bottom-color: #c43d44; }
.single-b-content .single-content-section { scroll-margin-top: 80px; padding: 42px 0; border-bottom: 1px solid #292d30; }
.single-b-content .single-content-section h2 { margin: 0 0 18px; font-family: var(--serif); font-size: clamp(28px,3vw,38px); font-weight: 600; }
.single-b-description-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 58px; }
.single-b-description-grid .single-description { color: #dedad4; font-size: 17px; line-height: 1.78; }
.single-b-description-grid .single-practical-list { display: grid; gap: 8px; }
.single-b-description-grid details { overflow: hidden; border: 1px solid #33373a; border-radius: 8px; background: #111315; }
.single-b-description-grid summary { min-height: 52px; display: flex; align-items: center; padding: 0 16px; color: #f1ede7; font-size: 15px; font-weight: 800; cursor: pointer; }
.single-b-description-grid details > div { padding: 0 16px 16px; color: #c7c3bd; font-size: 15px; line-height: 1.6; }
.single-b-lower-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 46px; }
.single-b-lower-grid > .single-content-section { border-bottom: 0; }
.single-b-lower-grid .single-map-preview { height: 250px; overflow: hidden; border-radius: 10px; border: 1px solid #3a3e40; }
.single-b-lower-grid .single-map-preview iframe { width: 100%; height: 100%; border: 0; }
.single-b-rating { color: #f4c36c; font-size: 23px; }
.single-b-review-list { display: grid; gap: 10px; }
.single-b-review-list article,.single-b-empty-review { padding: 18px; border: 1px solid #34383b; border-radius: 9px; background: #111315; }
.single-b-review-list article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.single-b-review-list article span { color: #77c58a; font-size: 12px; font-weight: 800; }
.single-b-review-list article p,.single-b-empty-review span { margin: 10px 0 0; color: #c7c3bd; font-size: 15px; line-height: 1.6; }
.single-b-empty-review strong,.single-b-empty-review span { display: block; }
.single-b-content .single-organizer-card { min-height: 98px; padding: 18px; border: 1px solid #34383b; border-radius: 10px; background: #111315; }
.single-b-official-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; color: #bbb7b1; font-size: 14px; font-weight: 800; }
.single-b-official-link svg { width: 16px; }
.single-b-related-track { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.single-b-related-track > a { overflow: hidden; border: 1px solid #2f3335; border-radius: 9px; background: #101214; }
.single-b-related-track img { width: 100%; height: 170px; object-fit: cover; }
.single-b-related-track span,.single-b-related-track strong,.single-b-related-track small { display: block; margin-inline: 15px; }
.single-b-related-track span { margin-top: 14px; color: #c94b51; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.single-b-related-track strong { margin-top: 5px; color: #f3f0eb; font-family: var(--serif); font-size: 20px; }
.single-b-related-track small { margin-top: 7px; margin-bottom: 16px; color: #aaa7a1; font-size: 13px; line-height: 1.45; }
.single-b-fixed-booking { position: fixed; z-index: 80; right: 18px; bottom: 16px; left: 18px; width: min(1160px,calc(100% - 36px)); min-height: 66px; display: flex !important; align-items: center; justify-content: space-between; gap: 18px; margin-inline: auto; padding: 10px 12px 10px 20px; border: 1px solid #414548; border-radius: 10px; background: rgba(17,19,20,.96); box-shadow: 0 18px 60px rgba(0,0,0,.55); backdrop-filter: blur(15px); }
.single-b-fixed-booking > div { min-width: 0; }
.single-b-fixed-booking span,.single-b-fixed-booking strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.single-b-fixed-booking span { color: #aaa7a1; font-size: 12px; }
.single-b-fixed-booking strong { color: #fff; font-size: 15px; }
.single-b-fixed-booking .btn { min-width: 178px; min-height: 46px; }

/* Editor profesional B */
#view-business .business-layout { max-width: 1680px; grid-template-columns: 1fr; }
#view-business .business-layout > .live-preview { display: none; }
#view-business .business-layout > div:first-child { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 26px; align-items: start; }
#view-business .business-navigation { position: sticky; top: 22px; z-index: 8; grid-column: 1; grid-row: 1; display: grid; gap: 16px; padding: 18px; border: 1px solid #303437; border-radius: 11px; background: #101214; }
#view-business .business-nav-label { display: block; margin: 0 0 9px; color: #918e89; font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
#view-business .business-tabs { display: grid !important; gap: 5px; overflow: visible !important; }
#view-business .business-tabs button { flex: none !important; width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: flex-start; gap: 10px; padding: 0 12px; color: #c8c4be; border: 1px solid transparent; border-radius: 7px; background: transparent; font-size: 14px; font-weight: 800; text-align: left; }
#view-business .business-tabs button svg { width: 18px; }
#view-business .business-tabs button.active { color: #fff; border-color: #443235; background: #28181a; }
#view-business .business-tabs .last-minute-tab { margin-top: 6px; color: #fff; border-color: #793239; background: #9d2d34; }
#view-business .business-nav-more { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; border-top: 1px solid #2f3335; }
#view-business .business-nav-more summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; color: #aaa7a1; font-size: 13px; font-weight: 800; cursor: pointer; }
#view-business .business-nav-more summary span { display: flex; align-items: center; gap: 8px; }
#view-business .business-nav-more summary svg { width: 16px; }
#view-business .business-pane { grid-column: 2; grid-row: 1; min-width: 0; }
#view-business .experience-editor-b { position: relative; padding: 0; border: 0; background: transparent; }
#view-business #businessExperienceCatalog:has(+ .experience-editor-b:not([hidden])) { display: none; }
.experience-editor-b .experience-editor-head { margin-bottom: 18px; padding: 23px 25px; border: 1px solid #313537; border-radius: 10px; background: #111315; }
.experience-editor-b .experience-editor-head h3 { font-size: 29px; }
.experience-editor-b .experience-editor-head p { max-width: 740px; color: #bbb7b1; font-size: 15px; line-height: 1.55; }
.experience-editor-progress { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin-bottom: 18px; overflow: hidden; border: 1px solid #34383b; border-radius: 9px; background: #101214; }
.experience-editor-progress button { position: relative; min-height: 58px; padding: 0 12px; color: #aaa7a1; border: 0; border-right: 1px solid #303437; background: transparent; font-size: 13px; font-weight: 850; }
.experience-editor-progress button > span { display: inline-grid; place-items: center; width: 23px; height: 23px; margin-right: 7px; color: #aaa7a1; border: 1px solid #414548; border-radius: 50%; font-size: 11px; }
.experience-editor-progress button:last-child { border-right: 0; }
.experience-editor-progress button::after { position: absolute; right: 12px; bottom: 8px; left: 12px; height: 2px; content: ''; background: transparent; }
.experience-editor-progress button.is-active,.experience-editor-progress button.active { color: #fff; background: #181b1d; }
.experience-editor-progress button.is-active::after,.experience-editor-progress button.active::after { background: #c43b43; }
.experience-editor-progress button.active > span { color: #fff; border-color: #bd3b42; background: #9e3036; }
.experience-editor-b-workspace { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(400px,.7fr); gap: 20px; align-items: start; }
.experience-editor-b-form { min-width: 0; }
.editor-b-visibility-note { min-height: 45px; display: flex; align-items: center; gap: 9px; margin-bottom: 10px; padding: 0 13px; color: #c3bfb9; border-left: 3px solid #c78f44; background: #151719; font-size: 14px; }
.editor-b-visibility-note svg { width: 18px; color: #d0a15b; }
.experience-editor-b-form [data-editor-panel] { display: none; }
.experience-editor-b-form [data-editor-panel].is-active { display: block; }
.experience-editor-b-form > details,.editor-b-special-panel { overflow: hidden; margin: 0; border: 1px solid #34383b; border-radius: 10px; background: #111315; }
.experience-editor-b-form > details > summary { min-height: 66px; display: flex; align-items: center; padding: 0 22px; color: #f2eee8; font-size: 18px; font-weight: 850; cursor: default; }
.experience-editor-b-form > details[open] > summary { border-bottom: 1px solid #303437; }
.experience-editor-b-form > details > .form-grid { padding: 22px; }
.experience-editor-b .field > span { margin-bottom: 8px; color: #e4e0da; font-size: 14px; font-weight: 800; }
.experience-editor-b input,.experience-editor-b select,.experience-editor-b textarea { min-height: 50px; color: #f8f5f0; border: 1px solid #454a4d; border-radius: 7px; background: #1b1e20; font-size: 15px; }
.experience-editor-b textarea { min-height: 130px; padding-top: 13px; line-height: 1.55; }
.experience-editor-b input:focus,.experience-editor-b select:focus,.experience-editor-b textarea:focus { border-color: #cc434a; box-shadow: 0 0 0 3px rgba(204,67,74,.16); outline: 0; }
.experience-type-guidance { grid-column: 1/-1; min-height: 66px; display: flex; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid #514137; border-left: 4px solid #c78f44; border-radius: 8px; background: linear-gradient(90deg,rgba(199,143,68,.12),rgba(199,143,68,.025)); }
.experience-type-guidance > svg { flex: 0 0 24px; width: 24px; height: 24px; color: #e3ac62; }
.experience-type-guidance strong,.experience-type-guidance span { display: block; }
.experience-type-guidance strong { color: #fff7ed; font-size: 16px; }
.experience-type-guidance span { margin-top: 3px; color: #cbc4bb; font-size: 14px; line-height: 1.4; }
.commerce-type-guidance { min-height: 74px; display: flex; align-items: center; gap: 14px; padding: 15px 17px; border: 1px solid #554044; border-left: 4px solid #cc454c; border-radius: 9px; background: linear-gradient(90deg,rgba(204,69,76,.14),rgba(204,69,76,.025)); }
.commerce-type-guidance > svg { flex: 0 0 26px; width: 26px; height: 26px; color: #ef7076; }
.commerce-type-guidance strong,.commerce-type-guidance span { display: block; }
.commerce-type-guidance strong { color: #fff; font-size: 17px; }
.commerce-type-guidance span { margin-top: 3px; color: #c9c4bd; font-size: 14px; line-height: 1.45; }
.ticket-capacity-summary { min-height: 43px; display: flex; align-items: center; margin-top: 11px; padding: 9px 12px; color: #cbd0cd; border: 1px solid #3b5044; border-radius: 8px; background: #152019; font-size: 14px; font-weight: 700; }
.ticket-capacity-summary.is-over { color: #ffd9d9; border-color: #8c3b40; background: #321a1d; }
.experience-editor-b input[readonly] { color: #cbc7c0; border-style: dashed; background: #151719; cursor: not-allowed; }
.experience-editor-b .experience-editor-progress button[hidden] { display: none !important; }
.type-specific-editor .type-specific-empty { margin: 0; padding: 15px 17px; color: #c8c3bd; border: 1px dashed #44494c; border-radius: 8px; background: #17191b; font-size: 15px; }
.experience-editor-b [data-type-field][hidden],.experience-editor-b [data-type-detail][hidden],.experience-editor-b #experienceBookingSection[hidden] { display: none !important; }
.experience-editor-b .choice-grid { gap: 10px; }
.experience-editor-b .choice-card { min-height: 52px; color: #ddd9d3; border-color: #454a4d; background: #1b1e20; font-size: 14px; }
.experience-editor-b .choice-card:has(input:checked) { color: #fff; border-color: #ca4249; background: #302022; }
.editor-b-special-panel { min-height: 250px; align-items: center; justify-content: space-between; gap: 28px; padding: 32px; }
.experience-editor-b-form .editor-b-special-panel.is-active { display: flex; }
.editor-b-special-panel > div > span { color: #cc454c; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.editor-b-special-panel h3 { margin: 8px 0; font-family: var(--serif); font-size: 32px; }
.editor-b-special-panel p { max-width: 570px; margin: 0; color: #bbb7b1; font-size: 16px; line-height: 1.6; }
.editor-b-publish-check { display: grid; gap: 10px; min-width: 220px; }
.editor-b-publish-check span { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 12px; border: 1px solid #3b3f42; border-radius: 7px; background: #1a1d1f; font-size: 14px; }
.editor-b-publish-check svg { width: 17px; color: #c99b55; }
.experience-editor-live { position: sticky; top: 22px; overflow: hidden; border: 1px solid #34383b; border-radius: 10px; background: #101214; }
.experience-editor-live-toolbar { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px; border-bottom: 1px solid #303437; }
.experience-editor-live-toolbar strong { font-size: 14px; }
.experience-editor-preview-modes { display: flex; gap: 4px; }
.experience-editor-preview-modes button { width: 36px; height: 36px; display: grid; place-items: center; color: #9e9b95; border: 0; border-radius: 6px; background: transparent; }
.experience-editor-preview-modes button.is-active { color: #fff; background: #272a2c; }
.experience-editor-preview-modes svg { width: 17px; }
.experience-editor-live-card { margin: 14px; overflow: hidden; border: 1px solid #3a3e41; border-radius: 9px; background: #171a1c; }
.experience-editor-live-media { height: 220px; background: linear-gradient(145deg,#25191b,#111315); }
.experience-editor-live-media img { width: 100%; height: 100%; object-fit: cover; }
.experience-editor-live-body { padding: 19px; }
.experience-editor-live-body > span { color: #c24a50; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.experience-editor-live-body h3 { margin: 7px 0 5px; font-family: var(--serif); font-size: 28px; line-height: 1.08; }
.experience-editor-live-body p { margin: 0; color: #b8b5af; font-size: 14px; }
.experience-editor-live-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 17px; overflow: hidden; border: 1px solid #383c3e; border-radius: 7px; background: #383c3e; }
.experience-editor-live-facts > div { padding: 10px; background: #1c1f21; }
.experience-editor-live-facts span,.experience-editor-live-facts strong { display: block; }
.experience-editor-live-facts span { color: #999690; font-size: 10px; }
.experience-editor-live-facts strong { margin-top: 3px; color: #f2eee8; font-size: 13px; }
.experience-editor-live-price { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 18px; }
.experience-editor-live-price strong { font-size: 26px; }
.experience-editor-live-price span { color: #aaa7a1; font-size: 12px; }
.experience-editor-live-card .btn { width: calc(100% - 38px); min-height: 47px; margin: 0 19px 19px; }
.experience-editor-live-note { margin: 0 16px 16px; color: #97948f; font-size: 12px; line-height: 1.5; }
.experience-live-preview { position: sticky; top: 22px; overflow: hidden; border: 1px solid #34383b; border-radius: 10px; background: #101214; }
.experience-live-preview-head { min-height: 56px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px; padding: 9px 14px; border-bottom: 1px solid #303437; }
.experience-live-preview-head > strong { color: #f3f0eb; font-size: 15px; }
.experience-live-preview-head > div { display: flex; gap: 4px; }
.experience-live-preview-head button { width: 36px; height: 36px; display: grid; place-items: center; color: #a7a49f; border: 0; border-radius: 6px; background: transparent; }
.experience-live-preview-head button.active { color: #fff; background: #2a2d30; }
.experience-live-preview-head button svg { width: 17px; }
.experience-live-preview-head > span { grid-column: 1/-1; display: flex; align-items: center; gap: 6px; color: #79c78d; font-size: 11px; font-weight: 800; }
.experience-live-preview-head > span svg { width: 10px; fill: currentColor; }
.experience-live-card { margin: 14px; overflow: hidden; border: 1px solid #3a3e41; border-radius: 9px; background: #171a1c; }
.experience-live-media { position: relative; height: 220px; overflow: hidden; background: linear-gradient(145deg,#25191b,#111315); }
.experience-live-media img { width: 100%; height: 100%; object-fit: cover; }
.experience-live-media > span { position: absolute; right: 12px; bottom: 12px; width: 39px; height: 39px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: #a63138; }
.experience-live-media > span svg { width: 19px; }
.experience-live-body { padding: 19px; }
.experience-live-body h3 { margin: 0 0 7px; font-family: var(--serif); font-size: 28px; line-height: 1.07; }
.experience-live-body > p { margin: 0; color: #d2cec8; font-size: 13px; }
.experience-live-body > p strong { color: #fff; }
.experience-live-body > span { display: block; margin-top: 8px; color: #aaa7a1; font-size: 13px; }
.experience-live-price { margin-top: 16px; color: #fff; font-size: 26px; font-weight: 850; }
.experience-live-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: 17px; overflow: hidden; border: 1px solid #383c3e; border-radius: 7px; background: #383c3e; }
.experience-live-facts > span { min-width: 0; padding: 10px; background: #1c1f21; }
.experience-live-facts small,.experience-live-facts strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.experience-live-facts small { color: #999690; font-size: 10px; }
.experience-live-facts strong { margin-top: 3px; color: #f2eee8; font-size: 13px; }
.experience-live-body > button { width: 100%; min-height: 47px; margin-top: 18px; color: #fff; border: 0; border-radius: 7px; background: #b2363d; font-size: 14px; font-weight: 900; }
.experience-live-checklist { margin: 0 14px 14px; padding: 15px; border: 1px solid #34383b; border-radius: 8px; background: #151719; }
.experience-live-checklist > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.experience-live-checklist > div strong { font-size: 14px; }
.experience-live-checklist > div span { color: #d5a45b; font-size: 12px; font-weight: 850; }
.experience-live-checklist p { display: flex; align-items: center; gap: 7px; margin: 7px 0 0; color: #bcb8b2; font-size: 12px; }
.experience-live-checklist p svg { width: 15px; color: #78c38a; }
.experience-live-checklist p.warning svg { color: #d2a155; }
.experience-live-preview > a { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #e3dfd9; border-top: 1px solid #303437; font-size: 13px; font-weight: 850; }
.experience-live-preview > a svg { width: 16px; }
.experience-live-preview.is-mobile { max-width: 390px; margin-inline: auto; }
.experience-editor-b .editor-submit-bar,
.experience-editor-b .experience-editor-actions { position: static; z-index: auto; right: auto; bottom: auto; left: auto; min-height: 68px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 18px; padding: 10px 14px; border: 1px solid #3a3e40; border-radius: 9px; background: #101214; box-shadow: none; backdrop-filter: none; }
.experience-editor-b .experience-editor-actions .btn { min-height: 47px; font-size: 14px; }

@media (min-width:961px) {
  #view-business .business-layout,
  #view-business .business-top .shell { width: min(1680px,calc(100% - 40px)); max-width: none; }
}

@media (max-width:1180px) {
  .single-b-booking-console { grid-template-columns: 170px minmax(250px,1.2fr) minmax(200px,.8fr) 140px; }
  .single-b-booking-action { grid-column: 1/-1; display: grid; grid-template-columns: 130px 130px minmax(180px,1fr) 190px; align-items: center; gap: 12px; border-top: 1px solid #303437; border-left: 0; }
  .single-b-booking-action .btn { margin-top: 0; }
  .experience-editor-b-workspace { grid-template-columns: minmax(0,1fr) 340px; }
}

@media (max-width:960px) {
  .single-b-hero { grid-template-columns: 1fr; }
  .single-b-summary { border-top: 1px solid #292d30; border-left: 0; }
  .single-b-booking-console { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .single-b-booking-intro { grid-column: 1/-1; }
  .single-b-booking-step { border-top: 1px solid #303437; }
  .single-b-booking-action { grid-template-columns: 1fr 1fr; }
  .single-b-description-grid,.single-b-lower-grid { grid-template-columns: 1fr; gap: 0; }
  .single-b-related-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #view-business .business-layout > div:first-child { grid-template-columns: 1fr; }
  #view-business .business-navigation { position: static; grid-column: 1; display: block; padding: 10px; }
  #view-business .business-tabs-primary { display: flex !important; overflow-x: auto !important; }
  #view-business .business-tabs-primary button { flex: 0 0 auto; width: auto; }
  #view-business .business-nav-label,#view-business .business-nav-more { display: none; }
  #view-business .business-pane { grid-column: 1; grid-row: 2; }
  .experience-editor-b-workspace { grid-template-columns: 1fr; }
  .experience-editor-live { position: static; }
}

@media (max-width:680px) {
  .single-design-b { padding-top: 8px; padding-bottom: 112px; }
  .single-design-b .shell { width: min(100% - 20px,1320px); }
  .single-b-hero { border-radius: 10px; }
  .single-b-gallery { padding: 6px; }
  .single-b-gallery .detail-hero { height: 274px; }
  .single-b-gallery .single-gallery-track .single-gallery-open { flex-basis: 78px; width: 78px; height: 54px; }
  .single-b-summary { padding: 25px 20px 21px; }
  .single-b-favorite { top: 16px; right: 16px; width: 44px; height: 44px; }
  .single-b-summary h1 { margin-top: 17px; padding-right: 12px; font-size: 35px; }
  .single-b-type,.single-b-teaser { font-size: 15px; }
  .single-b-price strong { font-size: 29px; }
  .single-b-keyfacts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .single-b-keyfacts span { font-size: 12px; }
  .single-b-keyfacts strong { font-size: 14px; }
  .single-b-alert { margin-top: 20px; }
  .single-b-booking-console { grid-template-columns: 1fr; margin-top: 12px; }
  .single-b-booking-intro,.single-b-booking-step,.single-b-booking-action { grid-column: 1; padding: 18px; }
  .single-b-booking-step { border-top: 1px solid #303437; border-left: 0; }
  .single-b-booking-action { display: flex; align-items: stretch; }
  .single-b-booking-console .session-calendar-grid button { flex-basis: 54px; min-height: 52px; }
  .single-b-content { padding-top: 20px; }
  .single-b-content-nav { gap: 24px; }
  .single-b-content-nav button { min-height: 52px; font-size: 14px; }
  .single-b-content .single-content-section { padding: 31px 0; }
  .single-b-content .single-content-section h2 { font-size: 28px; }
  .single-b-description-grid .single-description { font-size: 16px; line-height: 1.7; }
  .single-b-lower-grid .single-map-preview { height: 220px; }
  .single-b-related-track { display: flex; overflow-x: auto; padding-bottom: 8px; }
  .single-b-related-track > a { flex: 0 0 78vw; }
  .single-b-fixed-booking { right: 8px; bottom: 8px; left: 8px; width: auto; min-height: 64px; padding: 8px 8px 8px 13px; }
  .single-b-fixed-booking strong { max-width: 48vw; font-size: 13px; }
  .single-b-fixed-booking .btn { min-width: 126px; min-height: 48px; padding-inline: 13px; }
  #view-business .business-layout { width: min(100% - 18px,1440px); }
  #view-business .business-navigation { margin-inline: 0; }
  .experience-editor-b .experience-editor-head { padding: 18px; }
  .experience-editor-b .experience-editor-head h3 { font-size: 25px; }
  .experience-editor-progress { display: flex; overflow-x: auto; }
  .experience-editor-progress { scrollbar-width: none; }
  .experience-editor-progress::-webkit-scrollbar { display: none; }
  .experience-editor-progress button { flex: 0 0 126px; }
  .experience-editor-b-workspace { display: block; }
  .experience-editor-b-form > details > summary { min-height: 58px; padding: 0 17px; font-size: 16px; }
  .experience-editor-b-form > details > .form-grid { padding: 16px; }
  .experience-editor-b input,.experience-editor-b select { min-height: 52px; font-size: 16px; }
  .editor-b-special-panel { min-height: 0; align-items: stretch; flex-direction: column; padding: 24px 18px; }
  .editor-b-special-panel h3 { font-size: 27px; }
  .experience-editor-live { margin-top: 14px; }
  .experience-editor-live-media { height: 190px; }
  .experience-editor-b .editor-submit-bar,
  .experience-editor-b .experience-editor-actions { position: static; right: auto; bottom: auto; left: auto; z-index: auto; }
}

/* Portada UX de descubrimiento y Última hora · 0.14.8 */
:root {
  --bg: #050606;
  --surface: #121416;
  --surface-2: #181b1e;
  --surface-3: #22272b;
  --warning: #d8a44f;
}
body { background: #050606; }
body:has(#view-home.active) .global-search { display: none; }
#view-home.active { display: flex; flex-direction: column; background: #050606; }
#view-home > .hero { order: 1; }
#view-home > #lastMinute { order: 2; }
#view-home > .mobile-discovery { order: 3; }
#view-home > .sponsored-section { order: 4; }
#view-home > #nearbySection { order: 5; }
#view-home > .recommendation-sections { order: 6; }
#view-home > .home-agenda { order: 7; }
#view-home > .trust-section { order: 8; }
#view-home > .home-editorial-links { order: 9; }
#view-home > .section-tight:last-child { order: 10; }

body:has(#view-home.active) .topbar-inner { height: 70px; }
body:has(#view-home.active) .brand { min-width: 166px; }
body:has(#view-home.active) .brand-main { font-size: 20px; letter-spacing: .045em; }
body:has(#view-home.active) .brand-sub { display: none; }
body:has(#view-home.active) .desktop-nav { margin-right: auto; gap: 2px; }
body:has(#view-home.active) .nav-btn { min-height: 44px; padding: 10px 12px; color: #c7c5c0; font-size: 13px; }
body:has(#view-home.active) .urgent-nav { color: #fff; }
body:has(#view-home.active) .urgent-nav::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--red-bright); box-shadow: 0 0 0 5px rgba(224,100,105,.12); }
body:has(#view-home.active) .urgent-nav > svg { display: none; }
body:has(#view-home.active) .city-pill { height: 42px; border-color: transparent; }
body:has(#view-home.active) .business-entry { border-radius: 8px; }
body:has(#view-home.active) .account-entry { border-radius: 8px; }

#view-home .hero { min-height: 515px; align-items: stretch; border-bottom: 0; }
#view-home .hero-media { background-image: linear-gradient(90deg,rgba(3,4,5,.95) 0%,rgba(3,4,5,.67) 44%,rgba(3,4,5,.17) 78%),linear-gradient(0deg,#050606 0%,transparent 32%),url("https://images.unsplash.com/photo-1703419776762-56bf2020639d?auto=format&fit=crop&q=88&w=2000"); background-position: center 42%; filter: saturate(.86) contrast(1.06); }
#view-home .hero-media::after { background: radial-gradient(circle at 76% 40%,transparent 0 12%,rgba(0,0,0,.11) 42%,rgba(0,0,0,.38)); }
#view-home .hero-content { display: flex; flex-direction: column; justify-content: flex-start; padding: 72px 0 28px; }
#view-home .hero-kicker { margin: 0 0 13px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
#view-home .hero h1 { max-width: 690px; margin: 0; font-size: clamp(43px,4vw,58px); line-height: 1.08; letter-spacing: -.02em; text-shadow: 0 4px 28px rgba(0,0,0,.72); }
#view-home .hero-lead { max-width: 590px; margin: 15px 0 0; color: #dfdcd7; font-size: 17px; line-height: 1.55; }
#view-home .search-panel { width: min(1180px,100%); grid-template-columns: minmax(330px,2fr) minmax(180px,1fr) minmax(155px,.82fr) 120px; margin-top: auto; border-color: #3a3e40; border-radius: 12px; background: rgba(14,16,17,.95); box-shadow: 0 20px 55px rgba(0,0,0,.44); }
#view-home .search-category-field { display: none; }
#view-home .search-field { min-height: 76px; padding: 13px 20px; }
#view-home .search-field > span { margin-bottom: 8px; color: #bbb9b4; font-size: 12px; }
#view-home .search-field select,
#view-home .search-field input { color: #fff; font-size: 15px; }
#view-home .search-go { min-height: 58px; margin: 9px; border-radius: 8px; font-size: 14px; }
#view-home .geo-hint { display: flex; align-items: center; gap: 18px; min-height: 40px; margin-top: 3px; }
#view-home .geo-hint button { min-height: 38px; color: #d2cfca; font-size: 13px; }
#view-home .geo-hint span { color: #a9a7a2; font-size: 12px; }

#view-home #lastMinute { padding: 50px 0 42px; background: #050606; }
#view-home #lastMinute .section-head { align-items: flex-end; margin-bottom: 22px; }
#view-home #lastMinute .section-title { font-size: clamp(34px,3vw,46px); }
#view-home #lastMinute .section-copy { margin-top: 7px; font-size: 15px; line-height: 1.5; }
#view-home .last-minute-live { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
#view-home .last-minute-live > span { width: 8px; height: 8px; border-radius: 50%; background: var(--red-bright); box-shadow: 0 0 0 5px rgba(224,100,105,.12); }
#view-home #lastMinute .demo-chip { margin-top: 10px; padding: 5px 8px; font-size: 10px; letter-spacing: .05em; }
#view-home #lastMinute .offer-grid { display: flex; gap: 16px; overflow-x: auto; padding: 1px 1px 8px; scroll-snap-type: x mandatory; scrollbar-width: none; }
#view-home #lastMinute .offer-grid::-webkit-scrollbar { display: none; }
#view-home #lastMinute .offer-card,
#view-home #lastMinute .offer-card.featured { flex: 0 0 calc((100% - 32px)/3); min-width: 335px; display: block; min-height: 0; border-radius: 10px; scroll-snap-align: start; background: #121416; }
#view-home #lastMinute .offer-image { height: 188px; }
#view-home #lastMinute .discount { min-width: 74px; padding: 9px 11px; color: #17120a; border-radius: 6px; background: var(--warning); box-shadow: none; font-size: 21px; }
#view-home #lastMinute .discount small { color: #332511; font-size: 9px; }
#view-home #lastMinute .like-btn { width: 42px; height: 42px; background: rgba(8,9,10,.82); }
#view-home #lastMinute .like-label { display: none; }
#view-home #lastMinute .offer-body { position: relative; min-height: 227px; padding: 17px 18px 18px; }
#view-home #lastMinute .offer-type { color: #b7b4ae; font-size: 11px; letter-spacing: .08em; }
#view-home #lastMinute .offer-card h3 { margin: 7px 0 11px; font-size: 24px; line-height: 1.12; }
#view-home #lastMinute .offer-location,
#view-home #lastMinute .offer-capacity { color: #d2cfca; font-size: 14px; }
#view-home #lastMinute .offer-location { margin-bottom: 8px; }
#view-home #lastMinute .offer-capacity { margin-top: 0; }
#view-home #lastMinute .offer-actions { position: absolute; z-index: 2; right: 18px; bottom: 18px; width: 108px; display: block; margin: 0; }
#view-home #lastMinute .alert-offer-btn { display: none !important; }
#view-home #lastMinute .quick-buy-btn { min-height: 46px; border-radius: 7px; font-size: 14px; }
#view-home #lastMinute .offer-bottom { min-height: 67px; margin-top: 14px !important; padding: 12px 122px 0 0; border-top: 1px solid #2d3032; }
#view-home #lastMinute .countdown-label { color: #aaa7a1; font-size: 11px; letter-spacing: .03em; text-transform: none; }
#view-home #lastMinute .countdown { color: #fff; font-size: 17px; }
#view-home #lastMinute .old-price { font-size: 11px; }
#view-home #lastMinute .price strong { font-family: var(--sans); font-size: 28px; font-weight: 800; }
#view-home #lastMinute .price small { color: #aaa7a1; font-size: 10px; }
#view-home .home-alert-cta { min-height: 65px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 14px; padding: 12px 16px; border-left: 3px solid var(--red); background: #0e1011; }
#view-home .home-alert-cta > div { display: flex; align-items: center; gap: 12px; color: #d9d6d1; font-size: 14px; }
#view-home .home-alert-cta > div > svg { width: 20px; color: var(--gold); }
#view-home .home-alert-cta button { min-height: 44px; padding: 0 18px; color: #fff; border: 0; border-radius: 7px; background: var(--red); font-weight: 800; }

#view-home .mobile-discovery { display: block; padding: 50px 0 45px; background: #050606; }
#view-home .mobile-discovery-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
#view-home .mobile-discovery-head > div { display: grid; gap: 6px; }
#view-home .mobile-discovery-head strong { font-family: var(--serif); font-size: clamp(30px,3vw,42px); font-weight: 600; }
#view-home .mobile-discovery-head span { color: var(--muted); font-size: 14px; }
#view-home .mobile-discovery-head button { min-height: 44px; color: #ddd9d2; border: 0; background: transparent; font-size: 13px; font-weight: 800; }
#view-home .mobile-category-strip { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; overflow: visible; }
#view-home .mobile-category { min-width: 0; min-height: 125px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 17px; color: #f1efeb; border: 1px solid #292d2f; border-radius: 9px; background: #111315; font-size: 15px; font-weight: 800; scroll-snap-align: none; }
#view-home .mobile-category > svg { width: 38px; height: 38px; padding: 9px; color: var(--red-bright); border-radius: 50%; background: rgba(182,55,60,.13); }
#view-home .mobile-category:hover { border-color: #484d50; background: #171a1c; }

#view-home .sponsored-section { padding: 38px 0 48px; background: #090a0b; }
#view-home .sponsored-section .section-title { font-size: clamp(31px,3vw,43px); }
#view-home .sponsored-grid { display: flex; gap: 14px; overflow-x: auto; padding: 1px 1px 10px; scroll-snap-type: x mandatory; scrollbar-width: none; }
#view-home .sponsored-grid::-webkit-scrollbar { display: none; }
#view-home .sponsored-card { flex: 0 0 calc((100% - 42px)/4); min-width: 260px; min-height: 300px; border-radius: 10px; scroll-snap-align: start; }
#view-home .sponsored-content { padding: 18px; }
#view-home .sponsored-content h3 { font-size: 24px; }
#view-home .sponsored-content p { display: none; }
#view-home .sponsored-meta { margin-top: 12px; padding-top: 12px; font-size: 12px; }
#view-home .business-card-action { display: block; margin-top: 10px; color: #fff; font-size: 13px; font-weight: 800; }

#view-home #nearbySection { padding: 58px 0; background: #050606; }
#view-home #nearbySection .section-title { font-size: clamp(34px,3vw,46px); }
#view-home .nearby-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
#view-home .nearby-item { position: relative; min-height: 315px; display: block; padding: 0 0 16px; overflow: hidden; border: 0; border-radius: 9px; background: transparent; box-shadow: none; }
#view-home .nearby-item img { width: 100%; height: 218px; margin: 0 0 14px; border-radius: 9px; object-fit: cover; }
#view-home .nearby-item > div { padding: 0; }
#view-home .nearby-item h4 { margin: 0 0 6px; font-family: var(--serif); font-size: 19px; line-height: 1.15; }
#view-home .nearby-item p { margin: 0; color: #b7b4ae; font-size: 13px; }
#view-home .nearby-item .distance-pill { position: absolute; top: 176px; left: 10px; padding: 6px 8px; color: #fff; border-radius: 5px; background: rgba(8,9,10,.86); font-size: 12px; }
#view-home .nearby-pagination { margin-top: 14px; }

#view-home .recommendation-sections { padding: 48px 0 56px; background: #090a0b; }
#view-home .recommendation-group { margin-bottom: 48px; }
#view-home .recommendation-head h2 { font-family: var(--serif); font-size: 31px; font-weight: 600; }
#view-home .recommendation-card { border-radius: 9px; background: #111315; }
#view-home .recommendation-card img { height: 190px; }
#view-home .recommendation-card > div { padding: 15px; }
#view-home .recommendation-card h3 { font-size: 19px; }
#view-home .recommendation-card p,
#view-home .recommendation-bottom { font-size: 13px; }

#view-home .home-agenda { padding: 58px 0; background: #050606; }
#view-home .home-agenda .section-title { font-size: clamp(34px,3vw,46px); }
#view-home .home-agenda-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 28px; }
#view-home .home-agenda-card { min-height: 140px; grid-template-columns: 150px minmax(0,1fr); border: 0; border-top: 1px solid #292c2e; border-radius: 0; background: transparent; }
#view-home .home-agenda-media { min-height: 140px; border-radius: 7px; }
#view-home .home-agenda-media > span { display: none; }
#view-home .home-agenda-content { padding: 14px 0 14px 16px; }
#view-home .home-date-range > span { width: 50px; min-height: 54px; border-radius: 7px; }
#view-home .home-date-range small { font-size: 9px; }
#view-home .home-date-range strong { font-size: 23px; }
#view-home .home-agenda-duration { font-size: 10px; }
#view-home .home-agenda-content h3 { margin: 10px 0 5px; font-size: 20px; }
#view-home .home-agenda-footer { padding-top: 9px; }

#view-home .trust-section { padding: 26px 0; background: #090a0b; }
#view-home .trust-panel { border-radius: 10px; }
#view-home .home-editorial-links { position: relative; overflow: hidden; padding: 58px 0; background-image: linear-gradient(90deg,rgba(8,9,10,.97),rgba(8,9,10,.72)),url("https://images.unsplash.com/photo-1509248961158-e54f6934749c?auto=format&fit=crop&q=82&w=1600"); background-position: center; background-size: cover; }
#view-home .home-editorial-links .section-title { max-width: 700px; font-size: clamp(34px,3.4vw,48px); }
#view-home .editorial-link-grid { max-width: 900px; margin-top: 24px; }
#view-home .editorial-link-grid a,
#view-home .editorial-link-grid button { min-height: 48px; color: #f0ede8; font-size: 14px; }
#view-home .business-cta { border-radius: 0; border-color: rgba(182,55,60,.42); background: linear-gradient(100deg,#171315,#111315); }
#view-home .business-cta h3 { font-size: 31px; }
#view-home .business-cta p { font-size: 14px; }

@media (max-width:1100px) {
  body:has(#view-home.active) .desktop-nav { display: none; }
  #view-home .mobile-category-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #view-home #lastMinute .offer-card,
  #view-home #lastMinute .offer-card.featured { flex-basis: calc((100% - 16px)/2); }
  #view-home .sponsored-card { flex-basis: calc((100% - 28px)/3); }
  #view-home .nearby-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width:720px) {
  html, body { max-width: 100%; overflow-x: clip; }
  body:has(#view-home.active) .topbar-inner { height: 62px; }
  body:has(#view-home.active) .top-actions { display: none; }
  #view-home .hero { min-height: 550px; }
  #view-home .hero-media { background-image: linear-gradient(0deg,#050606 0%,rgba(4,6,7,.5) 56%,rgba(4,4,4,.24) 100%),url("https://images.unsplash.com/photo-1703419776762-56bf2020639d?auto=format&fit=crop&q=84&w=1000"); background-position: 62% center; }
  #view-home .hero-content { padding: 40px 0 18px; }
  #view-home .hero-kicker { margin-bottom: 9px; font-size: 10px; }
  #view-home .hero h1 { max-width: 360px; font-size: 34px; line-height: 1.08; }
  #view-home .hero-lead { display: block !important; max-width: 330px; margin-top: 10px; font-size: 14px; line-height: 1.45; }
  #view-home .search-panel { grid-template-columns: 1fr; gap: 0; margin-top: auto; padding: 9px; overflow: visible; border-radius: 11px; }
  #view-home .search-field { min-height: 58px; padding: 9px 11px; border-right: 0; border-bottom: 1px solid #303335; }
  #view-home .search-field > span { margin-bottom: 4px; font-size: 12px; }
  #view-home .search-field select,
  #view-home .search-field input { min-height: 28px; font-size: 15px; }
  #view-home .search-people-field { display: none; }
  #view-home .search-go { min-height: 50px; margin: 8px 0 0; }
  #view-home .geo-hint { min-height: 38px; overflow: hidden; white-space: nowrap; }
  #view-home .geo-hint span { display: none; }
  #view-home #lastMinute { padding: 37px 0 30px; }
  #view-home #lastMinute .section-head { margin-bottom: 16px; }
  #view-home #lastMinute .section-copy { display: block; font-size: 14px; }
  #view-home #lastMinute .demo-chip { display: inline-flex; }
  #view-home #lastMinute .offer-card,
  #view-home #lastMinute .offer-card.featured { flex: 0 0 min(84vw,320px); min-width: 285px; }
  #view-home #lastMinute .offer-image { height: 170px; }
  #view-home #lastMinute .offer-body { min-height: 222px; padding: 16px; }
  #view-home #lastMinute .offer-card h3 { font-size: 22px; }
  #view-home #lastMinute .offer-actions { right: 16px; bottom: 16px; width: 104px; }
  #view-home #lastMinute .offer-bottom { padding-right: 112px; }
  #view-home .home-alert-cta { align-items: stretch; flex-direction: column; }
  #view-home .home-alert-cta button { width: 100%; }
  #view-home .mobile-discovery { padding: 38px 0 32px; }
  #view-home .mobile-discovery-head { align-items: center; }
  #view-home .mobile-discovery-head strong { font-size: 27px; }
  #view-home .mobile-discovery-head span { font-size: 13px; }
  #view-home .mobile-category-strip { display: flex; gap: 9px; overflow-x: auto; padding: 1px 5px 10px 0; scroll-snap-type: x mandatory; }
  #view-home .mobile-category { flex: 0 0 124px; min-height: 104px; padding: 13px; scroll-snap-align: start; }
  #view-home .mobile-category > svg { width: 34px; height: 34px; }
  #view-home .sponsored-section { padding: 32px 0 38px; }
  #view-home .sponsored-card { flex: 0 0 min(74vw,280px); min-height: 285px; }
  #view-home #nearbySection { padding: 42px 0; }
  #view-home .nearby-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 11px; }
  #view-home .nearby-item { min-width: 0; min-height: 242px; }
  #view-home .nearby-item img { height: 150px; }
  #view-home .nearby-item .distance-pill { top: 112px; }
  #view-home .nearby-item h4 { font-size: 16px; }
  #view-home .nearby-item p { font-size: 12px; }
  #view-home .recommendation-sections { padding: 38px 0 45px; }
  #view-home .recommendation-group { margin-bottom: 38px; }
  #view-home .recommendation-head h2 { font-size: 26px; }
  #view-home .home-agenda { padding: 42px 0; }
  #view-home .home-agenda-grid { width: 100%; display: flex; gap: 12px; overflow-x: auto; padding-right: 12px; scroll-snap-type: x mandatory; }
  #view-home .home-agenda-card { flex: 0 0 min(86vw,330px); min-height: 360px; display: flex; flex-direction: column; border: 1px solid #292d2f; border-radius: 10px; background: #111315; scroll-snap-align: start; }
  #view-home .home-agenda-media { flex: 0 0 165px; min-height: 165px; border-radius: 10px 10px 0 0; }
  #view-home .home-agenda-content { padding: 16px; }
  #view-home .home-editorial-links { padding: 42px 0; }
  #view-home .editorial-link-grid { grid-template-columns: 1fr; }
  #view-home .trust-section { padding: 20px 0; }
}

/* EXPERIENCE DIRECTORY STATES AND TYPE-SPECIFIC INFORMATION */
.detail-listing-state[data-state="commercial"] { color: #d8f3e2; border-color: rgba(88,170,121,.45); background: rgba(88,170,121,.12); }
.detail-listing-state[data-state="managed"] { color: #f2d59e; border-color: rgba(211,166,94,.45); background: rgba(211,166,94,.11); }
.detail-listing-state[data-state="informative"] { color: #d7dce0; border-color: rgba(183,194,201,.32); background: rgba(183,194,201,.08); }
.detail-information-console {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 20px 28px;
  align-items: center;
  margin-top: 32px;
  padding: 24px 26px;
  border: 1px solid #32373a;
  border-radius: 16px;
  background: #121416;
  box-shadow: 0 18px 50px rgba(0,0,0,.2);
}
.detail-information-console[hidden] { display: none !important; }
.detail-information-copy { min-width: 0; }
.detail-information-kicker { display: block; margin-bottom: 7px; color: #d3a65e; font-size: 12px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.detail-information-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(25px,2.3vw,34px); line-height: 1.08; }
.detail-information-copy p { max-width: 760px; margin: 9px 0 0; color: #c4c7c8; font-size: 15px; line-height: 1.55; }
.detail-information-actions { display: flex; align-items: center; gap: 10px; }
.detail-information-actions .btn { min-height: 48px; white-space: nowrap; font-size: 14px; }
.detail-manage-listing { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 12px 14px; color: #d8dadb; border-top: 1px solid #303437; text-decoration: none; }
.detail-manage-listing[hidden] { display: none !important; }
.detail-manage-listing > i:first-child { flex: 0 0 auto; width: 20px; color: #d3a65e; }
.detail-manage-listing > i:last-child { width: 18px; margin-left: auto; }
.detail-manage-listing span { font-size: 14px; line-height: 1.4; }
.detail-manage-listing strong { color: #fff; }
.detail-template-event .experience-keyfacts { grid-template-columns: repeat(6,minmax(0,1fr)); }
.detail-template-event #detailDurationFact { grid-column: span 2; }
.detail-template-event .experience-keyfact strong { overflow-wrap: anywhere; }
.detail-template-route .experience-keyfact.fear strong,
.detail-template-venue .experience-keyfact.fear strong { color: #f0d8a7; }
.detail-listing-informative #officialWebsitePanel,
.detail-listing-managed #officialWebsitePanel { border-color: rgba(211,166,94,.28); }

@media (max-width:980px) {
  .detail-information-console { grid-template-columns: 1fr; }
  .detail-information-actions { justify-content: flex-start; }
  .detail-template-event .experience-keyfacts { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width:720px) {
  .detail-information-console { width: calc(100% - 28px); gap: 17px; margin-top: 20px; padding: 19px 17px; }
  .detail-information-copy p { font-size: 14px; }
  .detail-information-actions { display: grid; grid-template-columns: 1fr; }
  .detail-information-actions .btn { width: 100%; }
  .detail-manage-listing { align-items: flex-start; padding-inline: 2px; }
  .detail-manage-listing span { font-size: 13px; }
  .detail-template-event .experience-keyfacts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-template-event #detailDurationFact { grid-column: 1 / -1; }
}

/* APPROVED PUBLIC TEMPLATES · EVENTS, FESTIVALS, ROUTES, VENUES AND BUSINESSES */
#view-experience.adaptive-profile-active { background: #000; }
#view-experience.adaptive-profile-active > .experience-intro,
#view-experience.adaptive-profile-active > #detailInformationConsole,
#view-experience.adaptive-profile-active > .detail-layout,
#view-experience.adaptive-profile-active > #mobileBookingBar { display: none !important; }
.adaptive-public-profile[hidden] { display: none !important; }
.adaptive-public-profile { --adaptive-line:#2a2e30; --adaptive-surface:#0c0e0f; --adaptive-surface-2:#131617; color:#f4f2ed; background:#000; }
.adaptive-public-profile * { box-sizing: border-box; }
.adaptive-profile-hero { display:grid; grid-template-columns:minmax(0,1.68fr) minmax(400px,.92fr); min-height:505px; border-bottom:1px solid var(--adaptive-line); background:#050606; }
.adaptive-profile-gallery { position:relative; min-width:0; min-height:0; display:flex; flex-direction:column; overflow:hidden; background:#090a0a; }
.adaptive-main-image { position:relative; inset:auto; width:100%; height:clamp(300px,38vw,455px); flex:0 0 auto; overflow:hidden; padding:0; border:0; background:#090a0a; cursor:zoom-in; }
.adaptive-main-image { display:grid; place-items:center; }
.adaptive-main-image img { position:absolute; inset:0; width:100%; max-width:100%; height:100%; display:block; object-fit:contain; object-position:center; background:#000; }
.adaptive-main-image:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,rgba(0,0,0,.42),transparent 30%); }
.adaptive-gallery-arrow { position:absolute; z-index:4; top:38%; width:48px; height:58px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:8px; background:rgba(0,0,0,.64); color:#fff; cursor:pointer; }
.adaptive-gallery-arrow:hover { background:#b91f27; border-color:#da353d; }
.adaptive-gallery-arrow svg { width:30px; height:30px; }
.adaptive-gallery-prev { left:20px; }
.adaptive-gallery-next { right:20px; }
.adaptive-photo-count { position:absolute; z-index:4; right:20px; bottom:105px; display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border-radius:6px; background:rgba(0,0,0,.78); color:#fff; font-size:13px; }
.adaptive-photo-count svg { width:17px; }
.adaptive-thumbnails { position:relative; inset:auto; width:100%; height:92px; flex:0 0 92px; display:flex; align-items:center; gap:9px; overflow-x:auto; padding:9px 50px; border-top:1px solid #252829; background:#020303; scrollbar-width:thin; }
.adaptive-thumbnails::-webkit-scrollbar { display:none; }
.adaptive-thumbnail { width:128px; height:72px; min-width:128px; flex:0 0 128px; padding:3px; overflow:hidden; border:1px solid #292c2e; border-radius:5px; background:#0a0b0c; cursor:pointer; }
.adaptive-thumbnail.active { border:2px solid #f1efea; }
.adaptive-thumbnail img { width:100%; height:100%; display:block; object-fit:contain; object-position:center; background:#000; }
.adaptive-profile-summary { position:relative; min-width:0; padding:24px 27px 18px; border-left:1px solid #333; background:#101112; }
.adaptive-favorite { position:absolute; top:25px; right:27px; width:50px; height:50px; display:grid; place-items:center; border:1px solid #d7d7d5; border-radius:50%; background:transparent; color:#fff; cursor:pointer; }
.adaptive-favorite.active { border-color:#e5363e; background:#b41e25; }
.adaptive-favorite svg { width:25px; height:25px; }
.adaptive-organizer { max-width:calc(100% - 66px); padding:0; border:0; background:transparent; color:#eee; font-size:14px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.adaptive-organizer span { display:inline-flex; align-items:center; gap:4px; margin-left:5px; color:#61d28d; text-decoration:none; }
.adaptive-organizer svg { width:15px; height:15px; }
.adaptive-profile-summary h1 { max-width:calc(100% - 55px); margin:16px 0 6px; color:#fff; font-family:"Cinzel",var(--serif); font-size:clamp(34px,2.35vw,42px); font-weight:600; line-height:1.06; letter-spacing:.01em; text-transform:uppercase; }
.adaptive-profile-type { margin:0 0 14px; color:#cfccca; font-size:18px; line-height:1.35; }
.adaptive-rating { display:flex; align-items:center; gap:8px; min-height:26px; margin:12px 0 14px; color:#d6d4d0; font-size:15px; }
.adaptive-rating svg { width:20px; color:#f0c94f; fill:#f0c94f; }
.adaptive-rating strong { font-weight:650; }
.adaptive-listing-state { width:max-content; max-width:100%; min-height:34px; display:inline-flex; align-items:center; gap:7px; margin:2px 0 11px; padding:7px 10px; border:1px solid #45494b; border-radius:999px; background:#151719; color:#d7dbdd; font-size:13px; font-weight:800; line-height:1.15; }
.adaptive-listing-state svg { width:16px; height:16px; }
.adaptive-listing-state.state-commercial { color:#dff8e8; border-color:#2c8654; background:#10271b; }
.adaptive-listing-state.state-managed { color:#f0d7a7; border-color:#71572e; background:#211a0f; }
.adaptive-google-rating { width:max-content; max-width:100%; display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:2px 0 12px; color:#d8d5cf; font-size:14px; line-height:1.3; text-decoration:none; }
.adaptive-google-rating svg { width:18px; height:18px; color:#f3cd48; fill:#f3cd48; }
.adaptive-google-rating strong { color:#f4f1eb; text-decoration:underline; text-underline-offset:3px; }
.adaptive-google-rating span { color:#c1c0bd; }
.adaptive-google-rating:hover strong,.adaptive-google-rating:focus-visible strong { color:#fff; }
.adaptive-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; margin:7px 0 13px; }
.adaptive-price span { color:#d8d5d1; font-size:16px; }
.adaptive-price strong { color:#fff; font-size:clamp(24px,2vw,34px); line-height:1.1; }
.adaptive-teaser { margin:10px 0 17px; color:#f0eeea; font-size:17px; line-height:1.48; }
.adaptive-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:17px; border:0; }
.adaptive-facts > div { min-width:0; min-height:67px; display:flex; flex-direction:column; justify-content:center; padding:11px 12px; border:1px solid #34383a; border-radius:6px; background:#151719; box-shadow:inset 3px 0 0 #9f252b; }
.adaptive-facts > div + div { border-left:1px solid #34383a; }
.adaptive-facts > div:last-child:nth-child(odd) { grid-column:1/-1; }
.adaptive-facts span { display:block; margin:0; color:#aaa7a2; font-size:13px; font-weight:700; letter-spacing:.035em; text-transform:uppercase; }
.adaptive-facts strong { display:block; margin-top:4px; color:#f5f2ee; font-size:17px; font-weight:700; line-height:1.2; overflow-wrap:anywhere; }
.adaptive-profile-state { display:flex; align-items:flex-start; gap:10px; margin-top:18px; padding:12px 13px; border:1px solid #393d3f; border-radius:5px; color:#d1d2d2; background:#111415; font-size:14px; line-height:1.4; }
.adaptive-profile-state svg { flex:0 0 auto; width:19px; color:#d4aa64; }
.adaptive-information-strip { border-bottom:1px solid var(--adaptive-line); background:linear-gradient(90deg,#0b0d0e,#121516 56%,#0b0d0e); }
.adaptive-information-grid { min-height:150px; display:grid; grid-template-columns:1.15fr .72fr .72fr .86fr; align-items:stretch; }
.adaptive-information-intro { padding:27px 28px 23px 4px; border-right:1px solid var(--adaptive-line); }
.adaptive-information-intro > span { color:#ff4b52; font-size:13px; font-weight:850; letter-spacing:.09em; }
.adaptive-information-intro h2 { margin:6px 0 5px; font-family:var(--serif); font-size:25px; line-height:1.15; }
.adaptive-information-intro p { margin:0; color:#bdbfbe; font-size:15px; line-height:1.45; }
.adaptive-highlight { min-width:0; display:flex; flex-direction:column; justify-content:center; padding:24px 20px; border-right:1px solid var(--adaptive-line); }
.adaptive-highlight small { margin-bottom:7px; color:#aeb1b1; font-size:13px; }
.adaptive-highlight strong { color:#fff; font-size:17px; line-height:1.35; overflow-wrap:anywhere; }
.adaptive-information-actions { display:grid; align-content:center; gap:9px; padding:21px 4px 21px 22px; }
.adaptive-primary-action,.adaptive-secondary-action { min-height:48px; display:flex; align-items:center; justify-content:center; gap:8px; padding:11px 15px; border-radius:4px; font-size:14px; font-weight:750; text-decoration:none; }
.adaptive-primary-action { border:1px solid #d62a32; background:linear-gradient(90deg,#df2d34,#b81e25); color:#fff; }
.adaptive-secondary-action { border:1px solid #44494b; background:#151819; color:#f0eeea; }
.adaptive-primary-action svg,.adaptive-secondary-action svg { width:18px; }
.adaptive-alert-action { width:100%; min-height:48px; display:flex; align-items:center; justify-content:center; gap:9px; margin-top:18px; padding:11px 16px; border:1px solid #d62a32; border-radius:4px; background:transparent; color:#ff4b52; font-size:15px; font-weight:800; cursor:pointer; }
.adaptive-alert-action:hover,.adaptive-alert-action.active { background:#b91f27; color:#fff; }
.adaptive-alert-action svg { width:19px; height:19px; }
.adaptive-booking-strip { border-bottom:1px solid #2a2e30; background:linear-gradient(90deg,#111415,#171a1b 50%,#0d0f10); }
.adaptive-booking-grid { min-height:154px; display:grid; grid-template-columns:minmax(174px,.74fr) minmax(350px,1.55fr) minmax(265px,1.08fr) minmax(160px,.64fr) minmax(205px,.78fr); align-items:stretch; padding-block:18px; }
.adaptive-booking-grid > * { min-width:0; padding:15px 20px; border-right:1px solid #303436; }
.adaptive-booking-grid > *:last-child { border-right:0; }
.adaptive-booking-intro { display:flex; flex-direction:column; justify-content:center; padding-left:3px; }
.adaptive-booking-intro > span { color:#ff424a; font-size:13px; font-weight:900; letter-spacing:.08em; }
.adaptive-booking-intro h2 { margin:6px 0 5px; color:#fff; font-family:var(--serif); font-size:25px; line-height:1.08; }
.adaptive-booking-intro p { margin:0; color:#bfc1c1; font-size:15px; line-height:1.35; }
.adaptive-booking-step { display:flex; flex-direction:column; justify-content:center; gap:12px; }
.adaptive-booking-step > strong { display:flex; align-items:center; gap:8px; color:#f5f2ed; font-size:15px; }
.adaptive-booking-step > strong b { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:#bf2930; color:#fff; font-size:13px; }
.adaptive-booking-options { display:flex; gap:8px; min-width:0; overflow-x:auto; padding-bottom:2px; scrollbar-width:thin; }
.adaptive-booking-options button { flex:0 0 auto; min-height:48px; display:flex; align-items:center; justify-content:center; gap:5px; padding:8px 15px; border:1px solid #474c4e; border-radius:4px; background:#171a1b; color:#e8e5e1; font:inherit; font-size:14px; cursor:pointer; }
.adaptive-date-options button { min-width:73px; flex-direction:column; gap:2px; padding-inline:10px; line-height:1.1; }
.adaptive-date-options button span { color:#aaaead; font-size:11px; font-weight:800; }
.adaptive-booking-options button:hover { border-color:#747a7c; }
.adaptive-booking-options button.active { border-color:#e5343c; background:linear-gradient(90deg,#d82b32,#b71d24); color:#fff; }
.adaptive-booking-options button.active span { color:#fff; }
.adaptive-booking-step > small { display:flex; align-items:center; gap:6px; color:#bfc2c1; font-size:12px; }
.adaptive-booking-step > small i { width:8px; height:8px; border-radius:50%; background:#28b96a; }
.adaptive-people-step { align-items:center; }
.adaptive-people-step > strong { align-self:flex-start; }
.adaptive-people-control { display:grid; grid-template-columns:46px 52px 46px; align-items:center; border:1px solid #484d4f; border-radius:4px; overflow:hidden; background:#16191a; }
.adaptive-people-control button { width:46px; height:48px; border:0; background:#171a1b; color:#fff; font-size:25px; cursor:pointer; }
.adaptive-people-control button:hover { background:#292d2f; }
.adaptive-people-control span { display:grid; place-items:center; height:48px; border-inline:1px solid #484d4f; color:#fff; font-size:19px; font-weight:800; }
.adaptive-booking-total { display:flex; flex-direction:column; justify-content:center; }
.adaptive-booking-total > span { color:#c5c7c6; font-size:14px; }
.adaptive-booking-total > strong { margin:3px 0 0; color:#fff; font-size:28px; line-height:1.05; }
.adaptive-booking-total > small { margin:5px 0 10px; color:#c6c8c7; font-size:13px; }
.adaptive-booking-total .adaptive-primary-action { width:100%; border:1px solid #d62a32; cursor:pointer; }
.adaptive-mobile-reserve { display:none; }
.adaptive-booking-grid.shell,.adaptive-information-grid.shell,.adaptive-profile-content.shell { width:100%; max-width:none; margin:0; }
.adaptive-information-grid.shell,.adaptive-profile-content.shell { padding-inline:28px; }
.adaptive-profile-content { padding-top:28px; padding-bottom:60px; }
.adaptive-section-nav { display:flex; gap:36px; overflow-x:auto; padding:0 15px; border-bottom:1px solid #2d3031; scrollbar-width:none; }
.adaptive-section-nav button { flex:0 0 auto; min-height:44px; padding:0 2px 14px; border:0; background:transparent; color:#b8b8b5; font:inherit; font-size:15px; cursor:pointer; }
.adaptive-section-nav button:hover,.adaptive-section-nav button:focus-visible { color:#fff; }
.adaptive-section-nav .active { color:#fff; border-bottom:2px solid #d62a32; }
.adaptive-content-panel,.adaptive-lower-grid > section,.adaptive-reviews-section { scroll-margin-top:92px; }
.adaptive-content-grid { display:grid; grid-template-columns:1.15fr .88fr .72fr; margin-top:12px; }
.adaptive-content-panel { min-width:0; padding:22px 26px; border-right:1px solid #292c2e; }
.adaptive-content-panel:last-child { border-right:0; }
.adaptive-content-panel h2,.adaptive-lower-grid h2,.adaptive-related-section h2 { margin:0 0 14px; font-family:var(--serif); font-size:22px; line-height:1.2; }
.adaptive-content-panel p { margin:0 0 12px; color:#d5d3cf; font-size:16px; line-height:1.58; }
.adaptive-practical-list { overflow:hidden; border:1px solid #35393b; border-radius:5px; background:#111314; }
.adaptive-practical-list > div { display:grid; gap:5px; padding:12px 14px; border-bottom:1px solid #35393b; }
.adaptive-practical-list > div:last-child { border-bottom:0; }
.adaptive-practical-list span { color:#b3b5b5; font-size:13px; }
.adaptive-practical-list strong { color:#efece7; font-size:15px; line-height:1.4; }
.adaptive-contact-panel > button { width:100%; display:grid; gap:4px; padding:14px; border:1px solid #34383a; border-radius:5px; background:#111314; color:#fff; text-align:left; cursor:pointer; }
.adaptive-contact-panel > button strong { font-size:16px; }
.adaptive-contact-panel > button span { color:#b2b4b3; font-size:13px; }
.adaptive-contact-panel > p { margin-top:13px; font-size:14px; }
.adaptive-contact-panel > a { display:inline-flex; align-items:center; gap:5px; color:#e1b66e; font-size:14px; }
.adaptive-contact-panel > a svg { width:16px; }
.adaptive-lower-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:12px; margin-top:14px; }
.adaptive-lower-grid > section { min-width:0; padding:22px 25px; border:1px solid #2a2e30; background:#0b0d0e; }
.adaptive-included-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.adaptive-included-cards article { min-height:120px; padding:14px; border:1px solid #33383a; border-radius:5px; background:linear-gradient(145deg,#171a1b,#0e1011); }
.adaptive-included-cards span { display:block; margin-bottom:12px; color:#d82c34; font-size:12px; font-weight:800; }
.adaptive-included-cards strong { color:#eeece8; font-size:15px; line-height:1.45; }
.adaptive-location-section { display:grid; grid-template-columns:minmax(250px,52%) minmax(250px,48%); min-height:238px; padding:0 !important; overflow:hidden; }
.adaptive-location-info { min-width:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:20px 22px; order:2; }
.adaptive-location-kicker { margin-bottom:5px; color:#d8a85d; font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.adaptive-location-info h2 { margin-bottom:10px; }
.adaptive-map-card { height:100%; min-height:238px; overflow:hidden; border:0; border-right:1px solid #363a3c; border-radius:0; background:#171a1b; order:1; }
.adaptive-map-card iframe { width:100%; height:100%; display:block; border:0; filter:saturate(.9) contrast(1.02); }
.adaptive-address { display:block; margin:0 0 11px; color:#fff; font-size:15px; line-height:1.4; }
.adaptive-transit { display:grid; gap:7px; margin-bottom:12px; }
.adaptive-transit span { display:flex; align-items:flex-start; gap:7px; color:#c5c7c6; font-size:13px; line-height:1.4; }
.adaptive-transit svg { flex:0 0 auto; width:17px; color:#d8ab64; }
.adaptive-transit-connections { width:100%; display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.adaptive-transport-connection { min-height:38px; display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid #42474a; border-radius:5px; background:rgba(255,255,255,.035); color:#f4f1ec; font-size:13px; }
.adaptive-transport-connection b { min-width:34px; min-height:28px; display:inline-grid; place-items:center; padding:2px 6px; border-radius:4px; background:#c72931; color:#fff; font-size:12px; font-weight:850; }
.adaptive-transport-connection em { color:#f1eee8; font-style:normal; font-weight:750; line-height:1.25; }
.adaptive-transport-connection svg { width:18px; height:18px; }
.adaptive-transport-metro.line-l1 b { background:#d71920; }
.adaptive-transport-metro.line-l2 b { background:#8d288f; }
.adaptive-transport-metro.line-l3 b { background:#16834b; }
.adaptive-transport-metro.line-l4 b { color:#111; background:#f5c400; }
.adaptive-transport-metro.line-l5 b { background:#2876b9; }
.adaptive-transport-metro.line-l9 b,.adaptive-transport-metro.line-l10 b { background:#e67925; }
.adaptive-transport-bus svg { color:#58aef6; }
.adaptive-transport-parking svg { color:#d8a44f; }
.adaptive-location-info .adaptive-secondary-action { width:100%; margin-top:auto; }
.adaptive-empty-copy { color:#b8bab9; font-size:15px; }
.adaptive-related-section { margin-top:16px; padding:23px 25px; border:1px solid #2a2e30; background:#090b0c; }
.adaptive-related-section > div:first-child > span { color:#d73239; font-size:12px; font-weight:800; letter-spacing:.09em; }
.adaptive-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.adaptive-related-card { position:relative; min-height:125px; display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:15px 38px 14px 15px; border:1px solid #34383a; border-radius:5px; background:linear-gradient(145deg,#171a1b,#0d0f10); color:#fff; text-align:left; cursor:pointer; }
.adaptive-related-card:hover { border-color:#a6292e; }
.adaptive-related-card strong { font-size:16px; }
.adaptive-related-card span { color:#c8c9c7; font-size:14px; line-height:1.35; }
.adaptive-related-card small { margin-top:auto; color:#d1a765; font-size:12px; }
.adaptive-related-card > svg { position:absolute; top:14px; right:13px; width:18px; }
.adaptive-claim-link { display:flex; align-items:center; gap:12px; min-height:58px; margin-top:16px; padding:13px 16px; border:1px solid #313537; border-radius:5px; background:#0d1011; color:#d5d6d5; text-decoration:none; }
.adaptive-claim-link > svg:first-child { color:#d4a75e; }
.adaptive-claim-link > svg:last-child { margin-left:auto; }
.adaptive-claim-link span { font-size:14px; line-height:1.4; }
.adaptive-claim-link strong { color:#fff; }
.adaptive-reviews-section { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:16px; padding:22px 25px; border:1px solid #2a2e30; background:#090b0c; }
.adaptive-reviews-section > div:first-child > span { color:#d73239; font-size:12px; font-weight:800; letter-spacing:.09em; }
.adaptive-reviews-section h2 { margin:5px 0 0; font-family:var(--serif); font-size:22px; }
.adaptive-review-summary { display:flex; align-items:center; gap:14px; }
.adaptive-review-summary > strong { color:#fff; font-size:31px; }
.adaptive-review-summary > span { display:flex; align-items:center; gap:6px; color:#d4d1cb; font-size:15px; }
.adaptive-review-summary > span svg { width:18px; color:#f2c14d; fill:#f2c14d; }
.adaptive-review-summary > a { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:10px 13px; border:1px solid #43484a; border-radius:4px; color:#fff; font-size:14px; text-decoration:none; }
.adaptive-review-summary > a svg { width:17px; }

@media (min-width:961px) {
  .adaptive-profile-hero { grid-template-columns:minmax(0,74%) minmax(350px,26%); min-height:0; align-items:stretch; }
  .adaptive-profile-gallery { height:auto; display:flex; min-width:0; flex-direction:column; padding-left:0; background:#000; }
  .adaptive-main-image { position:relative; inset:auto; width:100%; height:clamp(390px,31vw,455px); flex:0 0 auto; background:#000; }
  .adaptive-main-image img { width:100%; max-width:100%; height:100%; object-fit:contain; object-position:center; background:#000; }
  .adaptive-thumbnails { position:relative; inset:auto; width:100%; height:84px; flex:0 0 84px; display:flex; gap:10px; align-items:center; padding:8px 54px; overflow-x:auto; background:#020202; }
  .adaptive-thumbnail { width:121px; height:68px; flex:0 0 121px; padding:4px; }
  .adaptive-thumbnail img { object-fit:contain; background:#000; }
  .adaptive-photo-count { right:19px; bottom:101px; }
  .adaptive-gallery-arrow { top:calc((clamp(390px,31vw,455px) - 58px)/2); }
}

@media (max-width:1100px) {
  .adaptive-profile-summary { padding-inline:26px; }
  .adaptive-information-grid { grid-template-columns:1.1fr .72fr .72fr; }
  .adaptive-information-actions { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); padding:15px 4px; border-top:1px solid var(--adaptive-line); }
  .adaptive-content-grid { grid-template-columns:1.1fr .9fr; }
  .adaptive-contact-panel { grid-column:1/-1; border-top:1px solid #292c2e; border-right:0; }
  .adaptive-booking-grid { grid-template-columns:minmax(170px,.72fr) minmax(330px,1.35fr) minmax(235px,1fr); }
  .adaptive-booking-grid > *:nth-child(3) { border-right:0; }
  .adaptive-booking-grid > *:nth-child(4),.adaptive-booking-grid > *:nth-child(5) { border-top:1px solid #303436; }
  .adaptive-booking-grid > *:nth-child(4) { grid-column:2; }
  .adaptive-booking-grid > *:nth-child(5) { grid-column:3; }
}

@media (max-width:800px) {
  .adaptive-profile-hero { grid-template-columns:1fr; }
  .adaptive-profile-gallery { min-height:0; }
  .adaptive-main-image { height:auto; aspect-ratio:16/9; }
  .adaptive-profile-summary { padding:26px 22px; }
  .adaptive-information-grid { grid-template-columns:1fr 1fr; }
  .adaptive-information-intro { grid-column:1/-1; padding:22px 4px; border-right:0; border-bottom:1px solid var(--adaptive-line); }
  .adaptive-highlight { min-height:102px; }
  .adaptive-lower-grid { grid-template-columns:1fr; }
  .adaptive-location-section { grid-template-columns:1fr; }
  .adaptive-location-info { order:1; }
  .adaptive-map-card { min-height:230px; order:2; border-right:0; border-top:1px solid #363a3c; }
  .adaptive-booking-grid { grid-template-columns:1fr 1fr; padding-block:0; }
  .adaptive-booking-grid > * { padding:20px; border-right:0; border-bottom:1px solid #303436; }
  .adaptive-booking-intro { grid-column:1/-1; padding-left:20px; }
  .adaptive-booking-grid > *:nth-child(2) { grid-column:1/-1; }
  .adaptive-booking-grid > *:nth-child(3),.adaptive-booking-grid > *:nth-child(4) { grid-column:auto; border-top:0; }
  .adaptive-booking-grid > *:nth-child(5) { grid-column:1/-1; border-bottom:0; }
  .adaptive-booking-total { display:grid; grid-template-columns:auto 1fr; column-gap:9px; align-items:center; }
  .adaptive-booking-total .adaptive-primary-action { grid-column:1/-1; margin-top:8px; }
}

@media (max-width:720px) {
  .adaptive-profile-gallery { min-height:0; }
  .adaptive-main-image { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:16/9; }
  .adaptive-thumbnails { position:relative; inset:auto; width:100%; height:78px; flex:0 0 78px; gap:7px; padding:7px 12px; scrollbar-width:none; }
  .adaptive-thumbnail { width:108px; min-width:108px; height:62px; flex-basis:108px; }
  .adaptive-photo-count { right:12px; bottom:90px; font-size:12px; }
  .adaptive-gallery-arrow { top:calc((100% - 78px - 50px)/2); width:42px; height:50px; }
  .adaptive-gallery-prev { left:10px; }
  .adaptive-gallery-next { right:10px; }
  .adaptive-profile-summary { padding:24px 17px 22px; }
  .adaptive-favorite { top:18px; right:16px; width:46px; height:46px; }
  .adaptive-profile-summary h1 { margin-top:16px; font-size:31px; }
  .adaptive-profile-type { font-size:16px; }
  .adaptive-teaser { font-size:16px; }
  .adaptive-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adaptive-facts > div:nth-child(odd),.adaptive-facts > div:nth-child(n+3) { border:1px solid #34383a; }
  .adaptive-information-strip .shell,.adaptive-profile-content.shell { width:calc(100% - 28px); }
  .adaptive-information-grid { grid-template-columns:1fr; }
  .adaptive-highlight { min-height:auto; padding:16px 2px; border-right:0; border-bottom:1px solid var(--adaptive-line); }
  .adaptive-information-actions { grid-column:auto; grid-template-columns:1fr; padding:17px 0; }
  .adaptive-profile-content { padding-top:22px; padding-bottom:106px; }
  .adaptive-section-nav { gap:24px; padding-inline:4px; }
  .adaptive-section-nav button { font-size:14px; }
  .adaptive-content-grid { grid-template-columns:1fr; }
  .adaptive-content-panel { padding:21px 3px; border-right:0; border-bottom:1px solid #292c2e; }
  .adaptive-content-panel:last-child { border-bottom:0; }
  .adaptive-content-panel h2,.adaptive-lower-grid h2,.adaptive-related-section h2 { font-size:21px; }
  .adaptive-content-panel p { font-size:16px; }
  .adaptive-lower-grid > section,.adaptive-related-section { padding:19px 16px; }
  .adaptive-included-cards,.adaptive-related-grid { grid-template-columns:1fr; }
  .adaptive-included-cards article { min-height:auto; }
  .adaptive-map-card { height:220px; }
  .adaptive-claim-link { align-items:flex-start; }
  .adaptive-booking-grid { width:100%; grid-template-columns:1fr; }
  .adaptive-booking-grid > *,.adaptive-booking-intro { grid-column:auto !important; padding:18px 14px; }
  .adaptive-booking-step { align-items:stretch; }
  .adaptive-people-step { align-items:center; }
  .adaptive-people-step > strong { align-self:stretch; }
  .adaptive-date-options button { min-width:82px; }
  .adaptive-time-options { justify-content:center; }
  .adaptive-reviews-section,.adaptive-review-summary { align-items:flex-start; flex-direction:column; }
  .adaptive-booking-total { display:grid; grid-template-columns:auto 1fr; }
  .adaptive-booking-total .adaptive-primary-action { display:none; }
  .adaptive-mobile-reserve { position:fixed; z-index:90; left:0; right:0; bottom:0; min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid #3d4143; background:rgba(10,12,13,.97); box-shadow:0 -12px 28px rgba(0,0,0,.42); }
  .adaptive-mobile-reserve span { display:flex; flex-direction:column; color:#bfc1c0; font-size:12px; }
  .adaptive-mobile-reserve strong { color:#fff; font-size:22px; }
  .adaptive-mobile-reserve button { min-width:148px; min-height:48px; padding:10px 17px; border:1px solid #e13840; border-radius:4px; background:linear-gradient(90deg,#df2d34,#b81e25); color:#fff; font-size:15px; font-weight:850; cursor:pointer; }
}
