html {
	scroll-behavior: smooth;
	overflow-x: hidden;
}

body {
	overflow-x: hidden;
}

/* ==========================================================================
	Dianel Theme, Bootstrap overrides layer (scoped)
	Font: Urbanist
	========================================================================== */

:root{
	--dnl-teal: #4B918A;
	--dnl-grey: #D9D9D9;
	--dnl-grey-medium: #555;
	--dnl-grey-dark: #333;
	--dnl-blue: #0C73CE;
	--dnl-text: #1f1f1f;
	--dnl-white: #ffffff;
	--dnl-black: #000000;

	--dnl-text-muted: #6b6f76;
	--dnl-bg: #F5F5F5;
	--dnl-surface: #ffffff;
	--dnl-border: rgba(0,0,0,.08);

	--dnl-radius-lg: 20px;
	--dnl-radius-md: 15px;
	--dnl-radius-sm: 15px;
	--dnl-radius-xs: 6px;

	--dnl-font-xxl: 66px;
	--dnl-font-xl: 56px;
	--dnl-font-lg: 44px;
	--dnl-font-md: 20px;
	--dnl-font-sm: 16px;

	--dnl-shadow-soft: 0 10px 30px rgba(0,0,0,.08);
	--dnl-shadow-card: 0 8px 22px rgba(0,0,0,.08);

	--dnl-container: 1200px;

	--bs-body-font-size: 20px;
	--bs-body-font-weight: 500;
	--bs-navbar-active-color: var(--dnl-grey-dark);
}

/* Global base */
html, body{
	min-height: 100%;
}

body{
	font-family: "Urbanist", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	color: var(--dnl-text);
	background: var(--dnl-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: 3%;
}

section {
	padding: 60px 0;
}

.container{
	max-width: var(--dnl-container);
}

/* Headings (match Figma proportions) */
h1, h2, h3{
	
}

a,
a:link,
a:hover {
	/*color: var(--dnl-teal);*/
}

.pb-70px {
	padding-bottom: 70px;
}

.pb-200px {
	padding-bottom: 200px;
}

.home-hero__title{
	font-size: var(--dnl-font-xxl);
	line-height: 1.25;
	font-weight: 400;
}

.home-our-story__title,
.home-services__title,
.home-news__title,
.home-testimonials__title,
.home-activities-intro__title,
.home-activities__title{
	font-size: var(--dnl-font-xl);
	font-weight: 400;
	line-height: 1.15;
}

p{
	color: var(--dnl-text-muted);
}

/* Buttons (pill style like design) */
.btn{
	border-radius: 100px;
	padding: 14px 30px;
	font-size:  var(--dnl-font-sm);
	font-weight: 600;
	line-height: 1;
}

.btn-lg{
	padding: 16px 36px;
	font-size:  var(--dnl-font-md);
}

.btn-primary{
	background: var(--dnl-teal);
	border-color: var(--dnl-teal);
}

.btn-primary:active,
.btn-primary:hover,
.btn-primary:focus{
	background: color-mix(in srgb, var(--dnl-teal) 92%, #000)!important;
	background-color: color-mix(in srgb, var(--dnl-teal) 92%, #000)!important;
	border-color: color-mix(in srgb, var(--dnl-teal) 92%, #000)!important;
}

.btn-outline-primary{
	color: var(--dnl-text);
	border-color: var(--dnl-teal);
	background: transparent;
}

.btn-outline-primary:active,
.btn-outline-primary:hover,
.btn-outline-primary:focus{
	background: var(--dnl-teal)!important;
	border-color: var(--dnl-teal)!important;
	color: var(--dnl-white)!important;
}

.btn-primary-blue{
	color: var(--dnl-white);
	background: var(--dnl-blue);
	border-color: var(--dnl-blue);
}

.btn-primary-blue:active,
.btn-primary-blue:hover,
.btn-primary-blue:focus{
	background: color-mix(in srgb, var(--dnl-blue) 92%, #000)!important;
	border-color: color-mix(in srgb, var(--dnl-blue) 92%, #000)!important;
	color: var(--dnl-white)!important;
}

.btn-outline-primary-blue{
	color: var(--dnl-text);
	border-color: var(--dnl-blue);
	background: transparent;
}

.btn-outline-primary-blue:active,
.btn-outline-primary-blue:hover,
.btn-outline-primary-blue:focus{
	background: var(--dnl-blue)!important;
	border-color: var(--dnl-blue)!important;
	color: var(--dnl-white)!important;
}

.btn-outline-secondary{
	color: var(--dnl-text);
	border-color: var(--dnl-grey);
	background: transparent;
}

.btn-outline-secondary:active,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus{
	background: var(--dnl-grey)!important;
	border-color: var(--dnl-grey)!important;
	color: var(--dnl-text)!important;
}

.btn.btn-outline-primary,
.btn.btn-outline-primary-blue,
.btn.btn-outline-secondary{
	border-width: 3px;
	padding: 11px 27px;
}

.btn-lg.btn-outline-primary,
.btn-lg.btn-outline-primary-blue,
.btn-lg.btn-outline-secondary{
	border-width: 4px;
	padding: 12px 32px;
}

/* Navbar */
/* ==========================================================================
	Navbar
	========================================================================== */

.site-header {
	background: rgba(255,255,255,.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(0,0,0,.06);
	z-index: 1030;
}

.dianel-navbar {
	padding: 14px 0;
}

.navbar-brand .group-logo {
	height: 30px;
	width: auto;
	display: block;
}

.navbar-brand .site-logo-square {
	height: 36px;
	width: 36px;
	object-fit: contain;
	display: block;
}

.navbar-brand .site-logo {
	height: 32px;
	max-height: 32px;
	width: auto;
	max-width: 200px;
	display: block;
	object-fit: contain;
}

@media (max-width: 991.98px) {
	.navbar-brand .site-logo {
		height: auto;
		max-height: 40px;
		max-width: 200px;
	}
}

.navbar-brand .site-title {
	text-transform: uppercase;
	font-size: var(--dnl-font-sm);
	color: var(--dnl-text);
	font-weight: 700;
	letter-spacing: .04em;
}

.navbar-nav .nav-link {
	font-weight: 600;
	color: var(--dnl-grey-medium);
	padding: .6rem .9rem;
	font-size: var(--dnl-font-sm);
	text-transform: uppercase;
}

.navbar-nav .nav-link:hover {
	color: var(--dnl-grey-dark);
}

.dianel-call-btn {
	background: var(--dnl-teal);
	border-color: var(--dnl-teal);
	color: var(--dnl-white);
	padding: .65rem 1.15rem;
	box-shadow: var(--dnl-shadow-soft);
}

.dianel-call-btn:hover {
	background: color-mix(in srgb, var(--dnl-teal) 92%, #000);
	color: var(--dnl-white);
}

/* ---- Mobile icon buttons (phone + hamburger) ---- */
.dnl-nav-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	border: 1.5px solid rgba(0,0,0,.10);
	background: transparent;
	color: var(--dnl-text);
	cursor: pointer;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease;
	padding: 0;
	outline: none;
	-webkit-tap-highlight-color: transparent;
}

.dnl-nav-icon-btn:focus,
.dnl-nav-icon-btn:focus-visible {
	outline: none;
	box-shadow: none;
}

.dnl-nav-icon-btn i {
	font-size: 22px;
	line-height: 1;
}

.dnl-nav-icon-btn:hover {
	background: rgba(0,0,0,.04);
	border-color: rgba(0,0,0,.18);
	color: var(--dnl-text);
}

/* Wider gap between phone + hamburger on mobile */
.dnl-navbar-mobile-actions {
	gap: 12px;
}

/* ==========================================================================
	Offcanvas Drawer (mobile menu)
	========================================================================== */

.dnl-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(320px, 88vw);
	background: #fff;
	z-index: 1055;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform .28s cubic-bezier(.4,0,.2,1);
	box-shadow: -8px 0 40px rgba(0,0,0,.14);
	overscroll-behavior: contain;
	overflow-y: auto;
}

.dnl-drawer.is-open {
	transform: translateX(0);
}

.dnl-drawer__backdrop {
	position: fixed;
	inset: 0;
	z-index: 1050;
	background: rgba(0,0,0,.45);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .28s ease;
}

.dnl-drawer__backdrop.is-visible {
	opacity: 1;
	pointer-events: auto;
}

/* Prevent body scroll when drawer is open */
body.dnl-drawer-open {
	overflow: hidden;
}

.dnl-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px 16px;
	border-bottom: 1px solid rgba(0,0,0,.07);
	flex: 0 0 auto;
}

.dnl-drawer__title {
	font-weight: 700;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--dnl-text);
}

.dnl-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	border: 1.5px solid rgba(0,0,0,.10);
	background: transparent;
	cursor: pointer;
	color: var(--dnl-text);
	padding: 0;
	transition: background .15s;
}

.dnl-drawer__close i {
	font-size: 20px;
	line-height: 1;
}

.dnl-drawer__close:focus,
.dnl-drawer__close:focus-visible {
	outline: none;
	box-shadow: none;
}

.dnl-drawer__close:hover {
	background: rgba(0,0,0,.05);
}

.dnl-drawer__body {
	flex: 1;
	padding: 10px 0;
	overflow-y: auto;
}

/* Drawer nav links */
.dnl-drawer__nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dnl-drawer__nav li {
	border-bottom: 1px solid rgba(0,0,0,.05);
}

.dnl-drawer__nav a,
.dnl-drawer__nav .nav-link {
	display: block;
	padding: 15px 22px;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--dnl-text);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .04em;
	transition: background .12s ease, color .12s ease;
}

.dnl-drawer__nav a:hover,
.dnl-drawer__nav .nav-link:hover {
	background: rgba(0,0,0,.03);
	color: var(--dnl-teal);
}

/* Dropdown items inside drawer */
.dnl-drawer__nav .dropdown-menu {
	position: static;
	float: none;
	border: none;
	border-radius: 0;
	padding: 0;
	background: rgba(0,0,0,.02);
	box-shadow: none;
}

.dnl-drawer__nav .dropdown-menu a {
	padding-left: 36px;
	font-size: .95rem;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	color: var(--dnl-text-muted);
}

.dnl-drawer__footer {
	padding: 18px 20px 24px;
	border-top: 1px solid rgba(0,0,0,.07);
	flex: 0 0 auto;
}

.dnl-drawer__whatsapp {
	background: #25d366;
	border-color: #25d366;
	color: #fff;
}

.dnl-drawer__whatsapp:hover,
.dnl-drawer__whatsapp:focus {
	background: #1ebe5c;
	border-color: #1ebe5c;
	color: #fff;
	outline: none;
	box-shadow: none;
}

/* ==========================================================================
	Home Hero
	========================================================================== */

.home-hero {
	position: relative;
}

.home-hero__inner {
	position: relative;
}

/* Mobile background image (hidden ≥992px via d-lg-none) */
.home-hero__mobile-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.home-hero__mobile-bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

/* Gradient: transparent at top → dark at bottom so top of image shows fully */
.home-hero__mobile-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(0,0,0,0)    0%,
		rgba(0,0,0,.15) 25%,
		rgba(0,0,0,.55) 65%,
		rgba(0,0,0,.72) 100%
	);
}

.home-hero__lead {
	max-width: 54ch;
	font-size: 1.05rem;
	line-height: 1.55;
}

.home-hero__media {
	width: min(520px, 100%);
}

.home-hero__media-inner {
	border-radius: var(--dnl-radius-lg);
	overflow: hidden;
	box-shadow: var(--dnl-shadow-soft);
}

/* News overlay (floats below hero on desktop) */
.home-hero__news-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -60px;
	z-index: 5;
}

.home-hero__news-overlay .swiper {
	overflow: visible;
}

.home-hero__news {
	margin-top: 28px;
}

.home-hero__news-inner {
	padding-bottom: 60px;
}

.home-hero__news-card {
	display: grid;
	grid-template-columns: 1fr 160px;
	align-items: stretch;
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	border-radius: var(--dnl-radius-md);
	overflow: hidden;
	box-shadow: var(--dnl-shadow-soft);
	min-height: 120px;
}

.home-hero__news-card-body {
	padding: 20px;
}

.home-hero__news-title {
	font-size: 1.1rem;
	color: var(--dnl-text);
}

.home-hero__news-excerpt {
	font-size: .95rem;
	line-height: 1.35;
	color: var(--dnl-text-muted);
}

.home-hero__news-thumb {
	width: 140px;
	margin: 10px;
	border-radius: var(--dnl-radius-xs);
	overflow: hidden;
}

.home-hero__news-pill {
	background: rgba(0,0,0,.04);
	color: rgba(0,0,0,.65);
	border: 1px solid rgba(0,0,0,.06);
	font-weight: 500;
	padding: .35rem .65rem;
}

/* Prev/next arrows */
.dianel-news-prev,
.dianel-news-next {
	width: 38px;
	height: 38px;
	background: rgba(255,255,255,.90);
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0,0,0,.12);
	color: var(--dnl-text) !important;
	top: 50%;
}

.dianel-news-prev::after,
.dianel-news-next::after {
	font-size: 14px;
	font-weight: 700;
}

/* Hide arrows on desktop — multi-card layout makes them redundant */
@media (min-width: 992px) {
	.dianel-news-prev,
	.dianel-news-next {
		display: none;
	}
}

/* ==========================================================================
	Cards shared look (Services, Activities, News)
	========================================================================== */

.home-services__card,
.home-activities__card,
.home-news__card{
	border-radius: var(--dnl-radius-md);
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	overflow: hidden;
	box-shadow: var(--dnl-shadow-card);
}

.home-services__card-top,
.home-activities__card-top{
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 30px;
	padding: 30px 30px 20px 30px;
}

.home-services__icon,
.home-activities__icon{
	width: 60px;
	height: 60px;
	border-radius: var(--dnl-radius-xs);
	display: grid;
	place-items: center;
}

.home-services__icon{
	background: var(--dnl-teal);
	color: var(--dnl-white);
}

.home-activities__icon{
	background: var(--dnl-blue);
	color: var(--dnl-white);
}

.home-services__icon i,
.home-activities__icon i{
	font-size: 26px;
	line-height: 1;
}

.home-services__card-title,
.home-activities__card-title{
	color: var(--dnl-text);
	font-size: 1.25rem;
	line-height: 1.2;
}

.home-services__card-desc,
.home-activities__card-text{
	color: var(--dnl-text-muted);
	font-size: 1rem;
	line-height: 1.45;
}

.home-services__card-media,
.home-activities__card-media{
	height: 190px;
	background: #f3f4f6;
	border-radius: var(--dnl-radius-md);
	overflow: hidden;
}

.home-services__cta,
.home-news__cta,
.home-activities__cta{
	box-shadow: var(--dnl-shadow-soft);
}

/* Services intro block */
.home-our-story__content,
.home-activities-intro__content {
	padding: 0 0 40px 40px;
}

.home-our-story__media-inner,
.home-activities-intro__media-inner{
	border-radius: var(--dnl-radius-lg);
	overflow: hidden;
	box-shadow: var(--dnl-shadow-soft);
}

.home-our-story__tile,
.home-activities-intro__tile{
	background: rgba(172, 202, 234, 1);
	background: rgba(211, 221, 220, 1);
	border-radius: var(--dnl-radius-md);
}

.home-our-story__tile{
	background: rgba(211, 221, 220, 1);
}

.home-activities-intro__tile{
	background: rgba(172, 202, 234, 1);
}

.home-our-story__tile--sm,
.home-activities-intro__tile--sm{
	width: 110px;
	height: 72px;
}

.home-our-story__tile--lg,
.home-activities-intro__tile--lg{
	width: 190px;
	height: 120px;
}

/* Courses block */
.home-courses__card{
	border-radius: var(--dnl-radius-md);
	border: 1px solid var(--dnl-border);
	box-shadow: var(--dnl-shadow-soft);
	background: var(--dnl-white);
	overflow: hidden;
}

.home-courses__card-inner{
	display: grid;
	grid-template-columns: 1fr 160px;
	gap: 18px;
	padding: 18px;
}

.home-courses__card-thumb{
	border-radius: 14px;
	overflow: hidden;
	background: #f3f4f6;
	height: 160px;
}

/* News section cards */
.home-news__card{
	background-image: url('../img/news-bg.png');
	background-repeat: repeat-x;
	border: none;
}
.home-news__thumb{
	height: 160px;
	border-radius: var(--dnl-radius-md);
	overflow: hidden;
	margin: 40px 40px 0 40px;
}

.home-news__date{
	background: var(--dnl-teal);
	color: var(--dnl-white);
	font-size: var(--dnl-font-sm);
	font-weight: 600;
	padding: 10px 20px;
}

.home-news__body{
	padding: 0 40px 40px 40px;
}

.home-news__card-title{
	color: var(--dnl-text);
	font-size: var(--dnl-font-md);
	font-weight: 600;
	line-height: 1.2;
}

.home-news__card-excerpt{
	color: var(--dnl-text-muted);
	font-size: var(--dnl-font-sm);
	line-height: 1.5;
}



/* Testimonials */
.home-testimonial {
	background: #fff;
	border: 1px solid var(--dnl-border);
	border-radius: var(--dnl-radius-md);
	box-shadow: var(--dnl-shadow-card);
	text-align: left;
	padding: 24px 22px;
}

.home-testimonial__star{
	font-size: var(--dnl-font-md);
	letter-spacing: 2px;
	color: rgba(0,0,0,.55);
}

.home-testimonial__text{
	max-width: 46ch;
	margin-left: auto;
	margin-right: auto;
}

.home-testimonial__name{
	color: var(--dnl-text);
	font-size: 1.5rem;
}

.home-testimonial__source{
	color: rgba(0,0,0,.45);
}

/* ==========================================================================
	Newsletter banner (Home)
	========================================================================== */

.home-newsletter{
	padding: 40px 0;
}

.home-newsletter__banner{
	position: relative;
	background: var(--dnl-teal);
	border-radius: var(--dnl-radius-lg);
	padding: 70px 40px 60px 40px;
	overflow: hidden;
	box-shadow: var(--dnl-shadow-soft);
	text-align: center;
}

.home-newsletter__title{
	color: var(--dnl-white);
	font-size: var(--dnl-font-lg);
	margin-bottom: 20px;
}

.home-newsletter__form{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.home-newsletter__input {
	width: min(400px, 100%);
	height: 58px;
	border-radius: 999px;
	border: 2px solid rgba(255,255,255,.55);
	background: rgba(255,255,255,.12);
	color: #fff;
	padding: 0 26px;
	font-size: var(--dnl-font-md);
	font-weight: 500;
	outline: none;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	transition: border-color .2s, background .2s;
}

.home-newsletter__input:focus {
	border-color: rgba(255,255,255,.90);
	background: rgba(255,255,255,.18);
	outline: none;
	box-shadow: none;
}

.home-newsletter__input::placeholder {
	color: rgba(255,255,255,.65);
	font-weight: 400;
}

.home-newsletter__btn {
	border: 0;
	background: #fff;
	color: var(--dnl-teal);
	font-weight: 700;
	letter-spacing: .02em;
	box-shadow: 0 4px 18px rgba(0,0,0,.14);
	transition: background .2s, box-shadow .2s;
	height: 58px;
	margin-bottom: 12px;
}

.home-newsletter__btn:hover {
	background: #f0faf9;
	color: var(--dnl-teal);
	box-shadow: 0 6px 24px rgba(0,0,0,.18);
}

.home-newsletter__note {
	margin-top: 28px;
	color: rgba(255,255,255,.60);
	font-size: 13px;
	font-style: italic;
}

/* Decorative outline shapes */
.home-newsletter__shape{
	position: absolute;
	border: 3px solid rgba(255,255,255,.20);
	border-radius: 18px;
	pointer-events: none;
}

.home-newsletter__shape--l1{
	width: 120px;
	height: 120px;
	left: 18px;
	top: 86px;
}

.home-newsletter__shape--l2{
	width: 160px;
	height: 160px;
	left: 44px;
	top: 150px;
}

.home-newsletter__shape--l3{
	width: 110px;
	height: 110px;
	left: -10px;
	top: 185px;
}

.home-newsletter__shape--r1{
	width: 170px;
	height: 130px;
	right: -15px;
	top: 48px;
}

.home-newsletter__shape--r2{
	width: 160px;
	height: 160px;
	right: 52px;
	top: -10px;
}

.home-newsletter__shape--r3{
	width: 120px;
	height: 120px;
	right: 115px;
	top: 110px;
}


/* Swiper pagination (used by both sliders) */
.swiper .swiper-pagination{
	position: relative;
	margin-top: 14px;
}

.swiper .swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	opacity: .35;
	background: rgba(0,0,0,.6);
}

.swiper .swiper-pagination-bullet-active{
	opacity: 1;
}


/* ==========================================================================
	Footer
	========================================================================== */

.site-footer{
	background: #3c3c3c;
	color: rgba(255,255,255,.78);
	padding: 70px 0 40px 0;
}

.site-footer a{
	color: rgba(255,255,255,.78);
	text-decoration: none;
}

.site-footer a:hover{
	color: rgba(255,255,255,.95);
	text-decoration: none;
}

.site-footer__top{
	padding-bottom: 40px;
}

.site-footer__title{
	color: rgba(255,255,255,.92);
	font-size: 1.55rem;
	font-weight: 500;
	margin: 0 0 22px 0;
	letter-spacing: .2px;
}

.site-footer__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.site-footer__list a{
	font-size: 1.1rem;
}

.site-footer__contact{
	display: grid;
	gap: 10px;
	margin-bottom: 22px;
	font-size: 1.05rem;
}

.site-footer__contact div{
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.site-footer__contact-icon{
	font-size: 1.15rem;
	margin-top: 2px;
	flex: 0 0 auto;
	opacity: .7;
}

.site-footer__newsletter-row{
	display: flex;
	align-items: center;
	gap: 18px;
}

.site-footer__newsletter-input{
	width: 100%;
	height: 56px;
	border-radius: 6px;
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.96);
	color: #111;
	padding: 0 18px;
	font-size: 1.05rem;
	outline: none;
}

.site-footer__newsletter-input::placeholder{
	color: rgba(0,0,0,.5);
}

.site-footer__newsletter-btn{
	width: 56px;
	height: 56px;
	border-radius: 6px;
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.96);
	color: #111;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.site-footer__newsletter-btn i{
	font-size: 26px;
	line-height: 1;
}

.site-footer__bottom{
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 20px;
	padding-top: 26px;
}

.site-footer__social{
	display: flex;
	gap: 14px;
}

.site-footer__social-btn{
	width: 44px;
	height: 44px;
	border-radius: 4px;
	background: rgba(255,255,255,.18);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,.92);
}

.site-footer__social-btn i{
	font-size: 22px;
	line-height: 1;
}

.site-footer__credit{
	padding-top: 50px;
	text-align: center;
	color: rgba(255,255,255,.5);
	font-size: 1.05rem;
}

.site-footer__copyright{
	text-align: right;
	color: rgba(255,255,255,.92);
	font-size: 1.05rem;
}



/* ==========================================================================
	Single News (single post)
	========================================================================== */

.single-post .news-single{
	padding: 56px 0 70px 0;
}

.news-single__header{
	max-width: 860px;
	margin: 0 auto 26px auto;
	text-align: center;
}

.news-single__meta{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: rgba(0,0,0,.55);
	font-weight: 600;
}

.news-single__dot{
	opacity: .7;
}

.news-single__title{
	margin: 14px 0 0 0;
	font-weight: 500;
	line-height: 1.05;
	font-size: clamp(2.1rem, 3.4vw, 3.2rem);
}

.news-single__excerpt{
	margin: 14px auto 0 auto;
	max-width: 760px;
	font-size: 1.1rem;
	line-height: 1.6;
	color: rgba(0,0,0,.65);
}

.news-single__featured{
	margin: 26px 0 34px 0;
	border-radius: var(--dnl-radius-lg);
	overflow: hidden;
	box-shadow: var(--dnl-shadow-soft);
}

.news-single__featured-img{
	width: 100%;
	height: auto;
	display: block;
}

.news-single__content{
	font-size: 1.06rem;
	line-height: 1.8;
	color: rgba(0,0,0,.80);
}

.news-single__content h2,
.news-single__content h3{
	margin-top: 30px;
	margin-bottom: 14px;
	line-height: 1.2;
}

.news-single__content p{
	margin-bottom: 18px;
}

.news-single__sidebar{
	position: sticky;
	top: 100px;
}

.news-single__box{
	border-radius: var(--dnl-radius-lg);
	background: #fff;
	box-shadow: var(--dnl-shadow-soft);
	padding: 22px;
}

.news-single__box-title{
	margin: 0 0 14px 0;
	font-size: 1.25rem;
	font-weight: 600;
}

.news-single__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.news-single__list-link{
	display: grid;
	gap: 4px;
	padding: 10px 12px;
	border-radius: 12px;
	text-decoration: none;
	color: inherit;
}

.news-single__list-link:hover{
	background: rgba(0,0,0,.04);
}

.news-single__list-title{
	font-weight: 600;
	line-height: 1.2;
}

.news-single__list-date{
	font-size: .9rem;
	color: rgba(0,0,0,.55);
}




/* ==========================================================================
	Dianel - Centri (Archive + Single)
	========================================================================== */

.dnl-centers-archive .dnl-object-fit-cover,
.dnl-center-single .dnl-object-fit-cover{
	object-fit: cover;
}

/* ---------- Archive: Centri list ---------- */
.dnl-centers-archive,
.dnl-service-archive{
	padding: 60px 0;
}

.dnl-centers-archive__header{
	margin-bottom: 22px;
}

.dnl-centers-archive__title{
	font-size: var(--dnl-font-xl);
	font-weight: 400;
	line-height: 1.15;
	margin: 0 0 10px 0;
}

.dnl-centers-archive__lead{
	margin: 0;
	max-width: 70ch;
}

.dnl-centers-archive__search .form-control{
	border-radius: 999px;
	border: 1px solid var(--dnl-border);
	height: 52px;
	padding: 0 18px;
	box-shadow: none;
}

.dnl-centers-archive__search .btn{
	height: 52px;
}

.dnl-centers-archive__grid{
	margin-top: 26px;
}

.dnl-centers-archive__card{
	border-radius: var(--dnl-radius-md);
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	overflow: hidden;
	box-shadow: var(--dnl-shadow-card);
	height: 100%;
}

.dnl-centers-archive__media{
	display: block;
	border-radius: 0;
	overflow: hidden;
}

.dnl-centers-archive__thumb{
	width: 100%;
	height: 220px;
	display: block;
}

.dnl-centers-archive__body{
	padding: 26px 26px 22px 26px;
}

.dnl-centers-archive__name{
	color: var(--dnl-text);
	font-size: 1.25rem;
	line-height: 1.2;
	margin: 0 0 10px 0;
}

.dnl-centers-archive__name a{
	color: inherit;
	text-decoration: none;
}

.dnl-centers-archive__name a:hover{
	text-decoration: underline;
}

.dnl-centers-archive__meta{
	color: var(--dnl-text-muted);
	font-size: 1rem;
	line-height: 1.45;
	margin: 0 0 14px 0;
}

.dnl-centers-archive__badges{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
}

.dnl-centers-archive__badges .btn {
	padding: 0.6rem 0.8rem;
}

.dnl-centers-archive__badges .btn i {
	line-height: 1;
	font-size: 1.6rem;
}

.dnl-centers-archive__badge{
	background: rgba(0,0,0,.04);
	color: rgba(0,0,0,.65);
	border: 1px solid rgba(0,0,0,.06);
	font-weight: 600;
	padding: .45rem .75rem;
	border-radius: 999px;
	font-size: .95rem;
}

.dnl-centers-archive__excerpt{
	margin: 0;
	color: var(--dnl-text-muted);
	font-size: 1rem;
	line-height: 1.5;
}

.dnl-centers-archive__footer{
	padding: 0 26px 26px 26px;
}

/* Pagination */
.dnl-centers-archive .navigation.pagination .page-numbers{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	margin: 0 6px 10px 0;
	border-radius: 999px;
	border: 1px solid rgba(0,0,0,.12);
	text-decoration: none;
	color: inherit;
	background: #fff;
	box-shadow: 0 6px 16px rgba(0,0,0,.06);
}

.dnl-centers-archive .navigation.pagination .page-numbers.current{
	background: var(--dnl-teal);
	border-color: var(--dnl-teal);
	color: #fff;
}

.dnl-centers-archive .navigation.pagination .page-numbers:hover:not(.current){
	background: rgba(0,0,0,.03);
}

/* ---------- Single: Centro ---------- */
.dnl-center-single{
	background: transparent;
}

/* Breadcrumbs */
.dnl-center-archive__breadcrumb,
.dnl-center-single__breadcrumb,
.dnl-service-archive__breadcrumb,
.dnl-service-single__breadcrumb,
.dnl-activity-archive__breadcrumb,
.dnl-activity-single__breadcrumb,
.dnl-visit-archive__breadcrumb,
.dnl-visit-single__breadcrumb,
.dnl-course-single__breadcrumb,
.dnl-doctor-single__breadcrumb{
	font-size: var(--dnl-font-sm);
}

.dnl-center-archive__breadcrumb a,
.dnl-center-single__breadcrumb a,
.dnl-service-archive__breadcrumb a,
.dnl-service-single__breadcrumb a,
.dnl-activity-archive__breadcrumb a,
.dnl-activity-single__breadcrumb a,
.dnl-visit-archive__breadcrumb a,
.dnl-visit-single__breadcrumb a,
.dnl-course-single__breadcrumb a,
.dnl-doctor-single__breadcrumb a{
	text-decoration: none;
}

.dnl-center-single__hero-title{
	margin: 0 0 10px 0;
	font-size: var(--dnl-font-lg);
	font-weight: 400;
	line-height: 1.15;
}

.dnl-center-single__hero-lead{
	margin: 0;
	max-width: 70ch;
}

.dnl-center-single__wrap{
	padding: 60px 0;
}

.dnl-center-single__content{
	background: transparent;
}

.dnl-center-single__prose{
	font-size: 1.06rem;
	line-height: 1.8;
	color: rgba(0,0,0,.80);
}

.dnl-center-single__prose p{
	color: rgba(0,0,0,.70);
}

/* Buildings cards */
.dnl-center-single__section-title{
	margin: 0 0 16px 0;
	font-size: 1.75rem;
	font-weight: 500;
	color: var(--dnl-text);
}

.dnl-center-single__building{
	border-radius: var(--dnl-radius-md);
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	box-shadow: var(--dnl-shadow-card);
	padding: 22px;
	height: 100%;
}

.dnl-center-single__building-title{
	margin: 0 0 10px 0;
	font-weight: 600;
	color: var(--dnl-text);
}

.dnl-center-single__building-lines{
	color: var(--dnl-text-muted);
	line-height: 1.5;
}

/* Sidebar */
.dnl-center-single__sidebar{
	position: sticky;
	top: 110px;
}

.dnl-center-single__box{
	border-radius: var(--dnl-radius-lg);
	background: #fff;
	box-shadow: var(--dnl-shadow-soft);
	padding: 22px;
	border: 1px solid rgba(0,0,0,.04);
}

.dnl-center-single__box-title{
	margin: 0 0 14px 0;
	font-size: 1.25rem;
	font-weight: 600;
}

.dnl-center-single__label{
	font-size: .9rem;
	color: rgba(0,0,0,.55);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 4px;
}

.dnl-center-single__value a{
	text-decoration: none;
}

.dnl-center-single__value a:hover{
	text-decoration: underline;
}

.dnl-center-single__map-card{
	border-radius: var(--dnl-radius-md);
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	box-shadow: var(--dnl-shadow-card);
	overflow: hidden;
}

.dnl-center-single__map-frame{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: rgba(0,0,0,.04);
}

.dnl-center-single__map-frame iframe{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.dnl-center-single__map-body{
	padding: 18px 20px 20px 20px;
}

.dnl-center-single__map-address{
	line-height: 1.45;
}

/* Related services cards */
.dnl-center-single__rel-card{
	display: block;
	text-decoration: none;
	border-radius: var(--dnl-radius-md);
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	box-shadow: var(--dnl-shadow-card);
	padding: 18px 20px;
	height: 100%;
	color: inherit;
}

.dnl-center-single__rel-card:hover{
	transform: translateY(-1px);
	box-shadow: 0 14px 34px rgba(0,0,0,.10);
}

.dnl-center-single__rel-title{
	font-weight: 700;
	margin-bottom: 6px;
}

.dnl-center-single__rel-text{
	color: var(--dnl-text-muted);
	line-height: 1.5;
}

/* Doctors cards */
.dnl-center-single__doctor-card{
	display: block;
	text-decoration: none;
	border-radius: var(--dnl-radius-md);
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	box-shadow: var(--dnl-shadow-card);
	padding: 16px 18px;
	height: 100%;
	color: inherit;
}

.dnl-center-single__doctor-card:hover{
	transform: translateY(-1px);
	box-shadow: 0 14px 34px rgba(0,0,0,.10);
}

.dnl-center-single__doctor-row{
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.dnl-center-single__doctor-avatar{
	width: 56px;
	height: 56px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(0,0,0,.06);
	flex: 0 0 auto;
}

.dnl-center-single__doctor-img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dnl-center-single__doctor-name{
	font-weight: 700;
	margin-bottom: 4px;
}

.dnl-center-single__doctor-bio{
	color: var(--dnl-text-muted);
	line-height: 1.45;
}

.dnl-center-single__doctor-avatar:empty{
	background: rgba(0,0,0,.06);
}

/* Mobile */
@media (max-width: 991.98px){
	.dnl-center-single__sidebar{
		position: static;
		top: auto;
		margin-top: 18px;
	}
	.dnl-centers-archive__thumb{
		height: 200px;
	}
}

@media (max-width: 575.98px){
	.dnl-centers-archive__thumb{
		height: 180px;
	}
	.dnl-center-single__hero-title{
		font-size: 44px;
	}
}


/* =========================================
	Center Gallery
========================================= */

.dnl-center-gallery {
	margin-top: 3rem;
}

.dnl-center-gallery__title {
	font-size: 1.4rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}

.dnl-center-gallery .swiper {
	border-radius: 14px;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

.dnl-center-gallery .swiper-slide {
	height: 420px;
	position: relative;
}

.dnl-center-gallery__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dnl-center-gallery .swiper-button-next,
.dnl-center-gallery .swiper-button-prev {
	color: #fff;
	background: rgba(0, 0, 0, 0.35);
	width: 42px;
	height: 42px;
	border-radius: 50%;
	backdrop-filter: blur(4px);
}

.dnl-center-gallery .swiper-button-next::after,
.dnl-center-gallery .swiper-button-prev::after {
	font-size: 16px;
	font-weight: 700;
}

.dnl-center-gallery .swiper-pagination-bullet {
	background: #fff;
	opacity: 0.6;
}

.dnl-center-gallery .swiper-pagination-bullet-active {
	opacity: 1;
}

@media (max-width: 992px) {
	.dnl-center-gallery .swiper-slide {
		height: 320px;
	}
}

@media (max-width: 576px) {
	.dnl-center-gallery .swiper-slide {
		height: 240px;
	}
}


/* ==========================================================================
	SERVICES: ARCHIVE + SINGLE
	========================================================================== */

.dnl-service-single__section-title {
	margin: 0 0 18px 0;
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--dnl-text);
}

.dnl-service-single__back-btn {
	display: inline-flex;
	align-items: center;
	font-size: .9rem;
}

.dnl-service-single__sidebar {
	position: sticky;
	top: 88px;
}

.dnl-service-single__center-item {
	padding: 6px 0;
	border-bottom: 1px solid rgba(0,0,0,.05);
}
.dnl-service-single__center-item:last-child {
	border-bottom: none;
}
.dnl-service-single__center-item a {
	color: var(--dnl-text);
	text-decoration: none;
	font-size: .95rem;
	display: flex;
	align-items: center;
}
.dnl-service-single__center-item a:hover {
	color: var(--dnl-teal);
}

.dnl-service-single__whatsapp,
.dnl-activity-single__whatsapp,
.dnl-visit-single__whatsapp,
.dnl-course-single__whatsapp,
.dnl-doctor-single__whatsapp {
	background: #25d366;
	border-color: #25d366;
	color: #fff;
	font-weight: 600;
}
.dnl-service-single__whatsapp:hover,
.dnl-activity-single__whatsapp:hover,
.dnl-visit-single__whatsapp:hover,
.dnl-course-single__whatsapp:hover,
.dnl-doctor-single__whatsapp:hover {
	background: #1ebe5c;
	border-color: #1ebe5c;
	color: #fff;
}

/* Screening / visit / course cards */
.dnl-service-single__screening-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	border-radius: var(--dnl-radius-md);
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	box-shadow: var(--dnl-shadow-card);
	padding: 0;
	overflow: hidden;
	color: inherit;
	transition: transform .2s ease, box-shadow .2s ease;
}

.dnl-service-single__screening-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(0,0,0,.10);
}

.dnl-service-single__screening-img {
	width: 100%;
	aspect-ratio: 16/9;
	overflow: hidden;
}
.dnl-service-single__screening-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}
.dnl-service-single__screening-card:hover .dnl-service-single__screening-img img {
	transform: scale(1.04);
}

.dnl-service-single__screening-body {
	padding: 16px 18px 8px;
}

.dnl-service-single__screening-title {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 6px;
	color: var(--dnl-text);
}

.dnl-service-single__screening-excerpt,
.dnl-service-single__prose {
	color: var(--dnl-text-muted);
	font-size: .9rem;
	line-height: 1.5;
	margin: 0;
}

.dnl-service-single__screening-footer {
	padding: 8px 18px 14px;
	border-top: 1px solid rgba(0,0,0,.05);
}

.dnl-service-single__screening-card--static {
	cursor: default;
}
.dnl-service-single__screening-card--static:hover {
	transform: none;
	box-shadow: var(--dnl-shadow-card);
}

.dnl-service-archive__cta i {
	transition: transform .2s ease;
}
.dnl-service-archive__card:hover .dnl-service-archive__cta i {
	transform: translateX(3px);
}

/* Archive hero */
.dnl-service-archive__hero,
.dnl-activity-archive__hero{
	padding: 56px 0;
	background: #f6f8fb;
	border-bottom: 1px solid rgba(0,0,0,.06);
}

.dnl-service-archive__hero-title,
.dnl-activity-archive__hero-title{
	margin: 0 0 8px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.dnl-service-archive__hero-lead,
.dnl-activity-archive__hero-lead{
	margin: 0;
	color: rgba(0,0,0,.65);
	font-size: 1.05rem;
	line-height: 1.5;
}

/* Archive card */
.dnl-service-archive__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dnl-service-archive__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0,0,0,.08);
	border-color: rgba(0,0,0,.14);
}

.dnl-service-archive__card-body{
	padding: 18px 18px 10px;
}

.dnl-service-archive__icon{
	font-size: 28px;
	line-height: 1;
	color: var(--dnl-grey-dark);
	flex: 0 0 auto;
}

.dnl-service-archive__title{
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--dnl-grey-dark);
}

.dnl-service-archive__text{
	color: rgba(0,0,0,.65);
	font-size: .95rem;
	line-height: 1.45;
	margin-top: 2px;
}

.dnl-service-archive__card-body {
	flex: 1;
}

.dnl-service-archive__card-footer {
	padding: 12px 18px 16px;
	border-top: 1px solid rgba(0,0,0,.06);
	margin-top: auto;
}

/* Single hero — shared across service, activity, visit, course, doctor */
.dnl-center-single__hero,
.dnl-service-single__hero,
.dnl-activity-single__hero,
.dnl-visit-single__hero,
.dnl-course-single__hero,
.dnl-doctor-single__hero{
	position: relative;
	background: #f6f8fb;
	border-bottom: 1px solid rgba(0,0,0,.06);
}

.dnl-center-single__hero.has-bg,
.dnl-service-single__hero.has-bg,
.dnl-activity-single__hero.has-bg,
.dnl-visit-single__hero.has-bg,
.dnl-course-single__hero.has-bg,
.dnl-doctor-single__hero.has-bg{
	background-size: cover;
	background-position: center;
}

.dnl-center-single__hero-overlay,
.dnl-service-single__hero-overlay,
.dnl-activity-single__hero-overlay,
.dnl-visit-single__hero-overlay,
.dnl-course-single__hero-overlay,
.dnl-doctor-single__hero-overlay{
	position: relative;
	background: linear-gradient(180deg, rgba(0,0,0,.50), rgba(0,0,0,.20));
	backdrop-filter: blur(10px);
}

.dnl-center-single__inner,
.dnl-service-single__inner,
.dnl-activity-single__inner,
.dnl-visit-single__inner,
.dnl-course-single__inner,
.dnl-doctor-single__inner{
	padding: 64px 0;
}

.dnl-center-single__hero.has-bg .breadcrumb,
.dnl-center-single__hero.has-bg .breadcrumb a,
.dnl-service-single__hero.has-bg .breadcrumb,
.dnl-service-single__hero.has-bg .breadcrumb a,
.dnl-activity-single__hero.has-bg .breadcrumb,
.dnl-activity-single__hero.has-bg .breadcrumb a,
.dnl-visit-single__hero.has-bg .breadcrumb,
.dnl-visit-single__hero.has-bg .breadcrumb a,
.dnl-course-single__hero.has-bg .breadcrumb,
.dnl-course-single__hero.has-bg .breadcrumb a,
.dnl-doctor-single__hero.has-bg .breadcrumb,
.dnl-doctor-single__hero.has-bg .breadcrumb a{
	color: rgba(255,255,255,.90);
}

.dnl-center-single__hero.has-bg .breadcrumb .active,
.dnl-service-single__hero.has-bg .breadcrumb .active,
.dnl-activity-single__hero.has-bg .breadcrumb .active,
.dnl-visit-single__hero.has-bg .breadcrumb .active,
.dnl-course-single__hero.has-bg .breadcrumb .active,
.dnl-doctor-single__hero.has-bg .breadcrumb .active{
	color: rgba(255,255,255,.80);
}

.breadcrumb-item+.breadcrumb-item::before {
	content: var(--bs-breadcrumb-divider, "‣");	
}

.has-bg .breadcrumb-item+.breadcrumb-item::before{
	color: rgba(255,255,255,.80);
	content: var(--bs-breadcrumb-divider, "‣");
}

.dnl-service-single__hero-title,
.dnl-activity-single__hero-title,
.dnl-visit-single__hero-title,
.dnl-course-single__hero-title,
.dnl-doctor-single__hero-title{
	margin: 0 0 10px 0;
	font-size: var(--dnl-font-lg);
	font-weight: 400;
	line-height: 1.15;
}

.dnl-service-single__hero-lead,
.dnl-activity-single__hero-lead,
.dnl-visit-single__hero-lead,
.dnl-course-single__hero-lead,
.dnl-doctor-single__hero-lead{
	margin: 0;
	max-width: 70ch;
}

.dnl-center-single__hero.has-bg .dnl-center-single__hero-title,
.dnl-center-single__hero.has-bg .dnl-center-single__hero-lead,
.dnl-service-single__hero.has-bg .dnl-service-single__hero-title,
.dnl-service-single__hero.has-bg .dnl-service-single__hero-lead,
.dnl-activity-single__hero.has-bg .dnl-activity-single__hero-title,
.dnl-activity-single__hero.has-bg .dnl-activity-single__hero-lead,
.dnl-visit-single__hero.has-bg .dnl-visit-single__hero-title,
.dnl-visit-single__hero.has-bg .dnl-visit-single__hero-lead,
.dnl-course-single__hero.has-bg .dnl-course-single__hero-title,
.dnl-course-single__hero.has-bg .dnl-course-single__hero-lead,
.dnl-doctor-single__hero.has-bg .dnl-doctor-single__hero-title,
.dnl-doctor-single__hero.has-bg .dnl-doctor-single__hero-lead{
	color: #fff;
}

.dnl-service-single__icon,
.dnl-activity-single__icon,
.dnl-visit-single__icon{
	font-size: 34px;
	line-height: 1;
	color: #0C73CE;
	margin-top: 4px;
}

.dnl-service-single__prose > *:first-child,
.dnl-activity-single__prose > *:first-child,
.dnl-visit-single__prose > *:first-child,
.dnl-course-single__prose > *:first-child,
.dnl-doctor-single__prose > *:first-child{
	margin-top: 0;
}

.dnl-service-single__prose,
.dnl-activity-single__prose,
.dnl-visit-single__prose,
.dnl-course-single__prose,
.dnl-doctor-single__prose {
	color: rgba(0,0,0,.78);
	font-size: var(--dnl-font-sm);
}

.dnl-service-single__prose h2,
.dnl-service-single__prose h3,
.dnl-activity-single__prose h2,
.dnl-activity-single__prose h3,
.dnl-visit-single__prose h2,
.dnl-visit-single__prose h3,
.dnl-course-single__prose h2,
.dnl-course-single__prose h3,
.dnl-doctor-single__prose h2,
.dnl-doctor-single__prose h3{
	margin-top: 28px;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.dnl-service-single__box,
.dnl-activity-single__box,
.dnl-visit-single__box,
.dnl-course-single__box,
.dnl-doctor-single__box{
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 16px;
	background: #fff;
	padding: 18px;
}

.dnl-service-single__box-title,
.dnl-activity-single__box-title,
.dnl-visit-single__box-title,
.dnl-course-single__box-title,
.dnl-doctor-single__box-title{
	margin: 0 0 10px;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.dnl-service-archive .breadcrumb,
.dnl-service-single .breadcrumb,
.dnl-activity-single .breadcrumb,
.dnl-visit-single .breadcrumb,
.dnl-course-single .breadcrumb,
.dnl-doctor-single .breadcrumb{
	font-size: .95rem;
}


/* ========================================
	VISITE SPECIALISTICHE ARCHIVE
======================================== */

.dnl-visit-archive__hero {
	background: #f8f9fa;
	border-bottom: 1px solid #e9ecef;
}

.dnl-visit-archive__hero h1 {
	font-weight: 600;
}

.dnl-visit-archive__card {
	background: #ffffff;
	border-radius: 10px;
	border: 1px solid #e9ecef;
	box-shadow: 0 2px 12px rgba(0,0,0,.04);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	color: inherit;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.dnl-visit-archive__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 25px rgba(0,0,0,.09);
	border-color: #dee2e6;
}

.dnl-visit-archive__image {
	width: 100%;
	aspect-ratio: 16/9;
	overflow: hidden;
}

.dnl-visit-archive__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}

.dnl-visit-archive__card:hover .dnl-visit-archive__image img {
	transform: scale(1.04);
}

.dnl-visit-archive__card-body {
	padding: 1.4rem 1.5rem 1rem;
	flex: 1;
}

.dnl-visit-archive__card-title {
	font-size: 1.05rem;
	font-weight: 700;
	margin-bottom: .5rem;
	color: var(--dnl-text);
}

.dnl-visit-archive__card-excerpt {
	font-size: .92rem;
	color: var(--dnl-text-muted);
	line-height: 1.55;
}

.dnl-visit-archive__card-footer {
	padding: .9rem 1.5rem 1.25rem;
	border-top: 1px solid rgba(0,0,0,.05);
}

.dnl-visit-archive__cta {
	display: inline-flex;
	align-items: center;
	font-weight: 600;
	font-size: .88rem;
	border-radius: 999px;
	padding: .45rem 1.1rem;
}

.dnl-visit-archive__cta i {
	transition: transform .2s ease;
}

.dnl-visit-archive__card:hover .dnl-visit-archive__cta i {
	transform: translateX(3px);
}


/* ========================================
	SINGLE VISITA SPECIALISTICA
======================================== */

/* ========================================
	SINGLE VISITA SPECIALISTICA
======================================== */

/* ── Hero ── */
.dnl-visit-single__hero {
	background: #fff;
	border-bottom: 1px solid rgba(0,0,0,.07);
	padding: 44px 0 40px;
}

.dnl-visit-single__hero.has-bg {
	background-size: cover;
	background-position: center;
}

.dnl-visit-single__hero-overlay {
	position: relative;
	background: linear-gradient(180deg, rgba(0,0,0,.50), rgba(0,0,0,.20));
	backdrop-filter: blur(10px);
}

.dnl-visit-single__inner {
	padding: 64px 0;
}

/* Breadcrumb white on has-bg */
.dnl-visit-single__hero.has-bg .breadcrumb,
.dnl-visit-single__hero.has-bg .breadcrumb a,
.dnl-visit-single__hero.has-bg .breadcrumb-item.active {
	color: rgba(255,255,255,.85);
}

.dnl-visit-single__hero.has-bg .breadcrumb-item + .breadcrumb-item::before {
	color: rgba(255,255,255,.6);
}

/* Hero body: icon + text + back button in a row */
.dnl-visit-single__hero-body {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	flex-wrap: wrap;
}

.dnl-visit-single__hero-icon {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 16px;
	background: rgba(75,145,138,.12);
	color: var(--dnl-teal);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	margin-top: 4px;
}

.dnl-visit-single__hero.has-bg .dnl-visit-single__hero-icon {
	background: rgba(255,255,255,.15);
	color: #fff;
}

.dnl-visit-single__hero-text {
	flex: 1;
	min-width: 0;
}

.dnl-visit-single__hero-title {
	font-size: clamp(1.8rem, 3vw, var(--dnl-font-lg));
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0 0 10px;
	color: var(--dnl-text);
	line-height: 1.15;
}

.dnl-visit-single__hero.has-bg .dnl-visit-single__hero-title {
	color: #fff;
}

.dnl-visit-single__hero-lead {
	font-size: 1.05rem;
	line-height: 1.6;
	color: var(--dnl-text-muted);
	margin: 0;
	max-width: 65ch;
}

.dnl-visit-single__hero.has-bg .dnl-visit-single__hero-lead {
	color: rgba(255,255,255,.85);
}

.dnl-visit-single__hero-actions {
	flex-shrink: 0;
	align-self: flex-start;
}

.dnl-visit-single__back-btn {
	display: inline-flex;
	align-items: center;
	font-size: .9rem;
	white-space: nowrap;
}

/* ── Prose content ── */
.dnl-visit-single__prose {
	font-size: var(--dnl-font-sm);
	line-height: 1.75;
	color: rgba(0,0,0,.75);
}

.dnl-visit-single__prose p {
	color: rgba(0,0,0,.75);
	margin-bottom: 1rem;
}

.dnl-visit-single__prose p:last-child { margin-bottom: 0; }

/* Hide share/related plugins */
.dnl-visit-single__prose .sharedaddy,
.dnl-visit-single__prose .jp-relatedposts,
.dnl-visit-single__prose h1,
.dnl-visit-single__prose h2:first-child {
	display: none;
}

.dnl-visit-single__section-title {
	font-size: 1.1rem;
	font-weight: 800;
	margin-bottom: 1.25rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--dnl-text-muted);
	padding-bottom: .6rem;
	border-bottom: 2px solid rgba(0,0,0,.07);
}

/* ── Doctor cards ── */
.dnl-visit-single__doctor-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 18px;
	border-radius: var(--dnl-radius-md);
	border: 1px solid var(--dnl-border);
	background: #fff;
	box-shadow: var(--dnl-shadow-card);
	text-decoration: none;
	color: inherit;
	transition: transform .2s ease, box-shadow .2s ease;
}

.dnl-visit-single__doctor-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(0,0,0,.09);
	color: inherit;
}

.dnl-visit-single__doctor-avatar {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(75,145,138,.20);
	background: #f0f4f4;
}

.dnl-visit-single__doctor-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

.dnl-visit-single__doctor-img--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	color: var(--dnl-teal);
	opacity: .35;
	width: 100%;
	height: 100%;
}

.dnl-visit-single__doctor-body {
	flex: 1;
	min-width: 0;
}

.dnl-visit-single__doctor-name {
	font-weight: 700;
	font-size: 1rem;
	color: var(--dnl-text);
	margin-bottom: 3px;
}

.dnl-visit-single__doctor-spec {
	font-size: .85rem;
	color: var(--dnl-teal);
	font-weight: 600;
	margin-bottom: 4px;
}

.dnl-visit-single__doctor-bio {
	font-size: .82rem;
	color: var(--dnl-text-muted);
	line-height: 1.45;
}

.dnl-visit-single__doctor-chevron {
	font-size: 16px;
	color: var(--dnl-text-muted);
	flex-shrink: 0;
}

/* ── Sidebar ── */
.dnl-visit-single__sidebar {
	position: sticky;
	top: 88px;
}

.dnl-visit-single__box {
	border: 1px solid rgba(0,0,0,.08);
	border-radius: var(--dnl-radius-lg);
	background: #fff;
	padding: 22px;
	box-shadow: var(--dnl-shadow-card);
	height: fit-content;
}

.dnl-visit-single__box-title {
	margin: 0 0 10px;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: -0.01em;
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
	.dnl-visit-single__sidebar {
		position: static;
		top: auto;
		margin-top: 24px;
	}
}

@media (max-width: 767.98px) {
	.dnl-visit-single__hero { padding: 28px 0 28px; }
	.dnl-visit-single__inner { padding: 36px 0; }
	.dnl-visit-single__hero-body { gap: 16px; }
	.dnl-visit-single__hero-icon { width: 52px; height: 52px; font-size: 24px; }
	.dnl-visit-single__hero-actions { width: 100%; }
	.dnl-visit-single__back-btn { width: 100%; justify-content: center; }
}


/* ========================================
	SINGLE CORSO
======================================== */

.dnl-course-single__section-title {
	font-size: 1.25rem;
	font-weight: 800;
	margin-bottom: 1.25rem;
	letter-spacing: -.01em;
}

.dnl-course-single__back-btn {
	display: inline-flex;
	align-items: center;
	font-size: .9rem;
}

.dnl-course-single__sidebar {
	position: sticky;
	top: 88px;
}

.dnl-course-single__service-item {
	padding: 6px 0;
	border-bottom: 1px solid rgba(0,0,0,.05);
}

.dnl-course-single__service-item:last-child {
	border-bottom: none;
}

.dnl-course-single__service-item a {
	color: var(--dnl-text);
	text-decoration: none;
	font-size: .95rem;
	display: flex;
	align-items: center;
}

.dnl-course-single__service-item a:hover {
	color: var(--dnl-teal);
}


/* ========================================
	SINGLE MEDICO
======================================== */

.dnl-doctor-single__hero {
	background: #fff;
	border-bottom: 1px solid rgba(0,0,0,.07);
	padding: 44px 0 40px;
}

/* Profile card row */
.dnl-doctor-single__profile {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
}

/* Avatar */
.dnl-doctor-single__avatar {
	flex-shrink: 0;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid rgba(75,145,138,.20);
	background: #f0f4f4;
	box-shadow: 0 4px 18px rgba(0,0,0,.10);
}

.dnl-doctor-single__avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

.dnl-doctor-single__avatar-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 48px;
	color: var(--dnl-teal);
	opacity: .4;
}

/* Profile info */
.dnl-doctor-single__profile-info {
	flex: 1;
	min-width: 0;
}

.dnl-doctor-single__name {
	font-size: clamp(1.6rem, 2.5vw, var(--dnl-font-lg));
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0 0 6px;
	color: var(--dnl-text);
}

.dnl-doctor-single__spec {
	font-size: 1.05rem;
	color: var(--dnl-teal);
	font-weight: 600;
	margin: 0 0 12px;
}

.dnl-doctor-single__centers-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dnl-doctor-single__center-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: .85rem;
	color: var(--dnl-text-muted);
	background: rgba(0,0,0,.04);
	border: 1px solid rgba(0,0,0,.07);
	border-radius: 999px;
	padding: 4px 10px;
}

.dnl-doctor-single__center-badge i {
	color: var(--dnl-teal);
	font-size: 1rem;
}

/* Back button */
.dnl-doctor-single__profile-back {
	flex-shrink: 0;
	align-self: flex-start;
}

.dnl-doctor-single__back-btn {
	display: inline-flex;
	align-items: center;
	font-size: .9rem;
}

/* Body */
.dnl-doctor-single__section-title {
	font-size: 1.25rem;
	font-weight: 800;
	margin-bottom: 1.25rem;
	letter-spacing: -.01em;
	color: var(--dnl-text);
}

.dnl-doctor-single__prose {
	font-size: var(--dnl-font-sm);
	line-height: 1.7;
	color: rgba(0,0,0,.75);
}

.dnl-doctor-single__prose p {
	color: rgba(0,0,0,.75);
	margin-bottom: 1rem;
}

.dnl-doctor-single__prose p:last-child {
	margin-bottom: 0;
}

/* Block editor content wrapper */
.dnl-doctor-single__content {
	/* H2 becomes a styled section header */
}

.dnl-doctor-single__content h2 {
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--dnl-text-muted);
	margin: 2.5rem 0 1rem;
	padding-bottom: .5rem;
	border-bottom: 2px solid rgba(0,0,0,.07);
}

.dnl-doctor-single__content h2:first-child {
	margin-top: 0;
}

.dnl-doctor-single__content h3 {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--dnl-text);
	margin: 1.5rem 0 .75rem;
}

/* Default paragraphs */
.dnl-doctor-single__content p {
	font-size: var(--dnl-font-sm);
	line-height: 1.75;
	color: rgba(0,0,0,.75);
	margin-bottom: 1rem;
}

/* ── Patologie: pill badges ── */
/* WP renders ul after an H2 "Patologie" */
.dnl-doctor-single__content h2 + ul,
.dnl-doctor-single__content h2 + div > ul {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dnl-doctor-single__content h2 + ul li,
.dnl-doctor-single__content h2 + div > ul li {
	background: rgba(75,145,138,.10);
	color: var(--dnl-teal);
	border: 1px solid rgba(75,145,138,.25);
	border-radius: 999px;
	padding: 5px 14px;
	font-size: .88rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
}

/* ── Prestazioni: 2-col grid with check icons ── */
/* The second H2 section gets a different treatment via nth-of-type */
.dnl-doctor-single__content h2 ~ h2 + ul,
.dnl-doctor-single__content h2 ~ h2 + div > ul {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.dnl-doctor-single__content h2 ~ h2 + ul li,
.dnl-doctor-single__content h2 ~ h2 + div > ul li {
	background: #fff;
	color: var(--dnl-text);
	border: 1px solid rgba(0,0,0,.08);
	border-radius: var(--dnl-radius-sm);
	padding: 10px 14px 10px 36px;
	font-size: .9rem;
	font-weight: 500;
	line-height: 1.4;
	margin: 0;
	position: relative;
	box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

.dnl-doctor-single__content h2 ~ h2 + ul li::before,
.dnl-doctor-single__content h2 ~ h2 + div > ul li::before {
	content: '✓';
	position: absolute;
	left: 12px;
	top: 10px;
	color: var(--dnl-teal);
	font-weight: 700;
	font-size: .9rem;
}

/* ── Share buttons — hide or restyle ── */
.dnl-doctor-single__content .sharedaddy,
.dnl-doctor-single__content .jp-relatedposts {
	display: none;
}

@media (max-width: 767.98px) {
	.dnl-doctor-single__content h2 ~ h2 + ul,
	.dnl-doctor-single__content h2 ~ h2 + div > ul {
		grid-template-columns: 1fr;
	}
}

.dnl-doctor-single__sidebar {
	position: sticky;
	top: 88px;
}

/* Box should only be as tall as content — no stretching */
.dnl-doctor-single__box {
	height: fit-content;
}

.dnl-doctor-single__visit-card {
	border-radius: var(--dnl-radius-md);
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	box-shadow: var(--dnl-shadow-card);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}

.dnl-doctor-single__visit-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(0,0,0,.10);
}

.dnl-doctor-single__visit-body {
	padding: 16px 18px 8px;
}

.dnl-doctor-single__visit-title {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 6px;
	color: var(--dnl-text);
}

.dnl-doctor-single__visit-footer {
	padding: 8px 18px 14px;
	border-top: 1px solid rgba(0,0,0,.05);
}

/* Responsive */
@media (max-width: 767.98px) {
	.dnl-doctor-single__hero { padding: 28px 0 28px; }
	.dnl-doctor-single__profile { gap: 18px; }
	.dnl-doctor-single__avatar { width: 80px; height: 80px; }
	.dnl-doctor-single__profile-back { width: 100%; }
	.dnl-doctor-single__back-btn { width: 100%; justify-content: center; }
}

@media (max-width: 991.98px) {
	.dnl-doctor-single__sidebar { position: static; top: auto; margin-top: 24px; }
}


/* ========================================
	SHARE BUTTONS
======================================== */

.dnl-share {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-top: 2rem;
	flex-wrap: wrap;
}

.dnl-share__label {
	font-weight: 600;
	margin-right: 10px;
}

.dnl-share__btn {
	padding: 6px 14px;
	border-radius: 6px;
	font-size: 0.9rem;
	text-decoration: none;
	color: #fff;
	transition: all 0.2s ease;
}

.dnl-share__btn,
.dnl-share__btn:link,
.dnl-share__btn:hover {
	color: var(--dnl-white);
}

.dnl-share__btn--facebook { background: #1877f2; }
.dnl-share__btn--linkedin { background: #0a66c2; }
.dnl-share__btn--twitter  { background: #000000; }
.dnl-share__btn--whatsapp { background: #25d366; }

.dnl-share__btn:hover {
	opacity: 0.85;
}


/* ==========================================================================
	Responsive adjustments
	========================================================================== */

/* --- Tablet (≤991px) --- */
@media (max-width: 991.98px){
	.home-hero {
		padding-bottom: 56px;
	}
	.home-hero__media {
		width: 100%;
	}
	.home-hero__news-card {
		grid-template-columns: 1.6fr 140px;
	}

	.home-services__card-media,
	.home-activities__card-media{
		height: 170px;
	}

	.site-footer__bottom{
		grid-template-columns: 1fr;
		text-align: center;
	}
	.site-footer__social{
		justify-content: center;
	}
	.site-footer__copyright{
		text-align: center;
	}

	.site-footer__newsletter-row{
		flex-direction: column;
		gap: 10px;
	}
	.site-footer__newsletter-input{
		width: 100%;
	}
	.site-footer__newsletter-btn{
		width: 100%;
		border-radius: 6px;
		height: 50px;
	}

	.dnl-center-single__sidebar,
	.news-single__sidebar{
		position: static;
		top: auto;
		margin-top: 24px;
	}

	.dnl-visit-single__sidebar,
	.dnl-course-single__sidebar,
	.dnl-doctor-single__sidebar {
		position: static;
		top: auto;
		margin-top: 24px;
	}
}

/* --- Mobile (≤767px) --- */
@media (max-width: 767.98px){

	:root{
		--dnl-font-xxl: 38px;
		--dnl-font-xl:  30px;
		--dnl-font-lg:  26px;
		--dnl-font-md:  18px;
		--dnl-font-sm:  15px;
		--bs-body-font-size: 16px;
	}

	section{
		padding: 40px 0;
	}

	.dianel-navbar {
		padding: 10px 0;
	}

	.dianel-testimonials-swiper {
		overflow: hidden;
		padding: 8px 20px 20px !important;
	}
	.home-testimonials .swiper-slide {
		height: auto;
	}
	.dianel-testimonials-pagination {
		position: relative;
		margin-top: 8px;
		text-align: center;
	}

	.home-hero {
		padding-top: 48px;
		padding-bottom: 0;
	}
	.home-hero .container {
		position: relative;
		z-index: 1;
	}
	.home-hero__title {
		color: #fff;
		font-weight: 700;
		text-shadow: 0 1px 12px rgba(0,0,0,.25);
	}
	.home-hero__lead {
		color: rgba(255,255,255,.90);
		font-weight: 500;
		text-shadow: 0 1px 8px rgba(0,0,0,.20);
	}
	.home-hero .pb-200px {
		padding-bottom: 44px !important;
	}
	.home-hero .container {
		padding-left: 32px;
		padding-right: 32px;
	}
	.home-hero__cta-wrap {
		display: block;
	}
	.home-hero__cta-wrap .btn {
		display: block;
		width: 100%;
		text-align: center;
	}

	.home-our-story__content,
	.home-activities-intro__content{
		padding: 0 0 24px 0;
	}

	.home-services__card-top,
	.home-activities__card-top{
		grid-template-columns: 48px 1fr;
		gap: 16px;
		padding: 20px 20px 14px 20px;
	}
	.home-services__icon,
	.home-activities__icon{
		width: 48px;
		height: 48px;
	}
	.home-services__card-media,
	.home-activities__card-media{
		height: 150px;
	}

	.home-courses__card-inner{
		grid-template-columns: 1fr;
	}
	.home-courses__card-thumb{
		height: 200px;
	}

	.home-news__thumb{
		height: 160px;
		margin: 14px 14px 0 14px;
	}
	.home-news__body{
		padding: 0 20px 20px 20px;
	}
	.home-news__card-title{
		font-size: 1.1rem;
	}

	.home-newsletter{
		padding: 24px 0;
	}
	.home-newsletter__banner{
		padding: 40px 16px 36px 16px;
		border-radius: var(--dnl-radius-md);
	}
	.home-newsletter__title{
		font-size: var(--dnl-font-lg);
	}
	.home-newsletter__input {
		width: 100%;
		height: 52px;
		font-size: 1rem;
	}
	.home-newsletter__btn {
		width: 100%;
		height: 52px;
		margin-bottom: 10px;
	}
	.home-newsletter__note {
		margin-top: 24px;
	}
	.home-newsletter__shape{
		display: none;
	}

	.pb-200px{
		padding-bottom: 80px;
	}
	.pb-70px{
		padding-bottom: 40px;
	}

	.site-footer{
		padding: 48px 0 28px 0;
	}
	.site-footer__title{
		font-size: 1.2rem;
		margin-bottom: 16px;
	}
	.site-footer__credit{
		padding-top: 28px;
	}

	.dnl-centers-archive__thumb{
		height: 190px;
	}

	.dnl-center-single__hero-title,
	.dnl-service-single__hero-title,
	.dnl-activity-single__hero-title,
	.dnl-visit-single__hero-title,
	.dnl-course-single__hero-title,
	.dnl-doctor-single__hero-title{
		font-size: var(--dnl-font-lg);
	}

	.dnl-center-single__inner,
	.dnl-service-single__inner,
	.dnl-activity-single__inner,
	.dnl-visit-single__inner,
	.dnl-course-single__inner,
	.dnl-doctor-single__inner{
		padding: 36px 0;
	}

	.dnl-center-single__wrap{
		padding: 36px 0;
	}
	.news-single__title{
		font-size: clamp(1.6rem, 6vw, 2.4rem);
	}
	.single-post .news-single{
		padding: 32px 0 48px 0;
	}
}

/* --- Small mobile (≤399px) --- */
@media (max-width: 399.98px){
	:root{
		--dnl-font-xxl: 32px;
		--dnl-font-xl:  26px;
		--dnl-font-lg:  22px;
	}
	.btn{
		padding: 12px 22px;
	}
	.btn-lg{
		padding: 13px 26px;
		font-size: var(--dnl-font-sm);
	}
	.home-courses__card-thumb{
		height: 160px;
	}
	.dnl-center-gallery .swiper-slide{
		height: 200px;
	}
}

/* ==========================================================================
	Mobile Hero News Strip (.home-hero-news)
	========================================================================== */

.home-hero-news {
	background: #fff;
	padding: 20px 0 28px;
	position: relative;
}

.home-hero-news .swiper {
	overflow: hidden;
	padding-left: 20px !important;
	padding-right: 20px !important;
}

.home-hero-news__card {
	display: block;
	background: var(--dnl-white);
	border: 1px solid var(--dnl-border);
	border-radius: var(--dnl-radius-md);
	box-shadow: var(--dnl-shadow-card);
	padding: 18px 20px 16px;
	color: inherit;
	height: 100%;
}

.home-hero-news__title {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--dnl-text);
	margin: 0 0 8px;
}

.home-hero-news__excerpt {
	font-size: .92rem;
	line-height: 1.45;
	color: var(--dnl-text-muted);
	margin: 0;
}

.home-hero-news__pagination {
	position: relative;
	margin-top: 16px;
	text-align: center;
}

@media (max-width: 991.98px) {
	.dianel-news-prev,
	.dianel-news-next {
		display: none !important;
	}
}


/* ==========================================================================
   VISITE SPECIALISTICHE — MASTER-DETAIL
   ========================================================================== */

.dnl-visit-archive__hero {
	background: #fff;
	border-bottom: 1px solid rgba(0,0,0,.07);
	padding: 44px 0 36px;
}

.dnl-visit-archive__hero-body {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	flex-wrap: wrap;
	margin-top: 14px;
}

.dnl-visit-archive__hero-title {
	font-size: clamp(1.9rem, 3vw, var(--dnl-font-lg));
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0 0 6px;
	color: var(--dnl-text);
}

.dnl-visit-archive__hero-lead {
	margin: 0;
	color: var(--dnl-text-muted);
	font-size: 1rem;
}

.dnl-visit-archive__search-wrap {
	flex: 0 0 auto;
	width: min(360px, 100%);
}

.dnl-visit-archive__search {
	position: relative;
	display: flex;
	align-items: center;
}

.dnl-visit-archive__search-icon {
	position: absolute;
	left: 16px;
	font-size: 19px;
	color: var(--dnl-text-muted);
	pointer-events: none;
	line-height: 1;
}

.dnl-visit-archive__search-input {
	width: 100%;
	height: 50px;
	border-radius: 999px;
	border: 2px solid rgba(0,0,0,.10);
	background: #f8f9fa;
	padding: 0 42px 0 44px;
	font-size: .98rem;
	font-family: inherit;
	color: var(--dnl-text);
	outline: none;
	transition: border-color .18s, background .18s, box-shadow .18s;
}

.dnl-visit-archive__search-input:focus {
	border-color: var(--dnl-teal);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(75,145,138,.12);
}

.dnl-visit-archive__search-input::placeholder { color: rgba(0,0,0,.36); }

/* Hide native browser clear button on search inputs */
.dnl-visit-archive__search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.dnl-visit-archive__search-clear {
	position: absolute;
	right: 13px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: none;
	background: rgba(0,0,0,.08);
	color: var(--dnl-text-muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	transition: background .15s;
}
.dnl-visit-archive__search-clear:hover { background: rgba(0,0,0,.15); }

/* ── Body ── */
.dnl-visit-archive__body {
	padding: 40px 0 64px;
	background: var(--dnl-bg);
}

/* ── 2-column layout ── */
.dnl-visit-layout {
	display: grid;
	grid-template-columns: 1fr 380px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: var(--dnl-radius-lg);
	box-shadow: var(--dnl-shadow-soft);
	overflow: hidden;
}

/* ── Visit list ── */
.dnl-visit-layout__list {
	border-right: 1px solid rgba(0,0,0,.07);
}

.dnl-visit-layout__letter-group {
	padding: 6px 18px;
	background: #f8f9fa;
	border-bottom: 1px solid rgba(0,0,0,.06);
}

.dnl-visit-layout__letter-header {
	font-size: .78rem;
	font-weight: 800;
	color: var(--dnl-teal);
	text-transform: uppercase;
	letter-spacing: .08em;
}

.dnl-visit-layout__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 14px 18px;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(0,0,0,.05);
	cursor: pointer;
	text-align: left;
	gap: 10px;
	transition: background .15s;
	font-family: inherit;
}

.dnl-visit-layout__item:last-of-type { border-bottom: none; }
.dnl-visit-layout__item:hover { background: rgba(75,145,138,.06); }

.dnl-visit-layout__item.is-active {
	background: rgba(75,145,138,.10);
	border-left: 3px solid var(--dnl-teal);
}

.dnl-visit-layout__item-title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--dnl-text);
	line-height: 1.3;
	flex: 1;
}

.dnl-visit-layout__item.is-active .dnl-visit-layout__item-title {
	color: var(--dnl-teal);
}

.dnl-visit-layout__item-arrow {
	font-size: 14px;
	color: var(--dnl-text-muted);
	opacity: 0;
	transition: opacity .15s;
	flex-shrink: 0;
}

.dnl-visit-layout__item:hover .dnl-visit-layout__item-arrow,
.dnl-visit-layout__item.is-active .dnl-visit-layout__item-arrow {
	opacity: 1;
	color: var(--dnl-teal);
}

.dnl-visit-layout__no-results {
	text-align: center;
	padding: 48px 20px;
	color: var(--dnl-text-muted);
}
.dnl-visit-layout__no-results i {
	font-size: 40px;
	opacity: .3;
	display: block;
	margin-bottom: 12px;
}

/* ── Detail panel ── */
.dnl-visit-layout__detail { background: #fff; }

.dnl-visit-layout__detail-inner {
	padding: 28px 26px 32px;
	position: sticky;
	top: 0;
}

.dnl-visit-detail__heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(0,0,0,.07);
}

.dnl-visit-detail__badge {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(75,145,138,.12);
	color: var(--dnl-teal);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}

.dnl-visit-detail__title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--dnl-text);
	margin: 0;
}

.dnl-visit-detail__block { margin-bottom: 22px; }

.dnl-visit-detail__block-title {
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--dnl-text-muted);
	margin: 0 0 10px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.dnl-visit-detail__text {
	font-size: .95rem;
	line-height: 1.65;
	color: rgba(0,0,0,.72);
}

.dnl-visit-detail__text p { margin-bottom: 8px; }
.dnl-visit-detail__text p:last-child { margin-bottom: 0; }

.dnl-visit-detail__doc-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.dnl-visit-detail__doc-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid rgba(0,0,0,.07);
	text-decoration: none;
	color: inherit;
	background: #fafafa;
	transition: background .15s, border-color .15s;
}

.dnl-visit-detail__doc-row:hover {
	background: rgba(75,145,138,.06);
	border-color: rgba(75,145,138,.25);
	color: inherit;
}

.dnl-visit-detail__doc-avatar {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 2px solid rgba(0,0,0,.06);
}

.dnl-visit-detail__doc-avatar--empty {
	background: rgba(0,0,0,.06);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: var(--dnl-text-muted);
}

.dnl-visit-detail__doc-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.dnl-visit-detail__doc-name {
	font-size: .92rem;
	font-weight: 700;
	color: var(--dnl-text);
	line-height: 1.2;
}

.dnl-visit-detail__doc-spec {
	font-size: .8rem;
	color: var(--dnl-text-muted);
}

.dnl-visit-detail__doc-chevron {
	font-size: 13px;
	color: var(--dnl-text-muted);
	flex-shrink: 0;
}

.dnl-visit-detail__actions {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid rgba(0,0,0,.07);
}

/* ── Mobile bottom sheet ── */
.dnl-visit-sheet {
	position: fixed;
	inset: 0;
	z-index: 1060;
	touch-action: none; /* blocks all touch scrolling on the sheet container */
}

.dnl-visit-sheet__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.45);
	backdrop-filter: blur(2px);
}

.dnl-visit-sheet__panel {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: #fff;
	border-radius: 20px 20px 0 0;
	max-height: 88vh;
	overflow-y: auto;
	overscroll-behavior: contain; /* prevents scroll chaining to page */
	touch-action: pan-y; /* re-enable vertical scroll inside panel only */
	transform: translateY(100%);
	transition: transform .32s cubic-bezier(.4,0,.2,1);
}

.dnl-visit-sheet.is-open .dnl-visit-sheet__panel { transform: translateY(0); }

.dnl-visit-sheet__handle {
	width: 40px;
	height: 4px;
	border-radius: 2px;
	background: rgba(0,0,0,.15);
	margin: 12px auto 0;
}

.dnl-visit-sheet__close {
	position: absolute;
	top: 12px;
	right: 16px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	background: rgba(0,0,0,.07);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--dnl-text);
	font-size: 16px;
}

.dnl-visit-sheet__content { padding: 16px 20px 32px; }

body.dnl-sheet-open {
	overflow: hidden;
	/* No position:fixed — avoids scroll jump on iOS */
}

/* ── Responsive ── */
@media (max-width: 1199.98px) {
	.dnl-visit-layout { grid-template-columns: 1fr 300px; }
}

@media (max-width: 991.98px) {
	.dnl-visit-archive__body  { padding: 24px 0 48px; }
	.dnl-visit-layout         { grid-template-columns: 1fr; }
	.dnl-visit-layout__detail { display: none; }
}

@media (max-width: 767.98px) {
	.dnl-visit-archive__hero  { padding: 28px 0 24px; }
	.dnl-visit-archive__hero-body {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
		margin-top: 12px;
	}
	.dnl-visit-archive__search-wrap { width: 100%; }
	.dnl-visit-archive__body        { padding: 20px 0 40px; }
	.dnl-visit-layout__item         { padding: 13px 14px; }
	.dnl-visit-layout__item-title   { font-size: .95rem; }
}