/*--------------------------------------------------------------
  Blocks
--------------------------------------------------------------*/

.row.blocks {
	margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.row.blocks .block {
	padding: 10px 0;
}

.row.blocks .block-img a {
	width: 100%;
}

.row.blocks .block-img img {
	border-radius: 0;
	width: 100%;
}

.row.blocks .block iframe {
	border-radius: 0;
	width: 100%;
	height: 400px;
}

.row.blocks .block-slideshow .owl-carousel .owl-dots:not(.disabled) {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	margin: -2rem auto 0 auto !important;
	text-align: center;
    z-index: 9;
}

.row.blocks .block-slideshow .owl-carousel .owl-dots:not(.disabled) .owl-dot {
	box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: var(--bs-carousel-indicator-active-bg);
    background-clip: padding-box;
    border: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity .6s ease;
}

.row.blocks .block-slideshow .owl-carousel .owl-dots:not(.disabled) .owl-dot > span {
	display: none;
}

.row.blocks .block-slideshow .owl-carousel .owl-dots:not(.disabled) .owl-dot.active {
	opacity: 1;
}

/*--------------------------------------------------------------
  Google reCaptcha
--------------------------------------------------------------*/

.grecaptcha-badge {
	visibility: hidden;
}

/*--------------------------------------------------------------
  Hero Section
--------------------------------------------------------------*/

.heroSectionBreadcrumb.priceMode {
	z-index: 0;
}

/*--------------------------------------------------------------
  Consulenza Online - Riepilogo dati
--------------------------------------------------------------*/

.consulenza-riepilogo {
    font-size: 15px;
}

.riepilogo-section {
    border: 1px solid #e0e0e0;
    border-radius: 0px;
    overflow: hidden;
}

.riepilogo-section-title {
    background-color: var(--axentra-carbon);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 16px;
    letter-spacing: 0.03em;
}

.riepilogo-section-title i {
    opacity: 0.85;
}

.riepilogo-body {
    background-color: #fafafa;
}

.riepilogo-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 9px 16px;
    border-bottom: 1px solid #ececec;
}

.riepilogo-row:last-child {
    border-bottom: none;
}

.riepilogo-label {
    flex: 0 0 260px;
    font-weight: 600;
    color: #555;
    font-size: 13px;
}

.riepilogo-value {
    flex: 1;
    color: #222;
}

@media (max-width: 576px) {
    .riepilogo-row {
        flex-direction: column;
        gap: 2px;
    }
    .riepilogo-label {
        flex: none;
        font-size: 12px;
        color: #888;
    }
}

/*--------------------------------------------------------------
 Azzera tutti i border-radius nella sezione login 
--------------------------------------------------------------*/

.login-form .card,
.login-form .form-control,
.login-form .input-group-text,
.login-form .btn,
.login-form .alert,
.login-form .input-group > .form-control,
.login-form .input-group > .input-group-text,
.login-form .input-group > .btn {
    border-radius: 0 !important;
}

/*--------------------------------------------------------------
   Area Riservata — Layout
--------------------------------------------------------------*/

.ar-wrapper {
    background-color: var(--axentra-light-gray);
    min-height: 60vh;
    margin-top: 2rem;
}

.ar-layout {
    align-items: stretch;
}

/* ---- Sidebar ---- */

.ar-sidebar-col {
    position: relative;
    display: flex;
    flex-direction: column;
}

.ar-sidebar {
    background: #fff;
    border: 1px solid #e4e4e4;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

/* Intestazione utente */
.ar-sidebar-user {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 24px 20px 20px;
    border-bottom: 1px solid #e4e4e4;
}

.ar-sidebar-avatar {
    width: 44px;
    height: 44px;
    background: var(--axentra-carbon);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.ar-sidebar-user-info {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ar-sidebar-user-info strong {
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ar-sidebar-email {
    font-size: 12px;
    color: var(--axentra-gray);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Navigazione */
.ar-sidebar-nav {
    padding: 12px 0;
    flex: 1;
}

.ar-sidebar-nav ul {
    margin: 0;
}

.ar-sidebar-link {
    display: flex;
    align-items: center;
    padding: 11px 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--axentra-carbon) !important;
    transition: background 0.2s, color 0.2s;
    border-left: 3px solid transparent;
    text-decoration: none !important;
}

.ar-sidebar-link:hover {
    background: var(--axentra-light-gray);
    opacity: 1;
}

.ar-sidebar-link.active {
    background: var(--axentra-light-gray);
    border-left-color: var(--axentra-blue);
    color: var(--axentra-blue) !important;
}

/* Footer sidebar (logout) */
.ar-sidebar-footer {
    padding: 16px 20px;
    border-top: 1px solid #e4e4e4;
}

.ar-sidebar-logout {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    color: var(--axentra-carbon) !important;
    text-decoration: none !important;
    transition: opacity 0.2s;
}

.ar-sidebar-logout:hover {
    opacity: 0.7;
}

/* ---- Toggle mobile ---- */

.ar-mobile-toggle {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 12px 16px;
    background: var(--axentra-carbon);
    color: #fff;
    border: none;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.02em;
    margin-bottom: 0;
}

.ar-mobile-toggle .ar-toggle-icon {
    transition: transform 0.25s;
}

.ar-mobile-toggle--open .ar-toggle-icon {
    transform: rotate(180deg);
}

/* Sidebar nascosta su mobile di default */
@media(max-width: 991.98px) {
    .ar-sidebar {
        display: none;
        border-top: none;
    }

    .ar-sidebar--open {
        display: flex !important;
    }

    .ar-sidebar-col {
        margin-bottom: 0;
    }

    .ar-content-col {
        margin-top: 0;
    }
}

@media(min-width: 992px) {
    .ar-mobile-toggle {
        display: none;
    }

    .ar-sidebar-col {
        padding-right: 0;
    }

    .ar-content-col {
        padding-left: 0;
    }

    .ar-sidebar {
        border-right: none;
        min-height: 500px;
    }
}

/* ---- Contenuto principale ---- */

.ar-content {
    background: #fff;
    border: 1px solid #e4e4e4;
    padding: 32px 28px;
    min-height: 500px;
}

@media(max-width: 575.98px) {
    .ar-content {
        padding: 20px 16px;
    }
}

.ar-section-header .preTitle {
    font-size: 12px;
    padding: 6px 16px;
}

/*--------------------------------------------------------------
   Area Riservata — Dashboard Cards
--------------------------------------------------------------*/

.ar-dashboard-card {
    background: #fff;
    border: 1px solid #e4e4e4;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: box-shadow 0.2s;
}

.ar-dashboard-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.ar-dashboard-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    color: #fff;
    font-size: 22px;
}

.ar-dashboard-card-body {
    padding: 16px 20px 8px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ar-dashboard-card-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--axentra-gray);
    font-weight: 600;
}

.ar-dashboard-card-value {
    font-size: 36px;
    font-weight: 700;
    color: var(--axentra-carbon);
    line-height: 1.1;
}

.ar-dashboard-card-value-sm {
    font-size: 15px;
    font-weight: 500;
    color: var(--axentra-carbon);
}

.ar-dashboard-card-link {
    display: block;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 600;
    color: var(--axentra-blue) !important;
    border-top: 1px solid #f0f0f0;
    text-decoration: none !important;
    transition: background 0.2s;
}

.ar-dashboard-card-link:hover {
    background: var(--axentra-light-gray);
    opacity: 1;
}

span.ar-dashboard-card-link {
    cursor: default;
    color: var(--axentra-gray) !important;
}

span.ar-dashboard-card-link:hover {
    background: transparent;
}

/*--------------------------------------------------------------
   Area Riservata — Azioni rapide
--------------------------------------------------------------*/

.ar-quick-action {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: var(--axentra-light-gray);
    border: 1px solid #e4e4e4;
    color: var(--axentra-carbon) !important;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none !important;
    transition: background 0.2s, box-shadow 0.2s;
    height: 100%;
}

.ar-quick-action:hover {
    background: #eaeaea;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    opacity: 1;
}

.ar-quick-action-icon {
    font-size: 20px;
    color: var(--axentra-blue);
    flex-shrink: 0;
}

/*--------------------------------------------------------------
   Area Riservata — Form sezioni (I tuoi dati)
--------------------------------------------------------------*/

.ar-form-section {
    border: 1px solid #e4e4e4;
    overflow: hidden;
}

.ar-form-section-title {
    background-color: var(--axentra-carbon);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 16px;
    letter-spacing: 0.03em;
}

.ar-form-section-title i {
    opacity: 0.85;
}

.ar-form-section-body {
    background-color: #fafafa;
    padding: 20px 16px;
}

.ar-field-readonly {
    background-color: #f0f0f0 !important;
    color: var(--axentra-gray) !important;
    cursor: not-allowed;
}

/*--------------------------------------------------------------
   Area Riservata — Sezione Pratiche (gruppi + righe)
--------------------------------------------------------------*/

.ar-pratiche-gruppo-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 8px 14px;
    margin-bottom: 0;
    border: 1px solid #e4e4e4;
}

.ar-pratiche-gruppo--pending {
    background: #fff3cd;
    color: #664d03;
    border-color: #ffda6a;
}

.ar-pratiche-gruppo--lavorazione {
    background: #fff8e6;
    color: #7a5a00;
    border-color: #f5dfa0;
}

.ar-pratiche-gruppo--scadenza {
    background: #fff0f0;
    color: #8b0000;
    border-color: #f5c0c0;
}

.ar-pratiche-gruppo--completate {
    background: var(--axentra-light-gray);
    color: #555;
    border-color: #d8d8d8;
}

.ar-pratiche-count {
    margin-left: auto;
    background: rgba(0,0,0,0.12);
    border-radius: 20px;
    padding: 1px 9px;
    font-size: 12px;
    font-weight: 700;
}

/* Riga singola pratica */
.ar-pratica-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid #e4e4e4;
    border-top: none;
    background: #fff;
    transition: background 0.15s;
}

.ar-pratica-row:hover {
    background: #fafafa;
}

.ar-pratica-row--alert {
    background: #fffaf8;
}

.ar-pratica-row--pending {
    background: #fffdf0;
    border-left: 3px solid #ffda6a;
}

.ar-pratica-row--pending:hover {
    background: #fffbe0;
}

/* Pulsating circle per segnalazioni */
.ar-pratica-alert-pulse {
    position: relative;
    flex-shrink: 0;
    width: 12px;
    height: 12px;
}

.ar-pratica-alert-pulse::before,
.ar-pratica-alert-pulse::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
}

.ar-pratica-alert-pulse::before {
    width: 12px;
    height: 12px;
    background: #e74c3c;
}

.ar-pratica-alert-pulse::after {
    width: 12px;
    height: 12px;
    background: rgba(231, 76, 60, 0.4);
    animation: arPulse 1.6s ease-out infinite;
}

@keyframes arPulse {
    0%   { transform: translate(-50%, -50%) scale(1);   opacity: 0.8; }
    70%  { transform: translate(-50%, -50%) scale(2.4); opacity: 0; }
    100% { transform: translate(-50%, -50%) scale(2.4); opacity: 0; }
}

.ar-pratica-row-main {
    flex: 1;
    min-width: 0;
}

.ar-pratica-societa {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    margin-bottom: 6px;
}

.ar-pratica-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: stretch;
}

.ar-pratica-meta-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--axentra-gray);
    padding: 3px 10px;
    border-right: 1px solid #e4e4e4;
}

.ar-pratica-meta-item:first-child {
    padding-left: 0;
}

.ar-pratica-meta-item:last-child {
    border-right: none;
}

.ar-pratica-scadenza--warning {
    color: #c0392b !important;
    font-weight: 600;
}

.ar-pratica-row-actions {
    flex-shrink: 0;
}

.ar-pratica-alert-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #e74c3c;
    background: #fdecea;
    padding: 2px 7px;
    border-radius: 2px;
}

/* Badge stato */
.ar-stato-badge {
    display: inline-block;
    padding: 2px 10px;
    font-size: 11px;
    font-weight: 700;
    color: #222;
    letter-spacing: 0.03em;
    border-radius: 2px;
}

@media(max-width: 575.98px) {
    .ar-pratica-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .ar-pratica-row-actions {
        width: 100%;
    }
    .ar-pratica-row-actions .btn {
        width: 100%;
    }
}

/*--------------------------------------------------------------
   Area Riservata — Modale dettaglio pratica
--------------------------------------------------------------*/

.ar-modal-header {
    background: var(--axentra-carbon);
    color: #fff;
    border-radius: 0;
}

.ar-modal-header .btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.ar-modal-segnalazione {
    background: #fff3cd;
    border-left: 4px solid #e74c3c;
    color: #7a3a00;
    padding: 14px 18px;
    font-size: 14px;
}

/* Riepilogo read-only */
.ar-riepilogo-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 8px 16px;
    border-bottom: 1px solid #ececec;
    font-size: 14px;
}

.ar-riepilogo-row:last-child {
    border-bottom: none;
}

.ar-riepilogo-label {
    flex: 0 0 200px;
    font-weight: 600;
    color: #666;
    font-size: 13px;
}

.ar-riepilogo-value {
    flex: 1;
    color: #222;
}

@media(max-width: 575.98px) {
    .ar-riepilogo-row {
        flex-direction: column;
        gap: 2px;
    }
    .ar-riepilogo-label {
        flex: none;
        font-size: 11px;
        color: #999;
    }
}

/* Pannello azionista nel modale */
.ar-azionista-panel {
    padding: 10px 0 0;
}

.ar-azionista-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px 8px;
    font-size: 14px;
    border-bottom: 1px solid #ececec;
    background: #f8f8f8;
}

.ar-azionista-quota {
    background: var(--axentra-carbon);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 2px;
}

.ar-azionista-body {
    padding: 0;
}

/* Righe riepilogo azionista: più compatte */
.ar-azionista-panel .ar-riepilogo-row {
    padding: 5px 16px;
    font-size: 13px;
}

.ar-azionista-panel .ar-riepilogo-label {
    flex: 0 0 160px;
    font-size: 12px;
}

.ar-azionista-docs {
    padding: 10px 16px 12px;
    border-top: 1px solid #ececec;
    background: #fafafa;
}

.ar-azionista-docs-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--axentra-gray);
}

/*--------------------------------------------------------------
   Area Riservata — Badge documento
--------------------------------------------------------------*/

.ar-doc-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid;
    cursor: pointer;
    text-decoration: none !important;
    transition: opacity 0.2s, background 0.2s;
    border-radius: 0;
}

.ar-doc-badge--present {
    background: #f0fff2;
    border-color: #64C570;
    color: #1a5c22 !important;
}

.ar-doc-badge--present:hover {
    background: #d4f5d8;
    opacity: 1;
}

.ar-doc-badge--missing {
    background: #fff8e6;
    border-color: #FCC14B;
    color: #7a5a00;
}

.ar-doc-badge--missing:hover {
    background: #ffefc0;
    opacity: 1;
}

.ar-doc-badge-req {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-left: 5px;
    margin-top: 4px;
    opacity: 0.7;
}

/*--------------------------------------------------------------
   Area Riservata — Messaggio fatturazione mancante
--------------------------------------------------------------*/

.ar-fatt-mancante-msg {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff8e6;
    border: 1px solid #f5dfa0;
    padding: 14px 16px;
    font-size: 14px;
    color: #7a5a00;
}

.ar-fatt-mancante-msg i.fa-triangle-exclamation {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 2px;
}

.ar-fatt-mancante-msg strong {
    display: block;
    margin-bottom: 3px;
}

@media(max-width: 575.98px) {
    .ar-fatt-mancante-msg {
        flex-direction: column;
    }
    .ar-fatt-mancante-msg .btn {
        width: 100%;
        margin-left: 0 !important;
    }
}

/* =========================================================
   NAVBAR — Badge alert documenti mancanti sull'icona utente
   ========================================================= */

.hdr-user-icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* Pallino rosso pulsante */
.hdr-alert-badge {
    position: absolute;
    top: -3px;
    right: -4px;
    width: 10px;
    height: 10px;
    background: #e74c3c;
    border-radius: 50%;
    border: 2px solid #fff;
    display: block;
}

.hdr-alert-badge::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 10px;
    height: 10px;
    background: rgba(231, 76, 60, 0.5);
    border-radius: 50%;
    animation: hdrBadgePulse 1.8s ease-out infinite;
}

@keyframes hdrBadgePulse {
    0%   { transform: translate(-50%, -50%) scale(1);   opacity: 0.8; }
    70%  { transform: translate(-50%, -50%) scale(2.4); opacity: 0;   }
    100% { transform: translate(-50%, -50%) scale(2.4); opacity: 0;   }
}

/* Tooltip sempre visibile */
.hdr-alert-tooltip {
    position: absolute;
    top: calc(100% + 10px);
    right: 50%;
    transform: translateX(50%);
    background: #000;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
    padding: 5px 10px;
    border-radius: 0px;
    pointer-events: none;
    opacity: 1;
    z-index: 9999;
}

.hdr-alert-tooltip::before {
    content: '';
    position: absolute;
    bottom: 100%;
    right: 50%;
    transform: translateX(50%);
    border: 5px solid transparent;
    border-bottom-color: #000;
}

/*--------------------------------------------------------------
   Area Riservata — Servizi Pending sotto ogni pratica
--------------------------------------------------------------*/

.ar-pratica-servizi-pending {
    border: 1px solid #e4e4e4;
    border-top: none;
    background: #fffdf5;
}

.ar-pratica-servizi-pending-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7a5a00;
    padding: 7px 16px;
    border-bottom: 1px solid #f5dfa0;
    background: #fff8e6;
}

.ar-pratica-servizi-pending-count {
    margin-left: auto;
    background: #e6a817;
    color: #fff;
    border-radius: 20px;
    padding: 1px 8px;
    font-size: 11px;
    font-weight: 700;
}

.ar-pratica-servizi-pending-list {
    padding: 6px 0;
}

.ar-servizio-pending-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    border-bottom: 1px solid #f5f0e0;
}

.ar-servizio-pending-row:last-child {
    border-bottom: none;
}

.ar-servizio-pending-row--totale {
    background: #fff8e6;
    border-bottom-color: #f1d37a;
}

.ar-servizio-pending-info {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.ar-servizio-pending-costo {
    font-size: 14px;
    font-weight: 700;
    color: #222;
    white-space: nowrap;
}

.ar-servizio-pending-desc {
    font-size: 13px;
    color: #444;
    margin-top: -2px;
}

.ar-servizio-pending-scad {
    font-size: 12px;
    color: var(--axentra-gray);
    white-space: nowrap;
}

.ar-btn-paga {
    flex-shrink: 0;
    background: var(--axentra-blue);
    color: #fff;
    border: 1px solid var(--axentra-blue);
    font-size: .875rem;
    font-weight: 600;
    padding: .25rem .75rem;
    border-radius: 0;
    white-space: nowrap;
    transition: background 0.15s, border-color 0.15s;
    --bs-btn-active-bg: #0056b3;
    --bs-btn-active-border-color: #0056b3;
    --bs-btn-active-color: #fff;
}

.ar-btn-paga:hover,
.ar-btn-paga:focus,
.ar-btn-paga:active,
.ar-btn-paga:focus-visible,
.ar-btn-paga.active,
.ar-btn-paga:first-child:active {
    background: #0056b3 !important;
    border-color: #0056b3 !important;
    color: #fff !important;
    outline: none;
    box-shadow: none;
}

@media(max-width: 575.98px) {
    .ar-servizio-pending-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .ar-btn-paga {
        width: 100%;
    }
}

/*--------------------------------------------------------------
   Area Riservata — Tabella servizi nel modale dettaglio
--------------------------------------------------------------*/

.ar-servizi-table-wrap {
    overflow-x: auto;
}

.ar-servizi-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.ar-servizi-table thead th {
    background: #f0f0f0;
    color: #555;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 8px 14px;
    border-bottom: 1px solid #e0e0e0;
    white-space: nowrap;
}

.ar-servizi-table tbody td {
    padding: 9px 14px;
    border-bottom: 1px solid #ececec;
    color: #333;
    vertical-align: middle;
}

.ar-servizi-table tbody tr:last-child td {
    border-bottom: none;
}

.ar-servizi-table tbody tr:hover td {
    background: #fafafa;
}

.ar-sv-costo {
    font-weight: 700;
    white-space: nowrap;
}

.ar-sv-scad {
    white-space: nowrap;
    color: var(--axentra-gray);
}

.ar-sv-rinnovo {
    white-space: nowrap;
    color: var(--axentra-gray);
}

/* Badge stato servizio */
.ar-sv-stato {
    display: inline-block;
    padding: 2px 9px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 2px;
    letter-spacing: 0.03em;
}

.ar-sv-stato--pending {
    background: #fff8e6;
    color: #7a5a00;
    border: 1px solid #f5dfa0;
}

.ar-sv-stato--pagato {
    background: #f0fff2;
    color: #1a5c22;
    border: 1px solid #64C570;
}

.ar-sv-stato--cancellato {
    background: #fff0f0;
    color: #8b0000;
    border: 1px solid #f5c0c0;
}

/*--------------------------------------------------------------
   Area Riservata — Modale pagamento
--------------------------------------------------------------*/

.ar-pag-riepilogo {
    background: #f8f8f8;
    border: 1px solid #e4e4e4;
    padding: 0;
}

.ar-pag-riepilogo-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 9px 16px;
    border-bottom: 1px solid #ececec;
    font-size: 14px;
}

.ar-pag-riepilogo-row:last-child {
    border-bottom: none;
}

.ar-pag-riepilogo-label {
    flex: 0 0 90px;
    font-weight: 600;
    color: #666;
    font-size: 13px;
}

.ar-pag-riepilogo-value {
    flex: 1;
    color: #222;
}

.ar-pag-importo {
    font-size: 18px;
    font-weight: 700;
    color: var(--axentra-blue);
}

.ar-pag-tabs .nav-link {
    border-radius: 0;
    font-size: 13px;
    font-weight: 600;
    color: #555;
}

.ar-pag-tabs .nav-link.active {
    color: var(--axentra-blue);
    border-bottom-color: #fff;
}

.ar-pag-iban-block {
    border: 1px solid #e4e4e4;
    background: #fff;
}

.ar-pag-iban-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 9px 16px;
    border-bottom: 1px solid #ececec;
    font-size: 14px;
}

.ar-pag-iban-row:last-child {
    border-bottom: none;
}

.ar-pag-iban-label {
    flex: 0 0 110px;
    font-weight: 600;
    color: #666;
    font-size: 13px;
}

.ar-pag-iban-value {
    flex: 1;
    color: #222;
}

.ar-pag-iban-code {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: monospace;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.ar-pag-copy-btn {
    background: none;
    border: 1px solid #ccc;
    color: #666;
    padding: 2px 7px;
    font-size: 13px;
    cursor: pointer;
    border-radius: 2px;
    transition: background 0.15s, color 0.15s;
    line-height: 1.4;
}

.ar-pag-copy-btn:hover {
    background: var(--axentra-blue);
    color: #fff;
    border-color: var(--axentra-blue);
}

.ar-pag-causale {
    font-style: italic;
    color: #555;
}

.ar-pag-paypal-placeholder {
    text-align: center;
    padding: 30px 20px;
    border: 2px dashed #d0d0d0;
    background: #fafafa;
}

.ar-pag-paypal-icon {
    font-size: 48px;
    color: #003087;
    margin-bottom: 12px;
    display: block;
}

@media(max-width: 575.98px) {
    .ar-pag-riepilogo-row,
    .ar-pag-iban-row {
        flex-direction: column;
        gap: 2px;
    }
    .ar-pag-riepilogo-label,
    .ar-pag-iban-label {
        flex: none;
        font-size: 11px;
        color: #999;
    }
}
