.fa-wrap{max-width:var(--fa-max);margin:0 auto;padding:calc(var(--fa-pady) + var(--fa-padt,0px)) var(--fa-padx) var(--fa-pady);background:var(--fa-bg);font-family:var(--fa-font);line-height:var(--fa-lh);color:var(--fa-text);box-sizing:border-box}
.fa-wrap *,.fa-wrap *::before,.fa-wrap *::after{box-sizing:border-box}
.fa-wrap a{text-decoration:none;color:inherit;transition:color .2s,background .2s,border-color .2s,transform .2s}
.fa-wrap img{display:block;width:100%;height:100%;object-fit:cover;margin:0;max-width:none}
.fa-wrap.fa-full{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(var(--fa-padx),calc((100vw - var(--fa-max))/2));padding-right:max(var(--fa-padx),calc((100vw - var(--fa-max))/2))}
.fa-wrap svg{flex:none;fill:none!important;stroke:currentColor!important;stroke-width:2;display:inline-block;max-width:none;vertical-align:middle}
html:has(.fa-wrap.fa-full),body:has(.fa-wrap.fa-full){overflow-x:clip}
.fa-wrap svg *{fill:none!important;stroke:currentColor!important}
.fa-wrap button,.fa-wrap input{box-shadow:none;text-shadow:none}

/* Hero */
.fa-hero{display:flex;align-items:center;gap:40px;background:var(--fa-section-bg);border-radius:var(--fa-radius);overflow:hidden;margin-bottom:32px;min-height:var(--fa-hero-h)}
.fa-hero-body{flex:1 1 45%;padding:32px 40px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.fa-hero-img{position:relative;flex:1 1 55%;align-self:stretch;min-height:max(240px,var(--fa-hero-h));display:block;overflow:hidden}
.fa-hero-img .fa-clip{position:absolute;inset:16px;width:auto;height:auto;border-radius:var(--fa-radius)}
.fa-hero-img img{object-fit:var(--fa-hero-fit,contain)}
.fa-card-img img{object-fit:var(--fa-card-fit,cover)}
.fa-hero-label{font-size:var(--fa-fs-hero-label);color:var(--fa-muted)}
.fa-hero-title{margin:0;font-size:var(--fa-fs-hero);font-weight:var(--fa-fw-title);line-height:1.5;color:var(--fa-title)}
.fa-hero-title a:hover{color:var(--fa-accent)}
.fa-hero-excerpt{margin:0;font-size:var(--fa-fs-hero-ex);color:var(--fa-text)}
.fa-hero-meta{font-size:var(--fa-fs-meta);color:var(--fa-muted)}
.fa-hero-link{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-weight:600;color:var(--fa-primary);border-bottom:2px solid var(--fa-primary);padding-bottom:3px}
.fa-hero-link:hover{color:var(--fa-accent);border-color:var(--fa-accent)}

/* Bar */
.fa-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.fa-find{position:relative;flex:0 1 280px;min-width:200px;margin:0;padding:0;background:none;border:0}
.fa-wrap .fa-find input.fa-q{display:block;width:100%;height:44px;margin:0;border:1px solid var(--fa-border)!important;background:var(--fa-section-bg)!important;color:var(--fa-title)!important;border-radius:999px!important;padding:0 18px!important;padding-inline-end:46px!important;font:inherit;font-size:var(--fa-fs-chip);line-height:44px;outline:0;box-shadow:none!important;-webkit-appearance:none;appearance:none}
.fa-wrap .fa-find input.fa-q:focus{border-color:var(--fa-accent)!important;background:var(--fa-card-bg)!important}
.fa-find-ico{position:absolute;top:0;bottom:0;inset-inline-end:0;width:44px;color:var(--fa-primary);display:flex;align-items:center;justify-content:center;pointer-events:none}
.fa-find-ico svg{width:18px;height:18px}
.fa-cats{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 320px;min-width:0}
.fa-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:999px;background:var(--fa-chip-bg);color:var(--fa-chip-text);border:1px solid var(--fa-border);font-size:var(--fa-fs-chip);line-height:1.6;white-space:nowrap}
.fa-chip:hover{border-color:var(--fa-accent);color:var(--fa-accent)}
.fa-chip.is-active{background:var(--fa-chip-a-bg);color:var(--fa-chip-a-text);border-color:var(--fa-chip-a-bg)}
.fa-count{font-size:.8em;opacity:.7}

/* Grid */
.fa-grid{display:grid;grid-template-columns:repeat(var(--fa-cols,3),minmax(0,1fr));gap:var(--fa-gap)}
.fa-card{position:relative;background:var(--fa-card-bg);border:1px solid var(--fa-border);border-radius:var(--fa-radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--fa-shadow);transition:transform .25s,box-shadow .25s}
.fa-card:hover{transform:translateY(-4px)}
.fa-card-img{position:relative;display:block;aspect-ratio:var(--fa-ratio);background:var(--fa-section-bg)}
.fa-clip{display:block;width:100%;height:100%;overflow:hidden}
.fa-card-img img{transition:transform .5s}
.fa-card:hover .fa-card-img img{transform:scale(1.05)}
.fa-noimg{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--fa-section-bg),var(--fa-border))}
.fa-badge{position:absolute;inset-inline-end:14px;bottom:0;transform:translateY(50%);background:var(--fa-badge-bg);color:var(--fa-badge-text);font-size:var(--fa-fs-meta);padding:3px 14px;border-radius:999px;border:1px solid var(--fa-border);line-height:1.8;z-index:2}
.fa-card-body{padding:22px 18px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.fa-card-title{margin:0;font-size:var(--fa-fs-card);font-weight:var(--fa-fw-title);line-height:1.7;color:var(--fa-title)}
.fa-card-title a:hover{color:var(--fa-accent)}
.fa-card-excerpt{margin:0;font-size:var(--fa-fs-excerpt);color:var(--fa-text)}
.fa-price{font-weight:700;color:var(--fa-primary);font-size:var(--fa-fs-card)}
.fa-price del{opacity:.5;font-weight:400;font-size:.8em}
.fa-price ins{text-decoration:none}
.fa-card-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--fa-fs-meta);color:var(--fa-muted)}
.fa-date{display:inline-flex;align-items:center;gap:6px}
.fa-arrow{display:inline-flex;color:var(--fa-primary);margin-inline-start:auto}
.fa-arrow:hover{color:var(--fa-accent);transform:translateX(-3px)}
[dir=ltr] .fa-arrow:hover{transform:translateX(3px)}
.fa-empty{padding:48px 16px;text-align:center;color:var(--fa-muted);background:var(--fa-section-bg);border-radius:var(--fa-radius)}

/* Pager */
.fa-pns{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:36px;flex-wrap:wrap}
.fa-pn{min-width:40px;height:40px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--fa-border);background:var(--fa-card-bg);color:var(--fa-chip-text);font-size:var(--fa-fs-chip)}
a.fa-pn:hover{border-color:var(--fa-accent);color:var(--fa-accent)}
.fa-pn.is-current{background:var(--fa-btn-bg);color:var(--fa-btn-text);border-color:var(--fa-btn-bg)}
.fa-pn-dots{border:0;background:none}
.fa-pns-more{margin-top:36px}
.fa-more{display:inline-flex;align-items:center;gap:10px;background:var(--fa-btn-bg);color:var(--fa-btn-text)!important;padding:12px 32px;border-radius:999px;font-size:var(--fa-fs-chip);font-weight:600}
.fa-more:hover{background:var(--fa-accent)}
.fa-more.is-loading{opacity:.6;pointer-events:none}

.fa-results{transition:opacity .2s;min-height:120px}
.fa-wrap.is-loading .fa-results,.fa-wrap.is-loading .fa-hero-slot{opacity:.45;pointer-events:none}

@media (max-width:1024px){
	.fa-grid{grid-template-columns:repeat(min(var(--fa-cols,3),2),minmax(0,1fr))}
	.fa-hero-body{padding:28px}
	.fa-hero-title{font-size:calc(var(--fa-fs-hero)*.8)}
}
@media (max-width:700px){
	.fa-hero{flex-direction:column-reverse;gap:0;align-items:stretch}
	.fa-hero-body{padding:22px 20px}
	.fa-hero-img{min-height:210px;flex:none}
	.fa-hero-title{font-size:calc(var(--fa-fs-hero)*.65)}
	.fa-grid{grid-template-columns:1fr}
	.fa-bar{flex-direction:column;align-items:stretch}
	.fa-find{flex:none;width:100%}
	.fa-bar{gap:14px}
	.fa-wrap,.fa-wrap.fa-full{padding-top:calc(var(--fa-pady) + var(--fa-padt-m,0px))}
	.fa-wrap,.fa-wrap.fa-full{width:100%;max-width:100%;margin-left:0;margin-right:0;padding-left:max(var(--fa-padx),16px);padding-right:max(var(--fa-padx),16px)}
	.fa-cats{flex:none;width:100%;align-items:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
	.fa-chip{flex:none}
	.fa-pns{gap:6px}
	.fa-pn{min-width:36px;height:36px}
	.fa-cats::-webkit-scrollbar{display:none}
}

/* Header banner */
.fa-head{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;width:100%;min-height:var(--fa-h-height);padding:var(--fa-padt) 16px 32px;background-color:var(--fa-h-bg);background-size:cover;background-position:var(--fa-h-pos);background-repeat:no-repeat;font-family:var(--fa-font);isolation:isolate;overflow:hidden}
.fa-head::before{content:"";position:absolute;inset:0;background:var(--fa-h-overlay);z-index:-1}
.fa-head.fa-full{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.fa-head *{box-sizing:border-box}
.fa-head-in{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:900px}
.fa-head .fa-head-logo{display:block;width:var(--fa-h-logo);max-width:70vw;height:auto;margin:0;object-fit:contain}
.fa-head .fa-head-title{margin:0;color:var(--fa-h-title-c);font-size:var(--fa-h-title);font-weight:var(--fa-fw-title,700);line-height:1.6}
.fa-wrap.fa-has-head,.fa-wrap.fa-has-head.fa-full{padding-top:calc(var(--fa-pady) + 32px)}
@media (max-width:700px){
	.fa-head{min-height:var(--fa-h-height-m);padding-top:var(--fa-padt-m)}
	.fa-head .fa-head-logo{width:var(--fa-h-logo-m)}
	.fa-head .fa-head-title{font-size:var(--fa-h-title-m)}
	.fa-wrap.fa-has-head,.fa-wrap.fa-has-head.fa-full{padding-top:calc(var(--fa-pady) + 24px)}
}
