/*
 * Pane Amore e Fantasia - Custom Styles
 * Colori del brand: Blu scuro + Oro
 */

/* ==========================================================================
   Variables & Root
   ========================================================================== */
:root {
	--paf-dark-1: #1a1a2e;
	--paf-dark-2: #16213e;
	--paf-dark-3: #0f3460;
	--paf-header-bg: #f6f2e7;
	--paf-gold: #c9a227;
	--paf-gold-light: #d4af37;
	--paf-gold-dark: #b8941f;
	--paf-text-light: #ffffff;
	--paf-text-dark: #333333;
}

/* ==========================================================================
   Typography
   ========================================================================== */
.font-playfair {
	font-family: 'Playfair Display', serif !important;
}

/* ==========================================================================
   Color Utilities
   ========================================================================== */
.text-gold {
	color: var(--paf-gold) !important;
}

.bg-gold {
	background-color: var(--paf-gold) !important;
}

/* ==========================================================================
   Header & Navigation
   ========================================================================== */

/* Header container background chiaro */
#header .header-body {
	background: var(--paf-header-bg) !important;
}

#header .header-container {
	background: var(--paf-header-bg) !important;
}

/* Top header sfondo chiaro e testi scuri */
#header .header-top {
	background: var(--paf-header-bg) !important;
}

#header .header-top,
#header .header-top .header-row,
#header .header-top span,
#header .header-top a,
#header .header-top i {
	color: var(--paf-text-dark) !important;
}

/* Navigation links SCURI su sfondo chiaro */
#header .header-nav-main nav > ul > li > a {
	font-weight: 500;
	color: var(--paf-text-dark) !important;
}

#header .header-nav-main nav > ul > li > a:hover,
#header .header-nav-main nav > ul > li > a:focus {
	color: var(--paf-gold) !important;
}

#header .header-nav-main nav > ul > li.active > a {
	color: var(--paf-gold) !important;
}

/* Navigation link attivo (scrollspy) */
#header .header-nav-main nav > ul > li > a.active {
	color: var(--paf-gold) !important;
}

/* Header sticky background */
#header.header-effect-shrink .header-body {
	background: var(--paf-header-bg) !important;
}

/* Icone social header scure */
#header .header-column-search a {
	color: var(--paf-text-dark) !important;
}

#header .header-column-search a:hover {
	color: var(--paf-gold) !important;
}

/* Hamburger menu scuro */
#header .header-btn-collapse-nav {
	color: var(--paf-text-dark) !important;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn-gold {
	background-color: var(--paf-gold);
	border-color: var(--paf-gold);
	color: #fff;
}

.btn-gold:hover,
.btn-gold:focus {
	background-color: var(--paf-gold-dark);
	border-color: var(--paf-gold-dark);
	color: #fff;
}

.btn-outline-gold {
	background-color: transparent;
	border-color: var(--paf-gold);
	color: var(--paf-gold);
}

.btn-outline-gold:hover,
.btn-outline-gold:focus {
	background-color: var(--paf-gold);
	border-color: var(--paf-gold);
	color: #fff;
}

/* Primary button override */
.btn-primary {
	background-color: var(--paf-gold);
	border-color: var(--paf-gold);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
	background-color: var(--paf-gold-dark) !important;
	border-color: var(--paf-gold-dark) !important;
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
#hero {
	position: relative;
}

#hero .hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(26, 26, 46, 0.85) 0%, rgba(22, 33, 62, 0.8) 50%, rgba(15, 52, 96, 0.75) 100%);
}

/* ==========================================================================
   Sections
   ========================================================================== */
section {
	scroll-margin-top: 80px;
}

.section-title {
	position: relative;
	display: inline-block;
}

.section-title::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 2px;
	background-color: var(--paf-gold);
}

/* ==========================================================================
   CONTRASTI TESTO - FIX
   ========================================================================== */

/* Sezioni con sfondo chiaro (bg-color-light, bg-color-light-scale-1) */
.bg-color-light h1,
.bg-color-light h2,
.bg-color-light h3,
.bg-color-light h4,
.bg-color-light h5,
.bg-color-light h6,
.bg-color-light p,
.bg-color-light-scale-1 h1,
.bg-color-light-scale-1 h2,
.bg-color-light-scale-1 h3,
.bg-color-light-scale-1 h4,
.bg-color-light-scale-1 h5,
.bg-color-light-scale-1 h6,
.bg-color-light-scale-1 p {
	color: var(--paf-text-dark) !important;
}

/* Feature boxes su sfondo chiaro */
.bg-color-light .feature-box-info h4,
.bg-color-light .feature-box-info p,
.bg-color-light-scale-1 .feature-box-info h4,
.bg-color-light-scale-1 .feature-box-info p {
	color: var(--paf-text-dark) !important;
}

/* Cards su sfondo chiaro */
.card h4,
.card h5,
.card p,
.card-body h4,
.card-body p {
	color: var(--paf-text-dark) !important;
}

/* Sezione Chi Siamo - testi scuri */
#chi-siamo h2,
#chi-siamo h4,
#chi-siamo p,
#chi-siamo strong {
	color: var(--paf-text-dark) !important;
}

#chi-siamo .blockquote-secondary p {
	color: var(--paf-text-dark) !important;
}

/* Sezione Gastronomia - testi scuri */
#gastronomia h2,
#gastronomia h4,
#gastronomia p {
	color: var(--paf-text-dark) !important;
}

/* Sezione Vini - testi scuri */
#vini h2,
#vini h4,
#vini p,
#vini li {
	color: var(--paf-text-dark) !important;
}

/* Sezione Contatti - testi scuri */
#contatti h2,
#contatti h4,
#contatti p {
	color: var(--paf-text-dark) !important;
}

#contatti .card p,
#contatti .card h4 {
	color: var(--paf-text-dark) !important;
}

/* Link su sfondo chiaro */
#chi-siamo a,
#gastronomia a,
#vini a,
#contatti a {
	color: var(--paf-gold) !important;
}

#chi-siamo a:hover,
#gastronomia a:hover,
#vini a:hover,
#contatti a:hover {
	color: var(--paf-gold-dark) !important;
}

/* Sezioni con sfondo scuro - testi CHIARI */
[style*="background: linear-gradient(135deg, #1a1a2e"] h2,
[style*="background: linear-gradient(135deg, #1a1a2e"] h4,
[style*="background: linear-gradient(135deg, #1a1a2e"] h5,
[style*="background: linear-gradient(135deg, #1a1a2e"] p,
[style*="background: linear-gradient(135deg, #1a1a2e"] span {
	color: var(--paf-text-light) !important;
}

/* Sezione oro (Fornaio Generoso, CTA) - testi SCURI */
[style*="background: linear-gradient(135deg, #c9a227"] h2,
[style*="background: linear-gradient(135deg, #c9a227"] h4,
[style*="background: linear-gradient(135deg, #c9a227"] h5,
[style*="background: linear-gradient(135deg, #c9a227"] p,
[style*="background: linear-gradient(135deg, #c9a227"] i {
	color: var(--paf-text-dark) !important;
}

/* ==========================================================================
   Cards & Boxes
   ========================================================================== */
.feature-box-icon {
	color: var(--paf-gold) !important;
}

.card-hover {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

/* ==========================================================================
   Text Color Override
   ========================================================================== */
.text-color-primary {
	color: var(--paf-gold) !important;
}

/* ==========================================================================
   Links
   ========================================================================== */
a {
	color: var(--paf-gold);
}

a:hover,
a:focus {
	color: var(--paf-gold-dark);
}

/* ==========================================================================
   Footer
   ========================================================================== */
footer {
	background: var(--paf-header-bg) !important;
}

footer a:hover {
	color: var(--paf-gold) !important;
}

footer .social-icons a:hover {
	background-color: var(--paf-gold) !important;
	border-color: var(--paf-gold) !important;
}

/* Footer link indirizzo */
footer a.text-color-light,
footer a {
	color: var(--paf-text-dark) !important;
}

footer a.text-color-light:hover,
footer a:hover {
	color: var(--paf-gold) !important;
}

/* Footer testi scuri su sfondo chiaro */
footer h2,
footer h4,
footer p,
footer li,
footer strong,
footer span,
footer i {
	color: var(--paf-text-dark) !important;
}

/* Footer titoli sezioni Menu, Orari, Contatti */
footer h4.text-color-light {
	color: var(--paf-text-dark) !important;
	opacity: 1 !important;
}

footer .opacity-5,
footer .opacity-7 {
	color: rgba(51, 51, 51, 0.7) !important;
}

/* Bottom footer copyright e link */
footer .border-top p,
footer .border-top span,
footer .border-top a,
footer .border-top #currentYear {
	color: var(--paf-text-dark) !important;
}

footer .border-top a:hover {
	color: var(--paf-gold) !important;
}

/* Border top footer */
footer .border-top {
	border-color: rgba(51, 51, 51, 0.2) !important;
}

/* ==========================================================================
   Dividers & Borders
   ========================================================================== */
.border-gold {
	border-color: var(--paf-gold) !important;
}

hr.gold {
	border-color: var(--paf-gold);
	opacity: 0.5;
}

/* ==========================================================================
   Background Patterns
   ========================================================================== */
.bg-dark-gradient {
	background: linear-gradient(135deg, var(--paf-dark-1) 0%, var(--paf-dark-2) 50%, var(--paf-dark-3) 100%);
}

/* ==========================================================================
   Gallery / Images
   ========================================================================== */
.gallery-item {
	overflow: hidden;
	border-radius: 8px;
}

.gallery-item img {
	transition: transform 0.4s ease;
}

.gallery-item:hover img {
	transform: scale(1.05);
}

/* ==========================================================================
   Icons
   ========================================================================== */
.icon-gold {
	color: var(--paf-gold) !important;
}

.icon-featured {
	background-color: var(--paf-gold) !important;
	border-color: var(--paf-gold) !important;
}

/* ==========================================================================
   Tables (for privacy/cookie modals)
   ========================================================================== */
.table thead th {
	background-color: var(--paf-dark-2);
	color: #fff;
	border-color: var(--paf-dark-3);
}

.table-dark {
	background-color: var(--paf-dark-2) !important;
}

/* ==========================================================================
   Scroll to Top Button
   ========================================================================== */
html .scroll-to-top {
	background-color: var(--paf-gold);
}

html .scroll-to-top:hover {
	background-color: var(--paf-gold-dark);
}

/* ==========================================================================
   Form Elements
   ========================================================================== */
.form-control:focus {
	border-color: var(--paf-gold);
	box-shadow: 0 0 0 0.2rem rgba(201, 162, 39, 0.25);
}

/* ==========================================================================
   MODALS
   ========================================================================== */
.modal-content {
	border-radius: 10px;
	border: none;
	background-color: #ffffff !important;
}

.modal-header {
	background-color: var(--paf-dark-2);
	color: var(--paf-text-light);
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.modal-header .btn-close {
	filter: brightness(0) invert(1);
}

.modal-body {
	padding: 30px;
	background-color: #ffffff !important;
	color: var(--paf-text-dark) !important;
}

.modal-body p,
.modal-body li,
.modal-body ul,
.modal-body strong {
	color: var(--paf-text-dark) !important;
}

.modal-body h6 {
	color: var(--paf-gold);
	font-weight: 700;
	margin-top: 20px;
	margin-bottom: 10px;
}

.modal-body h6:first-of-type {
	margin-top: 0;
}

.modal-footer {
	background-color: #f8f9fa;
}

/* Form switch nel modal cookie */
.modal-body .form-check-input:checked {
	background-color: var(--paf-gold) !important;
	border-color: var(--paf-gold) !important;
}

.modal-body .form-check-input {
	background-color: #dee2e6;
	border-color: #adb5bd;
}

.modal-body .form-check-input:disabled {
	opacity: 0.7;
}

/* ==========================================================================
   COOKIE SETTINGS ICON BUTTON
   ========================================================================== */
.cookie-settings-btn {
	position: fixed;
	bottom: 20px;
	left: 20px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: var(--paf-gold);
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	z-index: 9998;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.cookie-settings-btn:hover {
	background-color: var(--paf-gold-dark);
	transform: scale(1.1);
}

.cookie-settings-btn i {
	color: #ffffff;
	font-size: 20px;
}

/* ==========================================================================
   COOKIE CONSENT BANNER
   ========================================================================== */
.cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(26, 26, 46, 0.98);
	color: #ffffff;
	padding: 20px 0;
	z-index: 9999;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
	display: none;
}

.cookie-banner.show {
	display: block;
	animation: slideUp 0.4s ease;
}

@keyframes slideUp {
	from {
		transform: translateY(100%);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

.cookie-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.cookie-text {
	flex: 1;
}

.cookie-text p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #ffffff !important;
}

.cookie-text a {
	color: var(--paf-gold) !important;
	text-decoration: underline;
}

.cookie-text a:hover {
	color: var(--paf-gold-light) !important;
}

.cookie-buttons {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}

.cookie-buttons .btn {
	white-space: nowrap;
}

@media (max-width: 991px) {
	.cookie-content {
		flex-direction: column;
		text-align: center;
	}

	.cookie-buttons {
		width: 100%;
		justify-content: center;
		flex-wrap: wrap;
	}

	.cookie-buttons .btn {
		flex: 1;
		min-width: 120px;
	}
}

@media (max-width: 480px) {
	.cookie-banner {
		padding: 15px 0;
	}

	.cookie-text p {
		font-size: 13px;
	}

	.cookie-buttons {
		flex-direction: column;
	}

	.cookie-buttons .btn {
		width: 100%;
	}
}

/* ==========================================================================
   Responsive Adjustments
   ========================================================================== */
@media (max-width: 991px) {
	#header .header-nav-main nav > ul > li > a {
		border-bottom-color: rgba(201, 162, 39, 0.2);
		color: var(--paf-text-dark) !important;
	}

	/* Mobile nav menu sfondo chiaro */
	#header .header-nav-main nav {
		background: var(--paf-header-bg) !important;
	}
}

@media (max-width: 767px) {
	section {
		scroll-margin-top: 70px;
	}

	.hero-title {
		font-size: 2.5rem !important;
	}

	/* Footer centrato su mobile */
	footer .col-lg-4,
	footer .col-lg-2,
	footer .col-lg-3 {
		text-align: center !important;
	}

	footer .social-icons {
		justify-content: center !important;
	}

	footer ul.list {
		text-align: center !important;
	}

	footer ul.list li {
		text-align: center !important;
	}
}

/* ==========================================================================
   Hero Button Outline Light - Testo Chiaro
   ========================================================================== */
.btn-outline.btn-light {
	color: var(--paf-text-light) !important;
	border-color: var(--paf-text-light) !important;
}

.btn-outline.btn-light:hover {
	background-color: var(--paf-text-light) !important;
	color: var(--paf-dark-1) !important;
}
