/* TC Cookie Banner — stile Tenuta Cucco */

:root {
	--tc-cb-gold: #a9853c;
	--tc-cb-dark: #1d1d1b;
	--tc-cb-cream: #f7f4ee;
	--tc-cb-serif: "Cormorant Garamond", "EB Garamond", Garamond, Georgia, serif;
	--tc-cb-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
}

.tc-cb { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: flex-end; justify-content: center; }
.tc-cb[hidden] { display: none; }

.tc-cb__overlay {
	position: absolute; inset: 0;
	background: rgba(29, 29, 27, 0.55);
	backdrop-filter: blur(2px);
}

.tc-cb__box {
	position: relative;
	width: 100%;
	max-width: 720px;
	margin: 0 16px 24px;
	background: var(--tc-cb-cream);
	color: var(--tc-cb-dark);
	padding: 36px 40px 32px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
	animation: tc-cb-up 0.45s ease both;
}

@keyframes tc-cb-up {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}

.tc-cb__title {
	font-family: var(--tc-cb-serif);
	font-weight: 500;
	font-size: 28px;
	line-height: 1.2;
	margin: 0 0 12px;
	color: var(--tc-cb-dark);
}

.tc-cb__rule {
	width: 48px; height: 1px;
	background: var(--tc-cb-gold);
	margin-bottom: 16px;
}

.tc-cb__text {
	font-family: var(--tc-cb-sans);
	font-size: 13px;
	line-height: 1.7;
	margin: 0 0 20px;
}

.tc-cb__text a {
	color: var(--tc-cb-gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.tc-cb__text a:hover { color: var(--tc-cb-dark); }

.tc-cb__prefs { margin: 0 0 20px; display: grid; gap: 10px; }
.tc-cb__prefs[hidden] { display: none; }

.tc-cb__pref {
	display: flex; align-items: center; gap: 10px;
	font-family: var(--tc-cb-sans);
	font-size: 13px;
	cursor: pointer;
}
.tc-cb__pref input { accent-color: var(--tc-cb-gold); width: 16px; height: 16px; }

.tc-cb__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.tc-cb__btn {
	font-family: var(--tc-cb-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 12px 26px;
	border: 1px solid var(--tc-cb-dark);
	background: transparent;
	color: var(--tc-cb-dark);
	cursor: pointer;
	transition: all 0.25s ease;
}
.tc-cb__btn:hover { background: var(--tc-cb-dark); color: var(--tc-cb-cream); }

.tc-cb__btn--gold {
	border-color: var(--tc-cb-gold);
	background: var(--tc-cb-gold);
	color: #fff;
}
.tc-cb__btn--gold:hover { background: #8f6f30; border-color: #8f6f30; color: #fff; }

.tc-cb__btn--link {
	border: none;
	background: none;
	padding: 12px 4px;
	text-decoration: underline;
	text-underline-offset: 4px;
}
.tc-cb__btn--link:hover { background: none; color: var(--tc-cb-gold); }

@media (max-width: 600px) {
	.tc-cb__box { margin: 0; padding: 28px 22px 24px; }
	.tc-cb__title { font-size: 24px; }
	.tc-cb__btn { width: 100%; text-align: center; }
	.tc-cb__btn--link { width: auto; }
}
