/**
 * ADVAIORA – Restyling di TUTTI i moduli front-end di Restrict Content Pro.
 * Coprono la classe comune .rcp_form (registrazione, profilo, login, recupero/cambio password)
 * e le tabelle .rcp-table (panoramica account, storico pagamenti, dettagli iscrizione).
 * Selettori scoped: non impattano il resto del sito.
 */

:root {
	--arb-primary: #e2751a;
	--arb-primary-dark: #c85f0f;
	--arb-primary-soft: #fdf1e6;
	--arb-border: #dfe3e8;
	--arb-text: #2b2f36;
	--arb-muted: #7a828d;
	--arb-bg: #ffffff;
	--arb-th-bg: #f7f8fa;
	--arb-radius: 10px;
	--arb-shadow: 0 6px 24px rgba(24, 28, 33, 0.08);
}

/* ============================================================
   1. CONTENITORE COMUNE A TUTTI I FORM (.rcp_form)
   ============================================================ */
.rcp_form {
	width: 100%;
	max-width: 100%;
	margin: 0;
	background: var(--arb-bg);
	border: 1px solid var(--arb-border);
	border-radius: 16px;
	box-shadow: var(--arb-shadow);
	padding: 44px 48px 40px;
	box-sizing: border-box;
	text-align: left;
}
.rcp_form *,
.rcp_form *::before,
.rcp_form *::after { box-sizing: border-box; }

.rcp_form h3.rcp_header {
	font-weight: 800;
	color: var(--arb-text);
	margin: 0 0 16px;
}

/* Sotto-titoli di sezione ("Change your Name/Password" del profilo) */
.rcp_form legend,
.rcp_form h3:not(.rcp_header) {
	font-size: 16px;
	font-weight: 700;
	color: var(--arb-text);
	margin: 8px 0 14px;
	padding: 0;
}

/* Link login */
.rcp_form .rcp_login_link {
	margin: 0 0 30px;
	padding: 14px 18px;
	background: var(--arb-primary-soft);
	border-radius: var(--arb-radius);
	font-size: 14px;
	color: var(--arb-muted);
}
.rcp_form .rcp_login_link p { margin: 0; }
.rcp_form .rcp_login_link a,
.rcp_form .rcp_lost_password a {
	color: var(--arb-primary);
	font-weight: 600;
	text-decoration: none;
}
.rcp_form .rcp_login_link a:hover,
.rcp_form .rcp_lost_password a:hover { text-decoration: underline; }

/* Fieldset */
.rcp_form fieldset { border: 0; margin: 0; padding: 0; }

/* Campi */
.rcp_form p { margin: 0 0 16px; }

.rcp_form label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--arb-text);
	margin-bottom: 6px;
	letter-spacing: .01em;
}

.rcp_form input[type="text"],
.rcp_form input[type="email"],
.rcp_form input[type="tel"],
.rcp_form input[type="password"],
.rcp_form input[type="number"],
.rcp_form select,
.rcp_form textarea {
	width: 100%;
	padding: 12px 14px;
	font-size: 15px;
	line-height: 1.3;
	color: var(--arb-text);
	background: #fff;
	border: 1px solid var(--arb-border);
	border-radius: var(--arb-radius);
	transition: border-color .15s ease, box-shadow .15s ease;
	-webkit-appearance: none;
	appearance: none;
}
/* La freccia del <select> (Display Name) */
.rcp_form select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237a828d' d='M6 8 0 2l1.4-1.4L6 5.2 10.6.6 12 2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 38px;
}
.rcp_form input:focus,
.rcp_form select:focus,
.rcp_form textarea:focus {
	outline: none;
	border-color: var(--arb-primary);
	box-shadow: 0 0 0 3px rgba(226, 117, 26, 0.15);
}
.rcp_form input::placeholder { color: #b6bcc4; }

/* Campo readonly (es. email non modificabile) */
.rcp_form input[readonly] { background: #f6f7f9; color: var(--arb-muted); }

/* Asterisco obbligatori */
.rcp_form .rcp_required { color: var(--arb-primary); font-weight: 700; }

/* Layout compatto a due colonne: tutti i campi dati utente affiancati a coppie.
   La fieldset .rcp_user_fieldset contiene: Nome utente, Email, Nome, Cognome,
   Password, Ripeti password + i campi custom (Sede, Città, CF, Cellulare). */
#rcp_registration_form .rcp_user_fieldset {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 32px;
	margin-bottom: 8px;
}
#rcp_registration_form .rcp_user_fieldset > p {
	margin-bottom: 20px;
	min-width: 0;
}
/* Neutralizza le classi inline native di RCP dentro la griglia */
#rcp_registration_form .rcp_user_fieldset > p.inline,
#rcp_registration_form .rcp_user_fieldset > p.inline-block {
	display: block;
	width: auto;
	margin-right: 0;
	vertical-align: top;
}

/* Fuori dal form di registrazione (profilo, login) manteniamo le coppie native */
.rcp_form p.inline,
.rcp_form p.inline-block {
	display: inline-block;
	width: calc(50% - 7px);
	vertical-align: top;
}
.rcp_form p.inline { margin-right: 12px; }
#rcp_registration_form .rcp_user_fieldset > p.inline { margin-right: 0; }

/* Checkbox "Ricordami" e simili */
.rcp_form input[type="checkbox"],
.rcp_form input[type="radio"] { accent-color: var(--arb-primary); }
.rcp_form #rcp_user_remember label,
.rcp_form label.rcp-checkbox-label { display: inline; font-weight: 500; }

/* ============================================================
   2. PULSANTI (submit + azioni)
   ============================================================ */
.rcp_form input[type="submit"],
.rcp_form button[type="submit"],
.rcp_form .rcp-button,
.rcp-table .rcp-button,
a.rcp-button {
	display: inline-block;
	padding: 12px 24px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff !important;
	background: var(--arb-primary) !important;
	border: 0 !important;
	border-radius: 999px;
	cursor: pointer;
	text-decoration: none;
	text-transform: none;
	transition: background .15s ease, transform .05s ease, box-shadow .15s ease;
	box-shadow: 0 6px 16px rgba(226, 117, 26, 0.24);
}
.rcp_form input[type="submit"]:hover,
.rcp_form button[type="submit"]:hover,
.rcp_form .rcp-button:hover,
.rcp-table .rcp-button:hover,
a.rcp-button:hover {
	background: var(--arb-primary-dark) !important;
	box-shadow: 0 8px 20px rgba(200, 95, 15, 0.30);
	color: #fff !important;
}
.rcp_form input[type="submit"]:active,
.rcp_form .rcp-button:active,
a.rcp-button:active { transform: translateY(1px); }

/* Submit del form di registrazione: largo ma non a tutta pagina, a sinistra */
#rcp_registration_form #rcp_submit,
#rcp_registration_form input[type="submit"] {
	width: auto;
	min-width: 240px;
	padding: 15px 40px;
	font-size: 16px;
	border-radius: 999px;
}
#rcp_registration_form #rcp_submit_wrap { margin-top: 22px; text-align: left; }

/* ============================================================
   3. LIVELLI DI ISCRIZIONE (solo form registrazione)
   ============================================================ */
#rcp_registration_form .rcp_subscription_message {
	font-weight: 700; font-size: 15px; color: var(--arb-text); margin: 18px 0 14px;
}
#rcp_registration_form ul#rcp_subscription_levels {
	list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 10px;
}
#rcp_registration_form li.rcp_subscription_level {
	position: relative; margin: 0; padding: 14px 16px 14px 44px;
	border: 1.5px solid var(--arb-border); border-radius: var(--arb-radius);
	cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
#rcp_registration_form li.rcp_subscription_level:hover { border-color: var(--arb-primary); background: #fffaf4; }
#rcp_registration_form li.rcp_subscription_level input[type="radio"] {
	position: absolute; left: 16px; top: 18px; width: 18px; height: 18px; margin: 0;
}
#rcp_registration_form li.rcp_subscription_level:has(input[type="radio"]:checked) {
	border-color: var(--arb-primary); background: var(--arb-primary-soft);
	box-shadow: 0 0 0 1px var(--arb-primary) inset;
}
#rcp_registration_form li.rcp_subscription_level label { display: block; margin: 0; cursor: pointer; font-weight: 500; font-size: 15px; }
#rcp_registration_form .rcp_subscription_level_name { font-weight: 700; color: var(--arb-text); }
#rcp_registration_form .rcp_price { color: var(--arb-primary); font-weight: 700; }
#rcp_registration_form .rcp_level_duration,
#rcp_registration_form .rcp_level_bill_times { color: var(--arb-muted); }
#rcp_registration_form .rcp_separator { color: #c4cad1; }
#rcp_registration_form .rcp_level_description { margin-top: 4px; font-size: 13px; color: var(--arb-muted); line-height: 1.5; }

/* Codice sconto */
#rcp_registration_form .rcp_discount_code_field_wrap { display: flex; gap: 8px; }
#rcp_registration_form #rcp_discount_code { flex: 1; }
#rcp_registration_form #rcp_apply_discount {
	white-space: nowrap; padding: 0 18px; border-radius: var(--arb-radius);
	border: 1px solid var(--arb-border) !important; background: #f5f6f8 !important;
	color: var(--arb-text) !important; font-weight: 600; box-shadow: none;
}
#rcp_registration_form #rcp_apply_discount:hover { background: #eceef1 !important; }
#rcp_registration_form .rcp_discount_valid { color: #1a7f37; }
#rcp_registration_form .rcp_discount_invalid { color: #b32d2e; }

/* Gateway di pagamento */
#rcp_registration_form .rcp_gateways_fieldset legend { font-size: 13px; font-weight: 600; color: var(--arb-text); margin-bottom: 8px; }
#rcp_registration_form #rcp_payment_gateways { display: flex; flex-wrap: wrap; gap: 10px; }
#rcp_registration_form .rcp_gateway_option_label {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px;
	border: 1.5px solid var(--arb-border); border-radius: var(--arb-radius); cursor: pointer; font-weight: 500;
}
#rcp_registration_form .rcp_gateway_option_label:hover { border-color: var(--arb-primary); }

/* Termini / privacy */
#rcp_registration_form #rcp_agree_to_terms_wrap,
#rcp_registration_form #rcp_agree_to_privacy_policy_wrap { display: flex; align-items: flex-start; gap: 10px; }
#rcp_registration_form #rcp_agree_to_terms_wrap input,
#rcp_registration_form #rcp_agree_to_privacy_policy_wrap input { width: auto; margin-top: 2px; }
#rcp_registration_form #rcp_agree_to_terms_wrap label,
#rcp_registration_form #rcp_agree_to_privacy_policy_wrap label { margin: 0; font-weight: 500; font-size: 14px; }

/* ============================================================
   4. TABELLE (panoramica account, storico pagamenti, riepilogo)
   ============================================================ */
.rcp-table-wrapper,
#rcp-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 28px; }

/* Tabelle account/pagamenti: minimal — nessun bordo verticale, solo linee orizzontali sottili */
.rcp-table,
table.rcp-table {
	width: 100%;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 1px solid #edf0f3 !important;
	border-radius: 14px;
	overflow: hidden;
	font-size: 14px;
	background: #fff;
	box-shadow: none;
}
/* Intestazione discreta */
.rcp-table thead th {
	background: #fafbfc !important;
	text-align: left !important;
	padding: 15px 20px !important;
	font-weight: 600 !important;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--arb-muted) !important;
	border: 0 !important;
	border-bottom: 1px solid #edf0f3 !important;
	white-space: nowrap;
}
/* Celle: nessun bordo laterale, solo divisore orizzontale leggero */
.rcp-table td,
.rcp-table tbody th {
	padding: 16px 20px !important;
	border: 0 !important;
	border-bottom: 1px solid #f1f3f6 !important;
	color: var(--arb-text);
	vertical-align: middle;
	text-align: left;
	background: transparent;
}
.rcp-table tbody tr:last-child td,
.rcp-table tbody tr:last-child th { border-bottom: 0 !important; }
.rcp-table tbody tr:hover td { background: #fcfcfd; }

/* Colonna azioni: pulsanti piccoli e impilati */
.rcp-table td .rcp-button,
.rcp-table .cell.actions .rcp-button {
	display: inline-block;
	margin: 3px 0;
	padding: 8px 14px;
	font-size: 13px;
	box-shadow: 0 3px 8px rgba(226, 117, 26, 0.20);
}

/* Badge stato (Pending/Expired/Complete/Abandoned...) */
.rcp-table td.status,
.rcp-table .cell.status { font-weight: 600; }

/* ---- Riepilogo registrazione "Dettagli iscrizione" (tabella label/valore) ----
   Regole forzate con !important per neutralizzare bordi e spaziature del tema. */
.rcp_registration_total { margin-top: 28px; }

table.rcp_registration_total_details,
.rcp_registration_total_details.rcp-table {
	max-width: 480px;
	width: 100%;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 1px solid var(--arb-border) !important;
	border-radius: 12px !important;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(24, 28, 33, .05);
	background: #fff;
}

/* Reset totale di ogni cella: nessun bordo laterale, solo un divisore in alto */
.rcp_registration_total_details tr,
.rcp_registration_total_details th,
.rcp_registration_total_details td {
	border: 0 !important;
	background: #fff;
	vertical-align: middle;
}
.rcp_registration_total_details th,
.rcp_registration_total_details td {
	padding: 13px 20px !important;
	border-top: 1px solid #eef0f3 !important;
	font-size: 14px;
	color: var(--arb-text);
}
/* Etichetta a sinistra (smorzata), valore a destra (in evidenza) */
.rcp_registration_total_details td:first-child { color: var(--arb-muted); text-align: left; }
.rcp_registration_total_details td:last-child { text-align: right; font-weight: 600; }

/* Intestazione "Dettagli iscrizione" */
.rcp_registration_total_details thead th {
	background: var(--arb-primary-soft) !important;
	color: var(--arb-primary-dark) !important;
	font-size: 14px;
	font-weight: 700 !important;
	text-align: left !important;
	padding: 15px 20px !important;
	border-top: 0 !important;
	white-space: nowrap;
}
/* La prima riga del corpo non ha divisore doppio con l'header */
.rcp_registration_total_details thead + tbody tr:first-child th,
.rcp_registration_total_details thead + tbody tr:first-child td { border-top: 0 !important; }

/* Sotto-intestazioni interne ("Sconti e commissioni") */
.rcp_registration_total_details tbody th {
	background: #f7f8fa !important;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--arb-muted) !important;
	font-weight: 700 !important;
	text-align: left !important;
	padding: 10px 20px !important;
}

/* Riga "Totale di oggi" evidenziata su entrambe le celle */
.rcp_registration_total_details tfoot .rcp-total td,
.rcp_registration_total_details tr.rcp-total td {
	background: var(--arb-primary-soft) !important;
	border-top: 2px solid var(--arb-border) !important;
	padding: 16px 20px !important;
	font-size: 16px;
	font-weight: 800 !important;
	color: var(--arb-primary-dark) !important;
}
.rcp_registration_total_details tfoot .rcp-total td:first-child { color: var(--arb-primary-dark) !important; }

/* ============================================================
   5. MESSAGGI
   ============================================================ */
.rcp_message.success,
.rcp_success,
p.rcp_success {
	background: #eafaf0; border: 1px solid #b7e6c8; color: #1a7f37;
	padding: 12px 16px; border-radius: var(--arb-radius); margin-bottom: 18px; font-size: 14px;
}
.rcp_message.error,
.rcp_error,
p.rcp_error {
	background: #fdecec; border: 1px solid #f3b6b6; color: #b32d2e;
	padding: 12px 16px; border-radius: var(--arb-radius); margin-bottom: 18px; font-size: 14px;
}
.rcp-membership-auto-renew-notice { font-size: 13px; color: var(--arb-muted); }

/* ============================================================
   6. RESPONSIVE
   ============================================================ */
@media (max-width: 640px) {
	.rcp_form { padding: 22px 18px; border-radius: 12px; }
	#rcp_registration_form .rcp_user_fieldset { grid-template-columns: 1fr; column-gap: 0; }
	.rcp_form p.inline,
	.rcp_form p.inline-block { display: block; width: 100%; margin-right: 0; }
	#rcp_registration_form #rcp_submit,
	#rcp_registration_form input[type="submit"] { width: 100%; min-width: 0; }
	.rcp_registration_total_details.rcp-table { max-width: 100%; }
	.rcp-table { font-size: 13px; }
	.rcp-table td, .rcp-table th { padding: 10px 12px; }
}
