/*
Theme Name: Ya Estoy Aquí
Theme URI: https://kinkylandia.com/
Author: Ya Estoy Aquí
Description: Tema propio para la plataforma de ocio de terror Ya Estoy Aquí.
Version: 0.1.0
Requires at least: 6.5
Requires PHP: 8.1
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: #7e8783;
      --red: #b6373c;
      --red-bright: #cf4d52;
      --red-dark: #76272b;
      --cream: #d8d2c9;
      --gold: #c39b5d;
      --green: #58aa79;
      --warning: #d3a65e;
      --shadow: 0 24px 80px rgba(0,0,0,.34);
      --radius: 20px;
      --serif: "Cormorant Garamond", Georgia, serif;
      --sans: "Manrope", system-ui, sans-serif;
    }

    * { 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: column; justify-content: center; min-width: 176px; cursor: pointer; background: none; border: 0; padding: 0; text-align: left; }
    .brand-main { font-family: var(--serif); font-size: 25px; font-weight: 700; line-height: .85; letter-spacing: -.035em; }
    .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; }
    .top-actions { display: flex; align-items: center; gap: 10px; }
    .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); }

    /* HOME */
    .hero { position: relative; min-height: 680px; 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: 108px 0 62px; }
    .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: 690px; margin: 0; font-family: var(--serif); font-size: clamp(58px, 7vw, 94px); font-weight: 600; line-height: .85; letter-spacing: -.047em; }
    .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(930px, 100%); display: grid; grid-template-columns: 1.15fr .9fr .75fr 1fr auto; background: rgba(17,16,15,.94); border: 1px solid rgba(255,255,255,.14); border-radius: 17px; box-shadow: var(--shadow); backdrop-filter: blur(18px); overflow: hidden; }
    .search-field { position: relative; min-width: 0; padding: 15px 17px 14px; border-right: 1px solid var(--line); }
    .search-field label { display: block; margin-bottom: 6px; color: var(--faint); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    .search-field select, .search-field input { width: 100%; color: var(--ink); background: transparent; border: 0; outline: 0; font-size: 12px; font-weight: 650; appearance: none; }
    .search-field select option { color: white; background: #151414; }
    .search-go { width: 64px; margin: 7px; border: 0; border-radius: 11px; background: var(--red); cursor: pointer; }
    .search-go:hover { background: var(--red-bright); }
    .search-go i { width: 20px; }
    .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-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; }
    .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 { width: 100%; 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("https://images.unsplash.com/photo-1648142652719-b934e1f9b2de?auto=format&fit=crop&q=82&w=1400") 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: 780px; margin: 8px 0 10px; font-family: var(--serif); font-size: clamp(54px,7vw,84px); font-weight: 600; line-height: .87; letter-spacing: -.04em; }
    .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-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; }
    .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; }
    .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 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; }
    .auth-legal { margin: 12px 0 0; color: var(--faint); font-size: 7px; line-height: 1.55; text-align: center; }
    .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; }
    .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 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; }

    @media (max-width: 980px) {
      .desktop-nav { display: none; }
      .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: 64px; gap: 10px; }
      .brand { min-width: auto; }
      .brand-main { font-size: 21px; }
      .brand-sub { font-size: 6px; letter-spacing: .3em; }
      .city-pill { height: 37px; padding: 0 11px; }
      .account-entry { display: none; }
      .global-search-inner { height: 50px; grid-template-columns: minmax(0,1fr) auto; gap: 6px; }
      .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: 36px; }
      .view { min-height: calc(100vh - 114px); }
      .hero { min-height: 680px; align-items: flex-end; }
      .hero-media { background-image: linear-gradient(0deg, #080808 0%, rgba(4,4,4,.38) 57%, rgba(4,4,4,.4) 100%), url("https://images.unsplash.com/photo-1703419776762-56bf2020639d?auto=format&fit=crop&q=82&w=1000"); background-position: 62% center; }
      .hero-content { width: 100%; padding: 98px 0 34px; }
      .hero h1 { font-size: clamp(54px, 17vw, 76px); }
      .hero-lead { margin: 18px 0 22px; font-size: 12px; line-height: 1.65; }
      .search-panel { grid-template-columns: 1fr 1fr; border-radius: 15px; }
      .search-field { padding: 13px 14px; border-bottom: 1px solid var(--line); }
      .search-field:nth-child(2), .search-field:nth-child(4) { border-right: 0; }
      .search-field:nth-child(3), .search-field:nth-child(4) { border-bottom: 0; }
      .search-go { grid-column: 1 / -1; width: auto; min-height: 45px; }
      .trust-row { flex-wrap: wrap; gap: 10px 17px; margin-top: 16px; }
      .trust-row span:last-child { display: none; }
      .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: 60px 0; }
      .section-head { align-items: flex-start; margin-bottom: 22px; }
      .section-head .text-link { display: none; }
      .section-title { font-size: 39px; }
      .section-copy { font-size: 11px; line-height: 1.65; }
      .results-header { display: block; margin-bottom: 18px; }
      .results-header h1 { font-size: 46px; }
      .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: 118px minmax(0,1fr); }
      .result-media { height: 100%; min-height: 190px; }
      .result-distance { top: 8px; right: 8px; padding: 5px 6px; }
      .result-body { padding: 15px; }
      .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: 82vw; min-height: 375px; scroll-snap-align: start; }
      .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: 84vw; display: block; scroll-snap-align: start; }
      .featured .offer-image { height: 230px; }
      .featured .offer-body { padding: 20px; }
      .featured h3 { font-size: 30px; }
      .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-grid { grid-template-columns: 1fr 1fr; }
      .footer-brand { grid-column: 1/-1; }
      .footer-grid > div:last-child { display: none; }
      .footer-bottom { flex-direction: column; }

      .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: 40px; }
      .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 1fr; }
      .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 { overflow-x: auto; scrollbar-width: none; }
      .business-tabs::-webkit-scrollbar { display: none; }
      .business-tabs button { min-width: 82px; }
      .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(66px + 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); padding: 8px 7px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(10,10,10,.95); backdrop-filter: blur(20px); }
      .mobile-nav.guest { grid-template-columns: repeat(4,1fr); }
      .mobile-nav button { display: grid; place-items: center; gap: 3px; color: var(--faint); background: none; border: 0; cursor: pointer; font-size: 7px; font-weight: 700; }
      .mobile-nav button.active { color: white; }
      .mobile-nav i { width: 19px; height: 19px; }
      .mobile-nav .publish-mobile { color: white; }
      .mobile-nav .publish-mobile i { width: 36px; height: 36px; padding: 8px; margin-top: -21px; color: white; border-radius: 50%; background: var(--red); box-shadow: 0 7px 20px rgba(184,32,37,.35); }
      .toast { bottom: 84px; }
    }
