/* Astro Blocks V2: inherit all established theme tokens, type scale and spacing rhythm. */
.v2-explorer .ab-gallery-header{padding-top:32px}
.v2-explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;padding-top:48px}
.v2-primary{min-width:0}
.v2-explorer-aside{display:grid;gap:32px;align-content:start}
.v2-explorer-aside>section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}
.v2-explorer-aside h2{font:600 24px/1.3 var(--heading);margin:0 0 16px}
.v2-side-note{font-size:14px;color:var(--muted);margin-top:0}
.v2-search label{display:block;font-weight:600;margin-bottom:12px}
.v2-search-row{display:flex;gap:8px}
.v2-search-row input{min-width:0;flex:1;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:16px}
.v2-search-row button{border:0;border-radius:var(--radius);padding:12px 24px;background:var(--accent);color:white;font-size:16px;cursor:pointer;font-weight:600}
.v2-results-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:48px}
.v2-results-heading h2{font:600 32px/1.25 var(--heading);margin:0}
.v2-results-heading p,.v2-active-filter{color:var(--muted);font-size:14px}
.v2-results{margin-top:24px;border-top:1px solid var(--line)}
.v2-result{padding:24px 0;border-bottom:1px solid var(--line)}
.v2-result[hidden],[data-empty][hidden],[data-active-filter][hidden]{display:none!important}
.v2-result h3{font:600 26px/1.3 var(--heading);margin:8px 0}
.v2-result>p:not(.ab-eyebrow){color:var(--muted);margin:8px 0 12px}
.v2-result h3 a:hover,.v2-related a:hover{color:var(--accent)}
.v2-result-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.v2-result-tags a{font-size:14px;border:1px solid var(--line);padding:4px 12px;border-radius:999px}
.v2-result-tags span{font-size:14px;color:var(--muted);margin-left:auto}
.v2-tags{display:flex;flex-wrap:wrap;gap:8px}
.v2-tags a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:14px;transition:border-color var(--fast)}
.v2-tags a:hover,.v2-tags a[aria-current="true"]{border-color:var(--accent);color:var(--accent)}
.v2-tags span{font-size:12px;color:var(--muted)}
.v2-archive ul{list-style:none;margin:0;padding:0}
.v2-archive li{border-top:1px solid var(--line)}
.v2-archive a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-size:14px}
.v2-archive a span{color:var(--muted)}
.v2-archive a:hover,.v2-archive a[aria-current="true"]{color:var(--accent)}
.v2-calendar-disclosure{border-top:1px solid var(--line);padding:12px 0}
.v2-calendar-disclosure>summary{font-size:16px;font-weight:600;cursor:pointer}
.v2-calendar h3{display:none}
.v2-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:16px}
.v2-calendar-grid>*{min-height:32px;display:grid;place-items:center;font-size:14px}
.v2-calendar-grid .v2-weekday{font-weight:600;color:var(--muted)}
.v2-calendar-day{color:var(--muted);border-radius:var(--radius)}
.v2-calendar-day.has-post{background:var(--accent-soft);color:var(--text);font-weight:600}
.v2-calendar-day.has-post:hover,.v2-calendar-day.active,.v2-calendar-day[aria-current="true"]{background:var(--accent);color:white}
.v2-calendar>p{color:var(--muted);font-size:14px;margin:12px 0 0}
.v2-article-showcase{margin-top:64px}
.v2-article-accordion{border-block-start:1px solid var(--line);padding:16px 0}
.v2-article-accordion:last-child{border-bottom:1px solid var(--line)}
.v2-article-accordion summary{font-weight:600;cursor:pointer}
.v2-accordion-body{padding:16px 0;color:var(--muted)}
/* Editorial sidenote: type + hairline separators, not the generic AI gray card. */
.v2-callout{margin-block:32px;padding:24px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.v2-callout strong{display:block;font-family:var(--body);font-size:14px;line-height:1.5;letter-spacing:.04em;font-weight:600;color:var(--accent)}
.v2-callout div{margin-top:12px;color:var(--text);font-size:17px;line-height:1.8}
.v2-callout div>p:first-child{margin-top:0}
.v2-callout div>p:last-child{margin-bottom:0}
.v2-callout-tip,.v2-callout-note,.v2-callout-warning{border-color:var(--line)}
.v2-callout-warning strong{color:var(--text)}
.v2-article-grid{display:grid;gap:16px}
.v2-article-grid.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.v2-article-grid.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v2-article-grid>div,.v2-article-grid>article{border:1px solid var(--line);padding:24px;border-radius:var(--radius);background:var(--surface)}
.v2-article-grid h3{font:600 20px/1.35 var(--heading);margin:0 0 8px}
.v2-article-grid p{margin:0;color:var(--muted)}
.v2-table-wrap{overflow-x:auto}
.v2-table{width:100%;min-width:400px;border-collapse:collapse}
.v2-table caption{text-align:left;font-weight:600;margin-bottom:12px}
.v2-table th,.v2-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px;vertical-align:top}
.v2-table th{background:var(--surface-2)}
.v2-related{border-top:1px solid var(--line);padding:24px 0}
.v2-related h3{font:600 24px/1.3 var(--heading)}
.v2-related ul{list-style:none;padding:0}
.v2-related li{border-bottom:1px solid var(--line);padding:16px 0}
.v2-related a strong{display:block}
.v2-related a span{color:var(--muted);font-size:14px;display:block;margin-top:4px}
.v2-article-list{padding-left:24px}
.v2-article-list li{padding:4px 0;line-height:1.8}
.v2-article-list li::marker{color:var(--accent);font-weight:600}
@media(max-width:900px){.v2-explorer-layout{grid-template-columns:1fr;gap:32px}.v2-explorer-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-explorer-aside section:last-child{grid-column:1/-1}}
@media(max-width:600px){.v2-explorer-aside{grid-template-columns:1fr}.v2-explorer-aside section:last-child{grid-column:auto}.v2-search-row{flex-direction:column}.v2-search-row button{width:100%}.v2-article-grid.columns-2,.v2-article-grid.columns-3{grid-template-columns:1fr}.v2-results-heading{display:block}}
@media(prefers-reduced-motion:reduce){.v2-tags a{transition:none}}

.v2-carousel{border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;background:var(--surface)}
.v2-carousel-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.v2-carousel-top h3{margin:0;font:600 24px/1.3 var(--heading)}
.v2-carousel-controls{display:flex;gap:8px}
.v2-carousel-controls button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:999px;min-height:44px;min-width:44px;font-size:20px;cursor:pointer}
.v2-carousel-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:16px 0;scrollbar-width:thin}
.v2-carousel-track>*{flex:0 0 clamp(240px,38%,420px);scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--surface-2)}
.v2-carousel-track h4{margin:0 0 8px;font:600 20px/1.35 var(--heading)}
.v2-carousel-track p{margin:0;color:var(--muted)}
@media(max-width:600px){.v2-carousel-track>*{flex-basis:85%}}

/* V2 content inside each of the eight full-site demos */
.v2-article-meta-links{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 32px}
.v2-article-meta-links a{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--text);font-size:14px;text-decoration:none}
.v2-article-meta-links a:hover{border-color:var(--accent);color:var(--accent)}
.v02-article .v2-carousel{margin:48px 0}
.v02-article .v2-article-grid{margin:24px 0}
.v02-article .v2-table-wrap{margin:24px 0}
.v02-article .v2-callout{margin:24px 0}
.v02-article .v2-article-accordion{margin:24px 0}
