/*
Theme Name: Astra Child - Alumia
Template: astra
Version: 3.39.0
*/

:root{
	--al-black:#0a0a0a;
	--al-white:#ffffff;
	--al-gray:#707070;
	--al-gray-light:#9a9a9a;
	--al-line:rgba(10,10,10,.15);
	--al-line-light:rgba(255,255,255,.2);
	--al-container:1400px;
}

html{ margin:0 !important; }
body.alumia-page{ margin:0; background:var(--al-white); }

.alumia-home{
	font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	color:var(--al-black);
	background:var(--al-white);
	width:100%;
	position:relative;
	overflow-x:hidden;
}
.alumia-home *{ box-sizing:border-box; }
.alumia-home a{ text-decoration:none !important; color:inherit; }
.alumia-home h1,.alumia-home h2,.alumia-home h3{
	font-family:'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight:500;
	text-transform:uppercase;
	line-height:1.05;
	margin:0;
	letter-spacing:.01em;
	color:inherit;
}

/* ---- Eyebrow label (numbered section tag) ---- */
.al-eyebrow{
	display:flex;
	align-items:center;
	gap:14px;
	font-family:'JetBrains Mono', ui-monospace, monospace;
	font-size:10px;
	letter-spacing:.2em;
	color:var(--al-gray);
	text-transform:uppercase;
	margin-bottom:24px;
}
.al-eyebrow__line{ width:40px; height:1px; background:var(--al-line); }
.al-eyebrow--center{ justify-content:center; }
.al-section--dark .al-eyebrow{ color:var(--al-gray-light); }
.al-section--dark .al-eyebrow__line{ background:var(--al-line-light); }

/* ---- Nav ---- */
.al-nav{
	position:absolute;
	top:0; left:0; right:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:32px clamp(24px,5vw,64px);
	z-index:5;
}
.al-nav__logo img{ display:block; height:20px; width:auto; }
.al-nav__menu{ display:flex; gap:40px; }
.al-nav__menu a{
	font-size:11px;
	letter-spacing:.3em;
	text-transform:uppercase;
	color:var(--al-gray);
	font-weight:400;
}
.al-nav__menu a.is-active{ color:var(--al-black); font-weight:600; }
.al-nav__menu a:hover{ color:var(--al-black); }

/* ---- Hero ---- */
.al-hero{
	position:relative;
	min-height:100vh;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:120px 24px 80px;
	background:var(--al-white);
}
.al-bracket{ position:absolute; width:28px; height:28px; }
.al-bracket--tl{ top:28px; left:28px; border-top:2px solid var(--al-black); border-left:2px solid var(--al-black); }
.al-bracket--tr{ top:28px; right:28px; border-top:2px solid var(--al-black); border-right:2px solid var(--al-black); }
.al-bracket--bl{ bottom:28px; left:28px; border-bottom:2px solid var(--al-black); border-left:2px solid var(--al-black); }
.al-bracket--br{ bottom:28px; right:28px; border-bottom:2px solid var(--al-black); border-right:2px solid var(--al-black); }

.al-hero__vertical{
	position:absolute;
	top:50%;
	writing-mode:vertical-rl;
	transform:translateY(-50%) rotate(180deg);
	font-size:12px;
	letter-spacing:.25em;
	color:var(--al-gray);
	text-transform:uppercase;
}
.al-hero__vertical--left{ left:36px; }
.al-hero__vertical--right{ right:36px; }

.al-hero__logo{ width:min(90vw,520px); height:auto; margin:0 auto; display:block; }
.al-hero__tagline{
	margin-top:20px;
	font-size:clamp(14px,1.6vw,20px);
	letter-spacing:.05em;
	text-transform:uppercase;
	color:var(--al-gray);
	font-family:'Space Grotesk', sans-serif;
}
.al-hero__scroll{
	position:absolute;
	bottom:36px;
	left:50%;
	transform:translateX(-50%);
	display:flex;
	align-items:center;
	gap:16px;
	font-size:11px;
	letter-spacing:.25em;
	color:var(--al-gray);
	text-transform:uppercase;
	white-space:nowrap;
}
.al-hero__scroll-line{ width:64px; height:1px; background:var(--al-line); }

/* ---- Generic section ---- */
.al-section{
	max-width:var(--al-container);
	margin:0 auto;
	padding:120px 24px;
}
.al-section--dark{ max-width:none; background:var(--al-black); color:var(--al-white); }
.al-section--dark .al-manifesto{ max-width:var(--al-container); margin:0 auto; }

.al-section__head{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-end;
	gap:32px;
	margin-bottom:56px;
}
.al-section__head h2{ font-size:clamp(32px,5vw,48px); }
.al-section__head p{ max-width:360px; color:var(--al-gray); font-size:14px; line-height:1.6; }

/* ---- Images (real + fallback placeholder) ---- */
.al-store__img,.al-manifesto__img{
	aspect-ratio:4/5;
	overflow:hidden;
	background:#eee;
	position:relative;
}
.al-store__img img,.al-manifesto__img img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

/* ---- Hover FX da foto do card de loja (igual ao protótipo Base44) ---- */
.al-store__overlay{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,0);
	transition:background-color .5s ease;
	pointer-events:none;
}
.al-store:hover .al-store__overlay{ background:rgba(0,0,0,.4); }
.al-store__corner{
	position:absolute;
	width:20px;
	height:20px;
	border-color:#fff;
	opacity:0;
	transition:opacity .3s ease;
	pointer-events:none;
}
.al-store:hover .al-store__corner{ opacity:1; }
.al-store__corner--tl{ top:12px; left:12px; border-top:1px solid; border-left:1px solid; }
.al-store__corner--tr{ top:12px; right:12px; border-top:1px solid; border-right:1px solid; }
.al-store__corner--bl{ bottom:12px; left:12px; border-bottom:1px solid; border-left:1px solid; }
.al-store__corner--br{ bottom:12px; right:12px; border-bottom:1px solid; border-right:1px solid; }
.al-placeholder-img{
	width:100%; height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:repeating-linear-gradient(135deg,#e2e2e2,#e2e2e2 10px,#ececec 10px,#ececec 20px);
	color:var(--al-gray-light);
	font-size:11px;
	letter-spacing:.2em;
	text-transform:uppercase;
}
.al-section--dark .al-placeholder-img{
	background:repeating-linear-gradient(135deg,#1c1c1c,#1c1c1c 10px,#242424 10px,#242424 20px);
	color:#555;
}

/* ---- Lojas grid ---- */
.al-stores{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:2px;
	background:var(--al-line);
	border-top:1px solid var(--al-line);
	border-bottom:1px solid var(--al-line);
}
.al-store{ background:var(--al-white); display:block; }
.al-store__meta{ padding:20px 4px 0; position:relative; }
.al-store__num{
	display:block;
	font-family:'JetBrains Mono', ui-monospace, monospace;
	font-size:10px;
	letter-spacing:.15em;
	color:var(--al-gray);
	text-transform:uppercase;
	margin-bottom:8px;
}
.al-store__meta h3{ font-size:19px; margin-bottom:6px; }
.al-store__tag{
	display:block;
	font-size:13px;
	color:var(--al-gray);
	text-transform:none;
	letter-spacing:0;
	font-family:'Inter', sans-serif;
}
.al-store__arrow{
	position:absolute;
	top:20px; right:4px;
	font-size:16px;
	color:var(--al-gray);
	display:inline-block;
	transition:transform .3s ease;
}
.al-store:hover .al-store__arrow{ transform:translate(3px,-3px); }
.al-empty{ padding:40px 4px; color:var(--al-gray); font-size:14px; }

/* ---- Buttons ---- */
.al-cta-row{ display:flex; gap:16px; margin-top:56px; flex-wrap:wrap; }
.al-btn{
	display:inline-block;
	padding:16px 32px;
	font-size:11px;
	letter-spacing:.3em;
	text-transform:uppercase;
	font-weight:400;
	text-align:center;
	transition:opacity .2s ease;
}
.al-btn:hover{ opacity:.7; }
.al-btn--outline{ border:1px solid var(--al-black); color:var(--al-black) !important; }
.al-btn--fill{ background:var(--al-black); color:var(--al-white) !important; }
.al-btn--light{ border-color:var(--al-white); color:var(--al-white) !important; }

/* ---- Manifesto ---- */
.al-manifesto{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:80px;
	align-items:center;
	padding:120px 24px;
}
.al-manifesto__content h2{ font-size:clamp(32px,4.5vw,52px); margin-bottom:28px; }
.al-manifesto__content p{ color:#b5b5b5; font-size:15px; line-height:1.7; max-width:480px; margin-bottom:36px; font-family:'Inter', sans-serif; text-transform:none; letter-spacing:0; }

/* ---- Quatro movimentos ---- */
.al-section__title{ font-size:clamp(32px,5vw,48px); margin-bottom:56px; }
.al-steps{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	border-top:1px solid var(--al-line);
}
.al-step{ padding:32px 24px; border-right:1px solid var(--al-line); }
.al-step:last-child{ border-right:none; }
.al-step__num{ display:block; font-size:10px; color:var(--al-gray); margin-bottom:24px; font-family:'JetBrains Mono', ui-monospace, monospace; }
.al-step h3{ font-size:17px; margin-bottom:14px; }
.al-step p{ font-size:14px; color:var(--al-gray); line-height:1.6; }

/* ---- CTA final ---- */
.al-cta-final{ text-align:center; padding-top:140px; padding-bottom:140px; }
.al-cta-final h2{ font-size:clamp(36px,6vw,56px); margin-bottom:28px; }
.al-cta-final p{ max-width:520px; margin:0 auto 40px; color:var(--al-gray); font-size:14px; line-height:1.7; }
.al-cta-final .al-btn{ padding:18px 40px; }

/* ---- Archive (Projetos) ---- */
.al-archive-head{ padding-top:180px; padding-bottom:40px; }
.al-archive-head h1{ font-size:clamp(32px,5vw,48px); }
.al-archive-grid{ padding-top:0; }
.al-archive-grid .navigation.pagination{ margin-top:56px; display:flex; gap:16px; justify-content:center; font-size:12px; letter-spacing:.15em; }
.al-archive-grid .nav-links{ display:flex; gap:16px; }
.al-archive-grid .page-numbers{ padding:10px 16px; border:1px solid var(--al-line); color:var(--al-black); }
.al-archive-grid .page-numbers.current{ background:var(--al-black); color:var(--al-white); }

/* ---- Footer ---- */
.al-footer{ max-width:none; background:var(--al-black); color:var(--al-white); padding:100px 24px 0; }
.al-footer__top{
	max-width:var(--al-container);
	margin:0 auto;
	display:grid;
	grid-template-columns:1.6fr 1fr 1fr;
	gap:48px;
	padding-bottom:80px;
	border-bottom:1px solid var(--al-line-light);
}
.al-footer__logo{ margin-bottom:20px; }
.al-footer__logo img{ height:22px; width:auto; display:block; filter:invert(1) brightness(2); }
.al-footer__brand p{ color:#8a8a8a; font-size:14px; line-height:1.7; max-width:380px; }
.al-footer__label{ display:block; font-size:11px; letter-spacing:.2em; color:#8a8a8a; text-transform:uppercase; margin-bottom:20px; }
.al-footer__col a{ display:block; font-size:13px; color:#d9d9d9; margin-bottom:14px; text-transform:uppercase; letter-spacing:.1em; }
.al-footer__col a:hover{ color:var(--al-white); }
.al-footer__bottom{
	max-width:var(--al-container);
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	gap:10px 28px;
	justify-content:space-between;
	padding:28px 0;
	font-family:'JetBrains Mono', ui-monospace, monospace;
	font-size:10px;
	color:#7a7a7a;
	letter-spacing:.05em;
}

/* ---- Página Sobre ---- */
.al-about-head{ padding-top:180px; padding-bottom:56px; }
.al-about-head h1{ font-size:clamp(32px,6vw,64px); max-width:1000px; }
.al-about-photo{ max-width:var(--al-container); margin:0 auto; padding:0 24px 100px; }
.al-about-photo img{ width:100%; height:clamp(280px,45vw,560px); object-fit:cover; display:block; }

.al-about-manifesto{
	max-width:var(--al-container);
	margin:0 auto;
	padding:80px 24px;
	border-top:1px solid var(--al-line);
	display:grid;
	grid-template-columns:220px 1fr;
	gap:40px;
}
.al-about-manifesto__label{
	display:flex;
	align-items:flex-start;
	gap:10px;
	font-family:'JetBrains Mono', ui-monospace, monospace;
	font-size:10px;
	letter-spacing:.2em;
	color:var(--al-gray);
	text-transform:uppercase;
}
.al-about-manifesto__body p{
	font-size:20px;
	line-height:1.4;
	color:var(--al-black);
	max-width:760px;
	margin-bottom:28px;
}
.al-about-manifesto__body p:last-child{ margin-bottom:0; }

.al-about-pillars{
	background:var(--al-black);
	color:var(--al-white);
	padding:80px 24px;
}
.al-about-pillars__grid{
	max-width:var(--al-container);
	margin:0 auto;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:var(--al-line-light);
}
.al-about-pillar{ background:var(--al-black); padding:40px; }
.al-about-pillar__num{ display:block; font-family:'JetBrains Mono', ui-monospace, monospace; font-size:10px; color:var(--al-white); margin-bottom:28px; }
.al-about-pillar h3{ font-size:18px; margin-bottom:14px; }
.al-about-pillar p{ font-size:14px; color:#b5b5b5; line-height:1.6; }

.al-about-cta{ text-align:center; padding:140px 24px; }
.al-about-cta img{ width:44px; height:auto; margin:0 auto 32px; display:block; }
.al-about-cta h2{ font-size:clamp(28px,4.5vw,40px); margin-bottom:40px; }

/* ---- Página Parceiro (formulário) ---- */
.al-page-head{ padding-top:180px; padding-bottom:56px; }
.al-page-head h1{ font-size:clamp(32px,6vw,64px); max-width:900px; }
.al-page-head p{ margin-top:24px; max-width:480px; color:var(--al-gray); font-size:15px; line-height:1.6; }

.al-form-section{
	max-width:var(--al-container);
	margin:0 auto;
	padding:80px 24px 140px;
	border-top:1px solid var(--al-line);
	display:grid;
	grid-template-columns:280px 1fr;
	gap:60px;
}
.al-checklist__title{
	font-family:'JetBrains Mono', ui-monospace, monospace;
	font-size:10px;
	letter-spacing:.2em;
	color:var(--al-gray);
	text-transform:uppercase;
	margin-bottom:28px;
}
.al-checklist{ list-style:none; margin:0; padding:0; }
.al-checklist li{
	display:grid;
	grid-template-columns:26px 1fr;
	gap:4px;
	padding:16px 0;
	border-bottom:1px solid var(--al-line);
	font-size:14px;
}
.al-checklist li:first-child{ padding-top:0; }
.al-checklist__num{ font-family:'JetBrains Mono', ui-monospace, monospace; font-size:10px; color:var(--al-gray); }

.al-form{ max-width:640px; }
.al-field{ margin-bottom:28px; }
.al-field label{
	display:block;
	font-family:'JetBrains Mono', ui-monospace, monospace;
	font-size:10px;
	letter-spacing:.2em;
	color:var(--al-gray);
	text-transform:uppercase;
	margin-bottom:10px;
}
.al-field input,.al-field select,.al-field textarea{
	width:100%;
	border:none;
	border-bottom:1px solid var(--al-black);
	background:transparent;
	padding:12px 0;
	font-family:'Inter', sans-serif;
	font-size:16px;
	color:var(--al-black);
	border-radius:0;
	appearance:none;
}
.al-field textarea{ resize:vertical; min-height:90px; }
.al-field input:focus,.al-field select:focus,.al-field textarea:focus{ outline:none; border-bottom-color:var(--al-gray); }
.al-field input::placeholder,.al-field textarea::placeholder{ color:var(--al-gray-light); }
.al-field--hp{ position:absolute; left:-9999px; opacity:0; height:0; }

.al-form-submit{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:16px; }
.al-form-submit .al-btn{ border:none; cursor:pointer; }
.al-form-hint{ font-family:'JetBrains Mono', ui-monospace, monospace; font-size:10px; letter-spacing:.15em; color:var(--al-gray); text-transform:uppercase; }

.al-notice{ padding:20px 24px; font-size:14px; margin-bottom:40px; border:1px solid var(--al-line); }
.al-notice--ok{ background:#f3f3f3; }

/* ---- Página Contato ---- */
.al-contact-cards{
	max-width:var(--al-container);
	margin:0 auto;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	border-top:1px solid var(--al-line);
	border-bottom:1px solid var(--al-line);
}
.al-contact-card{
	display:block;
	padding:40px 24px;
	border-right:1px solid var(--al-line);
}
.al-contact-card:last-child{ border-right:none; }
.al-contact-card__row{ display:flex; justify-content:space-between; align-items:center; margin-bottom:40px; color:var(--al-black); }
.al-contact-card__label{
	display:block;
	font-family:'JetBrains Mono', ui-monospace, monospace;
	font-size:10px;
	letter-spacing:.2em;
	color:var(--al-gray);
	text-transform:uppercase;
	margin-bottom:10px;
}
.al-contact-card__value{ font-size:clamp(18px,2.4vw,24px); font-family:'Space Grotesk',sans-serif; text-transform:uppercase; }

/* Vitrine do vendor (subdomínio): CSS próprio em assets/vendor-store.css (4 templates,
   ver vendor-templates/ e alumia-subdomain-router.php), não usa nada daqui. */

/* ---- Responsive ---- */
@media (max-width: 900px){
	.al-nav__menu{ display:none; }
	.al-hero__vertical{ display:none; }
	.al-stores{ grid-template-columns:repeat(2,1fr); }
	.al-manifesto{ grid-template-columns:1fr; gap:40px; padding:80px 24px; }
	.al-steps{ grid-template-columns:1fr; }
	.al-step{ border-right:none; border-bottom:1px solid var(--al-line); }
	.al-footer__top{ grid-template-columns:1fr; }
	.al-footer__bottom{ flex-direction:column; gap:8px; }
	.al-section{ padding:80px 24px; }
	.al-about-manifesto{ grid-template-columns:1fr; }
	.al-about-pillars__grid{ grid-template-columns:1fr; }
	.al-form-section{ grid-template-columns:1fr; gap:40px; }
	.al-contact-cards{ grid-template-columns:1fr; }
	.al-contact-card{ border-right:none; border-bottom:1px solid var(--al-line); }
	.al-contact-card:last-child{ border-bottom:none; }
}


/* Links legais na barra inferior do rodape. Cor e decoracao explicitas: regra de tag
   do core/Astra vence seletor de uma classe so. */
.al-footer__legal{ display:flex; gap:18px; flex-wrap:wrap; }
.al-footer__id{ max-width:52ch; }
.al-footer__legal a{ color:inherit; text-decoration:none; }
.al-footer__legal a:hover{ color:var(--al-white); }
