@import url("https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Manrope:wght@400;600;700;800&display=swap");

html {
	scroll-padding-top: 56px;
	scroll-behavior: smooth;
}

:root{
	--content-max:1200px;
	--section-pad:clamp(2.75rem, 3.5vw, 3.75rem);
	--section-pad-sm:clamp(2.2rem, 4.5vw, 3.1rem);
	--radius-card:14px;
	--shadow-card:0 16px 40px rgba(0,0,0,0.12);
}

body{
	font-family:"Manrope", "Segoe UI", Arial, sans-serif;
	font-size:clamp(15px, 1.05vw, 18px);
	line-height:1.65;
	letter-spacing:0.01em;
}
h1,h2,h3{
	font-family:"Fraunces", "Manrope", "Segoe UI", Arial, sans-serif;
	letter-spacing:0.01em;
}

.section__inner{
	max-width:var(--content-max);
	width:min(100% - 2.5rem, var(--content-max));
	margin-left:auto;
	margin-right:auto;
}
#historia .section__inner,
.dual-hero-container .section__inner{
	width:auto;
}

.section__inner h2{
	font-size:clamp(28px, 2.6vw, 42px)!important;
	line-height:1.1;
}
.section__inner p{
	font-size:clamp(15px, 1.1vw, 18px);
}
.section__inner .bg-white{
	border-radius:var(--radius-card)!important;
}

@media (min-width:1440px){
	:root{--content-max:1320px}
}
@media (min-width:1920px){
	:root{--content-max:1500px}
	body{font-size:18px}
}
@media (min-width:2560px){
	:root{--content-max:1760px}
	body{font-size:20px}
}
@media (min-width:1920px){
	.gallery-marquee__item{flex-basis:280px;max-width:280px}
	.gallery-marquee__item img{height:220px}
	.story-media img{height:380px}
}
@media (min-width:2560px){
	.gallery-marquee__item{flex-basis:320px;max-width:320px}
	.gallery-marquee__item img{height:250px}
	.story-media img{height:420px}
}



/* Hero button width */
a[aria-label="Castrar meu animal"]{
	min-width:320px;
	width:min(70%, 720px);
	max-width:80vw;
	padding-left:48px!important;
	padding-right:48px!important;
	text-align:center;
}
@media (max-width:1024px){
	a[aria-label="Castrar meu animal"]{
		width:min(80%, 640px);
	}
}
@media (max-width:640px){
	a[aria-label="Castrar meu animal"]{
		width:100%;
		max-width:100%;
	}
}

/* Hero banner background */
.hero-banner{
	position:relative;
	background:url("/img/hero.webp") center/cover no-repeat!important;
}
.hero-banner,
main > section:first-of-type,
header + section{
	background:url("/img/hero.webp") center/cover no-repeat!important;
}
.hero-bg,
.dual-hero-bg{
	background-image:url("/img/hero.webp")!important;
}
.hero-banner::before{
	content:"";
	position:absolute;
	inset:0;
	background:transparent!important;
	z-index:0;
}
.hero-bg::after,
.dual-hero-bg::after{
	background:transparent!important;
}
.hero-banner .section__inner,
.hero-banner .section__inner *{
	position:relative;
	z-index:1;
}

/* Remover qualquer overlay/escurecimento no hero (independente do build) */
.section--hero,
.section--hero *{
	filter:none!important;
}
.section--hero::before,
.section--hero::after{
	background:transparent!important;
	opacity:1!important;
}
.section--hero .absolute,
.section--hero .absolute.inset-0,
.hero-banner .absolute,
.hero-banner .absolute.inset-0{
	background:transparent!important;
	opacity:1!important;
}
.hero-banner::after,
main > section:first-of-type::before,
main > section:first-of-type::after,
header + section::before,
header + section::after{
	background:transparent!important;
	opacity:1!important;
}
.section--hero [class*="bg-black"],
.section--hero [class*="bg-green"],
.section--hero [class*="bg-emerald"],
.hero-banner [class*="bg-black"]{
	background:transparent!important;
	opacity:1!important;
}
/* Remove gradientes de fundo no primeiro bloco visual grande (casos Tailwind) */
main > section:first-of-type[class*="bg-gradient"],
header + section[class*="bg-gradient"],
main > section:first-of-type[class*="from-"],
header + section[class*="from-"]{
	background-image:none!important;
	background:transparent!important;
}
main > section:first-of-type [class*="inset-0"],
header + section [class*="inset-0"]{
	background:transparent!important;
	opacity:1!important;
}

/* Story section layout */
#historia{
	width:100vw;
	left:50%;
	transform:translateX(-50%);
}
#historia .section__inner{
	max-width:none;
	padding-left:6vw;
	padding-right:6vw;
}
.story-grid{
	display:flex;
	flex-direction:column;
	gap:24px;
	margin-top:16px;
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
}
.story-block{
	display:grid;
	grid-template-columns:1fr 1.2fr;
	gap:20px;
	align-items:center;
}
.story-media{
	overflow:hidden;
	border-radius:12px;
}
.story-block--reverse{
	grid-template-columns:1.2fr 1fr;
}
.story-block--reverse .story-media{
	order:2;
}
.story-media img{
	width:100%;
	height:320px;
	object-fit:cover;
	object-position:center;
	background:transparent;
	box-shadow:0 10px 28px rgba(0,0,0,0.12);
}
.story-text p{margin:0 0 12px 0}
.story-text p:last-child{margin-bottom:0}
@media (max-width:900px){
	.story-block,.story-block--reverse{grid-template-columns:1fr}
	.story-block--reverse .story-media{order:0}
}
@media (max-width:640px){
	#historia .section__inner{
		padding-left:1.25rem;
		padding-right:1.25rem;
	}
}

/* Novidades destaque */
.novidade-destaque{
	border:2px solid #2d7a31!important;
	box-shadow:0 0 0 3px rgba(45,122,49,0.2),0 12px 30px rgba(0,0,0,0.12)!important;
}

/* Acoes + Galeria gradient background */
.acoes-section,
.galeria-section{
	background:
		radial-gradient(ellipse 120% 50% at 25% 0%, rgba(255,255,255,0.95) 15%, transparent 35%),
		radial-gradient(ellipse 90% 35% at 75% 8%, rgba(255,255,255,0.9) 12%, transparent 30%),
		linear-gradient(to bottom,
			white 0%,
			rgba(255,255,255,0.98) 12%,
			rgba(76,175,80,0.7) 32%,
			#4CAF50 48%,
			rgba(76,175,80,0.6) 60%,
			rgba(255,255,255,0.95) 75%,
			white 100%
		);
	width:100vw;
	position:relative;
	left:50%;
	transform:translateX(-50%);
	min-height:80vh;
}
.acoes-section .section__inner .max-w-4xl h2,
.acoes-section .section__inner .max-w-4xl p,
.galeria-section .section__inner .max-w-4xl h2,
.galeria-section .section__inner .max-w-4xl p{color:#2E7D32!important}
.acoes-section .section__inner .bg-white,
.galeria-section .section__inner .bg-white{color:#1f2937!important}
.acoes-section .section__inner [class*="bg-emerald-50"],
.galeria-section .section__inner [class*="bg-emerald-50"]{
	background:#ecfdf5!important;
	color:#0f4f1e!important;
	font-weight:700!important;
}
.action-photo{
	width:100%;
	height:220px;
	object-fit:contain;
	object-position:center top;
	background:transparent;
	border-radius:10px;
	margin-top:12px;
	box-shadow:none;
}

/* Galeria grid */
.gallery-carousel-hidden{display:none!important}
.gallery-grid{
	margin:0 auto;
	max-width:1200px;
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
}
.gallery-grid-item img{
	width:100%;
	height:220px;
	object-fit:contain;
	object-position:center top;
	background:rgba(255,255,255,0.18);
	border-radius:10px;
	box-shadow:0 8px 18px rgba(0,0,0,0.18);
}
@media (max-width:1100px){
	.gallery-grid{grid-template-columns:repeat(2,1fr)}
}

/* Instagram embed */
.instagram-embed{
	max-width:1100px;
	margin:0 auto;
	background:rgba(255,255,255,0.75);
	border-radius:14px;
	padding:16px;
	box-shadow:0 10px 24px rgba(0,0,0,0.12);
	overflow:hidden;
}
.instagram-embed iframe{
	width:100%;
	height:980px;
	border:0;
}
@media (max-width:900px){
	.instagram-embed iframe{height:760px}
}
@media (max-width:640px){
	.instagram-embed iframe{height:640px}
}

/* Section curve fill to match SVG divider */
:root{
	--green-band-gradient:linear-gradient(90deg,#0f4f1e 0%,#1f6f2a 50%,#0f4f1e 100%);
}
.section--pad{
	padding:var(--section-pad) 0 calc(var(--section-pad) + var(--section-divider-height))!important;
}
@media (max-width:640px){
	.section--pad{
		padding:var(--section-pad-sm) 0 calc(var(--section-pad-sm) + var(--section-divider-height))!important;
	}
}
.section.section--pad{
	--section-curve-fill:#fff;
	position:relative;
}
.section.section--pad::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:var(--section-divider-height);
	background:var(--section-curve-fill);
	clip-path:path("M0,60 C220,12 380,12 600,60 C820,108 980,108 1200,60 L1200,120 L0,120 Z");
	z-index:0;
	pointer-events:none;
}
.section.section--pad::before{
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:0;
	height:var(--section-divider-height);
	background:var(--section-top-curve-fill, transparent);
	clip-path:path("M0,60 C220,12 380,12 600,60 C820,108 980,108 1200,60 L1200,120 L0,120 Z");
	transform:rotate(180deg);
	transform-origin:center;
	z-index:0;
	pointer-events:none;
}
.section.section--pad > .section__inner{
	position:relative;
	z-index:1;
}
/* Wave divider between Galeria and Instagram */
#instagram.section--pad{
	--section-top-curve-fill:#fff;
	--section-curve-fill:rgba(76,175,80,0.25);
	padding-top:1.5rem!important;
}
@media (max-width:640px){
	#instagram.section--pad{
		padding-top:1.25rem!important;
	}
}
/* Wave divider above Galeria */
#galeria.section--pad{
	--section-top-curve-fill:rgba(76,175,80,0.25);
}
/* Remove SVG divider (onda) da seção Instagram */
/* Removido: SVG onda/divider da seção Instagram */
#instagram.section--pad::before {
	display: none !important;
}
#instagram.section--pad::after {
	display: none !important;
}
/* Removido: SVG onda/divider da seção Galeria */
#galeria.section--pad::before {
	display: none;
}
#galeria.section--pad::after {
	display: none;
}
@media (max-width:640px){
	.acoes-section,
	.galeria-section{
		min-height:60vh;
	}
}
/* Neutralize green/gradient section backgrounds (keep hero and divider wave) */
.section:not(.section--hero):not(.acoes-section):not(.galeria-section){
	background-color:#fff!important;
	background-image:none!important;
}
.acoes-section .bg-white,
.galeria-section .bg-white{
	background-color:rgba(255,255,255,0.6)!important;
	backdrop-filter:blur(8px);
	box-shadow:0 12px 28px rgba(0,0,0,0.16)!important;
}
/* Apply to green sections */
.section--green-band{
	--section-curve-fill:var(--green-band-gradient);
}

/* Responsive max width for ultrawide */
@media (min-width:1600px){
	.section__inner{max-width:1600px}
}
@media (min-width:1920px){
	.section__inner{max-width:1760px}
}

/* Navbar social alignment */
header > div[class*="max-w-[1200px]"]{
	max-width:100%!important;
	padding-left:8px!important;
	padding-right:16px!important;
}
@media (min-width:768px){
	header > div[class*="max-w-[1200px]"] > div:first-child,
	header > div[class*="max-w-[1200px]"] > div:last-child{
		min-width:140px;
		display:flex;
		align-items:center;
		gap:8px;
	}
	header > div[class*="max-w-[1200px]"] > div:first-child{justify-content:flex-start}
	header > div[class*="max-w-[1200px]"] > div:last-child{
		justify-content:flex-end;
		margin-left:auto;
	}
}

/* Gallery marquee carousel: 2 rows x 5 columns */
#galeria [role="region"]{
	display:none!important;
}
.gallery-marquee{
	margin:0 auto;
	max-width:1600px;
	display:flex;
	flex-direction:column;
	gap:16px;
	overflow:hidden;
	padding:4px 0;
}
.gallery-marquee__row{
	overflow:hidden;
}
.gallery-marquee__track{
	display:flex;
	gap:16px;
	width:max-content;
	animation:gallery-marquee-left 160s linear infinite;
	will-change:transform;
}
.gallery-marquee__row--right .gallery-marquee__track{
	animation-name:gallery-marquee-right;
}
.gallery-marquee__item{
	flex:0 0 240px;
	max-width:240px;
}
.gallery-marquee__item img{
	width:100%;
	height:190px;
	object-fit:cover;
	object-position:center;
	background:rgba(255,255,255,0.18);
	border-radius:10px;
	box-shadow:none;
}
@keyframes gallery-marquee-left{
	0%{transform:translateX(0)}
	100%{transform:translateX(-50%)}
}
@keyframes gallery-marquee-right{
	0%{transform:translateX(-50%)}
	100%{transform:translateX(0)}
}
@media (max-width:1200px){
	.gallery-marquee__item{flex-basis:220px;max-width:220px}
	.gallery-marquee__item img{height:170px}
}
@media (max-width:900px){
	.gallery-marquee__item{flex-basis:200px;max-width:200px}
}
@media (max-width:640px){
	.gallery-marquee__item{flex-basis:160px;max-width:160px}
	.gallery-marquee__item img{height:160px}
}

/* Avoid image cropping site-wide inside sections */
.section img{
	object-fit:contain;
	object-position:center top;
	background:rgba(255,255,255,0.18);
}

/* Contato adjustments */
#contato .contact-subtitle{
	margin-top:8px;
	font-size:14px;
	font-weight:600;
	color:#0f4f1e;
	text-align:center;
}
#contato .bg-gradient-to-b{
	max-width:720px!important;
	padding:20px!important;
}
/* Tighter spacing for contact section */
#contato.section--pad{
	padding:2.25rem 0 calc(2.25rem + var(--section-divider-height))!important;
}
@media (max-width:640px){
	#contato.section--pad{
		padding:2rem 0 calc(2rem + var(--section-divider-height))!important;
	}
}
/* Reduce Instagram header spacing */
#instagram .section__inner > .mx-auto{
	margin-bottom:1.25rem!important;
}
/* Slightly tighter gallery top spacing */
#galeria.section--pad{
	padding-top:3.25rem!important;
}
@media (max-width:640px){
	#galeria.section--pad{
		padding-top:2.75rem!important;
	}
}

/* Keep social icons white on hover/focus in header and footer */
header a[aria-label] svg,
footer a[aria-label] svg{
	color:#fff!important;
	stroke:#fff!important;
	fill:none!important;
}
header a[aria-label],
footer a[aria-label]{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border-radius:999px;
	background:rgba(15,79,30,0.16);
	border:none;
	box-shadow:0 8px 18px rgba(0,0,0,0.12);
	transition:background .2s ease, box-shadow .2s ease, transform .2s ease;
}
header a[aria-label] > *,
footer a[aria-label] > *{
	background:transparent!important;
	box-shadow:none!important;
}
header a[aria-label]:hover,
header a[aria-label]:focus,
footer a[aria-label]:hover,
footer a[aria-label]:focus{
	background:rgba(15,79,30,0.16)!important;
	border:none!important;
	box-shadow:0 8px 18px rgba(0,0,0,0.12)!important;
	transform:none!important;
}
header a[aria-label]:hover > *,
header a[aria-label]:focus > *,
footer a[aria-label]:hover > *,
footer a[aria-label]:focus > *{
	background:transparent!important;
	box-shadow:none!important;
}
header a[aria-label]:hover svg,
header a[aria-label]:focus svg,
footer a[aria-label]:hover svg,
footer a[aria-label]:focus svg{
	color:#fff!important;
	stroke:#fff!important;
	fill:none!important;
}
header a[aria-label][aria-current="page"],
footer a[aria-label][aria-current="page"]{
	background:rgba(15,79,30,0.16);
	border:none;
	box-shadow:0 8px 18px rgba(0,0,0,0.12);
	transform:none;
}
header a[aria-label][aria-current="page"] svg,
footer a[aria-label][aria-current="page"] svg{
	color:#fff!important;
	stroke:#fff!important;
	fill:none!important;
}
/* Even spacing for social icons */
	header a[aria-label] + a[aria-label],
	footer a[aria-label] + a[aria-label]{
		margin-left:10px;
	}

/* Buttons using navbar tokens */
.btn-primary{
	background:linear-gradient(90deg, hsl(120 55% 16%), hsl(125 45% 30%)) !important;
	color:#fff !important;
	border:none !important;
	box-shadow:0 10px 24px rgba(0,0,0,0.16) !important;
}
.btn-primary:hover,
.btn-primary:focus{
	background:linear-gradient(90deg, hsl(125 45% 30%), hsl(120 55% 16%)) !important;
}
.btn-secondary{
	background:hsl(125 45% 30%) !important;
	color:#fff !important;
	border:none !important;
	box-shadow:0 10px 24px rgba(0,0,0,0.16) !important;
}
.btn-secondary:hover,
.btn-secondary:focus{
	background:hsl(120 55% 16%) !important;
}
.btn-ghost{
	background:transparent !important;
	color:hsl(120 55% 16%) !important;
}
.btn-ghost:hover,
.btn-ghost:focus{
	background:rgba(15,79,30,0.08) !important;
	color:hsl(120 55% 16%) !important;
}
.btn-link{
	color:hsl(120 55% 16%) !important;
	text-decoration:underline !important;
	text-underline-offset:4px !important;
}
/* Header-specific: force white nav text */
header nav button,
header nav a,
header .btn-ghost{
	color:#fff !important;
}
header nav button:hover,
header nav button:focus,
header nav a:hover,
header nav a:focus,
header .btn-ghost:hover,
header .btn-ghost:focus{
	color:#fff !important;
}
.inline-flex.items-center.justify-center.rounded-lg:focus-visible{
	outline:none !important;
	box-shadow:0 0 0 2px #fff, 0 0 0 4px hsl(125 45% 30%) !important;
}

/* Cards */
.pri-card{
	border:1px solid rgba(15,79,30,0.14) !important;
	background:#fff !important;
	border-radius:var(--radius-card) !important;
	box-shadow:var(--shadow-card) !important;
}

/* Dialogs/Modals */
div[class*="fixed"][class*="inset-0"][class*="bg-"]{
	background:rgba(12,64,24,0.64) !important;
}
div[class*="z-50"][class*="max-w-lg"][class*="translate-x-\\[-50%\\]"][class*="translate-y-\\[-50%\\]"]{
	border-radius:14px !important;
	border:1px solid rgba(15,79,30,0.14) !important;
	box-shadow:0 16px 46px rgba(0,0,0,0.22) !important;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select{
	border:1px solid rgba(15,79,30,0.18) !important;
	border-radius:10px !important;
	background:#fff !important;
}
input:focus, textarea:focus, select:focus{
	outline:none !important;
	border-color:hsl(125 45% 30%) !important;
	box-shadow:0 0 0 2px rgba(23,119,59,0.15) !important;
}
input::placeholder, textarea::placeholder{
	color:#5f7164 !important;
	opacity:1 !important;
}
