/* Scoped layout only. Theme button classes own colors, hover and typography. */
.gfs-card,.gfs-filters,.gfs-directory,.gfs-index-widget{box-sizing:border-box;min-width:0;width:100%;clear:both}
.gfs-card *,.gfs-filters *,.gfs-directory *,.gfs-index-widget *{box-sizing:border-box}
.gfs-card{display:grid;grid-template-columns:minmax(0,var(--gfs-cover-width,220px)) minmax(0,1fr);gap:var(--gfs-gap,28px);align-items:start;margin:0 0 1.8em;text-align:start}
.gfs-card--compact{grid-template-columns:minmax(0,min(var(--gfs-cover-width,130px),35%)) minmax(0,1fr);margin-bottom:1.2em}
.gfs-card--equal{grid-template-columns:repeat(2,minmax(0,1fr))}
.gfs-card--no-cover{grid-template-columns:minmax(0,1fr)}
.gfs-cover-wrap{min-width:0;position:relative}
.gfs-cover-wrap>a{display:block}
.gfs-card img.gfs-cover{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;border-radius:0;margin:0}
.gfs-meta{margin:0;min-width:0;font-size:inherit;line-height:1.55}
.gfs-meta-row{margin:0 0 .6em}
.gfs-meta dt{font-weight:700;margin:0;line-height:1.4}
.gfs-meta dd{margin:0;overflow-wrap:anywhere;min-width:0}
.gfs-loop-meta{box-sizing:border-box;min-width:0;margin:0 0 1.2em;text-align:start;font-size:inherit}.gfs-loop-meta .gfs-meta{font-size:inherit}.gfs-loop-meta .gfs-meta-row:last-child{margin-bottom:0}
.gfs-links-none a,.gfs-links-none a:hover,.gfs-links-none a:focus{text-decoration:none!important;box-shadow:none}
.gfs-links-always a:not(.gfs-button){text-decoration:underline!important;text-underline-offset:.15em}
.gfs-card--compact .gfs-meta{font-size:inherit}
.gfs-card--compact .gfs-meta-row{margin-bottom:.4em}
.gfs-more-count,.gfs-actor-count{font-size:.88em;opacity:.75;white-space:nowrap}
.gfs-list{margin-top:.25em}
.gfs-list summary{cursor:pointer;font-size:inherit}
.gfs-list[open] summary{margin-bottom:.25em}
.gfs-card .gfs-cast,.gfs-card .gfs-web-links{list-style:none;padding:0;margin:0}
.gfs-cast>li{margin:0 0 .35em;overflow-wrap:anywhere}.gfs-cast-role{font-style:italic}
.gfs-web{grid-column:1/-1;min-width:0}.gfs-web>h2{margin-top:0}
.gfs-card .gfs-web-links{display:flex;flex-wrap:wrap;gap:.6em}.gfs-web-links>li{min-width:0;max-width:100%;margin:0}.gfs-web-links .gfs-button{height:100%}
.gfs-web .gfs-list{margin-top:.7em}.gfs-web .gfs-list[open]>summary{margin-bottom:.7em}
@media(max-width:600px){.gfs-card--single{grid-template-columns:minmax(0,1fr)}.gfs-web-links>li,.gfs-web-links .gfs-button{width:100%}}
.gfs-filters{position:relative;z-index:3;margin:0 0 1.6em;padding:16px var(--gfs-filter-padding,24px);flex-basis:100%;grid-column:1/-1}
.gfs-filter-row,.gfs-directory-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5em;align-items:stretch;position:relative}.gfs-directory-tabs{margin-bottom:1.5em}.gfs-filter-row>.gfs-button,.gfs-filter-row>.gfs-dropdown{width:100%;min-width:0}.gfs-dropdown>summary{width:100%;height:100%}
.gfs-filters--center .gfs-selected{justify-content:center}.gfs-filters--left .gfs-button{justify-content:flex-start;text-align:left}
.gfs-filters--right .gfs-selected{justify-content:flex-end}.gfs-filters--right .gfs-button{justify-content:flex-end;text-align:right}
.gfs-button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;max-width:100%;white-space:normal;text-align:center;cursor:pointer;text-decoration:none;overflow-wrap:anywhere}
:where(.gfs-button){padding:.7em 1em;border-radius:3px;background:var(--ast-global-color-0,var(--wp--preset--color--contrast,#222));color:var(--wp--preset--color--base,#fff);font:inherit}
.gfs-button.gfs-active{box-shadow:inset 0 0 0 2px currentColor}
.gfs-dropdown{position:static;max-width:100%;margin:0;padding:0;border:0}
.gfs-dropdown>summary,.gfs-subcategories>summary{list-style:none}
.gfs-dropdown>summary::-webkit-details-marker,.gfs-subcategories>summary::-webkit-details-marker{display:none}
.gfs-dropdown[open]>summary>span,.gfs-subcategories[open]>summary>span{transform:rotate(180deg)}
.gfs-filters .gfs-options{position:absolute;inset-block-start:100%;inset-inline:0;z-index:9;display:block;margin:.25em 0 0;padding:0;min-width:0;max-width:100%;border:1px solid currentColor;border-radius:3px;box-shadow:0 5px 15px #0002;text-align:start;cursor:default}
.gfs-options ul.gfs-option-items{max-height:min(18rem,50vh);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;list-style:none;margin:0;padding:0}.gfs-options .gfs-all-terms{border-top:1px solid currentColor;font-weight:600}.gfs-options li{margin:0;padding:0;list-style:none}
.gfs-options a.gfs-button{display:flex;justify-content:flex-start;align-items:center;width:100%;min-height:max(44px,2.75rem);margin:0;padding:.5em .65em;border-radius:0;text-align:start;white-space:normal;overflow-wrap:anywhere;text-decoration:none}
.gfs-options a.gfs-button:hover,.gfs-options a.gfs-button:focus-visible{text-decoration:none}
.gfs-options .gfs-scroll-hint{display:block;margin:0;padding:.45em .65em;border:0;border-bottom:1px solid currentColor;border-radius:0;font-size:.8em;line-height:1.5;letter-spacing:normal;text-transform:none;text-align:center;cursor:default}
.gfs-selected{display:flex;flex-wrap:wrap;gap:.5em;margin-top:.6em;font-size:.86em}
.gfs-selected a{display:inline-block;padding:.2em .55em;border:1px solid currentColor;border-radius:3px;text-decoration:none}
.gfs-filters.gfs-filters--sidebar{padding:0;margin:0;z-index:auto}
.gfs-filters--sidebar .gfs-filter-row{grid-template-columns:minmax(0,1fr)}
.gfs-filters--sidebar .gfs-dropdown>summary{height:auto;min-height:44px;line-height:1.45}
.gfs-filters--sidebar .gfs-filter-row>.gfs-button{min-height:44px}
.gfs-dropdown>summary>span:last-child{flex-shrink:0}
.gfs-filters--sidebar .gfs-options{position:static;margin:.2em 0 0;width:100%}
.gfs-filters--sidebar .gfs-side-panel{margin:.2em 0 0}
.gfs-filters--sidebar .gfs-options ul.gfs-option-items{max-height:none;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto}
.gfs-filters--sidebar .gfs-side-panel .gfs-category-nav{gap:0}
.gfs-filters--sidebar .gfs-side-panel .gfs-button{width:100%;border-radius:0;min-height:44px;line-height:1.45}
.gfs-filters--sidebar .gfs-side-panel .gfs-subcategories>summary{width:2.75em}
.gfs-filters--sidebar .gfs-index-widget{padding:.35em 0}
.gfs-category-nav,.gfs-category-children{display:grid;gap:.4em}
.gfs-category-nav .gfs-button{width:100%;min-height:44px}
.gfs-category-branch{position:relative;min-width:0}
.gfs-category-branch>.gfs-button{padding-inline-end:3.5em}
.gfs-subcategories{margin:0;padding:0;border:0}
.gfs-subcategories>summary{position:absolute;inset-inline-end:0;top:0;width:2.75em;min-height:44px;padding-inline:.5em;border-inline-start:1px solid currentColor}
.gfs-category-children{gap:0;margin:.15em 0 .4em}
.gfs-category-children .gfs-button{border-radius:0}
.gfs-index-letters{display:grid;grid-template-columns:repeat(auto-fit,minmax(36px,1fr));gap:2px}
.gfs-index-letters>a,.gfs-index-letters>span{display:flex;align-items:center;justify-content:center;min-height:36px}
.gfs-index-letters>span{opacity:.4}
.gfs-index-letters>a:hover{background:#8882}
.gfs-index-all{margin:.6em 0 0}
.gfs-directory .gfs-alphabet{display:flex;flex-wrap:wrap;gap:.35em;margin:1.5em 0 2em}
.gfs-alphabet .gfs-button,.gfs-letter-empty{min-width:2.4em;min-height:2.4em;padding:.4em;display:inline-flex;align-items:center;justify-content:center}
.gfs-letter-empty{opacity:.4;border:1px solid currentColor;border-radius:3px}
.gfs-letter h2{scroll-margin-top:6rem;padding-bottom:.3em;border-bottom:1px solid currentColor;margin-top:1.5em}
.gfs-directory ul.gfs-actor-names{list-style:none;margin:0;padding:0;columns:16rem;column-gap:2rem}
.gfs-actor-names li{break-inside:avoid;list-style:none;margin:0 0 .5em;padding:0;overflow-wrap:anywhere}
.gfs-filters a:focus-visible,.gfs-filters summary:focus-visible,.gfs-card summary:focus-visible,.gfs-directory a:focus-visible,.gfs-index-widget a:focus-visible,.gfs-index-widget summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:600px){.gfs-filter-row,.gfs-directory-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.gfs-filter-row>.gfs-button,.gfs-filter-row>.gfs-dropdown>summary,.gfs-directory-tabs>.gfs-button{min-height:44px;padding-inline:.5em;gap:.25em}.gfs-card{gap:min(var(--gfs-gap,28px),18px)}.gfs-meta{font-size:inherit}}
@media(max-width:480px){.gfs-card--equal{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.gfs-filter-row,.gfs-directory-tabs{grid-template-columns:minmax(0,1fr)}}
@media(pointer:coarse){.gfs-index-letters{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.gfs-index-letters>a,.gfs-index-letters>span{min-height:44px}}
@media print{.gfs-filters,.gfs-alphabet,.gfs-index-widget{display:none}.gfs-list:not([open])>div{display:block!important}.gfs-list summary{display:none}.gfs-card{break-inside:avoid}}

.gfs-thumbnail-wrap{display:block;position:relative;width:100%}.gfs-thumbnail-wrap img{display:block;width:100%;height:auto}
.gfs-date-badge{position:absolute;inset-block-start:.75em;inset-inline-start:.75em;z-index:1;max-width:calc(100% - 1.5em);padding:.4em .65em;background:var(--ast-global-color-0,var(--wp--preset--color--contrast,#222));color:var(--wp--preset--color--base,#fff);font-size:1rem;line-height:1.4;font-weight:600;pointer-events:none}
.gfs-date-on-cover .posted-on,.gfs-date-on-cover .entry-meta .entry-date,.gfs-date-on-cover .wp-block-post-date,.gfs-date-on-cover .ast-date-meta{display:none}
.gfs-filters--sidebar .gfs-actor-index{margin-top:1em;min-width:0;text-align:start}.gfs-actor-index>h3{font-size:inherit;margin:0 0 .5em;font-weight:700}
.gfs-meta,.gfs-index-widget,.gfs-directory ul.gfs-actor-names,.gfs-plot{font-size:inherit}.gfs-plot{margin:0 0 1.8em}.gfs-plot>h2{margin-top:0}

.gfs-filters .gfs-options,.gfs-options a.gfs-button,.gfs-index-widget .gfs-button{font-size:inherit}

/* One rule after the introduction; optional archive rules keep theme containers. */
hr.gfs-accent{display:block;clear:both;width:100%;max-width:none;height:0;padding:0;border:0;border-top:var(--gfs-accent-width,1px) solid var(--gfs-accent-color,var(--ast-global-color-0,var(--wp--preset--color--accent,currentColor)));background:none;margin:var(--gfs-accent-gap,24px) 0}
.gfs-card:has(+hr.gfs-accent),.gfs-plot:has(+hr.gfs-accent){margin-bottom:0}
.gfs-archive-view .gfs-archive-accent{border-bottom:var(--gfs-accent-width,1px) solid var(--gfs-accent-color,var(--ast-global-color-0,var(--wp--preset--color--accent,currentColor)));padding-bottom:var(--gfs-accent-gap,24px);margin-bottom:var(--gfs-accent-gap,24px)}
.gfs-date-badge[data-layout="calendar"]{inset-block-start:0;inset-inline-start:0;width:clamp(56px,28%,110px);max-width:100%;aspect-ratio:1;display:grid;place-items:center;text-align:center;padding:.35em;font-size:clamp(12px,.9rem,16px);font-weight:400}
.gfs-date-calendar{display:grid;gap:.05em;line-height:1.15}.gfs-date-calendar strong{font-size:2.2em;line-height:1;font-weight:700}

/* Detailed information belongs after the review; its colors never affect the upper card. */
.gfs-single-layout{min-width:0}.gfs-card.gfs-info-box{margin-top:2em;padding:clamp(16px,3vw,28px);background:var(--gfs-info-background,transparent);color:var(--gfs-info-color,inherit)}
.gfs-info-intro{grid-column:1/-1;min-width:0}.gfs-info-intro>h2{margin:0 0 .6em;color:inherit}.gfs-info-intro>p:last-child{margin-bottom:0}.gfs-info-box .gfs-meta,.gfs-info-box .gfs-meta dt,.gfs-info-box .gfs-meta dd,.gfs-info-box .gfs-info-intro,.gfs-info-box summary{color:inherit}
.gfs-info-box a,.gfs-info-box a:hover,.gfs-info-box a:focus{color:var(--gfs-info-link-color,var(--gfs-info-color,var(--ast-global-color-0,inherit)))}
.gfs-web.gfs-web--plain{margin:2em 0 0;clear:both}.gfs-web--plain .gfs-web-entry{margin:0 0 1.2em;overflow-wrap:anywhere}.gfs-web--plain .gfs-web-entry:last-child{margin-bottom:0}.gfs-web--plain .gfs-web-entry a{overflow-wrap:anywhere}
.gfs-content-heading{margin-top:1.2em}.gfs-plot-details>summary{cursor:pointer;list-style:none}.gfs-plot-details>summary::-webkit-details-marker{display:none}.gfs-plot-details>summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}.gfs-plot-details>summary>span{text-decoration:underline;text-underline-offset:.15em}.gfs-plot-details .gfs-when-open{display:none}.gfs-plot-details[open] .gfs-when-open{display:inline}.gfs-plot-details[open] .gfs-when-closed{display:none}.gfs-plot:has(>.gfs-plot-details[open])>.gfs-plot-preview{display:none}.gfs-plot-full{margin-top:1em}
@media(pointer:coarse){.gfs-plot-details>summary{min-height:44px;display:flex;align-items:center}}
@media print{.gfs-plot-preview,.gfs-plot-details>summary{display:none}.gfs-plot-details:not([open])>.gfs-plot-full{display:block!important}}
