/*
Theme Name: Bliss Clinical
Theme URI: https://www.blissclinical.cl/
Author: Media Mavens
Description: Tema de bloques a medida para Clínica Bliss (Talagante).
Version: 0.2.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: bliss
*/

/* Botón principal: degradado del logo */
.bliss-gradient-btn .wp-block-button__link {
	background: linear-gradient(90deg, #147A57, #0F737A);
	color: #fff;
}
.has-teal-color {
	color: #0F737A !important;
}

/* Cabecera */
.bliss-site-header {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid rgba(28, 68, 124, .08);
	box-shadow: 0 8px 28px rgba(28, 68, 124, .04);
}
.bliss-site-header > .wp-block-group {
	min-height: 54px;
}
.bliss-site-header .wp-block-site-logo img {
	display: block;
}
.bliss-site-header .wp-block-navigation-item__content,
.bliss-header-actions .wp-block-button__link {
	font-weight: 650;
}
.bliss-site-header .bliss-mobile-actions {
	display: none !important;
}

/* Hero */
.bliss-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 92% 12%, rgba(24, 168, 176, .11) 0 10rem, transparent 10.1rem),
		linear-gradient(180deg, #fff 0%, #fbfefe 100%);
}
.bliss-hero::before {
	content: "";
	position: absolute;
	width: 18rem;
	height: 18rem;
	left: -10rem;
	bottom: -11rem;
	border: 2.5rem solid rgba(32, 176, 120, .07);
	border-radius: 48% 52% 55% 45%;
	transform: rotate(18deg);
}
.bliss-hero > .wp-block-columns {
	position: relative;
	z-index: 1;
}
.bliss-hero h1 {
	max-width: 11ch;
	margin-top: .7rem;
	margin-bottom: 1.25rem;
	font-size: clamp(3.1rem, 5vw, 4.25rem) !important;
	line-height: 1.04;
	letter-spacing: -.045em;
}
.bliss-hero__content > p.has-large-font-size {
	max-width: 35rem;
	font-size: clamp(1.15rem, 1.7vw, 1.35rem) !important;
	line-height: 1.55;
}
.bliss-hero__visual {
	position: relative;
	min-height: 620px;
	padding-left: 4.5rem;
}
.bliss-hero .bliss-hero__photo {
	margin: 0;
}
.bliss-hero .bliss-hero__photo img {
	display: block;
	border-radius: 38px 38px 104px 38px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	height: auto;
	box-shadow: 0 28px 64px rgba(28, 68, 124, .16);
}
.bliss-hero__miniatures {
	display: grid;
	grid-template-columns: 140px 116px;
	align-items: end;
	gap: .75rem;
	position: absolute;
	left: 0;
	bottom: 1.5rem;
}
.bliss-hero__miniatures figure {
	margin: 0;
	padding: .4rem;
	border-radius: 25px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(28, 68, 124, .2);
}
.bliss-hero__miniatures figure:first-child {
	transform: rotate(-4deg);
}
.bliss-hero__miniatures figure:last-child {
	transform: translateY(1.5rem) rotate(3deg);
}
.bliss-hero__miniatures img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 19px;
	object-fit: cover;
}
.bliss-badges p {
	background: var(--wp--preset--color--mist);
	border-radius: 999px;
	padding: .35rem .9rem;
	margin: 0;
	font-size: .9rem;
	color: var(--wp--preset--color--navy);
}

/* Tarjetas */
.bliss-card {
	background: var(--wp--preset--color--white);
	border-radius: 24px;
	padding: 1.75rem;
	height: 100%;
	box-sizing: border-box;
	box-shadow: 0 1px 2px rgba(28, 68, 124, .06), 0 8px 24px rgba(28, 68, 124, .06);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.bliss-card--mist {
	background: var(--wp--preset--color--mist);
	box-shadow: none;
}
.bliss-card h3 { margin-top: 0; }

/* Tratamientos */
.bliss-treatment img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}
.bliss-treatment {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	border: 1px solid rgba(28, 68, 124, .08);
}
.bliss-treatment:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 40px rgba(28, 68, 124, .13);
}
.bliss-treatment__icon {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin: 0 0 1.1rem;
	border-radius: 22px;
	background: var(--wp--preset--color--mist);
}
.bliss-card--mist .bliss-treatment__icon {
	background: #fff;
}
.bliss-treatment h3 {
	margin-bottom: .65rem;
	font-size: clamp(1.28rem, 1.7vw, 1.45rem) !important;
	word-break: keep-all;
	overflow-wrap: normal;
	hyphens: none;
}
.bliss-treatment h3 a {
	text-decoration: none;
}
.bliss-treatment__description {
	margin: 0 0 1.35rem;
}
.bliss-treatment__actions {
	margin-top: auto;
}
.bliss-treatment__more .wp-block-button__link {
	min-height: 44px;
	padding: .7rem 1.15rem;
	border: 1.5px solid var(--wp--preset--color--teal);
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--teal);
	font-size: .95rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.bliss-treatment__more .wp-block-button__link:hover,
.bliss-treatment__more .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--white);
	transform: translateY(-1px);
}
.bliss-treatment--featured {
	border: 2px solid var(--wp--preset--color--teal);
}
.bliss-treatment--featured::after {
	content: "Destacado";
	position: absolute;
	top: 1rem;
	right: 1rem;
	padding: .3rem .55rem;
	border-radius: 999px;
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--navy);
	font-size: .68rem;
	font-weight: 750;
}

/* Equipo */
.bliss-team {
	display: flex;
	flex-direction: column;
}
.bliss-team .wp-block-image {
	margin: 0 0 1.25rem;
}
.bliss-team img {
	border-radius: 24px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: top;
	width: 100%;
	height: auto;
}
.bliss-team .bliss-team__reg {
	margin-top: auto;
	padding: .8rem .9rem;
	border: 1px solid rgba(24, 168, 176, .18);
	border-radius: 16px;
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--navy);
	font-size: .8rem;
	font-weight: 650;
	line-height: 1.4;
}
.bliss-team .bliss-team__reg::before {
	content: "✓";
	display: inline-grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	margin-right: .4rem;
	border-radius: 50%;
	background: var(--wp--preset--color--green);
	color: #fff;
	font-size: .7rem;
}

/* Fotos redondeadas genéricas */
.bliss-rounded img {
	border-radius: 24px;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* Mapa */
.bliss-map iframe {
	width: 100%;
	height: 360px;
	border: 0;
	border-radius: 24px;
}

/* Franja de urgencias */
.bliss-urgent a { text-decoration: underline; }

/* Páginas interiores y preguntas frecuentes */
.bliss-inner-hero {
	position: relative;
	overflow: hidden;
	padding: 4.5rem max(1.25rem, calc((100vw - 1200px) / 2));
	background:
		radial-gradient(circle at 96% 5%, rgba(24, 168, 176, .14) 0 11rem, transparent 11.1rem),
		linear-gradient(135deg, #eef8f8 0%, #fff 68%);
}
.bliss-inner-hero::before {
	content: "";
	position: absolute;
	width: 15rem;
	height: 15rem;
	left: -8rem;
	bottom: -10rem;
	border: 2.5rem solid rgba(32, 176, 120, .08);
	border-radius: 46% 54% 58% 42%;
	transform: rotate(18deg);
}
.bliss-inner-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr);
	align-items: center;
	gap: clamp(3rem, 7vw, 6.5rem);
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin-inline: auto;
}
.bliss-inner-hero__eyebrow {
	margin: 0 0 .8rem;
	color: #0F737A;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.bliss-inner-hero h1 {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(3rem, 5vw, 4.35rem);
	line-height: 1.04;
	letter-spacing: -.045em;
}
.bliss-inner-hero__lead {
	max-width: 40rem;
	margin: 1.35rem 0 0;
	font-size: clamp(1.08rem, 1.6vw, 1.28rem);
	line-height: 1.55;
}
.bliss-inner-hero__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 1.6rem;
}
.bliss-inner-hero__fact {
	margin: 0;
	padding: .65rem .9rem;
	border: 1px solid rgba(24, 168, 176, .18);
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	color: var(--wp--preset--color--navy);
	font-size: .9rem;
	font-weight: 700;
}
.bliss-inner-hero__fact span {
	color: #147A57;
}
.bliss-inner-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: .65rem 1.2rem;
	border-radius: 999px;
	background: linear-gradient(90deg, #147A57, #0F737A);
	color: #fff !important;
	font-weight: 750;
	text-decoration: none;
}
.bliss-inner-hero__visual {
	position: relative;
	min-height: 430px;
}
.bliss-inner-hero__main-photo {
	display: block;
	width: calc(100% - 2.25rem);
	height: 430px;
	margin-left: auto;
	border-radius: 34px 34px 92px 34px;
	object-fit: cover;
	object-position: center 28%;
	box-shadow: 0 24px 54px rgba(28, 68, 124, .16);
}
.bliss-inner-hero__mini-photo {
	position: absolute;
	left: -1rem;
	bottom: 1.4rem;
	width: 132px;
	padding: .4rem;
	border-radius: 25px;
	background: #fff;
	box-shadow: 0 18px 38px rgba(28, 68, 124, .2);
	transform: rotate(-4deg);
}
.bliss-inner-hero__mini-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 19px;
	object-fit: cover;
}
.bliss-inner-hero--equipo .bliss-inner-hero__inner {
	grid-template-columns: minmax(340px, .8fr) minmax(560px, 1.2fr);
}
.bliss-inner-hero--equipo .bliss-inner-hero__main-photo {
	width: 100%;
	object-position: center;
}
.bliss-page-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #eef8f8 0%, #f8fcfc 62%, #e4f6f5 100%) !important;
}
.bliss-page-hero::after {
	content: "";
	position: absolute;
	width: 18rem;
	height: 18rem;
	right: -5rem;
	top: -9rem;
	border: 3.5rem solid rgba(24, 168, 176, .09);
	border-radius: 48% 52% 43% 57%;
	transform: rotate(22deg);
}
.bliss-page-hero .wp-block-post-title {
	position: relative;
	z-index: 1;
	max-width: 16ch;
}
main .wp-block-details {
	margin-block: .85rem;
	padding: 1.15rem 1.25rem;
	border: 1px solid rgba(28, 68, 124, .12);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(28, 68, 124, .05);
}
main .wp-block-details summary {
	color: var(--wp--preset--color--navy);
	font-weight: 750;
	cursor: pointer;
}
main .wp-block-details[open] {
	border-color: rgba(24, 168, 176, .42);
	box-shadow: 0 12px 30px rgba(28, 68, 124, .09);
}

/* Pie de página */
.bliss-footer {
	background: linear-gradient(135deg, #163966 0%, #1C447C 62%, #17375f 100%) !important;
}
.bliss-footer__logo img {
	filter: brightness(0) invert(1);
}
.bliss-footer h3 {
	margin-top: 0;
	letter-spacing: .02em;
}
.bliss-footer p,
.bliss-footer .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, .86);
}
.bliss-footer a {
	color: rgba(255, 255, 255, .86) !important;
}
.bliss-footer__menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.bliss-footer__menu li + li {
	margin-top: .55rem;
}
.bliss-footer .wp-block-navigation-item__content {
	padding: .18rem 0;
}
.bliss-footer a:hover {
	color: #fff;
}
.bliss-footer__legal {
	border-top: 1px solid rgba(255, 255, 255, .18);
}
.bliss-footer__legal p {
	margin: 0;
}

/* Estados interactivos y foco accesible */
a,
.wp-element-button {
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.wp-element-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(28, 68, 124, .16);
}
a:focus-visible,
button:focus-visible,
.wp-element-button:focus-visible {
	outline: 3px solid #1C447C;
	outline-offset: 3px;
}

@media (max-width: 781px) {
	body {
		padding-bottom: calc(68px + env(safe-area-inset-bottom));
	}
	.bliss-site-header {
		position: sticky;
		top: 0;
		padding-top: .65rem !important;
		padding-bottom: .65rem !important;
	}
	.bliss-site-header > .wp-block-group {
		flex-wrap: nowrap;
		gap: .65rem;
	}
	.bliss-site-header .wp-block-site-logo {
		margin-right: auto;
	}
	.bliss-site-header .wp-block-site-logo img {
		width: 112px;
		height: auto;
	}
	.bliss-site-header .wp-block-navigation {
		order: 3;
	}
	.bliss-site-header .wp-block-navigation__responsive-container-open {
		padding: .65rem;
		border: 1px solid rgba(28, 68, 124, .14);
		border-radius: 999px;
		color: var(--wp--preset--color--navy);
	}
	.bliss-header-actions {
		order: 2;
		flex-wrap: nowrap;
	}
	.bliss-header-actions .wp-block-button:first-child {
		display: none;
	}
	.bliss-header-actions .wp-block-button__link {
		padding: .65rem 1rem;
		font-size: .9rem;
		white-space: nowrap;
	}
	.bliss-site-header .bliss-mobile-actions {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		position: fixed;
		z-index: 30;
		left: .75rem;
		right: .75rem;
		width: auto !important;
		margin: 0 !important;
		bottom: calc(.65rem + env(safe-area-inset-bottom));
		gap: 0;
		padding: .35rem;
		border: 1px solid rgba(28, 68, 124, .12);
		border-radius: 18px;
		background: rgba(255, 255, 255, .96);
		box-shadow: 0 12px 36px rgba(28, 68, 124, .2);
		backdrop-filter: blur(12px);
	}
	.bliss-mobile-actions p {
		margin: 0;
	}
	.bliss-mobile-actions a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 48px;
		padding: .55rem .7rem;
		border-radius: 14px;
		font-size: .92rem;
		font-weight: 750;
		line-height: 1.1;
		text-align: center;
		text-decoration: none;
	}
	.bliss-mobile-actions p:first-child a {
		gap: .4rem;
		color: var(--wp--preset--color--navy);
	}
	.bliss-mobile-actions p:first-child span {
		color: var(--wp--preset--color--green);
		font-size: .75rem;
	}
	.bliss-mobile-actions p:last-child a {
		background: linear-gradient(90deg, #147A57, #0F737A);
		color: #fff;
	}
	.bliss-hero {
		padding-top: 2.5rem !important;
		padding-bottom: 3rem !important;
		background: linear-gradient(180deg, #fff 0%, #f8fcfc 100%);
	}
	.bliss-hero::before {
		display: none;
	}
	.bliss-hero > .wp-block-columns {
		gap: 2rem;
	}
	.bliss-hero h1 {
		max-width: 12ch;
		font-size: clamp(2.35rem, 11vw, 3rem) !important;
		line-height: 1.08;
	}
	.bliss-hero__content > p.has-large-font-size {
		font-size: 1.08rem !important;
		line-height: 1.55;
	}
	.bliss-hero__content .wp-block-buttons {
		margin-top: 1.5rem !important;
	}
	.bliss-hero__content .wp-block-button {
		width: 100%;
	}
	.bliss-hero__content .wp-block-button:nth-child(2) {
		display: none;
	}
	.bliss-hero__content .wp-block-button__link {
		width: 100%;
		box-sizing: border-box;
	}
	.bliss-badges {
		display: none !important;
	}
	.bliss-hero__visual {
		min-height: auto;
		padding-left: 0;
	}
	.bliss-hero .bliss-hero__photo img {
		border-radius: 28px 28px 72px 28px;
		aspect-ratio: 4 / 3;
		object-position: center 38%;
	}
	.bliss-hero__miniatures {
		display: none;
	}
	.bliss-inner-hero {
		padding: 2.6rem 1.25rem 3rem;
		background: linear-gradient(180deg, #eef8f8 0%, #fff 100%);
	}
	.bliss-inner-hero::before {
		display: none;
	}
	.bliss-inner-hero__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.bliss-inner-hero h1 {
		font-size: clamp(2.35rem, 11vw, 3rem);
		line-height: 1.08;
	}
	.bliss-inner-hero__lead {
		font-size: 1.05rem;
	}
	.bliss-inner-hero__actions {
		align-items: stretch;
		flex-direction: column;
	}
	.bliss-inner-hero__fact {
		border-radius: 16px;
	}
	.bliss-inner-hero__cta {
		width: 100%;
		box-sizing: border-box;
	}
	.bliss-inner-hero__visual {
		min-height: 275px;
	}
	.bliss-inner-hero__main-photo {
		width: 100%;
		height: 275px;
		border-radius: 26px 26px 64px 26px;
	}
	.bliss-inner-hero__mini-photo {
		display: none;
	}
	.bliss-inner-hero--equipo .bliss-inner-hero__inner {
		grid-template-columns: 1fr;
	}
	.bliss-inner-hero--equipo .bliss-inner-hero__main-photo {
		object-fit: contain;
		background: #dff2f2;
	}
}
