/* ============================================================
   BOOTSTRAP 5 COMPATIBILITY LAYER — PART 1 (reboot restore)
   Loaded AFTER bootstrap.min.css. Reverts Bootstrap's "reboot"
   element defaults back to browser defaults so the site renders
   exactly as it did before Bootstrap was added. Rules further
   down in this file still override these as usual.
   ============================================================ */
*::before,
*::after{box-sizing:revert}
body{line-height:revert;-webkit-tap-highlight-color:revert}
h1,h2,h3,h4,h5,h6{margin:revert;font-size:revert;font-weight:revert;line-height:revert;color:revert}
p{margin:revert}
ol,ul,dl{margin:revert;padding:revert}
dt{font-weight:revert}
dd{margin:revert}
blockquote,figure{margin:revert}
address{margin:revert;font-style:revert;line-height:revert}
small{font-size:revert}
mark{padding:revert;background-color:revert}
sub,sup{font-size:revert;line-height:revert;position:revert;vertical-align:revert}
hr{margin:revert;color:revert;background-color:revert;border:revert;opacity:revert;height:revert}
img,svg{vertical-align:revert}
table{caption-side:revert;border-collapse:revert}
caption{padding:revert;color:revert;text-align:revert}
th{text-align:revert}
thead,tbody,tfoot,tr,td,th{border:revert}
label{display:revert}
button,input,optgroup,select,textarea{margin:revert}
button,select{text-transform:revert}
button{border-radius:revert}
textarea{resize:revert}
fieldset{min-width:revert;margin:revert;padding:revert;border:revert}
legend{float:revert;width:revert;margin:revert;padding:revert;font-size:revert;line-height:revert}
iframe{border:revert}
/* ===================== end compat part 1 ==================== */

:root{
  --bg:#FFFFFF;
  --ink:#003859;
  --muted:#587083;
  --line:#E4EAF0;
  --green:#FFC750;
  --green-dark:#E7AE22;
  --dark:#003859;
  --dark-2:#ffffff;
  --white:#ffffff;
  --radius:28px;
  --shadow:0 24px 80px rgba(0,56,89,.12);

  --accent-bg:#FFC750;
  --accent-ink:#003859;
  --blue:#003859;
  --blue-soft:#1D4771;

  --at-bg:#FFFFFF;
  --at-ink:#003859;
  --at-muted:#587083;
  --at-line:#E4EAF0;
  --at-accent:#FFC750;
  --at-accent-strong:#ffb63a;
  --at-blue:#003859;
  --at-blue-soft:#1D4771;
  --at-radius:28px;
  --at-shadow:0 24px 80px rgba(0,56,89,.12);
}

*{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--ink);
      background:var(--bg);
      overflow-x:hidden;
    }
    body.menu-open{overflow:hidden}
    a{text-decoration:none;color:inherit}
    button,input,select{font:inherit}
    img{max-width:100%;display:block}

    .site-header{
      position:fixed;
      top:18px;
      left:24px;
      right:24px;
      z-index:5000;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:12px 14px 12px 22px;
      border-radius:999px;
      background:rgba(255,255,255,.92);
      border:1px solid rgba(5,5,6,.10);
      backdrop-filter:blur(14px);
      color:#101713;
      box-shadow:0 12px 40px rgba(5,5,6,.10);
    }

    .logo{
      display:flex;
      align-items:center;
      gap:10px;
      font-size:20px;
      font-weight:900;
      letter-spacing:-.04em;
      white-space:nowrap;
    }
    .logo-mark{
      width:34px;
      height:34px;
      border-radius:50%;
      background:var(--green);
      color:#101713;
      display:grid;
      place-items:center;
      font-weight:950;
      flex:0 0 auto;
    }

    .nav{
      display:flex;
      align-items:center;
      gap:24px;
      font-size:14px;
      color:rgba(5,5,6,.72);
    }
    .nav a:hover{color:var(--green-dark)}

    .btn{
      border:0;
      border-radius:999px;
      padding:14px 20px;
      background:var(--green);
      color:#101713;
      font-weight:850;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      transition:.2s ease;
    }
    .btn:hover{background:var(--green-dark);transform:translateY(-1px)}
    .btn-light{background:#fff;color:#111}
    .btn-dark{background:var(--dark);color:#fff}
    .btn-dark:hover{background:#000}
    .small-btn{padding:12px 15px;font-size:14px}

    /* BURGER */
    .burger{
      display:none;
      width:46px;
      height:46px;
      min-width:46px;
      border:1px solid rgba(5,5,6,.12);
      background:rgba(137,168,2,.14);
      color:#fff;
      border-radius:50%;
      cursor:pointer;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      gap:5px;
      padding:0;
      margin-left:auto;
      position:relative;
      z-index:5002;
    }
    .burger span{
      display:block;
      width:21px;
      height:2px;
      background:#101713;
      border-radius:99px;
      transition:.22s ease;
    }
    .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .burger.open span:nth-child(2){opacity:0}
    .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

    .mobile-menu{
      position:fixed;
      inset:0;
      z-index:4999;
      display:none;
      padding:88px 12px 12px;
      background:rgba(255,255,255,.78);
      backdrop-filter:blur(10px);
    }
    .mobile-menu.open{display:block}
    .mobile-menu-panel{
      display:grid;
      gap:4px;
      background:#ffffff;
      color:#101713;
      border:1px solid rgba(5,5,6,.10);
      border-radius:28px;
      padding:16px;
      box-shadow:0 30px 100px rgba(5,5,6,.18);
    }
    .mobile-menu-panel a{
      padding:16px;
      border-radius:18px;
      font-weight:850;
    }
    .mobile-menu-panel a:not(.btn):hover{background:rgba(137,168,2,.12)}

    .hero{
      min-height:80vh;
      position:relative;
      display:flex;
      align-items:flex-end;
      padding:160px 6vw 90px;
      overflow:hidden;
      background:
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(251,252,247,.84)),
        radial-gradient(circle at 72% 36%, rgba(137,168,2,.30), transparent 30%),
        url("https://images.unsplash.com/photo-1501281668745-f7f57925c3b4?auto=format&fit=crop&w=1800&q=80") center/cover no-repeat;
      color:#101713;
    }
    .hero::after{
      content:"EVENTS • TICKETS • SHOWS • FESTIVALS •";
      position:absolute;
      left:-2vw;
      bottom:5vh;
      white-space:nowrap;
      font-size:10.8vw;
      line-height:.8;
      font-weight:950;
      letter-spacing:-.08em;
      color:rgba(5,5,6,.045);
      pointer-events:none;
    }
    .hero-grid{
      position:relative;
      z-index:2;
      width:100%;
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(320px,.55fr);
      gap:48px;
      align-items:end;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      font-size:13px;
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:850;
      color:var(--green-dark);
      margin-bottom:22px;
    }
    .eyebrow::before{content:"";width:42px;height:2px;background:currentColor}
    h1{
      margin:0;
      max-width:840px;
      font-size:clamp(54px,9vw,132px);
      line-height:.88;
      letter-spacing:-.08em;
      font-weight:900;
    }
    .hero-copy{
      max-width:460px;
      color:rgba(5,5,6,.72);
      font-size:18px;
      line-height:1.55;
      margin:28px 0 0;
    }
    .hero-card{
      background:rgba(255,255,255,.82);
      border:1px solid rgba(5,5,6,.10);
      backdrop-filter:blur(18px);
      border-radius:var(--radius);
      padding:24px;
      box-shadow:0 24px 80px rgba(5,5,6,.12);
    }
    .hero-card h2{
      margin:0 0 18px;
      font-size:26px;
      line-height:1.05;
      letter-spacing:-.04em;
    }
    .searchbar{display:grid;gap:10px}
    .searchbar input,.searchbar select{
      width:100%;
      border:1px solid rgba(5,5,6,.10);
      border-radius:16px;
      padding:15px 16px;
      background:#ffffff;
      color:#101713;
      outline:none;
    }
    .searchbar option{color:#111}
    .stats{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      border-top:1px solid rgba(5,5,6,.10);
      margin-top:22px;
      padding-top:20px;
      gap:10px;
    }
    .stat strong{display:block;font-size:24px}
    .stat span{font-size:12px;color:rgba(5,5,6,.58)}

    .section{padding:110px 6vw}
    .section-tight{padding-top:80px}
    .section-head{
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:30px;
      margin-bottom:42px;
    }
    .section-kicker{
      text-transform:uppercase;
      font-size:13px;
      font-weight:850;
      letter-spacing:.12em;
      color:var(--green-dark);
      margin-bottom:18px;
    }
    h2{
      margin:0;
      font-size:clamp(36px,5.4vw,74px);
      line-height:.96;
      letter-spacing:-.065em;
      max-width:800px;
    }
    .section-head p{
      max-width:380px;
      color:var(--muted);
      line-height:1.65;
      margin:0;
    }

    .filters{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin:0 0 30px;
    }
    .filter{
      border:1px solid var(--line);
      background:#fff;
      border-radius:999px;
      padding:11px 16px;
      cursor:pointer;
      font-weight:800;
    }
    .filter.active{
      background:var(--ink);
      color:#fff;
      border-color:var(--ink);
    }

    .events-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:22px;
    }
    .event-card{
      background:#fff;
      border-radius:var(--radius);
      overflow:hidden;
      border:1px solid var(--line);
      box-shadow:0 10px 30px rgba(5,5,6,.06);
      transition:.25s ease;
    }
    .event-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
    .event-img{
      height:255px;
      position:relative;
      background:var(--dark);
      overflow:hidden;
    }
    .event-img img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:.35s ease;
    }
    .event-card:hover .event-img img{transform:scale(1.05)}
    .date-badge{
      position:absolute;
      left:18px;
      top:18px;
      width:70px;
      height:70px;
      border-radius:18px;
      background:#fff;
      color:#111;
      display:grid;
      place-items:center;
      text-align:center;
      font-weight:950;
      line-height:.9;
    }
    .date-badge span{display:block;font-size:13px;text-transform:uppercase;color:var(--green-dark)}
    .date-badge strong{display:block;font-size:25px}
    .tag{
      position:absolute;
      right:18px;
      top:18px;
      border-radius:999px;
      padding:9px 12px;
      background:rgba(16,23,19,.72);
      color:#fff;
      font-size:12px;
      font-weight:850;
      backdrop-filter:blur(10px);
    }
    .event-body{padding:24px}
    .event-title{
      font-size:25px;
      line-height:1.05;
      letter-spacing:-.045em;
      margin:0 0 14px;
    }
    .meta{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      color:var(--muted);
      font-size:14px;
      margin-bottom:20px;
    }
    .event-foot{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:15px;
      border-top:1px solid var(--line);
      padding-top:18px;
    }
    .price{
      font-size:22px;
      font-weight:950;
      letter-spacing:-.04em;
    }

    .feature{
      background:#ffffff;
      color:#101713;
      overflow:hidden;
    }
    .feature-inner{
      display:grid;
      grid-template-columns:.95fr 1.05fr;
      gap:60px;
      align-items:center;
    }
    .feature-media{
      min-height:620px;
      border-radius:42px;
      background:
        linear-gradient(180deg,transparent,rgba(0,0,0,.42)),
        url("https://images.unsplash.com/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=1300&q=80") center/cover;
      position:relative;
      box-shadow:0 40px 140px rgba(0,0,0,.35);
    }
    .floating-ticket{
      position:absolute;
      left:28px;
      right:28px;
      bottom:28px;
      background:#fff;
      color:#111;
      border-radius:28px;
      padding:22px;
      display:flex;
      justify-content:space-between;
      gap:20px;
      align-items:center;
    }
    .ticket-code{
      color:var(--muted);
      font-size:13px;
      text-transform:uppercase;
      letter-spacing:.08em;
      font-weight:850;
    }
    .feature h2{color:#101713}
    .feature p{
      color:rgba(5,5,6,.68);
      line-height:1.7;
      font-size:18px;
      max-width:560px;
    }
    .countdown{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      max-width:560px;
      margin:34px 0;
    }
    .timebox{
      background:#ffffff;
      border:1px solid rgba(5,5,6,.10);
      border-radius:22px;
      padding:20px 12px;
      text-align:center;
    }
    .timebox strong{
      display:block;
      font-size:34px;
      letter-spacing:-.05em;
    }
    .timebox span{
      color:rgba(5,5,6,.58);
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.08em;
      font-weight:850;
    }

    .categories{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
    }
    .category{
      min-height:220px;
      border-radius:32px;
      padding:24px;
      color:#fff;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      background:linear-gradient(135deg,#111,#3b4610);
      overflow:hidden;
      position:relative;
    }
    .category:nth-child(2){background:linear-gradient(135deg,#2d1617,#875042)}
    .category:nth-child(3){background:linear-gradient(135deg,#131b15,#31564b)}
    .category:nth-child(4){background:linear-gradient(135deg,#19131f,#655071)}
    .category::after{
      content:"";
      position:absolute;
      width:230px;
      height:170px;
      border-radius:50%;
      background:rgba(137,168,2,.14);
      right:-50px;
      bottom:-60px;
    }
    .category h3{
      margin:0;
      font-size:30px;
      letter-spacing:-.05em;
      line-height:1;
      position:relative;
      z-index:1;
    }
    .category p{margin:0;color:rgba(5,5,6,.68);position:relative;z-index:1}

    .how{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .step{
      background:#fff;
      border:1px solid var(--line);
      border-radius:32px;
      padding:30px;
    }
    .step-number{
      width:52px;
      height:52px;
      border-radius:50%;
      background:var(--green);
      display:grid;
      place-items:center;
      font-weight:950;
      margin-bottom:60px;
    }
    .step h3{
      margin:0 0 12px;
      font-size:27px;
      letter-spacing:-.05em;
    }
    .step p{margin:0;color:var(--muted);line-height:1.65}

    .newsletter{
      border-radius:48px;
      padding:54px;
      background:
        radial-gradient(circle at top right,rgba(137,168,2,.28),transparent 36%),
        #eef3e6;
      color:#101713;
      display:grid;
      grid-template-columns:1fr .8fr;
      gap:30px;
      align-items:end;
    }
    .newsletter h2{color:#101713}
    .newsletter p{color:rgba(5,5,6,.68);line-height:1.65;max-width:540px}
    .newsletter-form{
      display:flex;
      gap:10px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(5,5,6,.10);
      padding:8px;
      border-radius:999px;
    }
    .newsletter-form input{
      flex:1;
      min-width:0;
      border:0;
      outline:0;
      background:transparent;
      color:#101713;
      padding:0 16px;
    }

    footer{
      padding:46px 6vw;
      display:flex;
      justify-content:space-between;
      gap:20px;
      color:var(--muted);
      border-top:1px solid var(--line);
      font-size:14px;
    }

    .modal{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.62);
      z-index:6000;
      display:none;
      place-items:center;
      padding:20px;
    }
    .modal.open{display:grid}
    .modal-card{
      width:min(560px,100%);
      background:#fff;
      border-radius:34px;
      padding:30px;
      box-shadow:0 40px 130px rgba(0,0,0,.35);
      position:relative;
    }
    .close{
      position:absolute;
      top:18px;
      right:18px;
      border:0;
      width:40px;
      height:40px;
      border-radius:50%;
      background:#f0f0f0;
      cursor:pointer;
      font-size:22px;
    }
    .modal-card h3{
      margin:0 0 10px;
      font-size:34px;
      letter-spacing:-.06em;
    }
    .modal-card p{color:var(--muted);line-height:1.55}
    .ticket-row{
      display:flex;
      justify-content:space-between;
      align-items:center;
      padding:16px 0;
      border-top:1px solid var(--line);
    }
    .qty{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .qty button{
      width:34px;
      height:34px;
      border-radius:50%;
      border:1px solid var(--line);
      background:#fff;
      cursor:pointer;
      font-weight:950;
    }
    .total{
      display:flex;
      justify-content:space-between;
      align-items:center;
      border-top:2px solid var(--ink);
      padding-top:20px;
      margin-top:8px;
      font-size:22px;
      font-weight:950;
    }

    @media (max-width:980px){
      .site-header{
        top:12px;
        left:12px;
        right:12px;
        padding:10px 10px 10px 14px;
      }
      .nav{display:none !important}
      .burger{display:flex !important}
      .hero-grid,.feature-inner,.newsletter{grid-template-columns:1fr}
      .events-grid,.how{grid-template-columns:1fr 1fr}
      .categories{grid-template-columns:1fr 1fr}
      .hero{padding:140px 24px 70px}
      .section{padding:80px 24px}
      .section-head{display:block}
      .section-head p{margin-top:18px}
      .feature-media{min-height:440px}
    }

    @media (max-width:620px){
      h1{font-size:clamp(46px,16vw,64px)}
      .hero{min-height:92vh;padding:120px 16px 56px}
      .hero-card{padding:18px;border-radius:22px}
      .events-grid,.how,.categories{grid-template-columns:1fr}
      .stats,.countdown{grid-template-columns:repeat(2,1fr)}
      .filters{
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:8px;
      }
      .filter{white-space:nowrap}
      .event-img{height:220px}
      .floating-ticket{
        left:16px;
        right:16px;
        bottom:16px;
        flex-direction:column;
        align-items:flex-start;
      }
      .newsletter{
        padding:30px;
        border-radius:32px;
      }
      .newsletter-form{
        border-radius:24px;
        flex-direction:column;
      }
      footer{display:block}
      .logo{font-size:18px}
      .logo-mark{width:32px;height:32px}
    }

    @media (max-width:380px){
      .site-header{left:8px;right:8px}
      .logo{font-size:16px}
      .burger{width:42px;height:42px;min-width:42px}
      .mobile-menu{padding-top:78px}
      .section{padding-left:16px;padding-right:16px}
    }
  
    .site-header .btn-light{
      background:var(--green);
      color:#101713;
    }
    .hero-card .btn,
    .newsletter .btn,
    .feature .btn{
      box-shadow:0 10px 28px rgba(137,168,2,.22);
    }
    .feature .section-kicker,
    .newsletter .section-kicker{
      color:var(--green-dark);
    }
    .mobile-menu-panel .btn{
      color:#101713;
    }
    .timebox strong{
      color:#101713;
    }

 
    .category,
    .category h3,
    .category p{
      color:#ffffff !important;
    }
    .category p{
      text-shadow:0 1px 2px rgba(0,0,0,.22);
    }

  
    .eyebrow{
      color:#d7f06a !important;
      background:transparent !important;
      border:0 !important;
      box-shadow:none !important;
      padding:0 !important;
      border-radius:0 !important;
      text-shadow:0 2px 6px rgba(0,0,0,.45);
      max-width:100%;
      white-space:normal;
    }
    .eyebrow::before{
      background:#d7f06a !important;
      flex:0 0 42px;
    }

    @media (max-width:620px){
      .hero{
        min-height:auto;
        padding:112px 16px 38px;
        align-items:flex-start;
      }

      .hero-grid{
        gap:28px;
      }

      .eyebrow{
        font-size:11px;
        line-height:1.25;
        letter-spacing:.10em;
        margin-bottom:18px;
        display:flex;
        align-items:center;
      }

      .eyebrow::before{
        width:34px;
        flex-basis:34px;
      }

      h1{
        font-size:clamp(38px, 12.4vw, 54px);
        line-height:.92;
        letter-spacing:-.075em;
        max-width:92vw;
      }

      .hero-copy{
        font-size:16px;
        line-height:1.55;
        margin-top:22px;
        max-width:92vw;
      }

      .hero-card{
        margin-top:4px;
        padding:22px;
        border-radius:26px;
        background:rgba(255,255,255,.90);
      }

      .hero-card h2{
        font-size:28px;
        line-height:1.05;
      }

      .searchbar input,
      .searchbar select{
        font-size:15px;
        padding:14px 16px;
      }

      .stats{
        grid-template-columns:repeat(3,1fr);
        gap:8px;
      }

      .stat strong{
        font-size:24px;
      }

      .stat span{
        font-size:12px;
      }
    }

    @media (max-width:430px){
      h1{
        font-size:clamp(34px, 11.3vw, 46px);
      }

      .hero{
        padding-top:108px;
      }

      .hero-copy{
        font-size:15px;
      }

      .hero-card h2{
        font-size:25px;
      }
    }

    @media (max-width:360px){
      h1{
        font-size:36px;
      }

      .hero-card{
        padding:18px;
      }

      .stats{
        grid-template-columns:1fr;
      }
    }

  
    .art-logo{
      display:flex;
      align-items:center;
      width:300px;
      max-width:48vw;
      height:54px;
      flex:0 0 auto;
    }
    .art-logo-svg{
      width:100%;
      height:auto;
      display:block;
      overflow:visible;
    }
    .ticket-icon rect{
      fill:var(--green);
      stroke:#101713;
      stroke-width:14;
    }
    .ticket-icon circle{
      fill:#fff;
      stroke:none;
    }
    .ticket-icon path{
      fill:#fff;
      stroke:#101713;
      stroke-width:10;
      stroke-linejoin:round;
    }
    .art-word{
      fill:var(--green);
      font-size:76px;
      font-weight:950;
      letter-spacing:-5px;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .tickets-word{
      fill:#101713;
      font-size:76px;
      font-weight:950;
      letter-spacing:-5px;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .logo-mark{
      display:none;
    }

    .eyebrow{
      color:#d7f06a !important;
      background:transparent !important;
      border:0 !important;
      box-shadow:none !important;
      text-shadow:none !important;
    }
    .eyebrow::before{
      background:#d7f06a !important;
    }

    .site-footer{
      padding:0;
      display:block;
      border-top:0;
      color:#dfe7d8;
      background:
        radial-gradient(circle at 20% 10%, rgba(137,168,2,.22), transparent 28%),
        linear-gradient(135deg, #101713, #172019);
      font-size:15px;
    }
    .footer-inner{
      padding:70px 6vw 50px;
      display:grid;
      grid-template-columns:minmax(260px,.8fr) 1.2fr;
      gap:60px;
      align-items:start;
    }
    .footer-brand p{
      max-width:420px;
      color:rgba(255,255,255,.68);
      line-height:1.65;
      margin:18px 0 0;
    }
    .footer-logo{
      width:320px;
      max-width:100%;
      background:#fff;
      border-radius:999px;
      padding:8px 18px;
      height:auto;
    }
    .footer-columns{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:28px;
    }
    .footer-columns h3{
      margin:0 0 16px;
      color:#fff;
      font-size:16px;
      letter-spacing:-.02em;
    }
    .footer-columns a{
      display:block;
      color:rgba(255,255,255,.66);
      margin:10px 0;
      line-height:1.35;
    }
    .footer-columns a:hover{
      color:#d7f06a;
    }
    .footer-bottom{
      border-top:1px solid rgba(255,255,255,.12);
      padding:22px 6vw;
      display:flex;
      justify-content:space-between;
      gap:20px;
      color:rgba(255,255,255,.58);
      font-size:14px;
    }

    @media (max-width:980px){
      .footer-inner{
        grid-template-columns:1fr;
        gap:42px;
      }
    }
    @media (max-width:620px){
      .art-logo{
        width:285px;
        max-width:58vw;
      }
      .footer-columns{
        grid-template-columns:1fr;
      }
      .footer-bottom{
        display:grid;
        gap:8px;
      }
      .footer-logo{
        width:285px;
      }
    }
    @media (max-width:380px){
      .art-logo{
        width:230px;
      }
    }

  
    .nav a,
    .mobile-menu-panel a{
      position:relative;
    }
    .nav a.active{
      color:#101713;
      background:rgba(137,168,2,.18);
      padding:10px 14px;
      border-radius:999px;
      font-weight:850;
    }
    .mobile-menu-panel a.active:not(.btn){
      background:rgba(137,168,2,.18);
      color:#101713;
    }

  
    .info-modal{
      position:fixed;
      inset:0;
      z-index:7000;
      display:none;
      place-items:center;
      padding:18px;
      background:rgba(5,5,6,.42);
      backdrop-filter:blur(6px);
    }
    .info-modal.open{display:grid}
    .info-modal-card{
      width:min(760px,100%);
      max-height:82vh;
      overflow:auto;
      background:#fff;
      color:#101713;
      border-radius:28px;
      padding:32px;
      position:relative;
      box-shadow:0 30px 100px rgba(5,5,6,.24);
      outline:none;
    }
    .info-modal-close{
      position:absolute;
      top:16px;
      right:16px;
      width:40px;
      height:40px;
      border:0;
      border-radius:50%;
      background:#eef3e6;
      color:#101713;
      font-size:24px;
      line-height:1;
      cursor:pointer;
    }
    .info-modal-card h2{
      margin:0 48px 22px 0;
      font-size:clamp(30px,4vw,48px);
      line-height:.98;
      letter-spacing:-.06em;
    }
    .info-modal-content{
      color:#494c4f;
      line-height:1.72;
      font-size:16px;
    }
    .info-modal-content h3{
      color:#101713;
      margin:24px 0 8px;
      font-size:20px;
      line-height:1.15;
      letter-spacing:-.025em;
    }
    .info-modal-content p{margin:0 0 14px}
    .info-modal-content ul{
      margin:0 0 14px;
      padding-left:20px;
    }
    .info-modal-content a{
      color:var(--green-dark);
      font-weight:800;
      text-decoration:underline;
      text-underline-offset:3px;
    }
    .checkout-note{
      margin:14px 0 0;
      font-size:13px;
      line-height:1.45;
      color:var(--muted);
    }
    .checkout-note a{
      color:var(--green-dark);
      font-weight:800;
      text-decoration:underline;
      text-underline-offset:3px;
    }

    .cookie-mini{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:6500;
      display:none;
      align-items:center;
      gap:14px;
      max-width:min(560px,calc(100vw - 36px));
      padding:10px 10px 10px 16px;
      background:rgba(255,255,255,.96);
      border:1px solid rgba(5,5,6,.10);
      border-radius:999px;
      box-shadow:0 14px 45px rgba(5,5,6,.14);
      backdrop-filter:blur(12px);
    }
    .cookie-mini.show{display:flex}
    .cookie-mini p{
      margin:0;
      color:#494c4f;
      font-size:13px;
      line-height:1.35;
    }
    .cookie-mini a{
      color:var(--green-dark);
      font-weight:800;
      text-decoration:underline;
      text-underline-offset:3px;
    }
    .cookie-mini-actions{
      display:flex;
      gap:6px;
      flex:0 0 auto;
    }
    .cookie-link-btn,
    .cookie-ok-btn{
      border:0;
      cursor:pointer;
      border-radius:999px;
      padding:8px 12px;
      font-weight:850;
      font-size:13px;
      white-space:nowrap;
    }
    .cookie-link-btn{
      background:transparent;
      color:#5f6367;
    }
    .cookie-ok-btn{
      background:var(--green);
      color:#101713;
    }

    @media (max-width:620px){
      .info-modal-card{
        padding:28px 22px;
        border-radius:24px;
      }
      .cookie-mini{
        left:12px;
        right:12px;
        bottom:12px;
        max-width:none;
        border-radius:22px;
        align-items:flex-start;
      }
      .cookie-mini-actions{
        margin-left:auto;
      }
    }

    @media (max-width:420px){
      .cookie-mini{
        display:none;
        flex-direction:column;
        align-items:stretch;
        padding:14px;
      }
      .cookie-mini.show{display:flex}
      .cookie-mini-actions{
        width:100%;
        margin-left:0;
        justify-content:flex-end;
      }
    }

  
    .cookie-mini{
      display:none !important;
    }
    .cookie-consent{
      position:fixed;
      left:18px;
      right:18px;
      bottom:18px;
      z-index:6500;
      display:none;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      max-width:980px;
      margin:0 auto;
      padding:18px 20px;
      background:rgba(255,255,255,.96);
      border:1px solid rgba(5,5,6,.10);
      border-radius:24px;
      box-shadow:0 22px 70px rgba(5,5,6,.16);
      backdrop-filter:blur(14px);
    }
    .cookie-consent.show{
      display:flex;
    }
    .cookie-consent-text{
      min-width:0;
    }
    .cookie-consent-text strong{
      display:block;
      color:#101713;
      font-size:17px;
      line-height:1.2;
      margin-bottom:5px;
      letter-spacing:-.02em;
    }
    .cookie-consent-text p{
      margin:0 0 6px;
      color:#494c4f;
      font-size:14px;
      line-height:1.45;
    }
    .cookie-consent-text a{
      color:var(--green-dark);
      font-size:13px;
      font-weight:850;
      text-decoration:underline;
      text-underline-offset:3px;
    }
    .cookie-consent-actions{
      display:flex;
      gap:10px;
      flex:0 0 auto;
      align-items:center;
    }
    .cookie-secondary-btn,
    .cookie-primary-btn{
      border:0;
      cursor:pointer;
      border-radius:999px;
      padding:11px 16px;
      font-weight:850;
      font-size:14px;
      white-space:nowrap;
    }
    .cookie-secondary-btn{
      background:#eef3e6;
      color:#101713;
    }
    .cookie-primary-btn{
      background:var(--green);
      color:#101713;
      box-shadow:0 10px 24px rgba(137,168,2,.22);
    }
    .cookie-secondary-btn:hover,
    .cookie-primary-btn:hover{
      transform:translateY(-1px);
    }

    @media (max-width:720px){
      .cookie-consent{
        left:12px;
        right:12px;
        bottom:12px;
        align-items:stretch;
        flex-direction:column;
        gap:14px;
        padding:16px;
        border-radius:22px;
      }
      .cookie-consent-actions{
        width:100%;
        justify-content:flex-end;
      }
      .cookie-secondary-btn,
      .cookie-primary-btn{
        flex:1;
      }
    }

    @media (max-width:380px){
      .cookie-consent-actions{
        flex-direction:column-reverse;
      }
      .cookie-secondary-btn,
      .cookie-primary-btn{
        width:100%;
      }
    }

  
    .cookie-consent{
      left:0 !important;
      right:0 !important;
      bottom:0 !important;
      max-width:none !important;
      width:100% !important;
      margin:0 !important;
      border-radius:22px 22px 0 0 !important;
      border-left:0 !important;
      border-right:0 !important;
      border-bottom:0 !important;
      padding:14px 6vw !important;
      min-height:78px;
      box-shadow:0 -18px 55px rgba(5,5,6,.13) !important;
      transform:translateY(110%);
      opacity:0;
      transition:transform .34s ease, opacity .28s ease;
    }
    .cookie-consent.show{
      display:flex !important;
      transform:translateY(0);
      opacity:1;
    }
    .cookie-consent-text{
      display:grid;
      grid-template-columns:auto 1fr;
      column-gap:14px;
      row-gap:2px;
      align-items:baseline;
      max-width:860px;
    }
    .cookie-consent-text strong{
      margin:0 !important;
      font-size:16px !important;
      white-space:nowrap;
    }
    .cookie-consent-text p{
      margin:0 !important;
      font-size:13px !important;
      line-height:1.4 !important;
    }
    .cookie-consent-text a{
      grid-column:2;
      font-size:12px !important;
      width:max-content;
    }
    .cookie-consent-actions{
      margin-left:auto;
    }
    .cookie-secondary-btn,
    .cookie-primary-btn{
      padding:9px 14px !important;
      font-size:13px !important;
    }

    @media (max-width:720px){
      .cookie-consent{
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        padding:14px 16px !important;
        border-radius:20px 20px 0 0 !important;
        gap:12px !important;
      }
      .cookie-consent-text{
        display:block;
      }
      .cookie-consent-text strong{
        display:block;
        margin-bottom:4px !important;
      }
      .cookie-consent-text p{
        margin-bottom:5px !important;
      }
      .cookie-consent-actions{
        display:flex;
        gap:8px;
        width:auto;
        justify-content:flex-end;
        margin-left:0;
      }
      .cookie-secondary-btn,
      .cookie-primary-btn{
        flex:0 0 auto !important;
      }
    }

    @media (max-width:420px){
      .cookie-consent{
        padding:13px 14px !important;
      }
      .cookie-consent-actions{
        width:100%;
        justify-content:stretch;
      }
      .cookie-secondary-btn,
      .cookie-primary-btn{
        flex:1 1 0 !important;
      }
    }

  
    .cookie-consent{
      border-radius:0 !important;
    }
    .cookie-primary-btn{
      background:#101713 !important;
      color:#ffffff !important;
      box-shadow:none !important;
    }
    .cookie-primary-btn:hover{
      background:#000000 !important;
    }


    .info-modal-content .policy-content{
      color:#494c4f;
      line-height:1.72;
    }
    .info-modal-content .policy-content .last-updated{
      color:var(--muted);
      font-size:15px;
      margin:0 0 24px;
    }
    .info-modal-content .policy-content .policy-section{
      padding-top:18px;
      margin-top:18px;
      border-top:1px solid var(--line);
    }
    .info-modal-content .policy-content h2{
      color:#101713;
      margin:0 0 10px;
      font-size:22px;
      line-height:1.2;
      letter-spacing:-.03em;
      max-width:none;
    }
    .info-modal-content .policy-content h3{
      color:#101713;
      margin:18px 0 8px;
      font-size:18px;
      line-height:1.25;
      letter-spacing:-.02em;
    }
    .info-modal-content .policy-content ul{
      margin:0 0 14px;
      padding-left:22px;
    }
    .info-modal-content .policy-content li{
      margin:0 0 7px;
    }

    .info-modal-card{
      width:min(900px,100%) !important;
      max-height:88vh !important;
      border-radius:0 !important;
      padding:40px 46px !important;
    }

    .info-modal-card h2{
      font-size:34px !important;
      line-height:1.15 !important;
      letter-spacing:-.03em !important;
      margin:0 48px 28px 0 !important;
      max-width:none !important;
    }

    .info-modal-content{
      color:#050506 !important;
      font-size:21px !important;
      line-height:1.6 !important;
    }

    .info-modal-content p{
      margin:0 0 24px !important;
    }

    .info-modal-content h3{
      color:#050506 !important;
      font-size:27px !important;
      line-height:1.25 !important;
      letter-spacing:-.03em !important;
      margin:40px 0 20px !important;
      padding-top:34px !important;
      border-top:1px solid #d7ddd8 !important;
    }

    .info-modal-content h3:first-of-type{
      margin-top:36px !important;
    }

    .info-modal-content ul{
      margin:0 0 26px !important;
      padding-left:24px !important;
    }

    .info-modal-content li{
      margin:0 0 8px !important;
    }

    .info-modal-content strong{
      font-weight:800 !important;
    }

    .info-modal-content a{
      color:#050506 !important;
      font-weight:800 !important;
      text-decoration:none !important;
    }

    @media (max-width:620px){
      .info-modal-card{
        padding:32px 28px !important;
      }

      .info-modal-content{
        font-size:18px !important;
        line-height:1.6 !important;
      }

      .info-modal-content h3{
        font-size:23px !important;
      }
    }


    .modal-card,
    .info-modal-card{
      border-radius:28px !important;
    }

    .info-modal-card{
      width:min(900px,100%) !important;
      max-height:86vh !important;
      padding:34px 38px !important;
    }

    .info-modal-card h2{
      font-size:clamp(28px,3.2vw,40px) !important;
      line-height:1.12 !important;
      letter-spacing:-.04em !important;
      margin:0 52px 24px 0 !important;
    }

    .info-modal-content{
      font-size:16px !important;
      line-height:1.7 !important;
      color:#494c4f !important;
    }

    .info-modal-content p{
      margin:0 0 14px !important;
    }

    .info-modal-content h3{
      color:#101713 !important;
      font-size:21px !important;
      line-height:1.25 !important;
      letter-spacing:-.025em !important;
      margin:28px 0 10px !important;
      padding-top:22px !important;
      border-top:1px solid var(--line) !important;
    }

    .info-modal-content h4{
      color:#101713 !important;
      font-size:18px !important;
      line-height:1.28 !important;
      letter-spacing:-.015em !important;
      margin:20px 0 8px !important;
      padding:0 !important;
      border:0 !important;
    }

    .info-modal-content ul{
      margin:0 0 16px !important;
      padding-left:22px !important;
    }

    .info-modal-content li{
      margin:0 0 6px !important;
    }

    .info-modal-content .last-updated{
      font-size:14px !important;
      color:var(--muted) !important;
      margin:0 0 20px !important;
    }

    .info-modal-content a{
      color:var(--green-dark) !important;
      font-weight:800 !important;
      text-decoration:underline !important;
      text-underline-offset:3px !important;
    }

    @media (max-width:620px){
      .info-modal-card{
        border-radius:24px !important;
        padding:28px 22px !important;
      }

      .info-modal-content{
        font-size:15px !important;
        line-height:1.65 !important;
      }

      .info-modal-content h3{
        font-size:19px !important;
      }

      .info-modal-content h4{
        font-size:17px !important;
      }
    }


    .info-modal{
      padding:18px !important;
      overflow:hidden !important;
    }

    .info-modal-card{
      width:min(900px, calc(100vw - 36px)) !important;
      max-height:min(86vh, 860px) !important;
      border-radius:28px !important;
      padding:0 !important;
      overflow:hidden !important;
      display:flex !important;
      flex-direction:column !important;
      background:#ffffff !important;
    }

    #infoModalTitle{
      flex:0 0 auto !important;
      margin:0 !important;
      padding:34px 72px 18px 38px !important;
      font-size:clamp(26px, 3vw, 36px) !important;
      line-height:1.15 !important;
      letter-spacing:-.035em !important;
      max-width:none !important;
      border:0 !important;
    }

    .info-modal-close{
      position:absolute !important;
      top:20px !important;
      right:20px !important;
      z-index:2 !important;
    }

    .info-modal-content{
      flex:1 1 auto !important;
      min-height:0 !important;
      overflow-y:auto !important;
      overflow-x:hidden !important;
      padding:0 38px 34px !important;
      font-size:16px !important;
      line-height:1.7 !important;
      color:#494c4f !important;
      scrollbar-gutter:stable !important;
    }

    .info-modal-content p{
      margin:0 0 14px !important;
    }

    .info-modal-content ul{
      margin:0 0 16px !important;
      padding-left:22px !important;
    }

    .info-modal-content li{
      margin:0 0 6px !important;
    }

    .info-modal-content h3,
    .info-modal-content .policy-content h3{
      color:#101713 !important;
      font-size:21px !important;
      line-height:1.25 !important;
      letter-spacing:-.025em !important;
      margin:28px 0 10px !important;
      padding-top:22px !important;
      border-top:1px solid var(--line) !important;
    }

    .info-modal-content h4,
    .info-modal-content .policy-content h4{
      color:#101713 !important;
      font-size:18px !important;
      line-height:1.28 !important;
      letter-spacing:-.015em !important;
      margin:20px 0 8px !important;
      padding:0 !important;
      border:0 !important;
    }

    .info-modal-content .policy-content h2{
      color:#101713 !important;
      font-size:21px !important;
      line-height:1.25 !important;
      letter-spacing:-.025em !important;
      margin:28px 0 10px !important;
      padding-top:22px !important;
      border-top:1px solid var(--line) !important;
      max-width:none !important;
    }

    .info-modal-content .last-updated{
      font-size:14px !important;
      color:var(--muted) !important;
      margin:0 0 20px !important;
    }

    .info-modal-content a{
      color:var(--green-dark) !important;
      font-weight:800 !important;
      text-decoration:underline !important;
      text-underline-offset:3px !important;
    }

    .info-modal-content .policy-content a:not([href^="mailto:"]):not([href^="tel:"]){
      color:inherit !important;
      font-weight:inherit !important;
      text-decoration:none !important;
    }

    @media (max-width:620px){
      .info-modal{
        padding:12px !important;
      }

      .info-modal-card{
        width:calc(100vw - 24px) !important;
        max-height:88vh !important;
        border-radius:24px !important;
      }

      #infoModalTitle{
        padding:28px 62px 16px 22px !important;
        font-size:26px !important;
      }

      .info-modal-content{
        padding:0 22px 28px !important;
        font-size:15px !important;
        line-height:1.65 !important;
      }

      .info-modal-content h3,
      .info-modal-content .policy-content h2,
      .info-modal-content .policy-content h3{
        font-size:19px !important;
      }
    }


    .info-modal-content .policy-content .policy-section{
  border-top:1px solid var(--line) !important;
  padding-top:22px !important;
  margin-top:28px !important;
}

.info-modal-content .policy-content .policy-section h2{
  border-top:0 !important;
  padding-top:0 !important;
  margin-top:0 !important;
}

  

    /* Typography */
h1, h2, h3, h4,
    .event-title,
    .section-head h2,
    .feature h2,
    .newsletter h2,
    .step h3,
    .modal-card h3,
    #infoModalTitle{
      color:#003859 !important;
    }

    .site-header{
      background:rgba(255,255,255,.96) !important;
      border-color:rgba(0,56,89,.12) !important;
      color:#003859 !important;
    }

    .nav,
    .mobile-menu-panel,
    .mobile-menu-panel a{
      color:#003859 !important;
    }

    .nav a:hover,
    .footer-columns a:hover,
    .info-modal-content a,
    .checkout-note a,
    .cookie-consent-text a{
      color:#1D4771 !important;
    }

    /* Buttons */
    .btn,
    .site-header .btn-light,
    .btn-dark,
    .cookie-ok-btn,
    .cookie-primary-btn,
    .newsletter .btn,
    .hero-card .btn,
    .feature .btn,
    .event-foot .btn{
      background:#003859 !important;
      color:#FFFFFF !important;
      box-shadow:0 12px 28px rgba(0,56,89,.18) !important;
    }

    .btn:hover,
    .site-header .btn-light:hover,
    .btn-dark:hover,
    .cookie-primary-btn:hover,
    .newsletter .btn:hover,
    .hero-card .btn:hover,
    .feature .btn:hover,
    .event-foot .btn:hover{
      background:#1D4771 !important;
      color:#FFFFFF !important;
    }

    /* Accents */
    .section-kicker,
    .eyebrow,
    .date-badge span,
    .price,
    .ticket-code{
      color:#003859 !important;
    }

    .section-kicker,
    .eyebrow{
      display:inline-flex !important;
      align-items:center !important;
      width:max-content !important;
      max-width:100% !important;
      background:#FFC750 !important;
      border-radius:999px !important;
      padding:8px 14px !important;
      text-shadow:none !important;
      box-shadow:0 10px 24px rgba(255,199,80,.20) !important;
    }

    .eyebrow::before,
    .section-kicker::before{
      background:#003859 !important;
    }

    .step-number,
    .tag,
    .nav a.active,
    .mobile-menu-panel a.active:not(.btn),
    .filter:hover,
    .info-modal-close,
    .cookie-secondary-btn{
      background:#FFC750 !important;
      color:#003859 !important;
      border-color:#FFC750 !important;
    }

    .filter.active{
      background:#003859 !important;
      color:#FFFFFF !important;
      border-color:#003859 !important;
    }

    .tag{
      box-shadow:0 10px 24px rgba(255,199,80,.22) !important;
      backdrop-filter:none !important;
    }

    .date-badge{
      background:#FFC750 !important;
      color:#003859 !important;
      box-shadow:0 12px 28px rgba(255,199,80,.24) !important;
    }

    .date-badge strong,
    .date-badge span{
      color:#003859 !important;
    }

    .price{
      background:#FFC750 !important;
      color:#003859 !important;
      border-radius:999px !important;
      padding:8px 13px !important;
      display:inline-flex !important;
      align-items:center !important;
      justify-content:center !important;
      line-height:1 !important;
    }

    .hero{
      background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.90)),
        radial-gradient(circle at 72% 36%, rgba(255,199,80,.28), transparent 32%),
        url("https://images.unsplash.com/photo-1501281668745-f7f57925c3b4?auto=format&fit=crop&w=1800&q=80") center/cover no-repeat !important;
      color:#003859 !important;
    }

    .hero::after{
      color:rgba(0,56,89,.055) !important;
    }

    .hero-card,
    .event-card,
    .step,
    .timebox,
    .newsletter,
    .modal-card,
    .info-modal-card{
      border-color:#E4EAF0 !important;
    }

    .hero-card,
    .event-card,
    .step,
    .timebox,
    .modal-card,
    .info-modal-card{
      background:#FFFFFF !important;
    }

    .newsletter{
      background:
        radial-gradient(circle at top right, rgba(255,199,80,.30), transparent 38%),
        #F7FAFC !important;
      color:#003859 !important;
    }

    .newsletter p,
    .feature p,
    .section-head p,
    .hero-copy,
    .meta,
    .step p,
    .footer-brand p{
      color:#587083 !important;
    }

    .site-footer{
      background:
        radial-gradient(circle at 20% 10%, rgba(255,199,80,.22), transparent 28%),
        linear-gradient(135deg,#003859,#1D4771) !important;
      color:#FFFFFF !important;
    }

    .footer-columns h3{
      color:#FFFFFF !important;
    }

    .footer-columns a,
    .footer-bottom,
    .footer-brand p{
      color:rgba(255,255,255,.72) !important;
    }

    .footer-columns a:hover{
      color:#FFC750 !important;
    }

    .footer-logo{
      background:#FFFFFF !important;
    }

    .ticket-icon rect{
      fill:#FFC750 !important;
      stroke:#003859 !important;
    }

    .ticket-icon path{
      fill:#FFFFFF !important;
      stroke:#003859 !important;
    }

    .art-word,
    .footer-logo .art-word{
      fill:#F59E0B !important;
    }

    .tickets-word,
    .footer-logo .tickets-word{
      fill:#003859 !important;
    }

    .category{
      background:linear-gradient(135deg,#003859,#1D4771) !important;
    }

    .category:nth-child(2){
      background:linear-gradient(135deg,#1D4771,#003859) !important;
    }

    .category:nth-child(3){
      background:linear-gradient(135deg,#003859,#295A86) !important;
    }

    .category:nth-child(4){
      background:linear-gradient(135deg,#1B3348,#003859) !important;
    }

    .category::after{
      background:rgba(255,199,80,.22) !important;
    }

    .burger{
      background:#FFC750 !important;
      border-color:#FFC750 !important;
    }

    .burger span{
      background:#003859 !important;
    }

    .cookie-consent{
      background:#FFFFFF !important;
      border-top:1px solid #E4EAF0 !important;
    }

    .cookie-consent-text strong{
      color:#003859 !important;
    }

    .cookie-consent-text p{
      color:#587083 !important;
    }

    .info-modal-content,
    .info-modal-content p,
    .info-modal-content li{
      color:#354E63 !important;
    }

    .info-modal-content h2,
    .info-modal-content h3,
    .info-modal-content h4,
    .info-modal-content .policy-content h2,
    .info-modal-content .policy-content h3{
      color:#003859 !important;
    }

    @media (max-width:620px){
      .section-kicker,
      .eyebrow{
        padding:7px 12px !important;
        width:fit-content !important;
      }
    }

    .gr-word,
    .footer-logo .gr-word{
      fill:#003859 !important;
      font-size:76px;
      font-weight:900;
      letter-spacing:-1px;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }


    .dot-word,
    .footer-logo .dot-word{
      fill:#003859 !important;
      font-size:76px;
      font-weight:900;
      letter-spacing:1px;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .gr-only-word,
    .footer-logo .gr-only-word{
      fill:#003859 !important;
      font-size:76px;
      font-weight:900;
      letter-spacing:-1px;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }


    .domain-word,
    .footer-logo .domain-word{
      fill:#003859 !important;
      font-size:76px;
      font-weight:950;
      letter-spacing:1px;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }


    .art-logo{
      display:flex !important;
      align-items:center !important;
      justify-content:flex-start !important;
      width:300px !important;
      max-width:48vw !important;
      height:54px !important;
      min-width:230px !important;
      overflow:visible !important;
      flex:0 0 auto !important;
    }

    .art-logo-svg{
      display:block !important;
      width:100% !important;
      height:auto !important;
      max-height:54px !important;
      overflow:visible !important;
      flex:0 0 auto !important;
    }

    .footer-logo{
      width:320px !important;
      max-width:100% !important;
      height:auto !important;
      min-width:0 !important;
    }

    .footer-logo .art-logo-svg{
      max-height:none !important;
    }

    .domain-word,
    .footer-logo .domain-word{
      fill:#003859 !important;
      font-size:76px !important;
      font-weight:950 !important;
      letter-spacing:1px !important;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    }

    @media (max-width:620px){
      .art-logo{
        width:285px !important;
        min-width:0 !important;
        max-width:58vw !important;
      }

      .footer-logo{
        width:285px !important;
      }
    }

    @media (max-width:380px){
      .art-logo{
        width:230px !important;
        max-width:58vw !important;
      }
    }



/*    Event page compatibility */


body.event-page{
  background:#FFFFFF !important;
  color:var(--at-blue) !important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  overflow-x:hidden;
}

body.event-page main{
  padding-top:116px;
  background:
    radial-gradient(circle at 80% 4%, rgba(255,199,80,.20), transparent 28%),
    linear-gradient(180deg,#fff 0%,#F7FAFC 100%);
}

body.event-page .wrapper.event{
  padding:42px 0 96px;
}

body.event-page .container{
  width:min(1200px, calc(100% - 32px));
  margin-inline:auto;
}

body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap)) .container{
  width:min(1200px, calc(100% - 32px)) !important;
  max-width:1200px !important;
}

@media (min-width:992px){
  body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap))
  .wrapper.event > .container > .row > .col-12.col-lg-10.offset-lg-1{
    flex:0 0 100% !important;
    max-width:100% !important;
    margin-left:0 !important;
  }
}

body.event-page .row{
  display:flex;
  flex-wrap:wrap;
  margin-inline:-12px;
}

body.event-page .row>*{
  padding-inline:12px;
}

body.event-page .col-12{
  flex:0 0 100%;
  max-width:100%;
}

body.event-page .col-lg-10,
body.event-page .col-lg-9,
body.event-page .col-lg-7,
body.event-page .col-lg-3,
body.event-page .col-lg-2{
  flex:0 0 100%;
  max-width:100%;
}

body.event-page .offset-lg-1{margin-left:0;}

body.event-page .align-items-center{align-items:center;}
body.event-page .g-2{row-gap:.75rem;}
body.event-page .d-flex{display:flex;}
body.event-page .d-grid{display:grid;}
body.event-page .gap-2{gap:.5rem;}
body.event-page .text-center{text-align:center;}
body.event-page .text-lg-start{text-align:left;}
body.event-page .mx-auto{margin-left:auto;margin-right:auto;}
body.event-page .my-2{margin-top:.5rem;margin-bottom:.5rem;}
body.event-page .mt-3{margin-top:1rem;}
body.event-page .my-3{margin-top:1rem;margin-bottom:1rem;}
body.event-page .mt-4{margin-top:1.5rem;}
body.event-page .mb-0{margin-bottom:0!important;}
body.event-page .mb-1{margin-bottom:.25rem!important;}
body.event-page .mb-2{margin-bottom:.5rem!important;}
body.event-page .mb-3{margin-bottom:1rem!important;}
body.event-page .py-2{padding-top:.5rem!important;padding-bottom:.5rem!important;}
body.event-page .lh-1{line-height:1;}
body.event-page .rounded-pill{border-radius:999px!important;}
body.event-page .shadow{box-shadow:var(--at-shadow)!important;}
body.event-page .border-0{border:0!important;}
body.event-page .bg-light{background:#F7FAFC!important;}
body.event-page .lead{font-size:1.14rem;font-weight:500;color:var(--at-muted)!important;}
body.event-page .text-success{color:#047857!important;}

@media (min-width:992px){
  body.event-page .col-lg-10{flex:0 0 83.333%;max-width:83.333%;}
  body.event-page .col-lg-9{flex:0 0 75%;max-width:75%;}
  body.event-page .col-lg-7{flex:0 0 58.333%;max-width:58.333%;}
  body.event-page .col-lg-3{flex:0 0 25%;max-width:25%;}
  body.event-page .col-lg-2{flex:0 0 16.666%;max-width:16.666%;}
  body.event-page .offset-lg-1{margin-left:8.333%;}
  body.event-page .mt-lg-0{margin-top:0!important;}
  body.event-page .text-lg-start{text-align:left!important;}
}

body.event-page .card{
  background:#fff;
  border:1px solid var(--at-line)!important;
  border-radius:var(--at-radius)!important;
  overflow:hidden;
  box-shadow:0 18px 55px rgba(0,56,89,.08)!important;
}

body.event-page .card-body{
  padding:28px;
}

body.event-page .card-img-top{
  width:100%;
  max-height:520px;
  object-fit:cover;
}

body.event-page .event > .container > .row > .col-12 > .card:first-child{
  border-radius:36px!important;
}

body.event-page .event > .container > .row > .col-12 > .card:first-child .card-body{
  padding:34px;
}

body.event-page .event h1,
body.event-page .event .h1,
body.event-page .event .h2,
body.event-page .event .h3,
body.event-page .event h2,
body.event-page .event h3,
body.event-page .event .card-title{
  color:var(--at-blue)!important;
  font-weight:900!important;
  letter-spacing:-.045em;
  line-height:1.05;
}

body.event-page .event h1.h3{
  font-size:clamp(24px,4.8vw,62px)!important;
  margin:1rem 0 .5rem!important;
}

body.event-page .event h3.h5,
body.event-page .event .h5{
  font-size:22px!important;
  line-height:1.15;
}

body.event-page .event p{
  color:#354E63;
  line-height:1.65;
}

body.event-page .svg-icon{
  width:22px;
  height:22px;
  display:inline-flex;
  color:var(--at-blue);
  flex:0 0 auto;
}

body.event-page .svg-icon svg{
  width:22px;
  height:22px;
}

body.event-page .event > .container > .row > .col-12 > .card:first-child .card-body > .row:first-child > .col-12:first-child > p.mb-0:first-child{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  align-items:center !important;
  background:var(--at-accent) !important;
  color:var(--at-blue) !important;
  border-radius:999px !important;
  padding:8px 14px !important;
  font-weight:850 !important;
  box-shadow:0 10px 24px rgba(255,199,80,.20) !important;
}

body.event-page .event .card.bg-light > .card-body > .card-title,
body.event-page .event .card.bg-light h3.card-title{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  align-items:center !important;
  background:var(--at-accent) !important;
  color:var(--at-blue) !important;
  border-radius:999px !important;
  padding:8px 16px !important;
  font-weight:900 !important;
  box-shadow:0 10px 24px rgba(255,199,80,.20) !important;
}

body.event-page .event .card.bg-light{
  background:#F7FAFC!important;
  border-radius:34px!important;
  padding:2px;
}

body.event-page .event .card.bg-light > .card-body{
  padding:30px;
}

body.event-page .event .card.bg-light .card{
  border-radius:24px!important;
  background:#fff!important;
  transition:.2s ease;
}

body.event-page .event .card.bg-light .card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 60px rgba(0,56,89,.12)!important;
}

body.event-page .event .card.bg-light .card .card-body{
  padding:22px;
}

body.event-page .event .card.bg-light .card .card-body > .row:first-child > .col-12:first-child > p.mb-0:first-child{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:0 !important;
  background:transparent !important;
  color:var(--at-blue) !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  text-align:center !important;
  line-height:1.25 !important;
  white-space:normal !important;
  font-size:16px !important;
  font-weight:400 !important;
}

body.event-page .event .card.bg-light .card .card-body > .row:first-child > .col-12:first-child > p.mb-0:first-child br{
  display:block !important;
}

body.event-page .stretched-link{
  position:relative;
}

body.event-page .event .btn,
body.event-page .btn.btn-dark,
body.event-page .btn.btn-light{
  border:0!important;
  border-radius:999px!important;
  background:var(--at-blue)!important;
  color:#fff!important;
  font-weight:850!important;
  box-shadow:0 12px 28px rgba(0,56,89,.18)!important;
}

body.event-page .event .btn:hover,
body.event-page .btn.btn-dark:hover,
body.event-page .btn.btn-light:hover{
  background:var(--at-blue-soft)!important;
  color:#fff!important;
}

body.event-page .btn-outline-dark{
  background:#fff!important;
  color:var(--at-blue)!important;
  border:1px solid var(--at-line)!important;
  box-shadow:none!important;
}

body.event-page .btn-outline-dark:hover{
  background:var(--at-accent)!important;
  color:var(--at-blue)!important;
  border-color:var(--at-accent)!important;
}

body.event-page .btn-secondary{
  background:#E8EDF2!important;
  color:var(--at-blue)!important;
  box-shadow:none!important;
}

body.event-page .modal{
  position:fixed;
  inset:0;
  z-index:6000;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,56,89,.52);
  padding:20px;
}

body.event-page .modal.show{
  display:flex!important;
}

body.event-page .modal-dialog{
  width:min(900px,100%);
  margin:auto;
}

body.event-page .modal-content{
  background:#fff;
  border-radius:28px;
  border:0;
  box-shadow:0 30px 100px rgba(0,56,89,.24);
  max-height:86vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

body.event-page .modal-header,
body.event-page .modal-footer{
  padding:24px 28px;
  border-color:var(--at-line)!important;
}

body.event-page .modal-body{
  padding:0 28px 28px;
  overflow-y:auto;
  line-height:1.7;
  color:#354E63;
}

body.event-page .modal-title{
  color:var(--at-blue)!important;
  font-weight:900!important;
  letter-spacing:-.025em;
}

body.event-page .modal .btn-close{
  position:relative !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--at-accent) !important;
  color:var(--at-blue) !important;
  opacity:1 !important;
  cursor:pointer !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
  background-image:none !important;
}

body.event-page .modal .btn-close::before{
  content:"×" !important;
  display:block !important;
  color:var(--at-blue) !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:500 !important;
  transform:translateY(-1px);
}

body.event-page .modal .btn-close:hover{
  background:var(--at-accent-strong) !important;
  color:var(--at-blue) !important;
  transform:none !important;
}

@media (max-width:980px){
  body.event-page main{padding-top:92px;}
  body.event-page .wrapper.event{padding-top:28px;}
}

@media (max-width:620px){
  body.event-page .container{
    width:calc(100% - 16px) !important;
    max-width:none !important;
  }

  body.event-page .event > .container > .row > .col-12 > .card:first-child .card-body{
    padding:24px;
  }

  body.event-page .event > .container > .row > .col-12 > .card:first-child .card-body > .row:first-child > .col-12:first-child > p.mb-0:first-child{
    font-size:13px !important;
    line-height:1.15 !important;
    padding:6px 11px !important;
    border-radius:999px !important;
    letter-spacing:0 !important;
  }

  body.event-page .event .card.bg-light{
    border-radius:26px !important;
  }

  body.event-page .event .card.bg-light > .card-body{
    padding:22px 10px !important;
  }

  body.event-page .event .card.bg-light .card{
    width:100% !important;
    max-width:none !important;
    border-radius:24px !important;
  }

  body.event-page .event .card.bg-light .card .card-body{
    padding:24px 18px !important;
  }

  body.event-page .event .card.bg-light .card .row{
    margin-inline:0 !important;
  }

  body.event-page .event .card.bg-light .card .row > *{
    padding-inline:0 !important;
  }

  body.event-page .event .card.bg-light .card .col-12{
    width:100% !important;
    max-width:100% !important;
  }
}

@media (max-width:380px){
  body.event-page .container{
    width:calc(100% - 10px) !important;
  }

  body.event-page .event > .container > .row > .col-12 > .card:first-child .card-body > .row:first-child > .col-12:first-child > p.mb-0:first-child{
    font-size:12px !important;
    padding:5px 10px !important;
  }

  body.event-page .event .card.bg-light > .card-body{
    padding-left:6px !important;
    padding-right:6px !important;
  }

  body.event-page .event .card.bg-light .card .card-body{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

body.event-page .g-1{
  row-gap:8px !important;
}

body.event-page .g-3{
  row-gap:20px !important;
}

body.event-page .col-3{
  flex:0 0 25% !important;max-width:25% !important;
}

@media (min-width:992px){
  body.event-page .col-lg-8{
    flex:0 0 66.666667% !important;max-width:66.666667% !important;
  }

  body.event-page .col-lg-4{
    flex:0 0 33.333333% !important;max-width:33.333333% !important;
  }

  body.event-page .text-lg-end{
    text-align:right !important;
  }
}

body.event-page .flex-shrink-0{
  flex-shrink:0 !important;
}

body.event-page .flex-grow-1{
  flex-grow:1 !important;
}

body.event-page .fw-bold{
  font-weight:850 !important;
}

body.event-page .me-2{
  margin-right:.5rem !important;
}

body.event-page .me-3{
  margin-right:1rem !important;
}

body.event-page .ms-2{
  margin-left:.5rem !important;
}

body.event-page .pt-1{
  padding-top:.25rem !important;
}

body.event-page .border-top{
  border-top:1px solid var(--at-line) !important;
}

body.event-page .img-fluid{
  max-width:100% !important;height:auto !important;
}

body.event-page .h6{
  color:var(--at-blue) !important;
    font-weight:900 !important;
    letter-spacing:-.035em !important;
    line-height:1.12 !important;
}

body.event-page .h6{
  font-size:20px !important;margin:0 0 16px !important;
}

body.event-page .btn-sm{
  width:42px !important;
    height:42px !important;
    min-width:42px !important;
    padding:0 !important;
}

body.event-page .btn-sm svg{
  width:22px !important;
    height:22px !important;
}

body.event-page .image-wrap{
  margin-top:16px !important;
    padding-top:18px !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
}

body.event-page .image-inner{
  position:relative !important;
    width:100% !important;
    max-width:954px !important;
    margin-inline:auto !important;
    line-height:0 !important;
}

body.event-page .image-inner img{
  width:100% !important;
    height:auto !important;
    border-radius:16px !important;
    background:#fff !important;
}

body.event-page .overlay{
  position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:block !important;
}

body.event-page .overlay polygon{
  cursor:pointer !important;
    transition:fill-opacity .15s ease, stroke-width .15s ease !important;
    outline:none !important;
}

body.event-page .overlay polygon:hover,
body.event-page .overlay polygon:focus{
  fill-opacity:.50 !important;
    stroke-width:5 !important;
}

body.event-page .polygon-label{
  fill:var(--at-blue) !important;
    font-size:19px !important;
    font-weight:900 !important;
    text-anchor:middle !important;
    dominant-baseline:middle !important;
    pointer-events:none !important;
    paint-order:stroke !important;
    stroke:#fff !important;
    stroke-width:5px !important;
    stroke-linejoin:round !important;
}

body.event-page .list-group{
  list-style:none !important;
    padding:0 !important;
    margin:0 !important;
    display:grid !important;
    gap:10px !important;
    box-shadow:none !important;
}

body.event-page .list-group-item{
  list-style:none !important;
    margin:0 !important;
    padding:14px !important;
    border:1px solid var(--at-line) !important;
    border-radius:18px !important;
    background:#fff !important;
}

body.event-page .list-group-flush{
  margin-top:12px !important;
    gap:8px !important;
}

body.event-page .list-group-flush .list-group-item{
  background:var(--at-soft) !important;
    border-radius:14px !important;
    padding:12px !important;
}

body.event-page .section-colored{
  width:18px !important;
    height:18px !important;
    border-radius:6px !important;
    border:1px solid rgba(0,56,89,.16) !important;
}

body.event-page small .fw-bold,
body.event-page .fw-bold{
  color:var(--at-blue) !important;
}

body.event-page .text-warning{
  color:#B45309 !important;font-weight:800 !important;
}

body.event-page .list-group-flush .row{
  display:grid !important;
    grid-template-columns:1.1fr repeat(3,1fr) !important;
    gap:10px !important;
    margin:0 !important;
    align-items:center !important;
}

body.event-page .list-group-flush .row > *{
  padding:0 !important;
    max-width:none !important;
    width:auto !important;
}

body.event-page .list-group-flush .row .col-12{
  grid-column:1 / -1 !important;
    padding-top:2px !important;
}

@media (max-width:620px){
  body.event-page .h6{
    font-size:18px !important;
  }

  body.event-page .text-lg-end{
    text-align:left !important;margin-top:10px !important;
  }

  body.event-page .btn-sm{
    width:38px !important;height:38px !important;min-width:38px !important;
  }

  body.event-page .image-wrap{
    margin-left:-6px !important;margin-right:-6px !important;padding-inline:6px !important;
  }

  body.event-page .image-inner img{
    border-radius:12px !important;
  }

  body.event-page .polygon-label{
    font-size:22px !important;stroke-width:6px !important;
  }

  body.event-page .list-group{
    gap:8px !important;
  }

  body.event-page .list-group-item{
    padding:12px !important;border-radius:16px !important;
  }

  body.event-page .list-group-flush .row{
    grid-template-columns:1fr 1fr !important;gap:9px 12px !important;
  }

  body.event-page .list-group-flush .row .col-12{
    grid-column:1 / -1 !important;text-align:left !important;
  }

  body.event-page .section-colored{
    width:16px !important;height:16px !important;
  }
}

@media (max-width:380px){
  body.event-page .list-group-item{
    padding:10px !important;
  }
}


body.event-page .event .card-title + .d-flex.align-items-center.mb-2.lh-1{
  display:grid !important;
  grid-template-columns:22px minmax(0, 1fr) !important;
  column-gap:.5rem !important;
  align-items:center !important;
  line-height:1.25 !important;
}

body.event-page .event .card-title + .d-flex.align-items-center.mb-2.lh-1 > .svg-icon.me-2{
  width:22px !important;
  height:22px !important;
  margin-right:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  line-height:1 !important;
}

body.event-page .event .card-title + .d-flex.align-items-center.mb-2.lh-1 > .svg-icon.me-2 svg{
  display:block !important;
  width:22px !important;
  height:22px !important;
}

body.event-page .event .card-title + .d-flex.align-items-center.mb-2.lh-1 > p.mb-0{
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  line-height:1.25 !important;
  align-self:center !important;
  transform:none !important;
}

body.event-page .wrapper.event > .container > .row > .col-12.col-lg-4 > .card > .card-body{
  padding:20px !important;
}

body.event-page .wrapper.event .list-group-flush,
body.event-page .wrapper.event .list-group-flush > .list-group-item{
  border:0 !important;
}

body.event-page .wrapper.event .list-group-flush > .list-group-item{
  padding:0 !important;
  background:transparent !important;
}

body.event-page .wrapper.event .list-group-flush .row.g-1.align-items-center.lh-1{
  display:grid !important;
  grid-template-columns:1.08fr 1fr 1fr 1fr !important;
  column-gap:12px !important;
  row-gap:8px !important;
  align-items:start !important;
  margin:0 !important;
  line-height:1.22 !important;
}

body.event-page .wrapper.event .list-group-flush .row.g-1.align-items-center.lh-1 > [class*="col-"]{
  flex:initial !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  padding:0 !important;
}

body.event-page .wrapper.event .list-group-flush .row.g-1.align-items-center.lh-1 > .col-12{
  grid-column:1 / -1 !important;
  text-align:center !important;
  padding-top:8px !important;
}

body.event-page .wrapper.event .list-group-flush small{
  display:block !important;
  line-height:1.22 !important;
}

body.event-page .wrapper.event .list-group-flush small .fw-bold{
  display:inline-block !important;
  margin-top:2px !important;
}

@media (max-width:420px){
  body.event-page .wrapper.event .list-group-flush .row.g-1.align-items-center.lh-1{
    grid-template-columns:1.05fr 1fr 1fr 1fr !important;
    column-gap:8px !important;
  }

  body.event-page .wrapper.event .list-group-flush small{
    font-size:12px !important;
  }
}

body.event-page .justify-content-between{
  justify-content:space-between !important;
}

body.event-page .d-block{
  display:block !important;
}

body.event-page .border-top{
  border-top:1px solid var(--at-line) !important;
}

body.event-page .pt-3{
  padding-top:1rem !important;
}

body.event-page .btn-lg{
  width:100% !important;
  padding:14px 20px !important;
  font-size:16px !important;
}

body.event-page .disabled{
  opacity:.55 !important;
  pointer-events:none !important;
  cursor:not-allowed !important;
}

body.event-page .btn-group{
  display:inline-flex !important;
  align-items:center !important;
  border-radius:999px !important;
  overflow:hidden !important;
  border:1px solid var(--at-line) !important;
  background:#FFFFFF !important;
  box-shadow:0 12px 28px rgba(0,56,89,.10) !important;
}

body.event-page .btn-group .btn{
  border-radius:0 !important;
  box-shadow:none !important;
  min-width:44px !important;
  width:44px !important;
  height:42px !important;
  padding:0 !important;
}

body.event-page .btn-group .btn + .btn{
  border-left:1px solid rgba(255,255,255,.22) !important;
}

body.event-page .btn-group .btn svg{
  width:20px !important;
  height:20px !important;
}

body.event-page .col-4{
  flex:0 0 33.333333% !important;
  max-width:33.333333% !important;
}

@media (min-width:576px){
  body.event-page .col-sm-10{
    flex:0 0 83.333333% !important;
    max-width:83.333333% !important;
  }
}

body.event-page .form-floating{
  position:relative !important;
}

body.event-page .form-select,
body.event-page .form-control{
  width:100% !important;
  min-height:46px !important;
  border:1px solid var(--at-line) !important;
  border-radius:16px !important;
  background:#FFFFFF !important;
  color:var(--at-blue) !important;
  padding:13px 14px !important;
  outline:none !important;
  box-shadow:none !important;
}

body.event-page .form-select:focus,
body.event-page .form-control:focus{
  border-color:var(--at-accent) !important;
  box-shadow:0 0 0 4px rgba(255,199,80,.20) !important;
}

body.event-page .form-floating label{
  display:block !important;
  margin:8px 0 0 !important;
  color:var(--at-muted) !important;
  font-size:13px !important;
  line-height:1.2 !important;
}

/* Seat map card */
body.event-page #seatMap.seatmap{
  margin-top:12px !important;
}

body.event-page #seatMap.seatmap .image-inner{
  position:relative !important;
  overflow:auto !important;
  min-height:430px !important;
  background: #FFFFFF !important;
  border:1px solid var(--at-line) !important;
  border-radius:24px !important;
  padding:26px !important;
  -webkit-overflow-scrolling:touch !important;
}

body.event-page #seatmapContainer{
  position:relative !important;
  width:560px !important;
  height:420px !important;
  max-width:none !important;
  margin:0 auto !important;
  transform-origin:top left !important;
}

body.event-page #seatmapContainer .seat{
  border-radius:7px !important;
  border:1px solid rgba(0,56,89,.16) !important;
  box-shadow:0 4px 12px rgba(0,56,89,.08) !important;
  transition:transform .16s ease, box-shadow .16s ease, outline-color .16s ease !important;
  font-size:0 !important;
}

body.event-page #seatmapContainer .seat[data-status="A"]{
  cursor:pointer !important;
}

body.event-page #seatmapContainer .seat[data-status="A"]:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 8px 18px rgba(0,56,89,.18) !important;
  outline:2px solid rgba(255,199,80,.76) !important;
  outline-offset:2px !important;
}

body.event-page #seatmapContainer .seat[data-status="B"]{
  opacity:.62 !important;
  cursor:not-allowed !important;
}

/* Seatmap sidebar */
body.event-page #selectedSeatsForm .card .card-body,
body.event-page #selectedSeatsForm ~ .card .card-body{
  padding:20px !important;
}

body.event-page #selectedSeatsForm .card-title,
body.event-page #selectedSeatsForm ~ .card .card-title{
  margin-bottom:14px !important;
}

body.event-page #noSeatsMsg{
  padding:16px !important;
  border:1px dashed var(--at-line) !important;
  border-radius:18px !important;
  background:#F7FAFC !important;
  color:var(--at-muted) !important;
  text-align:center !important;
}

body.event-page #selectedSeatsList{
  display:grid !important;
  gap:8px !important;
}

body.event-page #nextStepButton{
  margin-top:4px !important;
}

body.event-page #selectedSeatsForm ~ .card .list-group{
  gap:10px !important;
}

body.event-page #selectedSeatsForm ~ .card .list-group > .list-group-item{
  padding:16px !important;
}

body.event-page #selectedSeatsForm ~ .card .list-group-flush > .list-group-item{
  padding:0 !important;
  border:0 !important;
}

body.event-page #selectedSeatsForm ~ .card .list-group-flush .row.g-1.align-items-center.lh-1{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  column-gap:14px !important;
  row-gap:8px !important;
  align-items:start !important;
  margin:0 !important;
  line-height:1.22 !important;
}

body.event-page #selectedSeatsForm ~ .card .list-group-flush .row.g-1.align-items-center.lh-1 > [class*="col-"]{
  flex:initial !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  padding:0 !important;
}

body.event-page #selectedSeatsForm ~ .card .list-group-flush small{
  display:block !important;
  line-height:1.22 !important;
}

@media (max-width:620px){
  body.event-page #seatMap.seatmap .image-inner{
    min-height:390px !important;
    padding:18px !important;
    border-radius:20px !important;
  }

  body.event-page #seatmapContainer{
    width:560px !important;
    height:410px !important;
    margin:0 !important;
  }

  body.event-page .btn-group .btn{
    width:42px !important;
    min-width:42px !important;
    height:40px !important;
  }

  body.event-page #selectedSeatsForm ~ .card .list-group-flush .row.g-1.align-items-center.lh-1{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    column-gap:10px !important;
  }

  body.event-page #selectedSeatsForm ~ .card .list-group-flush small{
    font-size:12px !important;
  }
}

@media (max-width:380px){
  body.event-page #seatMap.seatmap .image-inner{
    padding:14px !important;
  }

  body.event-page #selectedSeatsForm .card .card-body,
  body.event-page #selectedSeatsForm ~ .card .card-body{
    padding:18px !important;
  }
}


body.event-page:has(#myImage) .wrapper.event > .container > .row > .col-12.col-lg-4 > .card > .card-body{
  padding:20px !important;
}

body.event-page:has(#myImage) .wrapper.event .list-group-flush,
body.event-page:has(#myImage) .wrapper.event .list-group-flush > .list-group-item{
  border:0 !important;
}

body.event-page:has(#myImage) .wrapper.event .list-group-flush > .list-group-item{
  padding:0 !important;
  background:transparent !important;
}

body.event-page:has(#myImage) .wrapper.event .list-group-flush .row.g-1.align-items-center.lh-1{
  display:grid !important;
  grid-template-columns:1.08fr 1fr 1fr 1fr !important;
  column-gap:12px !important;
  row-gap:8px !important;
  align-items:start !important;
  margin:0 !important;
  line-height:1.22 !important;
}

body.event-page:has(#myImage) .wrapper.event .list-group-flush .row.g-1.align-items-center.lh-1 > [class*="col-"]{
  flex:initial !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  padding:0 !important;
}

body.event-page:has(#myImage) .wrapper.event .list-group-flush .row.g-1.align-items-center.lh-1 > .col-12{
  grid-column:1 / -1 !important;
  text-align:center !important;
  padding-top:8px !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm ~ .card > .card-body{
  padding:24px 26px 14px !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm ~ .card > .list-group{
  display:block !important;
  padding:0 26px 24px !important;
  margin:0 !important;
  gap:0 !important;
  box-shadow:none !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm ~ .card > .list-group > .list-group-item{
  padding:16px 0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm ~ .card > .list-group > .list-group-item + .list-group-item{
  border-top:1px solid var(--at-line) !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm ~ .card .list-group-flush{
  display:block !important;
  padding:0 !important;
  margin:12px 12px 25px !important;
  gap:0 !important;
  box-shadow:none !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm ~ .card .list-group-flush > .list-group-item{
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm ~ .card .list-group-flush .row.g-1.align-items-center.lh-1{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  column-gap:16px !important;
  row-gap:8px !important;
  align-items:start !important;
  margin:0 !important;
  line-height:1.25 !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm ~ .card .list-group-flush .row.g-1.align-items-center.lh-1 > [class*="col-"]{
  flex:initial !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  padding:0 !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm ~ .card .list-group-flush small{
  display:block !important;
  line-height:1.25 !important;
}

body.event-page:has(#seatMap) .wrapper.event > .container > .row > .col-12.col-lg-4 > .card > .card-body{
  padding:26px !important;
}

body.event-page:has(#seatMap) #selectedSeatsForm .card .card-body{
  padding:20px !important;
}

@media (max-width:620px){
  body.event-page:has(#seatMap) #selectedSeatsForm ~ .card > .card-body{
    padding:22px 22px 12px !important;
  }

  body.event-page:has(#seatMap) #selectedSeatsForm ~ .card > .list-group{
    padding:0 22px 22px !important;
  }

  body.event-page:has(#seatMap) #selectedSeatsForm ~ .card .list-group-flush .row.g-1.align-items-center.lh-1{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    column-gap:10px !important;
  }

  body.event-page:has(#seatMap) #selectedSeatsForm ~ .card .list-group-flush small{
    font-size:12px !important;
  }
}


body.event-page .col-lg-6{
  flex:0 0 100% !important;
  max-width:100% !important;
}

@media (min-width:992px){
  body.event-page .col-lg-6{
    flex:0 0 50% !important;
    max-width:50% !important;
  }
}

body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap)) .wrapper.event .card > .list-group{
  display:block !important;
  list-style:none !important;
  padding: 0px 0px 15px !important;
  margin:0 !important;
  gap:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap)) .wrapper.event .card > .list-group > .list-group-item{
  display:block !important;
  list-style:none !important;
  padding:18px 28px !important;
  margin:0 !important;
  border:0 !important;
  border-top:1px solid var(--at-line) !important;
  border-radius:0 !important;
  background:#FFFFFF !important;
}

body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap)) .wrapper.event .card > .list-group > .list-group-item:last-child{
  border-bottom:0 !important;
}

body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap)) .wrapper.event .card > .list-group .row{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:0 !important;
  margin-left:-12px !important;
  margin-right:-12px !important;
}

body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap)) .wrapper.event .card > .list-group .row > *{
  padding-left:12px !important;
  padding-right:12px !important;
  min-width:0 !important;
}

body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap)) .wrapper.event .card > .list-group small{
  display:inline !important;
  line-height:inherit !important;
  color:var(--at-muted) !important;
}

body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap)) .wrapper.event .card > .list-group p{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

@media (max-width:620px){
  body.event-page:has(#eventInfoModal):not(:has(#myImage)):not(:has(#seatMap)) .wrapper.event .card > .list-group > .list-group-item{
    padding:16px 22px !important;
  }
}

.hero-static-ticket .ticket-code{
  margin-bottom:14px;
}

.static-ticket-panel{
  display:grid;
  grid-template-columns:1fr 74px;
  align-items:stretch;
  margin:22px 0 20px;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
}

.static-ticket-main{
  padding:22px;
}

.static-ticket-main span{
  display:block;
  color:#D88A00;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.static-ticket-main strong{
  display:block;
  color:#003859;
  font-size:20px;
  line-height:1.18;
  letter-spacing:-.035em;
  margin-bottom:12px;
}

.static-ticket-main small{
  display:block;
  color:#587083;
  font-size:14px;
  line-height:1.35;
}

.static-ticket-side{
  display:grid;
  place-items:center;
  background:#FFC750;
  color:#003859;
  border-left:1px dashed rgba(0,56,89,.28);
}

.static-ticket-icon{
  width:38px;
  height:38px;
  display:block;
  color:#003859;
}

.hero-static-copy{
  color:#587083;
  font-size:15px;
  line-height:1.55;
  margin:0 0 22px;
}

/** MAIN PAGE EXTRA CSS **/

.nav a[href^="#"]:not(.btn){
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:10px 14px !important;
    border-radius:999px;
    background:transparent;
    color:#003859;
    font-weight:850;
    transition:background-color .22s ease, color .22s ease, box-shadow .22s ease;
  }

  .nav a[href^="#"]:not(.btn).active,
  .nav a[href^="#"]:not(.btn).active:hover{
    background:#FFC750 !important;
    color:#003859 !important;
    box-shadow:0 10px 24px rgba(255,199,80,.20);
  }

  .nav a[href^="#"]:not(.btn):hover{
    background:rgba(255,199,80,.18);
    color:#003859 !important;
  }

  .mobile-menu-panel a[href^="#"]:not(.btn){
    transition:background-color .22s ease, color .22s ease;
  }


  /* Homepage category cards: distinct colour panels */
  body:not(.event-page) #categories .categories .category{
    position:relative;
    overflow:hidden;
    border:0 !important;
    color:#fff !important;
    isolation:isolate;
  }

  body:not(.event-page) #categories .categories .category h3{
    color:#fff !important;
  }

  body:not(.event-page) #categories .categories .category p{
    color:rgba(255,255,255,.84) !important;
  }

  body:not(.event-page) #categories .categories .category::after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-38px;
    bottom:-42px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    z-index:-1;
  }

  body:not(.event-page) #categories .categories .category:nth-child(1){
    background:linear-gradient(135deg,#003859 0%,#1D4771 100%) !important;
  }

  body:not(.event-page) #categories .categories .category:nth-child(2){
    background:linear-gradient(135deg,#4B2A63 0%,#7A4D8F 100%) !important;
  }

  body:not(.event-page) #categories .categories .category:nth-child(3){
    background:linear-gradient(135deg,#8A4700 0%,#C06E14 100%) !important;
  }

  body:not(.event-page) #categories .categories .category:nth-child(4){
    background:linear-gradient(135deg,#075E63 0%,#0E8084 100%) !important;
  }

  body:not(.event-page) #categories .categories .category:nth-child(1)::after,
  body:not(.event-page) #categories .categories .category:nth-child(2)::after,
  body:not(.event-page) #categories .categories .category:nth-child(4)::after{
    background:rgba(255,199,80,.18);
  }

  body:not(.event-page) #categories .categories .category:nth-child(3)::after{
    background:rgba(255,255,255,.18);
  }

  /* Homepage event date badge: backend-filled text field — option 1 */
  body:not(.event-page) .events-grid .event-card .event-img{
    position:relative;
  }

  body:not(.event-page) .events-grid .event-card .date-badge{
    position:absolute;
    top:16px;
    left:16px;
    z-index:3;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto !important;
    height:auto !important;
    min-width:66px;
    min-height:44px;
    max-width:156px;
    padding:10px 14px 10px 16px;
    border-radius:18px;
    background:rgba(255,255,255,.94) !important;
    color:#003859 !important;
    border:1px solid rgba(0,56,89,.18);
    border-left:5px solid #FFC750;
    text-align:center;
    line-height:1.08;
    box-shadow:0 14px 30px rgba(0,56,89,.14);
    backdrop-filter:blur(8px);
  }

  body:not(.event-page) .events-grid .event-card .date-badge strong{
    display:block;
    color:#003859 !important;
    font-size:16px;
    font-weight:950;
    line-height:1.08;
    letter-spacing:-.02em;
    white-space:normal;
    overflow-wrap:break-word;
  }

  @media (max-width:620px){
    body:not(.event-page) .events-grid .event-card .date-badge{
      top:12px;
      left:12px;
      min-width:58px;
      min-height:40px;
      max-width:138px;
      padding:9px 12px 9px 14px;
      border-radius:15px;
    }

    body:not(.event-page) .events-grid .event-card .date-badge strong{
      font-size:15px;
    }
  }


/* ============================================================
   BOOTSTRAP 5 COMPATIBILITY LAYER — PART 2 (component classes)
   Bootstrap defines .btn / .btn-light / .btn-dark / .nav itself.
   These rules restore the site's original look & state behavior
   for those shared class names. Keep this block at the END of
   the file. (Hover colors are already enforced by the theme's
   !important hover block above, which still beats Bootstrap.)
   ============================================================ */

/* .nav: Bootstrap adds flex-wrap:wrap — original was nowrap */
.nav{flex-wrap:nowrap}

/* .btn: Bootstrap sets its own font metrics & inline-block layout */
.btn{
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  vertical-align:baseline;
  text-align:revert;
  user-select:auto;
  -webkit-user-select:auto;
}
.small-btn{font-size:14px}

/* Keyboard focus / pressed states: Bootstrap recolors buttons and
   adds a focus ring; originally these states kept the button's
   static colors and the browser's default focus outline. */
.btn:focus-visible,
.btn:active{
  color:#101713;
  background:var(--green);
  outline:revert;
  box-shadow:revert;
}
.btn-light:focus-visible,
.btn-light:active{color:#111;background:#fff}
.btn-dark:focus-visible,
.btn-dark:active{color:#fff;background:var(--dark)}
.site-header .btn-light:focus-visible,
.site-header .btn-light:active{color:#101713;background:var(--green)}
.mobile-menu-panel .btn:focus-visible,
.mobile-menu-panel .btn:active{color:#101713;background:var(--green)}
.hero-card .btn:focus-visible,
.hero-card .btn:active,
.newsletter .btn:focus-visible,
.newsletter .btn:active,
.feature .btn:focus-visible,
.feature .btn:active{box-shadow:0 10px 28px rgba(137,168,2,.22)}
/* ===================== end compat part 2 ==================== */

/* Mobile menu "Εισιτήρια" button: white text on the brand blue,
   matching the ticket buttons on the event cards. Lighter blue on
   hover, same as the rest of the site's button hover state. */
.mobile-menu-panel a.btn{
  background:#003859 !important;
  color:#FFFFFF !important;
  box-shadow:0 12px 28px rgba(0,56,89,.18) !important;
}
.mobile-menu-panel a.btn:hover{
  background:#1D4771 !important;
  color:#FFFFFF !important;
}
