/* Fluid festival discovery, with bounded controls and readable cards. */
.platform .search-hero{padding:26px clamp(16px,2vw,36px) 30px}
.platform .search-hero h1{font-size:clamp(28px,3vw,40px);line-height:1.15;margin:10px 0}
.platform .search-hero>p:not(.hero-overline){font-size:16px;margin:0 0 22px}
.platform .search-hero .psearch{max-width:880px;height:52px;min-height:52px;margin:0}
.platform .search-hero .psearch input{font-size:15px;min-width:0}
.platform .search-hero .psearch button{height:44px;min-height:44px;flex-shrink:0}
.platform .festival-search{display:grid;grid-template-columns:276px minmax(0,1fr);width:100%;align-items:start}
.platform .festival-search .filter-sidebar{display:block;width:auto;min-width:0;padding:24px 22px;background:var(--color-white);border-right:1px solid var(--line);align-self:stretch}
.platform .search-filters>summary{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;list-style:none;cursor:pointer;min-height:44px;margin-bottom:18px}
.platform .search-filters>summary::-webkit-details-marker{display:none}
.platform .search-filters>summary:after{content:'−';margin-left:auto;color:var(--purple)}
.platform .search-filters:not([open])>summary:after{content:'+'}
.platform .festival-search .pfield{margin-bottom:18px;min-width:0}
.platform .festival-search .pfield>span{font-size:13px;font-weight:600}
.platform .search-help{font-size:12px;line-height:1.5;margin:-8px 0 22px;color:var(--color-text-secondary)}
.platform .search-filter-form>.pbtn{width:100%}
.platform .search-clear{display:flex;min-height:44px;align-items:center;justify-content:center;margin-top:8px;font-size:13px}
.platform .festival-search .explore-results{min-width:0;padding:24px clamp(16px,2vw,32px);width:100%}
.platform .festival-search .results-toolbar{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}
.platform .festival-search .results-toolbar>strong{font-size:17px}
.platform .search-sort{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.platform .search-sort .pfield{margin:0;max-width:220px}
.platform .search-sort .pbtn{min-height:44px}
.platform .search-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.platform .search-active-filters:empty{display:none}
.platform .search-active-filters .filter-chip{display:inline-flex;align-items:center;gap:10px;border-radius:20px;background:var(--color-brand-tint-3);color:#5515df;padding:8px 12px;min-height:36px;max-width:100%;overflow-wrap:anywhere;font-size:12px;text-decoration:none}
.platform .festival-search .explore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.platform .search-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:12px}
.platform .search-card .pcard-cover{height:clamp(126px,9vw,190px);flex-shrink:0}
.platform .search-card .pcard-body{display:flex;flex-direction:column;flex:1;padding:0 14px 16px}
.platform .search-card .pcard-title{display:flex;gap:10px;min-height:80px;align-items:center}
.platform .search-card .pcard-title .festival-logo{width:50px;height:50px;flex:0 0 50px;margin-top:-20px}
.platform .search-card .pcard-title h3{font-size:16px;line-height:1.4;overflow-wrap:anywhere;margin:14px 0 10px}
.platform .search-card .pcard-title a{color:inherit;text-decoration:none}
.platform .search-card .country{display:flex;gap:6px;align-items:center;font-size:12px;line-height:1.5;margin:4px 0 10px}
.platform .search-card .country svg{width:14px;height:14px;flex-shrink:0}
.platform .search-types{font-size:12px;line-height:1.6;color:var(--color-text-secondary);margin:0 0 16px}
.platform .search-card .pcard-deadline{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px;line-height:1.5;margin: auto 0 12px}
.platform .search-card .pcard-deadline>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.platform .search-card .pcard-deadline>div:last-child{text-align:end}
.platform .search-card .pcard-deadline small{font-size:11px}
.platform .search-card .search-match-count{font-size:11px;color:var(--color-text-secondary);margin-bottom:12px}
.platform .search-card .pcard-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.platform .search-card .pcard-buttons .pbtn{min-height:42px;font-size:12px;padding:9px 7px;white-space:normal}
.platform .search-pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;font-size:13px;flex-wrap:wrap}
.platform .search-pagination nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.platform .search-pagination nav>a,.platform .search-pagination nav>span{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid #dedfff;border-radius:8px;background:var(--color-white)}
.platform .search-pagination [aria-current=page]{background:var(--color-brand);color:var(--color-white);border-color:var(--color-brand)}
.platform .search-pagination nav>.page-gap{border:0;background:transparent;min-width:10px}
.platform #festival-results{scroll-margin-top:90px}
.platform .festival-search :is(a,button,summary,input,select):focus-visible{outline:3px solid var(--color-purple-400);outline-offset:3px}
@media(max-width:1300px){.platform .festival-search .explore-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.platform .festival-search{grid-template-columns:248px minmax(0,1fr)}.platform .festival-search .explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .platform .festival-search{grid-template-columns:minmax(0,1fr)}
 .platform .festival-search .filter-sidebar{padding:14px 20px;border-right:0;border-bottom:1px solid var(--line)}
 .platform .search-filters>summary{margin:0}
 .platform .search-filter-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding-top:20px}
 .platform .search-filter-form .search-help{grid-column:1/-1}
 .platform .search-card .pcard-cover{height:170px}
 .platform .search-filters:not([open])>.search-filter-form{display:none}
}
@media(max-width:600px){
 .platform .search-hero .psearch input{font-size:16px}
 .platform .search-hero .psearch .pbtn{min-width:84px;width:auto;padding:8px 12px;font-size:13px}
 .platform .festival-search .explore-grid,.platform .search-filter-form{grid-template-columns:minmax(0,1fr)}
 .platform .festival-search .results-toolbar{align-items:start;flex-direction:column}
 .platform .search-sort{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
 .platform .search-sort .pfield{max-width:none}
 .platform .search-sort .pbtn{grid-column:1/-1}
 .platform .search-card .pcard-cover{height:174px}
 .platform .search-card .pcard-title h3{font-size:17px}
 .platform .search-card .pcard-buttons .pbtn{font-size:13px}
 .platform .search-card .pcard-deadline{font-size:13px}
 .platform .search-pagination nav{gap:6px}
 .platform .search-pagination nav>a,.platform .search-pagination nav>span{min-width:36px;height:40px;padding:0 5px}
}
