.elementor-shape{direction:ltr;left:0;line-height:0;overflow:hidden;position:absolute;width:100%}.elementor-shape-top{top:-1px}.elementor-shape-top:not([data-negative=false]) svg{z-index:-1}.elementor-shape-bottom{bottom:-1px}.elementor-shape-bottom:not([data-negative=true]) svg{z-index:-1}.elementor-shape[data-negative=false].elementor-shape-bottom,.elementor-shape[data-negative=true].elementor-shape-top{transform:rotate(180deg)}.elementor-shape svg{display:block;left:50%;position:relative;transform:translateX(-50%);width:calc(100% + 1.3px)}.elementor-shape .elementor-shape-fill{fill:#fff;transform:rotateY(0deg);transform-origin:center}:root {
--aa-primary:      #0a4d68;
--aa-primary-mid:  #077a88; --aa-white:        #ffffff;
--aa-text-dark:    #1a2e35;
--aa-text-mid:     #4a6670;
--aa-alert-red:    #b91c1c;
--aa-alert-bg:     #fef2f2;
--aa-alert-border: #fca5a5;
--aa-note-text:    #00587A;
--aa-radius:       8px;
--aa-shadow:       0 2px 12px rgba(10,77,104,.10);
}
.aa-widget-container { max-width: 900px; margin: 0 auto; padding: 10px 0; font-family: inherit; }
.aa-header { margin-bottom: 24px; }
.aa-title  { font-size: 1.5rem; font-weight: 700; color: var(--aa-primary); margin: 0 0 8px; }
.aa-description { color: var(--aa-text-mid); margin: 0; font-size: .95rem; }
.aa-comune-label { margin: 0 0 16px; font-size: 1rem; color: var(--aa-text-dark); } .aa-filter-form {
background: var(--aa-white); border: 1px solid #d1d5db;
border-radius: var(--aa-radius); padding: 20px; margin-bottom: 24px;
box-shadow: var(--aa-shadow);
}
.aa-filter-row  { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; }
.aa-filter-group { display: flex; flex-direction: column; flex: 1; min-width: 180px; }
.aa-filter-group label { font-weight: 600; font-size: .875rem; color: var(--aa-text-dark); margin-bottom: 6px; }
.aa-filter-group--btn  { flex: 0 0 auto; min-width: unset; }
.aa-select {
padding: 9px 36px 9px 12px; border: 1px solid #d1d5db; border-radius: 6px;
font-size: .95rem; color: var(--aa-text-dark); background: var(--aa-white);
width: 100%; appearance: none; cursor: pointer; transition: border-color .2s;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%234a6670' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
background-repeat: no-repeat; background-position: right 10px center;
}
.aa-select:focus { outline: 2px solid var(--aa-primary); outline-offset: 1px; border-color: var(--aa-primary); } .aa-widget-container .aa-btn { padding: 9px 24px; border: none; border-radius: 6px; font-size: .95rem; font-weight: 600; cursor: pointer; transition: background .2s, opacity .2s; white-space: nowrap; }
.aa-widget-container .aa-btn-primary { background: var(--aa-primary, #0a4d68); color: var(--aa-white, #ffffff); }
.aa-widget-container .aa-btn-primary:hover { background: var(--aa-primary-mid, #077a88); }
.aa-widget-container .aa-btn-primary:focus { outline: 2px solid var(--aa-primary, #0a4d68); outline-offset: 2px; }
.aa-widget-container .aa-btn-primary:disabled,
.aa-widget-container .aa-btn-primary[aria-disabled="true"] { opacity: .6; cursor: not-allowed; } .aa-sr-only {
position: absolute; width: 1px; height: 1px;
padding: 0; margin: -1px; overflow: hidden;
clip: rect(0,0,0,0); white-space: nowrap; border: 0;
} .aa-results  { min-height: 20px; }
.aa-loading  { color: var(--aa-text-mid); font-style: italic; padding: 16px 0; }
.aa-error    { background: var(--aa-alert-bg); border: 1px solid var(--aa-alert-border); border-radius: var(--aa-radius); padding: 14px 18px; color: var(--aa-alert-red); }
.aa-no-data  { color: var(--aa-text-mid); padding: 16px 0; } .aa-alert-note {
margin: 0 0 12px;
font-size: .875rem; font-weight: 700; color: var(--aa-note-text);
} .aa-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.aa-results-table {
width: 100%; border-collapse: collapse; font-size: .9rem;
background: var(--aa-white); border: 1px solid #e5e7eb;
border-radius: var(--aa-radius); overflow: hidden; box-shadow: var(--aa-shadow);
} .aa-results-table thead th {
background: var(--aa-primary); color: var(--aa-white);
padding: 12px 14px; text-align: left; font-weight: 600;
font-size: .85rem; letter-spacing: .02em;
position: sticky; top: 0; z-index: 1;
} .aa-results-table tbody th[scope="row"] {
padding: 10px 14px; border-bottom: 1px solid #f3f4f6;
font-weight: 600; font-size: .9rem; color: var(--aa-text-dark);
background: #f8fbfc; text-align: left; vertical-align: middle;
white-space: nowrap;
}
.aa-results-table td { padding: 10px 14px; border-bottom: 1px solid #f3f4f6; color: var(--aa-text-dark); vertical-align: middle; }
.aa-results-table tbody tr:last-child td,
.aa-results-table tbody tr:last-child th { border-bottom: none; }
.aa-results-table tbody tr:hover td,
.aa-results-table tbody tr:hover th[scope="row"] { background: #f0f7fa; } .aa-results-table .aa-row-alert td,
.aa-results-table .aa-row-alert th[scope="row"] { color: var(--aa-text-dark); font-weight: 700; }
@media (max-width: 600px) {
.aa-filter-row { flex-direction: column; }
.aa-filter-group { min-width: 100%; }
.aa-btn { width: 100%; text-align: center; }
.aa-results-table th, .aa-results-table td { padding: 8px 10px; font-size: .82rem; }
}