/* Põltsamaalt frontend styles */
:root {
    --pa-green: #16a34a;
    --pa-green-dark: #15803d;
    --pa-green-light: #dcfce7;
    --pa-bg: #f5f7f5;
    --pa-text: #1a1a1a;
    --pa-muted: #6b7280;
    --pa-border: #e5e7eb;
    --pa-card-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
    --pa-radius: 10px;
}

body.poltsamaalt-active {
    background: var(--pa-bg);
    color: var(--pa-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    margin: 0;
}
body.poltsamaalt-active * { box-sizing: border-box; }

/* Hide Astra leftovers when active */
body.poltsamaalt-active #masthead,
body.poltsamaalt-active .site-header,
body.poltsamaalt-active .ast-header-break-point .site-header,
body.poltsamaalt-active .site-footer,
body.poltsamaalt-active #colophon { display: none !important; }
body.poltsamaalt-active .ast-container,
body.poltsamaalt-active .site-content > .ast-container { max-width: 100%; padding: 0; }
body.poltsamaalt-active #content,
body.poltsamaalt-active .site-content,
body.poltsamaalt-active .entry-content,
body.poltsamaalt-active .ast-article-single,
body.poltsamaalt-active .single .ast-article-single { padding: 0; margin: 0; max-width: 100%; }
body.poltsamaalt-active .entry-header,
body.poltsamaalt-active .ast-single-post-order { display: none !important; }

/* Neutralize Astra link styling inside plugin UI */
body.poltsamaalt-active .pa-header a,
body.poltsamaalt-active .pa-footer a,
body.poltsamaalt-active .pa-cat-card,
body.poltsamaalt-active .pa-bcard-link-wrap,
body.poltsamaalt-active .pa-bcard a,
body.poltsamaalt-active .pa-offer-card a,
body.poltsamaalt-active .pa-news-card a,
body.poltsamaalt-active .pa-event-card a,
body.poltsamaalt-active .pa-section-link,
body.poltsamaalt-active .pa-mini-head a,
body.poltsamaalt-active .pa-tag,
body.poltsamaalt-active .pa-btn,
body.poltsamaalt-active .pa-info-list a,
body.poltsamaalt-active .pa-news-mini a,
body.poltsamaalt-active .pa-events-mini a,
body.poltsamaalt-active .pa-favorites { text-decoration: none !important; box-shadow: none !important; }

body.poltsamaalt-active .pa-cat-card,
body.poltsamaalt-active .pa-bcard-link-wrap,
body.poltsamaalt-active .pa-bcard-title,
body.poltsamaalt-active .pa-offer-body h3 a,
body.poltsamaalt-active .pa-news-body h3 a,
body.poltsamaalt-active .pa-event-body h3 a { color: var(--pa-text) !important; }

body.poltsamaalt-active .pa-section-link,
body.poltsamaalt-active .pa-mini-head a,
body.poltsamaalt-active .pa-offer-business a { color: var(--pa-green) !important; }

body.poltsamaalt-active .pa-btn-primary,
body.poltsamaalt-active .pa-btn-primary:hover,
body.poltsamaalt-active .pa-btn-primary:focus { color: #fff !important; background: var(--pa-green) !important; border: 0 !important; }
body.poltsamaalt-active .pa-btn-primary:hover { background: var(--pa-green-dark) !important; }

body.poltsamaalt-active img { max-width: 100%; height: auto; }

.pa-container,
body.poltsamaalt-active .pa-container {
    display: block !important;
    width: 100% !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.pa-main > section,
body.poltsamaalt-active .pa-main > section {
    display: grid !important;
    grid-template-columns: minmax(24px, 1fr) minmax(0, 1240px) minmax(24px, 1fr) !important;
}
.pa-main > section > .pa-container,
body.poltsamaalt-active .pa-main > section > .pa-container {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.pa-main > .pa-container,
body.poltsamaalt-active .pa-main > .pa-container {
    width: min(1240px, calc(100% - 48px)) !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Header */
.pa-header {
    background: #fff;
    border-bottom: 1px solid var(--pa-border);
    position: sticky;
    top: 0;
    z-index: 50;
    display: grid !important;
    grid-template-columns: minmax(24px, 1fr) minmax(0, 1680px) minmax(24px, 1fr) !important;
}
body.admin-bar.poltsamaalt-active .pa-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar.poltsamaalt-active .pa-header { top: 46px; } }
.pa-header-inner,
body.poltsamaalt-active .pa-header-inner {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex-wrap: nowrap !important;
}
.pa-logo { font-size: 24px; font-weight: 800; text-decoration: none !important; white-space: nowrap; line-height: 1; }
.pa-logo-main { color: var(--pa-green); }
.pa-logo-tld { color: var(--pa-text); font-size: 18px; }
.pa-nav { flex: 1 1 auto; min-width: 0; }
.pa-menu { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; align-items: center; }
.pa-menu > li { line-height: 1; }
body.poltsamaalt-active .pa-menu > li > a {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    color: var(--pa-text) !important;
    text-decoration: none !important;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.2;
    padding: 6px 0;
    white-space: nowrap;
}
body.poltsamaalt-active .pa-menu > li > a:hover { color: var(--pa-green) !important; }
.pa-caret { font-size: 10px; opacity: .7; margin-top: 1px; display: inline-block; transition: transform .15s; }
.pa-has-sub { position: relative; }
.pa-submenu { position: absolute; top: 100%; left: 0; background: #fff; border: 1px solid var(--pa-border); border-radius: var(--pa-radius); list-style: none; padding: 8px 0; min-width: 240px; box-shadow: 0 8px 24px rgba(0,0,0,.08); display: none; margin: 0; }
.pa-has-sub:hover .pa-submenu, .pa-has-sub:focus-within .pa-submenu { display: block; }
.pa-sub-toggle,
body.poltsamaalt-active .pa-sub-toggle,
body .pa-header .pa-sub-toggle {
    display: none !important;
    background: transparent !important;
    border: 0 !important;
    padding: 6px 8px !important;
    margin: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    color: var(--pa-text) !important;
    line-height: 1;
    width: auto;
    height: auto;
    min-width: 0;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
}
body.poltsamaalt-active .pa-has-sub > a::after {
    content: "▾";
    font-size: 10px;
    opacity: .7;
    margin-left: 4px;
}
@media (max-width: 820px) {
    body.poltsamaalt-active .pa-has-sub > a::after { content: none; }
}
body.poltsamaalt-active .pa-submenu a { display: block !important; padding: 10px 16px !important; color: var(--pa-text) !important; text-decoration: none !important; }
.pa-submenu a:hover { background: var(--pa-green-light); }
.pa-header-actions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.pa-favorites { display: inline-flex; align-items: center; gap: 6px; color: var(--pa-text) !important; text-decoration: none !important; font-weight: 500; font-size: 14px; white-space: nowrap; }
.pa-fav-count { background: var(--pa-green); color: #fff; border-radius: 999px; padding: 2px 8px; font-size: 12px; }
body.poltsamaalt-active .pa-burger {
    display: none;
    background: #fff !important;
    border: 1px solid var(--pa-border) !important;
    border-radius: 8px;
    padding: 0 !important;
    width: 44px; height: 40px;
    cursor: pointer; position: relative; flex-shrink: 0;
    box-shadow: none;
}
body.poltsamaalt-active .pa-burger span {
    display: block;
    position: absolute;
    left: 10px; right: 10px;
    height: 3px;
    background: var(--pa-green) !important;
    border-radius: 2px;
    transition: transform .2s, opacity .2s, top .2s;
}
body.poltsamaalt-active .pa-burger span:nth-child(1) { top: 11px; }
body.poltsamaalt-active .pa-burger span:nth-child(2) { top: 18px; }
body.poltsamaalt-active .pa-burger span:nth-child(3) { top: 25px; }
body.poltsamaalt-active .pa-header.is-open .pa-burger span:nth-child(1) { top: 18px; transform: rotate(45deg); }
body.poltsamaalt-active .pa-header.is-open .pa-burger span:nth-child(2) { opacity: 0; }
body.poltsamaalt-active .pa-header.is-open .pa-burger span:nth-child(3) { top: 18px; transform: rotate(-45deg); }
.pa-mobile-only-cta { display: none; }
body.poltsamaalt-active .pa-mobile-add {
    background: var(--pa-green); color: #fff !important;
    padding: 12px 16px !important; border-radius: 8px;
    text-align: center; font-weight: 700 !important;
    margin-bottom: 8px; border-bottom: 0 !important;
}
@media (max-width: 820px) {
    .pa-header.is-open .pa-mobile-only-cta { display: block; }
}

/* Buttons */
.pa-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: var(--pa-radius); font-weight: 600; font-size: 14px; text-decoration: none; border: 0; cursor: pointer; transition: background .15s; }
.pa-btn-primary { background: var(--pa-green); color: #fff; }
.pa-btn-primary:hover { background: var(--pa-green-dark); color: #fff; }
.pa-btn-outline { background: #fff; color: var(--pa-text); border: 1px solid var(--pa-border); }
.pa-btn-outline:hover { border-color: var(--pa-green); color: var(--pa-green); }
.pa-btn-large { padding: 14px 28px; font-size: 16px; }
.pa-btn-sm { padding: 8px 14px; font-size: 13px; }
.pa-btn-danger { color: #b91c1c !important; border-color: #fecaca !important; background: #fff !important; }
.pa-btn-danger:hover { background: #fee2e2 !important; }
button.pa-btn-danger { color: #fff !important; background: #dc2626 !important; border: 0 !important; }
button.pa-btn-danger:hover { background: #b91c1c !important; }
.pa-modal-danger h2 { color: #b91c1c; }

/* Hero */
.pa-hero { color: #fff; padding: 80px 0 120px; background: linear-gradient(135deg,#0f5132 0%, #15803d 35%, #16a34a 75%, #22c55e 100%); background-size: cover; background-position: center; position: relative; overflow: hidden; }
.pa-hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 30%, rgba(255,255,255,.12) 0%, transparent 60%); pointer-events: none; }
.pa-hero > .pa-container { position: relative; z-index: 1; }
body.poltsamaalt-active .pa-hero,
body.poltsamaalt-active .pa-hero * { color: #fff !important; }
.pa-hero-title { font-size: 44px; font-weight: 800; line-height: 1.15; margin: 0 0 16px; max-width: 660px; letter-spacing: -.5px; }
.pa-hero-sub { font-size: 18px; max-width: 560px; margin: 0 0 32px; opacity: .95; }
.pa-search { display: grid; grid-template-columns: 2.2fr 1.5fr 1.5fr auto; gap: 8px; background: #fff; padding: 8px; border-radius: 14px; max-width: 1100px; box-shadow: 0 20px 40px rgba(0,0,0,.18); }
.pa-search-field, .pa-search-select {
    position: relative; display: flex; align-items: center;
    background: #fff; border-radius: 10px; min-width: 0;
    height: 54px; border: 1px solid var(--pa-border);
}
.pa-search-icon, .pa-pin { padding: 0 4px 0 14px; color: var(--pa-muted); font-size: 16px; flex-shrink: 0; line-height: 1; }
body.poltsamaalt-active .pa-search input[type=text],
body.poltsamaalt-active .pa-search select {
    width: 100%; min-width: 0; flex: 1; height: 100%;
    border: 0 !important; padding: 0 10px !important;
    font-size: 15px; line-height: 1.4;
    outline: none; color: var(--pa-text) !important;
    background: transparent !important; box-shadow: none !important;
    text-overflow: ellipsis;
    box-sizing: border-box; margin: 0;
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
body.poltsamaalt-active .pa-search select {
    cursor: pointer;
    padding-right: 36px !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}
.pa-search .pa-btn { justify-content: center; padding: 0 28px; height: 54px; font-size: 15px; white-space: nowrap; }
.pa-hero-badges { list-style: none; display: flex; gap: 20px; padding: 24px 0 0; margin: 0; flex-wrap: wrap; }
.pa-hero-badges li { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.pa-badge-dot { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 13px; }
.pa-dot-green { background: var(--pa-green); color: #fff; }
.pa-dot-yellow { background: #facc15; color: #000; }
.pa-dot-orange { background: #fb923c; color: #fff; }

/* Categories strip */
.pa-categories-strip { margin-top: -60px; position: relative; z-index: 2; }
.pa-cat-grid { background: #fff; border-radius: 16px; padding: 24px 20px; display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.pa-cat-grid-large { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); padding: 24px; gap: 16px; }
.pa-cat-card { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 12px 8px; border-radius: 12px; color: var(--pa-text); transition: background .15s; text-align: center; }
.pa-cat-card:hover { background: var(--pa-green-light); }
.pa-cat-icon { width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--pa-green-light); color: var(--pa-green); font-size: 24px; }
.pa-cat-name { font-size: 13px; font-weight: 500; line-height: 1.25; }
.pa-cat-count { color: var(--pa-muted); font-size: 12px; }
.pa-cat-more .pa-cat-icon { background: #f3f4f6; color: var(--pa-muted); }

/* Sections */
.pa-featured { padding: 56px 0 32px; }
.pa-section-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 24px; }
.pa-section-head h2 { font-size: 24px; margin: 0; display: inline-flex; align-items: center; gap: 8px; }
.pa-section-star { color: #facc15; }
.pa-section-link { color: var(--pa-green); text-decoration: none; font-weight: 600; font-size: 14px; }
.pa-mini-head h3 { font-size: 18px; margin: 0; }
.pa-mini-head a { font-size: 13px; color: var(--pa-green); text-decoration: none; font-weight: 600; }
.pa-empty-state { background: #fff; border: 2px dashed var(--pa-border); border-radius: 16px; padding: 40px; text-align: center; color: var(--pa-muted); }
.pa-empty-state strong { display: block; color: var(--pa-text); font-size: 16px; margin-bottom: 6px; }
.pa-empty-state .pa-btn { margin-top: 16px; }

/* Business cards */
.pa-business-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; }

/* Single-row horizontal carousel */
.pa-row-wrap {
    position: relative;
    overflow: hidden;
    padding: 0;
    margin: 0 -2px;
}
.pa-business-row {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 4px 16px;
    margin: 0;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.pa-business-row::-webkit-scrollbar { display: none; width: 0; height: 0; }
.pa-business-row::-webkit-scrollbar-track { background: transparent; }
.pa-business-row::-webkit-scrollbar-thumb { background: transparent; }
.pa-business-row > .pa-bcard {
    flex: 0 0 220px;
    scroll-snap-align: start;
}

body.poltsamaalt-active button.pa-row-nav {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: absolute !important;
    top: calc(50% - 8px) !important;
    transform: translateY(-50%) !important;
    z-index: 6 !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,.96) !important;
    background-image: none !important;
    border: 1px solid rgba(17,24,39,.10) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 22px rgba(15,23,42,.14) !important;
    color: var(--pa-green) !important;
    cursor: pointer !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    overflow: hidden !important;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease, opacity .15s ease, transform .15s ease !important;
}
body.poltsamaalt-active button.pa-row-nav::before {
    display: block;
    font-family: Arial, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    margin-top: -2px;
}
body.poltsamaalt-active button.pa-row-prev::before { content: "‹"; }
body.poltsamaalt-active button.pa-row-next::before { content: "›"; }
body.poltsamaalt-active button.pa-row-nav:hover,
body.poltsamaalt-active button.pa-row-nav:focus {
    background: var(--pa-green) !important;
    border-color: var(--pa-green) !important;
    color: #fff !important;
    box-shadow: 0 10px 26px rgba(22,163,74,.28) !important;
    outline: 0 !important;
}
body.poltsamaalt-active button.pa-row-nav.is-hidden {
    opacity: 0 !important;
    pointer-events: none !important;
}
body.poltsamaalt-active button.pa-row-prev { left: 10px !important; }
body.poltsamaalt-active button.pa-row-next { right: 10px !important; }

@media (max-width: 600px) {
    .pa-business-row > .pa-bcard { flex: 0 0 180px; }
    .pa-row-wrap { padding: 0; margin: 0; }
    body.poltsamaalt-active button.pa-row-nav { display: none !important; }
}
.pa-bcard { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: var(--pa-card-shadow); display: flex; flex-direction: column; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.pa-bcard:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.10); }
.pa-bcard-link-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit !important;
    text-decoration: none !important;
}
.pa-bcard-link-wrap:focus-visible {
    outline: 3px solid var(--pa-green-light);
    outline-offset: 3px;
}
.pa-bcard-thumb {
    display: block; aspect-ratio: 16/10; position: relative;
    background-color: #fff;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    border-bottom: 1px solid var(--pa-border);
    padding: 12px;
    box-sizing: border-box;
    background-origin: content-box;
    text-decoration: none;
}
.pa-bcard-initial { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: var(--pa-green-light); color: var(--pa-green); font-size: 48px; font-weight: 700; }
.pa-fav-icon { position: absolute; top: 10px; right: 10px; background: rgba(255,255,255,.95); border: 1px solid var(--pa-border); width: 34px; height: 34px; border-radius: 999px; cursor: pointer; font-size: 16px; line-height: 1; box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.pa-fav-icon.is-active { background: var(--pa-green); color: #fff; border-color: var(--pa-green); }
.pa-bcard-body { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.pa-bcard-body h3 { font-size: 15px; margin: 0 0 6px; line-height: 1.3; }
body.poltsamaalt-active .pa-bcard-link-wrap:hover .pa-bcard-title { color: var(--pa-green) !important; }
.pa-bcard-cat { color: var(--pa-green); font-size: 12px; margin: 0 0 4px; font-weight: 600; text-transform: uppercase; letter-spacing: .3px; }
.pa-bcard-city { color: var(--pa-muted); font-size: 13px; margin: 0 0 10px; }
.pa-bcard-link { color: var(--pa-green); font-size: 13px; font-weight: 600; margin-top: auto; }

/* Three col promos */
.pa-three-col { padding: 16px 0 56px; }
.pa-three-grid { display: grid; grid-template-columns: 1fr 1.3fr 1.3fr; gap: 20px; align-items: stretch; }
.pa-promo { background: #fff; border-radius: 14px; padding: 28px; box-shadow: 0 4px 12px rgba(0,0,0,.05); display: flex; flex-direction: column; min-height: 340px; }
.pa-promo h3 { margin: 0 0 8px; font-size: 19px; display: inline-flex; align-items: center; gap: 6px; }

.pa-promo-green { background: linear-gradient(140deg, #86efac 0%, #dcfce7 60%, #f0fdf4 100%); position: relative; overflow: hidden; }
.pa-promo-green p { color: #166534; margin: 0 0 16px; }
.pa-promo-illo { width: 84px; height: 84px; margin: -8px 0 12px; }
.pa-promo-illo svg { width: 100%; height: 100%; }
.pa-promo-benefits { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pa-promo-benefits li { display: flex; align-items: center; gap: 10px; color: #166534; font-weight: 500; font-size: 14px; }
.pa-promo-benefits span { background: #16a34a; color: #fff; width: 22px; height: 22px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; flex-shrink: 0; }
.pa-promo-green .pa-btn { align-self: flex-start; }

.pa-promo-news .pa-news-mini, .pa-promo .pa-events-mini { flex: 1; }

/* Archive CTA */
.pa-archive-cta { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.pa-news-mini, .pa-events-mini { list-style: none; padding: 0; margin: 12px 0 0; display: flex; flex-direction: column; gap: 14px; }
.pa-news-mini li, .pa-events-mini li { display: flex; gap: 12px; align-items: flex-start; }
.pa-news-mini-thumb img { width: 80px; height: 60px; object-fit: cover; border-radius: 6px; }
.pa-news-mini a, .pa-events-mini a { color: var(--pa-text); text-decoration: none !important; font-weight: 600; font-size: 14px; display: block; }
.pa-news-mini span, .pa-events-mini span { color: var(--pa-muted); font-size: 12px; display: block; }
.pa-mini-empty { color: var(--pa-muted); font-size: 13px; padding: 12px; background: var(--pa-bg); border-radius: 8px; }
.pa-event-date { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 56px; min-height: 56px; background: var(--pa-green-light); color: var(--pa-green); border-radius: var(--pa-radius); }
.pa-event-date .pa-day { font-size: 22px; font-weight: 800; line-height: 1; }
.pa-event-date .pa-month { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; }
.pa-event-date-large { min-width: 80px; min-height: 80px; }
.pa-event-date-large .pa-day { font-size: 30px; }
.pa-event-venue { font-size: 12px; color: var(--pa-muted); }

/* Values strip */
.pa-values-strip { background: #fff; border-top: 1px solid var(--pa-border); padding: 20px 0; }
.pa-values { display: flex; justify-content: space-around; flex-wrap: wrap; gap: 16px; font-weight: 500; color: var(--pa-muted); }
.pa-values span { display: inline-flex; align-items: center; gap: 8px; }

/* Footer */
.pa-footer { background: #0f172a; color: #cbd5e1; padding: 48px 0 24px; margin-top: 60px; }
.pa-footer h4 { color: #fff; font-size: 16px; margin: 0 0 12px; }
.pa-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.pa-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.pa-footer a { color: #cbd5e1; text-decoration: none; }
.pa-footer a:hover { color: #fff; }
.pa-footer-bottom { border-top: 1px solid #1e293b; padding-top: 16px; margin-top: 32px; font-size: 13px; color: #94a3b8; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.pa-footer-credit a { color: #cbd5e1; font-weight: 600; text-decoration: none; }
.pa-footer-credit a:hover { color: var(--pa-green); text-decoration: underline; }
@media (max-width: 600px) { .pa-footer-bottom { flex-direction: column; text-align: center; gap: 8px; } }

/* Archive pages */
.pa-archive { padding: 40px 0 60px; }
.pa-archive-head { margin-bottom: 24px; }
.pa-archive-head h1 { font-size: 32px; margin: 0 0 6px; }
.pa-archive-sub { color: var(--pa-muted); margin: 0 0 16px; }
.pa-filter { display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 8px; background: #fff; padding: 8px; border-radius: var(--pa-radius); margin-bottom: 24px; box-shadow: var(--pa-card-shadow); }
.pa-filter input, .pa-filter select { padding: 10px; border: 1px solid var(--pa-border); border-radius: 8px; font-size: 14px; }
.pa-empty { color: var(--pa-muted); padding: 24px; }

/* Offers */
.pa-offer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.pa-offer-card { background: #fff; border-radius: var(--pa-radius); box-shadow: var(--pa-card-shadow); overflow: hidden; }
.pa-offer-thumb { display: block; aspect-ratio: 16/9; background: #f1f5f9 center/cover; position: relative; }
.pa-offer-discount { position: absolute; top: 12px; left: 12px; background: #dc2626; color: #fff; padding: 4px 12px; border-radius: 999px; font-weight: 700; font-size: 13px; }
.pa-offer-body { padding: 16px; }
.pa-offer-body h3 { margin: 0 0 4px; font-size: 16px; }
.pa-offer-body h3 a { color: var(--pa-text); text-decoration: none; }
.pa-offer-business a { color: var(--pa-green); text-decoration: none; font-size: 13px; }
.pa-offer-excerpt { color: var(--pa-muted); font-size: 14px; margin: 8px 0 0; }
.pa-offer-end { font-size: 13px; color: #dc2626; margin: 8px 0 0; }

/* News */
.pa-news-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.pa-news-card { background: #fff; border-radius: var(--pa-radius); box-shadow: var(--pa-card-shadow); overflow: hidden; }
.pa-news-thumb { display: block; aspect-ratio: 16/9; background: #f1f5f9 center/cover; }
.pa-news-body { padding: 16px; }
.pa-news-body h3 { margin: 0 0 6px; font-size: 16px; }
.pa-news-body h3 a { color: var(--pa-text); text-decoration: none; }
.pa-news-date { color: var(--pa-muted); font-size: 12px; margin: 0; }
.pa-news-excerpt { color: var(--pa-text); font-size: 14px; margin: 8px 0 0; }

/* Events */
.pa-event-list { display: flex; flex-direction: column; gap: 12px; }
.pa-event-card { background: #fff; border-radius: var(--pa-radius); box-shadow: var(--pa-card-shadow); padding: 16px; display: flex; gap: 18px; align-items: center; }
.pa-event-body h3 { margin: 0 0 4px; }
.pa-event-body h3 a { color: var(--pa-text); text-decoration: none; }
.pa-event-when { color: var(--pa-muted); margin: 0; font-size: 14px; }

/* Events page — grouped by month, grid layout */
.pa-events-archive .pa-archive-head { text-align: center; padding: 24px 0 8px; }
.pa-events-archive .pa-archive-head h1 { font-size: 36px; }
.pa-events-stream { display: flex; flex-direction: column; gap: 48px; padding: 16px 0 60px; }
.pa-events-month-head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--pa-green); }
.pa-events-month-head h2 { margin: 0; font-size: 26px; color: var(--pa-text); font-weight: 800; }
.pa-events-count { color: var(--pa-muted); font-size: 14px; }
body.poltsamaalt-active .pa-events-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100%;
}
@media (max-width: 900px) {
    body.poltsamaalt-active .pa-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
}
@media (max-width: 500px) {
    body.poltsamaalt-active .pa-events-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
}

.pa-evt-card { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: var(--pa-card-shadow); display: flex; flex-direction: column; transition: transform .15s, box-shadow .15s; }
.pa-evt-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.10); }
.pa-evt-thumb { display: block; aspect-ratio: 4/3; background: #f3f4f6 center/cover; position: relative; text-decoration: none !important; }
.pa-evt-date-badge {
    position: absolute; left: 10px; top: 10px;
    background: #fff; color: var(--pa-green);
    border-radius: 10px; padding: 6px 10px;
    display: flex; flex-direction: column;
    align-items: center; line-height: 1;
    box-shadow: 0 2px 8px rgba(0,0,0,.18);
    min-width: 44px;
}
.pa-evt-day { font-size: 20px; font-weight: 800; }
.pa-evt-mon { font-size: 10px; font-weight: 700; letter-spacing: .8px; margin-top: 2px; color: var(--pa-green-dark); }
.pa-evt-time { position: absolute; right: 10px; top: 10px; background: rgba(0,0,0,.72); color: #fff; padding: 4px 10px; border-radius: 999px; font-weight: 700; font-size: 12px; letter-spacing: .5px; }
.pa-evt-noimg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 56px; opacity: .35; }
.pa-evt-body { padding: 14px 16px 18px; flex: 1; display: flex; flex-direction: column; gap: 4px; }
.pa-evt-body h3 { margin: 0 0 4px; font-size: 15px; line-height: 1.35; }
body.poltsamaalt-active .pa-evt-body h3 a { color: var(--pa-text) !important; text-decoration: none !important; }
body.poltsamaalt-active .pa-evt-body h3 a:hover { color: var(--pa-green) !important; }
.pa-evt-when { color: var(--pa-green-dark); margin: 0; font-size: 12px; font-weight: 600; }
.pa-evt-venue { color: var(--pa-muted); margin: 0; font-size: 13px; }

@media (max-width: 480px) {
    .pa-evt-body { padding: 12px 14px 16px; }
    .pa-evt-body h3 { font-size: 14px; }
    .pa-evt-when, .pa-evt-venue { font-size: 12px; }
    .pa-events-month-head h2 { font-size: 20px; }
}

/* Kultuurikava embed */
.pa-kultuurikava { background: #fff; border-radius: var(--pa-radius); padding: 16px; box-shadow: var(--pa-card-shadow); margin: 16px 0; overflow: hidden; }
.pa-kultuurikava-embed { min-height: 200px; }
.pa-kultuurikava-embed .kn-widget-main { font-family: inherit !important; }
.pa-kultuurikava-embed .kn-widget-main a { color: var(--pa-text) !important; text-decoration: none !important; }
.pa-kultuurikava-embed .datebar { background: var(--pa-green) !important; color: #fff !important; border-radius: 8px; padding: 4px 8px !important; margin: 8px 0 !important; font-weight: 600; }
.pa-kultuurikava-embed .datebar a { color: #fff !important; }
.pa-kultuurikava-embed .event { border-bottom: 1px solid var(--pa-border); padding: 8px 0 !important; }
.pa-kultuurikava-embed .ticket a.ticket { background: var(--pa-green) !important; color: #fff !important; padding: 4px 10px !important; border-radius: 6px; }
.pa-kultuurikava-empty { color: var(--pa-muted); padding: 20px; text-align: center; }

/* Single business */
.pa-single-business { padding: 40px 0 60px; }
.pa-business-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    padding: 24px;
    background: #fff;
    border: 1px solid var(--pa-border);
    border-radius: 14px;
    box-shadow: var(--pa-card-shadow);
    margin-bottom: 24px;
}
.pa-business-logo {
    width: 112px;
    height: 112px;
    border: 1px solid var(--pa-border);
    border-radius: 14px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.pa-business-logo img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 0; padding: 10px; }
.pa-business-title-block h1 { margin: 0 0 8px; font-size: 34px; line-height: 1.15; letter-spacing: 0; }
.pa-business-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.pa-tag { background: var(--pa-green-light); color: var(--pa-green-dark); padding: 4px 10px; border-radius: 999px; font-size: 13px; text-decoration: none; }
.pa-business-grid-cols { display: grid; grid-template-columns: 1fr 320px; gap: 24px; }
.pa-business-content {
    background: #fff;
    padding: 28px;
    border: 1px solid var(--pa-border);
    border-radius: 14px;
    box-shadow: var(--pa-card-shadow);
    line-height: 1.65;
}
.pa-business-content > h2 { margin-top: 30px; margin-bottom: 14px; font-size: 22px; line-height: 1.25; }
.pa-business-content > h2:first-child { margin-top: 0; }
.pa-business-sidebar { display: flex; flex-direction: column; gap: 16px; }
.pa-card { background: #fff; padding: 20px; border-radius: var(--pa-radius); box-shadow: var(--pa-card-shadow); border: 1px solid var(--pa-border); }
.pa-card h3 { margin: 0 0 12px; font-size: 16px; }
.pa-info-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.pa-info-list a { color: var(--pa-text); text-decoration: none; }
.pa-info-list a:hover { color: var(--pa-green); }
.pa-hours-list { list-style: none; padding: 0; margin: 0; }
.pa-hours-list li { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--pa-border); }
.pa-hours-list li:last-child { border-bottom: 0; }
.pa-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.pa-gallery-grid a { display: block; border-radius: 10px; overflow: hidden; background: #f3f4f6; border: 1px solid var(--pa-border); }
.pa-gallery-grid img { width: 100%; height: 132px; object-fit: cover; display: block; transition: transform .18s ease; }
.pa-gallery-grid a:hover img { transform: scale(1.03); }
.pa-card-map { padding: 16px; }
.pa-map-wrap { position: relative; aspect-ratio: 4/3; border-radius: 10px; overflow: hidden; background: #f3f4f6; margin: 4px 0 10px; border: 1px solid var(--pa-border); }
.pa-map-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pa-map-link { font-size: 13px; color: var(--pa-green); text-decoration: none; font-weight: 600; }
.pa-map-link:hover { text-decoration: underline; }
.pa-owner-section {
    margin-top: 32px;
    padding: 18px;
    background: #f8fafc;
    border: 1px solid var(--pa-border);
    border-radius: 12px;
}
.pa-owner-section h3 { margin: 0 0 6px; font-size: 18px; }
.pa-owner-section p { margin: 0 0 14px; color: var(--pa-muted); }
.pa-owner-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Submit form */
.pa-submit-page { padding: 40px 0 60px; }
.pa-submit-page > h1 { margin-bottom: 8px; }
.pa-submit-page > p { max-width: 760px; color: var(--pa-muted); margin-top: 0; }
.pa-submit-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 920px;
}
.pa-form-section,
.pa-form-submitbar {
    background: #fff;
    border: 1px solid var(--pa-border);
    border-radius: 14px;
    box-shadow: var(--pa-card-shadow);
    padding: 22px;
}
.pa-form-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.pa-form-section-head {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}
.pa-form-section-head > span {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--pa-green-light);
    color: var(--pa-green-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}
.pa-form-section-head h2 {
    margin: 0 0 4px;
    font-size: 19px;
    line-height: 1.25;
}
.pa-form-section-head p {
    margin: 0;
    color: var(--pa-muted);
    font-size: 14px;
}
.pa-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pa-submit-form label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; }
.pa-submit-form input, .pa-submit-form select, .pa-submit-form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--pa-border); border-radius: 8px; font-size: 14px; font-family: inherit; background: #fff; }
.pa-submit-form input:focus, .pa-submit-form select:focus, .pa-submit-form textarea:focus { outline: 0; border-color: var(--pa-green); box-shadow: 0 0 0 3px var(--pa-green-light); }
.pa-field-help {
    color: var(--pa-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
}
.pa-file-label input[type=file] {
    border-style: dashed;
    background: #f8fafc;
    cursor: pointer;
}
.pa-hours-grid { display: grid; grid-template-columns: 1fr; gap: 6px; max-width: 620px; }
.pa-hour-row { display: grid; grid-template-columns: 34px 1fr 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; background: #f8fafc; border: 1px solid var(--pa-border); border-radius: 8px; }
.pa-hour-row > span:first-child { font-weight: 700; font-size: 14px; color: var(--pa-text); }
.pa-hour-row input[type=time] { width: 100%; padding: 6px 8px; border: 1px solid var(--pa-border); border-radius: 6px; font-size: 14px; }
.pa-hour-row label { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 6px; font-size: 13px; white-space: nowrap; }
.pa-hour-row label input[type=checkbox] { margin: 0; }
.pa-form-submitbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.pa-form-submitbar p {
    margin: 0;
    color: var(--pa-muted);
    font-size: 14px;
}
.pa-notice { padding: 14px 16px; border-radius: var(--pa-radius); margin-bottom: 20px; }
.pa-notice-success { background: var(--pa-green-light); color: var(--pa-green-dark); }
.pa-notice-error { background: #fee2e2; color: #991b1b; }

/* Contact */
.pa-contact-page { padding: 40px 0; }
.pa-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

/* Business CTA */
.pa-business-cta { display: flex; gap: 10px; flex-wrap: wrap; }

/* Modal */
.pa-modal[hidden] { display: none !important; }
.pa-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.pa-modal-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.55); animation: pa-fade .2s ease; }
.pa-modal-dialog { position: relative; background: #fff; border-radius: 16px; padding: 28px; max-width: 680px; width: 100%; max-height: 90vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,.25); animation: pa-pop .2s ease; }
.pa-modal-dialog h2 { margin: 0 0 6px; font-size: 22px; }
.pa-modal-sub { color: var(--pa-muted); margin: 0 0 18px; }
.pa-modal-close { position: absolute; top: 12px; right: 14px; background: none; border: 0; font-size: 28px; cursor: pointer; line-height: 1; color: var(--pa-muted); }
.pa-modal-close:hover { color: var(--pa-text); }
.pa-modal-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 16px; }
.pa-offer-form { display: flex; flex-direction: column; gap: 14px; }
.pa-offer-form label { display: flex; flex-direction: column; gap: 6px; font-weight: 500; font-size: 14px; }
.pa-offer-form input, .pa-offer-form select, .pa-offer-form textarea { padding: 10px 12px; border: 1px solid var(--pa-border); border-radius: 8px; font-size: 14px; font-family: inherit; }
.pa-offer-form input:focus, .pa-offer-form select:focus, .pa-offer-form textarea:focus { outline: 0; border-color: var(--pa-green); box-shadow: 0 0 0 3px var(--pa-green-light); }
.pa-modal-dialog .pa-form-section { box-shadow: none; }
@keyframes pa-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes pa-pop { from { transform: scale(.96); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* News placeholder icon */
.pa-news-noimg { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 48px; opacity: .35; }

/* Responsive */
@media (max-width: 1100px) {
    .pa-menu { gap: 16px; }
    body.poltsamaalt-active .pa-menu > li > a { font-size: 14px; }
    .pa-cat-grid { grid-template-columns: repeat(4, 1fr); }
    .pa-business-grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
    .pa-three-grid { grid-template-columns: 1fr; }
    .pa-footer-grid { grid-template-columns: 1fr 1fr; }
    .pa-business-grid-cols { grid-template-columns: 1fr; }
    .pa-search { grid-template-columns: 1fr; }
    .pa-filter { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
    .pa-container { padding: 0 14px; }
    .pa-container,
    body.poltsamaalt-active .pa-container { padding-left: 14px !important; padding-right: 14px !important; }
    .pa-main > section,
    body.poltsamaalt-active .pa-main > section { grid-template-columns: minmax(14px, 1fr) minmax(0, 1fr) minmax(14px, 1fr) !important; }
    body.poltsamaalt-active .pa-header { grid-template-columns: 14px minmax(0, 1fr) 14px !important; }
    .pa-main > section > .pa-container,
    .pa-main > .pa-container,
    body.poltsamaalt-active .pa-main > section > .pa-container,
    body.poltsamaalt-active .pa-main > .pa-container { padding-left: 0 !important; padding-right: 0 !important; }
    .pa-header-inner { gap: 8px; padding: 10px 14px; }
    .pa-header-inner,
    body.poltsamaalt-active .pa-header-inner { width: 100% !important; gap: 8px !important; padding: 10px 0 !important; padding-left: 0 !important; padding-right: 0 !important; justify-content: flex-start !important; }
    body.poltsamaalt-active .pa-logo { font-size: 18px; margin-right: auto !important; }
    .pa-logo-tld { font-size: 14px; }
    body.poltsamaalt-active .pa-nav { flex: 0 0 auto !important; }
    .pa-menu { display: none; }
    .pa-favorites { padding: 6px 8px; gap: 4px; font-size: 0; }
    .pa-favorites .pa-heart { font-size: 18px; display: inline-flex; }
    .pa-favorites .pa-fav-count { font-size: 11px; padding: 1px 6px; }
    .pa-header-actions { gap: 6px; margin-left: 0; }
    .pa-header-actions .pa-btn-primary { display: none; }
    body.poltsamaalt-active .pa-burger { display: inline-block !important; order: 99; }
    .pa-header.is-open .pa-menu {
        display: flex; flex-direction: column; position: absolute;
        top: 100%; left: 0; right: 0; background: #fff;
        padding: 8px 16px 16px; border-bottom: 1px solid var(--pa-border);
        box-shadow: 0 8px 24px rgba(0,0,0,.08); gap: 0;
        max-height: calc(100vh - 72px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }
    body.admin-bar.poltsamaalt-active .pa-header.is-open .pa-menu { max-height: calc(100vh - 118px); }
    .pa-header.is-open .pa-menu > li { width: 100%; }
    .pa-header.is-open .pa-menu > li > a { padding: 14px 4px; border-bottom: 1px solid var(--pa-border); width: 100%; }
    .pa-header.is-open .pa-menu > li:last-child > a { border-bottom: 0; }
    .pa-header.is-open .pa-has-sub {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        border-bottom: 1px solid var(--pa-border);
    }
    .pa-header.is-open .pa-has-sub > a { border-bottom: 0 !important; }
    body.poltsamaalt-active .pa-header.is-open .pa-sub-toggle,
    body .pa-header.is-open .pa-sub-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        font-size: 18px !important;
        background: transparent !important;
        border: 0 !important;
        color: var(--pa-text) !important;
        box-shadow: none !important;
    }
    .pa-header.is-open .pa-has-sub.is-open .pa-caret { transform: rotate(180deg); }
    .pa-header.is-open .pa-submenu {
        position: static; box-shadow: none; border: 0;
        padding-left: 12px; padding-top: 0; padding-bottom: 8px;
        display: none;
        grid-column: 1 / -1;
    }
    .pa-header.is-open .pa-has-sub.is-open .pa-submenu { display: block; }
    .pa-header.is-open .pa-mobile-cta { display: flex; padding: 12px 16px 16px; border-top: 1px solid var(--pa-border); gap: 8px; flex-direction: column; }
    .pa-header.is-open .pa-mobile-cta .pa-btn { width: 100%; justify-content: center; }
    .pa-hero { padding: 50px 0 90px; }
    .pa-hero-title { font-size: 28px; }
    .pa-hero-sub { font-size: 16px; }
    .pa-categories-strip { margin-top: -50px; }
    .pa-cat-grid { grid-template-columns: repeat(3, 1fr); padding: 16px 12px; }
    .pa-cat-icon { width: 48px; height: 48px; font-size: 22px; }
    .pa-form-row { grid-template-columns: 1fr; }
    .pa-contact-grid { grid-template-columns: 1fr; }
    .pa-business-header { grid-template-columns: 1fr; text-align: center; }
    .pa-business-logo { margin: 0 auto; }
    .pa-business-title-block h1 { font-size: 26px; }
    .pa-business-cta { justify-content: center; }
    .pa-business-grid { grid-template-columns: 1fr 1fr; }
    .pa-archive-head h1 { font-size: 26px; }
    .pa-section-head h2 { font-size: 20px; }
    .pa-footer-grid { grid-template-columns: 1fr; gap: 20px; }
    .pa-values { flex-direction: column; gap: 8px; }
    .pa-form-section, .pa-form-submitbar { padding: 16px; }
    .pa-form-section-head { grid-template-columns: 30px minmax(0, 1fr); text-align: left; }
    .pa-form-section-head > span { width: 30px; height: 30px; }
    .pa-form-submitbar { flex-direction: column; align-items: stretch; }
    .pa-form-submitbar .pa-btn { justify-content: center; }
    .pa-hour-row { grid-template-columns: 24px 1fr 1fr; gap: 6px; padding: 8px; }
    .pa-hour-row label { grid-column: 1 / -1; justify-self: end; padding: 4px 0; }
}
@media (max-width: 480px) {
    .pa-business-grid { grid-template-columns: 1fr; }
    .pa-cat-grid { grid-template-columns: repeat(2, 1fr); }
    .pa-hero-title { font-size: 24px; }
    .pa-archive-head h1 { font-size: 22px; }
}
