/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 21 2026 | 23:44:28 */
/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Apr 08 2026 | 05:29:20 */
/* AÃ±ade aquÃ­ tu cÃ³digo CSS.

Por ejemplo:
.ejemplo {
    color: red;
}

Para mejorar tu conocimiento sobre CSS, echa un vistazo a https://www.w3schools.com/css/css_syntax.asp

Fin del comentario */ 

/* Importar tipografía Farro */
	@import url('https://fonts.googleapis.com/css2?family=Farro:wght@400;500;700&display=swap');
	/* Tipografía global */
	body {
		background: #f8f9fa;
		font-family: 'Farro', sans-serif;
	}

	.viewport { 
		overflow:hidden;
		width:100%;
		height: auto; /* ðŸ”¥ CLAVE */
		transition: height 0.3s ease;
		position: relative; /* temporal */
	}
	
	.track {
		display:flex;
		transition: transform 500ms ease;
		width: 100%;
		min-width: 100%;
		align-items: flex-start; /* ðŸ”¥ CLAVE */
	}
	
	.slide {
		display: block !important; /* temporal */
		min-width:100%;
		padding:3rem 1.5rem;
		padding-bottom: 80px;
		width: 100%;
		flex-shrink: 0;
		box-sizing: border-box;
	}

	.slide .form-label{
		color: #1A5A3D;
		font-weight: bold;
	}

	.slide p:first-child{
		color: #000000;
		font-weight: bold;
	}

	@media (max-width: 767px){

		.slide {
			padding: 30px 12px 16px;
			max-width: 100vw; /* ðŸ”¥ clave */
		}

		.option-row {
			padding-left: 0;
			padding-right: 0;
		}

		.track {
			width: 100%;
			max-width: 100vw; /* ðŸ”¥ clave */
		}
	}
	
	.nav-links { display:flex; justify-content:space-between; margin-top:2rem; }
	.question-img { max-width:347px; display:block; margin:0 auto 1.5rem; }

	/* =========================================
	   ðŸ”’ BASE ÃšNICA CONTROLADA
	========================================= */

	.form-check {
		display: flex;
		align-items: center;
		gap: 5px;
	}

	.form-check-input {
		margin: 0;
	}

	.form-check-label {
		margin: 0;
	}
	
	/* =====================================================
	   OPTION CARDS â€“ RADIO & CHECKBOX (WIZARD)
	===================================================== */

	/* Card base */
	.slide .form-check {
		display: inline-flex;
		align-items: center;
		white-space: nowrap;
		padding: 0;
		margin-bottom: 12px;
		border: 1px solid #848484;
		border-radius: 5px;
		cursor: pointer;
		position: relative; /* necesario para z-index */
		z-index: 1;
		transition:
			background-color 0.2s ease,
			border-color 0.2s ease,
			transform 0.15s ease,
			box-shadow 0.15s ease;
	}

	/* YA NO Ocultar inputs nativos */
	/* =========================================
	   RADIO BUTTONS GLOBALES
	========================================= */

	.form-check-input[type="radio"] {
		appearance: radio !important;
		-webkit-appearance: radio !important;
		-moz-appearance: radio !important;

		width: 18px;
		height: 18px;
		margin: 0;
		cursor: pointer;

		/* Color del punto interno */
		accent-color: #1A5A3D;
	}
	
	/* =========================================
	   ESTRUCTURA RADIO + TEXTO
	========================================= */

	/*.form-check {
		display: flex;
		align-items: center;
		gap: 8px;
	}*/

	.form-check-label {
		margin: 0;
		cursor: pointer;
	}

	/* Label clickeable (ocupa TODA la card) */
	.slide .form-check-label {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 100%;
		height: 100%;
		/*padding: 14px 16px;*/
		cursor: pointer;
	}

	/* Hover */
	.slide .form-check:hover {
		transform: none; /* CLAVE */
		/*box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16);*/
		border-color: #5f5f5f;
		z-index: 10; /* ðŸ”§ FIX: sube sobre siblings */
	}
	
	.slide .form-check:active {
		box-shadow: 0 2px 6px rgba(0,0,0,.12);
	}

	/* Seleccionado */
	.slide .form-check:has(.form-check-input:checked) {
		background-color: #FFE7B0;
		border-color: #c9a54b;
	}

	/* Focus accesible */
	.slide .form-check:has(.form-check-input:focus-visible) {
		outline: 2px solid #c9a54b;
		outline-offset: 2px;
	}

	/* =====================================================
	   OPTION ROW LAYOUTS
	===================================================== */

	.option-row {
		display: flex;
		gap: 12px;
		justify-content: center;
		flex-wrap: wrap;
		overflow-x: auto;
		overflow-y: visible; /* ðŸ”§ FIX CLAVE */
		padding-bottom: 4px;
	}

	/* Evita que las cards se encojan */
	.option-row .form-check {
		flex: 0 0 auto;
		justify-content: center;
	}

	/* Layout multi-fila */
	.option-row.wrap {
		flex-wrap: wrap;
		overflow-x: visible;
		overflow-y: visible;
	}

	/* Reflow suave */
	.option-row.wrap .form-check {
		transition:
			transform 0.2s ease,
			box-shadow 0.2s ease,
			background-color 0.2s ease;
	}

	/* =====================================================
	   OPTION CARDS CON IMAGEN
	===================================================== */

	.option-row .form-check-label {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 6px;
		font-size: 0.9rem;
		line-height: 1.2;
	}

	.option-row .form-check-label img {
		/*width: 100%;*/
		height: auto;
		display: block;
	}

	.option-row .form-check-label small {
		font-size: 0.8rem;
		color: #6c757d;
		display: block;
		margin-top: 2px;
	}
	
	/* =====================================================
	   RADIO NORMAL â€“ VERTICAL (VISIBLE REAL)
	===================================================== */

	.slide .option-row.radio-vertical .form-check-input {

		display: inline-block;
		appearance: auto;
		-webkit-appearance: radio;

		width: 18px;
		height: 18px;

		margin: 0;
		padding: 0;

		cursor: pointer;
		accent-color: #1A5A3D;

		position: static;
		opacity: 1;
	}

	/* Layout vertical */
	.slide .option-row.radio-vertical {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		margin-top: 1rem;
		width: 100%;
		max-width: 520px;
		margin-left: auto;
		margin-right: auto;
	}

	/* Reset card style SOLO en este modo */
	.slide .option-row.radio-vertical .form-check {

		border: none;
		background: transparent;
		box-shadow: none;
		padding: 0;
		margin: 0;

		display: flex;
		align-items: center;
		gap: 12px;

		width: 100%;
	}

	/* Label */
	.slide .option-row.radio-vertical .form-check-label {

		display: inline-block;
		padding: 0;
		font-size: 1rem;
		color: #1A5A3D;
		text-align: left;
		cursor: pointer;
	}
	
	/* =====================================================
	   EDAD â€“ CAMPOS SOLO BORDE INFERIOR PUNTEADO â€“ TEXTO CENTRADO EN SELECT
	===================================================== */

	#edadAnos,
	#edadMeses {

		border: none;
		border-bottom: 1px dotted #000000;

		border-radius: 0;
		background: transparent;

		color: #1A5A3D;
		text-align: center;

		outline: none;
		box-shadow: none;
		
	}

	/*#edadAnos,
	#edadMeses {

		border: none;
		border-bottom: 1px dotted #000000;
		
		border-radius: 0;
		background: transparent;

		color: #1A5A3D;

		outline: none;
		box-shadow: none;
	}*/

	/* Quitar estilo Bootstrap en focus */
	#edadAnos:focus,
	#edadMeses:focus {

		border: none;
		border-bottom: 1px dotted #000000;

		outline: none;
		box-shadow: none;
	}

	/* Mantener igual en focus */
	#edadAnos:focus,
	#edadMeses:focus {

		border: none;
		border-bottom: 1px dotted #000000;
		outline: none;
		box-shadow: none;
	}
	
	/* ==============================
	   SELECT BASE
	============================== */

	.edad-select {
		position: relative;
		max-width: 280px;
		margin: 0 auto;
	}

	.edad-select select {

		width: 100%;

		border: none;
		border-bottom: 1px dotted #000000;
		border-radius: 0;
		background: transparent;

		color: #1A5A3D;
		text-align: center;

		padding-right: 30px;

		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;

		outline: none;
		box-shadow: none;
	}


	/* ==============================
	   FLECHAS PERSONALIZADAS
	============================== */

	.edad-select::before,
	.edad-select::after {

		content: "";
		position: absolute;
		right: 10px;
		width: 0;
		height: 0;
		pointer-events: none;
	}

	/* Flecha arriba */
	.edad-select::before {
		top: 37%;   /* antes 40% */
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-bottom: 6px solid #1A5A3D;
	}

	/* Flecha abajo */
	.edad-select::after {
		top: 63%;   /* antes 58% */
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-top: 6px solid #1A5A3D;
	}
	
	/* Background cuando el select estÃ¡ activo o enfocado */
	.edad-select select:focus {
		background-color: #1A5A3D;
		color: #ffffff;
		outline: none;
		box-shadow: none;
	}

	/* Opciones seleccionadas (al desplegar) */
	.edad-select select option:checked {
		background-color: #1A5A3D;
		color: #ffffff;
	}
	
	/* Nombre dinámico del perro */
	.dog-name {
		color: #1A5A3D;
		font-weight: 600; /* opcional, si quieres que destaque un poco mÃ¡s */
	}

	/* =====================================================
	   SLIDE & NAV
	===================================================== */

	.slide {
		text-align: center;
		overflow: visible; /* ðŸ”§ FIX FINAL */
	}

	.nav-links {
		display: flex;
		justify-content: center;
		gap: 2rem;
	}
	
	/* =====================================================
	   INPUTS â€“ TEXTO Y NUMÃ‰RICOS (GLOBAL)
	===================================================== */

	.slide input[type="text"],
	.slide input[type="email"],
	.slide input[type="number"] {

		border: none;
		border-bottom: 1px dotted #000000;
		border-radius: 0;
		background: transparent;

		color: #1A5A3D;
		font-weight: 500;

		padding: 8px 4px;
		text-align: center;

		transition: border-color 0.2s ease, box-shadow 0.2s ease;
		
		max-width: 280px;
		margin: 0 auto;
	}

	/* Quitar estilos Bootstrap */
	.slide input[type="text"]:focus,
	.slide input[type="email"]:focus,
	.slide input[type="number"]:focus {

		outline: none;
		box-shadow: none;
		border-bottom: 1px dotted #1A5A3D;
	}

	/* Placeholder */
	.slide input::placeholder {
		color: #848484;
		opacity: 1;
	}

	/* =====================================================
	   BOTONES NAV â€“ ANTERIOR / SIGUIENTE
	===================================================== */

	.nav-links .btn,
	.slide .next,
	.slide .prev {

		padding: 23px 44px;
		border-radius: 40px;

		background-color: #F4B000;
		color: #000000;

		border: none;
		font-weight: 500;

		transition: background-color 0.25s ease, color 0.25s ease;
	}

	/* Hover */
	.nav-links .btn:hover,
	.slide .next:hover,
	.slide .prev:hover {

		background-color: #1A5A3D;
		color: #ffffff;
	}

	/* Disabled */
	.nav-links .btn.disabled,
	.nav-links .btn:disabled {

		opacity: 0.5;
		cursor: not-allowed;
		background-color: #F4B000;
	}
	
	/* =====================================================
	   SECCIÃ“N 0 â€“ USUARIO NUEVO / FRECUENTE
	   VERSIÃ“N LIMPIA Y DEFINITIVA
	===================================================== */

	#seccion-0 .d-flex {
		gap: 40px !important;
	}

	/* BOTÃ“N BASE */
	#seccion-0 .btn {
		background-color: #ffffff;
		border-radius: 40px;
		border: 1px solid #1A5A3D;
		padding: 75px 63px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-decoration: none;
		transition: background-color 0.3s ease, box-shadow 0.3s ease;
	}

	/* Hover botÃ³n */
	#seccion-0 .btn:hover {
		background-color: rgba(26, 90, 61, 0.08);
		box-shadow: 0 6px 18px rgba(0,0,0,0.15);
	}

	/* =====================================================
	   ALTURA CONTROLADA REAL â€“ SECCIÃ“N 0
	===================================================== */

	/* Zona fija para ambas imÃ¡genes */
	#seccion-0 .img-wrapper {
		height: 170px; /* Altura exacta de la imagen mÃ¡s alta */
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* Imagen en tamaÃ±o real, sin reducciÃ³n */
	#seccion-0 .img-wrapper img {
		width: auto;
		height: auto;
		/*max-height: 170px;*/
		display: block;
	}

	/* Espaciado imagen â†’ texto */

	#seccion-0 #usuario-nuevo .img-wrapper {
		margin-bottom: 26px;
	}

	#seccion-0 #usuario-frecuente .img-wrapper {
		margin-bottom: 26px;
	}

	/* TEXTO INTERNO (span) */
	#seccion-0 .btn span {
		border-radius: 40px;
		padding: 23px 44px;
		display: inline-block;
		font-weight: 500;
		transition: background-color 0.3s ease, color 0.3s ease;
	}

	/* =========================
	   USUARIO NUEVO
	========================= */

	#usuario-nuevo span {
		background-color: #F4B000;
		color: #000000;
	}

	#usuario-nuevo:hover span {
		background-color: #d89a00;
		color: #000000;
	}

	/* =========================
	   USUARIO FRECUENTE
	========================= */

	#usuario-frecuente {
		padding-top: 93px;
	}

	#usuario-frecuente span {
		background-color: #1A5A3D;
		color: #ffffff;
	}

	#usuario-frecuente:hover span {
		background-color: #144830;
		color: #ffffff;
	}
	
	/* =====================================================
	   RESPONSIVE â€“ 1024px
	===================================================== */

	@media (max-width: 1024px) {

		#seccion-0 .d-flex {
			gap: 32px !important;
		}

		#seccion-0 .btn {
			padding: 60px 40px;
		}

		#seccion-0 .img-wrapper img {
			max-width: 200px;
		}
	}
	
	/* =====================================================
	   RESPONSIVE â€“ 768px
	===================================================== */

	@media (max-width: 768px) {

		#seccion-0 .d-flex {
			gap: 24px !important;
			padding: 0 10px
		}

		#seccion-0 .btn {
			padding: 50px 30px;
		}

		#seccion-0 .img-wrapper {
			min-height: 170px;
			margin-bottom: 20px;
		}

		#seccion-0 .img-wrapper img {
			max-width: 180px;
		}

		#seccion-0 .btn span {
			font-size: 16px;
		}
	}
	
	/* =====================================================
	   RESPONSIVE HORIZONTAL â€“ SECCIÃ“N 0 (â‰¤ 425px)
	   VersiÃ³n con img-wrapper y sin espacios imagen/texto
	===================================================== */
	
	@media(max-width: 767px){
		#seccion-0 .btn span{
			font-size: 11px;
			padding-left: 20px;
			padding-right: 20px;
		}	
	}

	@media (max-width: 425px) {

		/* Mantener horizontal compacto */
		#seccion-0 .d-flex {
			flex-direction: row !important;
			gap: 16px !important;
			padding: 0 10px;
		}

		/* Cada botÃ³n ocupa la mitad */
		#seccion-0 .btn {
			width: 50%;
			padding: 28px 14px;
		}

		/* Ajuste especial Usuario Frecuente */
		#usuario-frecuente {
			padding-top: 38px;
		}

		/* Wrapper de imagen */
		#seccion-0 .img-wrapper {
			min-height: 170px;
			display: flex;
			align-items: center;
			justify-content: center;
			margin-bottom: 16px; /* â† aquÃ­ */
		}

		/* Imagen proporcional */
		#seccion-0 .img-wrapper img {
			width: 100%;
			height: auto;
			max-width: 140px;
			display: block;
			margin: 0 !important; /* eliminar cualquier margen */
		}

		/* Eliminar cualquier espacio imagen â†’ texto */
		#seccion-0 #usuario-nuevo .img-wrapper,
		#seccion-0 #usuario-frecuente .img-wrapper {
			margin-bottom: 0 !important;
		}

		/* Texto mÃ¡s compacto */
		#seccion-0 .btn span {
			padding: 14px 18px;
			
		}
		
	}
	
	/* =====================================================
	   RESPONSIVE â€“ 375px
	===================================================== */

	@media (max-width: 375px) {
		
		#seccion-0 {
			padding: 0 10px;
		}

		#seccion-0 .d-flex {
			gap: 12px !important;
		}

		#seccion-0 .btn {
			padding: 22px 10px;
		}

		#seccion-0 .img-wrapper {
			min-height: 150px;
			margin-bottom: 14px;
		}

		#seccion-0 .img-wrapper img {
			max-width: 120px;
		}

		#seccion-0 .btn span {
			padding: 12px 14px;
			font-size: 12px;
		}
	}
	
	/* =================================
		PERRITO BREADCRUMB
	================================= */
	.pbreadcrumb{
		padding-left: 8px;
    	padding-right: 8px;
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.pbreadcrumb,
	.pbreadcrumb > *{
		min-width: 0;
	}
	
	.pbreadcrumb .row{
		max-width: 430px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}

	.pbreadcrumb .col-2{
		position: relative;
	}
	
	.pbreadcrumb h4/*,
	.slide-edad .edad-title*/ {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;

		white-space: normal;
		overflow-wrap: break-word;
		word-break: normal;

		text-align: center;
	}

	/*.pbreadcrumb h4{
		text-align: center;
		color: #1A5A3D;
		font-size: clamp(11px, 5vw, 24px);
		line-height: 1.2;
    	margin: 0;
		text-wrap: balance; /* ðŸ”¥ mejora cortes de lÃ­nea modernos */
		/*min-width: 0;              /* ðŸ”¥ CLAVE en flex */
		/*overflow-wrap: break-word; /* rompe palabras largas */
		/*word-break: break-word;    /* fallback */
		/*white-space: normal;       /* por si hay nowrap heredado */
	/*}*/

	.pbdot{
		width: 10px;
		height: 10px;
		border-radius: 50%;
		display: block;
		background: #6b6b6b;
	}
	
	.pbdotcenter{
		display: inline-block;
		position: relative;
		z-index: 3;
	}
	
	.pbline{
		width: 136.1px;
		height: 1px;
		background: #848484;
		display: block;
	}
	
	.pblcenter{
		position: relative;
		top: 48%;
		z-index: 2;
	}
	
	.pbdot.pbdotactive{
		background: #F4B000;
	}
	
	.pbtituloactive{
		color: #000000;
	}
	
	#pbreadcrumb{
		display: none;
	}
	
	@media(max-width: 767px){
		.pblcenter {
			top: 48%;
			left: 0;
		}
		
		.pbdotcenter{
			position: absolute;
        	display: inline-block;
		}
		
		.pbreadcrumb .row{
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 0 10px;
			max-width: 100%;
		}

		/* ðŸ”¥ cada bloque se adapta */
		.pbreadcrumb .col-5,
		.pbreadcrumb .col-2{
			flex: 1;
			display: flex;
			align-items: center;
			/*justify-content: center;*/
		}
		
		.pbreadcrumb col-5:first-child{
			justify-content: start;
		}
		
		.pbreadcrumb col-5:nth-child(2){
			justify-content: end !important;
		}
		
		.pbreadcrumb .col-2{
			justify-content: center;
		}

		/* ðŸ”¥ lÃ­neas flexibles (CLAVE) */
		.pbline{
			width: 100%;
			min-width: 20px; /* opcional para no desaparecer */
		}

		/* ðŸ”¥ evitar desbordes 
		.pbreadcrumb h4{
			font-size: 20px;
		}*/
	}
	
	/* =====================================================
	   RADIO NORMAL â€“ VERTICAL (ALINEADO IZQUIERDA + ACTIVE)
	===================================================== */

	.radio-vertical {
		display: flex;
		flex-direction: column;
		align-items: flex-start; /* â† ahora izquierda */
		gap: 14px;
		margin-top: 1rem;
		width: 100%;
		max-width: 520px; /* opcional para control visual */
		margin-left: auto;
		margin-right: auto;
	}

	/* Reset card styles */
	.radio-vertical .form-check {

		border: none;
		padding: 0;
		margin: 0;

		display: flex;
		align-items: center;
		gap: 12px;

		cursor: pointer;
		background: transparent;
		box-shadow: none;
		width: 100%;
	}

	/* Mostrar radio nativo */
	.radio-vertical .form-check-input {

		display: inline-block;
		width: 18px;
		height: 18px;

		border: 1px solid #1A5A3D;
		cursor: pointer;
	}

	/* Estado ACTIVO */
	.radio-vertical .form-check-input:checked {
		background-color: #1A5A3D;
		border-color: #1A5A3D;
	}

	/* Label */
	.radio-vertical .form-check-label {

		display: inline-block;
		padding: 0;
		font-size: 1rem;
		color: #1A5A3D;
		cursor: pointer;
		text-align: left;
	}

	/* Hover limpio */
	.radio-vertical .form-check:hover {
		transform: none;
		box-shadow: none;
		border: none;
		background: transparent;
	}
	
	/* =========================================
	   Esterilizado â€“ Radios horizontales reales
	========================================= */

	#seccion-mi-perro .radio-horizontal {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 80px;
		width: 100%;
	}

	/* ðŸ”¥ Esto es lo que faltaba */
	#seccion-mi-perro .radio-horizontal .form-check {
		display: inline-flex;
		align-items: center;
		width: auto;
		margin: 0;
	}

	/* Evitar que label baje de lÃ­nea */
	#seccion-mi-perro .radio-horizontal .form-check-label {
		white-space: nowrap;
	}
	
	/* =========================================
	   Restaurar radios reales (no cuadrados)
	========================================= */

	#seccion-mi-perro .radio-horizontal .form-check-input[type="radio"] {
		/*appearance: radio !important;*/
		-webkit-appearance: radio !important;
		-moz-appearance: radio !important;

		width: 18px;
		height: 18px;
		border-radius: 50%;
		cursor: pointer;
	}
	
	.radio-horizontal {
		display: flex;
		justify-content: center;
		gap: 40px;
	}
	
	/* =========================================
	   ESTERILIZADO â€“ sin card, solo radio limpio
	========================================= */

	.radio-horizontal .form-check {

		border: none !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;

		display: inline-flex;
		align-items: center;
		gap: 10px;

		width: auto;
	}

	/* Quitar efectos hover heredados */
	.radio-horizontal .form-check:hover {
		border: none !important;
		box-shadow: none !important;
		background: transparent !important;
		transform: none !important;
	}

	/* Quitar estilo seleccionado tipo card */
	.radio-horizontal .form-check:has(.form-check-input:checked) {
		background: transparent !important;
		border: none !important;
	}
	
	/* =========================================
	   RESET GLOBAL RADIOS â€“ CONTROL DEFINITIVO
	========================================= */

	.form-check-input[type="radio"] {
		/*appearance: radio !important;*/
		-webkit-appearance: radio !important;
		-moz-appearance: radio !important;

		width: 18px;
		height: 18px;
		margin: 0;
		cursor: pointer;

		accent-color: #1A5A3D;
	}

	/* Asegurar estructura radio + texto */
	/*.form-check {
		display: flex;
		align-items: center !important;
		gap: 10px;
	}*/

	.form-check-label {
		margin: 0;
		cursor: pointer;
	}

	/* =========================================
	   RADIO VERTICAL â€“ LIMPIO
	========================================= */

	.radio-vertical {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		max-width: 520px;
		margin: 1rem auto 0;
	}

	.radio-vertical .form-check {
		border: none !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		width: 100%;
	}

	/* Quitar hover heredado */
	.radio-vertical .form-check:hover {
		transform: none !important;
		box-shadow: none !important;
		border: none !important;
	}

	/* =========================================
	   RADIO HORIZONTAL â€“ ESTERILIZADO
	========================================= */

	.radio-horizontal {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 60px;
		margin-top: 1rem;
	}

	.radio-horizontal .form-check {
		border: none !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
		width: auto !important;
	}

	.radio-horizontal .form-check:hover {
		transform: none !important;
		box-shadow: none !important;
		border: none !important;
	}

	/* Quitar estilo tipo card cuando estÃ¡ seleccionado */
	.radio-horizontal .form-check:has(.form-check-input:checked) {
		background: transparent !important;
		border: none !important;
	}
	
	/* =========================================
	   PREGUNTAS CON IMAGEN â€“ radio junto al texto
	========================================= */

	/* Forzar layout interno horizontal */
	/*.option-row .form-check {
		display: flex;
		align-items: center !important;
		gap: 12px;
	}*/

	/* Asegurar que el radio no se vaya arriba */
	.option-row .form-check-input[type="radio"] {
		flex-shrink: 0;
		margin: 0;
		width: unset;
	}

	/* El texto ocupa el resto del espacio */
	.option-row .form-check-label {
		margin: 0;
		flex: 1;
	}
	
	/* =========================================
	   PREGUNTAS CON IMAGEN â€“ layout correcto
	========================================= */

	/* Card con imagen */
	.option-row .form-check:has(img) {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	/* Label pasa a estructura vertical */
	.option-row .form-check:has(img) .form-check-label {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 8px;
		padding: 14px 16px;
	}

	/* Imagen arriba */
	.option-row .form-check:has(img) img {
		display: block;
		margin-bottom: 6px;
		max-height: 200px;
	}

	/* Contenedor radio + texto */
	.option-row .form-check:has(img) .form-check-input[type="radio"] {
		margin-right: 6px;
		width: unset;
	}

	/* Forzar radio + texto en lÃ­nea */
	.option-row .form-check:has(img) .form-check-label {
		align-items: center;
	}

	.option-row .form-check:has(img) .form-check-label::after {
		content: "";
	}
	
	/* =========================================
	   Quitar borde del contenedor .form-check
	   SOLO en Gustitos / Salud / Dieta
	========================================= */

	.slide-gustitos .form-check,
	.slide-salud .form-check,
	.slide-dieta .form-check {
		border: none !important;
		box-shadow: none !important;
		background: transparent !important;
	}

	.slide-salud .form-check-label,
	.slide-dieta .form-check-label {
		white-space: normal;
		word-break: break-word;
	}

	/* ðŸ”¥ SOLO PARA CHECKBOXES DE SALUD */
	.slide-salud #saludOpciones .option-row, 
	.slide-salud #dietaOpciones .option-row {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
		justify-items: center;
	}

	.slide-salud #saludOpciones .form-check,
	.slide-salud #dietaOpciones .form-check {
		/*all: unset;*/
		display: flex;
		align-items: center;      /* ðŸ‘ˆ antes flex-start */
		justify-content: center; /* ðŸ‘ˆ centra horizontal */
		gap: 8px;
		width: 100%;
		max-width: 320px;
		box-sizing: border-box;
		text-align: center;      /* ðŸ‘ˆ para el texto multilÃ­nea */
	}

	.slide-salud #saludOpciones .form-check-input, 
	.slide-salud #dietaOpciones .form-check-input {
		flex: 0 0 auto;
		margin-top: 4px;
	}

	.slide-salud #saludOpciones .form-check-label,
	.slide-salud #dietaOpciones .form-check-label {
		flex: 1 1 auto;
		min-width: 0;
		white-space: normal;
		word-break: break-word;
		overflow-wrap: break-word;
		text-align: center;
	}

	@media (max-width: 1023px) {
		.slide-salud #saludOpciones .option-row,
		.slide-salud #dietaOpciones .option-row {
			display: grid;
			grid-template-columns: repeat(2, max-content);
			justify-content: center;
			gap: 12px 16px; /* ajusta si quieres */
		}
	}

	@media (max-width: 767px) {
		.slide-salud #saludOpciones .option-row,
		.slide-salud #dietaOpciones .option-row {
			grid-template-columns: 1fr;
			padding-right: 20px;
        	padding-left: 20px;
		}
	}
	
	/* =========================================
	   Radio / Checkbox â€“ separaciÃ³n 5px mÃ¡ximo
	========================================= */

	/* Quitar padding lateral extra */
	.form-check {
		padding-left: 0 !important;
		/*display: flex;
		align-items: center;
		gap: 5px; /* ðŸ‘ˆ separaciÃ³n controlada */
	}

	/* Eliminar mÃ¡rgenes automÃ¡ticos de Bootstrap */
	.form-check-input {
		margin: 0 !important;
	}

	.form-check-label {
		margin: 0 !important;
	}
	
	/* =========================================
	   CONTROL GLOBAL DEFINITIVO 5px
	========================================= */

	/* 1ï¸âƒ£ Caso normal: input + label hermanos */
	.form-check {
		/*gap: 5px !important;*/
	}

	/* 2ï¸âƒ£ Cuando el input estÃ¡ dentro de .radio-text */
	.radio-text {
		display: inline-flex;
		align-items: center;
		gap: 5px; /* ðŸ‘ˆ separaciÃ³n real */
	}

	/* 3ï¸âƒ£ Quitar cualquier margin heredado */
	.form-check-input {
		margin: 0 !important;
	}

	.form-check-label {
		margin: 0 !important;
	}
	
	
	/* =========================================
	   SEPARACIÃ“N REAL 5px ENTRE INPUT Y TEXTO
	   SOLUCIÃ“N DEFINITIVA
	========================================= */

	/*.form-check {
		display: flex;
		align-items: center !important;
		gap: 0 !important; /* eliminamos todos los gap heredados 
	}*/

	/* Controlamos la separaciÃ³n desde el input */
	.form-check-input {
		margin: 0 5px 0 0 !important; /* ðŸ‘ˆ 5px exactos */
	}

	/* Quitar cualquier margen del label */
	.form-check-label {
		margin: 0 !important;
	}
	
	/* =========================================
	   CONTROL REAL 5px â€“ SIN DEPENDER DE GAP
	========================================= */

	/* 1ï¸âƒ£ Quitar cualquier gap heredado */
	.form-check,
	.option-row .form-check,
	.radio-horizontal .form-check,
	.radio-vertical .form-check {
		/*gap: 0 !important;*/
	}

	/* 2ï¸âƒ£ SeparaciÃ³n cuando input y label son hermanos */
	.form-check-input + .form-check-label {
		margin-left: 5px !important;
	}

	/* 3ï¸âƒ£ SeparaciÃ³n cuando input estÃ¡ dentro de .radio-text */
	.radio-text {
		display: inline-flex;
		align-items: center;
	}

	.radio-text .form-check-input {
		margin-right: 5px !important;
	}

	/* 4ï¸âƒ£ Checkboxes simples */
	input[type="checkbox"] + label {
		margin-left: 5px !important;
	}

	/* 5ï¸âƒ£ Radios simples */
	input[type="radio"] + label {
		margin-left: 5px !important;
	}
	
	/* ACTIVIDAD â€“ centrar los dos bloques internos */
	.slide:has(#actividad-baja) .radio-text {
		display: inline-flex;
		flex-direction: column;
	}
	
	.slide:has(#actividad-baja) .radio-text > div {
		text-align: center;
	}
	
	/* Quitar borde SOLO a form-check que tengan checkbox */
	.slide .form-check:has(input[type="checkbox"]) {
		border: none;
		padding: 0;
		background: transparent;
	}
	
	/* ================================
	   SLIDE: TIPO DE COMIDA
	================================ */

	/* Contenedor centrado y con ancho mÃ¡ximo */
	.slide:has(#comida-croquetas) .option-row {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px 40px;
		max-width: 470px;
		margin: 0 auto;
	}

	/* En mÃ³vil â†’ 1 columna */
	@media (max-width: 768px) {
		.slide:has(#comida-croquetas) .option-row {
			grid-template-columns: 1fr;
		}
	}

	/* Cada checkbox alineado */
	.slide:has(#comida-croquetas) .form-check {
		display: flex;
		justify-content: flex-start;
		gap: 0;
	}

	/* SeparaciÃ³n exacta 5px */
	.slide:has(#comida-croquetas) .form-check-input {
		margin-right: 5px;
	}

	/* Texto alineado izquierda */
	.slide:has(#comida-croquetas) .form-check-label {
		margin: 0;
		text-align: left;
	}


	/* ================================
	   CHECKBOX VISUAL PERSONALIZADO
	================================ */

	/* Quitamos apariencia nativa */
	.slide input[type="checkbox"] {
		appearance: none;
		-webkit-appearance: none;
		width: auto;
		height: auto;
		border: 1.5px solid #1A5A3D;
		border-radius: 3px;
		background: transparent;
		position: relative;
		cursor: pointer;
	}

	/* Check verde SIN fondo */
	.slide input[type="checkbox"]:checked::after {
		content: "✓";
		position: absolute;
		font-size: 25px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -55%);
		color: #1A5A3D;
	}
	
	/* =========================================
	   FIX DEFINITIVO CHECKBOX ALIGNMENT
	========================================= */

	/* Solo checkboxes */
	.slide .option-row:has(input[type="checkbox"]) {
		justify-content: flex-start !important;
	}

	/* Cada item */
	.slide .form-check:has(input[type="checkbox"]) {
		align-items: flex-start !important;
		text-align: left !important;
	}

	/* El label */
	.slide .form-check:has(input[type="checkbox"]) .form-check-label {
		text-align: left !important;
	}
	
	.slide:has(#comida-croquetas) .form-check-label {
		text-align: left;
		align-items: flex-start;
	}
	
	.slide .form-check:has(input[type="checkbox"]:checked) {
		background: none !important;
		box-shadow: none !important;
	}
	
	/* Quitar efectos hover SOLO en checkboxes */
	.slide .form-check:has(input[type="checkbox"]) {
		transition: none;
	}

	.slide .form-check:has(input[type="checkbox"]:hover),
	.slide .form-check:has(input[type="checkbox"]:focus),
	.slide .form-check:has(input[type="checkbox"]:checked) {
		background: transparent !important;
		box-shadow: none !important;
	}
	
	/* Layout 2 columnas solo para Gustitos */
	.slide-gustitos .option-row {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 16px 24px;
		max-width: 400px;
		margin: 0 auto;
	}

	/* Mobile â†’ 1 columna */
	@media (max-width: 768px) {
		.slide-gustitos .option-row {
			grid-template-columns: 1fr;
		}
	}
	
	/* Gustitos - alineaciÃ³n texto a la izquierda */
	.slide-gustitos .form-check {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		text-align: left;
	}

	/* SeparaciÃ³n exacta de 5px entre radio y texto */
	.slide-gustitos .form-check-input {
		margin-right: 5px;
	}

	.slide-gustitos .form-check-label {
		margin: 0;
		text-align: left;
		align-items: flex-start;
	}
	
	/* GUSTITOS â€” forzar alineaciÃ³n correcta */
	.slide-gustitos .form-check {
		display: flex;
		align-items: center;
		gap: 5px;              /* separaciÃ³n exacta */
		text-align: left;      /* evita herencias */
	}

	.slide-gustitos .form-check-label {
		text-align: left !important;
		margin: 0;
	}

	.slide-gustitos .option-row {
		text-align: left;      /* rompe cualquier centrado heredado */
	}
	
	/* SALUD + DIETA â€” radios con separaciÃ³n */
	.slide-salud .option-row,
	.slide-dieta .option-row {
		display: flex;
		justify-content: center;
		gap: 80px;
	}
	
	@media (max-width: 768px) {
		.slide-salud .option-row,
		.slide-dieta .option-row {
			flex-direction: column;
			gap: 20px;
			align-items: center;
		}
	}
	
	/* SALUD + DIETA â€” contenedor checkbox */
	.slide-salud .form-check:has(input[type="checkbox"]),
	.slide-dieta .form-check:has(input[type="checkbox"]) {
		border: 1px solid #848484 !important;
		padding: 19px 24px 24px 48px;
		border-radius: 40px;
	}
	
	/* SALUD + DIETA â€“ layout controlado */
	.slide-salud .option-row,
	.slide-dieta .option-row {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
		max-width: 900px;
		margin: 0 auto;
	}
	
	@media (max-width: 767px) {
		.slide-salud .option-row,
		.slide-dieta .option-row {
			/*grid-template-columns: 1fr;*/
		}
	}

	@media (min-width: 768px) and (max-width: 1024px) {
		.slide-salud .option-row,
		.slide-dieta .option-row {
			grid-template-columns: repeat(2, 1fr);
		}
		
		.slide-salud .option-row:has(input[type="checkbox"]),
		.slide-dieta .option-row:has(input[type="checkbox"]) {
			display: grid !important;
		}
	}

	/* =========================================
	   SALUD + DIETA â€“ CONTROL FINAL RADIOS
	   AGREGAR AL FINAL
	========================================= */

	.slide-salud .option-row.radio-vertical,
	.slide-dieta .option-row.radio-vertical {
		align-items: center !important;
	}

	.slide-salud .option-row:not(:has(input[type="checkbox"])),
	.slide-dieta .option-row:not(:has(input[type="checkbox"])) {
		display: flex !important;
		justify-content: center !important;
		gap: 80px !important;
		flex-wrap: nowrap !important;
		flex-direction: row;
	}

	/* SALUD â€“ FIX OVERFLOW */
	.slide-salud .form-check:has(input[type="checkbox"]) {
		max-width: 100%;
		width: auto;
		display: flex; /* â† clave */
	}

	.slide-salud .form-check-label {
		white-space: normal;
		word-break: break-word;
	}

	.slide-salud .form-check:has(input[type="checkbox"]) {
		max-width: 420px;
	}
	
	@media (max-width: 767px) {
		.slide-salud .option-row:not(:has(input[type="checkbox"])),
		.slide-dieta .option-row:not(:has(input[type="checkbox"])) {
			gap: 20px !important;
			align-items: center !important;
		}
	}
	
	/* =========================================
	   SALUD + DIETA â€“ CHECKBOX PILL DEFINITIVO
	   AGREGAR AL FINAL
	========================================= */

	.slide-salud .form-check:has(input[type="checkbox"]),
	.slide-dieta .form-check:has(input[type="checkbox"]) {

		border: 1px solid #848484 !important;
		border-radius: 40px !important;

		padding: 19px 36px 24px 36px !important;

		background: transparent !important;
	}
	
	/* =========================================
	   SALUD + DIETA â€“ CENTRAR CHECKBOXES REAL
	   AGREGAR AL FINAL
	========================================= */

	.slide-salud .option-row:has(input[type="checkbox"]),
	.slide-dieta .option-row:has(input[type="checkbox"]) {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		flex-wrap: wrap !important;
	}

	/* IMPORTANTE: evitar que ocupen 100% */
	.slide-salud .form-check:has(input[type="checkbox"]),
	.slide-dieta .form-check:has(input[type="checkbox"]) {
		width: auto !important;
		display: inline-flex !important;
	}
	
	/* INDIVIDUALES */
	
	.slide-nombre-perro .nav-links{
		margin-top: 5dvh;
	}
	
	.slide-tu-nombre .nav-links{
		margin-top: 5dvh;
	}
	
	.slide-tu-nombre .form-label{
		margin-top: 5dvh;
	}
	
	.slide-sector .nav-links{
		margin-top: 5dvh;
	}
	
	.slide-sector .form-label{
		margin-top: 5dvh;
	}
	
	.slide-email .form-label{
		margin-top: 5dvh;
	}
	
	.slide-email .text-muted{
		margin-top: 5dvh !important;
		margin-bottom: 5dvh;
	}
	
	.slide-edad .nav-links{
		margin-top: 5dvh;
	}
	
	@media(max-width: 1199px) and (min-width: 768px){
		.slide-pers-raza .option-row{
			/*padding-left: 60px;
			padding-right: 60px*/
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 16px;
			max-width: 720px;
			margin: 0 auto;
		}
		
		.slide-pers-raza .form-check{
			flex: 0 0 calc(33.333% - 16px);
			max-width: calc(33.333% - 16px);
		}
	}

	@media(max-width: 767px){
		.slide-pers-raza h4{
			padding-top: 40px;
		}	
	}

	.slide-pers-raza .nav-links{
		margin-top: 5dvh;
	}
	
	.slide-esterilizado h4{
		margin-top: 4dvh;
		margin-bottom: 3dvh;
	}
	
	.slide-esterilizado .nav-links{
		margin-top: 5dvh;
	}
	
	.slide-peso-actual h4{
		margin-top: 6dvh;
		margin-bottom: 4.5dvh;
	}
	
	.slide-peso-actual .text-muted{
		margin-top: 1.6rem;
	}
	
	.slide-peso-actual .nav-links{
		margin-top: 5dvh;
	}
	
	.slide-condicion-peso h4{
		margin-top: 2dvh;
		margin-bottom: 5dvh;
	}
	
	.slide-condicion-peso h4.mt-4{
		margin-top: 4.7rem !important;
		margin-bottom: 3.1rem;
	}
	
	.slide-condicion-peso #pesoIdeal{
		margin-bottom: 3.5rem;	
	}
	
	.slide-actividad h4{
		margin-top: 0rem;
		margin-bottom: 3.3rem;
	}
	
	.slide-actividad .nav-links{
		margin-top: 4dvh;
	}
	
	.slide-comportamiento h4{
		margin-top: 2.5rem;
    margin-bottom: 4rem;
	}
	
	.slide-comportamiento .nav-links{
		margin-top: 5dvh;
	}
	
	.slide-tipo-comida h4{
		margin-top: 3dvh;
		margin-bottom: 6.5dvh;
	}
	
	.slide-tipo-comida .nav-links{
		margin-top: 1.5rem;
	}
	
	.slide-gustitos h4{
		margin-top: 2.2dvh;
		margin-bottom: 3.3dvh;
	}
	
	.slide-gustitos .nav-links{
		margin-top: 4dvh;
	}
	
	.slide-salud h4{
		margin-top: 4dvh;
		margin-bottom: 5dvh;
	}
	
	.slide-salud #saludOpciones{
		margin-top: 4dvh !important;
	}
	
	.slide-salud .text-muted, 
	.seccion-resultados .text-muted{
		margin: 40px auto;
		color: #FF0000 !important;
		font-weight: bold;
	}

	.slide-salud .text-muted{
		/*width: 20%;	
	}

	.seccion-resultados .text-muted{
		/*width: 80%;	*/
	}

	@media(max-width: 767px){
		.slide-salud .text-muted{
			/*width: 80%;*/
		}
		
		.seccion-resultados .text-muted{
			/*width: 80%;*/	
		}
	}

	@media(max-width: 1023px) and (min-width: 768px){
		.slide-salud .text-muted{
			/*width: 15%;*/
		}
		
		.seccion-resultados .text-muted{
			/*width: 80%;	*/
		}
	}

	@media(max-width: 767px) {
		.slide-salud .text-muted, 
		.seccion-resultados .text-muted{
			/*width: 90%;*/
		}
	}

	.seccion-resultados .text-muted{
		padding: 0 20px;	
	}
	
	.slide-dieta h4{
		margin-top: 1rem;
		margin-bottom: 3.5rem;
	}
	
	.slide-dieta #dietaOpciones{
		margin-top: 5dvh !important;
	}
	
	.slide-dieta .text-muted{
	    /*width: 20%;*/
		margin: 30px auto 0;
		color: #FF0000 !important;
		font-weight: bold;
	}

	@media(max-width: 1023px) and (min-width: 768px){
		.slide-dieta .text-muted{
			/*width: 15%;*/
		}
	}

	@media(max-width: 767px){
		.slide-dieta .text-muted{
			/*width: 80%;*/
		}
	}
	
	.seccion-resultados{
		margin-top: 4.4rem;
		text-align: center;
	}

	@media(max-width: 767px){
		.seccion-resultados{
			padding: 0 10px;
		}
	}
	
	.seccion-resultados h3{
		color: #F4B000;
		font-size: 52px;
	}
	
	.seccion-resultados p{
		font-size: 20px;
	}
	
	.seccion-resultados .resnum{
		color: #1A5A3D;
		font-size: 30px;
		max-width: 750px;
		margin: 0 auto;
	}

	@media(max-width: 767px){
		.seccion-resultados .btns{
			display: block !important;
			margin: 0;
			padding: 0 10px;
		}
		
		.seccion-resultados .btns a:first-child{
			margin-bottom: 20px;
		}
	}
	
	.seccion-resultados a{
		padding: 23px 44px;
		border-radius: 40px;
		background-color: #F4B000;
		color: #000000;
		border: none;
		font-weight: 500;
		transition: background-color 0.25s ease, color 0.25s ease;
	}
	
	.seccion-resultados a:hover{
		background-color: #1A5A3D;
		color: #ffffff;
	}
	
	@media(max-width: 767px){
		.seccion-resultados .btns .col-sm-2.align-self-center{
			margin: 5px;
		}
	}
	
	.seccion-plan-recomendado{
		margin-top: 4.4rem;
		text-align: center;
	}
	
	.seccion-plan-recomendado h3{
		color: #F4B000;
		font-size: 52px;
	}
	
	.seccion-plan-recomendado p.gracias{
		margin-top:3.6rem;
		font-weight: bold;	
	}
	
	.seccion-plan-recomendado p.rec{
		margin-top: 4.7rem;
		color: #ff0000;
		padding: 0 20px;
	}
	
	.seccion-plan-recomendado a{
		padding: 23px 44px;
		border-radius: 40px;
		background-color: #F4B000;
		color: #000000;
		border: none;
		font-weight: 500;
		transition: background-color 0.25s ease, color 0.25s ease;
		margin: 0 10px;
	}
	
	.seccion-plan-recomendado a:hover{
		background-color: #1A5A3D;
		color: #ffffff;
	}
	
	
	
	/* =====================================================
	   CONDICIÃ“N CORPORAL â€“ layout interno correcto
	===================================================== */

	.slide-condicion-peso .radio-text{
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:4px;
	}

	.slide-condicion-peso .radio-text > div:first-child{
		display:flex;
		align-items:center;
		gap:6px;
		justify-content:center;
	}

	.slide-condicion-peso .radio-text small{
		text-align:center;
		display:block;
		max-width:160px;
	}
	
	.slide-condicion-peso .form-check-label{
		min-height:120px;
	}
	
	.slide-condicion-peso .form-check-label{
		min-height:120px;
	}
	
	.slide-condicion-peso .form-check {
		white-space: normal;
	}
	
	/* =====================================================
	   CONDICIÃ“N CORPORAL â€“ FIX COMPLETO
	===================================================== */

	/* Permitir wrap y centrar grid */
	.slide-condicion-peso .option-row {
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
		/*max-width: 760px;*/
		margin-left: auto;
		margin-right: auto;
	}

	/* Cards con tamaÃ±o consistente */
	.slide-condicion-peso .option-row .form-check {

		/*width: 250px;*/
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;

		white-space: normal; /* evita desbordes */
		text-align: center;
	}

	/* Label estructura vertical */
	.slide-condicion-peso .form-check-label {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;
		padding: 16px;
	}

	/* Imagen */
	.slide-condicion-peso .form-check-label img {
		width: 90%;
		height: auto;
		display: block;
	}

	/* Bloque texto */
	.slide-condicion-peso .radio-text {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px;
	}

	/* LÃ­nea del radio + tÃ­tulo */
	.slide-condicion-peso .radio-text > div:first-child {

		display: flex;
		align-items: center;
		gap: 6px;
		justify-content: center;
	}

	/* Texto pequeÃ±o */
	.slide-condicion-peso small {

		display: block;
		font-size: 0.8rem;
		line-height: 1.2;
		color: #6c757d;
	}
	
	.slide-condicion-peso input[type="radio"]{
		margin: 0;
		width: unset;
	}

	#grupoPesoIdeal p.text-muted{
		/*width: 20%;*/
		margin: 0 auto 20px;
	}

	@media(max-width: 767px){
		#grupoPesoIdeal p.text-muted{
			width: 90%;
		}	
	}

	@media (max-width: 1023px) and (min-width: 768px){

		.slide-condicion-peso .option-row{
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 16px;
			max-width: 640px;
			margin: 0 auto;
		}

		.slide-condicion-peso .option-row .form-check{
			width: 100%;
		}

		.slide-condicion-peso .form-check-label img{
			width: 100%;
			max-width: 220px;
		}
		
		#grupoPesoIdeal p.text-muted{
			/*width: 18%;*/
        	margin: 0 auto;
			padding: 0 20px;
		}

	}

	@media(max-width: 1023px) and (min-width: 768px){
		.slide-salud .option-row {
			flex-direction: row;
		}
		
		.slide-salud .option-row .form-check{
			
		}
	}

	/* imagen de bottom */
	@media(min-width: 1200px){
		.resimgwide{
			display: block;
		}
		
		.resimgmid{
			display: none;
		}
		
		.resimgshort{
			display: none;
		}
	}
	
	@media(max-width: 1199px) and (min-width: 768px){
		.resimgwide{
			display: none;
		}
		
		.resimgmid{
			display: contents;
		}
		
		.resimgshort{
			display: none;
		}
	}
	
	@media(max-width: 767px){
		.resimgwide{
			display: none;
		}
		
		.resimgmid{
			display: none;
		}
		
		.resimgshort{
			display: contents;
		}
	}

	/* =====================================================
	   RESPONSIVE
	===================================================== */

	@media (max-width: 640px) {

		.slide-condicion-peso .option-row {

			flex-direction: column;
			align-items: center;
		}

		.slide-condicion-peso .option-row .form-check {

			width: 240px;
		}
	}
	
	@media (max-width: 425px) {

		.radio-vertical .form-check {
			display: flex;
			align-items: flex-start;
			gap: 8px;
		}

		.radio-vertical .form-check-label {
			line-height: 1.35;
		}

	}
	
	@media (max-width: 375px){

		.slide h4{
			font-size: 1.15rem;
		}

	}
	
	/* =================================
	ðŸ“± MICRO AJUSTE GLOBAL MOBILE WIZARD
	================================= */

	@media (max-width: 480px) {

		/* evitar desbordes de texto en todo el wizard */
		.slide h4,
		.slide p,
		.form-check-label {
			word-break: break-word;
			white-space: normal;
			line-height: 1.35;
		}

		/* radios y checkboxes alineados correctamente */
		/*.form-check {
			display: flex;
			align-items: flex-start;
			gap: 8px;
		}*/

		.form-check-input {
			margin-top: 4px;
			flex-shrink: 0;
		}

		.form-check-label {
			flex: 1;
		}

		/* contenedor de opciones */
		.option-row {
			width: 100%;
			padding-left: 8px;
			padding-right: 8px;
		}

		/* cards de opciones mÃ¡s compactas */
		.checkbox-card,
		.radio-card {
			padding: 16px 20px;
			border-radius: 28px;
		}

		/* inputs numÃ©ricos (peso, etc.) */
		input[type="number"] {
			max-width: 140px;
			margin: auto;
		}

		/* imÃ¡genes de preguntas */
		.question-img {
			max-width: 180px;
			margin-bottom: 10px;
		}

	}

	@media(max-width: 767px){
		.slide-peso-actual h4 {
			margin-top: 3dvh;
			margin-bottom: 1.5dvh;
		}	
	}
	
	@media (max-width: 425px){

		.slide-pers-raza .option-row{
			display: grid;
			grid-template-columns: 1fr;
			gap: 12px;
		}

		.slide-pers-raza .form-check{
			width: 100%;
		}
		
		.option-row .form-check:has(img) img{
			/*max-height: unset !important;*/
		}
		
		.slide-pers-raza .form-check-label{
			width:100%;
		}

	}

	/* ======================================
		COMPORTAMIENTO EN MÃ“VILES
	======================================== */
	@media (max-width: 480px){

		.nav-links{
			position: relative;
			bottom: 0;
			padding: 12px 16px;
			margin-top: 4dvh;
			display: flex;
			justify-content: space-between;
			z-index: 20;
		}
		
		#seccion-yo .nav-links{
			justify-content: center;
		}
		
		.nav-links .btn, .slide .next, .slide .prev{
			padding: 23px 24px;
		}

	}
	
	@media (max-width: 480px){

		.form-check-label{
			transition: transform .08s ease, box-shadow .08s ease;
		}

		.form-check-label:active{
			transform: scale(.97);
		}

	}
	
	@media (max-width: 425px){

		.slide-actividad .option-row{
			display: grid;
			grid-template-columns: 1fr;
			gap: 12px;
		}

		.slide-actividad .form-check{
			width: 100%;
		}

		.slide-actividad .form-check-label{
			width: 100%;
		}

	}
	
	@media (max-width: 425px){

		.slide-actividad .option-row{
			display: flex;
			flex-direction: column;
			gap: 12px;
		}

		.slide-actividad .form-check{
			width: 100%;
		}

		.slide-actividad .form-check-label{
			width: 100%;
			display: flex;
			align-items: center;
			gap: 12px;
		}

	}
	
	/* ðŸ”’ LOCK FINAL FORM-CHECK */
	/*.form-check {
		display: flex !important;
		align-items: center !important;
		gap: 0 !important;
	}*/

	.form-check-input + .form-check-label {
		margin-left: 5px !important;
	}
	
	/* fallback para :has() */
	.form-check.is-checked {
		background-color: #FFE7B0;
		border-color: #c9a54b;
	}
	
	/* CF7 override */
	.wpcf7-not-valid {
		border-bottom: 1px dotted #ff0000 !important;
	}

	.wpcf7-not-valid-tip {
		font-size: 0.8rem;
		margin-top: 4px;
	}
	
	/* GLICH EN TRACK */
	.track {
		will-change: transform;
	}
	
	/* GLITCH EN BOTONES DISABLED */
	.slide .next:disabled {
		opacity: 0.5;
		cursor: not-allowed;
		pointer-events: none;
	}
	
	/* GLITCH EN EDAD */
	.edad-select::before,
	.edad-select::after {
		pointer-events: none;
	}

/**********************************************
TODA OTRA COSA A PARTIR DEL CSS QUE SÃ FUNCIONA
**********************************************/

.page-id-8267 .site-content{
	/*display: flex;
	justify-content: center;*/
}

.page-id-8267 .col-full{
	margin: 0;
	padding: 0;	
	max-width: unset;
}

.page-id-8267 .elementor-column-gap-default{
	margin: 0 auto;
}

/* ==============================
   SLIDE EDAD â€“ MI PERRO (REFRESH)
============================== */

.slide-edad {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    overflow: visible; /* aseguramos que no corte nada */
    padding-bottom: 80px; /* manteniendo coherencia con .slide */
}

/* Imagen del perrito centrada */
.slide-edad img.img-fluid {
    display: block;
    margin: 0 auto 1.5rem;
    max-width: 300px;
    height: auto;
}

/* Contenedor de selects centrado */
.slide-edad .row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 100%;
    max-width: 280px; /* ancho controlado de selects */
	margin: 0 auto;
}

/* Selects â€“ estilo limpio y centrado */
.edad-select {
    width: 100%;
    position: relative;
    margin: 0 auto;
}

.edad-select select {
    width: 100%;
    border: none;
    border-bottom: 1px dotted #000000;
    border-radius: 0;
    background: transparent;
    color: #1A5A3D;
    text-align: center;
    padding-right: 30px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    box-shadow: none;
}

/* Flechas personalizadas */
.edad-select::before,
.edad-select::after {
    content: "";
    position: absolute;
    right: 10px;
    width: 0;
    height: 0;
    pointer-events: none;
}

.edad-select::before {
    top: 37%;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 6px solid #1A5A3D;
}

.edad-select::after {
    top: 63%;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #1A5A3D;
}

/* Focus select */
.edad-select select:focus {
    background-color: #1A5A3D;
    color: #ffffff;
}

/* Texto dinÃ¡mico del nombre del perro */
.dog-name {
    color: #1A5A3D;
    font-weight: 600;
}

/* Mensaje de edad mÃ­nima */
#edadMsg {
    text-align: center;
    padding: 0 10px;
    /*width: 30%;*/
    margin: 20px auto;
	color: #4f4f4f;
}

@media(max-width: 1023px){
	#edadMsg{
		/*width: 18%;*/
	}
}

@media(max-width: 767px){
	#edadMsg{
		width: 100%;
	}
}

@media(max-width: 767px){
	#pesoIdealMsg1{
		margin-bottom: 20px;
	}
}

/* NavegaciÃ³n centrada */
.slide-edad .nav-links {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 5dvh;
}

@media(max-width: 1023px){
	#pesoActualMsg{
		/*width: 18%;*/
    	margin: 40px auto 0;
	}
}

@media(max-width: 767px){
	#pesoActualMsg{
		width: 100%;
	}
}

/* Mantener compatibilidad responsiva */
@media (max-width: 768px) {
    .slide-edad .row {
        max-width: 250px;
        gap: 0.8rem;
    }

    .slide-edad img.img-fluid {
        max-width: 240px;
        margin-bottom: 1rem;
    }

    .edad-select select {
        font-size: 0.95rem;
    }
}

@media (max-width: 425px) {
    .slide-edad .row {
       /* max-width: 180px;*/
    }

    .slide-edad img.img-fluid {
        max-width: 180px;
        margin-bottom: 0.8rem;
    }

    .edad-select select {
        font-size: 0.9rem;
    }
}

/* ==============================
   PERSONALIDAD + RAZA â€“ FIX REAL
============================== */

/* Cada opciÃ³n centrada */
.slide-pers-raza .form-check {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
}

/* Label como bloque vertical */
.slide-pers-raza .form-check-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    cursor: pointer;
    text-align: center;
}

/* Imagen SIN tocar tamaÃ±o */
.slide-pers-raza .form-check-label img {
    display: block;
    margin: 0 auto;
}

/* Contenedor radio + texto */
.slide-pers-raza .radio-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

/* ðŸ”¥ RESET DURO BOOTSTRAP */
.slide-pers-raza .form-check-input {
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}

/* Asegura que el texto no se desplace */
.slide-pers-raza .radio-text input {
    margin: 0;
	width: unset;
}

/* SLIDE ESTERILIZADO */
.slide-esterilizado .wpcf7-list-item {
    display: flex;
    justify-content: center;
	float: left;
}

.slide-esterilizado .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

/* radio a la izquierda, texto a la derecha */
.slide-esterilizado .wpcf7-list-item input[type="radio"] {
    margin: 0;
    width: auto;
}

/* texto */
.slide-esterilizado .wpcf7-list-item-label {
    display: inline-block;
}

.pbtitulo.mi-perro-txt{
	margin-left: 30px;
}

@media(max-width: 1023px){
	.pbtitulo.mi-perro-txt{
		margin-left: unset;
	}	
}

/*#grupoPesoIdeal input,
#grupoPesoIdeal p {
    display: block;
}*/

/* =====================================================
   SLIDE ACTIVIDAD â€“ FIX SIN ROMPER WIZARD
===================================================== */

/* SOLO estructura interna, no tocar cards */
.slide-actividad .radio-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

/* ðŸ”¥ radio + texto alineados correctamente */
.slide-actividad .radio-text > div:first-child {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

/* evitar que el radio flote */
.slide-actividad .radio-text input[type="radio"] {
	margin: 0;
	position: static;
	transform: none;
}

/* texto */
.slide-actividad small {
	text-align: center;
	display: block;
}

/* =========================================
   SLIDE COMPORTAMIENTO â€“ FIX LIMPIO
========================================= */

/* Card vertical correcta */
.slide-comportamiento .form-check {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* Label ocupa toda la card */
.slide-comportamiento .form-check-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 14px 16px;
}

/* Imagen arriba */
.slide-comportamiento .form-check-label img {
	display: block;
	max-height: 180px;
	height: auto;
}

/* Contenedor radio + texto */
.slide-comportamiento .radio-text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

/* Radio en posiciÃ³n natural (NO flotando) */
.slide-comportamiento .form-check-input {
	position: static !important;
	transform: none !important;
	margin: 0 !important;
}

/* Evitar que el texto se rompa feo */
.slide-comportamiento .radio-text {
	white-space: normal;
	text-align: center;
}

@media(max-width: 1023px) and (min-width: 768px){
	.slide-comportamiento .option-row {
		display: grid;
        grid-template-columns: repeat(2, 1fr);
        max-width: 640px;
        margin: 0 auto;
	}
}

/* =========================================
   SLIDE TIPO COMIDA â€“ CHECKBOX MÃS PEQUEÃ‘O
========================================= */

.slide-tipo-comida .form-check {
	display: flex;
	align-items: center;
	gap: 8px;
}

.slide-tipo-comida .form-check-input {
	transform: scale(0.8);
	margin-right: 6px;
}

.slide-tipo-comida input[type="checkbox"] {
	padding: 14px;
}

/* =======================================
	SLIDE GUSTITOS
======================================= */
.slide-gustitos img{
	margin: 0 auto;
}

/* ======================================
	SLIDE SALUD
====================================== */
.slide-salud .form-check-input{
	padding: 14px !important;
}

/* ======================================
	SLIDE DIETA
====================================== */
.slide-dieta .form-check-input{
	width: unset;
	padding: 14px !important;
}

/* =====================================
	SLIDE RESULTADOS
===================================== */

/* dejar que crezca natural */
/* cuando estÃ¡s en resultados */
#seccion-resultados,
#seccion-plan-recomendado {
	/*min-height: 100vh;*/
}

#seccion-resultados .container,
#seccion-plan-recomendado .container {
	position: relative;
	z-index: 2;
	margin: 0;
    padding: 0;
}

.resultado .row{
	display: flex;
    flex-direction: column;
    align-items: center;
}

.resultado .row img{
	margin: 0 auto;
}

/*.resultado*/  
.resnum,
.resnum.row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 10px;
	text-align: center;
}

@media(max-width: 767px){
	.resnum, .resnum.row {
		flex-direction: column !important;
		gap: 0;
	}
	
	.resnum .col-sm-2 {
		display: none;
	}
}

/* columnas â†’ neutralizadas */
.resnum > div {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
}

/*.resnum .col-sm-5,
.resnum .col-sm-2,
.btns .col-sm-5,
.btns .col-sm-2 {
	flex: unset;
	max-width: unset;
}*/

.resnum .col-sm-2 {
	flex: 0 0 auto !important;
	width: auto !important;
}

.resnum strong {
	font-size: 28px;
}

.v-divider {
	width: 1px;
	height: 60px;
	background: #ccc;
	border-left: 2px solid #1a5a3d;
	margin: 0 auto;
	display: inline-block;
}

@media(max-width: 767px){
	.v-divider{
		display: none;
	}
}

.btns {
	display: flex !important;
    flex-direction: row !important;
    gap: 40px;
    margin: 3.9rem auto;
    justify-content: center;
    width: 100%;
}

.seccion-plan-recomendado .btns {
	display: block !important;
    flex-direction: unset !important;
    margin: 3.9rem auto;
    width: unset;
}

.btns > div {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
}

@media(max-width: 767px){
	.btns > div {
		display: grid;
	}
}

/* botÃ³n enviar*/
button.enviar.loading {
    opacity: 0.7;
    pointer-events: none;
    position: relative;
}

button.enviar.loading::after {
    content: '...';
    margin-left: 8px;
    animation: dots 1s infinite;
}

@keyframes dots {
    0% { content: '.'; }
    33% { content: '..'; }
    66% { content: '...'; }
}

/* persistencia */
.resume-box{
    background:#fff3cd;
    border:1px solid #ffeeba;
    padding:15px;
    border-radius:10px;
    margin: 0 20px 15px;
	text-align: center;
}

.resume-actions{
   	display: flex;
	gap: 10px;
	margin-top: 10px;
	justify-content: center;
}

.resume-actions button{
    padding:8px 14px;
    border:none;
    border-radius:6px;
    cursor:pointer;
}

#resumeContinue{
    background:#28a745;
    color:#fff;
}

#resumeReset{
    background:#dc3545;
    color:#fff;
}

.page-id-8267 section{
	margin: 0 !important;
    width: 100% !important;
}

.page-id-8267 .elementor-column-gap-default>.elementor-column>.elementor-element-populated{
	padding: 0 !important;
}

.page-id-8267 #wizard-cf7 .container{
	padding: 0 !important;
	max-width: unset;
}

.page-id-8267 .wpcf7-response-output{
	display: none !important;
}

.page-id-8267 #cf7-success{
	text-align: center;
    margin: 50px 0 0;
}

.page-id-8267 .site-content{
	margin-bottom: 0 !important;
}


.page-id-8267 footer{
	margin-top: 40px;
}

@media (max-width: 767px) {
    .page-id-8267 .elementor-2144 .elementor-element.elementor-element-6bc6c32:not(.elementor-motion-effects-element-type-background), .elementor-2144 .elementor-element.elementor-element-6bc6c32 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
        background-position: -570px 0px;
    }
}

.slide label{
	font-size: 1.41575em;
}

.slide-edad .edad-title {
	font-size: 1.41575em;
    color: #1A5A3D;
    font-weight: bold;
}

.page-id-8267 .elementor-element-6bc6c32{
	margin: 0;
}

.slide-esterilizado label{
	font-size: 16px;
}

@media(max-width: 767px){
	.respollo, .resres{
		padding: 0 0 20px;
	}
	.resnum .v-divider{
		display: none;
	}
}

.imgfoot{
	margin-top: 40px;
}

.elementor-element-8b86957 a, 
.elementor-element-01f186a a{
	color: #F5B100 !important;
}

@media (min-width:768px) and (max-width:1023px){

    .slide .form-check{
        white-space: normal;
    }

}