@scope (.sc-events) {
:scope{
      --ink:#0a1640;--muted:#5f6f83;--soft:#f6f9fc;--paper:#fff;--line:#dce3eb;
      --green:#5134d8;--green2:#3f73ff;--gold:#ff7a32;--blue:#08a7c4;--coral:#ff5f58;
      --plum:#e84ca2;--shadow:0 18px 50px rgba(10,22,64,.10);--radius:22px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    a{color:inherit}
    .topbar{
      position:sticky;top:0;z-index:20;backdrop-filter:saturate(140%) blur(14px);
      background:rgba(255,253,248,.90);border-bottom:1px solid rgba(227,219,207,.85);
      box-shadow:0 4px 20px rgba(255,143,71,.08)
    }
    .topbar-inner{max-width:1280px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:14px;justify-content:space-between}
    .brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
    .brand img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 4px 14px rgba(0,0,0,.08);flex:none}
    .brand strong{display:block;line-height:1.1;font-size:17px;color:var(--green);white-space:nowrap}
    .brand span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
    .nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
    .nav a{text-decoration:none;font-size:14px;color:var(--green);border:1px solid rgba(47,59,47,.18);border-radius:999px;padding:7px 11px;background:rgba(255,255,255,.7)}
    .hero{max-width:1280px;margin:0 auto;padding:52px 18px 30px;position:relative;isolation:isolate}
    .hero-content{max-width:920px}
    .eyebrow{display:inline-flex;border:1px solid var(--line);background:rgba(255,255,255,.78);color:#6e665c;border-radius:999px;padding:8px 12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;backdrop-filter:blur(8px)}
    .eyebrow-short{display:none}
    h1{font-size:clamp(42px,8vw,82px);line-height:.95;letter-spacing:-.055em;color:var(--green);margin:0 0 16px;max-width:980px;text-shadow:0 2px 18px rgba(255,255,255,.55)}
    .hero p{font-size:clamp(18px,2.2vw,24px);color:#5c574f;max-width:800px;margin:0}
    .hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
    .btn,.action-btn{
      display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--green);color:#fff;
      border:0;border-radius:999px;padding:12px 16px;font-weight:700;font-size:15px;
      box-shadow:0 8px 18px rgba(47,59,47,.14);cursor:pointer;font-family:inherit
    }
    .btn.secondary,.action-btn.secondary{background:rgba(255,255,255,.85);color:var(--green);border:1px solid var(--line);box-shadow:none}
    .nearest-panel{
      display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;max-width:800px;background:rgba(255,255,255,.72);
      border:1px solid rgba(227,219,207,.9);border-radius:999px;padding:9px 10px 9px 14px;backdrop-filter:blur(10px)
    }
    .nearest-panel label{font-size:14px;font-weight:700;color:var(--green)}
    .nearest-panel select{appearance:none;border:1px solid var(--line);border-radius:999px;background:#fff;padding:9px 34px 9px 12px;font:15px Georgia,"Times New Roman",serif;color:var(--green)}
    .nearest-panel button{border:0;border-radius:999px;background:var(--green);color:#fff;font:700 14px Georgia,"Times New Roman",serif;padding:10px 14px;cursor:pointer}
    .journey-note,.save-hint{display:none;margin-top:10px;color:#4d554a;font-size:14px;max-width:800px;background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:16px;padding:11px 14px}
    .journey-note.show,.save-hint.show{display:block}
    main{max-width:1280px;margin:0 auto;padding:0 18px 56px}
    .summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 30px}
    .stat{background:rgba(255,255,255,.82);border:1px solid rgba(227,219,207,.92);border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.035);backdrop-filter:blur(8px)}
    .stat strong{display:block;color:var(--green);font-size:28px;line-height:1}
    .stat span{display:block;color:var(--muted);font-size:14px;margin-top:7px}
    .disclaimer{background:rgba(255,255,255,.82);border:1px solid rgba(227,219,207,.94);border-left:5px solid var(--gold);border-radius:18px;padding:16px 18px;margin:0 0 30px;color:#5b564e;font-size:15px}
    .month{margin:42px 0 22px;display:flex;align-items:end;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(227,219,207,.9);padding-bottom:12px}
    .month h2{color:var(--green);margin:0;font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;line-height:1}
    .month p{margin:0;color:#5b554d;font-size:15px;text-align:right;max-width:580px}
    .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
    .event-card,.festival-food{
      grid-column:span 6;background:rgba(255,255,255,.90);border:1px solid rgba(227,219,207,.94);
      border-radius:20px;padding:20px;box-shadow:0 10px 32px rgba(0,0,0,.055);min-height:100%;
      position:relative;overflow:hidden;backdrop-filter:blur(9px);display:flex;flex-direction:column
    }
    .event-card::before,.festival-food::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--green2)}
    .event-card.featured{grid-column:span 12;padding:26px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,248,237,.92) 58%,rgba(247,239,224,.90))}
    .event-card.featured::before{background:var(--gold)}
    .event-card.music::before{background:var(--plum)}
    .event-card.coast::before{background:var(--blue)}
    .event-card.food::before,.festival-food::before{background:var(--coral)}
    .event-card.green::before{background:#6f9b63}
    .event-card.rainbow::before{background:linear-gradient(180deg,#e84c4f,#f6c85f,#69b46f,#5e8ca0,#8a63a6)}
    .event-card.watch::before{background:#8f8f84}
    .event-card.nearby{box-shadow:0 0 0 3px rgba(255,176,76,.42),0 16px 38px rgba(0,0,0,.09);transform:translateY(-1px)}
    .meta-row{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
    .tag{display:inline-flex;border-radius:999px;padding:5px 9px;background:rgba(242,238,231,.92);color:#5c564e;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
    .event-card h3,.festival-food h3{color:var(--green);margin:0 0 10px;font-size:clamp(22px,2.5vw,30px);line-height:1.15;letter-spacing:-.02em}
    .event-card.featured h3{font-size:clamp(30px,4vw,44px)}
    .details{display:grid;gap:5px;margin:0 0 12px;color:var(--muted);font-size:15px;line-height:1.45}
    .details strong{color:#3f3a34}
    .event-card p.copy,.festival-food p{margin:0 0 16px;color:#35332f;font-size:16.5px;line-height:1.72}
    .event-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto}
    .event-links a,.event-links button{
      text-decoration:none;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:700;background:var(--green);color:#fff;
      border:0;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center
    }
    .event-links a.ghost,.event-links button.ghost{background:rgba(255,255,255,.85);color:var(--green);border:1px solid var(--line)}
    .event-links a.whatsapp{background:#25D366}
    .share-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(227,219,207,.72)}
    .share-tools a,.share-tools button{
      border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.82);color:var(--green);
      font:700 12.5px Georgia,"Times New Roman",serif;cursor:pointer;text-decoration:none
    }
    .share-tools .wa{background:#25D366;color:#fff;border-color:#25D366}
    .lobster-feature{grid-column:span 12!important;background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(255,244,233,.94) 58%,rgba(248,230,216,.93))!important}
    .lobster-feature::before{background:#b56a55!important}
    .lobster-alert{display:inline-flex;align-self:flex-start;margin:0 0 14px;padding:7px 11px;border-radius:999px;background:#b56a55;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
    .lobster-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:24px;align-items:start}
    .bubbas-box{padding:18px;border:1px solid rgba(181,106,85,.28);border-radius:18px;background:rgba(255,255,255,.78)}
    .bubbas-box h4{font-size:23px;line-height:1.15;color:var(--green);margin:0 0 8px}
    .bubbas-box p{font-size:15.5px;line-height:1.6;margin:0 0 12px}
    .instagram-wrap{max-width:540px;margin:14px auto 0;min-height:120px}
    .instagram-media{min-width:0!important;width:100%!important;margin:0 auto!important}
    .mini-note{font-size:13px;color:#6d675f;margin-top:8px}
    .approved-events{margin-top:42px}
    .event-submit{margin-top:42px}
    .submit-card{background:rgba(47,59,47,.96);color:#fff;border-radius:24px;padding:28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;box-shadow:var(--shadow)}
    .submit-kicker{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.68);font-weight:700;margin-bottom:8px}
    .submit-card h2{margin:0 0 10px;font-size:clamp(28px,4vw,40px);line-height:1;color:#fff;letter-spacing:-.02em}
    .submit-card p{margin:0;color:rgba(255,255,255,.82);font-size:17px;line-height:1.65}
    .submit-card form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .submit-card label{display:grid;gap:6px;font-size:13px;font-weight:700;color:rgba(255,255,255,.86)}
    .submit-card input,.submit-card textarea{width:100%;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.12);color:#fff;padding:11px 12px;font:16px Georgia,"Times New Roman",serif;outline:none}
    .submit-card input::placeholder,.submit-card textarea::placeholder{color:rgba(255,255,255,.48)}
    .submit-card textarea,.submit-card label.full{grid-column:1/-1}
    .submit-card button[type="submit"]{grid-column:1/-1;border:0;border-radius:999px;background:#fff;color:#2f3b2f;padding:13px 16px;font:700 15px Georgia,"Times New Roman",serif;cursor:pointer;justify-self:start}
    .form-notice{max-width:1280px;margin:0 auto 18px;padding:0 18px}
    .form-notice-inner{display:none;border-radius:18px;padding:14px 16px;background:rgba(255,255,255,.88);border:1px solid rgba(227,219,207,.94);color:#2f3b2f;font-size:15px}
    .form-notice-inner.show{display:block}
    .form-notice-inner.error{border-left:5px solid #b56a55}
    .form-notice-inner.success{border-left:5px solid #6f9b63}
    .install-strip{position:fixed;left:18px;right:18px;bottom:14px;z-index:40;display:none;align-items:center;justify-content:space-between;gap:12px;max-width:760px;margin:0 auto;background:rgba(47,59,47,.96);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:12px 14px;box-shadow:0 18px 48px rgba(0,0,0,.24)}
    .install-strip.show{display:flex}
    .install-strip p{margin:0;font-size:14px;line-height:1.35;color:rgba(255,255,255,.88)}
    .install-strip button{border:0;border-radius:999px;padding:9px 12px;background:#fff;color:#2f3b2f;font:700 13px Georgia,"Times New Roman",serif;cursor:pointer;white-space:nowrap}
    .install-strip button.dismiss{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22)}
    footer{border-top:1px solid rgba(227,219,207,.9);background:rgba(255,253,248,.84);color:#777;text-align:center;font-size:13px;padding:20px 16px 76px}
    footer a{color:#555;text-decoration:none;border-bottom:1px solid #ddd}
    @media(max-width:950px){
      .summary-strip{grid-template-columns:repeat(2,1fr)}
      .event-card,.event-card.featured,.festival-food{grid-column:span 12}
      .month{display:block}.month p{text-align:left;margin-top:8px}
      .submit-card{grid-template-columns:1fr}
      .lobster-grid{grid-template-columns:1fr}
    }
    @media(max-width:620px){
      body{font-size:16px;line-height:1.55}
      .topbar{position:relative}.topbar-inner{padding:9px 16px;min-height:66px}.brand img{width:46px;height:46px}.brand strong{font-size:20px}.brand span,.nav{display:none}
      .hero{padding:24px 18px 22px;background:rgba(255,255,255,.86);border-bottom:1px solid var(--line)}
      .eyebrow-long{display:none}.eyebrow-short{display:inline}.eyebrow{font-size:12px;letter-spacing:.10em;padding:8px 11px;margin-bottom:18px}
      h1{font-size:clamp(42px,14vw,58px);line-height:.98;margin-bottom:14px}
      .hero p{font-size:18px;line-height:1.52}
      .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
      .hero-actions .btn,.hero-actions .action-btn{width:100%;min-height:46px;font-size:14px;padding:10px}
      .hero-actions .btn:first-child{grid-column:1/-1}
      .nearest-panel{display:grid;grid-template-columns:1fr;gap:10px;border-radius:18px;padding:12px}
      .nearest-panel label{font-size:16px}.nearest-panel select,.nearest-panel button{width:100%;font-size:16px}
      .summary-strip{grid-template-columns:1fr 1fr;gap:10px}
      .stat{padding:12px}.stat strong{font-size:23px}.stat span{font-size:12px}
      .month{margin:32px 0 16px}.month h2{font-size:34px}.month p{font-size:14px}
      .grid{gap:12px}
      .event-card,.event-card.featured,.festival-food{border-radius:17px;padding:18px 18px 18px 20px}
      .event-card h3,.festival-food h3{font-size:24px}.event-card.featured h3{font-size:30px}
      .event-card p.copy,.festival-food p{font-size:15.5px;line-height:1.58}
      .event-links a,.event-links button,.share-tools a,.share-tools button{width:100%;text-align:center;justify-content:center}
      .submit-card{padding:19px;border-radius:18px;gap:16px}.submit-card form{grid-template-columns:1fr}.submit-card label{grid-column:1/-1}
      .submit-card button[type="submit"]{width:100%}
      .install-strip{left:10px;right:10px;bottom:10px;align-items:flex-start;flex-direction:column}.install-strip div{display:flex;gap:8px;width:100%}.install-strip button{flex:1}
      footer{padding-bottom:28px}
    }

    /* Event submission terms / privacy */
    .submission-terms{
      grid-column:1/-1;
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:14px 15px;
      border:1px solid var(--line);
      border-radius:14px;
      background:rgba(255,255,255,.68);
      color:var(--muted);
      font-size:14px;
      line-height:1.5;
    }
    .submission-terms input[type="checkbox"]{
      width:18px;
      height:18px;
      min-width:18px;
      margin:2px 0 0;
      accent-color:var(--green);
    }
    .submission-terms label{display:block!important;font-weight:400!important;margin:0!important}
    .submission-terms strong{color:var(--ink)}
    .terms-link{
      appearance:none;
      border:0;
      padding:0;
      background:none;
      color:var(--green);
      font:inherit;
      font-weight:700;
      text-decoration:underline;
      text-underline-offset:2px;
      cursor:pointer;
    }
    .terms-note{
      grid-column:1/-1;
      margin:-5px 0 0;
      color:var(--muted);
      font-size:12.5px;
      line-height:1.45;
    }
    .terms-modal[hidden]{display:none}
    .terms-modal{
      position:fixed;
      inset:0;
      z-index:99999;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:18px;
      background:rgba(16,20,16,.66);
      backdrop-filter:blur(4px);
    }
    .terms-dialog{
      width:min(720px,100%);
      max-height:min(86vh,820px);
      overflow:auto;
      position:relative;
      padding:28px;
      border-radius:22px;
      border:1px solid var(--line);
      background:#fff;
      box-shadow:0 24px 70px rgba(0,0,0,.28);
    }
    .terms-dialog h2{margin:0 44px 8px 0;font-size:30px;color:var(--green)}
    .terms-dialog h3{margin:22px 0 7px;font-size:19px;color:var(--ink)}
    .terms-dialog p,.terms-dialog li{font-size:15px;line-height:1.58;color:#43483f}
    .terms-dialog ul{padding-left:21px}
    .terms-close{
      position:absolute;
      top:16px;
      right:16px;
      width:38px;
      height:38px;
      border-radius:50%;
      border:1px solid var(--line);
      background:#f6f7f4;
      color:var(--ink);
      font-size:24px;
      line-height:1;
      cursor:pointer;
    }
    .terms-footer{
      margin-top:22px;
      padding-top:16px;
      border-top:1px solid var(--line);
      color:var(--muted);
      font-size:13px;
    }
    @media(max-width:620px){
      .terms-dialog{padding:22px 18px;border-radius:18px}
      .terms-dialog h2{font-size:26px}
      .submission-terms{padding:13px}
    }


}

.sc-events{min-height:70vh;padding-bottom:40px;background:transparent;color:#0a1640;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
.sc-events .topbar{display:none}
.sc-events .hero{padding-top:54px}
.sc-events .hero,.sc-events main{position:relative}
.sc-events .event-card,.sc-events .festival-food,.sc-events .stat,.sc-events .disclaimer{background:rgba(255,255,255,.94)}
.sc-events .submit-card{background:linear-gradient(125deg,#2f2c86,#6647ff 55%,#e84ca2)}
.sc-events .btn,.sc-events .action-btn,.sc-events .event-links a,.sc-events .event-links button,.sc-events .nearest-panel button{background:#5134d8;color:#fff}
.sc-events .btn.secondary,.sc-events .action-btn.secondary,.sc-events .event-links .ghost{background:#fff;color:#0a1640;border-color:#6678d8}
.sc-events h1,.sc-events h2,.sc-events h3,.sc-events h4{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0a1640}
body.page-template-page-events .sc-main,body.post-type-archive .sc-main:has(.sc-events){padding:0;max-width:none;width:auto}
body.page-template-page-events .sc-footer,body.post-type-archive .sc-footer{position:relative}
@media(max-width:620px){.sc-events{font-size:16px;line-height:1.55}}
