/*
 * Global theme tokens.
 * Adjust these values to customize the theme.
 */
:root {
	--background: #FDFAF3;
	--foreground: #633104;
	--card: #FDF8EA;
	--card-foreground: #633104;
	--popover: #633104;
	--popover-foreground: #633104;
	--primary: #ffffff;
	--primary-foreground: #fcfcfc;
	--secondary: #edf6f3;
	--secondary-foreground: #ffffff;
	--muted: #F8EFC7;
	--muted-foreground: #3a574d;
	--accent: #cbeee0;
	--accent-foreground: #ffffff;
	--destructive: #d73431;
	--destructive-foreground: #fcfcfc;
	--border: #dde3e1;
	--input: #dde3e1;
	--ring: #217d68;
	--radius: 1rem;
	--field-radius: 0.5rem;

	/* Landing-page brand surfaces. */
	--hero: #ffffff;
	--hero-foreground: #ffffff;
	--hero-highlight: #7A4920;
	--surface-callout: #F8EFC7;
	--footer: #411A00;
	--footer-foreground: var(--surface-callout);
	color-scheme: light;
}

[data-theme="dark"] {
	--background: #0d1613;
	--foreground: #e6edeb;
	--card: #16221e;
	--card-foreground: #e6edeb;
	--popover: #16221e;
	--popover-foreground: #e6edeb;
	--primary: #3bb693;
	--primary-foreground: #0b1411;
	--secondary: #222e2a;
	--secondary-foreground: #e6edeb;
	--muted: #222e2a;
	--muted-foreground: #aab4b0;
	--accent: #1d4034;
	--accent-foreground: #e6edeb;
	--destructive: #f0574e;
	--destructive-foreground: #f8f8f8;
	--border: #2f3b37;
	--input: #2f3b37;
	--ring: #3bb693;
	--hero: #002921;
	--hero-foreground: var(--card);
	--hero-highlight: #00e5af;
	--surface-callout: #172521;
	--footer: #060d0b;
	--footer-foreground: var(--surface-callout);
	color-scheme: dark;
}

@theme inline {
	--color-background: var(--background);
	--color-foreground: var(--foreground);
	--color-card: var(--card);
	--color-card-foreground: var(--card-foreground);
	--color-popover: var(--popover);
	--color-popover-foreground: var(--popover-foreground);
	--color-primary: var(--primary);
	--color-primary-foreground: var(--primary-foreground);
	--color-secondary: var(--secondary);
	--color-secondary-foreground: var(--secondary-foreground);
	--color-muted: var(--muted);
	--color-muted-foreground: var(--muted-foreground);
	--color-accent: var(--accent);
	--color-accent-foreground: var(--accent-foreground);
	--color-destructive: var(--destructive);
	--color-destructive-foreground: var(--destructive-foreground);
	--color-border: var(--border);
	--color-input: var(--input);
	--color-ring: var(--ring);
	--radius-sm: calc(var(--radius) - 0.5rem);
	--radius-md: calc(var(--radius) - 0.25rem);
	--radius-lg: var(--radius);
	--radius-xl: calc(var(--radius) + 0.5rem);
}

html,
body {
	min-height: 100%;
}

body {
	background-color: var(--background);
	color: var(--foreground);
	font-family: 'Inter', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'ITC Garamond Std Light Narrow', serif;
	line-height: 1;
}

.card {
    background-color: var(--card);
    border-color: var(--border);
    border-radius: var(--radius);
    color: var(--card-foreground);
    box-shadow: none;
}


.badge,
.badge[data-variant="secondary"],
.badge[data-variant="outline"] {
	border-radius: calc(var(--radius) - 0.25rem);
}

.btn,
.btn[data-size="lg"] {
	background-color: var(--foreground);
	border: none;
	color: var(--primary-foreground);
}

.btn[data-size="lg"] {
	height: 48px;
	min-height: 48px;
}

.btn:hover,
.btn[data-size="lg"]:hover {
	background-color: color-mix(in oklab, var(--foreground) 88%, black);
	border-color: color-mix(in oklab, var(--foreground) 88%, black);
}

.btn[data-variant="secondary"] {
	background-color: var(--primary);
	border-color: var(--primary);
	border-width: 1px;
	border-style: solid;
	color: var(--primary-foreground);
}

.btn[data-variant="outline"] {
	border-color: var(--border);
	color: var(--foreground);
}

.btn[data-variant="ghost"] {
	background-color: transparent;
	border-color: transparent;
	color: var(--foreground);
}

.btn[data-variant="ghost"]:hover {
	background-color: color-mix(in oklab, var(--muted) 72%, transparent);
}

.badge {
	background-color: var(--primary);
	border-color: var(--primary);
	color: var(--primary-foreground);
}

.badge[data-variant="secondary"] {
	background-color: #633104;
	border-color: #e5e5e5;
	border-style: solid;
	border-width: 1px;
	color: var(--secondary-foreground);
}

.badge[data-variant="outline"] {
	background-color: transparent;
	border-color: color-mix(in oklab, var(--border) 80%, transparent);
	color: var(--muted-foreground);
}

.input,
.textarea {
	background-color: var(--card);
	border-color: var(--input);
	border-radius: var(--field-radius);
	color: var(--foreground);
}

.input:focus-visible,
.textarea:focus-visible {
	border-color: var(--foreground);
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--foreground) 30%, transparent);
}

.text-foreground {
	color: var(--foreground);
}

.text-muted-foreground {
	color: var(--muted-foreground);
}

.text-muted-foreground\/50 {
	color: color-mix(in oklab, var(--muted-foreground) 50%, transparent);
}

.bg-muted {
	background-color: var(--muted);
}

.bg-muted\/30 {
	background-color: color-mix(in oklab, var(--muted) 30%, transparent);
}

.bg-background {
	background-color: var(--background);
}

.border-border {
	border-color: var(--border);
}

.border-border\/60 {
	border-color: color-mix(in oklab, var(--border) 60%, transparent);
}

.hover\:text-foreground:hover {
	color: var(--foreground);
}

.hover\:text-primary:hover {
	color: var(--primary);
}

.hover\:border-border:hover {
	border-color: var(--border);
}

.theme-hero {
	background-color: var(--hero);
	color: var(--hero-foreground);
	position: relative;
}

.theme-hero:before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: #411A00;
	opacity: 0.75;
	z-index: 1;
}

.theme-hero-bg {
	inset: 0;
	height: 100%;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.theme-hero .theme-hero-content {
	position: relative;
	z-index: 2;
}

.theme-mobile-header {
	color: var(--hero-foreground);
	transition: background-color 180ms ease-in-out, transform 180ms ease-in-out;
}

.theme-mobile-header .theme-logo-alt {
	display: none;
}

.theme-mobile-header .btn[data-size="icon"] {
	color: var(--foreground);
}

.theme-mobile-header.is-at-top .btn[data-size="icon"] {
	color: var(--hero-foreground);
}

.theme-mobile-header.is-at-top .theme-logo-default {
	display: none;
}

.theme-mobile-header.is-at-top .theme-logo-alt {
	display: block;
}

.theme-mobile-header.is-at-top .theme-logo-alt-span {
	display: block;
}

.theme-mobile-header .theme-logo-alt-span {
	display: none;
}

.theme-mobile-header.is-hidden {
	transform: translateY(-100%);
}

.theme-mobile-header .btn[data-size="icon"]:hover {
	background-color: color-mix(in oklab, var(--muted) 66%, transparent);
	color: var(--foreground);
}

.theme-mobile-header.is-at-top .btn[data-size="icon"]:hover {
	background-color: color-mix(in oklab, var(--hero-foreground) 12%, transparent);
	color: var(--hero-foreground);
}

.theme-honeypot {
	height: 1px;
	left: -9999px;
	overflow: hidden;
	position: absolute;
	top: auto;
	width: 1px;
}

[data-theme-contact-form] button[disabled] {
	cursor: wait;
	opacity: 0.72;
}

.theme-mobile-menu {
	inset: 0;
	pointer-events: none;
	position: fixed;
	transition: visibility 0s linear 300ms;
	visibility: hidden;
	z-index: 60;
}

.theme-mobile-menu[aria-hidden="false"] {
	pointer-events: auto;
	transition-delay: 0s;
	visibility: visible;
}

.theme-mobile-menu-backdrop {
	background-color: color-mix(in oklab, black 50%, transparent);
	inset: 0;
	opacity: 0;
	position: absolute;
	transition: opacity 300ms ease-in-out;
}

.theme-mobile-menu nav {
	background-color: var(--background);
	bottom: 0;
	color: var(--foreground);
	left: 0;
	max-width: min(20rem, calc(100vw - 3rem));
	position: absolute;
	top: 0;
	transform: translateX(-100%);
	transition: transform 300ms ease-in-out;
	width: 100%;
}

.theme-mobile-menu[aria-hidden="false"] .theme-mobile-menu-backdrop {
	opacity: 1;
}

.theme-mobile-menu[aria-hidden="false"] nav {
	transform: translateX(0);
}

.theme-menu-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.theme-mobile-header,
	.theme-mobile-menu,
	.theme-mobile-menu-backdrop,
	.theme-mobile-menu nav {
		transition-duration: 0ms;
	}
}

@media (min-width: 64rem) {
	#theme-mobile-menu {
		display: none !important;
	}
}

.theme-highlight {
	color: var(--hero-highlight);
	white-space: nowrap;
}

.theme-desktop-nav {
	align-items: center;
	gap: 0.25rem;
}

.theme-desktop-nav a {
	color: var(--foreground);
	border-radius: 9999px;
	transition: background-color 180ms ease-in-out;
}

.theme-mobile-header.is-at-top .theme-desktop-nav a {
	color: var(--hero-foreground);
}

.theme-mobile-header .theme-desktop-nav a:hover {
	background-color: color-mix(in oklab, var(--muted) 66%, transparent);
}

.theme-mobile-header.is-at-top .theme-desktop-nav a:hover {
	background-color: color-mix(in oklab, var(--hero-foreground) 12%, transparent);
}

.theme-mobile-header.is-at-top .theme-desktop-nav a[href$="#contato"] {
	background-color: var(--hero);
	border-color: var(--hero);
	color: var(--hero-highlight);
}

.theme-mobile-header.is-at-top .theme-desktop-nav a[href$="#contato"]:hover {
	background-color: color-mix(in oklab, var(--hero) 88%, black);
	border-color: color-mix(in oklab, var(--hero) 88%, black);
	color: var(--hero-highlight);
}

.theme-mobile-header:not(.is-at-top) .theme-desktop-nav a[href$="#contato"] {
	color: white;
}

.theme-hero .btn {
	background-color: var(--hero-highlight);
	border-color: var(--hero-highlight);
	color: var(--hero);
}

.theme-hero .btn:hover {
	background-color: color-mix(in oklab, var(--hero-highlight) 88%, black);
	border-color: color-mix(in oklab, var(--hero-highlight) 88%, black);
}

.card .btn[data-variant="secondary"] {
	background-color: var(--foreground);
	border: none;
	color: var(--primary-foreground);
}

.card .btn[data-variant="secondary"]:hover {
	background-color: color-mix(in oklab, var(--foreground) 88%, black);
	color: var(--primary-foreground);
}

.theme-hero .btn,
.theme-hero .btn[data-variant="outline"] {
	height: 40px;
	min-height: 40px;
}

.theme-hero .btn[data-variant="outline"] {
	background-color: transparent;
	border-color: var(--hero-foreground);
	border-width: 1px;
	border-style: solid;
	color: var(--hero-foreground);
}

.theme-hero .btn[data-variant="outline"]:hover {
	background-color: color-mix(in oklab, var(--hero-foreground) 12%, transparent);
	border-color: var(--hero-foreground);
	border-width: 1px;
	border-style: solid;
	color: var(--hero-foreground);
}

.theme-sector-1 {
	background-color: #101B14;
}

.theme-sector-2 {
	background-color: var(--hero);
}

.theme-sector-3 {
	background-color: #7A4920;
	color: #ffffff;
}

.theme-sector-4 {
	background-color: #D1DCAF;
	color: #ffffff;
}

.theme-sustainability-overlay {
	background-color: color-mix(in oklab, var(--footer) 55%, transparent);
}

.theme-inverse-action {
	background-color: var(--hero-foreground);
	border-color: var(--hero-foreground);
	color: var(--hero);
}

.theme-inverse-action:hover {
	background-color: color-mix(in oklab, var(--hero-foreground) 90%, var(--hero));
	border-color: color-mix(in oklab, var(--hero-foreground) 90%, var(--hero));
	color: var(--hero);
}

.theme-callout {
	background-color: var(--surface-callout);
}

.theme-footer {
	background-color: var(--footer);
	color: var(--footer-foreground);
}

.theme-internal-hero {
	background-color: var(--hero);
}

.theme-internal-hero-overlay {
	background-color: color-mix(in oklab, var(--hero) 82%, transparent);
}

.theme-internal-content {
	color: var(--foreground);
	font-size: 1rem;
	line-height: 1.65;
}

.theme-internal-content h2,
.theme-internal-content h3 {
	color: var(--foreground);
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 1.2;
}

.theme-internal-content h2 {
	font-size: clamp(2rem, 3vw, 2.5rem);
	margin: 2.75rem 0 1rem;
}

.theme-internal-content h3 {
	font-size: clamp(1.5rem, 2.2vw, 1.75rem);
	margin: 2rem 0 0.75rem;
}

.theme-internal-content p {
	margin: 0 0 1.3rem;
}

.theme-internal-content h2:first-child,
.theme-internal-content h3:first-child,
.theme-internal-content p:first-child {
	margin-top: 0;
}

.theme-internal-content a:not([class*="btn"]) {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.theme-internal-content ul,
.theme-internal-content ol {
	margin: 0 0 1.4rem;
	padding-left: 1.5rem;
}

section#produtos .card > img:first-child,
section#produtos .card > img:last-child {
	border-radius: 0 !important;
}

/* Language switcher - Basecoat Tabs visual (pill style) */
.theme-lang-tabs {
	display: flex;
	align-items: center;
}
.theme-lang-tabs > [role="tablist"] {
	display: flex;
	align-items: center;
	gap: 3px;
	height: 32px;
	border-radius: var(--radius, 1rem);
	background-color: var(--color-muted);
	padding: 3px;
}
.theme-lang-tabs [role="tab"] {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 6px;
	font-size: 0.75rem;
	font-weight: 500;
	border-radius: calc(var(--radius, 1rem) - 2px);
	text-decoration: none;
	transition: background-color 150ms, box-shadow 150ms, color 150ms;
}
.theme-lang-tabs a.theme-lang-tab-active {
	background-color: var(--color-background);
	color: var(--color-foreground);
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.theme-lang-tabs a.theme-lang-tab-inactive {
	background-color: transparent;
	color: var(--color-muted-foreground);
}
.theme-lang-tabs a.theme-lang-tab-inactive:hover {
	color: var(--color-foreground);
}

/* Adapt colors when header is at top (transparent over hero) */
.theme-mobile-header.is-at-top .theme-lang-tabs > [role="tablist"] {
	background-color: color-mix(in oklab, var(--hero-foreground) 15%, transparent);
}
.theme-mobile-header.is-at-top .theme-lang-tabs a.theme-lang-tab-active {
	background-color: var(--hero);
	color: var(--hero-highlight);
	box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.theme-mobile-header.is-at-top .theme-lang-tabs a.theme-lang-tab-inactive {
	color: var(--hero-foreground);
}
.theme-mobile-header.is-at-top .theme-lang-tabs a.theme-lang-tab-inactive:hover {
	color: var(--hero);
	background-color: color-mix(in oklab, var(--hero-foreground) 12%, transparent);
}
