/* ========================================================================
   Amboss Audition theme — single CSS bundle
   Logical-property based so the same file works in LTR (French) and RTL (Arabic).
   No CSS framework, no preprocessor — under 100KB minified.
   ======================================================================== */

/* ---------- Tokens — Amboss brand: blue #4054b2 primary, teal #1abc9c accent, purple #833ca3 highlight ---------- */
:root {
	--c-primary:        #4054b2;
	--c-primary-dark:   #324295;
	--c-primary-light:  #6677c8;
	--c-primary-soft:   #e7eaf7;
	--c-accent:         #1abc9c;
	--c-accent-dark:    #16a085;
	--c-accent-soft:    #d1f4eb;
	--c-highlight:      #833ca3;
	--c-highlight-dark: #6b2a85;
	--c-cta:            #833ca3;
	--c-cta-dark:       #6b2a85;
	--c-text:           #0f172a;
	--c-text-muted:     #475569;
	--c-text-soft:      #64748b;
	--c-bg:             #ffffff;
	--c-bg-alt:         #f5f7fb;
	--c-bg-deep:        #121a3a;
	--c-border:         #e4e8f3;
	--c-success:        #16a34a;
	--c-warning:        #f59e0b;

	--fz-xs:    .8125rem;
	--fz-sm:    .9375rem;
	--fz-base:  1rem;
	--fz-md:    1.125rem;
	--fz-lg:    1.375rem;
	--fz-xl:    2rem;
	--fz-2xl:   2.75rem;
	--fz-3xl:   3.5rem;

	--space-1:  .25rem;
	--space-2:  .5rem;
	--space-3:  .75rem;
	--space-4:  1rem;
	--space-5:  1.5rem;
	--space-6:  2rem;
	--space-7:  3rem;
	--space-8:  4.5rem;

	--radius-sm: 6px;
	--radius:    12px;
	--radius-lg: 20px;

	--shadow-sm: 0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.06);
	--shadow:    0 4px 8px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.06);
	--shadow-lg: 0 12px 24px rgba(15,23,42,.06), 0 24px 48px rgba(109,40,217,.08);

	--ff-sans-latin:  'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--ff-sans-arabic: 'Cairo', 'Noto Sans Arabic', 'Segoe UI', Tahoma, sans-serif;

	--container: 1200px;
	--header-h:  72px;
}

[lang="ar"], html[dir="rtl"] {
	--ff-body: var(--ff-sans-arabic);
}
:root, html[lang="fr"] {
	--ff-body: var(--ff-sans-latin);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body {
	margin: 0;
	font-family: var(--ff-body);
	font-size: var(--fz-base);
	line-height: 1.6;
	color: var(--c-text);
	background: var(--c-bg);
	overflow-x: clip;
}
img, svg, video, iframe { max-width: 100%; height: auto; display: block; }
a { color: var(--c-primary); text-decoration: none; }
a:hover { color: var(--c-primary-dark); }
button { font: inherit; cursor: pointer; }
h1,h2,h3,h4 { font-weight: 800; line-height: 1.2; margin: 0 0 var(--space-4); color: var(--c-text); }
h1 { font-size: clamp(2rem, 4vw + .5rem, var(--fz-3xl)); }
h2 { font-size: clamp(1.625rem, 2.5vw + .75rem, var(--fz-2xl)); margin-bottom: var(--space-5); }
h3 { font-size: var(--fz-lg); }
p  { margin: 0 0 var(--space-4); color: var(--c-text-muted); }
ul, ol { margin: 0 0 var(--space-4); padding-inline-start: 1.25em; }
hr { border: 0; border-top: 1px solid var(--c-border); margin: var(--space-6) 0; }

/* ---------- Layout primitives ---------- */
.amboss-container { max-width: var(--container); margin-inline: auto; padding-inline: var(--space-5); }
@media (min-width: 768px) { .amboss-container { padding-inline: var(--space-6); } }

.amboss-skip {
	position: absolute; inset-block-start: -100px; inset-inline-start: var(--space-4);
	background: var(--c-primary); color: #fff; padding: var(--space-2) var(--space-4);
	border-radius: var(--radius-sm); z-index: 100; text-decoration: none;
}
.amboss-skip:focus { inset-block-start: var(--space-4); }

/* ---------- Top bar ---------- */
.amboss-topbar {
	background: var(--c-bg-deep);
	color: #cbd5e1;
	font-size: var(--fz-xs);
	padding: var(--space-2) 0;
}
.amboss-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.amboss-topbar__phone { color: #fff; font-weight: 700; display: inline-flex; align-items: center; gap: var(--space-2); }
.amboss-topbar__phone:hover { color: #c4b5fd; }
.amboss-topbar__right { display: flex; align-items: center; gap: var(--space-4); }
.amboss-topbar__hours { display: none; }
@media (min-width: 768px) { .amboss-topbar__hours { display: inline; } }

.amboss-langswitch ul { display: inline-flex; gap: var(--space-3); list-style: none; padding: 0; margin: 0; }
.amboss-langswitch a { color: #cbd5e1; }
.amboss-langswitch .current-lang a { color: #fff; font-weight: 700; }

/* ---------- Header ---------- */
.amboss-header {
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-border);
	position: sticky;
	inset-block-start: 0;
	z-index: 50;
}
.amboss-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); min-height: var(--header-h); }

.amboss-brand__link { display: inline-flex; align-items: center; gap: var(--space-3); text-decoration: none; color: var(--c-text); }
.amboss-brand__mark {
	width: 40px; height: 40px; border-radius: 10px;
	background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
	color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 1.25rem;
}
.custom-logo-link img, .amboss-brand .custom-logo {
	max-height: 56px; width: auto;
}
.amboss-brand__name { display: flex; flex-direction: column; line-height: 1.1; }
.amboss-brand__name strong { font-size: var(--fz-md); font-weight: 800; }
.amboss-brand__name small { font-size: var(--fz-xs); color: var(--c-text-soft); margin-block-start: 2px; }

.amboss-burger { background: transparent; border: 0; padding: var(--space-2); display: grid; gap: 5px; }
.amboss-burger span { display: block; width: 24px; height: 2px; background: var(--c-text); transition: transform .2s, opacity .2s; }
.amboss-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.amboss-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.amboss-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (min-width: 1024px) { .amboss-burger { display: none; } }

.amboss-nav-wrap { display: none; align-items: center; gap: var(--space-5); }
.amboss-nav-wrap.is-open { display: flex; flex-direction: column; align-items: stretch; position: absolute; inset-inline: 0; inset-block-start: 100%; padding: var(--space-5); background: var(--c-bg); border-block-end: 1px solid var(--c-border); box-shadow: var(--shadow); }
@media (min-width: 1024px) { .amboss-nav-wrap { display: flex !important; flex-direction: row; position: static; padding: 0; background: transparent; border: 0; box-shadow: none; } }

.amboss-nav { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-3); }
@media (min-width: 1024px) { .amboss-nav { flex-direction: row; gap: var(--space-5); align-items: center; } }
.amboss-nav a { color: var(--c-text); font-weight: 600; padding: var(--space-2) 0; }
.amboss-nav a:hover, .amboss-nav a[aria-current="page"] { color: var(--c-primary); }

/* ---------- Buttons ---------- */
.amboss-btn {
	display: inline-flex; align-items: center; justify-content: center;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-5);
	border-radius: var(--radius);
	font-weight: 700;
	font-size: var(--fz-sm);
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
	border: 2px solid transparent;
	white-space: nowrap;
}
.amboss-btn--primary { background: var(--c-primary); color: #fff; box-shadow: var(--shadow-sm); }
.amboss-btn--primary:hover { background: var(--c-primary-dark); color: #fff; transform: translateY(-1px); box-shadow: var(--shadow); }
.amboss-btn--accent  { background: var(--c-accent); color: #fff; }
.amboss-btn--accent:hover { background: var(--c-accent-dark); color: #fff; }
.amboss-btn--cta     { background: var(--c-cta); color: #fff; }
.amboss-btn--cta:hover { background: var(--c-cta-dark); color: #fff; }
.amboss-btn--ghost   { background: transparent; color: var(--c-primary); border-color: var(--c-primary); }
.amboss-btn--ghost:hover { background: var(--c-primary); color: #fff; }

/* ---------- Sections ---------- */
.amboss-main > section { padding-block: var(--space-8); }
.amboss-section__head { margin-block-end: var(--space-6); }
.amboss-section__head--center { text-align: center; max-width: 720px; margin-inline: auto; }
.amboss-section__head h2 { margin-bottom: var(--space-3); }
.amboss-section__head p  { color: var(--c-text-muted); font-size: var(--fz-md); }
.amboss-section__cta { text-align: center; margin-block-start: var(--space-5); font-weight: 700; }

/* ---------- Hero ---------- */
.amboss-hero {
	position: relative;
	background:
		radial-gradient(80% 80% at 0% 0%, rgba(64,84,178,.12), transparent 60%),
		radial-gradient(60% 60% at 100% 100%, rgba(26,188,156,.08), transparent 60%),
		linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
	padding-block: var(--space-7) var(--space-8) !important;
	overflow: hidden;
}
.amboss-hero::before {
	content: ''; position: absolute; inset: 0;
	background-image:
		radial-gradient(circle at 20% 15%, rgba(64,84,178,.05) 1px, transparent 2px),
		radial-gradient(circle at 80% 85%, rgba(26,188,156,.04) 1px, transparent 2px);
	background-size: 60px 60px;
	pointer-events: none;
}
.amboss-hero__inner { position: relative; display: grid; gap: var(--space-7); grid-template-columns: 1fr; align-items: center; }
@media (min-width: 1024px) { .amboss-hero__inner { grid-template-columns: 1.1fr 1fr; gap: var(--space-8); } }

.amboss-hero__eyebrow {
	display: inline-flex; align-items: center; gap: var(--space-2);
	color: var(--c-primary);
	font-weight: 700;
	font-size: var(--fz-sm);
	background: var(--c-primary-soft);
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: var(--space-4);
}
.amboss-hero__eyebrow::before {
	content: ''; width: 8px; height: 8px; border-radius: 50%;
	background: var(--c-accent); box-shadow: 0 0 0 4px rgba(26,188,156,.20);
}
.amboss-hero__title { font-size: clamp(2.25rem, 4.5vw + .5rem, 3.75rem); line-height: 1.15; letter-spacing: -.02em; }
.amboss-hero__title em { font-style: normal; color: var(--c-primary); }
.amboss-hero__subtitle { font-size: var(--fz-md); color: var(--c-text-muted); max-width: 56ch; }
.amboss-hero__ctas { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-block: var(--space-5); }
.amboss-hero__bullets { list-style: none; padding: 0; display: flex; gap: var(--space-5); flex-wrap: wrap; color: var(--c-text); font-weight: 600; font-size: var(--fz-sm); }
.amboss-hero__bullets li { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--c-accent-dark); }

.amboss-hero__art { position: relative; display: grid; place-items: center; min-height: 320px; }
.amboss-hero__photo {
	position: relative;
	width: 100%;
	max-width: 560px;
	aspect-ratio: 4 / 5;
	border-radius: 32px 32px 240px 32px;
	overflow: hidden;
	box-shadow: 0 30px 60px rgba(64,84,178,.22);
}
.amboss-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.amboss-hero__photo::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(150deg, rgba(64,84,178,.12) 0%, transparent 50%);
	pointer-events: none;
}
.amboss-hero__chip {
	position: absolute;
	background: #fff;
	padding: var(--space-3) var(--space-4);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	display: flex; align-items: center; gap: var(--space-3);
	font-weight: 700;
	font-size: var(--fz-sm);
}
.amboss-hero__chip--top {
	inset-block-start: var(--space-5);
	inset-inline-start: -10px;
}
.amboss-hero__chip--bottom {
	inset-block-end: var(--space-5);
	inset-inline-end: -10px;
}
.amboss-hero__chip-icon {
	width: 36px; height: 36px; border-radius: 10px;
	background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
	color: #fff; display: grid; place-items: center; font-size: 1.1rem;
}
@media (max-width: 600px) {
	.amboss-hero__chip--top, .amboss-hero__chip--bottom { display: none; }
}

/* ---------- Grids ---------- */
.amboss-grid { display: grid; gap: var(--space-5); }
.amboss-grid--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.amboss-grid--4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.amboss-grid--5 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }

/* ---------- Cards ---------- */
.amboss-card {
	background: var(--c-bg);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	transition: transform .2s, box-shadow .2s, border-color .2s;
}
.amboss-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: transparent; }
.amboss-card__icon { width: 56px; height: 56px; border-radius: 14px; background: linear-gradient(135deg, rgba(109,40,217,.12), rgba(13,148,136,.10)); display: grid; place-items: center; font-size: 1.75rem; margin-bottom: var(--space-4); }
.amboss-card__title { margin-bottom: var(--space-2); font-size: var(--fz-md); }
.amboss-card__desc { color: var(--c-text-muted); font-size: var(--fz-sm); margin: 0; }

.amboss-card--post { padding: 0; overflow: hidden; }
.amboss-card--post .amboss-card__media { display: block; aspect-ratio: 16/9; overflow: hidden; }
.amboss-card--post .amboss-card__media img { width: 100%; height: 100%; object-fit: cover; }
.amboss-card--post .amboss-card__body { padding: var(--space-5); }

/* ---------- Why us reasons ---------- */
.amboss-why { background: var(--c-bg-alt); }
.amboss-reason {
	background: #fff;
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	border-block-start: 4px solid var(--c-primary);
	box-shadow: var(--shadow-sm);
}
.amboss-reason__num { font-size: var(--fz-2xl); font-weight: 900; color: var(--c-primary); line-height: 1; margin-bottom: var(--space-3); }
.amboss-reason__title { font-size: var(--fz-md); margin-bottom: var(--space-2); }
.amboss-reason__desc  { color: var(--c-text-muted); font-size: var(--fz-sm); margin: 0; }

/* ---------- Cities ---------- */
.amboss-city {
	display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2);
	padding: var(--space-5);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	background: #fff;
	color: var(--c-text);
	transition: transform .15s, box-shadow .15s, border-color .15s;
	font-weight: 700;
}
.amboss-city:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: var(--c-primary); color: var(--c-primary); }
.amboss-city__name { font-size: var(--fz-md); }

.amboss-badge {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: var(--fz-xs);
	font-weight: 700;
	background: rgba(245,158,11,.12); color: #b45309;
}
.amboss-badge--open { background: rgba(22,163,74,.12); color: var(--c-success); }

/* ---------- Contact section ---------- */
.amboss-contact { background: linear-gradient(180deg, #fff 0%, var(--c-bg-alt) 100%); }
.amboss-contact__grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 900px) { .amboss-contact__grid { grid-template-columns: 1fr 1.1fr; } }
.amboss-contact__copy h2 { margin-bottom: var(--space-4); }
.amboss-contact__map { aspect-ratio: 4/3; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--c-border); }
.amboss-contact__map iframe { width: 100%; height: 100%; border: 0; }

/* ---------- Footer ---------- */
.amboss-footer { background: var(--c-bg-deep); color: #cbd5e1; padding-block-start: var(--space-7); margin-block-start: var(--space-8); }
.amboss-footer__grid { display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.amboss-footer__title { color: #fff; font-size: var(--fz-md); margin-bottom: var(--space-4); }
.amboss-footer p, .amboss-footer address, .amboss-footer dd { color: #94a3b8; font-style: normal; }
.amboss-footer a { color: #cbd5e1; }
.amboss-footer a:hover { color: #c4b5fd; }
.amboss-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-2); }
.amboss-footer__links a { display: inline-flex; align-items: center; gap: var(--space-2); }
.amboss-hours { display: grid; gap: var(--space-2); margin: 0; }
.amboss-hours__row { display: flex; justify-content: space-between; gap: var(--space-3); }
.amboss-footer__bottom { border-block-start: 1px solid #1e293b; margin-block-start: var(--space-7); padding-block: var(--space-4); font-size: var(--fz-xs); color: #64748b; }

/* ---------- Article / generic content ---------- */
.amboss-content { padding-block: var(--space-7); }
.amboss-article__head { margin-bottom: var(--space-6); }
.amboss-article__title { font-size: clamp(2rem, 3vw + .5rem, 3rem); }
.amboss-article__meta { color: var(--c-text-soft); font-size: var(--fz-sm); }
.amboss-article__featured { margin-block: var(--space-5); border-radius: var(--radius-lg); overflow: hidden; }
.amboss-article__body :where(h2,h3,h4) { margin-block-start: var(--space-6); }
.amboss-article__body :where(p,ul,ol,blockquote) { font-size: var(--fz-md); }
.amboss-article__body img { border-radius: var(--radius); margin-block: var(--space-4); }
.amboss-article__body blockquote { border-inline-start: 4px solid var(--c-primary); padding: var(--space-4) var(--space-5); background: var(--c-bg-alt); border-radius: 0 var(--radius) var(--radius) 0; margin: var(--space-5) 0; }
.amboss-article__body a { text-decoration: underline; }

/* Buttons inside Elementor / inline content keep their look. Existing pages
   use .elementor-button — give it a safe override only when no theme styling collides. */
.amboss-article__body a.elementor-button {
	text-decoration: none;
}

/* ---------- 404 ---------- */
.amboss-404 { text-align: center; padding-block: var(--space-8); }
.amboss-404__title { font-size: clamp(4rem, 12vw, 8rem); background: linear-gradient(135deg, var(--c-primary), var(--c-accent)); -webkit-background-clip: text; background-clip: text; color: transparent; margin: 0; }

/* ---------- Pagination ---------- */
.amboss-pagination, .nav-links { display: flex; gap: var(--space-2); justify-content: center; margin-block-start: var(--space-6); }
.amboss-pagination a, .amboss-pagination span,
.nav-links a, .nav-links span { padding: var(--space-2) var(--space-4); border: 1px solid var(--c-border); border-radius: var(--radius-sm); }
.amboss-pagination .current, .nav-links .current { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }

/* ---------- WooCommerce baseline ---------- */
.amboss-shop .woocommerce ul.products { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-5); }
.amboss-shop .woocommerce ul.products li.product { background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); padding: var(--space-4); text-align: center; transition: transform .15s, box-shadow .15s; }
.amboss-shop .woocommerce ul.products li.product:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.amboss-shop .woocommerce ul.products li.product img { border-radius: var(--radius-sm); }
.amboss-shop .woocommerce ul.products li.product .price { color: var(--c-accent-dark); font-weight: 800; }
.amboss-shop .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: var(--c-primary) !important; color: #fff !important; border-radius: var(--radius) !important; padding: var(--space-3) var(--space-5) !important; font-weight: 700 !important; }
.amboss-shop .woocommerce a.button:hover { background: var(--c-primary-dark) !important; }

/* ---------- Comments ---------- */
.amboss-comments { margin-block-start: var(--space-7); }
.amboss-comments__list { list-style: none; padding: 0; }
.amboss-comments .comment-body { background: var(--c-bg-alt); padding: var(--space-4); border-radius: var(--radius); margin-block-end: var(--space-4); }

/* ---------- RTL adjustments ---------- */
html[dir="rtl"] .amboss-burger span { transform-origin: center; }
html[dir="rtl"] .amboss-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(-45deg); }
html[dir="rtl"] .amboss-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(45deg); }

/* Better Arabic line-height — Cairo runs slightly tall */
html[dir="rtl"] body { line-height: 1.75; }
html[dir="rtl"] :where(h1,h2,h3) { line-height: 1.3; }

/* ---------- Self-hosted fonts ---------- */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: local('Inter'), local('Inter-Variable');
}
@font-face {
	font-family: 'Cairo';
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: local('Cairo'), local('Cairo-Variable');
}

/* ---------- Trust strip ---------- */
.amboss-trust {
	background: var(--c-bg);
	border-block-start: 1px solid var(--c-border);
	border-block-end: 1px solid var(--c-border);
	padding-block: var(--space-5) !important;
}
.amboss-trust__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--space-5);
	align-items: center;
}
.amboss-trust__item {
	display: flex; align-items: center; gap: var(--space-3);
	color: var(--c-text);
	font-weight: 700;
	font-size: var(--fz-sm);
}
.amboss-trust__icon {
	width: 44px; height: 44px;
	border-radius: 12px;
	background: var(--c-primary-soft);
	color: var(--c-primary);
	display: grid; place-items: center;
	flex-shrink: 0;
	font-size: 1.25rem;
}

/* ---------- How it works (3-step process) ---------- */
.amboss-process { background: var(--c-bg-alt); position: relative; }
.amboss-process__list { display: grid; gap: var(--space-5); grid-template-columns: 1fr; counter-reset: step; }
@media (min-width: 768px) { .amboss-process__list { grid-template-columns: repeat(3, 1fr); } }

.amboss-step {
	background: #fff;
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	position: relative;
	box-shadow: var(--shadow-sm);
	counter-increment: step;
	transition: transform .2s, box-shadow .2s;
}
.amboss-step:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.amboss-step::before {
	content: counter(step, decimal-leading-zero);
	position: absolute;
	inset-block-start: -22px;
	inset-inline-start: var(--space-5);
	background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
	color: #fff;
	width: 44px; height: 44px;
	border-radius: 12px;
	display: grid; place-items: center;
	font-weight: 800;
	font-size: var(--fz-md);
	box-shadow: 0 8px 16px rgba(64,84,178,.30);
}
.amboss-step__icon { font-size: 2rem; margin-block: var(--space-3) var(--space-4); }
.amboss-step__title { font-size: var(--fz-md); margin-bottom: var(--space-2); }
.amboss-step__desc  { color: var(--c-text-muted); font-size: var(--fz-sm); margin: 0; }

/* Connector line between steps on desktop */
@media (min-width: 768px) {
	.amboss-process__list { position: relative; }
	.amboss-process__list::before {
		content: ''; position: absolute;
		inset-block-start: 0;
		inset-inline-start: 16.66%;
		inset-inline-end: 16.66%;
		height: 2px;
		background: repeating-linear-gradient(to right, var(--c-primary) 0 8px, transparent 8px 16px);
		opacity: .3;
	}
}

/* ---------- Service cards with real product photos ---------- */
.amboss-card--photo { padding: 0; overflow: hidden; }
.amboss-card--photo .amboss-card__media {
	display: block; aspect-ratio: 4/3; overflow: hidden;
	background: var(--c-primary-soft);
}
.amboss-card--photo .amboss-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .4s ease;
}
.amboss-card--photo:hover .amboss-card__media img { transform: scale(1.05); }
.amboss-card--photo .amboss-card__body { padding: var(--space-5); }

/* ---------- Cities section refresh ---------- */
.amboss-cities {
	background: linear-gradient(180deg, #fff 0%, var(--c-primary-soft) 100%);
}

/* ---------- Floating WhatsApp button (sticky every page) ---------- */
.amboss-whatsapp {
	position: fixed;
	inset-block-end: 20px;
	inset-inline-end: 20px;
	z-index: 90;
	background: #25d366;
	color: #fff;
	width: 56px; height: 56px;
	border-radius: 50%;
	display: grid; place-items: center;
	box-shadow: 0 6px 16px rgba(37,211,102,.4), 0 0 0 0 rgba(37,211,102,.5);
	text-decoration: none;
	transition: transform .2s, box-shadow .2s;
	animation: amboss-pulse 2.5s infinite;
}
.amboss-whatsapp:hover { transform: scale(1.08); color: #fff; }
.amboss-whatsapp svg { width: 30px; height: 30px; fill: currentColor; }
@keyframes amboss-pulse {
	0%   { box-shadow: 0 6px 16px rgba(37,211,102,.4), 0 0 0 0   rgba(37,211,102,.5); }
	70%  { box-shadow: 0 6px 16px rgba(37,211,102,.4), 0 0 0 18px rgba(37,211,102,0); }
	100% { box-shadow: 0 6px 16px rgba(37,211,102,.4), 0 0 0 0   rgba(37,211,102,0); }
}
@media (min-width: 1024px) {
	.amboss-whatsapp { width: 60px; height: 60px; inset-block-end: 24px; inset-inline-end: 24px; }
}

/* ---------- Reasons cards w/ teal accent (medical feel) ---------- */
.amboss-reason { border-block-start-color: var(--c-accent); }
.amboss-reason:nth-child(odd) { border-block-start-color: var(--c-primary); }

/* ---------- Section headers — center variant gets accent line ---------- */
.amboss-section__head--center::after {
	content: ''; display: block;
	width: 64px; height: 4px; margin: var(--space-4) auto 0;
	background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
	border-radius: 4px;
}

/* ========================================================================
   Mobile-specific tweaks (≤ 720px)
   ======================================================================== */
@media (max-width: 720px) {
	:root { --header-h: 64px; }
	.amboss-main > section { padding-block: var(--space-7); }
	.amboss-hero { padding-block: var(--space-6) var(--space-7) !important; }
	.amboss-hero__inner { gap: var(--space-5); }
	.amboss-hero__photo { max-width: 380px; aspect-ratio: 4/4; border-radius: 24px 24px 120px 24px; }
	.amboss-hero__bullets { gap: var(--space-3); font-size: var(--fz-xs); }
	.amboss-hero__ctas .amboss-btn { width: 100%; justify-content: center; }
	.amboss-topbar { font-size: 11px; }
	.amboss-topbar__phone { font-size: 12px; }
	.amboss-topbar__inner { gap: var(--space-2); }
	.amboss-section__head h2 { font-size: 1.625rem; line-height: 1.25; }
	.amboss-card { padding: var(--space-5); }
	.amboss-grid { gap: var(--space-4); }
	.amboss-grid--5 { grid-template-columns: repeat(2, 1fr); }
	.amboss-contact__map { aspect-ratio: 16/12; }
	.amboss-footer__grid { gap: var(--space-5); }
}

/* Very narrow phones (≤ 380px) — drop padding further so nothing overflows. */
@media (max-width: 380px) {
	.amboss-container { padding-inline: var(--space-4); }
	.amboss-hero__title { font-size: 1.875rem !important; }
	.amboss-grid--5 { grid-template-columns: 1fr; }
}

/* ========================================================================
   Print
   ======================================================================== */
@media print {
	.amboss-topbar, .amboss-burger, .amboss-nav-wrap, .amboss-footer__bottom, .amboss-whatsapp { display: none !important; }
	.amboss-header, .amboss-footer { background: #fff !important; color: #000 !important; }
	.amboss-main > section { padding-block: 1rem !important; }
}
