/* Inner-page hero (sales / article / compact). Compact, content-sized; shares tokens with the header and homepage hero. */
.im-ph {
	--ph-navy: #050816;
	--ph-navy-2: #0d1538;
	--ph-blue: #2f6bff;
	--ph-violet: #7b4dff;
	--ph-cyan: #22d3ee;
	--ph-ink: #eef1ff;
	--ph-muted: #b4bddf;
	--ph-line: rgba(160, 180, 255, 0.16);
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--ph-ink);
	font-family: var(--wdtFontTypo_Base, system-ui, sans-serif);
	background:
		radial-gradient(55% 80% at 88% 0%, rgba(123, 77, 255, 0.20), transparent 60%),
		radial-gradient(45% 70% at 0% 100%, rgba(34, 211, 238, 0.10), transparent 60%),
		linear-gradient(180deg, var(--ph-navy-2) 0%, var(--ph-navy) 100%);
	border-bottom: 1px solid var(--ph-line);
}
.im-ph::before { /* faint grid */
	content: "";
	position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image: linear-gradient(rgba(160, 180, 255, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(160, 180, 255, 0.05) 1px, transparent 1px);
	background-size: 44px 44px;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 85%);
	mask-image: linear-gradient(180deg, #000 0%, transparent 85%);
}
.im-ph__inner {
	max-width: 1240px; margin: 0 auto;
	padding: 48px 24px 52px;
	display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center;
}
.im-ph--sales.has-media .im-ph__inner { grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr); }
.im-ph--compact .im-ph__inner { padding: 36px 24px 34px; }
.im-ph--article .im-ph__inner { max-width: 960px; padding: 40px 24px 36px; }

/* Breadcrumbs (Rank Math markup) */
.im-ph__crumbs { margin: 0 0 18px; font-size: 13.5px; color: var(--ph-muted); line-height: 1.5; }
.im-ph__crumbs a { color: var(--ph-muted); text-decoration: none; }
.im-ph__crumbs a:hover, .im-ph__crumbs a:focus-visible { color: #fff; text-decoration: underline; }
.im-ph__crumbs .last, .im-ph__crumbs > span:last-child { color: #fff; }
.im-ph__sep { margin: 0 8px; opacity: .5; }

.im-ph__label {
	display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 6px 12px;
	border: 1px solid var(--ph-line); border-radius: 999px; background: rgba(47, 107, 255, 0.10);
	color: var(--ph-cyan); font: 700 12px/1.2 var(--wdtFontTypo_Alt, system-ui, sans-serif); letter-spacing: .08em; text-transform: uppercase;
}
.im-ph__label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ph-cyan); box-shadow: 0 0 10px var(--ph-cyan); }
.im-ph__label a { color: inherit; text-decoration: none; }
.im-ph__title {
	/* em, not ch: ch follows the loaded font's glyph width, so the box resized when the web font swapped in (CLS). */
	margin: 0 0 16px !important; max-width: 12em;
	color: #fff !important; font: 800 clamp(32px, 4.2vw, 54px)/1.08 var(--wdtFontTypo_Alt, system-ui, sans-serif) !important;
	letter-spacing: -0.02em; text-wrap: balance;
}
.im-ph--compact .im-ph__title { max-width: none; font-size: clamp(28px, 3.2vw, 42px) !important; margin-bottom: 8px !important; }
.im-ph--article .im-ph__title { max-width: 16em; font-size: clamp(30px, 3.6vw, 46px) !important; }
.im-ph__lead { margin: 0 0 20px; max-width: 58ch; color: var(--ph-muted); font-size: clamp(16px, 1.35vw, 19px); line-height: 1.6; }
.im-ph--compact .im-ph__lead { margin: 0; }

.im-ph__points { list-style: none; margin: 0 0 26px !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.im-ph__points li {
	margin: 0; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px;
	border-radius: 10px; border: 1px solid var(--ph-line); background: rgba(255, 255, 255, 0.03);
	font-size: 14px; font-weight: 600; color: var(--ph-ink);
}
.im-ph__points li::before {
	content: ""; width: 16px; height: 16px; border-radius: 50%; flex: 0 0 auto;
	background: rgba(34, 211, 238, 0.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 10px no-repeat;
}

.im-ph__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.im-ph__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 22px; border-radius: 999px;
	font: 700 15px/1.2 var(--wdtFontTypo_Alt, system-ui, sans-serif); text-decoration: none !important; text-align: center;
	transition: transform .2s ease, filter .2s ease, background-color .2s ease;
}
.im-ph__btn--primary { color: #fff !important; background: linear-gradient(135deg, var(--ph-blue), var(--ph-violet)); box-shadow: 0 14px 32px -14px rgba(47, 107, 255, .95); }
.im-ph__btn--primary:hover, .im-ph__btn--primary:focus-visible { transform: translateY(-1px); filter: brightness(1.08); }
.im-ph__btn--ghost { color: #fff !important; border: 1px solid rgba(255, 255, 255, .26); background: rgba(255, 255, 255, .04); }
.im-ph__btn--ghost:hover, .im-ph__btn--ghost:focus-visible { background: rgba(255, 255, 255, .1); }
.im-ph a:focus-visible { outline: 2px solid var(--ph-cyan); outline-offset: 3px; }

.im-ph__media {
	position: relative; border-radius: 22px; padding: 8px;
	background: linear-gradient(150deg, rgba(91, 140, 255, .45), rgba(123, 77, 255, .25) 40%, rgba(34, 211, 238, .25));
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .9);
}
.im-ph__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; max-width: 100%; }

.im-ph__byline { margin: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; color: var(--ph-muted); font-size: 14px; }
.im-ph__byline span + span::before { content: "·"; margin-right: 18px; margin-left: -10px; opacity: .6; }

/* The theme wraps its banner area in #header-wrapper: make sure nothing adds extra height around the hero. */
.im-has-header #header-wrapper .im-ph { margin: 0; }
.im-ph-sales #main, .im-ph-article #main, .im-ph-compact #main { padding-top: 0; }

@media (max-width: 1023px) {
	.im-ph--sales.has-media .im-ph__inner { grid-template-columns: 1fr; gap: 28px; }
	.im-ph__inner { padding: 36px 20px 40px; }
	.im-ph__media img { aspect-ratio: 16 / 9; }
	.im-ph__title { max-width: none; }
}
@media (max-width: 600px) {
	.im-ph__inner, .im-ph--compact .im-ph__inner, .im-ph--article .im-ph__inner { padding: 28px 16px 32px; }
	.im-ph__actions { flex-direction: column; }
	.im-ph__btn { width: 100%; }
	.im-ph__points li { font-size: 13.5px; }
	.im-ph__media { padding: 6px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.im-ph__btn { transition: none; }
}

/* Theme list-item spacing would offset chips; align the article header with the 1080px content column. */
.im-ph .im-ph__points li, .im-ph .im-ph__points li + li { margin: 0 !important; padding-top: 8px; padding-bottom: 8px; line-height: 1.2; }
.im-ph--article .im-ph__inner { max-width: 1128px; }


/* Posts: the theme fills an empty previous/next story box (oldest/newest post) with its demo placeholder image and a '#' link. Hide that box. */
.post-prev-link.no-post, .post-next-link.no-post { display: none !important; }

/* WooCommerce notices (empty cart, info, messages) in the site palette instead of the theme's pale boxes. */
.woocommerce-cart .woocommerce-info, .woocommerce-cart .cart-empty, .woocommerce-checkout .woocommerce-info, .woocommerce-account .woocommerce-info, .woocommerce .woocommerce-message {
	background: linear-gradient(180deg, #101a42, #0b1230) !important; color: #eef1ff !important; border: 1px solid rgba(160, 180, 255, .2) !important; border-left: 4px solid #22d3ee !important; border-radius: 14px !important; padding: 16px 20px !important;
}
.woocommerce-cart .woocommerce-info::before, .woocommerce-cart .cart-empty::before { color: #22d3ee !important; }
.woocommerce-cart .return-to-shop { margin-top: 18px; }
