/**
 * YoLaburo / Zippyn — layout escritorio (≥1024px únicamente).
 * No incluir reglas fuera de media queries desktop: mobile queda intacto.
 */

@media (min-width: 1024px) {
	:root {
		--zp-dk-max: 1200px;
		--zp-dk-max-wide: 1280px;
		--zp-dk-gutter: 28px;
		--zp-dk-section-y: 40px;
		--zp-dk-card-gap: 22px;
		--zp-dk-radius: 18px;
	}

	/* ── Contenedor global ── */
	body:not(.zp-post-place-premium) .zp-container,
	body.zp-market-home .zp-container,
	body.zp-single-place-2026 #single-place > .container,
	body.zp-profile-2026 .container,
	body.zp-login-2026 .zp-login-shell .container,
	body.zp-sl-category-mode .zp-sl-explore__inner {
		max-width: var(--zp-dk-max) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: var(--zp-dk-gutter) !important;
		padding-right: var(--zp-dk-gutter) !important;
	}

	/* Home: un poco más de aire en pantallas grandes */
	body.home.zp-market-home .zp-container,
	body.home.zp-market-home .zp-header--2026 .zp-container.zp-header-nav {
		max-width: min(var(--zp-dk-max-wide), calc(100vw - 56px)) !important;
	}

	/* ── Header ── */
	body .zp-header--2026 .zp-header-nav__logo img,
	body .zp-header--2026 .zp-header-nav__logo svg {
		max-height: 42px;
		width: auto;
		object-fit: contain;
	}

	body .zp-header--2026 .zp-header-nav__desktop {
		align-items: center;
		gap: 12px 18px;
	}

	body .zp-header--2026 .zp-header-nav__desktop .zp-nav-link,
	body .zp-header--2026 .zp-header-nav__cta {
		font-size: 0.9375rem;
	}

	/* ── 1. Home ── */
	body.zp-market-home .zp-home--premium-app .zp-hero--py {
		padding: 48px 0 36px;
	}

	body.zp-market-home .zp-home--premium-app .zp-hero__inner--py {
		max-width: var(--zp-dk-max);
		padding-left: var(--zp-dk-gutter);
		padding-right: var(--zp-dk-gutter);
	}

	body.zp-market-home .zp-home--premium-app .zp-hero__title--py {
		font-size: clamp(2.25rem, 2.4vw + 1rem, 3rem);
		max-width: 20ch;
		margin-bottom: 1.25rem;
	}

	body.zp-market-home .zp-home--premium-app .zp-hero__lead--py {
		font-size: 1.25rem;
		max-width: 52ch;
		margin-bottom: 2.25rem;
	}

	body.zp-market-home .zp-home--premium-app .zp-search-panel--py {
		max-width: 920px;
		padding: 28px 32px 26px;
		border-radius: 26px;
	}

	body.zp-market-home .zp-section {
		padding-top: var(--zp-dk-section-y);
		padding-bottom: var(--zp-dk-section-y);
	}

	body.zp-market-home .zp-section-head,
	body.zp-market-home .zp-section-head--macro,
	body.zp-market-home .zp-section-head--featured {
		max-width: var(--zp-dk-max);
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
		padding-right: 0;
	}

	body.zp-market-home .zp-app-macro-grid {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px 18px;
		max-width: var(--zp-dk-max);
		margin-left: auto;
		margin-right: auto;
	}

	body.zp-market-home .zp-app-sub-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px 16px;
	}

	body.zp-market-home .zp-provider-actions__grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
		max-width: var(--zp-dk-max);
		margin: 0 auto;
	}

	body.zp-market-home .zp-home-stats__grid {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px;
		max-width: var(--zp-dk-max);
		margin: 0 auto;
	}

	body.zp-market-home .zp-info-what--platform {
		max-width: var(--zp-dk-max) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		border-radius: 22px !important;
		padding: 32px 36px !important;
	}

	/* ── 2. Cards de servicios (home) ── */
	body.zp-market-home .zp-section--pro-carousel .zp-carousel,
	body.zp-market-home .zp-section--latest-pro .zp-carousel,
	body.zp-market-home .zp-app-home-featured .zp-carousel,
	body.zp-market-home .zp-results-unified__strip {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: var(--zp-dk-card-gap) !important;
		max-width: var(--zp-dk-max);
		margin-left: auto;
		margin-right: auto;
		overflow: visible !important;
	}

	body.zp-market-home .zp-service-card--carousel,
	body.zp-market-home .zp-service-card {
		max-width: none !important;
		width: auto !important;
	}

	body.zp-market-home .zp-service-card__media {
		aspect-ratio: 4 / 3;
	}

	body.zp-market-home .zp-service-card__title {
		font-size: 1.05rem;
		line-height: 1.35;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	body.zp-market-home .zp-service-card__body {
		padding: 14px 16px 16px;
	}

	/* ── 3. Listados / búsqueda (sin tocar lógica del mapa) ── */
	body.zp-sl-category-mode .zp-sl-sheet-shell {
		max-width: var(--zp-dk-max);
		margin-left: auto;
		margin-right: auto;
	}

	body.zp-sl-category-mode .zp-sl-sheet__intro--app {
		padding-bottom: 8px;
	}

	body.zp-sl-category-mode .zp-sl-chips {
		flex-wrap: wrap;
		gap: 8px;
		margin-bottom: 12px;
	}

	body.zp-sl-category-mode .result-search-location {
		max-width: var(--zp-dk-max);
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
		padding-right: 0;
	}

	body.zp-sl-category-mode #zp-sl-results-list.search-location-list-place {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 14px;
		margin: 0;
		padding: 0;
	}

	body.zp-sl-category-mode .zp-sl-card__inner--app.zp-sl-card__inner--svc2026 {
		grid-template-columns: 96px minmax(0, 1fr) !important;
		gap: 16px !important;
		padding: 14px 16px !important;
		border-radius: var(--zp-dk-radius);
	}

	body.zp-sl-category-mode .zp-sl-card__title--app,
	body.zp-sl-category-mode .zp-sl-card__inner--svc2026 .zp-sl-card__title--app {
		font-size: 1.125rem;
		line-height: 1.3;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	body.zp-sl-category-mode .zp-sl-card__drive-text {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	body.zp-sl-category-mode .filter-reset {
		max-width: var(--zp-dk-max);
		margin: 0 auto 12px;
	}

	/* Explorar / búsqueda clásica */
	body.page-template-page-search-location .result-search-location .search-location-list-place > li {
		max-width: 100%;
	}

	/* ── 4. Single servicio — layout premium 2 columnas ── */
	body.zp-single-place-2026 #single-place > .container {
		max-width: var(--zp-dk-max-wide) !important;
	}

	body.zp-single-place-2026 #single-place .row {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: flex-start;
		gap: 28px;
		margin-left: 0;
		margin-right: 0;
	}

	body.zp-single-place-2026 #single-place .col-md-9 {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.zp-single-place-2026 #single-place .single-sidebar,
	body.zp-single-place-2026 #single-place aside.col-md-3 {
		flex: 0 0 300px !important;
		width: 300px !important;
		max-width: 300px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		position: sticky;
		top: calc(env(safe-area-inset-top, 0px) + 88px);
		align-self: flex-start;
		max-height: calc(100vh - 100px);
		overflow-y: auto;
	}

	body.zp-single-place-2026 #single-place.not_is_tablet .single-place-wrapper {
		margin-top: -56px !important;
		gap: 18px;
	}

	body.zp-single-place-2026 .detail-place-right-wrapper .section-detail-wrapper h1,
	body.zp-single-place-2026 .detail-place-right-wrapper .place-title {
		font-size: clamp(1.5rem, 1.2vw + 1rem, 2rem);
		line-height: 1.2;
	}

	body.zp-single-place-2026 .detail-place-right-wrapper .post-content,
	body.zp-single-place-2026 .detail-place-right-wrapper .about-company {
		font-size: 1rem;
		line-height: 1.65;
		max-width: 68ch;
	}

	/* Evitar CTA duplicado: contacto en sidebar; ocultar WA repetido en columna principal */
	body.zp-single-place-2026 #single-place .col-md-9 .info-address-place-wrapper a[href*='wa.me'],
	body.zp-single-place-2026 #single-place .col-md-9 .info-address-place-wrapper a[href*='whatsapp'] {
		display: none !important;
	}

	body.zp-single-place-2026 #single-place .single-sidebar .widget {
		padding: 20px 18px 22px;
	}

	body.zp-single-place-2026 #single-place .single-sidebar a[href*='wa.me'],
	body.zp-single-place-2026 #single-place .single-sidebar a[href*='whatsapp'] {
		display: flex !important;
		width: 100%;
		justify-content: center;
		padding: 14px 18px !important;
		font-size: 1rem !important;
		border-radius: 14px !important;
	}

	/* ── 5. PRO / Suscripción ── */
	body.zp-subscribe-pro-2026 #subscribe-pro-page,
	#subscribe-pro-page.zp-subscribe-pro-page {
		padding: 48px var(--zp-dk-gutter) 64px !important;
	}

	body.zp-subscribe-pro-2026 #subscribe-pro-page .container,
	#subscribe-pro-page .container {
		max-width: var(--zp-dk-max-wide) !important;
	}

	#subscribe-pro-page .zp-pro-plans-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 24px !important;
		max-width: var(--zp-dk-max-wide) !important;
	}

	#subscribe-pro-page .zp-pro-plan-card {
		padding: 28px 24px 26px;
		border-radius: 18px;
	}

	#subscribe-pro-page .zp-pro-benefits {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px 20px;
		text-align: left;
	}

	#subscribe-pro-page .zp-subscribe-pro-page__title {
		font-size: clamp(1.75rem, 2vw + 0.5rem, 2.35rem);
		text-align: center;
		margin-bottom: 28px;
	}

	/* ── 6. Formularios ── */
	body.zp-post-place-premium .zp-post-place-page__inner,
	body.zp-post-place-premium #blog-page.zp-post-place-page .row > .pp-wizard-scope {
		max-width: 880px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.zp-post-place-premium .pp-wizard-scope .form-table,
	body.zp-post-place-premium .pp-wizard-scope form.post .row {
		max-width: 100%;
	}

	body.zp-post-place-premium .pp-wizard-scope .form-field .row {
		display: grid;
		grid-template-columns: minmax(200px, 32%) minmax(0, 1fr);
		gap: 12px 24px;
		align-items: start;
	}

	body.zp-post-place-premium .pp-wizard-scope .form-field .col-md-4,
	body.zp-post-place-premium .pp-wizard-scope .form-field .col-md-8 {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
	}

	body.zp-post-place-premium .pp-wizard-scope .input-item,
	body.zp-post-place-premium .pp-wizard-scope .text-field {
		max-width: 100%;
	}

	body.zp-login-2026 .zp-login-card {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}

	body.zp-profile-2026 .zp-profile-dash__panel,
	body.zp-profile-2026 .zp-profile-panel {
		max-width: 720px;
		margin-left: auto;
		margin-right: auto;
	}

	body.zp-profile-2026 .zp-profile-dash__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	/* ── Footer / secciones genéricas ── */
	body .zp-site-footer__inner {
		max-width: var(--zp-dk-max);
		margin-left: auto;
		margin-right: auto;
	}
}

/* Pantallas muy anchas: 4 columnas en carruseles home */
@media (min-width: 1280px) {
	body.zp-market-home .zp-section--pro-carousel .zp-carousel,
	body.zp-market-home .zp-section--latest-pro .zp-carousel,
	body.zp-market-home .zp-app-home-featured .zp-carousel {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	body.zp-market-home .zp-app-macro-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}
