/* Mi Shihtzulandia 1.1.1 — capa final de legibilidad. */
.szl-mi { font-size: 16px; }

.szl-mi p,
.szl-mi-section-heading p,
.szl-mi-feature-grid p,
.szl-passport-identity p,
.szl-medical-timeline p,
.szl-care-next p,
.szl-care-info p,
.szl-emergency-main p,
.szl-life-pet p,
.szl-life-notice p,
.szl-life-goal-copy p,
.szl-life-disclaimer,
.szl-passport-privacy {
	font-size: 16px !important;
	line-height: 1.55;
}

/* 1.2.9 — corrección responsive para teléfonos con vista móvil real. */
@media (max-width: 760px) {
	.szl-mi,
	.szl-mi * {
		box-sizing: border-box;
		max-width: 100%;
	}

	.szl-mi {
		width: calc(100% - 8px) !important;
		margin-right: 4px !important;
		margin-left: 4px !important;
		overflow-x: hidden !important;
		font-size: 16px !important;
	}

	.szl-mi-hero {
		width: 100% !important;
		gap: 18px !important;
		padding: 22px 16px !important;
	}

	.szl-mi-profile {
		display: grid !important;
		grid-template-columns: 74px minmax(0, 1fr) !important;
		align-items: start !important;
		gap: 14px !important;
		width: 100% !important;
	}

	.szl-mi-avatar {
		width: 74px !important;
		height: 74px !important;
	}

	.szl-mi-profile > div {
		min-width: 0 !important;
	}

	.szl-mi-profile h1 {
		margin-top: 4px !important;
		font-size: clamp(29px, 9vw, 36px) !important;
		line-height: 1.08 !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	.szl-mi p,
	.szl-mi li,
	.szl-mi time,
	.szl-mi-section-heading p,
	.szl-mi-feature-grid p,
	.szl-mi .szl-pet-body p,
	.szl-mi .szl-pet-body small,
	.szl-mi [class*="privacy"],
	.szl-mi [class*="disclaimer"] {
		font-size: 17px !important;
		line-height: 1.48 !important;
	}

	.szl-mi small,
	.szl-mi label,
	.szl-mi [class*="eyebrow"],
	.szl-mi [class*="kicker"],
	.szl-mi-profile > div > span,
	.szl-mi-section-heading > div > span {
		font-size: 15px !important;
	}

	.szl-mi button,
	.szl-mi a,
	.szl-mi input,
	.szl-mi select,
	.szl-mi textarea {
		font-size: 16px !important;
		line-height: 1.35 !important;
	}

	.szl-mi button,
	.szl-mi a[class],
	.szl-mi input,
	.szl-mi select {
		min-height: 46px !important;
	}

	.szl-mi-membership {
		min-height: 72px !important;
		padding: 14px 16px !important;
	}

	.szl-mi-membership > span { font-size: 28px !important; }
	.szl-mi-membership strong { font-size: 21px !important; }

	.szl-mi-content {
		width: 100% !important;
		padding: 20px 12px !important;
	}

	.szl-mi-section-heading {
		align-items: stretch !important;
		flex-direction: column !important;
		gap: 14px !important;
	}

	.szl-mi-section-heading > div {
		width: 100% !important;
		min-width: 0 !important;
	}

	.szl-mi-section-heading h2,
	.szl-mi [class$="-heading"] h2 {
		font-size: clamp(27px, 8vw, 34px) !important;
		line-height: 1.15 !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	.szl-mi-section-heading .szl-mi-primary,
	.szl-mi-section-heading .szl-mi-secondary {
		align-self: flex-start !important;
		width: auto !important;
		max-width: 100% !important;
		white-space: normal !important;
	}

	.szl-mi .szl-pet-card {
		grid-template-columns: minmax(145px, 44%) minmax(0, 1fr) !important;
		min-height: 300px !important;
	}

	.szl-mi .szl-pet-thumb {
		width: 100% !important;
		min-height: 300px !important;
		object-fit: cover !important;
		object-position: center !important;
	}
	.szl-mi .szl-pet-body { padding: 18px 14px !important; }
	.szl-mi .szl-pet-body h3 { font-size: 27px !important; }

	.szl-mi-feature-grid article {
		grid-template-columns: 58px minmax(0, 1fr) !important;
		gap: 13px !important;
		min-height: 138px !important;
		padding: 18px 14px !important;
	}

	.szl-mi-feature-icon {
		width: 58px !important;
		height: 58px !important;
		font-size: 28px !important;
	}

	.szl-mi-feature-grid h3 { font-size: 23px !important; }
}

.szl-mi small,
.szl-mi label,
.szl-mi button,
.szl-mi a,
.szl-mi input,
.szl-mi select,
.szl-mi textarea,
.szl-mi time,
.szl-mi li,
.szl-mi [class*="eyebrow"],
.szl-mi [class*="kicker"] {
	font-size: 14px !important;
}

.szl-mi-account-actions {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: stretch;
	gap: 9px;
}

.szl-mi-logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 18px;
	border: 1px solid var(--mi-gold);
	border-radius: 999px;
	background: #fffdf9;
	color: var(--mi-brown) !important;
	font-weight: 800;
	text-decoration: none !important;
	box-shadow: 0 6px 16px rgba(56,33,22,.08);
}

.szl-mi-logout:hover,
.szl-mi-logout:focus-visible {
	background: var(--mi-brown);
	color: #fff !important;
}

@media (max-width: 760px) {
	.szl-mi-hero { flex-direction: column; }
	.szl-mi-profile p { display: block; }
	.szl-mi-account-actions,
	.szl-mi-membership,
	.szl-mi-logout { width: 100%; }
	.szl-mi-membership div { display: block; }
}

/* 1.2.6 — estándar móvil accesible de Shihtzulandia. */
@media (min-width: 761px) and (max-width: 930px), (min-width: 761px) and (hover: none) and (pointer: coarse) {
	.szl-mi {
		font-size: 24px !important;
	}

	.szl-mi p,
	.szl-mi li,
	.szl-mi time,
	.szl-mi-section-heading p,
	.szl-mi-feature-grid p,
	.szl-mi .szl-pet-body p,
	.szl-mi .szl-pet-body small,
	.szl-mi [class*="privacy"],
	.szl-mi [class*="disclaimer"] {
		font-size: 24px !important;
		line-height: 1.55 !important;
	}

	.szl-mi small,
	.szl-mi label,
	.szl-mi [class*="eyebrow"],
	.szl-mi [class*="kicker"],
	.szl-mi-profile > div > span,
	.szl-mi-section-heading > div > span {
		font-size: 20px !important;
		line-height: 1.4 !important;
	}

	.szl-mi button,
	.szl-mi a,
	.szl-mi input,
	.szl-mi select,
	.szl-mi textarea {
		font-size: 21px !important;
		line-height: 1.35 !important;
	}

	.szl-mi button,
	.szl-mi a[class],
	.szl-mi input,
	.szl-mi select {
		min-height: 54px;
	}

	.szl-mi-hero {
		gap: 26px !important;
		padding: 30px 24px !important;
	}

	.szl-mi-profile {
		align-items: flex-start !important;
		gap: 22px !important;
	}

	.szl-mi-avatar {
		width: 92px !important;
		height: 92px !important;
	}

	.szl-mi-profile h1 {
		font-size: 50px !important;
		line-height: 1.12 !important;
		overflow-wrap: anywhere;
	}

	.szl-mi-membership {
		min-height: 92px !important;
		padding: 18px 21px !important;
	}

	.szl-mi-membership > span {
		font-size: 38px !important;
	}

	.szl-mi-membership strong {
		font-size: 28px !important;
	}

	.szl-mi-stats {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	.szl-mi-stats > div {
		min-height: 82px !important;
		padding: 18px 22px !important;
	}

	.szl-mi-stats span {
		width: 50px !important;
		height: 50px !important;
		font-size: 30px !important;
	}

	.szl-mi-stats strong {
		font-size: 34px !important;
	}

	.szl-mi-nav {
		position: relative !important;
		top: auto !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 10px !important;
	}

	.szl-mi-nav button {
		flex-direction: row !important;
		gap: 9px !important;
		min-height: 76px !important;
		padding: 12px 9px !important;
		font-size: 22px !important;
	}

	.szl-mi-nav button span {
		font-size: 28px !important;
	}

	.szl-mi-content {
		padding: 26px 20px !important;
	}

	.szl-mi-section-heading {
		align-items: flex-start !important;
		flex-direction: column !important;
	}

	.szl-mi-section-heading h2,
	.szl-mi [class$="-heading"] h2 {
		font-size: 44px !important;
		line-height: 1.15 !important;
	}

	.szl-mi-section-heading .szl-mi-primary,
	.szl-mi-section-heading .szl-mi-secondary {
		width: 100% !important;
		white-space: normal !important;
	}

	.szl-mi .szl-pet-grid,
	.szl-mi-feature-grid,
	.szl-mi .szl-form-grid {
		grid-template-columns: 1fr !important;
	}

	.szl-mi .szl-pet-card {
		grid-template-columns: 155px minmax(0,1fr) !important;
		min-height: 260px !important;
	}

	.szl-mi .szl-pet-thumb {
		min-height: 260px !important;
	}

	.szl-mi .szl-pet-body {
		padding: 24px 20px !important;
	}

	.szl-mi .szl-pet-body h3 {
		font-size: 38px !important;
		line-height: 1.18 !important;
	}

	.szl-mi .szl-state {
		font-size: 19px !important;
	}

	.szl-mi .szl-card-actions a,
	.szl-mi-qr-toggle {
		padding: 11px 15px !important;
		font-size: 20px !important;
	}

	.szl-mi-feature-grid article {
		grid-template-columns: 76px minmax(0,1fr) !important;
		gap: 18px !important;
		min-height: 175px !important;
		padding: 24px !important;
	}

	.szl-mi-feature-icon {
		width: 76px !important;
		height: 76px !important;
		font-size: 36px !important;
	}

	.szl-mi-feature-grid h3 {
		font-size: 31px !important;
		line-height: 1.2 !important;
	}

	.szl-mi-feature-grid article > span,
	.szl-mi-feature-open,
	.szl-mi-feature-upgrade {
		grid-column: 2 !important;
		justify-self: stretch !important;
		width: 100% !important;
		font-size: 20px !important;
		text-align: center !important;
	}

	.szl-mi input,
	.szl-mi select,
	.szl-mi textarea {
		min-height: 58px !important;
		padding: 13px 15px !important;
	}

	.szl-mi [class$="-picker"] button {
		min-height: 64px !important;
		font-size: 20px !important;
	}
}
