/* Shared brand palette — available site-wide (header/footer live outside .elabel-landing) */
:root {
	--wine-bordeaux: #6b1e2b;
	--wine-bordeaux-dark: #4a1420;
	--wine-gold: #c9a46a;
	--wine-cream: #faf6f0;
	--wine-ink: #2b2320;
}

/* Site-wide header (fragments/simple-layout.html) */
.site-header {
	background: #fff;
}

.site-header .utility-bar {
	background: var(--wine-cream);
	font-size: 0.85rem;
	padding: 0.4rem 0;
	border-bottom: 1px solid rgba(107, 30, 43, 0.08);
}

.site-header .utility-bar a,
.site-header .utility-bar .btn-link {
	color: var(--wine-bordeaux);
	text-decoration: none;
	font-weight: 500;
}

.site-header .utility-bar a:hover,
.site-header .utility-bar .btn-link:hover {
	color: var(--wine-gold);
	text-decoration: underline;
}

.site-header .brand-row {
	padding: 1.25rem 0 1.5rem;
	text-align: center;
}

.site-header .brand-row a {
	text-decoration: none;
}

.site-header .brand-title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wine-bordeaux);
	margin-top: 0.5rem;
}

/* Site-wide footer (fragments/simple-layout.html) */
.site-footer {
	position: relative;
	overflow: hidden;
	background: linear-gradient(155deg, var(--wine-bordeaux) 0%, var(--wine-bordeaux-dark) 100%);
	color: rgba(250, 246, 240, 0.85);
	padding: 2.5rem 0 2rem;
	margin-top: 3rem;
}

.site-footer::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -3rem;
	width: 11rem;
	height: 11rem;
	transform: translateY(-50%) rotate(6deg);
	opacity: 0.08;
	background:
		repeating-linear-gradient(0deg, #fff 0 6px, transparent 6px 13px),
		repeating-linear-gradient(90deg, #fff 0 6px, transparent 6px 13px);
	background-blend-mode: screen;
	pointer-events: none;
}

.site-footer .footer-links {
	position: relative;
}

.site-footer .footer-links a {
	color: var(--wine-cream);
	text-decoration: none;
}

.site-footer .footer-links a:hover {
	color: var(--wine-gold);
	text-decoration: underline;
}

.site-footer .footer-links .sep {
	color: rgba(250, 246, 240, 0.4);
	margin: 0 0.6rem;
}

.site-footer .footer-copy {
	position: relative;
	color: rgba(250, 246, 240, 0.55);
	font-size: 0.8rem;
}

.btn-gold {
	background-color: var(--wine-gold);
	border-color: var(--wine-gold);
	color: var(--wine-ink);
	font-weight: 600;
}

.btn-gold:hover {
	background-color: #d8b57f;
	border-color: #d8b57f;
	color: var(--wine-ink);
}

.btn-wine {
	background-color: var(--wine-bordeaux);
	border-color: var(--wine-bordeaux);
	color: var(--wine-cream);
	font-weight: 600;
}

.btn-wine:hover {
	background-color: var(--wine-bordeaux-dark);
	border-color: var(--wine-bordeaux-dark);
	color: var(--wine-cream);
}

.form-control:focus {
	border-color: var(--wine-gold);
	box-shadow: 0 0 0 0.25rem rgba(201, 164, 106, 0.35);
}

.btn-outline-wine {
	background-color: transparent;
	border-color: var(--wine-bordeaux);
	color: var(--wine-bordeaux);
	font-weight: 600;
}

.btn-outline-wine:hover,
.btn-outline-wine:focus,
.btn-outline-wine.show {
	background-color: var(--wine-bordeaux);
	border-color: var(--wine-bordeaux);
	color: var(--wine-cream);
}

/* Work-area pages (articles list/form): plain background, branded accents */
.page-title {
	color: var(--wine-bordeaux);
}

.table-card {
	background: #fff;
	border: 1px solid rgba(107, 30, 43, 0.15);
	border-radius: 0.75rem;
	padding: 0.5rem;
	box-shadow: 0 0.5rem 1.5rem rgba(43, 35, 32, 0.06);
	overflow-x: auto;
}

.table-card table {
	margin-bottom: 0;
}

.table-card thead th {
	background-color: var(--wine-cream);
	color: var(--wine-bordeaux);
	text-transform: uppercase;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	font-weight: 600;
	border-bottom: none;
}

.table-card > table.table-striped > tbody > tr:nth-of-type(odd) > * {
	background-color: rgba(250, 246, 240, 0.6);
}

.table-card .dropdown-item:hover,
.table-card .dropdown-item:focus {
	background-color: var(--wine-cream);
	color: var(--wine-bordeaux);
}

.badge-published,
.badge-draft {
	display: inline-block;
	padding: 0.35em 0.75em;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
}

.badge-published {
	background-color: var(--wine-gold);
	color: var(--wine-ink);
}

.badge-draft {
	background-color: var(--wine-cream);
	color: #8a7a63;
	border: 1px solid rgba(43, 35, 32, 0.15);
}

.form-card {
	background: #fff;
	border: 1px solid rgba(107, 30, 43, 0.15);
	border-radius: 0.75rem;
	padding: 1.5rem 2rem;
	margin-bottom: 1.5rem;
	box-shadow: 0 0.5rem 1.5rem rgba(43, 35, 32, 0.06);
}

.form-card legend {
	color: var(--wine-bordeaux);
	font-weight: 700;
	padding-bottom: 0.4rem;
	border-bottom: 2px solid var(--wine-gold);
	margin-bottom: 1rem;
	width: auto;
}

.elabel-landing .hero {
	background: linear-gradient(155deg, var(--wine-bordeaux) 0%, var(--wine-bordeaux-dark) 100%);
	color: var(--wine-cream);
	padding: 4rem 0;
}

.elabel-landing .hero .eyebrow,
.elabel-landing .login .eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--wine-gold);
}

.elabel-landing .hero h1 {
	font-weight: 700;
	letter-spacing: -0.01em;
}

.elabel-landing .hero .lead {
	color: rgba(250, 246, 240, 0.85);
	max-width: 34rem;
}

/* Signature element: a tilted mock of a real eLabel excerpt */
.elabel-landing .label-mock {
	background: var(--wine-cream);
	color: var(--wine-ink);
	border-radius: 0.5rem;
	padding: 1.25rem 1.5rem;
	max-width: 20rem;
	margin-left: auto;
	margin-right: auto;
	transform: rotate(-2deg);
	box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.35);
}

.elabel-landing .label-mock .label-mock-caption {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.7rem;
	color: #8a7a63;
}

.elabel-landing .label-mock .label-mock-row {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid rgba(43, 35, 32, 0.12);
	padding: 0.3rem 0;
	font-size: 0.9rem;
}

.elabel-landing .label-mock .label-mock-row:last-of-type {
	border-bottom: none;
}

.elabel-landing .label-mock .label-mock-qr {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 0.25rem;
	background:
		repeating-linear-gradient(0deg, var(--wine-ink) 0 3px, transparent 3px 6px),
		repeating-linear-gradient(90deg, var(--wine-ink) 0 3px, transparent 3px 6px);
	background-blend-mode: multiply;
	background-color: var(--wine-cream);
	flex: 0 0 auto;
}

.elabel-landing section.regulation {
	background-color: var(--wine-cream);
	color: var(--wine-ink);
	padding: 3rem 0;
}

.elabel-landing section.regulation h2 {
	font-weight: 700;
	color: var(--wine-bordeaux);
}

.elabel-landing section.features {
	padding: 4rem 0;
}

.elabel-landing .feature-icon {
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background-color: rgba(107, 30, 43, 0.1);
	color: var(--wine-bordeaux);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	margin-bottom: 0.75rem;
}

.elabel-landing section.pricing {
	background-color: var(--wine-cream);
	padding: 4rem 0 5rem;
}

.elabel-landing .pricing-card {
	background: #fff;
	border: 2px solid var(--wine-gold);
	border-radius: 0.75rem;
	padding: 2.5rem;
	max-width: 26rem;
	margin: 0 auto;
	text-align: center;
	box-shadow: 0 1rem 2rem rgba(43, 35, 32, 0.08);
}

.elabel-landing .contact-card {
	background: #fff;
	border: 2px solid var(--wine-gold);
	border-radius: 0.75rem;
	padding: 2rem;
	box-shadow: 0 1rem 2rem rgba(43, 35, 32, 0.08);
}

.elabel-landing section.login {
	/*background: linear-gradient(155deg, var(--wine-bordeaux) 0%, var(--wine-bordeaux-dark) 100%);*/
	padding: 4rem 0;
	min-height: calc(100vh - 22rem);
	display: flex;
	align-items: center;
}

.elabel-landing .login-card {
	background: #fff;
	border: 2px solid var(--wine-gold);
	border-radius: 0.75rem;
	padding: 2rem 2.5rem;
	max-width: 26rem;
	margin: 0 auto;
	box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.25);
}

.elabel-landing .login-card .input-group-text {
	background: var(--wine-cream);
	border-color: #ced4da;
	color: var(--wine-bordeaux);
}

.elabel-landing .pricing-card .price {
	font-size: 3rem;
	font-weight: 700;
	color: var(--wine-bordeaux);
}

.elabel-landing .pricing-card .price-period {
	font-size: 1rem;
	font-weight: 400;
	color: var(--wine-ink);
}

.elabel-landing .pricing-card .vat-note {
	font-size: 0.8rem;
	color: #8a7a63;
}

.elabel-landing .pricing-card .audience-note {
	font-size: 0.75rem;
	color: #8a7a63;
}

.elabel-landing .pricing-card ul {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0;
	text-align: left;
}

.elabel-landing .pricing-card ul li {
	padding: 0.35rem 0;
}

.elabel-landing .pricing-card ul li i {
	color: var(--wine-bordeaux);
	margin-right: 0.5rem;
}

@media (max-width: 767.98px) {
	.elabel-landing .label-mock {
		margin-top: 2.5rem;
		transform: none;
	}
}
