/*
Theme Name: Astra Child Zagora
Theme URI: https://zagoralatam.com/
Description: Tema hijo para Zagora Latam optimizado para ventas COD (Panamá y Guatemala)
Author: Zagora Dev
Template: astra
	Version: 1.2.6
Text Domain: astra-child-zagora
*/

:root {
	--zagora-navy: #012566;
	--zagora-blue: #1649a2;
	--zagora-ink: #15233b;
	--zagora-muted: #66748a;
	--zagora-line: #e4eaf2;
	--zagora-surface: #f5f8fc;
}

.zagora-gateway,
.zagora-catalog {
	box-sizing: border-box;
	min-height: 68vh;
	padding: clamp(42px, 7vw, 86px) 22px;
	background: var(--zagora-surface);
	color: var(--zagora-ink);
	font-family: inherit;
}

.zagora-gateway *,
.zagora-catalog * {
	box-sizing: border-box;
}

.zagora-gateway__hero,
.zagora-catalog__hero,
.zagora-catalog__content {
	width: min(100%, 1080px);
	margin: 0 auto;
}

.zagora-gateway__hero,
.zagora-catalog__hero {
	text-align: center;
}

.zagora-eyebrow {
	margin: 0 0 12px;
	color: var(--zagora-blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.zagora-gateway h1,
.zagora-catalog h1 {
	max-width: 760px;
	margin: 0 auto 14px;
	color: var(--zagora-navy);
	font-size: clamp(32px, 5vw, 52px);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.12;
}

.zagora-gateway__intro,
.zagora-catalog__hero > p:not(.zagora-eyebrow) {
	max-width: 620px;
	margin: 0 auto;
	color: #4b5b72;
	font-size: 17px;
	line-height: 1.65;
}

.zagora-country-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	width: min(100%, 820px);
	margin: 42px auto 0;
	text-align: left;
}

.zagora-info-contact-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0;
}

.zagora-info-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-radius: 10px;
	background: var(--zagora-navy);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
}

.zagora-info-contact-link:hover,
.zagora-info-contact-link:focus-visible {
	background: var(--zagora-blue);
	color: #fff !important;
}

.zagora-country-card {
	position: relative;
	display: flex;
	min-height: 290px;
	flex-direction: column;
	align-items: flex-start;
	padding: 30px;
	border: 1px solid var(--zagora-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(13, 39, 79, .07);
	color: var(--zagora-ink);
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.zagora-country-card:hover,
.zagora-country-card:focus-visible {
	transform: translateY(-4px);
	border-color: #b5c9ea;
	box-shadow: 0 18px 42px rgba(13, 39, 79, .12);
	color: var(--zagora-ink);
}

.zagora-country-card__flag {
	display: grid;
	width: 62px;
	height: 62px;
	place-items: center;
	margin-bottom: 22px;
	border-radius: 18px;
	background: #edf3ff;
	font-size: 35px;
}

.zagora-country-card--guatemala .zagora-country-card__flag {
	background: #edf7ff;
}

.zagora-country-card__eyebrow {
	color: var(--zagora-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.zagora-country-card h2 {
	margin: 4px 0 8px;
	color: var(--zagora-navy);
	font-size: 27px;
	font-weight: 800;
}

.zagora-country-card p {
	margin: 0 0 22px;
	color: var(--zagora-muted);
	font-size: 15px;
	line-height: 1.55;
}

.zagora-country-card__action {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 17px;
	border-top: 1px solid var(--zagora-line);
	color: var(--zagora-blue);
	font-size: 15px;
	font-weight: 800;
}

.zagora-country-card__action span {
	font-size: 22px;
	transition: transform .2s ease;
}

.zagora-country-card:hover .zagora-country-card__action span {
	transform: translateX(4px);
}

.zagora-gateway__note {
	margin: 24px 0 0;
	color: var(--zagora-muted);
	font-size: 13px;
	text-align: center;
}

.zagora-catalog__hero {
	position: relative;
	margin-bottom: 38px;
}

.zagora-catalog__back {
	display: inline-block;
	margin-bottom: 28px;
	color: #123e88;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.zagora-catalog__back:hover {
	text-decoration: underline;
}

.zagora-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 360px));
	justify-content: center;
	gap: 22px;
}

.zagora-product-card {
	overflow: hidden;
	border: 1px solid var(--zagora-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 26px rgba(13, 39, 79, .06);
}

.zagora-product-card__link {
	display: block;
	height: 100%;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
}

.zagora-product-card__link:hover,
.zagora-product-card__link:focus-visible {
	color: inherit;
	text-decoration: none;
}

.zagora-product-card__link:focus-visible {
	outline: 3px solid #83a9e9;
	outline-offset: -3px;
}

.zagora-product-card__image-wrap {
	display: grid;
	min-height: 270px;
	place-items: center;
	background: #f2f5f9;
}

.zagora-product-card__image,
.zagora-product-card__placeholder {
	display: block;
	width: 100%;
	height: 270px;
}

.zagora-product-card__image {
	padding: 8px;
	object-fit: contain;
	transition: transform .25s ease;
}

.zagora-product-card:hover .zagora-product-card__image {
	transform: scale(1.035);
}

.zagora-product-card__placeholder {
	display: grid;
	place-items: center;
	background: radial-gradient(circle at 70% 24%, #d7e5ff, transparent 38%), linear-gradient(145deg, #f2f6fd, #e6eefb);
}

.zagora-product-card__placeholder span {
	font-size: 64px;
}

.zagora-product-card__body {
	padding: 22px;
}

.zagora-product-card__body h2 {
	margin: 0 0 10px;
	color: var(--zagora-navy);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.3;
}

.zagora-product-card__body p {
	min-height: 48px;
	margin: 0 0 20px;
	color: #3f4f64;
	font-size: 14px;
	line-height: 1.6;
}

.zagora-product-card__button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0 18px;
	border-radius: 10px;
	background: var(--zagora-navy);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.zagora-product-card__button:hover,
.zagora-product-card__button:focus-visible {
	background: var(--zagora-blue);
	color: #fff;
}

.zagora-catalog__empty {
	padding: 48px 24px;
	border: 1px solid var(--zagora-line);
	border-radius: 20px;
	background: #fff;
	text-align: center;
}

.zagora-catalog__empty > span {
	font-size: 48px;
}

.zagora-catalog__empty h2 {
	margin: 14px 0 8px;
	color: var(--zagora-navy);
}

.zagora-catalog__empty p {
	margin: 0;
	color: #3f4f64;
}

/* Improve contrast in the product-page newsletter and its email form. */
.elementor-location-footer .elementor-element-16278bc9,
.elementor-location-footer .elementor-element-16278bc9 .elementor-heading-title {
	color: #f8fafc !important;
}

.elementor-location-footer .elementor-field-group-email .elementor-field {
	border-color: #cbd5e1 !important;
	background-color: #fff !important;
	color: #172033 !important;
}

.elementor-location-footer .elementor-field-group-email .elementor-field::placeholder {
	color: #596579 !important;
	opacity: 1;
}

.elementor-location-footer .elementor-field-type-submit .elementor-button {
	border-color: #1649a2 !important;
	background-color: #1649a2 !important;
	color: #fff !important;
}

.elementor-location-footer .elementor-field-type-submit .elementor-button:hover,
.elementor-location-footer .elementor-field-type-submit .elementor-button:focus-visible {
	background-color: #012566 !important;
}

/* Elementor can leave its aria-hidden side cart over the synthetic catalog routes. */
body:has(.zagora-catalog) .elementor-menu-cart__container[aria-hidden="true"] {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 780px) {
	.zagora-product-grid {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 360px));
	}
}

@media (max-width: 560px) {
	.zagora-gateway,
	.zagora-catalog {
		padding: 38px 16px 54px;
	}

	.zagora-gateway__intro,
	.zagora-catalog__hero > p:not(.zagora-eyebrow) {
		font-size: 15px;
	}

	.zagora-country-grid,
	.zagora-product-grid {
		grid-template-columns: 1fr;
		gap: 15px;
		margin-top: 28px;
	}

	.zagora-country-card {
		min-height: auto;
		padding: 24px;
	}

	.zagora-product-card__image,
	.zagora-product-card__placeholder {
		height: 240px;
	}

	.zagora-product-card__image-wrap {
		min-height: 240px;
	}

	.zagora-catalog__hero {
		margin-bottom: 28px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.zagora-country-card,
	.zagora-country-card__action span,
	.zagora-product-card__image {
		transition: none;
	}
}

.home #content,
.home .site-content {
	margin: 0;
	padding: 0;
}

.home .zagora-gateway {
	position: relative;
	display: grid;
	min-height: 100vh;
	min-height: 100svh;
	align-items: center;
	overflow: hidden;
	padding: clamp(56px, 8vw, 100px) 24px;
	background:
		radial-gradient(ellipse at 12% 12%, rgba(151, 190, 255, .38), transparent 36%),
		radial-gradient(ellipse at 88% 82%, rgba(128, 210, 225, .28), transparent 34%),
		linear-gradient(145deg, #f9fbff 0%, #edf4ff 52%, #f7fbff 100%);
}

.home .zagora-gateway__hero {
	position: relative;
	z-index: 1;
	width: min(100%, 1120px);
}

.zagora-gateway__intro-block {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.zagora-gateway__eyebrow {
	display: inline-flex;
	align-items: center;
	margin: 0 0 18px;
	padding: 9px 14px;
	border: 1px solid rgba(22, 73, 162, .14);
	border-radius: 999px;
	background: rgba(255, 255, 255, .76);
	color: var(--zagora-blue);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .13em;
}

.home .zagora-gateway h1 {
	max-width: 760px;
	font-size: clamp(38px, 6vw, 68px);
	letter-spacing: -.045em;
}

.home .zagora-gateway__intro {
	max-width: 610px;
	font-size: clamp(16px, 1.8vw, 19px);
}

.home .zagora-country-grid {
	width: min(100%, 900px);
	gap: 26px;
	margin-top: clamp(36px, 5vw, 58px);
}

.home .zagora-country-card {
	min-height: 330px;
	padding: clamp(26px, 3.5vw, 40px);
	border-color: rgba(255, 255, 255, .9);
	border-radius: 28px;
	background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(247,250,255,.94));
	box-shadow: 0 22px 60px rgba(18, 54, 114, .1);
}

.home .zagora-country-card::after {
	position: absolute;
	right: -46px;
	bottom: -68px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(22, 73, 162, .045);
	content: "";
	transition: transform .25s ease;
}

.home .zagora-country-card:hover::after {
	transform: scale(1.18);
}

.home .zagora-country-card__flag {
	width: 68px;
	height: 68px;
	margin-bottom: 24px;
	border: 0;
	border-radius: 50%;
	background: transparent;
}

.home .zagora-country-card--guatemala .zagora-country-card__flag {
	background: transparent;
}

.home .zagora-country-card__flag img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: contain;
	filter: drop-shadow(0 4px 8px rgba(13, 39, 79, .13));
}

.home .zagora-country-card__eyebrow {
	color: #5c7190;
	font-size: 11px;
	letter-spacing: .12em;
}

.home .zagora-country-card h2 {
	margin-top: 7px;
	font-size: clamp(29px, 3vw, 36px);
}

.home .zagora-country-card p {
	max-width: 340px;
	margin-bottom: 25px;
	font-size: 16px;
}

.home .zagora-country-card__action {
	position: relative;
	z-index: 1;
	padding-top: 19px;
	font-size: 16px;
}

.home .zagora-gateway__note {
	margin-top: 30px;
	font-size: 14px;
}

.home .zagora-gateway__note span {
	display: inline-grid;
	width: 20px;
	height: 20px;
	place-items: center;
	margin-right: 6px;
	border-radius: 50%;
	background: #e2f3eb;
	color: #19744a;
	font-weight: 900;
}

@media (max-width: 560px) {
	.home .zagora-gateway {
		min-height: 100vh;
		padding: 52px 18px 44px;
	}

	.home .zagora-gateway h1 {
		font-size: clamp(36px, 10vw, 46px);
	}

	.home .zagora-country-grid {
		gap: 16px;
		margin-top: 32px;
	}

	.home .zagora-country-card {
		min-height: 270px;
		padding: 25px;
		border-radius: 24px;
	}

	.home .zagora-country-card__flag {
		width: 58px;
		height: 58px;
		margin-bottom: 18px;
		border-radius: 50%;
	}

	.home .zagora-gateway__note {
		max-width: 330px;
		margin: 24px auto 0;
		line-height: 1.6;
	}
}
