/**
 * Area cliente "Il mio ulivo" — dashboard dell'adozione.
 * Stile del sito: fondo scuro, serif, oro. Colori espliciti ovunque.
 */

.adu-account {
	--adu-gold: #c9a227;
	--adu-gold-soft: rgba(201, 162, 39, 0.45);
	--adu-cream: #efe6d2;
	--adu-cream-soft: rgba(239, 230, 210, 0.72);
	--adu-panel: #1d1915;
	--adu-panel-line: rgba(239, 230, 210, 0.12);
	/* Variabili marker per la mini-mappa (in adu-map.css sono scoperte
	   solo dentro .adu-map-wrap, che qui non c'è). */
	--adu-marker-dot: 18px;
	--adu-color-available: #1a1a1a;
	--adu-color-adopted: #c9a227;
	--adu-color-unavailable: #9aa0a6;
	--adu-color-reserved: #b5651d;
}

.adu-dash { margin-bottom: 56px; }

/* ----------------------------------------------------------------------
 * Menu di navigazione My Account (WooCommerce), in stile col sito
 * -------------------------------------------------------------------- */

.woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	margin: 0 0 30px !important;
	padding: 6px 0 !important;
	border: 1px solid rgba(239, 230, 210, 0.12);
	border-radius: 4px;
	background: #1d1915;
	overflow: hidden;
}

.woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border-bottom: 1px solid rgba(239, 230, 210, 0.07);
}

.woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation li::marker { content: ''; }

.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 13px 22px !important;
	color: rgba(239, 230, 210, 0.72) !important;
	text-decoration: none !important;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-left: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.woocommerce-MyAccount-navigation li a:hover {
	color: #c9a227 !important;
	background: rgba(201, 162, 39, 0.06);
}

.woocommerce-MyAccount-navigation li.is-active a {
	color: #c9a227 !important;
	border-left-color: #c9a227;
	background: rgba(201, 162, 39, 0.08);
}

/* ----------------------------------------------------------------------
 * Selettore tra più ulivi adottati
 * -------------------------------------------------------------------- */

.adu-tree-switch {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 30px;
}

.adu-tree-tab,
.adu-tree-tab:hover,
.adu-tree-tab:focus {
	background: transparent !important;
	border: 1px solid var(--adu-gold-soft) !important;
	border-radius: 999px !important;
	color: var(--adu-cream-soft) !important;
	padding: 9px 22px !important;
	font-family: inherit !important;
	font-size: 13px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: all 0.15s ease;
}

.adu-tree-tab:hover { color: var(--adu-gold) !important; }

.adu-tree-tab.is-active {
	background: var(--adu-gold) !important;
	border-color: var(--adu-gold) !important;
	color: #14110e !important;
	font-weight: 600 !important;
}

.adu-dash-empty { text-align: center; padding: 40px 0; }
.adu-dash-empty p { color: var(--adu-cream-soft, #b7ad97); margin-bottom: 18px; }

/* ----------------------------------------------------------------------
 * Intestazione
 * -------------------------------------------------------------------- */

.adu-dash-head { text-align: center; margin-bottom: 26px; }

.adu-dash-eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--adu-gold) !important;
	font-weight: 500;
}

.adu-dash-title {
	margin: 0 0 6px;
	color: var(--adu-cream) !important;
	font-weight: 400;
	font-size: clamp(30px, 4vw, 42px);
	letter-spacing: 0.03em;
}

.adu-dash-code {
	margin: 0 0 14px;
	color: var(--adu-cream-soft) !important;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.adu-badge {
	display: inline-block;
	padding: 6px 18px;
	border: 1px solid var(--adu-gold-soft);
	border-radius: 999px;
	color: var(--adu-gold);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
}

/* ----------------------------------------------------------------------
 * Griglia centrale: tiles — foto — tiles
 * -------------------------------------------------------------------- */

.adu-dash-grid {
	display: grid;
	grid-template-columns: 1fr minmax(260px, 380px) 1fr;
	gap: 18px;
	align-items: stretch;
}

.adu-dash-photo {
	margin: 0;
	border: 1px solid var(--adu-gold-soft);
	border-radius: 4px;
	padding: 8px;
	background: var(--adu-panel);
}

.adu-dash-photo img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	border-radius: 2px;
}

.adu-dash-tiles {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.adu-tile {
	flex: 1;
	background: var(--adu-panel);
	border: 1px solid var(--adu-panel-line);
	border-radius: 4px;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	transition: border-color 0.2s ease;
}

.adu-tile:hover { border-color: var(--adu-gold-soft); }

.adu-tile-label {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--adu-gold);
	font-weight: 600;
}

.adu-tile-value {
	color: var(--adu-cream);
	font-size: 19px;
	line-height: 1.3;
}

.adu-tile-value small {
	display: block;
	color: var(--adu-cream-soft);
	font-size: 12px;
	margin-top: 2px;
}

.adu-tile-value--small { font-size: 15px; letter-spacing: 0.03em; }

@media (max-width: 900px) {
	.adu-dash-grid { grid-template-columns: 1fr; }
	.adu-dash-photo { order: -1; max-width: 420px; margin: 0 auto; width: 100%; }
	.adu-dash-tiles { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
	.adu-dash-tiles { grid-template-columns: 1fr; }
}

.adu-dash-traits {
	text-align: center;
	margin: 16px 0 0;
	color: var(--adu-cream-soft);
	font-style: italic;
	font-size: 14px;
}

.adu-dash-traits span + span::before { content: ' · '; }

/* ----------------------------------------------------------------------
 * "Il tuo olio sta nascendo" (variante su fondo scuro)
 * -------------------------------------------------------------------- */

.adu-dash-oil {
	margin: 26px 0 0;
	background: var(--adu-panel);
	border: 1px solid var(--adu-panel-line);
	border-radius: 4px;
	padding: 22px 24px;
}

.adu-dash-oil .adu-progress-title {
	margin: 0 0 12px;
	font-size: 13px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--adu-gold);
}

.adu-dash-oil .adu-progress-bar {
	height: 6px;
	border-radius: 999px;
	background: rgba(239, 230, 210, 0.14);
	overflow: hidden;
}

.adu-dash-oil .adu-progress-bar span {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #d9bd62, #c9a227);
}

.adu-dash-oil .adu-progress-rows {
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 32px;
}

.adu-dash-oil .adu-progress-rows li {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 4px 0;
	font-size: 14px;
	color: var(--adu-cream-soft);
}

.adu-dash-oil .adu-progress-rows strong { color: var(--adu-cream); font-weight: 600; }

.adu-dash-oil .adu-fase-icon { width: 18px; height: 18px; color: var(--adu-gold); }

/* ----------------------------------------------------------------------
 * Doppia colonna: mini-mappa e adozione
 * -------------------------------------------------------------------- */

.adu-dash-duo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-top: 18px;
}

@media (max-width: 900px) {
	.adu-dash-duo { grid-template-columns: 1fr; }
}

.adu-dash-card {
	background: var(--adu-panel);
	border: 1px solid var(--adu-panel-line);
	border-radius: 4px;
	padding: 22px 24px;
}

.adu-dash-card-title {
	margin: 0 0 14px;
	font-size: 13px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--adu-gold) !important;
}

.adu-dash-muted { color: var(--adu-cream-soft); font-size: 14px; }

.adu-dash-desc { color: var(--adu-cream-soft); font-size: 14px; line-height: 1.6; margin-top: 14px; }

.adu-btn--inline { display: inline-block !important; width: auto !important; }

.adu-mini-map {
	width: 100%;
	height: 300px;
	border-radius: 3px;
	background: #232019;
	z-index: 0;
	overflow: hidden;
}

.adu-mini-map-caption {
	font-size: 13px;
	color: var(--adu-cream-soft);
	margin: 8px 0 0;
	font-style: italic;
}

.adu-account-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.adu-account-gallery img {
	width: 68px;
	height: 68px;
	object-fit: cover;
	border-radius: 3px;
	border: 1px solid var(--adu-panel-line);
}

/* ----------------------------------------------------------------------
 * Personalizzazione (form)
 * -------------------------------------------------------------------- */

.adu-account-form-wrap {
	margin: 18px 0 0;
	border-top: 1px solid var(--adu-panel-line);
	padding-top: 16px;
}

.adu-account-form-wrap summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--adu-cream);
	letter-spacing: 0.02em;
}

.adu-account-form-wrap summary:hover { color: var(--adu-gold); }

.adu-account-form .form-row { margin: 14px 0; }

.adu-account-form label {
	display: block;
	margin-bottom: 5px;
	font-size: 13px;
	color: var(--adu-cream-soft);
}

.adu-account-form input[type="text"],
.adu-account-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid rgba(239, 230, 210, 0.25);
	border-radius: 3px;
	background: #14110e;
	color: var(--adu-cream);
	font-family: inherit;
	font-size: 14px;
}

.adu-account-form input[type="text"]:focus,
.adu-account-form textarea:focus {
	border-color: var(--adu-gold);
	outline: none;
}

.adu-consensi {
	border: 1px solid var(--adu-panel-line);
	border-radius: 4px;
	padding: 14px 18px;
	margin: 16px 0;
}

.adu-consensi legend {
	padding: 0 8px;
	color: var(--adu-gold);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
}

.adu-consensi label {
	display: block;
	margin: 8px 0;
	color: var(--adu-cream-soft);
	font-size: 14px;
}

.adu-consensi .description { color: rgba(239, 230, 210, 0.5); font-size: 12px; font-style: italic; }

/* ----------------------------------------------------------------------
 * Flusso adozione: registrazione e thank you page
 * -------------------------------------------------------------------- */

.adu-flow { max-width: 560px; margin: 40px auto 110px; }

/* Campo password con occhio per mostrarla */

.adu-pass-wrap { position: relative; display: block; }

.adu-pass-wrap input { padding-right: 46px !important; }

.adu-pass-toggle,
.adu-pass-toggle:hover,
.adu-pass-toggle:focus {
	position: absolute !important;
	top: 50% !important;
	right: 8px !important;
	transform: translateY(-50%);
	width: 32px !important;
	height: 32px !important;
	padding: 5px !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	cursor: pointer;
	color: rgba(239, 230, 210, 0.45) !important;
	line-height: 0 !important;
}

.adu-pass-toggle svg { width: 100%; height: 100%; }
.adu-pass-toggle:hover { color: var(--adu-gold, #c9a227) !important; }
.adu-pass-toggle.is-on { color: var(--adu-gold, #c9a227) !important; }

.adu-flow-card {
	background: var(--adu-panel, #1d1915);
	border: 1px solid var(--adu-gold-soft, rgba(201, 162, 39, 0.45));
	border-radius: 6px;
	padding: 38px 34px;
	text-align: center;
}

.adu-flow-title {
	margin: 0 0 12px;
	color: var(--adu-cream, #efe6d2) !important;
	font-weight: 400;
	font-size: clamp(26px, 3.4vw, 34px);
	letter-spacing: 0.02em;
}

.adu-flow-text {
	margin: 0 0 20px;
	color: var(--adu-cream-soft, rgba(239, 230, 210, 0.72));
	font-size: 15px;
	line-height: 1.65;
}

.adu-flow-form { text-align: left; margin-top: 8px; }

.adu-flow-error {
	margin: 0 0 16px;
	padding: 10px 14px;
	border: 1px solid rgba(200, 90, 60, 0.5);
	border-radius: 4px;
	color: #e0a68f;
	font-size: 14px;
	text-align: left;
}

.adu-flow-alt {
	margin: 22px 0 0;
	color: var(--adu-cream-soft, rgba(239, 230, 210, 0.72));
	font-size: 14px;
}

.adu-flow-link,
.adu-flow-link:visited {
	color: var(--adu-gold, #c9a227) !important;
	text-decoration: none !important;
	border-bottom: 1px solid var(--adu-gold-soft, rgba(201, 162, 39, 0.45));
}

.adu-flow-link:hover { border-bottom-color: var(--adu-gold, #c9a227); }

.adu-thankyou { margin: 30px auto 50px; }

/* Contenuto delle pagine account (Bacheca, Ordini…): testi leggibili
   sul fondo scuro del tema. */
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-content p {
	color: rgba(239, 230, 210, 0.82) !important;
}

.woocommerce-MyAccount-content strong { color: #efe6d2 !important; }

.woocommerce-MyAccount-content a,
.woocommerce-MyAccount-content a:visited {
	color: #c9a227 !important;
}

/* ----------------------------------------------------------------------
 * Blocchi carrello/checkout WooCommerce su tema scuro
 * -------------------------------------------------------------------- */

/* Campi con fondo bianco (coupon, contatti…): testo sempre scuro,
   qualunque colore imponga il tema. */
.wp-block-woocommerce-cart .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wc-block-components-totals-coupon input,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
	color: #241f14 !important;
	-webkit-text-fill-color: #241f14 !important;
}

/* Thank you page (dettagli ordine classici): testi chiari su fondo scuro. */
.woocommerce-order > p,
.woocommerce-order .woocommerce-thankyou-order-received {
	color: #efe6d2 !important;
	font-size: 17px;
}

.woocommerce-order .woocommerce-order-overview li,
.woocommerce-order .woocommerce-order-overview li strong {
	color: rgba(239, 230, 210, 0.85) !important;
}

.woocommerce-order h2,
.woocommerce-order h3,
.woocommerce-order address,
.woocommerce-order .woocommerce-customer-details address {
	color: #efe6d2 !important;
}

.woocommerce-order .woocommerce-table th,
.woocommerce-order .woocommerce-table td,
.woocommerce-order .woocommerce-table .product-name a,
.woocommerce-order .wc-item-meta li,
.woocommerce-order .wc-item-meta .wc-item-meta-label {
	color: rgba(239, 230, 210, 0.82) !important;
}

.woocommerce-order .woocommerce-table {
	border-color: rgba(239, 230, 210, 0.18) !important;
}

/* ----------------------------------------------------------------------
 * Timeline
 * -------------------------------------------------------------------- */

.adu-timeline { margin-top: 26px; }

.adu-timeline-item {
	border-left: 2px solid var(--adu-gold-soft);
	padding: 4px 0 16px 18px;
	margin: 0 0 8px;
	position: relative;
}

.adu-timeline-item::before {
	content: '';
	position: absolute;
	left: -6px;
	top: 8px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--adu-gold);
}

.adu-timeline-item header {
	font-size: 13px;
	color: var(--adu-cream-soft);
	display: flex;
	gap: 10px;
	align-items: center;
}

.adu-timeline-fase {
	background: var(--adu-gold);
	color: #14110e;
	border-radius: 999px;
	padding: 1px 10px;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 600;
}

.adu-timeline-item h5 {
	margin: 6px 0;
	font-size: 17px;
	color: var(--adu-cream);
	font-weight: 500;
}

.adu-timeline-body { color: var(--adu-cream-soft); font-size: 14px; line-height: 1.6; }

.adu-timeline-item img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	margin-top: 10px;
}

.adu-timeline-item a { color: var(--adu-gold); }

/* ----------------------------------------------------------------------
 * Modulo di accesso di WooCommerce
 *
 * Chi arriva dall'email senza sessione attiva finisce qui. Il tema
 * disegna etichette e titoli scuri, che su fondo scuro spariscono:
 * i colori vanno dichiarati, non ereditati.
 * -------------------------------------------------------------------- */

.woocommerce-account .woocommerce h2,
.woocommerce-account .entry-title,
.woocommerce-account .woocommerce-form-login__submit + .woocommerce-LostPassword,
.woocommerce-account .woocommerce form.woocommerce-form-login {
	color: #efe6d2;
}

.woocommerce-account .woocommerce h2,
.woocommerce-account h1.entry-title {
	color: #efe6d2 !important;
}

.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register {
	background: #1d1915;
	border: 1px solid rgba(201, 162, 39, 0.45);
	border-radius: 6px;
	padding: 28px 26px;
	max-width: 520px;
}

.woocommerce-account form.woocommerce-form-login label,
.woocommerce-account form.woocommerce-form-register label,
.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__rememberme span,
.woocommerce-account form.woocommerce-form-login p {
	color: #efe6d2 !important;
}

.woocommerce-account form.woocommerce-form-login .required {
	color: #c9a227 !important;
}

/* Campi: fondo chiaro e testo scuro forzato, perché il tema colora
   il testo digitato di chiaro e diventa illeggibile sul bianco. */
.woocommerce-account form.woocommerce-form-login input[type="text"],
.woocommerce-account form.woocommerce-form-login input[type="email"],
.woocommerce-account form.woocommerce-form-login input[type="password"],
.woocommerce-account form.woocommerce-form-register input[type="text"],
.woocommerce-account form.woocommerce-form-register input[type="email"],
.woocommerce-account form.woocommerce-form-register input[type="password"] {
	background: #ffffff !important;
	color: #1a1a1a !important;
	-webkit-text-fill-color: #1a1a1a !important;
	border: 1px solid rgba(26, 26, 26, 0.25) !important;
	border-radius: 4px !important;
	padding: 12px 14px !important;
	width: 100%;
}

.woocommerce-account form.woocommerce-form-login input:focus,
.woocommerce-account form.woocommerce-form-register input:focus {
	border-color: #c9a227 !important;
	outline: 2px solid rgba(201, 162, 39, 0.35);
	outline-offset: 1px;
}

.woocommerce-account form.woocommerce-form-login button[type="submit"],
.woocommerce-account form.woocommerce-form-register button[type="submit"] {
	background: #c9a227 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 4px !important;
	padding: 13px 30px !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 14px;
}

.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account form.woocommerce-form-login a {
	color: #c9a227 !important;
	text-decoration: underline;
}

/* Avviso in cima al modulo, quando si arriva da un collegamento scaduto. */
.adu-login-nota {
	max-width: 520px;
	margin: 0 0 18px;
	padding: 14px 18px;
	border-left: 3px solid #c9a227;
	background: rgba(201, 162, 39, 0.08);
	color: #efe6d2;
	line-height: 1.6;
}
