/* Home page hero/landing sections. Color palette matches the original design
   model 1:1 (its Tailwind theme.extend.colors), scoped under .home so it
   doesn't affect the rest of the site's shared estilos.css palette. */

.home{
	--home-bg:#f8f9ff;                 /* background / surface */
	--home-surface-low:#eff4ff;        /* surface-container-low */
	--home-surface:#e5eeff;            /* surface-container */
	--home-surface-high:#dce9ff;       /* surface-container-high */
	--home-surface-highest:#d3e4fe;    /* surface-container-highest */
	--home-surface-lowest:#ffffff;     /* surface-container-lowest */
	--home-ink:#0b1c30;                /* on-surface / on-background */
	--home-muted:#45464d;              /* on-surface-variant */
	--home-border:#c6c6cd;             /* outline-variant */

	--home-dark:#131b2e;               /* primary-container */
	--home-on-dark:#eaf1ff;            /* inverse-on-surface, for headings on dark */
	--home-on-dark-muted:#7c839b;      /* on-primary-container */

	--home-secondary:#904d00;          /* secondary (accent text/icons) */
	--home-on-secondary:#ffffff;
	--home-secondary-container:#fe932c;    /* secondary-container (solid accent) */
	--home-on-secondary-container:#663500;
	--home-secondary-fixed:#ffdcc3;        /* light accent chip bg */
	--home-on-secondary-fixed:#2f1500;

	--home-radius:0.75rem;
	--home-shadow:0 1px 2px rgba(11,28,48,.05), 0 12px 28px rgba(11,28,48,.08);
	--home-maxw:1280px;

	font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	color:var(--home-ink);
	background:var(--home-bg);
}

.material-symbols-outlined{
	font-family:'Material Symbols Outlined';
	font-weight:normal;
	font-style:normal;
	font-size:20px;
	line-height:1;
	letter-spacing:normal;
	text-transform:none;
	display:inline-block;
	white-space:nowrap;
	word-wrap:normal;
	direction:ltr;
	vertical-align:middle;
}
 
/* ---------- HERO ---------- */
.home-hero{
	padding:56px 24px;
	background:var(--home-surface-low);
	border-bottom:1px solid var(--home-border);
}
.home-hero-grid{
	max-width:var(--home-maxw);
	margin:auto;
	display:grid;
	grid-template-columns:1.4fr 1fr;
	gap:40px;
	align-items:start;
}
.home-hero-main{display:flex; flex-direction:column; gap:20px;}
.home-badge{
	display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
	padding:8px 14px; border-radius:999px; background:var(--home-surface-highest);
	color:var(--home-ink); font-size:13px; font-weight:600;
}
.home-badge .material-symbols-outlined{font-size:18px; color:var(--home-secondary-container);}
.home-badge--dark{background:var(--home-secondary-container); color:var(--home-on-secondary-container);}
.home-badge--dark .material-symbols-outlined{color:var(--home-on-secondary-container);}
.home-h1{font-size:clamp(2rem,4vw,2.75rem); font-weight:800; letter-spacing:-.02em; line-height:1.15; margin:0; color:var(--home-ink);}
.home-lead{font-size:1.1rem; line-height:1.6; color:var(--home-muted); max-width:60ch; margin:0;}

.home-search-card{
	background:var(--home-surface-lowest); border-radius:var(--home-radius);
	box-shadow:var(--home-shadow); padding:24px; display:flex; flex-direction:column; gap:16px; margin-top:8px;
}
.home-search-title{display:flex; align-items:center; gap:8px; font-weight:700;}
.home-search-title .material-symbols-outlined{color:var(--home-secondary);}
.home-search-fields{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.home-field{display:flex; flex-direction:column; gap:6px;}
.home-field label{font-size:13px; font-weight:600; color:var(--home-muted);}
.home-input-wrap{position:relative; display:flex; align-items:center;}
.home-input-wrap .material-symbols-outlined{position:absolute; left:12px; color:var(--home-muted); font-size:20px; pointer-events:none;}
.home-input-wrap select, .home-input-wrap input{
	width:100%; padding:12px 12px 12px 40px; border-radius:10px; border:1px solid var(--home-border);
	background:var(--home-surface-low); font:inherit; font-size:15px; color:var(--home-ink); appearance:none;
}
.home-input-wrap select:focus, .home-input-wrap input:focus{outline:2px solid var(--home-secondary-container); outline-offset:-1px;}
.home-search-btn{
	display:flex; align-items:center; justify-content:center; gap:8px;
	background:var(--home-secondary-container); color:var(--home-on-secondary-container); font-weight:700; font-size:15px;
	border:0; border-radius:10px; padding:14px; cursor:pointer; transition:background .2s ease, color .2s ease;
	text-decoration:none;
}
.home-search-btn:hover{background:var(--home-secondary); color:var(--home-on-secondary);}

.home-trust-row{display:flex; flex-wrap:wrap; gap:20px; font-size:14px; color:var(--home-muted);}
.home-trust-row span{display:flex; align-items:center; gap:6px;}
.home-trust-row .material-symbols-outlined{color:var(--home-secondary); font-size:18px;}

.home-hero-side{display:flex; flex-direction:column; gap:20px;}
.home-partner-card{
	background:var(--home-dark); color:var(--home-on-dark); border-radius:var(--home-radius); box-shadow:var(--home-shadow);
	padding:28px; display:flex; flex-direction:column; gap:12px;
}
.home-partner-card h2{font-size:1.4rem; font-weight:700; margin:4px 0 0; color:var(--home-on-dark);}
.home-partner-card p{color:var(--home-on-dark-muted); line-height:1.6; margin:0;}
.home-partner-note{font-size:13px; color:var(--home-on-dark-muted) !important;}
.home-btn-accent{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	background:var(--home-surface-lowest); color:var(--home-ink); font-weight:700; padding:13px 18px;
	border-radius:10px; text-decoration:none; margin-top:4px; transition:background .2s ease, color .2s ease;
}
.home-btn-accent .material-symbols-outlined{color:var(--home-secondary);}
.home-btn-accent:hover{background:var(--home-surface-low);}

.home-latest{
	display:flex; align-items:flex-start; gap:12px; background:var(--home-surface-lowest);
	border-radius:var(--home-radius); padding:16px; box-shadow:var(--home-shadow);
}
.home-latest .material-symbols-outlined{color:var(--home-secondary); font-size:26px; margin-top:2px;}
.home-latest-label{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--home-muted); margin:0 0 2px;}
.home-latest-name{font-weight:700; margin:0; color:var(--home-ink);}
.home-latest-loc{font-size:13px; color:var(--home-muted); margin:2px 0 0;}

/* ---------- SHARED BLOCK LAYOUT ---------- */
.home-block{max-width:var(--home-maxw); margin:auto; padding:64px 24px;}
.home-block-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:36px;}
.home-block-head--center{flex-direction:column; align-items:center; text-align:center; gap:8px;}
.home-eyebrow{display:block; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--home-secondary); margin-bottom:6px;}
.home-eyebrow--light{color:var(--home-secondary-container);}
.home-block-head h2{font-size:clamp(1.5rem,2.6vw,2rem); font-weight:800; letter-spacing:-.01em; margin:0; color:var(--home-ink);}
.home-block-sub{max-width:40ch; color:var(--home-muted); margin:0;}

/* ---------- SERVICES ---------- */
.home-services-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.home-service-card{
	background:var(--home-surface-lowest); border-radius:var(--home-radius);
	box-shadow:var(--home-shadow); padding:22px; display:flex; flex-direction:column; gap:10px;
	transition:transform .2s ease, box-shadow .2s ease;
}
.home-service-card:hover{transform:translateY(-4px);}
.home-service-top{display:flex; align-items:center; justify-content:space-between;}
.home-service-icon{
	width:44px; height:44px; border-radius:10px; background:var(--home-surface-high);
	display:flex; align-items:center; justify-content:center; transition:background .2s ease;
}
.home-service-icon .material-symbols-outlined{font-size:24px; color:var(--home-ink); transition:color .2s ease;}
.home-service-card:hover .home-service-icon{background:var(--home-secondary);}
.home-service-card:hover .home-service-icon .material-symbols-outlined{color:var(--home-on-secondary);}
.home-tag{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--home-muted); background:var(--home-surface); padding:4px 8px; border-radius:6px;}
.home-service-card h3{font-size:1.05rem; font-weight:700; margin:2px 0 0; color:var(--home-ink);}
.home-service-card p{font-size:14px; color:var(--home-muted); line-height:1.55; margin:0; flex:1;}
.home-service-card a{display:inline-flex; align-items:center; gap:6px; color:var(--home-secondary); font-weight:700; font-size:14px; text-decoration:none; margin-top:4px;}
.home-service-card a .material-symbols-outlined{font-size:16px;}
.home-service-card a:hover{text-decoration:underline;}

/* ---------- DARK BLOCK / PILLARS ---------- */
.home-block--dark{background:var(--home-dark); color:var(--home-on-dark); max-width:none; border-radius:0;}
.home-block--dark .home-block{max-width:var(--home-maxw);}
.home-block--dark .home-block-head h2{color:var(--home-on-dark);}
.home-pillars-grid{
	max-width:var(--home-maxw); margin:auto; padding:0 24px 64px;
	display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.home-pillar{background:rgba(255,255,255,.06); border-radius:var(--home-radius); padding:24px;}
.home-pillar-icon{
	width:48px; height:48px; border-radius:10px; background:rgba(254,147,44,.16);
	display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.home-pillar-icon .material-symbols-outlined{font-size:26px; color:var(--home-secondary-container);}
.home-pillar h3{font-size:1.05rem; font-weight:700; margin:0 0 8px; color:var(--home-on-dark);}
.home-pillar p{font-size:14px; line-height:1.6; color:var(--home-on-dark-muted); margin:0;}

/* ---------- STEPS ---------- */
.home-steps-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.home-step{background:var(--home-surface-lowest); border-radius:var(--home-radius); box-shadow:var(--home-shadow); padding:28px;}
.home-step-num{
	width:40px; height:40px; border-radius:50%; background:var(--home-surface);
	display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--home-secondary); margin-bottom:14px;
}
.home-step h3{font-size:1.05rem; font-weight:700; margin:0 0 8px; color:var(--home-ink);}
.home-step p{font-size:14px; line-height:1.6; color:var(--home-muted); margin:0;}

/* ---------- SIMPLE PAGE HERO (registro, etc.) ---------- */
.home-hero-simple{max-width:760px; margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px;}
.home-hero-simple .home-lead{max-width:60ch;}

/* ---------- FORMS ---------- */
.home-alert-error{
	background:#fdecea; color:#b3261e; border:1px solid #f5c6c2; border-radius:10px;
	padding:14px 16px; font-weight:600; margin:0 auto 20px; max-width:760px;
}
.home-form-card{
	background:var(--home-surface-lowest); border-radius:var(--home-radius); box-shadow:var(--home-shadow);
	padding:32px; max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:20px;
}
.home-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.home-field--full{grid-column:1/-1;}
.home-field .home-input{
	width:100%; padding:12px 14px; border-radius:10px; border:1px solid var(--home-border);
	background:var(--home-surface-low); font:inherit; font-size:15px; color:var(--home-ink); resize:vertical;
}
.home-field .home-input:focus{outline:2px solid var(--home-secondary-container); outline-offset:-1px;}
.home-field-hint{font-size:12px; color:var(--home-muted); margin-top:2px;}
.home-checkbox-row{display:flex; align-items:flex-start; gap:8px; font-size:14px; color:var(--home-muted); line-height:1.5;}
.home-checkbox-row input{margin-top:3px;}

/* ---------- LISTING (directorio-cerrajeros) ---------- */
.home-listing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.home-listing-card{
	background:var(--home-surface-lowest); border-radius:var(--home-radius); box-shadow:var(--home-shadow);
	padding:22px; display:flex; flex-direction:column; gap:10px;
}
.home-listing-name{font-size:1.05rem; font-weight:700; margin:0; color:var(--home-ink);}
.home-listing-loc{display:flex; align-items:center; gap:6px; font-size:14px; color:var(--home-muted);}
.home-listing-loc .material-symbols-outlined{font-size:18px; color:var(--home-secondary);}
.home-listing-badge{
	align-self:flex-start; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
	color:var(--home-on-secondary-fixed); background:var(--home-secondary-fixed); padding:4px 8px; border-radius:6px;
}
.home-empty-panel{
	background:var(--home-surface-lowest); border-radius:var(--home-radius); box-shadow:var(--home-shadow);
	padding:40px; text-align:center; max-width:600px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:10px;
}
.home-empty-panel .material-symbols-outlined{font-size:40px; color:var(--home-secondary);}
.home-empty-panel h2{margin:0; font-size:1.3rem;}
.home-empty-panel p{margin:0; color:var(--home-muted);}

/* ---------- FINAL CTA ---------- */
.home-final-cta{padding:0 24px 64px;}
.home-final-cta-inner{
	max-width:var(--home-maxw); margin:auto; background:var(--home-dark); color:var(--home-on-dark); border-radius:var(--home-radius);
	padding:40px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px;
}
.home-final-cta-inner h2{font-size:1.6rem; font-weight:800; margin:0 0 8px; color:var(--home-on-dark);}
.home-final-cta-inner p{color:var(--home-on-dark-muted); margin:0; max-width:50ch;}
.home-final-cta-actions{display:flex; flex-wrap:wrap; gap:12px;}
.home-final-cta .home-btn-accent{background:var(--home-secondary-container); color:var(--home-on-secondary-container);}
.home-final-cta .home-btn-accent .material-symbols-outlined{color:var(--home-on-secondary-container);}
.home-final-cta .home-btn-accent:hover{background:var(--home-secondary); color:var(--home-on-secondary);}
.home-final-cta .home-btn-accent:hover .material-symbols-outlined{color:var(--home-on-secondary);}
.home-btn-outline{
	display:inline-flex; align-items:center; justify-content:center;
	padding:13px 18px; border-radius:10px; border:1px solid rgba(255,255,255,.3);
	color:var(--home-on-dark); text-decoration:none; font-weight:700; transition:background .2s ease;
}
.home-btn-outline:hover{background:rgba(255,255,255,.1);}

/* ---------- RESPONSIVE ---------- */
@media(max-width:960px){
	.home-hero-grid{grid-template-columns:1fr;}
	.home-services-grid{grid-template-columns:repeat(2,1fr);}
	.home-pillars-grid{grid-template-columns:repeat(2,1fr);}
	.home-steps-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
	.home-hero{padding:40px 16px;}
	.home-block{padding:48px 16px;}
	.home-search-fields{grid-template-columns:1fr;}
	.home-services-grid{grid-template-columns:1fr;}
	.home-pillars-grid{grid-template-columns:1fr; padding:0 16px 48px;}
	.home-final-cta-inner{padding:28px;}
}
