

/* Start:/local/templates/premium_clinic/components/bitrix/news.list/doctors_slider/style.css?176493338610290*/
/* ===== ДЕСКТОП/ПЛАНШЕТ — без изменений ===== */
.doctors-slider{
    text-align:center; position:relative; z-index:2; background:transparent; padding-top:30px;
}
.doctors-slider .swiper{ padding:10px 0 70px; max-width:1400px; margin:0 auto; }
.doctors-slider .swiper-wrapper{ align-items:stretch !important; }
.doctors-slider .swiper-slide{ display:flex; justify-content:center; height:auto; }

.swiper-button-prev::after, .swiper-button-next::after{ display:none !important; content:none !important; }

.doctor-card{
    background:#fff; border-radius:32px; box-shadow:0 6px 30px #0001;
    padding:0 0 24px; width:360px; min-height:540px; height:80%;
    display:flex; flex-direction:column; align-items:stretch; margin:0 10px; overflow:visible; position:relative;
}
.doctor-card__img{
    width:100%; height:260px; background:#fff; border-radius:32px 32px 0 0;
    overflow:hidden; display:flex; align-items:flex-end; justify-content:center; margin:0 auto; box-shadow:0 6px 30px #0001; z-index:2; position:relative;
}
.doctor-card__img img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; border-radius:32px 32px 0 0; }
.doctor-card__content{
    background:#04afcf; border-radius:0 0 32px 32px; color:#fff;
    padding: 6px 10px 12px; min-height:180px; position:relative; z-index:1; width:100%;
    display:flex; flex-direction:column; align-items:center; justify-content:flex-start; flex:1 1 auto;
}
.doctor-card__name{ font-weight:700; font-size:22px; line-height:1.18; letter-spacing:.5px; margin:16px 0 5px; color:#fff; text-align:center; word-break:break-word; }
.doctor-card__name .surname{ display:block; font-weight:700; }
.doctor-card__name .namepatronymic{ display:block; font-weight:400; }
.doctor-card__position{ margin-bottom:24px; font-size:18px; color:#fff; text-align:center; }
.doctor-card__btns{ display:flex; gap:16px; justify-content:center; margin-top:auto; padding-bottom:8px; flex-wrap:wrap; }
.doctor-card__btn{ padding:9px 18px; border-radius:22px; border:none; font-size:16px; font-weight:700; cursor:pointer; text-decoration:none; transition:.2s; margin:0 4px; min-width:110px; max-width:160px; text-align:center; }
.doctor-card__btn--primary{ background:#E71963; color:#fff; box-shadow:0 2px 6px #e719631a; }
.doctor-card__btn--primary:hover{ background:#d11557; opacity:.93; }
.doctor-card__btn--secondary{ background:#fff; color:#E71963; border:1.5px solid #E71963; }
.doctor-card__btn--secondary:hover{ background:#f8e6ef; color:#E71963; border-color:#E71963; }

.custom-swiper-arrow{ display:flex !important; align-items:center; justify-content:center; width:48px; height:48px; position:absolute; top:50%; transform:translateY(-50%); z-index:9; cursor:pointer; background:none !important; border:none !important; }
.swiper-button-prev.custom-swiper-arrow{ left:8px; }
.swiper-button-next.custom-swiper-arrow{ right:8px; }
.custom-swiper-arrow svg circle{ fill:#fff; stroke:#E71963; stroke-width:2; transition:.2s; }
.custom-swiper-arrow svg path{ stroke:#E71963; stroke-width:3; transition:.2s; }
.custom-swiper-arrow:hover svg circle{ fill:#E71963; stroke:#E71963; }
.custom-swiper-arrow:hover svg path{ stroke:#fff; }

/* стандартная пагинация снизу (для десктопа) */
.doctors-slider .swiper-pagination{
    position:absolute; left:0; right:0; bottom:18px; text-align:center; pointer-events:auto; z-index:5;
}
.doctors-slider .swiper-pagination-bullet{
    width:10px; height:10px; border-radius:50%;
    background:#cfe9f0; opacity:1; margin:0 6px !important;
    transition:transform .2s, background-color .2s;
}
.doctors-slider .swiper-pagination-bullet-active{ background:#04afcf; transform:scale(1.2); }

/* планшетные брейки */
@media (max-width:1400px){ .doctors-slider .swiper{max-width:1200px;height:800px;} .doctor-card{width:280px;} .doctor-card__img{height:220px;} }
@media (max-width:1024px){ .doctors-slider .swiper{max-width:900px; height:700px;}  .doctor-card{width:240px;} .doctor-card__img{height:220px;} }

/* ===== МОБИЛЬНЫЙ ВИД СЛАЙДЕРА ===== */
@media (max-width:900px){
    .doctors-slider .swiper{
        max-width:100vw;
        padding-top:56px;       /* место под прогресс сверху */
        padding-bottom:16px;
    }
    .doctors-slider .swiper-slide{
        padding:0 10px; box-sizing:border-box;
    }

    /* карточка — почти на всю ширину, авто-высота */
    .doctor-card{
        width:calc(100vw - 32px);
        min-height:unset; height:auto; margin:0;
    }
    /* фото выше и крупнее — ЧУТЬ увеличили (было 300px) */
    .doctor-card__img{ width:100%; height:340px; }

    .doctor-card__content{ padding:22px 14px; }
    .doctor-card__name{ font-size:19px; margin-top:10px; }
    .doctor-card__btn{ padding:10px 16px; font-size:15px; min-width:128px; }

    /* стрелок нет */
    .custom-swiper-arrow{ display:none !important; }

    /* скрываем стандартные точки, вместо них — инста-полоска */
    .doctors-slider .swiper-pagination{ display:none !important; }

    /* ==== ИНСТА-ПРОГРЕСС ПО СЕГМЕНТАМ ==== */
    .doctors-slider .swiper-ig-bars{
        position:absolute; left:12px; right:12px; top:10px;
        display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:4px;
        z-index:6; pointer-events:auto;
    }
    .doctors-slider .swiper-ig-bar{
        position:relative; height:4px; background:rgba(4,175,207,.22); border-radius:999px; overflow:hidden;
    }
    .doctors-slider .swiper-ig-bar::before{
        content:""; position:absolute; inset:0; width:var(--progress, 0%);
        background:#04afcf; border-radius:999px; transition:width .22s ease;
    }
    .doctors-slider .swiper-ig-bar.is-active::before{
        width:var(--progress, 100%);
    }
}

@media (max-width:480px){
    .doctors-slider{ padding-top:60px }
    html, body { overflow-x:hidden; }
    .doctors-slider{ overflow-x:hidden; }              /* страхуемся от горизонт. скролла */
    .doctors-slider .swiper{ overflow:visible;
        padding-left:5px;
        padding-right:5px;}       /* чтобы тени не резались */

    /* Swiper ставит inline width/margin-right — перебиваем */
    .doctors-slider .swiper-slide{
        width:100% !important;
        margin-right:0 !important;
        box-sizing:border-box;
        padding:0 10px;

        overflow:visible; /* тени карточки не режем *//* если нужны боковые поля у контента */
    }

    .doctor-card{
        width:100% !important;
        margin:0 !important;
        min-height:unset; height:auto; box-sizing:border-box;
    }

    /* чтобы кнопки не разъезжали ширину */
    .doctor-card__btn{ min-width:0; max-width:100%; flex:1 1 auto; }
}






/* ===== ПОП-АПЫ (общая база) ===== */
.doctor-popup, .doctor-appointment-popup{ position:fixed; inset:0; z-index:9999; display:none; }
.doctor-popup.active, .doctor-appointment-popup.active{ display:flex; }
.doctor-popup__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.6); }
.doctor-popup__content{
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    background:#02b1c5; color:#fff; padding:30px; border-radius:16px;
    max-width:600px; width:90%; max-height:90vh; overflow:auto; box-shadow:0 10px 40px rgba(0,0,0,.3);
}
.doctor-popup__close{ position:absolute; right:15px; top:10px; background:none; border:none; font-size:24px; cursor:pointer; color:#fff; transition:color .2s; }
.doctor-popup__close:hover{ color:#e71963; }
.doctor-popup__body{ display:flex; flex-wrap:wrap; margin-bottom:10px; }
.doctor-popup__img img{padding:12px; max-width:200px; border-radius:20px;  object-fit:cover; display:block; }
.doctor-popup__info{ flex:1; display:flex; flex-direction:column; justify-content:center; }
.doctor-popup__info div{ margin-bottom:12px; font-size:16px; line-height:1.4; }
.doctor-popup__name{ font-size:22px; font-weight:700; margin-bottom:15px; }
.doctor-popup__btn-wrapper{ text-align:right; }
.doctor-popup__btn{
    background:#fff; color:#02b1c5; padding:12px 24px; font-weight:700; font-size:14px;
    text-decoration:none; border-radius:30px; display:inline-block; transition:background .3s, color .3s;
}
.doctor-popup__btn:hover{ background:#e71963; color:#fff; }
.doctor-popup__input{
    width:100%; padding:9px 12px; margin:6px 0 10px; border-radius:8px; border:1px solid #eee;
    font-size:15px; color:#222; background:#f5f7fa; box-sizing:border-box; outline:none; resize:none;
}
.doctor-popup__input:focus{ border-color:#02b1c5; background:#fff; }

/* ===== МОБИЛЬНЫЕ ПОП-АПЫ ===== */
@media (max-width:768px){
    .doctors-slider{ padding-top:60px }
    .doctor-popup.active, .doctor-appointment-popup.active{
        align-items:flex-start; justify-content:center;
        /* верхний отступ подставляет JS от высоты шапки */
    }
    .doctor-popup__content{
        position:relative; left:auto; top:auto; transform:none;
        width:92vw; max-width:92vw; max-height:82vh; overflow:auto;
        border-radius:12px; padding:20px 14px;
    }
    .doctor-popup__body{ flex-direction:column; gap:14px; }
    .doctor-popup__img img{ max-width:120px; margin:0 auto; }
    .doctor-popup__btn-wrapper{ text-align:center; }
    .doctor-popup__close{ right:8px; top:6px; font-size:26px; }
    .doctor-popup__info div{ margin-bottom:0; } /* уплотнили, как просил */
    .doctor-popup__name{ font-size:20px; margin-bottom:10px; }

    .doctor-appointment-popup .doctor-popup__content{ padding:18px 12px; max-height:80vh; }
    .doctor-appointment-popup .doctor-popup__input{ margin:8px 0; min-height:44px; font-size:16px; }
    .doctor-appointment-popup .doctor-popup__btn{ width:100%; padding:12px 16px; }
}
@media (max-width:380px){
    .doctors-slider{ padding-top:60px }
    .doctor-popup__content{ width:94vw; padding:16px 10px; border-radius:10px; }
    .doctor-popup__close{ top:4px; right:4px; }
}

/* End */


/* Start:/local/templates/premium_clinic/components/bitrix/catalog.section.list/tiles/style.css?17649333868363*/
/* локальные переменные для секции */
.services-flat{
    --brand:#00a9bd;
    --brand-700:#00879a;
    --text:#0f1e2e;
    --muted:#667786;
    --bg:#f7fbfc;
    --radius:16px;
    --divider:#e6eef2;
    margin-bottom: 40px;
}
.services-flat, .services-flat * { box-sizing: border-box; }

.services-flat__container{
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 7px;
    padding-right: 7px;
    width: 100%;
}

.services-flat .section__title1{
    text-align: center;
    padding: 30px 0;           /* как раньше */
    margin: 0;                 /* убираем левые внешние отступы */
    font-weight: 800;
    font-size: clamp(24px,4vw,34px);
    line-height: 1.2;
}
/* список подразделов - фирменные строки */
.services-flat .list{
    display:grid; gap:0;
    border:1px solid var(--divider);
    border-radius:var(--radius);
    overflow:hidden;
    background:#fff;
    max-width:1400px;
}

.services-flat .list__item{
    display:flex; gap:18px; align-items:center; padding:18px;
    background:transparent;
}
.services-flat .list__item + .list__item{ border-top:1px solid var(--divider); }

/* круглая иконка слева */
.services-flat .icon{
    flex:0 0 56px; width:56px; height:56px; border-radius:50%;
    display:grid; place-items:center;
    color:#fff; overflow:hidden;
}
.services-flat .icon svg{ width:28px; height:28px; }
.services-flat .icon img{ width:56px; height:56px; object-fit:cover; display:block; border-radius:50%; }

/* текстовый блок и ссылки */
.services-flat .list__main{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.services-flat .item__title{ font-weight:800; color:var(--text); font-size:22px; line-height:1.25; }
.services-flat .item__title a{ color:inherit; text-decoration:none; }
.services-flat .item__title a:hover{ text-decoration:underline; }
.services-flat a:visited{ color:inherit; } /* — фикс «фиолетовых» ссылок */

.services-flat .item__sub{
    color:var(--muted); font-size:14px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* кнопка справа */
.services-flat .list__action{ margin-left:auto; }
.services-flat .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:10px 16px; border-radius:999px; font-weight:700; text-decoration:none;
    transition:.18s ease; border:2px solid transparent; line-height:1; white-space:nowrap;
}
.services-flat .btn--ghost{ background:transparent; color:var(--brand-700); border-color:var(--brand-700); }
.services-flat .btn--ghost:hover,
.services-flat .btn--ghost:focus-visible{ background:var(--brand-700); color:#fff; border-color:var(--brand-700); }

/* подблок подподразделов и их элементы */
.services-group{ padding: 8px 0 22px 0; }
.services-group__title{
    margin: 12px 0 6px 72px; /* уровень по тексту строки */
    font-weight:700; font-size:18px; color:var(--text);
}
.services-group__title a{ color:inherit; text-decoration:none; }
.services-group__title a:hover{ text-decoration:underline; }
.services-group__subtitle{
    margin-top:4px; font-size:14px; color:var(--muted);
}

/* элементы (чипы) — запасной стиль, если не подхватится style.css из news.list */
.services-items{ display:grid; gap:8px; padding:10px 0 12px 72px; }
.services-item{
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 12px; border:1px solid #e6eef2; border-radius:12px;
    text-decoration:none; color:#0f1e2e; background:#fff;
    transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.services-item:hover{
    transform:translateY(-1px);
    border-color:rgba(0,169,189,.35);
    box-shadow:0 6px 18px rgba(15,23,42,.08);
}
.services-item__title{ font-weight:600; font-size:15px; }
.services-item__arrow{ font-size:18px; color:#00879a; }

/* мобильные */
@media (max-width:768px){
    .services-flat .list__item{ gap:12px; padding:14px; }
    .services-flat .item__title{ font-size:18px; }
    .services-group__title{ margin-left:16px; }
    .services-items{ padding-left:16px; }
}
@media (max-width:600px){
    .services-flat .list__action{ display:none; } /* кнопку убираем на мобилке */
}

/* глушим наследованные стили старых news.list */
.services-full-bg-section, .services-full-bg{ display:none !important; }
div.news-list, div.news-list img.preview_picture, .news-date-time{ all: unset; }

/* ===== Описание раздела (карточка над списком) ===== */
.section-lead{
    max-width: 980px;
    margin: 0 auto 24px;
    padding: 0 8px;
}
.section-lead .lead-box{
    background:#fff;
    border:1px solid var(--divider);
    border-radius:16px;
    padding:20px 22px;
    box-shadow:0 8px 24px rgba(15,30,46,.06);
}

/* типографика */
.section-lead .lead-box p{ margin:0 0 10px; color:var(--text); font-size:16px; line-height:1.6; }
.section-lead .lead-box ul,
.section-lead .lead-box ol{ margin:0 0 12px 22px; color:var(--text); }
.section-lead .lead-box a{ color:var(--brand-700); text-decoration:underline; }
.section-lead .lead-box a:hover{ text-decoration:none; }

/* изображения */
.section-lead .lead-box img{
    display:block;
    max-width:100%;
    height:auto;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(15,30,46,.08);
    margin:8px auto 14px;
}

/* если картинка первая — ставим её слева, текстом обтекаем */
@media (min-width: 900px){
    .section-lead .lead-box > p:first-child > img:first-child,
    .section-lead .lead-box > img:first-child{
        float:left;
        width:360px;            /* или max-width:40% */
        max-width:40%;
        margin:0 24px 12px 0;
    }
}
@media (max-width: 899.98px){
    .section-lead .lead-box > p:first-child > img:first-child,
    .section-lead .lead-box > img:first-child{
        float:none;
        width:auto;
        max-width:100%;
        margin:8px auto 14px;
    }
}

/* Карточка описания раздела */
.section-lead{
    max-width: 980px;
    margin: 16px auto 24px;       /* добавили отступ сверху */
    padding: 0 8px;
}
.section-lead .lead-box{
    background:#fff;
    border:1px solid var(--divider);
    border-radius:16px;
    padding:20px 22px;
    box-shadow:0 8px 24px rgba(15,30,46,.06);
    overflow:hidden;              /* чтобы изображение гарантированно было ВНУТРИ скруглённого блока */
}

/* типографика */
.section-lead .lead-box p{ margin:0 0 10px; color:var(--text); font-size:16px; line-height:1.6; }
.section-lead .lead-box ul,
.section-lead .lead-box ol{ margin:0 0 12px 22px; color:var(--text); }
.section-lead .lead-box a{ color:var(--brand-700); text-decoration:underline; }
.section-lead .lead-box a:hover{ text-decoration:none; }

/* изображения */
.section-lead .lead-box img{
    display:block;
    max-width:100%;
    height:auto;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(15,30,46,.08);
    margin:8px auto 14px;
}

/* вариант раскладки: если первая нода — <img>, прижимаем слева на десктопе */
@media (min-width: 900px){
    .section-lead .lead-box > p:first-child > img:first-child,
    .section-lead .lead-box > img:first-child{
        float:left;
        width:360px;               /* или max-width:40% */
        max-width:40%;
        margin:0 24px 12px 0;
    }
}
/* на мобилках — просто по ширине блока */
@media (max-width: 899.98px){
    .section-lead .lead-box > p:first-child > img:first-child,
    .section-lead .lead-box > img:first-child{
        float:none;
        width:auto;
        max-width:100%;
        margin:8px auto 14px;
    }
}

/* Заголовок страницы раздела */
.section-page-title{
    text-align:center;
    font-weight:800;
    font-size:clamp(24px,4vw,34px);
    line-height:1.2;
    margin: 18px 0 10px; /* аккуратные отступы сверху/снизу */
    color: var(--text);
}

/* End */


/* Start:/local/templates/premium_clinic/components/bitrix/news/stock/bitrix/news.list/.default/style.css?17649333863450*/
.stock-row {
	display: flex;
	flex-direction: column;
	gap: 34px; /* немного уменьшен отступ между карточками */
	width: 100%;
	align-items: stretch;
}

.stock-card {
	position: relative;
	background: linear-gradient(120deg, #fff 70%, #e7fafd 100%);
	border-radius: 22px;
	box-shadow: 0 8px 42px #04afcf23, 0 1.5px 2.5px #c6f4f71a;
	padding: 22px 26px 18px 22px; /* уменьшены внутренние отступы */
	min-height: 120px;
	max-height: 280px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	transition: box-shadow .22s, transform .18s;
	overflow: hidden;
}

.stock-card:hover {
	transform: translateY(-3px) scale(1.014);
	box-shadow: 0 14px 38px #03b2cc3a, 0 2px 10px #e61b7817;
}

/* --- Картинка акции --- */
.stock-card__img {
	position: absolute;
	top: 16px;
	right: 20px;
	width: 180px;
	height: 90px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	z-index: 2;
}
.stock-card__img img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 14px;
	box-shadow: 0 2px 16px #04afcf22;
	object-fit: contain;
}

/* --- Верхний ряд (badge + дата) --- */
.stock-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 7px;
	margin-right: 110px; /* уменьшено */
}
.stock-card__badge {
	background: linear-gradient(90deg, #e71963 65%, #02b1c5 100%);
	color: #fff;
	font-weight: 700;
	border-radius: 12px;
	font-size: 1.02rem;
	padding: 5px 16px 4px 14px;
	letter-spacing: .03em;
	box-shadow: 0 2px 10px #f9b8d644;
	border: none;
}
.stock-card__date {
	font-size: 0.98rem;
	color: #04afcf;
	opacity: .74;
	font-weight: 500;
}

/* --- Заголовок и описание --- */
.stock-card__title {
	font-size: 1.19rem;
	font-weight: 700;
	color: #22384d;
	margin-bottom: 7px;
	line-height: 1.22;
	margin-right: 102px;
}
.stock-card__desc {
	color: #3a3d41;
	font-size: 1.01rem;
	margin-bottom: 12px;
	opacity: 0.98;
	margin-right: 92px;
	word-break: break-word;
	line-height: 1.38;
	max-height: 4.2em;  /* не больше ~3 строк */
	overflow: hidden;
	position: relative;
}
.stock-card__desc b,
.stock-card__desc strong {
	font-weight: bold;
	display: inline;
}
.stock-card__desc em,
.stock-card__desc i {
	font-style: italic;
	display: inline;
}
.stock-card__desc br {
	line-height: 1.25;
	margin: 0;
}
.stock-card__desc > *:last-child {
	margin-bottom: 0;
}

/* --- Подробнее --- */
.stock-card__more {
	display: inline-block;
	margin-top: auto;
	color: #04afcf;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1.5px dotted #04afcf77;
	transition: color .18s, border-color .18s;
	font-size: 1.07rem;
	letter-spacing: .04em;
}
.stock-card__more:hover {
	color: #e71963;
	border-bottom: 1.5px solid #e61b78;
}

/* --- Мобильная адаптация --- */
@media (max-width: 900px) {
	.stock-row {
		gap: 17px;
	}
	.stock-card {
		padding: 13px 7px 14px 9px;
		min-height: 92px;
	}
	.stock-card__img {
		top: 11px;
		right: 8px;
		width: 62px;
		height: 32px;
	}
	.stock-card__title,
	.stock-card__desc,
	.stock-card__top {
		margin-right: 34px;
	}
}
@media (max-width: 600px) {
	.stock-card__img {
		position: static;
		margin: 0 auto 8px auto;
		width: 54vw;
		height: 18vw;
		max-width: 140px;
		max-height: 48px;
		justify-content: center;
	}
	.stock-card__top, .stock-card__title, .stock-card__desc {
		margin-right: 0;
	}
}

/* End */


/* Start:/local/components/lubdoctor/news.main/templates/.default/style.css?17649333868236*/
/* =========================================
   Главные новости — адаптивный стиль
   ========================================= */

/* Общая обёртка */
.ld-news-main {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 12px;
    font-family: inherit;
}

/* Заголовок и подсказка */
.ld-news-main__head { text-align: center; margin-bottom: 24px; }
.ld-news-main__title {
    text-align: center;
    margin-bottom: 30px;
    z-index: 1;
    position: relative;
    font-size: clamp(22px, 2.2vw + 10px, 40px);
    font-weight: 700;
    line-height: 1.2;
}
.ld-news-main__hint { color: #7b8b97; font-size: 16px; }

/* Вьюпорт и стрелки */
.ld-news-main__viewport { position: relative; overflow: hidden; }
.ld-news-main__nav {
    position: absolute; top: 44%; transform: translateY(-50%);
    width: 44px; height: 44px; border-radius: 50%;
    border: 1px solid rgba(0,0,0,.1); background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.08); z-index: 2; cursor: pointer;
    transition: box-shadow .2s ease, transform .2s ease;
}
.ld-news-main__nav:hover { box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.ld-news-main__nav:active { transform: translateY(-50%) scale(.98); }
.ld-news-main__nav:focus-visible { outline: 3px solid rgba(0,140,153,.35); outline-offset: 2px; }
.ld-news-main__nav--prev { left: -6px; }
.ld-news-main__nav--next { right: -6px; }
.ld-news-main__nav::before {
    content: ''; display: block; width: 10px; height: 10px; margin: 16px auto;
    border-top: 2px solid #0b1f2a; border-right: 2px solid #0b1f2a;
}
.ld-news-main__nav--prev::before { transform: rotate(-135deg); }
.ld-news-main__nav--next::before { transform: rotate(45deg); }

/* Трек */
.ld-news-main__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(280px, 360px);
    gap: 28px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 12px 8px 8px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}
.ld-news-main__track::-webkit-scrollbar { display: none; }

/* Карточка */
.ld-news-card {
    background: #fff; border-radius: 20px;
    box-shadow: 0 8px 24px rgba(22,35,49,.08);
    overflow: hidden;
    scroll-snap-align: start;
    display: flex; flex-direction: column;
}
.ld-news-card__image { display: block; height: 220px; background: #eef3f6; }
.ld-news-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ld-news-card__image--placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg,#edf2f7,#e3ebf3); }

.ld-news-card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1 1 auto; }
.ld-news-card__date { display: inline-flex; align-items: center; gap: 8px; color: #94a3ad; font-size: 14px; margin-bottom: 8px; }
.ld-news-card__date svg { fill: #94a3ad; }
.ld-news-card__name {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; color: #0b1f2a; text-decoration: none;
    font-weight: 700; font-size: 18px; line-height: 1.3;
}
.ld-news-card__name:hover { text-decoration: underline; }
.ld-news-card__more { margin-top: auto; padding-top: 14px; }

.ld-link { font-weight: 600; color: #008C99; text-decoration: none; }
.ld-link:hover { text-decoration: underline; }
.ld-link__arrow { margin-left: 8px; }

/* Футер */
.ld-news-main__footer { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 10px 0 4px; flex-wrap: wrap; }
.ld-news-main__dots { display: inline-flex; gap: 8px; }
.ld-news-main__dots button {
    width: 10px; height: 10px; border-radius: 50%; border: 0; background: #cfd8df;
    transition: transform .15s ease, background-color .15s ease;
}
.ld-news-main__dots button[aria-current="true"] { background: #008C99; }
.ld-news-main__dots button:focus-visible { outline: 2px solid rgba(0,140,153,.35); outline-offset: 2px; }
.ld-news-main__dots button:active { transform: scale(.9); }
.ld-news-main__all {
    margin-left: 16px; border: 1px solid rgba(0,0,0,.12); background: #fff;
    padding: 10px 20px; border-radius: 999px; text-decoration: none; color: #0b1f2a; font-weight: 600; white-space: nowrap;
}

/* ---------- Брейкпоинты ---------- */

@media (max-width: 1200px) {
    .ld-news-main { padding: 36px 12px; }
    .ld-news-main__track { grid-auto-columns: minmax(260px, 340px); gap: 22px; }
    .ld-news-card__image { height: 200px; }
    .ld-news-main__nav--prev { left: -2px; } .ld-news-main__nav--next { right: -2px; }
}

@media (max-width: 992px) {
    .ld-news-main { padding: 32px 10px; }
    .ld-news-main__title { font-size: clamp(22px, 3.2vw + 8px, 34px); }
    .ld-news-main__hint { font-size: 15px; }
    .ld-news-main__track { grid-auto-columns: minmax(240px, 320px); gap: 24px; }
    .ld-news-card { border-radius: 18px; }
    .ld-news-card__image { height: 190px; }
    .ld-news-card__name { font-size: 17px; }
    .ld-news-main__nav { width: 42px; height: 42px; }
    .ld-news-main__nav::before { margin: 15px auto; }
}

/* Мобилка: КАРТОЧКА = 100% ширины трека (а не vw),
   боковые поля — паддинги трека + scroll-padding, чтобы 1-я/последняя не подрезались */
@media (max-width: 768px) {
    :root { --ld-gutter: 16px; }
    .ld-news-main { padding: 28px 8px; }
    .ld-news-main__title { font-size: clamp(20px, 4.2vw + 6px, 30px); }

    .ld-news-main__track {
        grid-auto-columns: 100%;               /* ⬅️ ключевое: ширина карточки = ширина трека */
        gap: 20px;
        padding: 10px var(--ld-gutter) 6px;    /* равные поля слева/справа */
        scroll-snap-stop: always;
        scroll-padding-left: var(--ld-gutter); /* не подрезать первую */
        scroll-padding-right: var(--ld-gutter);/* и последнюю */
        justify-content: flex-start;
    }

    .ld-news-card__image { height: auto; aspect-ratio: 16 / 10; }
    .ld-news-card__body { padding: 14px 14px 16px; }
    .ld-news-card__date { font-size: 13px; }
    .ld-news-card__name { font-size: 16px; -webkit-line-clamp: 3; }
    .ld-news-main__nav { width: 40px; height: 40px; }
    .ld-news-main__nav--prev { left: 4px; } .ld-news-main__nav--next { right: 4px; }
    .ld-news-main__dots { gap: 10px; } .ld-news-main__dots button { width: 10px; height: 10px; }
    .ld-news-main__all { margin-left: 0; padding: 9px 18px; }
}

@media (max-width: 600px) {
    :root { --ld-gutter: 14px; }
    .ld-news-main { padding: 26px 8px; }
    .ld-news-main__track { grid-auto-columns: 100%; gap: 18px; padding: 10px var(--ld-gutter) 6px; }
    .ld-news-card__body { padding: 14px 12px 16px; }
    .ld-news-card__name { font-size: 16px; }
    .ld-news-main__dots button { width: 11px; height: 11px; }
}

@media (max-width: 480px) {
    .ld-news-main { padding: 24px max(6px, env(safe-area-inset-left)) 20px max(6px, env(safe-area-inset-right)); }
    .ld-news-main__title { font-size: clamp(19px, 5.2vw + 4px, 28px); }
    .ld-news-card__date { font-size: 12.5px; }
    .ld-news-card__name { font-size: 15.5px; }
    .ld-news-main__nav { width: 36px; height: 36px; }
    .ld-news-main__nav::before { width: 9px; height: 9px; margin: 13px auto; }
    .ld-news-main__footer { gap: 18px; }
    .ld-news-main__all { width: 100%; text-align: center; padding: 11px 18px; border-radius: 12px; order: 2; }
}

@media (max-width: 360px) {
    :root { --ld-gutter: 12px; }
    .ld-news-main__track { grid-auto-columns: 100%; gap: 12px; padding: 10px var(--ld-gutter) 6px; }
    .ld-news-card__body { padding: 12px 10px 14px; }
    .ld-news-card__name { font-size: 15px; }
    .ld-news-main__nav { width: 32px; height: 32px; }
    .ld-news-main__nav--prev { left: 2px; } .ld-news-main__nav--next { right: 2px; }
}

/* тач/доступность */
@media (pointer: coarse) { .ld-news-main__nav { filter: saturate(1.05); } .ld-news-main__dots button { width: 12px; height: 12px; } }
@media (prefers-reduced-motion: reduce) { .ld-news-main__nav, .ld-news-main__dots button { transition: none; } }

/* End */
/* /local/templates/premium_clinic/components/bitrix/news.list/doctors_slider/style.css?176493338610290 */
/* /local/templates/premium_clinic/components/bitrix/catalog.section.list/tiles/style.css?17649333868363 */
/* /local/templates/premium_clinic/components/bitrix/news/stock/bitrix/news.list/.default/style.css?17649333863450 */
/* /local/components/lubdoctor/news.main/templates/.default/style.css?17649333868236 */
