.frp-pl{margin:0 auto}
.frp-pl-filters{display:block;margin:0 0 1rem 0;position:relative}
.frp-pl-filters label{display:none}
.frp-filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.frp-filter-trigger{appearance:none;background:#fff;border:1px solid var(--frp-accent);color:var(--frp-accent);border-radius:999px;padding:.625rem .875rem;line-height:1;cursor:pointer;display:flex;align-items:center;gap:.5rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.frp-filter-bar .frp-filter-trigger{padding:10px 19px 10px 30px !important;border-color:var(--frp-accent) !important;}
.frp-filter-trigger.is-open{border-color:var(--frp-accent)}
.frp-filter-panels{background:transparent;border-radius:.75rem;padding:0;margin-top:0;max-height:0;overflow:hidden;opacity:0;transform:translateY(4px);transition:max-height .25s ease,opacity .2s ease,transform .2s ease,padding .2s ease,margin .2s ease}
.frp-filter-panels.is-active{background:var(--frp-primary);padding:1rem;margin-top:.5rem;max-height:1000px;opacity:1;transform:none;margin-bottom:1rem}
.frp-filter-title{font-weight:700;margin:0 0 .5rem 0}
.frp-filter-section{display:none}
.frp-filter-section.is-visible{display:block}
.frp-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.frp-filter-trigger{color:inherit}
.frp-trigger-ico{width:18px;height:16px;display:inline-block;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.frp-trigger-ico{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5" viewBox="0 0 10 5"><path d="M9.8668 0.711611L5.32157 4.87781C5.27936 4.91655 5.22923 4.94728 5.17405 4.96824C5.11888 4.98921 5.05973 5 5 5C4.94027 5 4.88112 4.98921 4.82594 4.96824C4.77077 4.94728 4.72064 4.91655 4.67842 4.87781L0.133201 0.711611C0.0479136 0.633436 0 0.527408 0 0.416852C0 0.306296 0.0479136 0.200268 0.133201 0.122093C0.218487 0.043918 0.334161 0 0.454775 0C0.575389 0 0.691063 0.043918 0.77635 0.122093L5 3.99406L9.22365 0.122093C9.26588 0.0833846 9.31601 0.0526795 9.37119 0.0317308C9.42636 0.010782 9.4855 0 9.54522 0C9.60495 0 9.66408 0.010782 9.71926 0.0317308C9.77444 0.0526795 9.82457 0.0833846 9.8668 0.122093C9.90903 0.160801 9.94253 0.206755 9.96538 0.257329C9.98824 0.307904 10 0.36211 10 0.416852C10 0.471593 9.98824 0.525799 9.96538 0.576374C9.94253 0.626949 9.90903 0.672902 9.8668 0.711611Z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5" viewBox="0 0 10 5"><path d="M9.8668 0.711611L5.32157 4.87781C5.27936 4.91655 5.22923 4.94728 5.17405 4.96824C5.11888 4.98921 5.05973 5 5 5C4.94027 5 4.88112 4.98921 4.82594 4.96824C4.77077 4.94728 4.72064 4.91655 4.67842 4.87781L0.133201 0.711611C0.0479136 0.633436 0 0.527408 0 0.416852C0 0.306296 0.0479136 0.200268 0.133201 0.122093C0.218487 0.043918 0.334161 0 0.454775 0C0.575389 0 0.691063 0.043918 0.77635 0.122093L5 3.99406L9.22365 0.122093C9.26588 0.0833846 9.31601 0.0526795 9.37119 0.0317308C9.42636 0.010782 9.4855 0 9.54522 0C9.60495 0 9.66408 0.010782 9.71926 0.0317308C9.77444 0.0526795 9.82457 0.0833846 9.8668 0.122093C9.90903 0.160801 9.94253 0.206755 9.96538 0.257329C9.98824 0.307904 10 0.36211 10 0.416852C10 0.471593 9.98824 0.525799 9.96538 0.576374C9.94253 0.626949 9.90903 0.672902 9.8668 0.711611Z"/></svg>')}
/* Smooth label change */
.frp-trigger-label{display:inline-block;transition:opacity .18s ease,transform .18s ease}
.frp-trigger-label.is-changing{opacity:0;transform:translateY(2px)}
.frp-filter-trigger.is-open .frp-trigger-ico{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="16" viewBox="0 0 18 16"><path d="M5.48601 12H4L8.14336 7.89972L4.31469 4H5.81818L9.05245 7.33148L12.3566 4H13.8077L9.92657 7.92201L14 12H12.4965L9 8.46797L5.48601 12Z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="16" viewBox="0 0 18 16"><path d="M5.48601 12H4L8.14336 7.89972L4.31469 4H5.81818L9.05245 7.33148L12.3566 4H13.8077L9.92657 7.92201L14 12H12.4965L9 8.46797L5.48601 12Z"/></svg>')}
/* Years: 4 colonne su desktop */
.frp-filter[data-filter="frp_year"] .frp-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.frp-filter-opt{display:block;color:#fff !important;text-decoration:none;font-weight:600;cursor:pointer;padding:.25rem 0}
/* .frp-filter-opt:focus{outline:2px solid #fff;outline-offset:2px} */

.frp-pl-grid{display:grid;row-gap:2.5rem;column-gap:2rem}
.frp-pl-grid.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.frp-pl-grid.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.frp-pl-grid.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}

.frp-pl{--frp-primary:#0a8f49;--frp-accent:#00A651}
.frp-card{display:flex;flex-direction:column;background:transparent;border:none;border-bottom:2px solid #000;padding-bottom:2.1875rem}
.frp-card:hover{border-bottom-color:var(--frp-accent);transition:border-color .3s}
.frp-thumb{position:relative;overflow:hidden}
.frp-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.frp-body{padding:.5rem .375rem}
.frp-title{margin:.5rem 0 .375rem 0;font-size:1.3125rem !important;line-height:1.2;font-weight:700;color:var(--frp-primary);transition:color .4s}
.frp-title a{text-decoration:none;text-transform: uppercase;}
.frp-card:hover .frp-title a{color:var(--frp-accent)}
.frp-meta-city,.frp-meta-year{font-size:1.25rem;font-weight:500;line-height:1.2}
.frp-sep{display:none}
.frp-pl-more{text-align:center;margin-top:1rem;margin-bottom:1.5rem;padding:5.5rem 0}

/* Empty state & loader */
.frp-pl-grid .frp-pl-empty{grid-column:1/-1;text-align:center;padding:2rem 0;font-weight:600}
.frp-pl-loader{grid-column:1/-1;display:flex;justify-content:center;align-items:center;padding:1.5rem 0}
.frp-spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.15);border-top-color:var(--frp-accent);border-radius:50%;animation:frp-spin .8s linear infinite}
@keyframes frp-spin{to{transform:rotate(360deg)}}
/* Ensure filters and grid keep full width */
.frp-pl{display:block;width:100%}
.frp-filter-panels{width:100%}
.frp-pl-grid{width:100%}

/* Ensure bottom spacing when no Load More is present */
.frp-pl > .frp-pl-grid:last-child{padding-bottom:6rem}

/* Responsive */
@media (max-width: 1024px){
	.frp-pl-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
    .frp-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 767px){
	.frp-pl-filters{flex-wrap:wrap;gap:8px}
	.frp-pl-filters label{width:100%}
	.frp-pl-grid{grid-template-columns:repeat(1,minmax(0,1fr)) !important}
	.frp-body{padding:.5rem .625rem}
    .frp-filter-grid{grid-template-columns:repeat(1,minmax(0,1fr))}
}


