/*
 * Divi Child — ORL pillar page styles.
 * BEM prefix: inventorl-  (never overrides Divi core selectors).
 *
 * Layout principle:
 *   - .inventorl-pillar  = full viewport width, no constraints
 *   - every section      = full width with its own background
 *   - content centering  = padding-left/right: max(20px, calc(50vw - 750px))
 *     → centers content to max 1500px on any viewport
 */

/* =============================================
   CONTAINER — full width, no max-width
   ============================================= */

.inventorl-pillar {
	/* Page-level tokens shared by the section cards (booking, surgery) and headings. */
	--im-surface: #f4f7fb;
	--im-surface-blue: #eef6fb;
	--im-card-radius: 16px;
	--im-card-shadow: 0 10px 40px rgba(14, 42, 71, 0.08);
	--im-brand-gradient: linear-gradient(160deg, var(--im-blue, #17457a) 0%, var(--im-navy, #0e2a47) 100%);
	--im-heading-bar-w: 48px;
	--im-heading-bar-h: 4px;
	width: 100%;
	color: #1a1f2b;
	line-height: 1.65;
	font-size: 1rem;
}

.inventorl-pillar p {
	font-size: 1rem;
}

/* =============================================
   CONTENT-CENTERING CUSTOM PROPERTY
   Equivalent to: max-width 1500px centered,
   minimum 20px gutter on narrow screens.
   ============================================= */

:root {
	--orl-side: max(20px, calc(50vw - 750px));
}

/* =============================================
   BREADCRUMB
   ============================================= */

.inventorl-breadcrumb {
	font-size: 0.98rem;
	color: #556174;
	margin-bottom: 20px;
}

.inventorl-breadcrumb__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.inventorl-breadcrumb__item + .inventorl-breadcrumb__item::before {
	content: "›";
	margin-right: 6px;
	color: #97a3b6;
}

.inventorl-breadcrumb__item a {
	color: #17457a;
	text-decoration: none;
}

.inventorl-breadcrumb__item a:hover,
.inventorl-breadcrumb__item a:focus {
	text-decoration: underline;
}

.inventorl-pillar__hero .inventorl-breadcrumb {
	color: rgba(255, 255, 255, 0.70);
}

.inventorl-pillar__hero .inventorl-breadcrumb__item + .inventorl-breadcrumb__item::before {
	color: rgba(255, 255, 255, 0.40);
}

.inventorl-pillar__hero .inventorl-breadcrumb__item a {
	color: rgba(255, 255, 255, 0.80);
}

.inventorl-pillar__hero .inventorl-breadcrumb__item a:hover,
.inventorl-pillar__hero .inventorl-breadcrumb__item a:focus {
	color: #fff;
}

/* =============================================
   HERO — full-width, background image
   ============================================= */


.inventorl-pillar__hero {
	position: relative;
	/* Opaque navy on the text side (keeps white text ≥ AA), fading to let the photo show behind the orbit. */
	background-image:
		linear-gradient(90deg, rgba(14, 55, 110, 0.96) 0%, rgba(14, 55, 110, 0.93) 48%, rgba(24, 80, 140, 0.80) 72%, rgba(49, 128, 192, 0.55) 100%),
		url('https://inventmedical.ro/wp-content/uploads/2019/06/Centrul-Medical-Invent-Cabinet-ORL.jpg');
	background-size: cover;
	background-position: center;
	padding-top: 120px;
	padding-bottom: 80px;
	padding-left: var(--orl-side);
	padding-right: var(--orl-side);
	color: #fff;
	min-height: 440px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.inventorl-pillar__title {
	font-size: clamp(2.01rem, 2.5vw + 1.15rem, 2.5rem);
	margin: 24px 0 var(--im-space-3, 24px);
	color: var(--im-navy, #0e2a47);
}

.inventorl-pillar__hero .inventorl-pillar__title {
	color: #fff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
	margin-top: 0;
	max-width: 800px;
}

/* Light accent bar on the dark hero. */
.inventorl-pillar__hero .inventorl-pillar__title::after {
	background: #00a5e5;
}

.inventorl-pillar__intro p {
	margin: 0 0 16px;
	font-size: 1.21rem;
}

.inventorl-pillar__hero .inventorl-pillar__intro {
	max-width: 800px;
}

.inventorl-pillar__hero .inventorl-pillar__intro p {
	color: rgba(255, 255, 255, 0.85);
	padding-bottom:0;
}

.inventorl-pillar__address {
	font-style: italic;
	color: #556174;
}

body #main-content .inventorl-breadcrumb__item a:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button){
	color:#fff!important;
}
.inventorl-pillar__address {
	display: flex;
	align-items: center;
	gap: 8px;
	font-style: normal;
}

.inventorl-pillar__address-icon {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
}

.inventorl-pillar__hero .inventorl-pillar__address {
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	display: inline-flex;
	padding: 10px 16px;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 1rem;
	font-style: normal;
	font-weight: 500;
	margin-bottom: 8px;
}

/* =============================================
   CTA BUTTON
   ============================================= */

.inventorl-cta {
	margin: 24px 0;
}

.inventorl-cta__button {
	display: inline-block;
	background: #17457a;
	color: #fff;
	padding: 14px 28px;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease;
}

.inventorl-cta__button:hover,
.inventorl-cta__button:focus {
	background: #0e2a47;
	color: #fff;
}

/* White button on dark backgrounds (hero, surgery band). */
.inventorl-pillar__hero .inventorl-cta__button,
.inventorl-chirurgie__band .inventorl-cta__button {
	background: #fff;
	color: #0e2a47;
	border-radius: 4px;
	font-size: 1rem;
	letter-spacing: 0.02em;
	padding: 15px 30px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.inventorl-pillar__hero .inventorl-cta__button:hover,
.inventorl-pillar__hero .inventorl-cta__button:focus,
.inventorl-chirurgie__band .inventorl-cta__button:hover,
.inventorl-chirurgie__band .inventorl-cta__button:focus {
	background: #4dd9f4;
	color: #0e2a47;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}

/* =============================================
   TRUST BAND — full-width, navy
   ============================================= */

.inventorl-trust-band {
	background:var(--im-brand-gradient);
	padding: 28px var(--orl-side);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	text-align: center;
	margin-bottom: 0;
}

.inventorl-trust-band__item strong {
	display: block;
	font-size: 1.38rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 4px;
	line-height: 1.3;
}

.inventorl-trust-band__item span {
	font-size: 0.94rem;
	color: #fff;
	line-height: 1.4;
}

/* =============================================
   SECTIONS — all full-width, content centered
   ============================================= */

.inventorl-pillar__section {
	padding: 48px var(--orl-side);
	scroll-margin-top: 96px;
}

.inventorl-pillar__section h2 {
	font-size: clamp(1.61rem, 1.5vw + 1.04rem, 2.30rem);
	margin: 0 0 var(--im-space-3, 24px);
	color: #014c93;
}

/* Heading system: H1 (hero) + every section H2 — bold, short accent bar, no full-width rule. */
.inventorl-pillar__title,
.inventorl-pillar__section h2 {
	position: relative;
	padding: 0 0 var(--im-space-2, 16px);
	border: 0;
	font-weight: 700;
	line-height: 1.2;
}

.inventorl-pillar__title::after,
.inventorl-pillar__section h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: var(--im-heading-bar-w);
	height: var(--im-heading-bar-h);
	border-radius: calc(var(--im-heading-bar-h) / 2);
	background: #014c93;
}

/* Card / subsection H3 — one colour and weight across the page. */
.inventorl-pillar__section h3 {
	padding-bottom: 0;
	color: var(--im-navy, #0e2a47);
	font-weight: 700;
	line-height: 1.3;
}

.inventorl-pillar__subsection {
	margin: 24px 0;
}

.inventorl-pillar__subsection h3 {
	font-size: 1.38rem;
	margin: 0 0 8px;
}

.inventorl-pillar__section--bg-gray {
	background: #f5f7fa;
}

.inventorl-pillar__section--bg-blue {
	background: var(--im-surface-blue);
}

.inventorl-pillar__section--cta,
.inventorl-pillar__section--soft {
	background: var(--im-surface);
}

.inventorl-pillar__section--cta {
	border-top: 4px solid #17457a;
}

.inventorl-pillar__contact {
	font-style: normal;
	margin: 16px 0;
}

/* Tariffs container */
.inventorl-pillar__tariffs {
	margin: 24px 0;
}

/* =============================================
   DOCTORS GRID
   ============================================= */

.inventorl-medici {
	list-style: none;
	padding: 0;
	margin: 24px 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
}

.inventorl-medici__item {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.inventorl-medici__item:hover {
	box-shadow: 0 6px 16px rgba(14, 42, 71, 0.1);
	transform: translateY(-2px);
}

.inventorl-medici__link {
	display: block;
	padding: 16px;
	color: inherit;
	text-decoration: none;
}

.inventorl-medici__photo {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 6px;
	margin-bottom: 12px;
}

.inventorl-medici__name {
	display: block;
	font-weight: 700;
	color: #0e2a47;
	font-size: 1.17rem;
}

.inventorl-medici__specialitate {
	display: block;
	font-size: 0.90rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #17457a;
	margin-top: 6px;
}

.inventorl-medici__grad {
	display: block;
	font-size: 1.04rem;
	color: #556174;
	margin-top: 2px;
}

/* =============================================
   FAQ
   ============================================= */

.inventorl-faq__list {
	margin: 24px 0;
}

.inventorl-faq__item {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	margin-bottom: 12px;
	padding: 0 20px;
}

.inventorl-faq__question {
	cursor: pointer;
	padding: 16px 0;
	font-weight: 600;
	color: #0e2a47;
	list-style: none;
	position: relative;
	padding-right: 32px;
}

.inventorl-faq__question::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.61rem;
	color: #17457a;
	transition: transform 0.2s ease;
}

.inventorl-faq__item[open] .inventorl-faq__question::after {
	content: "−";
}

.inventorl-faq__question::-webkit-details-marker {
	display: none;
}

.inventorl-faq__answer {
	padding: 0 0 16px;
	color: #2c3648;
}

/* =============================================
   AFECTIUNI CARD GRID
   ============================================= */

.inventorl-afectiuni__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin: 24px 0;
}

.inventorl-afectiuni__card {
	background: #fff;
	border: 1px solid #d9e3f0;
	border-left: 3px solid #17457a;
	padding: 20px 20px 16px;
	position: relative;
	overflow: hidden;
}

.inventorl-afectiuni__card::after {
	content: "";
	position: absolute;
	right: -12px;
	bottom: -12px;
	width: 200px;
	height: 200px;
	background-image: var(--afectiuni-bg-icon);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom right;
	opacity: 0.07;
	pointer-events: none;
}

.inventorl-afectiuni__card h3,
.inventorl-chirurgie__card h3 {
	font-size: 1.27rem;
	margin: 0 0 10px;
}

.inventorl-afectiuni__card p {
	margin: 0 0 10px;
	font-size: 1.12rem;
}

/* =============================================
   CHIRURGIE CARD GRID
   ============================================= */

/* Intro layout, text column and brand card are shared with .im-booking (see BOOKING). */

.inventorl-chirurgie .inventorl-chirurgie__steps {
	margin: 0;
}

.inventorl-chirurgie .inventorl-chirurgie__steps-title {
	margin: 0 0 var(--im-space-1, 8px);
	padding: 0;
}

.inventorl-chirurgie__step-list {
	display: flex;
	flex-direction: column;
	gap: var(--im-space-3, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.inventorl-chirurgie__step {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	padding: 0;
}

/* Vertical connector between the step icons. */
.inventorl-chirurgie__step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 48px;
	bottom: calc(var(--im-space-3, 24px) * -1 + 6px);
	left: 20px;
	width: 2px;
	border-radius: 1px;
	background: rgba(255, 255, 255, 0.22);
}

/* Same translucent pill as the hero address. */
.inventorl-chirurgie__step-icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.inventorl-chirurgie__step-icon svg {
	width: 20px;
	height: 20px;
}

.inventorl-chirurgie__step-body {
	display: block;
}

.inventorl-chirurgie__step-title {
	display: block;
	padding-top: 9px;
	color: #fff;
	font-weight: 700;
	line-height: 1.4;
}

.inventorl-chirurgie__step-text {
	display: block;
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.65;
}

/* ---- Cards ---- */

.inventorl-chirurgie__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--im-space-3, 24px);
	margin: var(--im-space-5, 64px) 0 0;
}

.inventorl-chirurgie__card {
	display: flex;
	flex-direction: column;
	padding: 32px;
	border-radius: var(--im-card-radius);
	background: #fff;
	box-shadow: var(--im-card-shadow);
}

/* Organ icon (same assets as the conditions section), tinted via mask. */
.inventorl-chirurgie__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: var(--im-space-2, 16px);
	border-radius: 50%;
	background: var(--im-surface-blue);
	background: color-mix(in srgb, var(--im-blue, #17457a) 12%, #fff);
}

.inventorl-chirurgie__icon::before {
	content: "";
	width: 30px;
	height: 30px;
	background-color: var(--im-navy, #0e2a47);
	-webkit-mask: var(--chirurgie-icon) center / contain no-repeat;
	mask: var(--chirurgie-icon) center / contain no-repeat;
}

.inventorl-pillar .inventorl-chirurgie__card p,
.inventorl-chirurgie__list li {
	font-size: 1rem;
	line-height: 1.65;
}

.inventorl-pillar .inventorl-chirurgie__card p {
	margin: 0 0 12px;
	padding: 0;
}

.inventorl-chirurgie__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 0 var(--im-space-2, 16px);
	padding: 0;
	list-style: none;
}

.inventorl-chirurgie__list li {
	position: relative;
	margin: 0;
	padding: 0 0 0 28px;
}

.inventorl-chirurgie__list li::before {
	content: "";
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 18px;
	height: 18px;
	background-color: var(--im-blue-light, #3180c0);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M16.7 5.3a1 1 0 010 1.4l-8 8a1 1 0 01-1.4 0l-4-4a1 1 0 011.4-1.4L8 12.58l7.3-7.3a1 1 0 011.4 0z' clip-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M16.7 5.3a1 1 0 010 1.4l-8 8a1 1 0 01-1.4 0l-4-4a1 1 0 011.4-1.4L8 12.58l7.3-7.3a1 1 0 011.4 0z' clip-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
}

body #main-content .inventorl-chirurgie__list a:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button) {
	color: var(--im-blue, #17457a) !important;
	font-weight: 600;
	text-decoration: underline !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

body #main-content .inventorl-chirurgie__list a:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button):hover {
	color: var(--im-navy, #0e2a47) !important;
}

.inventorl-chirurgie__list a:focus-visible {
	outline: 2px solid var(--im-blue-light, #3180c0);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Info note — pinned to the card bottom (margin-top: auto in the flex column). */
.inventorl-chirurgie__note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: auto;
	padding: 14px 16px;
	border-left: 3px solid var(--im-blue, #17457a);
	background: var(--im-surface-blue);
	color: var(--im-text, #2b3440);
}

.inventorl-pillar .inventorl-chirurgie__note p {
	margin: 0;
	font-weight: 500;
}

.inventorl-chirurgie__note-icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	color: var(--im-blue, #17457a);
}

/* ---- Actions ---- */

.inventorl-chirurgie__band {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--im-space-2, 16px) var(--im-space-3, 24px);
	margin: var(--im-space-4, 40px) 0 0;
	padding: 20px 28px;
	border-radius: var(--im-card-radius);
	background: var(--im-brand-gradient);
}

.inventorl-pillar .inventorl-chirurgie__band-text {
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.4;
}

.inventorl-chirurgie__band .inventorl-cta {
	margin: 0;
	padding: 0;
}

/* Keep the white button's navy label over the Divi link colour (hero + band). */
body #main-content .inventorl-pillar__hero a.inventorl-cta__button:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button),
body #main-content .inventorl-chirurgie__band a.inventorl-cta__button:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button) {
	color: var(--im-navy, #0e2a47) !important;
	text-decoration: none !important;
}

@media (max-width: 1023.98px) {
	.inventorl-chirurgie__grid {
		grid-template-columns: minmax(0, 1fr);
		margin-top: var(--im-space-4, 40px);
	}
}

@media (max-width: 767.98px) {
	.inventorl-chirurgie__card {
		padding: 24px;
	}

	.inventorl-chirurgie__band {
		padding: 20px;
	}

	.inventorl-chirurgie__band .inventorl-cta,
	.inventorl-chirurgie__band .inventorl-cta__button {
		display: block;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.inventorl-chirurgie__list a {
		transition: none;
	}
}

/* =============================================
   ARTICOLE — latest ORL blog posts (#articole-orl)
   4 per row desktop, 2 tablet, 1 mobile. Cards reuse
   the surgery card tokens; the whole card is clickable
   through the title link (stretched ::after).
   ============================================= */

.inventorl-pillar .inventorl-articole__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--im-space-3, 24px);
	margin: var(--im-space-4, 40px) 0 0;
	padding: 0;
	list-style: none;
}

.inventorl-pillar .inventorl-articole__item {
	display: flex;
	margin: 0;
	padding: 0;
}

.inventorl-articole__card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	border-radius: var(--im-card-radius);
	background: #fff;
	box-shadow: var(--im-card-shadow);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.inventorl-articole__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--im-brand-gradient);
}

.inventorl-articole__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s var(--im-ease, ease);
}

.inventorl-articole__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: var(--im-space-3, 24px);
}

.inventorl-articole__date {
	display: block;
	margin-bottom: var(--im-space-1, 8px);
	color: #556174;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.inventorl-pillar__section h3.inventorl-articole__title {
	margin: 0 0 10px;
	font-size: 1.1rem;
	line-height: 1.35;
}

body #main-content .inventorl-articole__card a.inventorl-articole__link:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button) {
	color: var(--im-navy, #0e2a47) !important;
	text-decoration: none !important;
}

/* Stretched link: the whole card is the click target. */
.inventorl-articole__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.inventorl-pillar .inventorl-articole__excerpt {
	margin: 0 0 var(--im-space-2, 16px);
	padding: 0;
	color: var(--im-text, #2b3440);
	font-size: 0.95rem;
	line-height: 1.6;
}

.inventorl-articole__more {
	margin-top: auto;
	color: var(--im-blue, #17457a);
	font-size: 0.95rem;
	font-weight: 700;
}

.inventorl-articole__card:focus-within {
	outline: 3px solid var(--im-blue-light, #3180c0);
	outline-offset: 3px;
}

.inventorl-articole__link:focus-visible {
	outline: none;
}

@media (hover: hover) {
	.inventorl-articole__card:hover {
		box-shadow: 0 16px 40px rgba(14, 42, 71, 0.16);
		transform: translateY(-3px);
	}

	.inventorl-articole__card:hover .inventorl-articole__img {
		transform: scale(1.04);
	}

	.inventorl-articole__card:hover .inventorl-articole__more {
		text-decoration: underline;
	}
}

@media (max-width: 1023.98px) {
	.inventorl-pillar .inventorl-articole__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 639.98px) {
	.inventorl-pillar .inventorl-articole__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.inventorl-articole__card,
	.inventorl-articole__img {
		transition: none;
	}

	.inventorl-articole__card:hover,
	.inventorl-articole__card:hover .inventorl-articole__img {
		transform: none;
	}
}

/* =============================================
   RESPONSIVE
   ============================================= */

@media (max-width: 720px) {
	.inventorl-trust-band {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.inventorl-afectiuni__grid {
		grid-template-columns: 1fr;
	}

	.inventorl-pillar__section {
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.inventorl-pillar__hero {
		padding-top: 80px;
		padding-bottom: 56px;
		min-height: 320px;
	}
}
.inventorl-pillar__address{
	padding:10px!important;
}

/* =============================================
   HERO ORBIT — ORL doctors teaser (.im-orbit)
   Positioning uses `transform`; the spin/counter-spin
   animations use the standalone `rotate` property so
   the two never fight. Below 1024px the same markup is
   restyled into a row of overlapping avatars.
   ============================================= */

.inventorl-pillar__hero-content {
	min-width: 0;
}

@media (min-width: 1024px) {
	.inventorl-pillar__hero {
		display: grid;
		grid-template-columns: minmax(0, 1fr) min(520px, 38vw);
		column-gap: clamp(24px, 4vw, 64px);
		align-items: center;
	}
}

.im-orbit {
	--im-size: min(520px, 38vw);
	--im-outer: 84px;
	--im-inner: 72px;
	--im-blue: #17457a;
	--im-cyan: #4dd9f4;
	position: relative;
	width: var(--im-size);
	aspect-ratio: 1 / 1;
	justify-self: center;
	margin: 0;
}

/* Central core: white disc with the brand cross + two halo rings + soft pulse. */
.im-orbit__core {
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(var(--im-size) * 0.19);
	aspect-ratio: 1 / 1;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 50%;
	box-shadow:
		0 0 0 calc(var(--im-size) * 0.03) rgba(255, 255, 255, 0.12),
		0 0 0 calc(var(--im-size) * 0.065) rgba(255, 255, 255, 0.06),
		0 10px 30px rgba(0, 0, 0, 0.25);
	animation: im-orbit-pulse 4s ease-in-out infinite;
}

.im-orbit__core svg {
	width: 50%;
	height: 50%;
	fill: var(--im-blue);
}

/* Rings: dashed circles that carry the avatars and rotate in opposite directions. */
.im-orbit__ring {
	position: absolute;
	border: 1px dashed rgba(255, 255, 255, 0.30);
	border-radius: 50%;
	animation: im-orbit-spin var(--im-dur) linear infinite;
}

.im-orbit__ring--outer {
	--im-dur: 80s;
	--im-av: var(--im-outer);
	/* Inset by half an avatar so avatars never spill outside the container. */
	--im-r: calc(var(--im-size) / 2 - var(--im-outer) / 2);
	inset: calc(var(--im-outer) / 2);
}

.im-orbit__ring--inner {
	--im-dur: 60s;
	--im-av: var(--im-inner);
	--im-r: calc(var(--im-size) * 0.27);
	inset: 23%;
	animation-direction: reverse;
}

/* Avatar anchor: placed on its ring by angle (--i of --n, plus the ring offset). */
.im-orbit__avatar {
	--im-angle: calc(360deg / var(--n) * var(--i) + var(--im-offset, 0deg));
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--im-av);
	height: var(--im-av);
	margin: calc(var(--im-av) / -2) 0 0 calc(var(--im-av) / -2);
	transform: rotate(var(--im-angle)) translateY(calc(var(--im-r) * -1)) rotate(calc(var(--im-angle) * -1));
	border-radius: 50%;
	text-decoration: none;
	outline: none;
}

/* Counter-rotation keeps faces (and name pills) upright while the ring spins. */
.im-orbit__body {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	animation: im-orbit-spin var(--im-dur) linear infinite reverse;
}

.im-orbit__ring--inner .im-orbit__body {
	animation-direction: normal;
}

/* Lens: white border + translucent outer ring. */
.im-orbit__lens {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #fff;
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow:
		0 0 0 4px rgba(255, 255, 255, 0.22),
		0 8px 24px rgba(0, 0, 0, 0.28);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.im-orbit__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(0.6);
	transition: filter 0.35s ease;
}

.im-orbit__initials {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #17457a 0%, #3180c0 100%);
	color: #fff;
	font-weight: 700;
	font-size: calc(var(--im-av) * 0.34);
	letter-spacing: 0.02em;
	line-height: 1;
}

.im-orbit__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Name pill — visible on hover/focus only. */
.im-orbit__name {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%);
	padding: 5px 12px;
	background: #fff;
	color: var(--im-blue);
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.22);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.im-orbit__avatar:hover .im-orbit__lens,
.im-orbit__avatar:focus-visible .im-orbit__lens {
	transform: scale(1.12);
	box-shadow:
		0 0 0 4px rgba(77, 217, 244, 0.45),
		0 12px 28px rgba(0, 0, 0, 0.32);
}

.im-orbit__avatar:focus-visible .im-orbit__lens {
	box-shadow:
		0 0 0 3px #0e2a47,
		0 0 0 6px var(--im-cyan),
		0 12px 28px rgba(0, 0, 0, 0.32);
}

.im-orbit__avatar:hover .im-orbit__photo,
.im-orbit__avatar:focus-visible .im-orbit__photo {
	filter: none;
}

.im-orbit__avatar:hover .im-orbit__name,
.im-orbit__avatar:focus-visible .im-orbit__name {
	opacity: 1;
}

/* Hovering / keyboard focus anywhere in the orbit pauses every animation. */
.im-orbit:hover .im-orbit__ring,
.im-orbit:hover .im-orbit__body,
.im-orbit:hover .im-orbit__core,
.im-orbit:focus-within .im-orbit__ring,
.im-orbit:focus-within .im-orbit__body,
.im-orbit:focus-within .im-orbit__core {
	animation-play-state: paused;
}

/* Team link — mobile row only. */
.im-orbit__more {
	display: none;
}

@keyframes im-orbit-spin {
	to {
		rotate: 360deg;
	}
}

@keyframes im-orbit-pulse {
	50% {
		box-shadow:
			0 0 0 calc(var(--im-size) * 0.04) rgba(255, 255, 255, 0.14),
			0 0 0 calc(var(--im-size) * 0.08) rgba(255, 255, 255, 0.07),
			0 10px 30px rgba(0, 0, 0, 0.25);
	}
}

@media (prefers-reduced-motion: reduce) {
	.im-orbit__ring,
	.im-orbit__body,
	.im-orbit__core {
		animation: none;
	}

	.im-orbit__lens,
	.im-orbit__photo,
	.im-orbit__name {
		transition: none;
	}
}

/* Below 1024px: orbit collapses into a row of small overlapping avatars under the CTA. */
@media (max-width: 1023.98px) {
	.im-orbit {
		width: auto;
		aspect-ratio: auto;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-top: 4px;
	}

	.im-orbit__core,
	.im-orbit__name {
		display: none;
	}

	.im-orbit__ring {
		display: contents;
	}

	.im-orbit__avatar {
		position: static;
		width: 44px;
		height: 44px;
		margin: 0 0 0 -12px;
		transform: none;
	}

	.im-orbit__ring--outer .im-orbit__avatar:first-child {
		margin-left: 0;
	}

	.im-orbit__body {
		animation: none;
	}

	.im-orbit__lens {
		border-width: 2px;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
	}

	.im-orbit__avatar:hover .im-orbit__lens,
	.im-orbit__avatar:focus-visible .im-orbit__lens {
		transform: none;
	}

	body #main-content a.im-orbit__more:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button)  {
		display: inline-flex;
		align-items: center;
		margin-left: 16px;
		color: #fff!important;
		font-weight: 600;
		text-decoration: none!important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	}

	.im-orbit__more:hover,
	.im-orbit__more:focus-visible {
		color: var(--im-cyan);
		border-bottom-color: currentColor;
	}

	.im-orbit__more:focus-visible {
		outline: 2px solid var(--im-cyan);
		outline-offset: 4px;
	}
}
.inventorl-pillar__intro p{
	font-size:18px;
}

/* =============================================
   DOCTOR PANELS — expanding vertical panels (.im-docs)
   Desktop: horizontal flex, fixed height, one panel
   open (flex 3.5) at a time; closed panels show the
   photo + vertical name. Under 768px the same markup
   becomes a stacked accordion (88px bands).
   Only flex-grow / opacity / transform / filter animate.
   ============================================= */

/* Intro: the two paragraphs side by side (one column under 1024px). */
.inventorl-medici__intro {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--im-space-2, 16px) clamp(40px, 5vw, 88px);
}

.inventorl-pillar .inventorl-medici__intro p {
	margin: 0;
	padding: 0;
}

@media (max-width: 1023.98px) {
	.inventorl-medici__intro {
		grid-template-columns: minmax(0, 1fr);
	}
}

.im-docs {
	--im-docs-h: 480px;
	--im-docs-pos: 50% 25%; /* object-position; override per doctor via #medic-{slug} { --im-docs-pos: … } */
	/* Brand tokens come from style.css (:root --im-*); fallbacks keep the old values. */
	--im-docs-dur: var(--im-dur, 0.5s);
	--im-docs-ease: var(--im-ease, cubic-bezier(0.4, 0, 0.2, 1));
	--im-docs-navy: var(--im-navy, #0e2a47);
	--im-docs-blue: var(--im-blue, #17457a);
	--im-docs-cyan: #00a5e5;
	display: flex;
	gap: 10px;
	height: var(--im-docs-h);
	margin: 32px 0 0;
}

.im-docs__panel {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	border-radius: 14px;
	/* Shared brand gradient behind every photo. */
	background: linear-gradient(160deg, var(--im-docs-blue) 0%, var(--im-docs-navy) 100%);
	scroll-margin-top: 110px;
	transition:
		flex-grow var(--im-docs-dur) var(--im-docs-ease),
		box-shadow var(--im-docs-dur) var(--im-docs-ease);
}

.im-docs__panel.is-open {
	flex-grow: 3.5;
	box-shadow: 0 16px 40px rgba(14, 42, 71, 0.22);
}

/* Flash after an orbit click (im-docs.js toggles the class). */
.im-docs__panel--highlight {
	box-shadow:
		0 0 0 4px var(--im-docs-cyan),
		0 16px 40px rgba(14, 42, 71, 0.22);
}

.im-docs__panel:has(> .im-docs__toggle:focus-visible) {
	outline: 3px solid var(--im-docs-cyan);
	outline-offset: 2px;
}

/* Photo layer */
.im-docs__media {
	position: absolute;
	inset: 0;
}

.im-docs__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--im-docs-pos);
	filter: grayscale(0.6);
	transition: filter var(--im-docs-dur) var(--im-docs-ease);
}

.im-docs__panel.is-open .im-docs__img {
	filter: none;
}

/* Fine, identical brand tint over every photo so mixed lighting reads as one set. */
.im-docs__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(23, 69, 122, 0.16);
	pointer-events: none;
}

.im-docs__initials {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.85);
	font-size: clamp(2rem, 4vw, 4rem);
	font-weight: 700;
	letter-spacing: 0.04em;
}

/* Toggle: full-panel hit area; carries the vertical name over a dark bottom gradient. */
.im-docs__toggle {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 0 22px 18px;
	border: 0;
	border-radius: 0;
	background: linear-gradient(180deg, rgba(14, 42, 71, 0) 45%, rgba(14, 42, 71, 0.88) 100%);
	color: #fff;
	font: inherit;
	text-align: left;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	transition: opacity var(--im-docs-dur) var(--im-docs-ease);
}

.im-docs__panel.is-open .im-docs__toggle {
	opacity: 0;
}

.im-docs__vname {
	display: block;
	max-height: 62%;
	overflow: hidden;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.02em;
	white-space: nowrap;
	text-overflow: ellipsis;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

.im-docs__vspec {
	display: none;
}

/* Content: fades in only after the panel has fully widened (delay = --im-docs-dur). */
.im-docs__content {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	padding: 72px 28px 26px;
	color: #fff;
	/* Long, eased ramp (extra stops) so no horizontal band shows behind the name. */
	background: linear-gradient(
		180deg,
		rgba(14, 42, 71, 0) 0%,
		rgba(14, 42, 71, 0.18) 14%,
		rgba(14, 42, 71, 0.45) 30%,
		rgba(14, 42, 71, 0.74) 48%,
		rgba(14, 42, 71, 0.90) 66%,
		rgba(14, 42, 71, 0.96) 100%
	);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.im-docs__panel.is-open .im-docs__content {
	opacity: 1;
	pointer-events: auto;
	transition: opacity 0.35s ease var(--im-docs-dur);
}

.im-docs__title {
	display: block;
	margin-bottom: 4px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.im-docs .im-docs__name {
	margin: 0 0 12px;
	padding: 0;
	color: #fff;
	font-size: clamp(1.35rem, 1.2vw + 0.9rem, 1.9rem);
	font-weight: 700;
	line-height: 1.15;
}

/* Pill visuals are shared with .im-badge in style.css; only the layout offset lives here. */
.im-docs__badge {
	margin-bottom: 18px;
}

.im-docs__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 18px;
}

/* Selector shape mirrors the Divi link rule so these win without relying on load order. */
body #main-content .im-docs a.im-docs__cta:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button) {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 6px;
	background: #fff;
	color: var(--im-docs-navy) !important;
	font-size: 0.98rem;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
	transition: background 0.2s ease, transform 0.2s ease;
}

body #main-content .im-docs a.im-docs__profile:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button) {
	display: inline-block;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: color 0.2s ease, transform 0.2s ease;
}

@media (hover: hover) {
	body #main-content .im-docs a.im-docs__cta:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button):hover {
		background: var(--im-docs-cyan);
		transform: translateY(-1px);
		color: #fff !important;
}

body #main-content .im-docs a.im-docs__profile:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button):hover {
    color: #fff !important;
    transform: translateX(3px);
}
}

.im-docs__cta:focus-visible,
.im-docs__profile:focus-visible {
outline: 2px solid var(--im-docs-cyan);
outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
.im-docs__panel,
.im-docs__img,
.im-docs__toggle,
.im-docs__content,
.im-docs__cta,
.im-docs__profile {
    transition: none;
}
}

/* 768–1366px: shorter panels, tighter content. */
@media (min-width: 768px) and (max-width: 1366px) {
	.im-docs {
		--im-docs-h: 420px;
	}

	.im-docs__content {
		padding: 60px 20px 20px;
	}

	.im-docs .im-docs__name {
		font-size: 1.35rem;
	}

	.im-docs__badge {
		margin-bottom: 14px;
	}
}

/* Under 768px: stacked accordion — closed = 88px band with round avatar + name + specialty. */
@media (max-width: 767.98px) {
	.im-docs {
		flex-direction: column;
		height: auto;
		gap: 10px;
	}

	.im-docs__panel {
		flex: 0 0 auto;
		height: 88px;
		border-radius: 12px;
		transition: height var(--im-docs-dur) var(--im-docs-ease), box-shadow var(--im-docs-dur) var(--im-docs-ease);
	}

	.im-docs__panel.is-open {
		height: 500px;
	}

	.im-docs__media {
		inset: auto;
		top: 16px;
		left: 16px;
		width: 56px;
		height: 56px;
		overflow: hidden;
		border: 2px solid rgba(255, 255, 255, 0.7);
		border-radius: 50%;
	}

	.im-docs__panel.is-open .im-docs__media {
		inset: 0;
		width: 100%;
		height: 100%;
		border: 0;
		border-radius: 0;
	}

	.im-docs__img,
	.im-docs__initials {
		transition: none;
	}

	.im-docs__initials {
		font-size: 1.1rem;
	}

	.im-docs__panel.is-open .im-docs__initials {
		font-size: 3rem;
	}

	.im-docs__toggle {
		justify-content: center;
		padding: 0 16px 0 88px;
		background: none;
	}

	.im-docs__vname {
		max-width: 100%;
		max-height: none;
		writing-mode: horizontal-tb;
		transform: none;
		font-size: 1.05rem;
		text-shadow: none;
	}

	.im-docs__vspec {
		display: block;
		margin-top: 2px;
		color: rgba(255, 255, 255, 0.75);
		font-size: 0.76rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	.im-docs__content {
		padding: 56px 18px 20px;
	}

	.im-docs .im-docs__name {
		font-size: 1.4rem;
	}

	@media (prefers-reduced-motion: reduce) {
		.im-docs__panel {
			transition: none;
		}
	}
}

/* =============================================
   BOOKING — "Programare ORL în Iași" (.im-booking)
   Info card (left, sticky) + CF7 form card (right).
   The Divi customizer CSS styles `.wpcf7` for a dark
   background (white labels) and skips input[type="tel"];
   every form rule here is scoped under `.im-booking .wpcf7`
   with enough specificity to win without !important.
   ============================================= */

.im-booking {
	--im-booking-header: 110px; /* Divi fixed header (90px) + breathing room */
	--im-booking-border: #c9d3de;
	--im-booking-field-bg: #f8fafc;
	--im-booking-muted: #5b6673;
	--im-booking-error: #b42318;
	--im-booking-error-bg: #fdecea;
	--im-booking-success: #1e6b43;
	--im-booking-success-bg: #e7f5ed;
	--im-booking-focus: rgba(49, 128, 192, 0.22);
}

/* Two-column layout, also used by the surgery intro. */
.im-booking__grid,
.inventorl-chirurgie__intro {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: clamp(40px, 5vw, 88px);
	align-items: start;
}

/* ---- Info column ---- */

.im-booking__info {
	position: sticky;
	top: var(--im-booking-header);
}

/* H2 styling comes from the shared heading system (.inventorl-pillar__section h2). */

.im-booking .im-booking__info p,
.inventorl-pillar .inventorl-chirurgie__text p {
	max-width: 60ch;
	margin: 0 0 var(--im-space-2, 16px);
	padding: 0;
	color: var(--im-text, #2b3440);
}

/* Brand card — also the surgery "indication" card. */
.im-booking .im-booking__card,
.inventorl-chirurgie__steps {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: var(--im-space-4, 40px) 0 0;
	padding: 28px 28px 30px;
	border-radius: 18px;
	background: var(--im-brand-gradient);
	box-shadow: 0 16px 40px rgba(14, 42, 71, 0.18);
	color: #fff;
	font-style: normal;
}

.im-booking__card-title,
.inventorl-chirurgie .inventorl-chirurgie__steps-title {
	margin-bottom: 4px;
	color: #fff;
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.im-booking__line {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: rgba(255, 255, 255, 0.92);
	line-height: 1.5;
}

.im-booking__icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	color: #fff;
}

.im-booking__line--phone {
	align-items: center;
}

.im-booking__line--phone .im-booking__icon {
	margin-top: 0;
}
.inventorl-afectiuni__card p{
	font-size:1rem;
}
/* Selector shape mirrors the Divi link rule so it wins without relying on load order. */
body #main-content .im-booking a.im-booking__phone:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button) {
	display: block;
	color: #fff !important;
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

body #main-content .im-booking a.im-booking__phone:not(body #main-content h1 a, body #main-content h2 a, body #main-content h3 a, .et_pb_button):hover {
	color: var(--im-cyan, #4dd9f4) !important;
}

.im-booking .im-booking__phone:focus-visible {
	outline: 2px solid var(--im-cyan, #4dd9f4);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ---- Form card ---- */

.im-booking__form {
	padding: 40px;
	border: 1px solid #e3eaf2;
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--im-card-shadow);
}

/* CF7 autop wraps fields in <p> and adds <br> inside labels. */
.im-booking .wpcf7 br {
	display: none;
}

.im-booking .wpcf7 .im-form p {
	margin: 0;
	padding: 0;
}

.im-booking .im-form__row {
	margin: 0 0 20px;
}

.im-booking .im-form__row--2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.im-booking .wpcf7 label.im-form__label {
	display: block;
	margin: 0 0 6px;
	color: var(--im-text, #2b3440);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.im-booking .im-form__req {
	color: var(--im-blue-light, #3180c0);
}

.im-booking .im-form__optional {
	margin-left: 4px;
	color: var(--im-booking-muted);
	font-size: 13px;
	font-weight: 400;
}

.im-booking .wpcf7 .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

/* One style for every text-like control (tel included). */
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-text,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-email,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-tel,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-select,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--im-booking-border);
	border-radius: 10px;
	background-color: var(--im-booking-field-bg);
	box-shadow: none;
	color: var(--im-text, #2b3440);
	font-family: inherit;
	font-size: 16px; /* >= 16px avoids iOS zoom on focus */
	line-height: 1.4;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.im-booking .wpcf7 .wpcf7-form-control.wpcf7-textarea {
	height: auto;
	min-height: 140px;
	padding: 14px 16px;
	resize: vertical;
}

.im-booking .wpcf7 .wpcf7-form-control::placeholder {
	color: #6b7684;
	opacity: 1;
}

.im-booking .wpcf7 .wpcf7-form-control.wpcf7-text:focus,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-email:focus,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-tel:focus,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-select:focus,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-textarea:focus {
	border-color: var(--im-blue-light, #3180c0);
	outline: none;
	background-color: #fff;
	box-shadow: 0 0 0 4px var(--im-booking-focus);
}

.im-booking .wpcf7 .wpcf7-form-control.wpcf7-text:focus-visible,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-email:focus-visible,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-tel:focus-visible,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-select:focus-visible,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-textarea:focus-visible {
	border-color: var(--im-blue, #17457a);
	box-shadow: 0 0 0 4px rgba(49, 128, 192, 0.35);
}

/* Fixed "Specializare" value: read-only look, lock icon, no focus halo. */
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-text[readonly],
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-text[readonly]:focus {
	padding-right: 44px;
	border-color: #dde4ec;
	background-color: #eef2f6;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237a8594'%3E%3Cpath fill-rule='evenodd' d='M12 1.5a5.25 5.25 0 00-5.25 5.25v3a3 3 0 00-3 3v6.75a3 3 0 003 3h10.5a3 3 0 003-3v-6.75a3 3 0 00-3-3v-3A5.25 5.25 0 0012 1.5zm3.75 8.25v-3a3.75 3.75 0 10-7.5 0v3h7.5z' clip-rule='evenodd'/%3E%3C/svg%3E");
	background-position: right 16px center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	box-shadow: none;
	color: #4a5563;
	cursor: default;
}

/* Doctor select: native arrow replaced by a brand-coloured chevron. */
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-select {
	padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2317457a'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.17l3.71-3.94a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");
	background-position: right 14px center;
	background-repeat: no-repeat;
	background-size: 20px 20px;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.im-booking .wpcf7 .wpcf7-form-control.wpcf7-select::-ms-expand {
	display: none;
}

/* ---- Acceptance checkbox (real input kept, restyled) ---- */

.im-booking .im-form__row--acceptance {
	margin-top: 8px;
}

.im-booking .wpcf7 .wpcf7-acceptance .wpcf7-list-item {
	display: block;
	margin: 0;
}

.im-booking .wpcf7 .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	color: var(--im-booking-muted);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
}

.im-booking .wpcf7 .wpcf7-acceptance input[type="checkbox"] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	border: 1.5px solid #8b97a5;
	border-radius: 5px;
	background: #fff center / 14px 14px no-repeat;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
	appearance: none;
	-webkit-appearance: none;
}

.im-booking .wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked {
	border-color: var(--im-blue, #17457a);
	background-color: var(--im-blue, #17457a);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath fill-rule='evenodd' d='M16.7 5.3a1 1 0 010 1.4l-8 8a1 1 0 01-1.4 0l-4-4a1 1 0 011.4-1.4L8 12.58l7.3-7.3a1 1 0 011.4 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.im-booking .wpcf7 .wpcf7-acceptance input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--im-blue-light, #3180c0);
	outline-offset: 2px;
}

.im-booking .wpcf7 .wpcf7-acceptance a {
	color: var(--im-blue, #17457a);
	text-decoration: underline;
}

/* ---- Submit + loading ---- */

.im-booking .im-form__row--submit {
	margin: 24px 0 0;
}

.im-booking .im-form__row--submit p {
	position: relative;
}

.im-booking .wpcf7 input.wpcf7-submit {
	display: block;
	float: none;
	box-sizing: border-box;
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 0 24px;
	border: 0;
	border-radius: 12px;
	background: var(--im-blue, #17457a);
	box-shadow: 0 6px 18px rgba(23, 69, 122, 0.22);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
	-webkit-appearance: none;
}

.im-booking .wpcf7 input.wpcf7-submit:hover {
	background: var(--im-navy, #0e2a47);
	box-shadow: 0 8px 22px rgba(14, 42, 71, 0.28);
}

.im-booking .wpcf7 input.wpcf7-submit:active {
	transform: translateY(1px);
	box-shadow: 0 3px 10px rgba(14, 42, 71, 0.22);
}

.im-booking .wpcf7 input.wpcf7-submit:focus-visible {
	outline: 3px solid var(--im-blue-light, #3180c0);
	outline-offset: 3px;
}

/* While CF7 submits: label hidden, CSS spinner centred on the button. */
.im-booking .wpcf7 form.submitting input.wpcf7-submit {
	color: transparent;
	cursor: progress;
	pointer-events: none;
	opacity: 0.85;
}

.im-booking .wpcf7 .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 22px;
	height: 22px;
	margin: -11px 0 0 -11px;
	border: 2.5px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	background: transparent;
	opacity: 1;
	pointer-events: none;
	animation: im-booking-spin 0.8s linear infinite;
}

.im-booking .wpcf7 .wpcf7-spinner::before {
	display: none;
}

@keyframes im-booking-spin {
	to {
		transform: rotate(360deg);
	}
}

/* ---- Validation ---- */

.im-booking .wpcf7 .wpcf7-form-control.wpcf7-not-valid,
.im-booking .wpcf7 .wpcf7-form-control.wpcf7-not-valid:focus {
	border-color: var(--im-booking-error);
}

.im-booking .wpcf7 .wpcf7-form-control.wpcf7-not-valid:focus {
	box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.16);
}

.im-booking .wpcf7 .wpcf7-acceptance.wpcf7-not-valid input[type="checkbox"] {
	border-color: var(--im-booking-error);
}

.im-booking .wpcf7 .wpcf7-not-valid-tip {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-top: 6px;
	color: var(--im-booking-error);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}

.im-booking .wpcf7 .wpcf7-not-valid-tip::before {
	content: "";
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	margin-top: 2px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23b42318'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z' clip-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
}

.im-booking .wpcf7 form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 14px 16px;
	border: 1px solid #c9d3de;
	border-radius: 10px;
	background: #f4f7fb;
	color: var(--im-text, #2b3440);
	font-size: 15px;
	line-height: 1.5;
}

.im-booking .wpcf7 form.invalid .wpcf7-response-output,
.im-booking .wpcf7 form.unaccepted .wpcf7-response-output,
.im-booking .wpcf7 form.payment-required .wpcf7-response-output,
.im-booking .wpcf7 form.failed .wpcf7-response-output,
.im-booking .wpcf7 form.aborted .wpcf7-response-output,
.im-booking .wpcf7 form.spam .wpcf7-response-output {
	border-color: #f3c5c0;
	background: var(--im-booking-error-bg);
	color: var(--im-booking-error);
}

.im-booking .wpcf7 form.sent .wpcf7-response-output {
	border-color: #b9dfc8;
	background: var(--im-booking-success-bg);
	color: var(--im-booking-success);
}

/* ---- Responsive ---- */

@media (max-width: 1023.98px) {
	.im-booking__grid,
	.inventorl-chirurgie__intro {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--im-space-4, 40px);
	}

	.im-booking__info {
		position: static;
	}
}

@media (max-width: 767.98px) {
	.im-booking__form {
		padding: 24px;
		border-radius: 16px;
	}

	.im-booking .im-booking__card {
		padding: 24px;
	}
}

@media (max-width: 639.98px) {
	.im-booking .im-form__row--2 {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.im-booking .wpcf7 .wpcf7-form-control,
	.im-booking .wpcf7 input.wpcf7-submit,
	.im-booking .im-booking__phone {
		transition: none;
	}

	.im-booking .wpcf7 .wpcf7-spinner {
		animation: none;
	}
}