/* Orion Construction Packages
   Homepage section (index-2): .orion-packages + .container-2
   Packages page (packages.html): .orion-packages--page + .orion-packages__container
   Breakpoints: sm=640, md=769, lg=992, xl=1199, 1xl=1380, 2xl=1752 */

/* ── Homepage section shell ─────────────────────────────────────── */
.orion-packages {
	width: 100%;
	position: relative;
	margin-bottom: 32px;
	background: #fff;
}
@media (min-width: 769px) { .orion-packages { margin-bottom: 50px; } }
@media (min-width: 992px) { .orion-packages { margin-bottom: 60px; } }
@media (min-width: 1380px) { .orion-packages { margin-bottom: 80px; } }
@media (min-width: 1752px) { .orion-packages { margin-bottom: 100px; } }

.orion-packages__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	margin: 0 0 12px;
}
@media (min-width: 640px) {
	.orion-packages__header { flex-direction: row; align-items: center; gap: 16px; margin-bottom: 20px; }
}
@media (min-width: 769px) { .orion-packages__header { margin-bottom: 28px; } }
@media (min-width: 1380px) { .orion-packages__header { margin-bottom: 32px; } }
@media (min-width: 1752px) { .orion-packages__header { margin-bottom: 40px; } }

/* HTML global h2 schedule (custom --text-4xl:40 / --text-5xl:60).
   Sizes stay soft so Elementor Typography can override; weight/family locked below. */
html body h2.orion-packages__title,
h2.orion-packages__title {
	margin: 0;
	font-family: "El Messiri", var(--orion-font-heading, serif);
	font-weight: 500;
	color: #000;
	font-size: 26px;
	line-height: 36px;
	letter-spacing: normal;
	text-transform: none;
}
@media (min-width: 640px) {
	html body h2.orion-packages__title,
	h2.orion-packages__title { font-size: 30px; line-height: 40px; }
}
@media (min-width: 769px) {
	html body h2.orion-packages__title,
	h2.orion-packages__title { font-size: 35px; line-height: 40px; }
}
@media (min-width: 1199px) {
	html body h2.orion-packages__title,
	h2.orion-packages__title { font-size: 40px; line-height: 50px; }
}
@media (min-width: 1380px) {
	html body h2.orion-packages__title,
	h2.orion-packages__title { font-size: 46px; line-height: 55px; }
}
@media (min-width: 1752px) {
	html body h2.orion-packages__title,
	h2.orion-packages__title { font-size: 60px; line-height: 70px; }
}

.orion-packages__view-wrap { display: none; }
@media (min-width: 640px) { .orion-packages__view-wrap { display: block; flex-shrink: 0; } }

/* Homepage grid: gap-5 / sm:gap-7 / 1xl:gap-8 / 2xl:gap-10 */
.orion-packages__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 640px) { .orion-packages__grid { gap: 28px; } }
@media (min-width: 1199px) { .orion-packages__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1380px) { .orion-packages__grid { gap: 32px; } }
@media (min-width: 1752px) { .orion-packages__grid { gap: 40px; } }

/* Homepage cards: sm:p-[27px], xl:gap-[15px] */
.orion-package {
	position: relative;
	width: 100%;
	background-color: #fff;
	border: 1px solid rgba(0, 0, 0, 0.15);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 20px;
	padding: 20px;
}
@media (min-width: 640px) { .orion-package { flex-direction: row; padding: 27px; gap: 20px; } }
@media (min-width: 769px) { .orion-package { gap: 32px; } }
@media (min-width: 1199px) { .orion-package { gap: 15px; } }
@media (min-width: 1380px) { .orion-package { gap: 18px; } }
@media (min-width: 1752px) { .orion-package { padding: 38px; gap: 30px; } }

/* .mostPopular-tag uses .p2 type scale */
.orion-package__badge {
	position: relative;
	display: block;
	margin: -20px -20px 0 auto;
	background-color: var(--orion-primary, var(--orion-primary));
	color: #fff;
	text-align: center;
	padding: 6px 16px;
	border-bottom-left-radius: 10px;
	font-family: Lexend, sans-serif;
	font-weight: 300;
	font-size: 13px;
	line-height: 19.5px;
}
@media (min-width: 640px) {
	.orion-package__badge { position: absolute; top: 0; right: 0; margin: 0; }
}
@media (min-width: 1199px) {
	.orion-package__badge { font-size: 14px; line-height: 21px; }
}
@media (min-width: 1752px) {
	.orion-package__badge { font-size: 16px; line-height: 24px; }
}

.orion-package__col--main { width: 100%; }
@media (min-width: 640px) { .orion-package__col--main { width: 70%; } }
@media (min-width: 769px) { .orion-package__col--main { width: 50%; } }
@media (min-width: 1199px) { .orion-package__col--main { width: 210px; } }
@media (min-width: 1380px) { .orion-package__col--main { width: 224px; } }
@media (min-width: 1752px) { .orion-package__col--main { width: 257px; } }

html body .orion-package__name,
.orion-package__name {
	margin: 0 0 12px;
	font-family: "El Messiri", var(--orion-font-heading, serif);
	font-weight: 500;
	font-size: 20px; /* text-xl */
	line-height: 28px; /* leading-7 */
	color: #000;
	text-transform: none;
}
@media (min-width: 769px) {
	/* HTML --text-2xl: 22px */
	html body .orion-package__name,
	.orion-package__name { font-size: 22px; line-height: 28px; }
}
@media (min-width: 1199px) {
	html body .orion-package__name,
	.orion-package__name { margin-bottom: 7px; font-size: 24px; line-height: 32px; }
}
@media (min-width: 1380px) {
	html body .orion-package__name,
	.orion-package__name { margin-bottom: 14px; line-height: 36px; }
}
@media (min-width: 1752px) {
	html body .orion-package__name,
	.orion-package__name { margin-bottom: 18px; font-size: 30px; line-height: 42px; }
}

html body .orion-package__price,
.orion-package__price {
	margin: 0 0 10px;
	flex-shrink: 0;
	color: var(--orion-primary, var(--orion-primary));
	font-family: "El Messiri", var(--orion-font-heading, serif);
	font-size: 26px;
	font-weight: 500;
	line-height: 30px;
	text-transform: none;
}
@media (min-width: 640px) {
	html body .orion-package__price,
	.orion-package__price { line-height: 32px; }
}
@media (min-width: 769px) {
	html body .orion-package__price,
	.orion-package__price { font-size: 30px; line-height: 38px; }
}
@media (min-width: 1199px) {
	html body .orion-package__price,
	.orion-package__price { margin-bottom: 5px; line-height: 40px; }
}
@media (min-width: 1380px) {
	html body .orion-package__price,
	.orion-package__price { margin-bottom: 10px; font-size: 36px; line-height: 40px; }
}
@media (min-width: 1752px) {
	html body .orion-package__price,
	.orion-package__price { margin-bottom: 14px; font-size: 45px; line-height: 60px; }
}

.orion-package__unit { font-weight: 400; color: #464343; }

p.orion-package__subtitle { margin: 0 0 20px; color: #464343; }
@media (min-width: 1199px) { p.orion-package__subtitle { margin-bottom: 16px; } }
@media (min-width: 1752px) { p.orion-package__subtitle { margin-bottom: 24px; } }

.orion-package__col--includes { width: 100%; }
@media (min-width: 769px) { .orion-package__col--includes { width: 50%; } }
@media (min-width: 1199px) { .orion-package__col--includes { width: auto;  } }

/* HTML `.p2 !font-medium` — Lexend; sizes match .p2 (13 / md:14 / 2xl:16). */
.orion-package__includes-label {
	margin: 0 0 10px;
	font-family: Lexend, sans-serif;
	font-weight: 500;
	font-size: 13px;
	line-height: 19.5px;
	color: var(--orion-primary, var(--orion-primary));
}
@media (min-width: 769px) {
	.orion-package__includes-label { margin-bottom: 16px; font-size: 14px; line-height: 21px; }
}
@media (min-width: 1752px) {
	.orion-package__includes-label { margin-bottom: 22px; font-size: 16px; line-height: 24px; }
}

.orion-package__features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
@media (min-width: 1380px) { .orion-package__features { gap: 8px; } }

.orion-package__features li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	color: #000;
}
@media (min-width: 1752px) { .orion-package__features li { gap: 12px; } }

.orion-package__features li p,
p.orion-package__subtitle {
	font-family: Lexend, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 23px;
}
@media (min-width: 992px) {
	.orion-package__features li p,
	p.orion-package__subtitle { font-size: 15px; line-height: 25px; }
}
@media (min-width: 1199px) {
	.orion-package__features li p,
	p.orion-package__subtitle { line-height: 26px; }
}
@media (min-width: 1380px) {
	.orion-package__features li p,
	p.orion-package__subtitle { line-height: 28px; }
}
@media (min-width: 1752px) {
	.orion-package__features li p,
	p.orion-package__subtitle { font-size: 18px; line-height: 32px; }
}
.orion-package__features li p { margin: 0; color: #000; }
p.orion-package__subtitle { color: #464343; }

.orion-package__check {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 6px;
	fill: var(--orion-primary, var(--orion-primary));
}
@media (min-width: 1380px) { .orion-package__check { width: 18px; height: 18px; } }
@media (min-width: 1752px) { .orion-package__check { width: 20px; height: 20px; } }

/* Unit uses HTML `.p` body scale */
.orion-package__unit {
	font-family: Lexend, sans-serif;
	font-size: 14px;
	line-height: 23px;
}
@media (min-width: 992px) { .orion-package__unit { font-size: 15px; line-height: 25px; } }
@media (min-width: 1199px) { .orion-package__unit { line-height: 26px; } }
@media (min-width: 1380px) { .orion-package__unit { line-height: 28px; } }
@media (min-width: 1752px) { .orion-package__unit { font-size: 18px; line-height: 32px; } }

/* ═══════════════════════════════════════════════════════════════════
   Packages PAGE layout (packages.html)
   ═══════════════════════════════════════════════════════════════════ */
.orion-packages--page {
	margin-bottom: 0;
	overflow: hidden;
}

/* HTML: .container + py-[34/38/60/70] + 2xl:max-w-[1700px]
   Scoped class — bare .container is reset on Elementor pages. */
.orion-packages--page .orion-packages__container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 34px 16px;
	box-sizing: border-box;
}
@media (min-width: 640px) {
	.orion-packages--page .orion-packages__container { max-width: 640px; padding-top: 38px; padding-bottom: 38px; }
}
@media (min-width: 769px) {
	.orion-packages--page .orion-packages__container { max-width: 769px; padding-top: 60px; padding-bottom: 60px; }
}
@media (min-width: 992px) {
	.orion-packages--page .orion-packages__container { max-width: 992px; padding-top: 70px; padding-bottom: 70px; }
}
@media (min-width: 1199px) {
	.orion-packages--page .orion-packages__container { max-width: 1199px; }
}
@media (min-width: 1380px) {
	.orion-packages--page .orion-packages__container { max-width: 1380px; }
}
@media (min-width: 1752px) {
	.orion-packages--page .orion-packages__container { max-width: 1700px; }
}

/* Page title: mb-5 → 2xl:mb-[60px], center → sm:start. Header is title-only. */
.orion-packages--page .orion-packages__header {
	display: block;
	margin: 0;
}
.orion-packages--page .orion-packages__title {
	display: block;
	width: 100%;
	text-align: center;
	margin: 0 0 20px;
}
@media (min-width: 640px) {
	.orion-packages--page .orion-packages__title {
		text-align: start;
		margin-bottom: 24px;
	}
}
@media (min-width: 769px) {
	.orion-packages--page .orion-packages__title { margin-bottom: 32px; }
}
@media (min-width: 992px) {
	.orion-packages--page .orion-packages__title { margin-bottom: 40px; }
}
@media (min-width: 1380px) {
	.orion-packages--page .orion-packages__title { margin-bottom: 48px; }
}
@media (min-width: 1752px) {
	.orion-packages--page .orion-packages__title { margin-bottom: 60px; }
}

/* Page grid: sm:gap-[30px] (not gap-7) */
@media (min-width: 640px) {
	.orion-packages--page .orion-packages__grid { gap: 30px; }
}
@media (min-width: 1380px) {
	.orion-packages--page .orion-packages__grid { gap: 32px; }
}
@media (min-width: 1752px) {
	.orion-packages--page .orion-packages__grid { gap: 40px; }
}

/* Page cards: md:p-[27px] (not sm), xl:gap-4.5 (18px), justify-between */
.orion-packages--page .orion-package {
	justify-content: space-between;
	padding: 20px;
	gap: 20px;
}
@media (min-width: 640px) {
	.orion-packages--page .orion-package { flex-direction: row; padding: 20px; gap: 20px; }
}
@media (min-width: 769px) {
	.orion-packages--page .orion-package { padding: 27px; gap: 32px; }
}
@media (min-width: 1199px) {
	.orion-packages--page .orion-package { gap: 18px; }
}
@media (min-width: 1380px) {
	.orion-packages--page .orion-package { gap: 18px; }
}
@media (min-width: 1752px) {
	.orion-packages--page .orion-package { padding: 38px; gap: 30px; }
}

/* Page cols: xl:w-auto md:w-1/2 (subtitle carries fixed widths) */
.orion-packages--page .orion-package__col--main {
	width: 100%;
}
@media (min-width: 640px) {
	.orion-packages--page .orion-package__col--main { width: 100%; }
}
@media (min-width: 769px) {
	.orion-packages--page .orion-package__col--main { width: 50%; }
}
@media (min-width: 1199px) {
	.orion-packages--page .orion-package__col--main { width: auto; }
}

.orion-packages--page .orion-package__subtitle {
	width: 100%;
}
@media (min-width: 1199px) {
	.orion-packages--page .orion-package__subtitle { width: 210px; }
}
@media (min-width: 1380px) {
	.orion-packages--page .orion-package__subtitle { width: 224px; }
}
@media (min-width: 1752px) {
	.orion-packages--page .orion-package__subtitle { width: 257px; }
}

/* Page name margins: mb-3 / xl:mb-[7px] / 1xl:mb-3 / 2xl:mb-3.5 */
.orion-packages--page .orion-package__name { margin-bottom: 12px; }
@media (min-width: 1199px) {
	.orion-packages--page .orion-package__name { margin-bottom: 7px; }
}
@media (min-width: 1380px) {
	.orion-packages--page .orion-package__name { margin-bottom: 12px; line-height: 36px; }
}
@media (min-width: 1752px) {
	.orion-packages--page .orion-package__name { margin-bottom: 14px; }
}

/* Page price margins: mb-[10px] / xl:mb-[5px] / 1xl:mb-[10px] / 2xl:mb-2 */
.orion-packages--page .orion-package__price { margin-bottom: 10px; }
@media (min-width: 1199px) {
	.orion-packages--page .orion-package__price { margin-bottom: 5px; }
}
@media (min-width: 1380px) {
	.orion-packages--page .orion-package__price { margin-bottom: 10px; }
}
@media (min-width: 1752px) {
	.orion-packages--page .orion-package__price { margin-bottom: 8px; }
}
