

/* Start:/local/templates/clinic/styles.css?17906476037795*/
/* Programs: shared public-page and Bitrix visual-editor styles. */
.program-page { padding-bottom: 48px; min-width: 0; }
.program-breadcrumbs { font-size: 14px; line-height: 1.6; color: #777; margin-bottom: 24px; }
.program-breadcrumbs a, .program-back a { color: #c53e43; text-decoration: none; }
.program-page-title { font-family: "Roboto Condensed", sans-serif; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.12; font-weight: 700; margin: 0 0 32px; color: #323232; }
.program-content, .program-block { font-family: Arial, sans-serif; font-size: 18px; line-height: 1.65; color: #414141; overflow-wrap: anywhere; }
.program-content { max-width: 1120px; margin: 0 auto; }
.program-content h2, .program-block h2, .program-doctors h2 { font-family: "Roboto Condensed", Arial, sans-serif; font-size: clamp(25px, 2.7vw, 34px); font-weight: 700; line-height: 1.2; color: #323232; margin: 0 0 20px; }
.program-content h3, .program-block h3 { font-size: 22px; font-weight: 700; line-height: 1.3; margin: 0 0 14px; }
.program-content p, .program-block p { margin: 0 0 18px; }
.program-content ul, .program-content ol, .program-block ul, .program-block ol { padding-left: 26px; margin: 0 0 20px; }
.program-content li, .program-block li { margin: 0 0 8px; }
.program-content a:not(.program-button), .program-block a:not(.program-button) { color: #c53e43; text-decoration: underline; text-underline-offset: 3px; }
.program-content img, .program-block img { display: block; max-width: 100%; height: auto; border-radius: 18px; }
.program-content > * { margin-bottom: 28px; }
.program-block { box-sizing: border-box; margin: 0 0 36px; }
.program-block *, .program-page * { box-sizing: border-box; }
.program-block > :last-child, .program-block > div > :last-child { margin-bottom: 0; }
.program-intro { font-size: clamp(20px, 2vw, 24px); line-height: 1.55; }
.program-media, .program-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.program-media > *, .program-columns > * { min-width: 0; }
.program-media > div > img { width: 100%; }
.program-figure { margin: 0; min-width: 0; }
.program-figure img { width: 100%; }
.program-caption { color: #777; font-size: 14px; line-height: 1.5; margin: 10px 0 0 !important; }
.program-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.program-gallery--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.program-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.program-callout { padding: 28px 32px; border-left: 4px solid #dc5054; border-radius: 0 18px 18px 0; background: #fff0f0; }
.program-quote { padding: 28px 32px; border-radius: 18px; background: #fff; border: 1px solid #e7e7e7; }
.program-quote blockquote { font-size: 22px; line-height: 1.5; font-style: italic; margin: 0 0 18px; padding: 0; }
.program-quote .program-attribution { font-size: 16px; font-weight: 700; margin: 0; }
.program-interview { padding: 28px 32px; border-radius: 18px; background: #fff; }
.program-interview h3 { color: #c53e43; }
.program-actions { padding: 12px 0; }
.program-button { display: inline-block; background: #ce494d; color: #fff !important; border-radius: 999px; padding: 13px 26px; text-decoration: none !important; font-size: 17px; font-weight: 700; line-height: 1.35; }
.program-button:hover { background: #b3373d; }
.program-button:focus-visible, .program-card:focus-visible, .program-doctor-card:focus-visible { outline: 3px solid #323232; outline-offset: 4px; }
.program-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.program-card, .program-doctor-card { display: flex; background: #fff; border: 1px solid #e9e9e9; border-radius: 20px; overflow: hidden; color: #323232; text-decoration: none; }
.program-card { flex-direction: column; }
.program-card > img { width: 100%; height: 240px; object-fit: cover; }
.program-card-body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.program-card h2 { font-family: "Roboto Condensed", sans-serif; font-size: 27px; font-weight: 700; line-height: 1.2; margin: 0 0 14px; }
.program-card p { font-size: 16px; line-height: 1.55; margin: 0 0 22px; }
.program-card-link { color: #c53e43; font-size: 16px; font-weight: 500; margin-top: auto; }
.program-card:hover, .program-doctor-card:hover { border-color: #dc5054; }
.program-doctors { margin-top: 48px; }
.program-doctor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.program-doctor-card { align-items: center; gap: 24px; padding: 24px; }
.program-doctor-card img { width: 120px; height: 150px; object-fit: cover; border-radius: 12px; }
.program-doctor-card h3 { font-size: 22px; line-height: 1.25; font-weight: 700; margin: 0 0 10px; }
.program-doctor-card p { font-size: 16px; line-height: 1.4; margin: 0 0 12px; }
.program-back { margin: 32px 0 0; }
.program-empty { max-width: 760px; font-size: 20px; line-height: 1.6; }
.program-empty a { color: #c53e43; }
.program-pagination { display: flex; gap: 12px; margin-top: 28px; }
.program-pagination a { padding: 10px 16px; border-radius: 8px; background: #fff; color: #323232; text-decoration: none; }
.program-pagination [aria-current] { background: #ce494d; color: #fff; }
.program-preview-notice { padding: 16px; border: 1px dashed #ce494d; background: #fff; margin-bottom: 24px; }
@media (max-width: 1023px) {
  .program-list, .program-doctor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .program-doctor-card { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 639px) {
  .program-page { max-width: calc(100vw - 40px); }
  .program-media, .program-columns, .program-gallery, .program-gallery--three, .program-list, .program-doctor-grid { grid-template-columns: minmax(0, 1fr); }
  .program-media, .program-columns { gap: 20px; }
  .program-content, .program-block { font-size: 16px; }
  .program-intro { font-size: 20px; }
  .program-callout, .program-quote, .program-interview { padding: 22px; }
  .program-page-title { margin-bottom: 24px; }
}

/* Inline doctor cards: live profile data, positioned by a native editor snippet. */
.program-doctor-placeholder, .program-doctor-warning { padding: 18px 22px; border: 1px dashed #ce494d; border-radius: 12px; background: #fff0f0; font: 18px/1.5 Arial, sans-serif; }
.program-content a.program-inline-doctor-link { display: flex; gap: 32px; padding: 30px; background: #fff; border-radius: 40px; color: #323232; text-decoration: none; }
.program-inline-doctor-link:focus-visible { outline: 3px solid #ce494d; outline-offset: 4px; }
.program-content img.program-inline-doctor-photo { width: 40%; align-self: flex-start; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 32px; }
.program-inline-doctor-body { flex: 1; min-width: 0; padding: 14px 0; }
.program-inline-doctor-position { font-size: clamp(20px, 2.5vw, 30px); line-height: 1.25; font-weight: 700; color: #ff4b55; margin-bottom: 42px; }
.program-content h2.program-inline-doctor-name { font-family: Arial, sans-serif; font-size: clamp(26px, 3.5vw, 42px); line-height: 1.3; margin-bottom: 42px; }
.program-inline-doctor-info { font-size: clamp(18px, 2.3vw, 26px); line-height: 1.45; color: #5a5a5a; }
.program-inline-doctor-action { display: inline-block; margin-top: 24px; font-size: 17px; color: #c53e43; }
@media (max-width: 639px) {
  .program-content a.program-inline-doctor-link { flex-direction: column; gap: 22px; padding: 20px; border-radius: 24px; }
  .program-content img.program-inline-doctor-photo { width: 100%; max-width: 320px; align-self: center; border-radius: 18px; }
  .program-inline-doctor-body { padding: 0; }
  .program-inline-doctor-position, .program-content h2.program-inline-doctor-name { margin-bottom: 22px; }
}

/* End */


/* Start:/local/templates/clinic/template_styles.css?1778212620952*/
@keyframes rainbow-bg{
    100%,0%{
        background-color: rgb(255,0,0);
    }
    8%{
        background-color: rgb(255,127,0);
    }
    16%{
        background-color: rgb(255,255,0);
    }
    25%{
        background-color: rgb(127,255,0);
    }
    33%{
        background-color: rgb(0,255,0);
    }
    41%{
        background-color: rgb(0,255,127);
    }
    50%{
        background-color: rgb(0,255,255);
    }
    58%{
        background-color: rgb(0,127,255);
    }
    66%{
        background-color: rgb(0,0,255);
    }
    75%{
        background-color: rgb(127,0,255);
    }
    83%{
        background-color: rgb(255,0,255);
    }
    91%{
        background-color: rgb(255,0,127);
    }
}

@keyframes movingFlare {
    0% {
        background-color: #666666;
        color: #666666;
    }
    30% {
        background-color: #999;
        color: #999;
    }
    100% {
        background-color: #666666;
        color: #666666;
    }
}
/* End */
/* /local/templates/clinic/styles.css?17906476037795 */
/* /local/templates/clinic/template_styles.css?1778212620952 */
