/*
 * Ruvin Barber — widgets.css
 * Stili per le widget area del tema.
 * Supporta: Testo, HTML Personalizzato, Immagine, Navigazione,
 *           Simple Text/Snippet, e qualsiasi widget di terze parti.
 */

/* ── CONTENITORE GENERICO WIDGET AREA ── */
.ruvin-widget-area-before-services,
.ruvin-widget-area-after-booking,
.ruvin-footer-widget-area {
	padding: 0;
}

.ruvin-widget-area-before-services {
	padding: 40px 48px 0;
	background: var(--black, #0a0a0a);
}

.ruvin-widget-area-after-booking {
	background: var(--black, #0a0a0a);
	padding: 40px 48px;
}

/* Footer widget area */
.ruvin-footer-widget-area {
	background: var(--dark, #111);
	border-top: 1px solid var(--steel, #2b2b2b);
	padding: 40px 48px;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

/* ── SINGOLO WIDGET ── */
.ruvin-widget {
	color: var(--cream, #e8dcc8);
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	line-height: 1.8;
	font-weight: 300;
}

.ruvin-footer-widget-area .ruvin-widget {
	flex: 1;
	min-width: 200px;
	max-width: 320px;
}

/* Titolo widget */
.ruvin-widget-title {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--rust, #DEB887);
	margin: 0 0 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--steel, #2b2b2b);
}

/* ── WIDGET TESTO E HTML PERSONALIZZATO ── */
.ruvin-widget p {
	color: var(--fog, #888880);
	margin-bottom: 12px;
	line-height: 1.8;
}

.ruvin-widget p:last-child { margin-bottom: 0; }

.ruvin-widget a {
	color: var(--rust, #DEB887);
	text-decoration: none;
	transition: color 0.2s;
}

.ruvin-widget a:hover {
	color: var(--white, #f5f0e8);
}

/* ── WIDGET IMMAGINE ── */
.ruvin-widget img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ── WIDGET MENU DI NAVIGAZIONE ── */
.ruvin-widget .menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ruvin-widget .menu li a {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 13px;
	letter-spacing: 1px;
	color: var(--fog, #888880);
	transition: color 0.2s;
	display: flex;
	align-items: center;
	gap: 6px;
}

.ruvin-widget .menu li a::before {
	content: '→';
	color: var(--rust, #DEB887);
	font-size: 12px;
}

.ruvin-widget .menu li a:hover { color: var(--white, #f5f0e8); }

/* ── WIDGET LISTA (archivi, categorie) ── */
.ruvin-widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ruvin-widget ul li {
	padding: 6px 0;
	border-bottom: 1px solid rgba(255,255,255,0.05);
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 13px;
	letter-spacing: 1px;
	color: var(--fog, #888880);
}

.ruvin-widget ul li:last-child { border-bottom: none; }

.ruvin-widget ul li a {
	color: var(--fog, #888880);
	transition: color 0.2s;
}

.ruvin-widget ul li a:hover { color: var(--rust, #DEB887); }

/* ── WIDGET SEARCH ── */
.ruvin-widget .search-form {
	display: flex;
	gap: 8px;
}

.ruvin-widget .search-field {
	flex: 1;
	padding: 8px 12px;
	background: var(--iron, #1c1c1c);
	border: 1px solid var(--steel, #2b2b2b);
	color: var(--cream, #e8dcc8);
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	outline: none;
	transition: border-color 0.2s;
}

.ruvin-widget .search-field:focus { border-color: var(--rust, #DEB887); }

.ruvin-widget .search-submit {
	padding: 8px 16px;
	background: var(--rust, #DEB887);
	color: #000;
	border: none;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s;
}

.ruvin-widget .search-submit:hover { background: var(--rust2, #C4A06A); }

/* ── WIDGET IUBENDA (se incollato come HTML) ── */
.ruvin-widget .iubenda-embed {
	display: inline-block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	letter-spacing: 2px;
	color: var(--rust, #DEB887) !important;
	text-transform: uppercase;
	border: 1px solid var(--rust, #DEB887);
	padding: 6px 14px;
	text-decoration: none;
	transition: all 0.2s;
}

.ruvin-widget .iubenda-embed:hover {
	background: var(--rust, #DEB887);
	color: #000 !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
	.ruvin-widget-area-before-services,
	.ruvin-widget-area-after-booking {
		padding: 24px;
	}

	.ruvin-footer-widget-area {
		padding: 32px 24px;
		flex-direction: column;
	}

	.ruvin-footer-widget-area .ruvin-widget {
		max-width: 100%;
	}
}
