/* V32. Scoped visual refinement of V31. Original header, artwork, logos and theme engine are untouched. */
body.py30-home { --p32-chip:#eaf5f5; --p32-chip-ink:#007e84; }
.py30-home .py30-section { margin-top:32px; }
.py30-home .py30-section-label h2 { font-size:21px; letter-spacing:-.55px; }
/* Smaller original category artwork. Independent scrolling stays inside the page. */
.py30-home .py31-original-categories { gap:12px; padding:4px 1px 17px; scrollbar-width:none; }
.py30-home .py31-original-categories::-webkit-scrollbar { display:none; }
.py30-home .py31-original-categories .py30-category { flex:0 0 calc((100% - 84px)/8); min-width:126px; min-height:112px; padding:14px 9px 12px; gap:9px; border-radius:17px; background:var(--p30-surface); border:1px solid var(--p30-line); box-shadow:0 6px 18px #29474e08; transition:transform .18s,box-shadow .18s; }
.py30-home .py31-original-categories .py31-category-image,.py30-home .py31-original-categories .py30-icon-box { width:48px; height:48px; border-radius:13px; flex:none; font-size:25px; }
.py30-home .py31-original-categories .py31-category-image img { width:43px; height:43px; object-fit:contain; }
.py30-home .py31-original-categories .py30-category>span:last-child { font-size:11px; line-height:1.4; min-height:30px; display:flex; align-items:center; justify-content:center; }
.py30-home .py31-original-categories .py30-category:hover { transform:translateY(-2px); box-shadow:0 9px 22px #187a7812; }
/* The fuller, rounded card requested in the reference. */
.py30-home .py32-card { display:flex; flex-direction:column; border:1px solid var(--p30-line); border-radius:23px; overflow:hidden; box-shadow:0 9px 28px rgba(25,55,65,.065); transition:box-shadow .2s,transform .2s; }
.py30-home .py32-card .py30-card-media { height:auto!important; aspect-ratio:2.15; min-height:0; position:relative; background:#eef5f5; }
.py30-home .py32-card .py31-cover-link { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; }
.py30-home .py32-card .py31-real-cover { width:100%; height:100%; object-fit:cover; object-position:center; }
.py30-home .py32-card .py30-business-logo { position:absolute; width:76px; height:76px; min-width:0; bottom:-27px; left:18px; padding:7px; border:0; border-radius:21px; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px #18394112; z-index:2; overflow:hidden; }
.py30-home .py32-card .py30-business-logo img { width:100%; height:100%; border-radius:13px; object-fit:contain; transform:none!important; filter:none!important; }
.py30-home .py32-card .py30-card-body { padding:37px 18px 18px; display:flex; flex-direction:column; flex:1; }
.py30-home .py32-card-heading { display:flex; gap:8px; align-items:flex-start; justify-content:space-between; }
.py30-home .py32-card h3 { min-width:0; font-size:18px; line-height:1.3; font-weight:750; letter-spacing:-.65px; padding-top:3px; }
.py30-home .py32-card h3 a { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.py30-home .py32-favorite { flex:none; width:32px; min-height:32px; display:grid; place-items:center; }
.py30-home .py32-favorite :is(a,button) { display:grid!important; place-items:center; width:32px!important; height:32px!important; padding:3px!important; border:0!important; background:transparent!important; color:#889ca6; box-shadow:none!important; font-size:22px; line-height:1; border-radius:7px; }
.py30-home .py32-favorite :is(a,button):hover { color:#009798; background:#eaf8f8!important; }
.py30-home .py32-favorite .active { color:#e35272!important; }
.py30-home .py32-card-domain { color:var(--p30-muted); font-size:13px; line-height:1.5; margin-top:8px!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-height:20px; }
.py30-home .py32-rating { display:flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:14px; margin-top:12px; margin-bottom:13px; }
.py30-home .py32-rating .py32-rating-art { width:108px; height:21px; object-fit:contain; object-position:left center; margin-right:4px; }
.py30-home .py32-rating strong { font-weight:750; }
.py30-home .py32-card-meta { display:flex; align-items:center; gap:7px; margin-top:auto; min-height:32px; }
.py30-home .py32-chip { display:inline-flex; align-items:center; gap:5px; background:var(--p32-chip); color:var(--p32-chip-ink); padding:7px 10px; border-radius:11px; font-size:11px; font-weight:700; line-height:1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.py30-home .py32-chip:first-child:not(.py32-city-chip) { display:block; flex:0 1 auto; }
.py30-home .py32-city-chip { flex:0 0 auto; max-width:44%; }
.py30-home .py32-city-chip span { overflow:hidden; text-overflow:ellipsis; }
.py30-home .py32-city-chip svg { flex:none; }
.py30-home .py32-card .py30-verified { left:auto; right:11px; top:11px; font-size:9px; box-shadow:0 3px 8px #14464b13; }
/* Edge-to-edge brand artwork, not a stock scene. The source logo is displayed unchanged. */
.py30-home .py32-card .py32-brand-cover { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 44%; width:100%; height:100%; min-height:0; padding:16px 19px 22px; gap:11px; align-items:center; overflow:hidden; isolation:isolate;
 background:radial-gradient(ellipse at 100% 0,hsl(var(--py32-hue),54%,78%),transparent 70%),linear-gradient(120deg,hsl(var(--py32-hue),48%,97%) 0%,hsl(var(--py32-hue),44%,92%) 42%,hsl(var(--py32-hue),55%,85%) 100%); }
.py30-home .py32-brand-cover::before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,#fff9,transparent 45%); z-index:-1; }
.py30-home .py32-brand-cover .py32-brand-lines { position:absolute; inset:0; width:100%; height:100%; color:hsl(var(--py32-hue),40%,47%); opacity:.7; z-index:-1; }
.py30-home .py32-brand-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; gap:7px; color:hsl(var(--py32-hue),40%,20%); }
.py30-home .py32-brand-rule { width:27px; height:4px; background:hsl(var(--py32-hue),56%,41%); border-radius:9px; }
.py30-home .py32-brand-cover .py32-brand-copy strong { font-size:clamp(12px,1.06vw,16px); line-height:1.3; font-weight:750; text-align:left; color:inherit; max-width:100%; -webkit-line-clamp:2; }
.py30-home .py32-brand-copy small { font-size:9px; line-height:1.4; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; opacity:.8; }
.py30-home .py32-brand-cover .py32-brand-emblem { position:relative; width:100%; max-width:125px; height:auto; aspect-ratio:1.12; padding:10px; background:#fff; border:1px solid #ffffffb3; border-radius:21px; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 25px #25434b15,inset 0 0 0 1px #fff; justify-self:end; overflow:hidden; }
.py30-home .py32-brand-emblem .py31-brand-logo { position:relative; z-index:1; background:#fff; width:100%; height:100%; object-fit:contain; border-radius:8px; filter:none!important; transform:none!important; }
.py30-home .py32-brand-initial { position:absolute; inset:0; display:grid; place-items:center; color:hsl(var(--py32-hue),50%,35%); font-size:30px; font-weight:800; }
/* Permanent link to the existing full FAQ, not conditional on an empty list. */
.py30-home .py30-faq { border-radius:11px; margin-top:8px; }
.py30-home .py30-faq summary { min-height:50px; font-size:13px; padding:14px 16px; }
.py30-home .py32-faq-cta { margin-top:17px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 18px; border-radius:15px; border:1px solid #d8eeec; background:linear-gradient(115deg,#effaf8,#f7fcfd); }
.py30-home .py32-faq-cta strong { font-size:14px; color:#174b4d; }
.py30-home .py32-faq-cta p { font-size:11px; line-height:1.55; color:#627e83; margin-top:4px!important; }
.py30-home .py32-faq-button { flex:none; min-height:43px; padding:11px 14px; font-size:11px; color:#fff!important; border-radius:10px; }
/* Explicit Dark/System still follow the original AYLINE engine. Light remains light. */
html[data-pesyje-theme="dark"] .py30-home { --p32-chip:#233f46; --p32-chip-ink:#8de0da; }
html[data-pesyje-theme="dark"] .py30-home .py32-faq-cta { background:#203a40; border-color:#31515a; }
html[data-pesyje-theme="dark"] .py30-home .py32-faq-cta strong { color:#e5fbfa; }
html[data-pesyje-theme="dark"] .py30-home .py32-faq-cta p { color:#bbd0d2; }
@media(hover:hover){.py30-home .py32-card:hover { transform:translateY(-3px); box-shadow:0 15px 32px rgba(25,75,80,.1); }}
@media(max-width:1100px){.py30-home .py32-faq-cta { align-items:flex-start; flex-direction:column; gap:12px; }}
@media(max-width:767px){
 .py30-home .py31-original-categories { gap:9px; padding-bottom:13px; }
 .py30-home .py31-original-categories .py30-category { flex:0 0 104px; min-width:104px; padding:11px 7px 10px; min-height:102px; border-radius:15px; gap:7px; }
 .py30-home .py31-original-categories .py31-category-image,.py30-home .py31-original-categories .py30-icon-box { width:42px; height:42px; border-radius:12px; }
 .py30-home .py31-original-categories .py31-category-image img { width:38px; height:38px; }
 .py30-home .py31-original-categories .py30-category>span:last-child { font-size:10px; }
 .py30-home .py30-featured-track { grid-auto-columns:82%; max-width:100%; }
 .py30-home .py32-card { border-radius:21px; }
 .py30-home .py32-card h3 { font-size:17px; }
 .py30-home .py32-card .py30-business-logo { width:70px; height:70px; left:16px; bottom:-24px; border-radius:19px; }
 .py30-home .py32-card .py30-card-body { padding:32px 16px 16px; }
 .py30-home .py32-card-domain { font-size:12px; }
 .py30-home .py32-rating { font-size:13px; }
 .py30-home .py32-chip { font-size:10px; padding:7px 9px; }
 .py30-home .py32-brand-cover .py32-brand-copy strong { font-size:14px; }
 .py30-home .py30-section-label h2 { font-size:19px; }
 .py30-home .py30-faq summary { font-size:12px; }
 .py30-home .py32-faq-cta { flex-direction:column; align-items:stretch; }
 .py30-home .py32-faq-button { width:100%; justify-content:center; }
}
@media(prefers-reduced-motion:reduce){.py30-home .py32-card,.py30-home .py31-original-categories .py30-category { transition:none; transform:none; }}

/* V32.1: compact category rail + horizontally scrollable popular tags. */
.py30-home .py30-popular {
  display:flex!important;
  align-items:center;
  flex-wrap:nowrap!important;
  gap:8px;
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:hidden;
  padding:2px 2px 7px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  overscroll-behavior-inline:contain;
}
.py30-home .py30-popular::-webkit-scrollbar { display:none; }
.py30-home .py30-popular > * { flex:0 0 auto!important; white-space:nowrap; scroll-snap-align:start; }
.py30-home .py30-popular > strong { position:sticky; left:0; z-index:2; padding-right:7px; background:linear-gradient(90deg,rgba(14,31,43,.96) 76%,rgba(14,31,43,0)); }

.py30-home .py31-original-categories {
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden;
  width:100%;
  max-width:100%;
  gap:10px;
  padding:4px 2px 14px;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  overscroll-behavior-inline:contain;
  cursor:grab;
}
.py30-home .py31-original-categories:active { cursor:grabbing; }
.py30-home .py31-original-categories .py30-category {
  flex:0 0 142px!important;
  min-width:142px!important;
  width:142px;
  min-height:103px;
  padding:11px 8px 10px;
  gap:7px;
  scroll-snap-align:start;
}
.py30-home .py31-original-categories .py31-category-image,
.py30-home .py31-original-categories .py30-icon-box { width:43px; height:43px; border-radius:12px; }
.py30-home .py31-original-categories .py31-category-image img { width:39px; height:39px; }
.py30-home .py31-original-categories .py30-category>span:last-child { font-size:10.5px; line-height:1.3; min-height:27px; }

@media(max-width:767px){
  .py30-home .py30-popular { gap:7px; padding-bottom:6px; }
  .py30-home .py31-original-categories { gap:8px; padding-bottom:11px; }
  .py30-home .py31-original-categories .py30-category { flex-basis:108px!important; min-width:108px!important; width:108px; min-height:94px; padding:9px 6px 8px; }
  .py30-home .py31-original-categories .py31-category-image,
  .py30-home .py31-original-categories .py30-icon-box { width:38px; height:38px; }
  .py30-home .py31-original-categories .py31-category-image img { width:35px; height:35px; }
  .py30-home .py31-original-categories .py30-category>span:last-child { font-size:9.5px; min-height:25px; }
}
