/* Contacto Franquicia — estilos */
:root{
	--cf-primary:#1a2b4c;
	--cf-accent:#d4a017;
	--cf-bg-light:#f7f7f9;
	--cf-radius:10px;
}

.cf-btn{
	display:inline-block;
	padding:13px 28px;
	border-radius:999px;
	font-weight:600;
	text-decoration:none;
	border:none;
	cursor:pointer;
	font-size:15px;
	transition:background .2s ease;
}
.cf-btn-primary{ background:var(--cf-primary) !important; color:#fff !important; }
.cf-btn-primary:hover{ background:#101d38 !important; }
.cf-btn-block{ display:block; width:100%; text-align:center; }

.cf-wrap{
	max-width:1080px;
	margin:0 auto;
	padding:60px 20px 70px;
}
.cf-cabecera{ text-align:center; max-width:640px; margin:0 auto 40px; }
.cf-cabecera h2{ font-size:clamp(26px,4vw,38px); margin:0 0 14px; }
.cf-cabecera p{ font-size:16.5px; line-height:1.6; margin:0; }

.cf-contenido{
	display:grid;
	grid-template-columns:1fr 1.4fr;
	gap:36px;
	align-items:start;
}

/* Bloque de datos de contacto (sin caja, texto claro sobre fondo oscuro) */
.cf-info{ display:flex; flex-direction:column; gap:22px; padding-top:6px; }
.cf-info-item{ display:flex; align-items:flex-start; gap:14px; }
.cf-info-icono{ font-size:22px; line-height:1.3; }
.cf-info-label{ display:block; font-size:12.5px; text-transform:uppercase; letter-spacing:1px; font-weight:700; margin-bottom:3px; }
.cf-info-item a,
.cf-info-item span{ font-size:16px; font-weight:600; text-decoration:none; word-break:break-word; }
.cf-info-item a:hover{ text-decoration:underline; }

/* Caja del formulario: fondo claro propio, texto oscuro dentro */
.cf-formulario-caja{
	background:var(--cf-bg-light) !important;
	border-radius:var(--cf-radius);
	padding:30px;
}
.cf-form-row{ display:flex; gap:18px; }
.cf-form-row .cf-form-group{ flex:1; }
.cf-form-group{ margin-bottom:18px; }
.cf-form-group label{ display:block; font-weight:600; font-size:14px; margin-bottom:6px; color:var(--cf-primary) !important; }
.cf-form-group input,
.cf-form-group textarea{
	width:100%;
	padding:12px 14px;
	border:1px solid #d7d7de;
	border-radius:8px;
	font-size:15px;
	font-family:inherit;
	background:#ffffff !important;
	color:#222 !important;
	box-sizing:border-box;
}
.cf-form-group input:focus,
.cf-form-group textarea:focus{
	outline:none;
	border-color:var(--cf-primary);
	box-shadow:0 0 0 3px rgba(26,43,76,.12);
}

.cf-alerta{ padding:14px 18px; border-radius:8px; margin-bottom:20px; font-size:14.5px; font-weight:500; }
.cf-alerta-ok{ background:#e5f6ea !important; color:#1e6b3a !important; border:1px solid #b8e6c4; }
.cf-alerta-error{ background:#fdeaea !important; color:#a3261f !important; border:1px solid #f3c2c0; }

/* Responsive */
@media (max-width:820px){
	.cf-contenido{ grid-template-columns:1fr; gap:30px; }
	.cf-info{ flex-direction:row; flex-wrap:wrap; gap:24px; }
	.cf-info-item{ flex:1 1 220px; }
}
@media (max-width:480px){
	.cf-wrap{ padding:40px 16px 50px; }
	.cf-formulario-caja{ padding:20px; }
	.cf-form-row{ flex-direction:column; gap:0; }
	.cf-info{ flex-direction:column; }
}
