.v2-header{min-height:88px}
.editorial-wordmark{position:relative;display:inline-flex;align-items:baseline;gap:7px;padding:8px 0 10px;color:var(--navy);text-decoration:none;white-space:nowrap}
.editorial-wordmark::after{content:"";position:absolute;left:0;bottom:4px;width:38px;height:3px;border-radius:99px;background:var(--apricot)}
.editorial-prefix{font-family:Georgia,"Times New Roman",serif;font-size:.88rem;font-style:italic;color:#536273}
.editorial-name{font-family:Georgia,"Times New Roman",serif;font-size:1.58rem;font-weight:800;letter-spacing:-.025em}
.editorial-wordmark:hover .editorial-name{color:#1d4e78}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:25px}
.main-nav>a{color:var(--navy);font-size:.82rem;font-weight:800;text-decoration:none;padding:10px 0;border-bottom:3px solid transparent}
.main-nav>a:not(.my-week-link):hover,.main-nav>a:not(.my-week-link).active{border-bottom-color:var(--apricot)}
.main-nav .my-week-link{padding:10px 15px;border:1px solid #dfb94d}
.main-nav .my-week-link.active{box-shadow:0 0 0 3px rgba(255,209,102,.28)}
.section-footer-action{display:flex;justify-content:center;margin-top:30px}
.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:1px solid var(--navy);border-radius:5px;padding:10px 16px;color:var(--navy);background:#fff;font-size:.84rem;font-weight:900;text-decoration:none;cursor:pointer}
.secondary-action:hover{background:#f1f5f8}
.concept-footer a{color:var(--navy);font-weight:800}

:root{--category-blue:#2765c7;--course-blue:#25639b;--category-blue-pale:#e8f0ff;--category-orange:#d96224;--category-orange-pale:#fff0e6;--category-violet:#6b5ce7;--category-violet-pale:#efedff;--category-coral:#d94261;--category-coral-pale:#fde9ee}

.directory-hero{padding:68px 0 58px;background:
  radial-gradient(circle at 88% 24%,rgba(255,209,102,.4) 0 8%,transparent 8.3%),
  linear-gradient(125deg,#fff 0%,var(--cream) 60%,#fff0e6 100%);border-bottom:1px solid var(--line)}
.directory-hero.events-hero{background:radial-gradient(circle at 90% 18%,rgba(233,80,108,.18) 0 11%,transparent 11.3%),linear-gradient(125deg,#fff 0%,#f8fbfb 58%,#f0ecff 100%)}
.directory-hero.dining-hero{background:radial-gradient(circle at 88% 22%,rgba(217,98,36,.18) 0 11%,transparent 11.3%),linear-gradient(125deg,#fff 0%,#fffaf3 58%,#fff0e6 100%)}
.directory-hero.plan-hero{background:radial-gradient(circle at 85% 22%,rgba(107,92,231,.18) 0 11%,transparent 11.3%),linear-gradient(125deg,#fff 0%,#fff9f2 55%,#fff3cb 100%)}
.directory-hero h1{max-width:880px;margin:0;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.98;letter-spacing:-.04em}
.directory-hero>div>p:last-child{max-width:760px;margin:20px 0 0;color:#465568;font-size:1.05rem;line-height:1.6}
.directory-section{padding:38px 0 80px}
.filter-bar{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,.35fr) auto;gap:16px;align-items:end;margin-bottom:30px;padding:18px;background:#f6f8fa;border:1px solid var(--line);border-radius:10px}
.class-filter-bar{grid-template-columns:minmax(0,1fr) auto auto}
.event-filter-bar{grid-template-columns:minmax(0,1fr) auto auto}
.filter-bar label{color:var(--navy);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.filter-bar input,.filter-bar select{display:block;width:100%;min-height:48px;margin-top:7px;border:1px solid #aab4c0;border-radius:5px;background:#fff;color:var(--ink);padding:0 13px;font-size:.92rem;text-transform:none;letter-spacing:normal}
.filter-bar .inline-select-label{display:flex;align-items:center;gap:10px;min-height:48px;white-space:nowrap}
.filter-bar .inline-select-label select{width:auto;min-width:165px;margin-top:0}
.filter-bar p{margin:0 2px 12px;color:var(--muted);font-size:.79rem;white-space:nowrap}
.event-quick-filters{display:flex;align-items:center;gap:12px;min-width:0;margin:0;padding:0;border:0}
.event-quick-filters legend{float:left;margin:0 4px 0 0;color:var(--navy);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.filter-bar .filter-check{display:flex;align-items:center;gap:9px;min-height:48px;margin:0;padding:0 16px;border:1px solid #aab4c0;border-radius:5px;background:#fff;color:var(--navy);font-size:.9rem;font-weight:800;text-transform:none;letter-spacing:normal;cursor:pointer}
.filter-bar .filter-check:has(input:checked){border-color:var(--navy);background:var(--navy);color:#fff}
.filter-bar .filter-check input{display:block;width:20px;height:20px;min-height:0;margin:0;padding:0;accent-color:var(--navy)}
.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:25px;row-gap:72px;padding-bottom:44px}
.directory-grid .feature-card{min-height:0}
.directory-grid .feature-image{height:190px}
.directory-grid .feature-body{padding:18px 20px}
.directory-grid .feature-body h3{font-size:1.38rem}
.directory-grid .provider{margin-bottom:11px}
.directory-grid .why{margin-bottom:13px;line-height:1.45}
.directory-grid .tag-row{margin-bottom:13px}
.feature-grid .feature-image{height:205px}
.feature-grid .feature-body{padding:19px 20px}
.feature-grid .provider{margin-bottom:12px}
.feature-grid .why{margin-bottom:14px;line-height:1.45}
.feature-grid .tag-row{margin-bottom:14px}
.event-directory{grid-template-columns:repeat(3,1fr)}
.event-directory .event-card{min-height:570px}
.event-directory .event-image{height:220px}
.event-directory .event-body{padding:20px}
.event-directory .event-body h3{font-size:1.32rem}
.event-directory .event-description{font-size:.86rem}
.event-directory .event-meta,.event-directory .event-price{font-size:.84rem}
.directory-empty{grid-column:1/-1;padding:60px 20px;text-align:center;border:1px dashed #adb7c2;border-radius:10px;color:var(--muted)}

.event-newsletter-panel{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);align-items:center;gap:42px;margin:4px 0;padding:34px 38px;border:1px solid #cdd8d5;border-radius:14px;background:linear-gradient(120deg,#eef7f2 0%,#f8fbf9 58%,#fff7e8 100%);box-shadow:0 12px 32px rgba(12,36,72,.08)}
.newsletter-panel-copy h2{margin:5px 0 10px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.05;letter-spacing:-.025em}
.newsletter-panel-copy>p:last-child{max-width:590px;margin:0;color:#465568;line-height:1.55}
.newsletter-panel-form .signup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.newsletter-panel-form [data-form-status]{min-height:20px;margin:8px 0 0;color:var(--sage-dark);font-size:.8rem;font-weight:800}
.newsletter-trust{display:block;margin-top:8px;color:#5b6b78;font-size:.72rem;line-height:1.4}
.event-newsletter-panel.is-followup{background:linear-gradient(120deg,#f8fbf9 0%,#fff 56%,#fff8e9 100%);box-shadow:0 8px 24px rgba(12,36,72,.06)}

/* Systematic class categories: movement green, courses blue, tastings orange. */
.feature-card.theme-sage{border-top-color:var(--sage)}
.feature-card.theme-sage .moment-badge{background:var(--sage);color:#fff}
.feature-card.theme-sage .price{color:var(--sage-dark)}
.feature-card.theme-sage .tag{background:var(--sage-pale);color:#00625d}
.feature-card.theme-blue{border-top-color:var(--category-blue)}
.feature-card.theme-blue .moment-badge{background:var(--course-blue);color:#fff}
.feature-card.theme-blue .price{color:var(--course-blue)}
.feature-card.theme-blue .tag{background:var(--category-blue-pale);color:#174f9f}
.feature-card.theme-orange{border-top-color:var(--category-orange)}
.feature-card.theme-orange .moment-badge{background:var(--category-orange);color:#fff}
.feature-card.theme-orange .price{color:var(--category-orange)}
.feature-card.theme-orange .tag{background:var(--category-orange-pale);color:#9d3f13}
.feature-card.theme-violet{border-top-color:var(--category-violet)}
.feature-card.theme-violet .moment-badge{background:var(--category-violet);color:#fff}
.feature-card.theme-violet .price{color:var(--category-violet)}
.feature-card.theme-violet .tag{background:var(--category-violet-pale);color:#5142bc}
.feature-card.theme-sage .tag,
.feature-card.theme-blue .tag,
.feature-card.theme-orange .tag,
.feature-card.theme-violet .tag{background:#eef2f6;color:var(--navy)}
.feature-card,
.feature-card:nth-child(2),
.feature-card:nth-child(3),
.feature-card.theme-sage,
.feature-card.theme-blue,
.feature-card.theme-orange,
.feature-card.theme-violet{border-top:1px solid var(--line)}
.feature-card .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px}
.feature-card,.event-card,.dining-card{position:relative;overflow:visible}
.feature-card .feature-image{border-radius:12px 12px 0 0}
.feature-card .moment-badge{left:0;top:auto;bottom:0;border-radius:0 5px 0 0;box-shadow:none}
.feature-card .feature-body{border-radius:0 0 12px 12px;background:#fff}
.details-only{display:flex;justify-content:flex-end}
.hover-save-bar{position:absolute;top:calc(100% - 1px);left:-1px;right:-1px;z-index:6;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 13px;background:var(--navy);border:1px solid var(--navy);border-radius:0 0 10px 10px;box-shadow:0 9px 20px rgba(12,36,72,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease}
.feature-card:hover .hover-save-bar,
.feature-card:focus-within .hover-save-bar,
.event-card:hover .hover-save-bar,
.event-card:focus-within .hover-save-bar,
.dining-card:hover .hover-save-bar,
.dining-card:focus-within .hover-save-bar{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.hover-save-bar .save-button{width:auto;min-height:31px;padding:5px 7px;background:transparent;color:#fff;font-size:.72rem;line-height:1.15}
.hover-save-bar .save-button:hover,.hover-save-bar .save-button.saved{background:rgba(255,255,255,.14);color:#fff}
.hover-interest{margin-left:auto;color:#fff;font-size:.68rem;white-space:nowrap}
.hover-interest.is-empty{display:none}
.hover-interest>span{margin-right:3px;font-size:.95rem}
.hover-interest strong{color:#fff;font-weight:800}

/* Event categories are identified only by the thick top edge. */
.event-card.theme-violet{border-top-color:var(--category-violet)}
.event-card.theme-sage{border-top-color:var(--sage)}
.event-card.theme-coral{border-top-color:var(--category-coral)}
.event-card.theme-orange{border-top-color:var(--category-orange)}
.event-card.theme-yellow{border-top-color:#d7a829}
.event-card,
.event-card:nth-child(2),
.event-card:nth-child(3),
.event-card:nth-child(4),
.event-card.theme-violet,
.event-card.theme-sage,
.event-card.theme-coral,
.event-card.theme-orange,
.event-card.theme-yellow{border-top:1px solid var(--line)}
.event-card .event-body{background:#fff}
.event-card .tag{border-radius:99px;background:#eef2f6;color:var(--navy);padding:4px 8px;font-size:.63rem;font-weight:700}
.event-provider{margin:1px 0 4px;color:var(--navy);font-size:.8rem;font-weight:800}
.event-location{display:flex;align-items:flex-start;gap:5px;margin:1px 0 9px;color:#536070;font-size:.82rem;font-weight:700;line-height:1.35}
.event-location>span{flex:none;color:var(--navy);font-size:.9rem;line-height:1.1}
.event-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px;color:var(--navy);font-size:.78rem;font-weight:900}
.event-price.is-free>span:first-child{color:var(--sage-dark)}
.attendance-pill{display:inline-block;padding:0;color:var(--navy);font-size:inherit;font-weight:inherit;letter-spacing:0}
.attendance-pill.is-drop-in{color:var(--sage-dark)}
.attendance-pill.is-required{color:var(--navy)}
.details-button{border:0;background:transparent;cursor:pointer}

.dining-section{padding:66px 0 72px;background:#fff;border-bottom:1px solid var(--line)}
.dining-section .section-heading{align-items:flex-start}
.section-note{max-width:650px;margin:9px 0 0;color:var(--muted);font-size:.88rem;line-height:1.5}
.dining-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px;row-gap:70px}
.home-dining-grid{grid-template-columns:repeat(4,1fr);gap:16px 16px}
.dining-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(12,36,72,.05);transition:transform .2s ease,box-shadow .2s ease}
.dining-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.dining-image{position:relative;height:170px;border-radius:11px 11px 0 0;background:#eee7df center/cover no-repeat}
.meal-badge{position:absolute;left:0;bottom:0;padding:7px 10px;border-radius:0 5px 0 0;background:var(--category-orange);color:#fff;font-size:.64rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.dining-body{display:flex;flex:1;flex-direction:column;padding:17px}
.dining-body h3{margin:0 0 6px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;line-height:1.18}
.dining-provider{margin-bottom:3px;color:var(--navy);font-size:.77rem;font-weight:800}
.dining-location{display:flex;align-items:flex-start;gap:5px;margin-bottom:10px;color:#536070;font-size:.76rem;font-weight:700;line-height:1.35}
.dining-location>span{color:var(--category-orange)}
.dining-meta{margin:0 0 8px;color:var(--navy);font-size:.78rem;font-weight:900;line-height:1.4}
.dining-price{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px;color:#ad4b18;font-size:.78rem;font-weight:900;line-height:1.4}
.dining-description{margin:0 0 13px;color:#4e5b6c;font-size:.79rem;line-height:1.5}
.dining-card .tag{border-radius:99px;background:#eef2f6;color:var(--navy);padding:4px 8px;font-size:.63rem;font-weight:700}
.dining-card .tag-row{margin:auto 0 12px}
.dining-card .card-actions{margin-top:auto}
.home-dining-grid .dining-image{height:145px}
.home-dining-grid .dining-body{padding:15px}
.home-dining-grid .dining-description{font-size:.76rem}
.dining-directory .dining-card{min-height:520px}
.dining-directory .dining-image{height:210px}
.dining-directory .dining-body{padding:20px}
.dining-directory .dining-body h3{font-size:1.35rem}
.dining-disclaimer{max-width:850px;margin:34px auto 0;color:var(--muted);font-size:.76rem;line-height:1.55;text-align:center}

.v2-dialog{width:min(500px,calc(100% - 30px));border:0;border-radius:15px;padding:0;box-shadow:0 28px 90px rgba(16,42,67,.34)}
.v2-dialog::backdrop{background:rgba(16,42,67,.62)}
.v2-dialog form{position:relative;padding:30px}
.v2-dialog h2{margin:0 40px 10px 0;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.08}
.v2-dialog>form>p:not(.kicker){color:var(--muted);font-size:.87rem}
.v2-dialog .dialog-close{position:absolute;right:15px;top:15px;width:36px;height:36px;border:0;border-radius:50%;background:#eef2f6;color:var(--navy);font-size:1.3rem;cursor:pointer}
.v2-dialog fieldset{margin:20px 0;border:1px solid var(--line);border-radius:8px;padding:13px 16px;background:#f8fafb}
.v2-dialog legend,.v2-dialog>form>label{color:var(--navy);font-size:.83rem;font-weight:900}
.v2-dialog fieldset label{display:flex;align-items:flex-start;gap:10px;margin:10px 0;color:#344154;font-size:.86rem}
.v2-dialog input[type=radio],.v2-dialog input[type=checkbox]{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--navy)}
.v2-dialog input[type=email]{display:block;width:100%;min-height:48px;margin:7px 0 17px;border:1px solid #9da9b6;border-radius:5px;padding:0 12px}
.v2-dialog .primary-action{width:100%;min-height:48px}
[data-interest-status],[data-form-status]{min-height:22px;margin:8px 0 0;color:var(--sage-dark);font-size:.78rem;font-weight:800}
.v2-dialog button[type=submit]{background:var(--category-blue);color:#fff}
.v2-dialog button[type=submit]:hover{background:#174f9f}
.dialog-save-secondary{width:100%;min-height:48px;margin-top:10px;border:0;border-radius:5px;background:var(--category-orange);color:#fff;font-weight:900;cursor:pointer}
.dialog-save-secondary:hover{background:#b94b16}
.plan-assistant-dialog{width:min(540px,calc(100% - 30px))}
.plan-facts{display:grid;gap:3px;margin:0 0 17px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.plan-facts p{margin:0!important;color:var(--navy)!important;font-size:.82rem!important;font-weight:800;line-height:1.45}
.plan-facts p+ p{color:var(--muted)!important;font-weight:700}
.practical-note{margin:0 0 14px;padding:15px 17px;border-left:4px solid var(--sage-dark);border-radius:4px 10px 10px 4px;background:var(--sage-pale)}
.practical-note[hidden]{display:none}
.practical-note p{margin:0!important;color:#2e4a45!important;font:italic .91rem/1.55 Georgia,"Times New Roman",serif!important}
.before-you-go-note>strong{display:block;margin:0 0 7px;color:var(--navy);font-size:.86rem;letter-spacing:.02em}
.before-you-go-note .forecast-line{margin:0 0 7px!important;color:var(--sage-dark)!important;font:800 .77rem/1.45 Arial,sans-serif!important;letter-spacing:.01em}
.before-you-go-note .forecast-line[hidden]{display:none}
.plan-assistant-dialog fieldset{margin-bottom:16px}
.plan-assistant-dialog .neighbor-explainer{margin:4px 0 5px 30px!important;color:var(--muted)!important;font-size:.72rem!important;line-height:1.45}
.plan-assistant-dialog [data-email-wrap]>label{display:block;color:var(--navy);font-size:.83rem;font-weight:900}
.plan-assistant-dialog .privacy-note{margin:-10px 0 16px!important;color:var(--muted)!important;font-size:.69rem!important}
.plan-assistant-dialog button:disabled{opacity:.5;cursor:not-allowed}

.details-dialog{width:min(1380px,calc(100% - 34px));height:min(900px,calc(100% - 34px));max-width:none;max-height:none;border:0;border-radius:13px;padding:0;box-shadow:0 28px 100px rgba(16,42,67,.35)}
.details-dialog::backdrop,.email-plan-dialog::backdrop{background:rgba(16,42,67,.7)}
.external-browser{height:100%;display:flex;flex-direction:column;background:#fff}
.external-browser-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 16px;border-bottom:1px solid var(--line);background:#f6f8fb}
.external-browser-bar>strong{color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.external-browser-bar>div{display:flex;gap:8px;flex:none}
.external-browser-bar .primary-action,.external-browser-bar .secondary-action{min-height:42px;padding:9px 14px}
.embed-note{margin:0;padding:7px 16px;background:#fff7d8;color:#6d570f;font-size:.72rem;text-align:center}
.external-browser iframe{width:100%;flex:1;border:0;background:#fff}

.email-plan{width:100%;background:transparent;cursor:pointer}
.email-plan:disabled,.plan-actions button:disabled{opacity:.45;cursor:not-allowed}
.email-plan-dialog{width:min(470px,calc(100% - 30px));border:0;border-radius:15px;padding:0;box-shadow:0 28px 90px rgba(16,42,67,.34)}
.email-plan-dialog form{position:relative;padding:30px}
.email-plan-dialog h2{margin:0 40px 9px 0;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:2rem}
.email-plan-dialog form>p:not(.kicker){color:var(--muted);font-size:.86rem}
.email-plan-dialog .dialog-close{position:absolute;right:15px;top:15px;width:36px;height:36px;border:0;border-radius:50%;background:#eef2f6;color:var(--navy);font-size:1.3rem;cursor:pointer}
.email-plan-dialog label{display:block;color:var(--navy);font-size:.82rem;font-weight:900}
.email-plan-dialog input{display:block;width:100%;min-height:49px;margin:7px 0 16px;border:1px solid #9da9b6;border-radius:5px;padding:0 12px}
.email-plan-dialog .weekly-edit-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;color:var(--ink);font-size:.84rem;font-weight:700;line-height:1.4;cursor:pointer}
.email-plan-dialog .weekly-edit-check input{width:20px;height:20px;min-height:0;flex:none;margin:0;padding:0;accent-color:var(--navy)}
.email-plan-dialog .primary-action{width:100%;min-height:48px}
.email-plan-dialog small{display:block;margin-top:12px;color:var(--muted);font-size:.72rem;line-height:1.4}
[data-email-status]{min-height:22px;margin:8px 0 0!important;color:var(--sage-dark)!important;font-weight:800}

@media (hover:none){
  .hover-save-bar{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;border-radius:0 0 10px 10px}
}

.plan-section{padding:42px 0 82px}
.plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px;padding:20px 22px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb}
.plan-toolbar strong{color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}
.plan-toolbar p{margin:4px 0 0;color:var(--muted);font-size:.78rem}
.plan-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.plan-actions .primary-action{min-height:46px;padding:10px 16px}
.plan-actions .disabled{opacity:.45;pointer-events:none}
.plan-grid{display:grid;gap:14px}
.plan-item{display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:center;border:1px solid var(--line);border-left:6px solid var(--apricot);border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(16,42,67,.05)}
.plan-item:nth-child(2n){border-left-color:var(--sage)}
.plan-item:nth-child(3n){border-left-color:var(--violet)}
.plan-thumb{height:135px;background:#e8ecef center/cover no-repeat}
.plan-item h2{margin:0 0 5px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;line-height:1.1}
.plan-item p{margin:3px 0;color:var(--muted);font-size:.82rem}
.plan-item .plan-date{color:var(--navy);font-weight:800}
.plan-item-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding-right:20px}
.plan-item-actions a,.plan-item-actions button{min-width:140px;border:1px solid var(--navy);border-radius:5px;padding:9px 11px;background:#fff;color:var(--navy);font-size:.75rem;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}
.plan-item-actions button{border-color:#d1a0ab;color:#9b3049}
.plan-empty{text-align:center;padding:70px 20px;border:1px dashed #aeb8c3;border-radius:12px;background:var(--cream)}
.plan-empty>span{display:grid;place-items:center;width:52px;height:52px;margin:auto;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:2rem}
.plan-empty h2{color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:2rem;margin:17px 0 8px}
.plan-empty p{margin:0 0 23px;color:var(--muted)}
.recommendation-block{margin-top:65px;padding-top:45px;border-top:1px solid var(--line)}
.recommendation-block>h2{margin:0 0 24px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:2.2rem}
.recommendation-block .event-strip{grid-template-columns:repeat(3,1fr)}

@media(max-width:980px){
  .v2-header{align-items:flex-start;padding-block:15px;flex-direction:column}
  .main-nav{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}
  .directory-grid,.event-directory,.dining-grid,.home-dining-grid{grid-template-columns:repeat(2,1fr)}
  .filter-bar{grid-template-columns:1fr 1fr}.filter-bar p{grid-column:1/-1;margin:0}
  .event-newsletter-panel{grid-template-columns:1fr;gap:22px}
}

@media(max-width:660px){
  .concept-header{position:static}
  .main-nav{gap:16px}.main-nav>a{white-space:nowrap;font-size:.75rem}.main-nav .my-week-link{padding:8px 11px}
  .directory-hero{padding:46px 0 40px}.directory-hero h1{font-size:3.2rem}
  .filter-bar{grid-template-columns:1fr}
  .filter-bar p{grid-column:auto}
  .event-quick-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:12px}
  .event-quick-filters legend{float:none;grid-column:1/-1;margin:0}
  .filter-bar .filter-check{width:100%;min-width:0;box-sizing:border-box;padding-inline:14px}
  .filter-bar .inline-select-label{justify-content:flex-start}
  .directory-grid,.event-directory,.dining-grid,.home-dining-grid{grid-template-columns:1fr}
  .directory-grid .feature-card{min-height:0}
  .event-directory .event-card{display:flex;flex-direction:column;min-height:0}
  .event-directory .event-image{width:100%;height:215px;min-height:0}
  .event-directory .event-body{padding:19px 20px}
  .dining-directory .dining-card{min-height:0}
  .plan-toolbar{align-items:flex-start;flex-direction:column}
  .plan-item{grid-template-columns:1fr}.plan-thumb{height:190px}.plan-item>div:not(.plan-thumb):not(.plan-item-actions){padding:0 18px}.plan-item-actions{padding:0 18px 18px;flex-direction:row;flex-wrap:wrap}.plan-item-actions a,.plan-item-actions button{flex:1}
  .recommendation-block .event-strip{grid-template-columns:1fr}
  .event-newsletter-panel{padding:28px 22px}.newsletter-panel-form .signup-row{grid-template-columns:1fr}.newsletter-panel-form button{min-height:50px}
  .details-dialog{width:100%;height:100%;border-radius:0}
  .external-browser-bar{align-items:flex-start;flex-direction:column}
  .external-browser-bar>div{width:100%}.external-browser-bar .primary-action,.external-browser-bar .secondary-action{flex:1}
}
