﻿
/* ---------------------------------------------------------------
   1. Sections by position - survives reorder, add and delete
   --------------------------------------------------------------- */
.ayn-front .elementor > .e-con {
	display: block;
	max-width: 1180px;
	margin-inline: auto;
	padding: 44px 20px;
}
.ayn-front .elementor > .e-con:nth-of-type(even) {
	background: var(--ayn-section-bg);
	max-width: none;
}
.ayn-front .elementor > .e-con:nth-of-type(even) > * {
	max-width: 1180px;
	margin-inline: auto;
}

/* First section is the hero */
.ayn-front .elementor > .e-con:first-of-type,
.ayn-front .e-con.ayn-hero {
	background: linear-gradient(135deg, #ffffff 0%, var(--ayn-accent-soft) 100%);
	border-bottom: 1px solid var(--ayn-border);
	max-width: none;
	padding: 8px 20px 22px;
	text-align: center;
}
.ayn-front .elementor > .e-con:first-of-type h1 { line-height: 1.15; }

@media (max-width: 420px) {
	.ayn-front .elementor > .e-con { padding: 32px 10px; }
}

/* Keep the live list close to the hero on desktop and mobile. */
.ayn-front .elementor > .e-con:has(.ayn-home-list) {
	padding-top: 12px;
}

/* ---------------------------------------------------------------
   2. Palette - anything added in Elementor lands on-brand
   --------------------------------------------------------------- */
.ayn-front .elementor-heading-title { color: var(--ayn-text); }
.ayn-front .elementor-heading-title .ayn-accent-word { color: var(--ayn-accent); }
.ayn-front .elementor-widget-text-editor { color: var(--ayn-muted); line-height: 1.7; }
.ayn-front .elementor-widget-text-editor strong { color: var(--ayn-text); }
.ayn-front .elementor-widget { margin-bottom: 0; }

.ayn-front .elementor-button {
	display: inline-block;
	padding: 12px 26px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 15px;
	background: var(--ayn-accent);
	color: #ffffff;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
.ayn-front .elementor-button:hover {
	background: var(--ayn-accent-dark);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(219, 39, 119, .18);
}
.ayn-front .ayn-btn-el-outline .elementor-button {
	background: transparent;
	color: var(--ayn-accent);
	border: 1px solid var(--ayn-accent);
}

/* Elementor tabs → the theme's pill styling */
.ayn-front .elementor-widget-tabs .elementor-tabs-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0;
}
.ayn-front .elementor-widget-tabs .elementor-tab-title {
	background: var(--ayn-section-bg);
	border: 1px solid var(--ayn-border);
	border-radius: 999px;
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ayn-muted);
}
.ayn-front .elementor-widget-tabs .elementor-tab-title.elementor-active {
	background: var(--ayn-accent);
	border-color: var(--ayn-accent);
	color: #ffffff;
}
.ayn-front .elementor-widget-tabs .elementor-tabs-content-wrapper,
.ayn-front .elementor-widget-tabs .elementor-tab-content,
.ayn-front .elementor-widget-tabs .elementor-tab-mobile-title { border: 0; }
.ayn-front .elementor-widget-tabs .elementor-tab-content {
	padding: 0;
	color: var(--ayn-muted);
	line-height: 1.7;
}

/* ---------------------------------------------------------------
   3. Enhancements - applied when the theme classes are present,
      harmless when an edit has removed them
   --------------------------------------------------------------- */
.ayn-front .e-con.ayn-hero-stats,
.ayn-front .e-con.ayn-hero-actions {
	display: flex;
	flex-direction: row;
	justify-content: center;
	width: auto;
}
.ayn-front .e-con.ayn-stat {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: auto;
	gap: 6px;
}
.ayn-front .e-con.ayn-source-features {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ayn-front .e-con.ayn-mood-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
@media (max-width: 700px) {
	.ayn-front .e-con.ayn-source-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Panels: centre their intro copy without needing a header wrapper */
.ayn-front .e-con.ayn-featured-apps-panel { max-width: 760px; margin-inline: auto; }
.ayn-front .e-con.ayn-featured-apps-panel > .elementor-widget-heading,
.ayn-front .e-con.ayn-featured-apps-panel > .elementor-widget-text-editor,
.ayn-front .e-con.ayn-source-guide > .elementor-widget-heading,
.ayn-front .e-con.ayn-source-guide > .elementor-widget-text-editor,
.ayn-front .e-con.ayn-yono-discovery > .elementor-widget-heading,
.ayn-front .e-con.ayn-yono-discovery > .elementor-widget-text-editor:not(.ayn-source-story) {
	text-align: center;
	max-width: 680px;
	margin-inline: auto;
}
.ayn-front .e-con.ayn-alerts { padding-top: 0; }

/* Breathing room around the theme-rendered tab boxes */
.ayn-front .elementor-widget-shortcode .ayn-tabs-box { margin-block: 8px 28px; }
.ayn-front .e-con.ayn-yono-discovery { margin-top: 12px; }

