/* Tema pubblico 2 - palette logo TraniGo */
body.theme-public-2 {
    --ink: #061f3a;
    --ink-soft: #4f6377;
    --primary: #004B96;
    --primary-dark: #00346f;
    --accent: #1293FF;
    --gold: #FFB703;
    --sand: #f3f9ff;
    --sea: #00a9df;
    --green: #07846f;
    --medical: #0077bf;
    --muted: #64748b;
    --surface: #ffffff;
    --surface-soft: #eef7ff;
    --border: rgba(0, 75, 150, .14);
    --shadow: 0 28px 80px rgba(0, 75, 150, .18);
    --shadow-soft: 0 18px 48px rgba(0, 75, 150, .11);
    color: var(--ink);
    background:
        linear-gradient(180deg, #fbfdff 0%, #eef7ff 44%, #fff8e8 100%);
}

body.theme-public-2 h1,
body.theme-public-2 h2,
body.theme-public-2 h3,
body.theme-public-2 .section-title h2,
body.theme-public-2 .page-hero.small h1 {
    letter-spacing: 0;
}

body.theme-public-2 :focus-visible {
    outline: 3px solid rgba(18, 147, 255, .34);
    outline-offset: 3px;
}

body.theme-public-2 .site-header {
    background: rgba(248, 252, 255, .9);
    border-bottom-color: rgba(0, 75, 150, .12);
    box-shadow: 0 10px 34px rgba(0, 75, 150, .07);
}

body.theme-public-2 .site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: linear-gradient(90deg, #004B96, #1293FF 58%, #FFB703);
    opacity: .78;
}

body.theme-public-2 .site-header.is-scrolled {
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 46px rgba(0, 75, 150, .12);
}

body.theme-public-2 .brand-logo {
    filter: drop-shadow(0 10px 18px rgba(0, 75, 150, .18));
}

body.theme-public-2 .brand-text strong {
    text-shadow: 0 8px 18px rgba(18, 147, 255, .12);
}

body.theme-public-2 .main-nav a:hover,
body.theme-public-2 .main-nav a.is-active,
body.theme-public-2 .main-nav summary:hover,
body.theme-public-2 .main-nav .nav-group.is-active > summary,
body.theme-public-2 .main-nav .nav-group[open] > summary,
body.theme-public-2 .main-nav .nav-account {
    color: #004B96;
    background: rgba(18, 147, 255, .11);
}

body.theme-public-2 .main-nav .nav-cta {
    background: linear-gradient(135deg, #004B96, #1293FF);
    box-shadow: 0 14px 30px rgba(18, 147, 255, .26);
}

body.theme-public-2 .nav-submenu {
    border-color: rgba(18, 147, 255, .14);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 24px 54px rgba(0, 75, 150, .14);
}

body.theme-public-2 .nav-toggle {
    background: rgba(18, 147, 255, .11);
}

body.theme-public-2 .btn-primary,
body.theme-public-2 .admin-btn.primary {
    color: #fff;
    background: linear-gradient(135deg, #004B96 0%, #1293FF 100%);
    box-shadow: 0 16px 34px rgba(18, 147, 255, .26);
}

body.theme-public-2 .btn-light {
    color: #004B96;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .5);
    box-shadow: 0 14px 30px rgba(0, 75, 150, .16);
}

body.theme-public-2 .btn-outline {
    color: #004B96;
    background: rgba(255, 255, 255, .86);
    border-color: rgba(18, 147, 255, .2);
}

body.theme-public-2 .hero,
body.theme-public-2 .page-hero {
    background-image:
        linear-gradient(115deg, rgba(0, 37, 84, .9), rgba(0, 75, 150, .76) 45%, rgba(18, 147, 255, .46)),
        var(--hero-image);
    background-color: #004B96;
}

body.theme-public-2 .hero-overlay,
body.theme-public-2 .page-hero.accent,
body.theme-public-2 .page-hero.medical {
    background:
        linear-gradient(120deg, rgba(0, 30, 74, .88), rgba(0, 75, 150, .55), rgba(18, 147, 255, .34));
}

body.theme-public-2 .page-hero.green {
    background:
        linear-gradient(125deg, #004B96, #07846f);
}

body.theme-public-2.home-page {
    background:
        linear-gradient(180deg, #fafdff 0%, #eef7ff 48%, #fff8e8 100%);
}

body.theme-public-2 .home-app-hero::before {
    background:
        linear-gradient(112deg, rgba(0, 25, 64, .94) 0%, rgba(0, 75, 150, .74) 48%, rgba(18, 147, 255, .34) 100%),
        repeating-linear-gradient(120deg, rgba(255, 255, 255, .08) 0 1px, transparent 1px 42px);
    mix-blend-mode: normal;
}

body.theme-public-2 .home-app-hero::after {
    background:
        linear-gradient(0deg, rgba(0, 21, 50, .9) 0%, rgba(0, 21, 50, .2) 64%),
        linear-gradient(90deg, rgba(0, 75, 150, .34), rgba(255, 183, 3, .1));
}

body.theme-public-2 .home-mesh {
    background:
        repeating-linear-gradient(112deg, rgba(255, 255, 255, .18) 0 1px, transparent 1px 34px),
        repeating-linear-gradient(22deg, rgba(18, 147, 255, .2) 0 1px, transparent 1px 44px);
}

body.theme-public-2 .home-beam-one {
    background: linear-gradient(180deg, transparent, rgba(18, 147, 255, .74), transparent);
}

body.theme-public-2 .home-beam-two {
    background: linear-gradient(180deg, transparent, rgba(255, 183, 3, .54), transparent);
}

body.theme-public-2 .home-live-pill i {
    color: #FFB703;
}

body.theme-public-2 .eyebrow,
body.theme-public-2 .home-app-hero .home-app-kicker,
body.theme-public-2 .home-live-pill {
    border-color: rgba(255, 255, 255, .26);
    background: rgba(255, 255, 255, .14);
    box-shadow: 0 14px 34px rgba(0, 40, 90, .18);
}

body.theme-public-2 .section-title span,
body.theme-public-2 .report-section-title span,
body.theme-public-2 .venue-public-section-head > span {
    color: #006ed3;
}

body.theme-public-2 .quick-card,
body.theme-public-2 .update-card,
body.theme-public-2 .info-card,
body.theme-public-2 .service-card,
body.theme-public-2 .news-card,
body.theme-public-2 .event-card,
body.theme-public-2 .market-card,
body.theme-public-2 .market-detail-card,
body.theme-public-2 .market-side-panel,
body.theme-public-2 .market-form,
body.theme-public-2 .market-owner-status,
body.theme-public-2 .local-venue-card,
body.theme-public-2 .venue-public-card,
body.theme-public-2 .venue-review-form-card,
body.theme-public-2 .smart-form,
body.theme-public-2 .waste-card,
body.theme-public-2 .ad-slot {
    background: rgba(255, 255, 255, .92);
    border-color: rgba(18, 147, 255, .15);
    box-shadow: 0 18px 52px rgba(0, 75, 150, .1);
}

body.theme-public-2 .quick-card i,
body.theme-public-2 .date-pill,
body.theme-public-2 .market-form-block-head > i,
body.theme-public-2 .venue-public-note i,
body.theme-public-2 .local-venues-empty i {
    color: #004B96;
    background: linear-gradient(135deg, rgba(18, 147, 255, .16), rgba(255, 183, 3, .18));
}

body.theme-public-2 .quick-card:hover,
body.theme-public-2 .market-card:hover,
body.theme-public-2 .local-venue-card:hover {
    box-shadow: 0 24px 64px rgba(0, 75, 150, .17);
}

body.theme-public-2 .content-section.muted {
    background: rgba(238, 247, 255, .62);
    border-block-color: rgba(18, 147, 255, .13);
}

body.theme-public-2.citizen-page {
    background: linear-gradient(180deg, #fafdff 0%, #eef7ff 48%, #fff8e8 100%);
}

body.theme-public-2 .citizen-app-section {
    background:
        linear-gradient(112deg, rgba(0, 25, 64, .94) 0%, rgba(0, 75, 150, .76) 47%, rgba(18, 147, 255, .4) 100%),
        url('https://upload.wikimedia.org/wikipedia/commons/thumb/7/7c/Trani_Cattedrale_di_San_Nicola_Pellegrino-2804.jpg/1280px-Trani_Cattedrale_di_San_Nicola_Pellegrino-2804.jpg') center 42% / cover;
}

body.theme-public-2 .citizen-app-section::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .08), rgba(18, 147, 255, .12), rgba(255, 183, 3, .1)),
        linear-gradient(180deg, rgba(0, 21, 50, .04), rgba(0, 21, 50, .34));
}

body.theme-public-2 .citizen-app-section::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .32), transparent);
    filter: blur(30px);
}

body.theme-public-2 .citizen-app-shell::before {
    background:
        linear-gradient(110deg, rgba(0, 75, 150, .34), rgba(18, 147, 255, .16), rgba(255, 183, 3, .12));
    mix-blend-mode: screen;
}

body.theme-public-2 .citizen-light-one {
    background: rgba(255, 183, 3, .42);
}

body.theme-public-2 .citizen-light-two {
    background: rgba(18, 147, 255, .42);
}

body.theme-public-2 .citizen-light-three {
    background: rgba(0, 184, 217, .32);
}

body.theme-public-2 .citizen-orbit {
    border-color: rgba(255, 255, 255, .24);
    box-shadow: inset 0 0 42px rgba(18, 147, 255, .12);
}

body.theme-public-2 .citizen-orbit::after {
    background: #FFB703;
    box-shadow: 0 0 24px rgba(255, 183, 3, .86);
}

body.theme-public-2 .citizen-radar {
    border-color: rgba(255, 255, 255, .22);
    background:
        conic-gradient(from 0deg, rgba(18, 147, 255, .48), rgba(18, 147, 255, 0) 28%, rgba(18, 147, 255, 0)),
        repeating-radial-gradient(circle, rgba(255, 255, 255, .18) 0 1px, transparent 1px 34px);
}

body.theme-public-2 .citizen-app-kicker,
body.theme-public-2 .citizen-live-pill {
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .15);
    box-shadow: 0 14px 34px rgba(0, 40, 90, .18);
}

body.theme-public-2 .citizen-live-pill i {
    color: #FFB703;
}

body.theme-public-2 .citizen-app-status a,
body.theme-public-2 .citizen-app-tile,
body.theme-public-2 .citizen-emergency-dock a {
    border-color: rgba(255, 255, 255, .24);
    background:
        linear-gradient(160deg, rgba(255, 255, 255, .19), rgba(255, 255, 255, .08)),
        rgba(0, 37, 84, .42);
    box-shadow: 0 18px 48px rgba(0, 21, 50, .22);
}

body.theme-public-2 .citizen-app-status a::after {
    background: linear-gradient(90deg, #FFB703, rgba(18, 147, 255, .9), transparent);
}

body.theme-public-2 .citizen-app-status i {
    color: #00346f;
    background: #FFB703;
    box-shadow: 0 14px 32px rgba(255, 183, 3, .28);
}

body.theme-public-2 .citizen-app-icon {
    background: linear-gradient(135deg, #004B96, #1293FF);
    box-shadow: 0 12px 28px rgba(18, 147, 255, .26);
}

body.theme-public-2 .citizen-app-tile:hover,
body.theme-public-2 .citizen-app-tile.is-tilting {
    border-color: rgba(255, 183, 3, .58);
    box-shadow: 0 24px 58px rgba(0, 21, 50, .28), 0 0 34px rgba(18, 147, 255, .22);
}

body.theme-public-2 .citizen-emergency-label {
    color: #00346f;
    background: #FFB703;
    box-shadow: 0 14px 30px rgba(255, 183, 3, .24);
}

body.theme-public-2 .citizen-hero-actions .btn-primary {
    background: linear-gradient(135deg, #004B96, #1293FF);
}

body.theme-public-2 .citizen-hero-actions .btn-light {
    color: white;
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .15);
}

body.theme-public-2 .tag,
body.theme-public-2 .pill,
body.theme-public-2 .local-venue-category,
body.theme-public-2 .market-card-meta span,
body.theme-public-2 .market-card-foot span,
body.theme-public-2 .venue-public-chip,
body.theme-public-2 .local-venue-card-chips span {
    color: #004B96;
    background: rgba(18, 147, 255, .11);
}

body.theme-public-2 .today-waste,
body.theme-public-2 .tomorrow-waste {
    background: linear-gradient(135deg, #004B96, #07846f);
    box-shadow: 0 18px 46px rgba(0, 75, 150, .2);
}

body.theme-public-2 .ad-slot {
    background:
        linear-gradient(135deg, rgba(18, 147, 255, .1), rgba(255, 183, 3, .12)),
        rgba(255, 255, 255, .92);
}

body.theme-public-2 input,
body.theme-public-2 select,
body.theme-public-2 textarea,
body.theme-public-2 .smart-form input,
body.theme-public-2 .smart-form select,
body.theme-public-2 .smart-form textarea,
body.theme-public-2 .market-form input,
body.theme-public-2 .market-form select,
body.theme-public-2 .market-form textarea,
body.theme-public-2 .venue-review-form textarea {
    border-color: rgba(18, 147, 255, .22);
    background: rgba(255, 255, 255, .96);
}

body.theme-public-2 input:focus,
body.theme-public-2 select:focus,
body.theme-public-2 textarea:focus {
    border-color: rgba(18, 147, 255, .74);
    box-shadow: 0 0 0 4px rgba(18, 147, 255, .12);
}

body.theme-public-2 .local-venues-hero,
body.theme-public-2 .venue-detail-hero,
body.theme-public-2 .market-hero,
body.theme-public-2 .venue-intake-hero {
    background:
        linear-gradient(125deg, rgba(0, 38, 88, .94), rgba(0, 75, 150, .76), rgba(18, 147, 255, .44)),
        var(--hero-image, none);
}

body.theme-public-2 .venue-detail-hero.has-photo {
    background:
        linear-gradient(125deg, rgba(0, 27, 65, .92), rgba(0, 75, 150, .7), rgba(18, 147, 255, .32)),
        var(--venue-hero-image) center/cover;
}

body.theme-public-2 .local-venues-filter-chips a,
body.theme-public-2 .market-side-nav a,
body.theme-public-2 .venue-contact-actions a {
    color: #00346f;
    border-color: rgba(18, 147, 255, .16);
    background: rgba(255, 255, 255, .86);
}

body.theme-public-2 .local-venues-filter-chips a i {
    color: #004B96;
}

body.theme-public-2 .local-venues-filter-chips a.is-active,
body.theme-public-2 .market-side-nav a.is-active,
body.theme-public-2 .market-side-nav a:hover {
    color: #fff;
    background: linear-gradient(135deg, #004B96, #1293FF);
}

body.theme-public-2 .local-venues-filter-chips a.is-active i {
    color: white;
}

body.theme-public-2 .local-venues-search {
    border-color: rgba(255, 255, 255, .34);
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 16px 36px rgba(0, 40, 90, .16);
}

body.theme-public-2 .local-venues-search label,
body.theme-public-2 .local-venues-search label span {
    color: #00346f;
}

body.theme-public-2 .local-venues-search input,
body.theme-public-2 .local-venues-search select {
    color: #061f3a;
    border: 1px solid rgba(18, 147, 255, .22);
    background: #fff;
}

body.theme-public-2 .local-venue-category,
body.theme-public-2 .local-venue-card-chips span {
    color: #00346f;
    background: rgba(18, 147, 255, .14);
}

body.theme-public-2 .bottom-nav {
    background: rgba(255, 255, 255, .94);
    border-top-color: rgba(18, 147, 255, .16);
    box-shadow: 0 -16px 42px rgba(0, 75, 150, .12);
}

body.theme-public-2 .bottom-nav a.is-active {
    color: #fff;
    background: linear-gradient(135deg, #004B96, #1293FF);
}

@media (max-width: 680px) {
    body.theme-public-2 .site-header::after {
        height: 1px;
    }

    body.theme-public-2 .quick-card,
    body.theme-public-2 .market-card,
    body.theme-public-2 .local-venue-card,
    body.theme-public-2 .venue-public-card {
        box-shadow: 0 12px 32px rgba(0, 75, 150, .09);
    }
}
