/* Source: public/css/main.css */
/* Square surfaces and controls throughout the interface. */

* {

    border-radius: 0 !important;

}

*::before, *::after { border-radius: 0 !important; }



/* ================================================================== */

/*  CMS Marketplace — main.css                                         */

/* ================================================================== */



/* ------------------------------------------------------------------ */

/*  Переменные                                                          */

/* ------------------------------------------------------------------ */

:root {

    --clr-primary:     #2563eb;

    --clr-primary-h:   #1d4ed8;

    --clr-danger:      #dc2626;

    --clr-success:     #16a34a;

    --clr-warning:     #d97706;

    --clr-text:        #111827;

    --clr-muted:       #6b7280;

    --clr-border:      #e5e7eb;

    --clr-bg:          #f9fafb;

    --clr-white:       #ffffff;

    --clr-header-bg:   #1e293b;



    --radius:          6px;

    --radius-lg:       12px;

    --shadow:          0 1px 4px rgba(0,0,0,.08);

    --shadow-md:       0 4px 12px rgba(0,0,0,.12);



    --font:            -apple-system, BlinkMacSystemFont, 'Segoe UI',

                       Roboto, sans-serif;

    --container:       1200px;

    --gap:             24px;

}



/* ------------------------------------------------------------------ */

/*  Сброс и база                                                        */

/* ------------------------------------------------------------------ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }



html { font-size: 16px; scroll-behavior: smooth; }



body {

    font-family: var(--font);

    color: var(--clr-text);

    background: var(--clr-bg);

    line-height: 1.6;

    min-height: 100vh;

    display: flex;

    flex-direction: column;

}



div[class^=cntnr], .lnng, .wrds{

  display: flex;

  align-items: center;

}



.lnng{

  width: 100%;

}



#bgvd {

	position: fixed;

	right: 0;

	bottom: 0;

	min-width: 100%;

	min-height: 100%;

	z-index: -100;

}



a { color: var(--clr-primary); text-decoration: none; }

a:hover { text-decoration: underline; }



img { max-width: 100%; display: block; }



ul, ol { list-style: none; }



/* ------------------------------------------------------------------ */

/*  Контейнер                                                           */

/* ------------------------------------------------------------------ */

.main-content .container {

    max-width: var(--container);

    margin: 0 auto;

    /* padding: 0 var(--gap); */

    /* background-color: #ffffffd6; */

    padding: 50px 0;

}



/* ------------------------------------------------------------------ */

/*  Шапка                                                               */

/* ------------------------------------------------------------------ */

.site-header {

    background: #000000c4;

    /*! color: var(--clr-white); */

    position: sticky;

    top: 0;

    z-index: 100;

    box-shadow: var(--shadow-md);

    display: flex;

    justify-content: center;

}



.site-header .container {

    display: flex;

    align-items: center;

    gap: 20px;

    height: 60px;

}



.logo {

    font-size: 1.25rem;

    font-weight: 700;

    color: var(--clr-white);

    text-decoration: none;

    white-space: nowrap;

}



.header-search {

    flex: 1;

    display: flex;

}



.header-search input {

    flex: 1;

    padding: 8px 12px;

    border: none;

    border-radius: var(--radius) 0 0 var(--radius);

    font-size: .95rem;

    outline: none;

}



.header-search button {

    padding: 8px 16px;

    background: var(--clr-primary);

    color: var(--clr-white);

    border: none;

    border-radius: 0 var(--radius) var(--radius) 0;

    cursor: pointer;

    font-size: .95rem;

}



.header-search button:hover { background: var(--clr-primary-h); }



.header-nav {

    display: flex;

    align-items: center;

    gap: 16px;

    white-space: nowrap;

    font-size: .9rem;

}



.header-nav a { color: #cbd5e1; }

.header-nav a:hover { color: var(--clr-white); text-decoration: none; }



.cart-link {

    display: flex;

    align-items: center;

    gap: 6px;

    color: #cbd5e1;

}



.cart-badge {

    background: var(--clr-danger);

    color: var(--clr-white);

    font-size: .7rem;

    font-weight: 700;

    padding: 1px 6px;

    border-radius: 20px;

    min-width: 20px;

    text-align: center;

}



/* ------------------------------------------------------------------ */

/*  Основной контент                                                    */

/* ------------------------------------------------------------------ */

.main-content {

    flex: 1;

    /* padding: 32px 0; */

    /* background: #ffffffd6; */

}



/* ------------------------------------------------------------------ */

/*  Кнопки                                                              */

/* ------------------------------------------------------------------ */

.btn-primary, .btn-secondary, .btn-danger {

    display: inline-block;

    padding: 10px 20px;

    border-radius: var(--radius);

    font-size: .95rem;

    font-weight: 500;

    cursor: pointer;

    border: none;

    text-decoration: none;

    text-align: center;

    transition: background .15s, opacity .15s;

}



.btn-primary  { background: var(--clr-primary); color: var(--clr-white); }

.btn-primary:hover  { background: var(--clr-primary-h); text-decoration: none; }



.btn-secondary {

    background: var(--clr-white);

    color: var(--clr-text);

    border: 1px solid var(--clr-border);

}

.btn-secondary:hover { background: var(--clr-bg); text-decoration: none; }



.btn-danger  { background: var(--clr-danger); color: var(--clr-white); }

.btn-danger:hover { opacity: .85; }



.btn-large { padding: 14px 28px; font-size: 1rem; }



.btn-link {

    background: none;

    border: none;

    color: #cbd5e1;

    cursor: pointer;

    font-size: .9rem;

    padding: 0;

}

.btn-link:hover { color: var(--clr-white); }



.btn-cart {

    width: 100%;

    padding: 8px;

    background: var(--clr-primary);

    color: var(--clr-white);

    border: none;

    border-radius: var(--radius);

    cursor: pointer;

    font-size: .85rem;

    transition: background .15s;

}

.btn-cart:hover { background: var(--clr-primary-h); }



.btn-checkout {

    display: block;

    padding: 14px;

    background: var(--clr-success);

    color: var(--clr-white);

    border-radius: var(--radius);

    text-align: center;

    font-weight: 600;

    font-size: 1rem;

    text-decoration: none;

}

.btn-checkout:hover { opacity: .9; text-decoration: none; }



/* ------------------------------------------------------------------ */

/*  Формы                                                               */

/* ------------------------------------------------------------------ */

.form-group {

    margin-bottom: 16px;

}



.form-group label {

    display: block;

    font-size: .9rem;

    font-weight: 500;

    margin-bottom: 6px;

    color: var(--clr-text);

}



.form-group input,

.form-group select,

.form-group textarea {

    width: 100%;

    padding: 10px 12px;

    border: 1px solid var(--clr-border);

    border-radius: var(--radius);

    font-size: .95rem;

    font-family: var(--font);

    background: var(--clr-white);

    color: var(--clr-text);

    transition: border-color .15s;

}



.form-group input:focus,

.form-group select:focus,

.form-group textarea:focus {

    outline: none;

    border-color: var(--clr-primary);

    box-shadow: 0 0 0 3px rgba(37,99,235,.1);

}



.form-group input:disabled {

    background: var(--clr-bg);

    color: var(--clr-muted);

}



.form-group small {

    display: block;

    font-size: .8rem;

    color: var(--clr-muted);

    margin-top: 4px;

}



/* ------------------------------------------------------------------ */

/*  Контактная форма                                                    */

/* ------------------------------------------------------------------ */

.contact-form-wrap {

    max-width: 560px;

    margin: 0 auto;

}



.form-banner {

    padding: 12px 16px;

    border-radius: var(--radius);

    margin-bottom: 20px;

    font-size: .95rem;

}

.form-banner-success { background: #e6f4ea; color: #1e7e34; }

.form-banner-error   { background: #fdecea; color: #c0392b; }



.contact-reply-form { display: flex; flex-direction: column; gap: 6px; min-width: 220px; }

.contact-reply-form textarea { width: 100%; font-size: .85rem; }

.contact-reply-sent { font-size: .85rem; color: var(--clr-muted); white-space: pre-wrap; }



.form-page {

    max-width: 480px;

    margin: 0 auto;

    background: var(--clr-white);

    padding: 32px;

    border-radius: var(--radius-lg);

    box-shadow: var(--shadow-md);

}



.form-page h1 {

    font-size: 1.5rem;

    margin-bottom: 24px;

    text-align: center;

}



.auth-form .btn-primary { width: 100%; margin-top: 8px; }



.form-alt {

    text-align: center;

    margin-top: 20px;

    font-size: .9rem;

    color: var(--clr-muted);

}



.form-errors {

    background: #fef2f2;

    border: 1px solid #fecaca;

    border-radius: var(--radius);

    padding: 12px 16px;

    margin-bottom: 20px;

    color: var(--clr-danger);

    font-size: .9rem;

}



.form-errors li { margin-bottom: 4px; }

.form-errors li:last-child { margin-bottom: 0; }



.success { color: var(--clr-success); font-size: .9rem; margin-bottom: 12px; }

.error   { color: var(--clr-danger);  font-size: .9rem; margin-bottom: 12px; }



/* ------------------------------------------------------------------ */

/*  Каталог — главная                                                   */

/* ------------------------------------------------------------------ */



.cntnrTitleDate{

	justify-content: space-between;

    margin-bottom: 24px;

}

.cntnrTitleDate>.lnng{

	justify-content: space-between;

}

.page-title, #FullDate {

    font-weight: 700;

    /* -webkit-text-stroke: 0.2px #fff; */

    text-stroke: 1px #fff;

    color: white;

    /*! font-size: 3rem; */

}

.page-title {

    font-size: 2.75rem;

}

#FullDate {

    font-size: 1.75rem;

}

.inline-search{

	display: none;

}

.cats-wrap, .service-description {

    margin-bottom: 40px;

    width: 100%;

    background-color: #ffffffd1;

    padding: 12px 22px;

    color:black;

}

.geo-categories .cats-wrap {

    margin-bottom: 0px;

    background-color: #ffffff82;

    padding: 12px 22px;

}



.cats-wrap {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    /*! gap: 16px; */

    width: 100%;

    gap: 26px;

}



.categories-grid .cats-wrap {

    background: none;

    padding: 0;

}



.cats-wrap h2 { font-size: 1.25rem; margin-bottom: 16px; }



.geo-category-section {margin-bottom: 0;}

.geo-category-title    {font-size: 1.55rem;color: black;padding: 16px;}



.provider-sort-bar {

    display: flex;

    justify-content: flex-end;

    align-items: center;

    gap: 8px;

    margin-bottom: 16px;

}

.provider-sort-bar select {

    padding: 6px 10px;

    /* border: 1px solid var(--clr-border); */

    /* border-radius: var(--radius); */

    font-size: 19px;

    background: #ffffffde;

    border: none;

}



.categories-grid {

    width: 100%;

}



.cat-card {

    display: flex;

    flex-direction: column;

    align-items: center;

    width: 100%;

    /*! background: var(--clr-white); */

    /* border: 1px solid var(--clr-border); */

    border-radius: var(--radius-lg);

    text-decoration: none;

    color: black;

    transition: box-shadow .15s, transform .15s;

    text-align: center;

    /*! padding: 0 0 6px; */

    background-color: #ffffffba;

    padding: 36px 0;

    opacity: 1 !important;

}



.cat-card:hover {

    box-shadow: var(--shadow-md);

    transform: translateY(-2px);

    text-decoration: none;

}



.cat-title { font-weight: 700;  line-height: 1.25; font-size: 2.15rem;}

.cat-count { line-height: 1.25; color: black;font-size: 1.5rem;}



.featured-products h2 { font-size: 1.25rem; margin-bottom: 16px; }



/* ------------------------------------------------------------------ */

/*  Сетка товаров                                                       */

/* ------------------------------------------------------------------ */

.products-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));

    gap: 20px;

}



.product-card {

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-radius: var(--radius-lg);

    overflow: hidden;

    transition: box-shadow .15s, transform .15s;

    display: flex;

    flex-direction: column;

}



.product-card:hover {

    box-shadow: var(--shadow-md);

    transform: translateY(-2px);

}



.product-card > a { display: flex; flex-direction: column; flex: 1; text-decoration: none; }

.product-card img { width: 100%; height: 200px; object-fit: cover; }

.product-card .product-name {

    padding: 12px 12px 4px;

    font-size: .95rem;

    font-weight: 500;

    color: var(--clr-text);

    flex: 1;

}

.product-card .product-price {

    padding: 4px 12px 12px;

    font-size: 1.1rem;

    font-weight: 700;

    color: var(--clr-primary);

}



.product-card form { padding: 0 12px 12px; }



/* ------------------------------------------------------------------ */

/*  Страница категории (с сайдбаром)                                   */

/* ------------------------------------------------------------------ */

.catalog-layout {

    display: flex;

    grid-template-columns: 240px 1fr;

    gap: 32px;

    align-items: start;

    justify-content: center;

}



.catalog-sidebar {

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-radius: var(--radius-lg);

    padding: 20px;

    display: none;

}



.catalog-sidebar h3 {

    font-size: .85rem;

    text-transform: uppercase;

    letter-spacing: .05em;

    color: var(--clr-muted);

    margin-bottom: 12px;

}

label[for="provider-sort-select"]{

	color:white;

	font-size:26px;

	font-weight:700;

}

.geo-categories{

	background-color: #ffffffc9;

	/* padding: 20px; */

}

.subcat-link {

    display: block;

    padding: 6px 0;

    color: black;

    /* border-bottom: 1px solid var(--clr-border); */

    font-weight: 600;

    font-size: 1.3rem;

}

.subcat-link:last-child { border-bottom: none; }

.subcat-link:hover { color: var(--clr-primary); text-decoration: none; }



.catalog-filter { margin-top: 20px; }



.catalog-filter input[type=number] {

    width: 100%;

    padding: 8px;

    border: 1px solid var(--clr-border);

    border-radius: var(--radius);

    font-size: .9rem;

    margin-bottom: 8px;

}



.catalog-main .signin-prompt {display:none;}



/* Листовая категория услуг (.no-sidebar, controllers/shared/service_data.c) —

   сайдбар с баннером скрыт, карточкам компаний — вся ширина, фикс. 4 колонки. */

.catalog-layout.no-sidebar .catalog-sidebar { display: none; }

.catalog-layout.no-sidebar .catalog-main    { grid-column: 1 / -1; }

.catalog-layout.no-sidebar .products-grid   { grid-template-columns: repeat(4, 1fr); }



.catalog-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    /* margin-bottom: 30px; */

}



.catalog-header h1, .service-title {font-size: 1.8rem;color: white;margin: 30px 0 50px;}

.catalog-count { color: var(--clr-muted); font-size: .9rem; }



.listing-photo{

	margin:0;

}



.catalog-sort select {

    padding: 8px 12px;

    border: 1px solid var(--clr-border);

    border-radius: var(--radius);

    font-size: .9rem;

}



/* ------------------------------------------------------------------ */

/*  Страница товара                                                     */

/* ------------------------------------------------------------------ */

.product-layout {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 40px;

    align-items: start;

    margin-bottom: 48px;

}



.product-gallery img {

    width: 100%;

    border-radius: var(--radius-lg);

    object-fit: cover;

    aspect-ratio: 1;

    border: 1px solid var(--clr-border);

}



.gallery-thumb {

    width: 64px;

    height: 64px;

    object-fit: cover;

    border-radius: var(--radius);

    border: 2px solid var(--clr-border);

    cursor: pointer;

    margin: 4px;

}

.gallery-thumb.active { border-color: var(--clr-primary); }



.breadcrumb {

    /* color: var(--clr-muted); */

    margin-bottom: 12px;

    font-size: 1.3rem;

    color: white;

}

.breadcrumb a {/* color: var(--clr-muted); */color: #ffffff;}



.product-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 8px; }



.product-rating {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 16px;

    font-size: .9rem;

}



.stars { color: #f59e0b; letter-spacing: 2px; }

.rating-val { font-weight: 600; }

.reviews-count { color: var(--clr-muted); }



.product-price {

    font-size: 2rem;

    font-weight: 700;

    color: var(--clr-primary);

    margin-bottom: 12px;

}



.product-stock { font-size: .9rem; font-weight: 500; margin-bottom: 20px; }

.in-stock    { color: var(--clr-success); }

.out-of-stock { color: var(--clr-danger); }



.stock-qty { color: var(--clr-muted); font-size: .85rem; margin-left: 8px; }



.qty-wrap {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 16px;

}



.qty-wrap label { font-size: .9rem; font-weight: 500; }



.qty-wrap input {

    width: 70px;

    padding: 8px;

    border: 1px solid var(--clr-border);

    border-radius: var(--radius);

    text-align: center;

    font-size: 1rem;

}



.add-to-cart { margin-bottom: 16px; }

.add-to-cart .btn-primary { padding: 12px 32px; font-size: 1rem; }



.product-seller {

    padding: 12px 16px;

    background: var(--clr-bg);

    border-radius: var(--radius);

    font-size: .9rem;

    color: var(--clr-muted);

    margin-top: 16px;

}



.product-description { margin-bottom: 40px; }

.product-description h2 { font-size: 1.2rem; margin-bottom: 12px; }

.desc-body { line-height: 1.8; color: #374151; }



/* ------------------------------------------------------------------ */

/*  Отзывы                                                              */

/* ------------------------------------------------------------------ */

.product-reviews h2 { font-size: 1.2rem; margin-bottom: 20px; }



.reviews-list { margin-bottom: 32px; }



.review {

    padding: 16px;

    border: 1px solid var(--clr-border);

    border-radius: var(--radius);

    margin-bottom: 12px;

    background: var(--clr-white);

}



.review-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 8px;

}



.review-author { font-weight: 500; font-size: .9rem; }

.review-stars  { color: #f59e0b; }

.review-text   { font-size: .9rem; color: #374151; }



.review-form-wrap h3 { font-size: 1rem; margin-bottom: 16px; }

.review-form { display: flex; flex-direction: column; gap: 12px; max-width: 480px; }

.review-form textarea { padding: 10px; border: 1px solid var(--clr-border); border-radius: var(--radius); resize: vertical; min-height: 80px; }

.review-login { font-size: .9rem; color: var(--clr-muted); }



.no-reviews { color: var(--clr-muted); font-style: italic; }



/* ------------------------------------------------------------------ */

/*  Похожие товары                                                      */

/* ------------------------------------------------------------------ */

.related-products { margin-top: 48px; }

.related-products h2 { font-size: 1.2rem; margin-bottom: 20px; }



.related-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));

    gap: 16px;

}



.related-card {

    text-decoration: none;

    color: var(--clr-text);

    display: flex;

    flex-direction: column;

    gap: 6px;

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-radius: var(--radius);

    overflow: hidden;

    transition: box-shadow .15s;

}

.related-card:hover { box-shadow: var(--shadow-md); text-decoration: none; }

.related-card img { width: 100%; height: 130px; object-fit: cover; }

.related-name  { padding: 6px 8px 2px; font-size: .85rem; font-weight: 500; }

.related-price { padding: 0 8px 8px; font-size: .9rem; color: var(--clr-primary); font-weight: 600; }



/* ------------------------------------------------------------------ */

/*  Корзина                                                             */

/* ------------------------------------------------------------------ */

.cart-layout {

    display: grid;

    grid-template-columns: 1fr 320px;

    gap: 32px;

    align-items: start;

}



.cart-table { width: 100%; border-collapse: collapse; background: var(--clr-white); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); }

.cart-table th { padding: 14px 16px; text-align: left; font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; color: var(--clr-muted); background: var(--clr-bg); border-bottom: 1px solid var(--clr-border); }

.cart-table td { padding: 14px 16px; border-bottom: 1px solid var(--clr-border); vertical-align: middle; }

.cart-table tr:last-child td { border-bottom: none; }



.cart-table img { width: 56px; height: 56px; object-fit: cover; border-radius: var(--radius); }



.cart-row input[type=number] {

    width: 60px;

    padding: 6px;

    border: 1px solid var(--clr-border);

    border-radius: var(--radius);

    text-align: center;

}



.cart-row button { background: none; border: none; cursor: pointer; color: var(--clr-muted); font-size: 1.1rem; }

.cart-row button:hover { color: var(--clr-danger); }



.cart-empty { text-align: center; padding: 48px; background: var(--clr-white); border-radius: var(--radius-lg); }

.cart-empty p { color: var(--clr-muted); margin-bottom: 20px; font-size: 1.1rem; }



.cart-summary {

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-radius: var(--radius-lg);

    padding: 24px;

}



.cart-summary h2 { font-size: 1.1rem; margin-bottom: 16px; }



.cart-items { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }



.summary-total {

    display: flex;

    justify-content: space-between;

    font-size: 1.1rem;

    font-weight: 700;

    border-top: 1px solid var(--clr-border);

    padding-top: 16px;

    margin-bottom: 20px;

}



/* ------------------------------------------------------------------ */

/*  Чекаут                                                              */

/* ------------------------------------------------------------------ */

.checkout-layout {

    display: grid;

    grid-template-columns: 1fr 360px;

    gap: 32px;

    align-items: start;

}



.checkout-form-wrap h1 { font-size: 1.5rem; margin-bottom: 24px; }



.checkout-section {

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-radius: var(--radius-lg);

    padding: 24px;

    margin-bottom: 20px;

}



.checkout-section h2 { font-size: 1rem; font-weight: 600; margin-bottom: 20px; color: var(--clr-muted); text-transform: uppercase; letter-spacing: .05em; }



.checkout-summary {

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-radius: var(--radius-lg);

    padding: 24px;

    position: sticky;

    top: 76px;

}



.checkout-summary h2 { font-size: 1.1rem; margin-bottom: 16px; }



.cart-preview-table { width: 100%; border-collapse: collapse; font-size: .9rem; margin-bottom: 16px; }

.cart-preview-table td { padding: 8px 4px; border-bottom: 1px solid var(--clr-border); }

.cart-preview-table tfoot td { border-bottom: none; padding-top: 12px; }



/* ------------------------------------------------------------------ */

/*  Страница успеха                                                     */

/* ------------------------------------------------------------------ */

.success-page {

    max-width: 480px;

    margin: 0 auto;

    text-align: center;

    padding: 48px 24px;

    background: var(--clr-white);

    border-radius: var(--radius-lg);

    box-shadow: var(--shadow-md);

}



.success-icon {

    width: 72px; height: 72px;

    background: var(--clr-success);

    color: var(--clr-white);

    border-radius: 50%;

    font-size: 2rem;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 20px;

}



.success-page h1 { font-size: 1.5rem; margin-bottom: 8px; }

.success-total { color: var(--clr-muted); margin-bottom: 20px; }

.success-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 24px; }



/* ------------------------------------------------------------------ */

/*  Личный кабинет                                                      */

/* ------------------------------------------------------------------ */

.account-layout {

    display: grid;

    grid-template-columns: 240px 1fr;

    gap: 32px;

    align-items: start;

}



.account-sidebar {

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-radius: var(--radius-lg);

    overflow: hidden;

    position: sticky;

    top: 76px;

}



.account-avatar {

    padding: 24px;

    text-align: center;

    border-bottom: 1px solid var(--clr-border);

    background: var(--clr-bg);

}



.account-avatar img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; margin: 0 auto 12px; border: 2px solid var(--clr-border); }

.account-username { font-weight: 600; font-size: 1rem; }

.account-role { font-size: .8rem; color: var(--clr-muted); text-transform: capitalize; }



.account-nav { padding: 8px 0; }

.account-nav a,

.account-nav form,

.account-nav button {

    display: block;

    width: 100%;

    padding: 10px 20px;

    font-size: .9rem;

    color: var(--clr-text);

    text-decoration: none;

    border: none;

    background: none;

    cursor: pointer;

    text-align: left;

    transition: background .1s;

}

.account-nav a:hover,

.account-nav button:hover { background: var(--clr-bg); text-decoration: none; }

.account-nav a.active { color: var(--clr-primary); font-weight: 500; background: #eff6ff; }

.account-nav form { padding: 0; }

.account-nav form button { color: var(--clr-danger); }



.account-main {}



.account-section {

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-radius: var(--radius-lg);

    padding: 24px;

    margin-bottom: 20px;

}



.account-section h2 { font-size: 1rem; font-weight: 600; margin-bottom: 20px; }



.profile-form { max-width: 400px; }



/* ------------------------------------------------------------------ */

/*  Таблица заказов                                                     */

/* ------------------------------------------------------------------ */

.orders-table,

.order-items-table { width: 100%; border-collapse: collapse; }



.orders-table th,

.orders-table td,

.order-items-table th,

.order-items-table td {

    padding: 12px 16px;

    border-bottom: 1px solid var(--clr-border);

    text-align: left;

    font-size: .9rem;

}



.orders-table th,

.order-items-table th {

    background: var(--clr-bg);

    font-size: .8rem;

    text-transform: uppercase;

    letter-spacing: .04em;

    color: var(--clr-muted);

}



.orders-table tr:hover td { background: #f8faff; }



.status-new       { color: var(--clr-primary); }

.status-paid      { color: var(--clr-success); }

.status-shipped   { color: var(--clr-warning); }

.status-done      { color: var(--clr-success); }

.status-cancelled { color: var(--clr-danger);  }



.empty { color: var(--clr-muted); font-style: italic; }



.order-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }

.order-header h1 { font-size: 1.4rem; }



.order-meta {

    display: flex;

    gap: 24px;

    flex-wrap: wrap;

    padding: 16px;

    background: var(--clr-bg);

    border-radius: var(--radius);

    margin-bottom: 20px;

    font-size: .9rem;

}



.order-comment { margin-top: 20px; font-size: .9rem; }

.order-comment p { color: var(--clr-muted); margin-top: 4px; }



/* ------------------------------------------------------------------ */

/*  Страница ошибки                                                     */

/* ------------------------------------------------------------------ */

.error-page {

    text-align: center;

    padding: 80px 24px;

}



.error-page h1 { font-size: 4rem; font-weight: 800; color: var(--clr-border); margin-bottom: 8px; }

.error-page h2 { font-size: 1.5rem; margin-bottom: 16px; }

.error-page p  { color: var(--clr-muted); margin-bottom: 24px; }



/* ------------------------------------------------------------------ */

/*  Подвал                                                              */

/* ------------------------------------------------------------------ */

.site-footer {

    background: #000000c4;

    color: #94a3b8;

    padding: 24px 0;

    font-size: .85rem;

    text-align: center;

    margin-top: auto;

}



/* ------------------------------------------------------------------ */

/*  Адаптив                                                             */

/* ------------------------------------------------------------------ */



/* Планшеты и ноутбуки (до 900px — iPad портрет/ландшафт, узкие окна ноутбука) */

@media (max-width: 900px) {

    .product-layout   { grid-template-columns: 1fr; }

    .catalog-layout   { grid-template-columns: 1fr; }

    .catalog-sidebar  { display: none; }

    .cart-layout      { grid-template-columns: 1fr; }

    .checkout-layout  { grid-template-columns: 1fr; }

    .account-layout   { grid-template-columns: 1fr; }

    .account-sidebar  { position: static; }

    .catalog-layout.no-sidebar .products-grid { grid-template-columns: repeat(2, 1fr); }

}



/* Телефоны (до 480px — реальная ширина устройств портретно, от iPhone SE

   375px до iPhone Pro Max ~430px, с запасом) */

@media (max-width: 480px) {

    :root { --gap: 16px; }

    .header-search { display: none; }

    .products-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

    .catalog-layout.no-sidebar .products-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

    .cats-wrap {grid-template-columns: repeat(2, 1fr);gap: 0;background: #ffffffba !important;}

    .form-page { padding: 24px 16px; }

    .cart-table th:nth-child(1),

    .cart-table td:nth-child(1) { display: none; }

}



/* --- Переключатель языков --- */

[data-lang-switcher] { display: inline-flex; gap: 4px; }

.lang-btn {

    padding: 4px 10px; border: 1px solid #ccc; border-radius: 4px;

    background: #fff; cursor: pointer; font-size: 13px; font-weight: 500;

    color: #555; transition: all .2s;

}

.lang-btn:hover { border-color: #666; color: #222; }

.lang-btn.active { background: #222; color: #fff; border-color: #222; }



/* ------------------------------------------------------------------ */

/*  Единый навбар (логотип, каталог, продавцы, поиск, корзина, контакты) */

/* ------------------------------------------------------------------ */

.navbar { justify-content: space-between; position: relative; }



.logo img { /*! height: 28px; */display: block;height: 95px;position: absolute;top: 4px;}



/* .navbar-links {

    display: flex;

    align-items: center;

    gap: 18px;

    flex: 1;

} */



.navbar-links > a { /*! color: #cbd5e1; */ white-space: nowrap; font-size: 19px;}

.navbar-links > a:hover { color: var(--clr-white); text-decoration: none; }



.navbar-search {

    position: relative;

    display: flex;

    align-items: center;

}



.search-toggle {

    background: none;

    border: none;

    color: #cbd5e1;

    font-size: 1.1rem;

    cursor: pointer;

    padding: 4px;

}



.search-slideout {

    position: absolute;

    right: 100%;

    top: 50%;

    transform: translateY(-50%);

    width: 0;

    overflow: hidden;

    transition: width .25s ease;

    background: var(--clr-header-bg);

}



.search-slideout.open { width: 240px; margin-right: 8px; z-index: 2;}



.search-slideout input {

    width: 100%;

    padding: 6px 10px;

    border: none;

    border-radius: var(--radius);

    outline: none;

    font-size: .9rem;

}



.navbar-dropdown { position: relative; }



.dropdown-toggle {

    background: none;

    border: none;

    color: #cbd5e1;

    font-size: .9rem;

    cursor: pointer;

    padding: 4px 0;

}

.dropdown-toggle:hover { color: var(--clr-white); }



.dropdown-menu {

    display: none;

    position: absolute;

    top: 100%;

    right: 0;

    background: var(--clr-white);

    color: #1a1a1a;

    border-radius: var(--radius);

    box-shadow: var(--shadow-md);

    padding: 12px 16px;

    min-width: 200px;

    z-index: 200;

}



.dropdown-menu.open { display: block; }



.dropdown-menu p { margin: 4px 0; font-size: .9rem; white-space: nowrap; }



/* ------------------------------------------------------------------ */

/*  Мега-меню каталога (core/mega_menu.c) — по клику на "Catalog".      */

/*  Ширина равна ширине .container.navbar (позиционируется от неё, а не */

/*  от самого триггера, в отличие от .dropdown-menu выше).              */

/* ------------------------------------------------------------------ */

.mega-menu-toggle {

    /*! color: #cbd5e1; */cursor: pointer;white-space: nowrap;font-size: 19px;}

.mega-menu-toggle:hover { color: var(--clr-white); }



.mega-menu {

    display: none;

    position: absolute;

    top: 100%;

    left: 0;

    right: 0;

    background: var(--clr-white);

    color: #1a1a1a;

    box-shadow: var(--shadow-md);

    padding: 24px var(--gap);

    max-height: 75vh;

    overflow-y: auto;

    z-index: 200;

    scrollbar-width: thin;

    scrollbar-color: #c1c1c1 transparent;

}



.mega-menu::-webkit-scrollbar { width: 6px; }

.mega-menu::-webkit-scrollbar-track { background: transparent; }

.mega-menu::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 3px; }

.mega-menu::-webkit-scrollbar-thumb:hover { background: #a0a0a0; }



.mega-menu.open { display: block; }



.mega-menu-columns {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));

    gap: 20px 32px;

}



.mega-menu-col { min-width: 0; }



.mega-menu-root {

    display: block;

    font-weight: 700;

    color: #1a1a1a;

    margin-bottom: 6px;

}

.mega-menu-root:hover { color: var(--clr-primary); text-decoration: none; }



.mega-menu-col ul {

    list-style: none;

    margin: 0;

    padding: 0;

}

.mega-menu-col li { margin: 2px 0; }

.mega-menu-col ul ul { padding-left: 12px; }



.mega-menu .mega-menu-columns .mega-menu-col a { color: #444; font-size: .9rem; }

.mega-menu-col a:hover { color: var(--clr-primary); }



.navbar-auth {

    display: flex;

    align-items: center;

    gap: 12px;

    white-space: nowrap;

    /*! font-size: .9rem; */

}



.navbar-auth a, .navbar-auth button { /*! color: #cbd5e1; */ }

.navbar-auth a:hover { color: var(--clr-white); text-decoration: none; }



/* ------------------------------------------------------------------ */

/*  Навбар режима "Каталог услуг" — 3 колонки: ссылки слева, лого по    */

/*  центру, поиск+контакт+вход справа (core/layout.c, engine_mode).     */

/* ------------------------------------------------------------------ */

.site-header .navbar-3col {--navbar-item-gap:18px;height:auto;min-height:60px;display: grid;grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);align-items: center;color: white !important;font-weight: 600;justify-content: space-between;

    /* Та же ширина, что у .main-content .container — max-width наследовался

       бы от общего правила .container (строка ~68) и так, но margin/padding

       здесь явно, чтобы не зависеть от каскада между .container и

       .site-header .container (строка ~90). */width: 100%;max-width: var(--container);margin: 0 auto;padding: 8px 0;box-sizing: border-box;font-size: 18px;}

.site-header .navbar-3col a {

    color: white;

}

.navbar-3col .navbar-left {

    justify-self: start;

    display: flex;

    align-items: center;

    gap: 18px;

}



/* .logo сам больше не прямой ребёнок грида .navbar-3col — обёрнут вместе

   со счётчиками в .nav-center-group (templates/partials/navbar_services.html),

   это ОДИН grid-item в средней auto-колонке, см. .nav-center-group ниже. */

.navbar-3col .logo { /*! position: absolute; *//*! top: 20px; */width: 95px;/*! height: 95px; */}



/* Единая группа "всего / лого / сегодня" — один grid-item в средней

   колонке .navbar-3col (justify-self поэтому на группе, не на .logo).

   На телефоне (см. @media ниже) переносится под .navbar-right отдельной

   строкой, счётчики и лого внутри неё остаются в один ряд. */

.nav-center-group {

    justify-self: center;

    display: flex;

    align-items: center;

    gap: 14px;

    width: 100%;

    justify-content: space-between;

}



/* Счётчики "вс"/"се" по бокам от лого (декоративные, main.js — тикают

   каждые 2-4 сек, "сегодня" обнуляется по смене даты, "всего" — никогда). */

.nav-counter {display: flex;flex-direction: column;align-items: flex-start;justify-content: center;gap: 8px;font-size: 16px;font-weight: 400;color: #cbd5e1;white-space: nowrap;}

.navbar-side-left .nav-counter {

    align-items: flex-end;

}

.nav-counter span:first-child {display: flex;align-items: center;gap: 3px;font-size: 14px;font-weight: 400;color: white;white-space: nowrap;}





.nav-counter-value {color: white;font-variant-numeric: tabular-nums;line-height:0.4;}



.navbar-right {justify-self: end;justify-content: flex-end;display: flex;align-items: center;gap: var(--navbar-item-gap);/* font-size: 19px; */width: 100%;}

.navbar-right a {

    color: black;

}

.navbar-contact-link { /*! color: #cbd5e1; */ white-space: nowrap; }

.navbar-contact-link:hover { color: var(--clr-white); text-decoration: none; }



/* Телефоны (см. основной блок @media (max-width: 480px) в разделе

   "Адаптив" выше) — override размещён здесь, а не там, потому что базовые

   правила .navbar-3col/.navbar-left/.navbar-right определены НИЖЕ того

   блока; при равной специфичности класса побеждает то, что идёт позже по

   файлу, независимо от @media — иначе безусловные правила выше отменяли

   бы мобильную раскладку. .logo img в обычном состоянии position:absolute

   (см. .logo img выше) — здесь возвращаем в поток, иначе не встанет по

   центру своей строки. */

@media (max-width: 480px) {

    .site-header .navbar-3col {

        display: flex;

        flex-wrap: wrap;

        justify-content: center;

        align-items: center;

        height: auto;

        padding: 10px 0;

        gap: 8px;

    }

    .navbar-3col .navbar-left {

        flex-basis: 100%;

        flex-direction: row;

        flex-wrap: wrap;

        justify-content: center;

    }

    /* .navbar-right сама по себе больше не отдельная строка — "распускаем"

       её (display:contents), чтобы её дети (.navbar-search/.navbar-

       contact-link/.navbar-auth) стали прямыми элементами общего flex-ряда

       .navbar-3col наравне с .logo — тогда .logo можно вставить между

       .navbar-contact-link и .navbar-auth через order, не трогая шаблон. */

    .navbar-3col .navbar-right {

        display: flex;

        flex-basis: 100%;

        flex-wrap: wrap;

        order: 1;

    }

    .navbar-3col .navbar-search      { order: 1; }

    .navbar-3col .navbar-contact-link { order: 2; }

    .navbar-3col .navbar-auth         { order: 3; }

    /* total/лого/today — своей строкой ПОД .navbar-right (search/contact/

       auth выше, order 1-3): flex-basis:100% переносит группу на новую

       строку, как и .navbar-left наверху; внутри группы — обычный flex-ряд,

       так что все три элемента остаются в один ряд друг с другом. */

    .navbar-3col .nav-center-group {

        order: 4;

        flex-basis: 100%;

        justify-content: center;

        justify-content: space-around;

    }

    .navbar-3col .logo { text-align: center; display: flex; justify-content: center; }

    .navbar-3col .logo img {

        /*! position: static; */

        margin: 0 auto;

        position: absolute;

        top: 90px;

        height: 5rem;

    }

    /* Поле поиска (name="q") — на телефоне выезжает вправо, а не влево

       (на такой ширине "влево" уводит поле за пределы экрана). */

    .search-slideout {

        right: auto;

        left: 100%;

    }

    .search-slideout.open {

        margin-right: 0;

        margin-left: 8px;

    }

    .logo{

        /*! position: relative; */

        /*! top: 46px */

        width: 90px;

    }

    .main-content {

        padding-top: 62px;

    }

    .main-content .container {

        padding: 20px 1px;

    }

	

	.cntnrTitleDate{

		justify-content: space-between;

        margin-left: 4px;

        margin-right: 4px;

	    margin-bottom: 40px;

	}

	.cntnrTitleDate>.lnng{

		flex-direction: column;

		align-items: center;

		justify-content: center;

		gap:22px;

	}



	.page-title {

	    font-size: 2.75rem;

	}

	.cntnrFullDate>.lnng{

	}

	#FullDate {

	    font-size: 1.45rem;

	}

	.cntnrTitle>.lnng{

	}

    .page-title {

        line-height: 1.2;

        display: flex;

        text-align: center;

    }

    .cat-card {

        display: flex;

        flex-direction: column;

        align-items: center;

        width: auto;

        /*! border: 1px solid var(--clr-border); */

        /*! border-radius: var(--radius-lg); */

        text-decoration: none;

        transition: box-shadow .15s, transform .15s;

        text-align: center;

        padding: 6px 0;

        border: none;

        border-radius: unset;

        background-color: transparent;

    }

    .cat-title {

        font-weight: 700;

        line-height: 1.25;

        font-size: 1.5rem;

    }

    .cat-count {

        line-height: 1.25;

        color: black;

        font-size: 1.0rem;

    }

}



/* ------------------------------------------------------------------ */

/*  Каталог продавцов                                                   */

/* ------------------------------------------------------------------ */

.sellers-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));

    gap: 20px;

}



.seller-card {

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-radius: var(--radius-lg);

    overflow: hidden;

    transition: box-shadow .15s, transform .15s;

    padding: 8px;

}



.seller-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }



.seller-card > a {

    display: flex;

    flex-direction: column;

    padding: 16px;

    text-decoration: none;

}



.seller-card .seller-name {

    font-size: 1.05rem;

    font-weight: 700;

    color: var(--clr-text);

    margin-bottom: 6px;

    display: flex;

}



.seller-card .seller-description {

    font-size: .9rem;

    color: #64748b;

}



.seller-card .seller-services a{

    display: flex;

}



/* Монетизация (dbg/monetization_plan.txt) */

.seller-badges {

    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    margin-bottom: 8px;

}

.badge-tier, .badge-verified, .badge-toppick, .badge-emergency, .badge-fastresponse {

    display: inline-block;

    font-size: .75rem;

    font-weight: 600;

    padding: 2px 8px;

    border-radius: 4px;

    color: #fff;

}

.badge-tier.tier-featured  { background: #6b7280; }

.badge-tier.tier-sponsored { background: #2563eb; }

.badge-tier.tier-exclusive { background: #b45309; }

.badge-verified      { background: #059669; }

.badge-toppick       { background: #d97706; }

.badge-emergency     { background: #dc2626; }

.badge-fastresponse  { background: #7c3aed; }



.seller-card.tier-featured  { border: 1px solid #9ca3af; }

.seller-card.tier-sponsored { border: 2px solid #2563eb; }

.seller-card.tier-exclusive { border: 2px solid #b45309; background: #fffbeb; }



/* Карточка компании-поставщика услуг в категории каталога

   (templates/catalog/service_category.html) — копия .seller-card под

   отдельным именем класса. */

.company-service-card {

    background: #ffffffde;

    /* border: 1px solid var(--clr-border); */

    /* border-radius: var(--radius-lg); */

    overflow: hidden;

    transition: box-shadow .15s, transform .15s;

    border: none;

}



.company-service-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }



.company-service-card > a {

    display: flex;

    flex-direction: column;

    padding: 16px;

    text-decoration: none;

}



.company-service-card .seller-name {

    font-size: 1.05rem;

    font-weight: 700;

    color: var(--clr-text);

    margin-bottom: 6px;

}



.company-service-card .seller-description {

    font-size: .9rem;

    color: #3e3e3e;

}



.company-service-card.tier-featured  { border: 1px solid #9ca3af; }

.company-service-card.tier-sponsored { border: 2px solid #2563eb; }

.company-service-card.tier-exclusive { border: 2px solid #b45309; background: #fffbeb; }



.service-description {

    font-size: 18px;

    margin: 30px 0;

}



/* Карточка УСЛУГИ в общей сетке /catalog (без выбранной категории) —

   controllers/shared/service_card.c. По стилю похожа на

   .company-service-card (та же карточка-плитка), но другая сущность

   (обобщённая услуга, не конкретная компания) — отличается цветным

   акцентом слева вместо рамки тарифа поставщика. */

.service-tile-card {

    background: var(--clr-white);

    border: 1px solid var(--clr-border);

    border-left: 4px solid var(--clr-primary);

    border-radius: var(--radius-lg);

    overflow: hidden;

    transition: box-shadow .15s, transform .15s;

    display: flex;

    flex-direction: column;

}



.service-tile-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }



.service-tile-card > a:first-child {

    display: flex;

    flex-direction: column;

    padding: 16px;

    text-decoration: none;

    flex: 1;

}



.service-tile-card .service-name {

    font-size: 1.05rem;

    font-weight: 700;

    color: var(--clr-text);

    margin-bottom: 6px;

}



.service-tile-card .service-desc {

    font-size: .9rem;

    color: #64748b;

}



.service-tile-card .btn-primary {

    margin: 0 16px 16px;

    text-align: center;

}



.pagination {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 6px;

    margin-top: 24px;

}



.pagination .page-link,

.pagination .page-current {

    display: inline-block;

    min-width: 36px;

    padding: 6px 10px;

    text-align: center;

    /* border: 1px solid var(--clr-border); */

    /* border-radius: var(--radius); */

    font-size: 1rem;

    background-color: #ffffffe3;

}



.pagination .page-link {color: black;font-weight: 600;}

.pagination .page-link:hover {border-color: var(--clr-primary);color: #0151ff;text-decoration: none;}



.pagination .page-current {

    background: #2563ebde;

    /* border-color: var(--clr-primary); */

    color: var(--clr-white);

    font-weight: 700;

}



.pagination .page-ellipsis { padding: 6px 4px; color: var(--clr-muted); }



.pagination .page-prev, .pagination .page-next { font-weight: 600; }



.premium-profile { margin-top: 16px; }

.premium-profile h3 { font-size: 1rem; margin: 12px 0 4px; }

.premium-gallery { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }

.premium-gallery-img { max-width: 160px; border-radius: 4px; }



.banner-slot { margin: 16px 0; text-align: center; }

.banner-slot img { max-width: 100%; border-radius: 4px; }



/* Монетизация Phase 2 (dbg/monetization_plan.txt: Analytics, Click Tracking, Booking) */

.contact-buttons { display: flex; gap: 8px; margin: 10px 0; }



/* Единый стиль для всех скрытых за логином блоков на СУК (контакты,

   жалоба, заявка, чат) — одна строка, без заголовка, друг под другом. */

.signin-prompt { margin: 8px 0; color: var(--clr-muted); font-size: .95rem; }

.signin-prompt a { font-weight: 500; }



.btn-call, .btn-website {

    display: inline-block;

    padding: 8px 16px;

    border-radius: 4px;

    font-weight: 600;

    text-decoration: none;

    color: #fff;

}

.btn-call    { background: #16a34a; }

.btn-website { background: #2563eb; }



.booking-slots { margin-top: 16px; }

.slot-card {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    padding: 8px 12px;

    border: 1px solid #e5e7eb;

    border-radius: 4px;

    margin-bottom: 6px;

}



/* Монетизация Phase 3 (dbg/monetization_plan.txt: Chat, Sponsored Article) */

.chat-thread { margin-top: 16px; }

.chat-message {

    max-width: 80%;

    padding: 8px 12px;

    border-radius: 8px;

    margin-bottom: 8px;

    background: #f1f5f9;

}

.chat-message-seller   { background: #dbeafe; margin-left: auto; }

.chat-message-customer  { background: #f1f5f9; }

.chat-body { display: block; }

.chat-time { display: block; font-size: .75rem; color: #64748b; margin-top: 2px; }

.chat-form { display: flex; gap: 8px; margin-top: 12px; }

.chat-form textarea { flex: 1; min-height: 60px; }



/* Текст статьи — свой список маркеров вместо глобального сброса

   "ul, ol { list-style: none; }" (нужен для навигации/карточек, но без

   переопределения делал списки внутри статей визуально неотличимыми от

   обычного текста, хотя разметка <ul><li> в body корректна). */

.blog-body h2 { margin: 24px 0 12px; }

.blog-body h3 { margin: 20px 0 10px; }

.blog-body p  { margin-bottom: 12px; }

.blog-body ul { list-style: disc; padding-left: 24px; margin-bottom: 16px; }

.blog-body ol { list-style: decimal; padding-left: 24px; margin-bottom: 16px; }

.blog-body li { margin-bottom: 6px; }



.blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }

.blog-card {

    display: block;

    padding: 16px;

    border: 1px solid #e5e7eb;

    border-radius: 6px;

    text-decoration: none;

    color: inherit;

}

.blog-card-title { display: block; font-weight: 700; margin-bottom: 8px; }

.badge-sponsored-article {

    display: inline-block;

    font-size: .75rem;

    font-weight: 600;

    padding: 2px 8px;

    border-radius: 4px;

    background: #d97706;

    color: #fff;

}

.sponsor-credit { color: #64748b; font-style: italic; }



/* Sticky/Sidebar/Inline баннеры (dbg/monetization_plan.txt: Sticky Banner,

   Sidebar Banner, Inline Banner) */

.banner-sticky {

    position: fixed;

    left: 0;

    right: 0;

    bottom: 0;

    z-index: 1000;

    background: #111827;

    padding: 8px 16px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    margin: 0;

}

.banner-sticky img { max-height: 60px; }

.banner-close {

    position: absolute;

    top: 4px;

    right: 8px;

    background: none;

    border: none;

    color: #fff;

    font-size: 1.25rem;

    cursor: pointer;

    line-height: 1;

}



.banner-sidebar { margin-top: 16px; }

.banner-sidebar img { max-width: 100%; }



.banner-inline { margin: 16px 0; grid-column: 1 / -1; }



/* --- Phase 4: Deals, Exclusive Lead, Promo Codes, Complaints, SEO --- */



.deal-card {

    display: block;

    padding: 16px;

    border: 1px solid #e0e0e0;

    border-radius: 8px;

    margin-bottom: 12px;

    text-decoration: none;

    color: inherit;

}

.deal-card .blog-card-title { display: block; font-weight: bold; font-size: 1.1rem; }

.deal-description { display: block; margin: 6px 0; color: #555; }

.deal-seller { display: block; font-size: 0.85rem; color: #888; }



.badge-exclusive-lead {

    display: inline-block;

    background: #d9534f;

    color: #fff;

    font-size: 0.75rem;

    padding: 2px 8px;

    border-radius: 4px;

    margin-left: 8px;

}



.lead-exclusive { display: block; margin: 8px 0; font-size: 0.9rem; }



.lead-promo-input {

    margin-right: 8px;

    padding: 4px 8px;

    border: 1px solid #ccc;

    border-radius: 4px;

}



.complaint-details { margin-top: 16px; }

.complaint-details summary { cursor: pointer; color: #888; }

.complaint-form { margin-top: 8px; }

.complaint-form textarea { width: 100%; min-height: 60px; }



.category-seo-row td { padding-top: 0; }

.category-seo-form { display: flex; gap: 8px; align-items: center; }

.category-seo-form input[type="text"] { flex: 1; padding: 4px 8px; border: 1px solid #ccc; border-radius: 4px; }



/* increaseprofit.info/public/css/main.css */

/* Targeted advertising module */

.da-slot { margin: 0px auto; max-width: 1200px; text-align: center; }

.da-slot a { display: block; color: inherit; text-decoration: none; }

.da-slot img { display: block; width: 100%; height: auto; max-height: 360px; object-fit: contain; }

.da-slot strong { display: block; margin-top: 8px; }

.da-disclosure { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 400; line-height: 1.4; color: inherit; }

.da-sidebar { margin: 0 0 20px; }

.da-page-layout { display: grid; grid-template-columns: minmax(0, 180px) minmax(0, 1fr) minmax(0, 180px); gap: 16px; width: 100%; max-width: 1600px; margin: 0 auto; }

.da-page-layout > .main-content { min-width: 0; }

.da-side { min-width: 0; display: flex; flex-direction: column; gap: 20px; padding-top: 20px; }

.da-side .da-slot { margin: 0; }

.da-slot.da-sidebar_left_middle, .da-slot.da-sidebar_right_middle { margin-top: auto; }

.da-slot.da-sidebar_left_bottom, .da-slot.da-sidebar_right_bottom { margin-top: auto; }

.da-footer-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 1200px; margin: 0 auto; }

.da-slot.da-between_list_items { width: 100%; grid-column: 1 / -1; }

@media (max-width: 900px) { .da-page-layout { grid-template-columns: minmax(0, 1fr); } .da-side { flex-direction: row; flex-wrap: wrap; padding: 0 16px; } .da-side .da-slot { flex: 1 1 180px; } }

.da-sticky { position: sticky; bottom: 0; z-index: 20; }

.da-slot.da-phone_top, .da-slot.da-phone_middle, .da-slot.da-phone_bottom,

.da-slot.da-phone_footer { display: none; }

@media (max-width: 767px) {

    .da-slot.da-phone_top, .da-slot.da-phone_middle, .da-slot.da-phone_bottom,

    .da-slot.da-phone_footer { display: block; max-width: 100%; margin: 16px auto; }

}



.account-video-card { border: 1px solid #dbe2ea; border-radius: 8px; padding: 16px; margin: 0 0 16px; }

.account-video-head { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 14px; }

.account-video-head span { color: #64748b; font-size: .875rem; }

.video-form-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }

.video-form-row select { min-width: 130px; padding: 9px; }

.btn-link.danger { color: #b91c1c; }

@media (max-width: 640px) { .account-video-head { flex-direction: column; gap: 4px; } }



/* One spacing and alignment model for language, contacts and account actions. */

.navbar-right .navbar-auth{display:contents}

.navbar-right>.navbar-search,.navbar-right>.navbar-contact-link,.navbar-right .navbar-auth>a,.navbar-right .navbar-auth>form{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:0;order:0}

.navbar-right .navbar-auth>form>button{display:flex;align-items:center;min-height:44px;margin:0;padding:0;font:inherit;line-height:1.2}

.navbar-3col>.navbar-left,.navbar-3col>.navbar-right,.navbar-3col>.nav-center-group{align-self:center}



.navbar-3col>.navbar-left,.navbar-3col>.navbar-right{min-width:0;max-width:100%;flex-wrap:wrap}



/* Counters belong to the neighboring navigation groups, independently of the logo. */

.navbar-3col>.navbar-side{display:flex;align-items:center;gap:var(--navbar-item-gap);min-width:0;max-width:100%;align-self:center}

.navbar-3col>.navbar-side-left{justify-self:start}

.navbar-side-right{justify-content: space-between !important;}

.navbar-side>.nav-counter{flex:0 0 auto}

.navbar-side>.navbar-left,.navbar-side>.navbar-right{flex:0 1 auto;width:auto;min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-start;gap:var(--navbar-item-gap)}

@media(max-width:480px){

 .site-header .navbar-3col{--navbar-item-gap:12px}

 .navbar-3col>.navbar-side{flex-basis:100%;justify-content:center}

 .navbar-3col>.navbar-side-left{order:0}

 .navbar-3col>.navbar-side-right{order:1}

 .navbar-side>.navbar-left,.navbar-side>.navbar-right{flex-basis:auto;order:0}

 .navbar-3col>.nav-center-group{order:2}

 .site-header .navbar.navbar-3col .nav-center-group .logo{width:64px}

 .site-header .navbar.navbar-3col .nav-center-group .logo img{position:static;left:auto;top:auto;transform:none;width:64px;height:64px;margin:0 auto}

}

/* Equal visible clearances beside the centered logo; share spare width between controls. */

.navbar-3col>.navbar-side{width:100%;justify-self:stretch;justify-content:space-between;flex-wrap:wrap}

.navbar-side-left>.navbar-left,.navbar-side-right>.navbar-right{display:contents}

@media(max-width:480px){.navbar-3col>.navbar-side{justify-content:center}}



/* Keep the right controls compact; distribute only the left group's spare room. */

.site-header .navbar-3col{--navbar-item-gap:15px}

.navbar-3col>.navbar-side-right{justify-self:end;width:100%;gap:15px;justify-content:flex-start}

.navbar-3col>.navbar-side-left{justify-self:start;width:100%;gap:15px;justify-content:space-between}

@media(max-width:480px){

 .site-header .navbar-3col{--navbar-item-gap:15px}

 .navbar-3col>.navbar-side-right{width:100%;justify-content:center}

 .navbar-3col>.navbar-side-left{width:100%}

}



/* Fixed standard ad canvases; creative artwork is contained, never stretched. */

.da-slot{--da-w:728px;--da-h:90px;width:var(--da-w);max-width:100%;box-sizing:border-box}

.da-slot .da-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:var(--da-h);padding:12px 16px;box-sizing:border-box;overflow:hidden;font-size:15px;line-height:1.25;text-align:center;background:#fff;color:#172033}

.da-slot .da-banner>strong{margin:0;font-size:inherit}

.da-slot .da-banner>span{display:block;font-size:14px;overflow-wrap:anywhere}

.da-placeholder .da-banner{background:#eff6ff;color:#1d4ed8}

.da-placeholder .da-banner>span{text-decoration:underline;font-weight:600}

.da-placeholder .da-banner:hover,.da-placeholder .da-banner:focus-visible{background:#dbeafe;box-shadow:none}

.da-slot .da-banner.da-image{padding:0}

.da-slot .da-banner img{width:100%;height:100%;max-height:none;object-fit:contain}

.da-slot[class*="da-sidebar_"]{--da-w:180px;--da-h:150px;flex:0 0 180px}

.da-slot.da-between_list_items{--da-w:300px;--da-h:250px;width:var(--da-w);justify-self:center}

.da-slot.da-footer_left,.da-slot.da-footer_right{--da-w:300px;--da-h:250px}

.da-slot[class*="da-phone_"]{--da-w:320px;--da-h:100px}

.da-side{align-items:center}

.da-footer-slots{align-items:start;justify-items:center}

.da-order{max-width:680px;margin:1rem auto;padding:1rem 1.5rem}

.da-order form,.da-order form>label{display:flex;flex-direction:column;gap:.5rem}

.da-order form{gap:1rem;margin:1.5rem 0}

.da-order .da-order-consent{display:flex;flex-direction:row;align-items:flex-start;gap:.65rem}

.da-order-consent input{width:auto;margin-top:.3rem;flex:none}

.da-order-source,.da-order-record{overflow-wrap:anywhere}

.da-order-record{padding:1rem 1.5rem;margin:1rem 0;background:#ffffff08}

@media(min-width:901px) and (max-width:1151px),(min-width:500px) and (max-width:759px){

 .da-slot.da-content_top,.da-slot.da-content_middle,.da-slot.da-content_bottom{--da-w:468px;--da-h:60px}

 .da-slot[class*="da-content_"] .da-banner{padding:6px 12px}

 .da-slot[class*="da-content_"].da-placeholder .da-banner>span{display:none}

}

@media(max-width:499px){.da-slot.da-content_top,.da-slot.da-content_middle,.da-slot.da-content_bottom{--da-w:300px;--da-h:250px}}

@media(max-width:359px){.da-slot.da-between_list_items{--da-w:250px;--da-h:250px}}

@media(max-width:640px){.da-footer-slots{grid-template-columns:minmax(0,1fr)}}



@media(max-width:359px){.da-slot[class*="da-phone_"]{--da-w:300px;--da-h:100px}}



/* One banner or placeholder per original placement; larger sizes come first. */

.da-page-layout{grid-template-columns:300px minmax(0,1fr) 300px;max-width:1800px}

.da-side{align-items:center;justify-content:flex-start}

.da-side .da-slot{flex:0 0 auto;margin:0}

.da-slot.da-sidebar_left_top,.da-slot.da-sidebar_right_top{--da-w:300px;--da-h:600px}

.da-slot.da-sidebar_left_middle,.da-slot.da-sidebar_right_middle{--da-w:300px;--da-h:250px}

.da-slot.da-sidebar_left_bottom,.da-slot.da-sidebar_right_bottom{--da-w:180px;--da-h:150px}

.da-slot.da-content_top{--da-w:970px;--da-h:250px}

.da-slot.da-content_middle{--da-w:728px;--da-h:90px}

.da-slot.da-content_bottom{--da-w:468px;--da-h:60px}

.da-slot.da-footer_left{--da-w:336px;--da-h:280px}

.da-slot.da-footer_right{--da-w:300px;--da-h:250px}

.da-slot.da-phone_top{--da-w:320px;--da-h:100px}

.da-slot.da-phone_middle{--da-w:300px;--da-h:100px}

.da-slot.da-phone_bottom{--da-w:320px;--da-h:50px}

.da-slot.da-phone_footer{--da-w:300px;--da-h:50px}

@media(min-width:1100px) and (max-width:1616px){.da-slot.da-content_top{--da-w:728px;--da-h:90px}}

@media(min-width:1100px) and (max-width:1376px){.da-slot.da-content_top{--da-w:300px;--da-h:250px}.da-slot.da-content_middle{--da-w:468px;--da-h:60px}}

@media(min-width:1100px) and (max-width:1146px){.da-slot.da-content_middle{--da-w:300px;--da-h:100px}.da-slot.da-content_bottom{--da-w:300px;--da-h:50px}}

@media(max-width:1099px){.da-page-layout{grid-template-columns:minmax(0,1fr)}.da-side{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:center;padding:0 10px}.da-side .da-slot{flex:0 0 auto}}

@media(min-width:760px) and (max-width:1016px){.da-slot.da-content_top{--da-w:728px;--da-h:90px}}

@media(max-width:759px){.da-slot.da-content_top{--da-w:300px;--da-h:250px}.da-slot.da-content_middle{--da-w:468px;--da-h:60px}}

@media(max-width:499px){.da-slot.da-content_middle{--da-w:300px;--da-h:100px}.da-slot.da-content_bottom{--da-w:300px;--da-h:50px}.da-slot.da-footer_left{--da-w:300px;--da-h:250px}}

@media(max-width:359px){.da-slot.da-phone_top{--da-w:300px;--da-h:100px}.da-slot.da-phone_bottom{--da-w:300px;--da-h:50px}}

.da-slot.da-content_bottom .da-banner,.da-slot.da-phone_bottom .da-banner,.da-slot.da-phone_footer .da-banner{padding:4px 8px;font-size:12px;line-height:1.15}

.da-slot.da-content_bottom .da-banner>span,.da-slot.da-phone_bottom .da-banner>span,.da-slot.da-phone_footer .da-banner>span{display:none}

@media(max-width:720px){.da-footer-slots{grid-template-columns:minmax(0,1fr)}}

@media(max-width:359px){.da-side{padding-left:0;padding-right:0}}


.testing-mode-notice{padding:16px 24px;margin:0 0 24px;font-size:16px;font-weight: 400;line-height:1;text-align: center;}

/* Mobile advertising uses the viewport, independently of content padding. */
@media(max-width:1099px){
 .da-side{padding-left:0;padding-right:0}
 .da-side:empty{display:none}
 .da-after-search{display:flex;flex-direction:column;align-items:center;gap:20px;margin-top:24px;margin-bottom:24px}
 .da-after-search[hidden]{display:none}
 .da-after-search,.da-footer-slots{width:100vw;max-width:none;position:relative;left:50%;transform:translateX(-50%);padding-left:0;padding-right:0;box-sizing:border-box}
 .da-slot{max-width:100vw;flex-shrink:0}
 .main-content>.da-slot{position:relative;left:50%;transform:translateX(-50%);margin-left:0;margin-right:0}
 .da-slot.da-content_top{width:100vw;max-width:100vw}
 .da-slot.da-content_top .da-banner{height:auto;aspect-ratio:970 / 250}
 .container .da-slot{max-width:100vw}
 .container .da-slot:not(.da-after-search .da-slot){position:relative;left:50%;transform:translateX(-50%);margin-left:0;margin-right:0}
}

@media(max-width:1016px){.da-slot.da-content_top .da-banner{aspect-ratio:728 / 90}}
@media(max-width:759px){.da-slot.da-content_top .da-banner{aspect-ratio:300 / 250}}

.da-slot.da-content_top .da-banner.da-image{height:auto;aspect-ratio:auto}
.da-slot.da-content_top .da-banner.da-image img{width:100%;height:auto;max-height:none}

@media(max-width:600px){
 .site-header .container.navbar.navbar-3col{display:grid;grid-template-columns:minmax(0,1fr) 76.8px minmax(0,1fr);column-gap:10px;row-gap:0;width:100%;max-width:none;padding-left:5px;padding-right:5px;box-sizing:border-box}
 .site-header .navbar.navbar-3col>.navbar-side{display:contents}
 .site-header .navbar.navbar-3col .navbar-left{display:flex;grid-column:1 / -1;grid-row:1;justify-content:space-between;align-items:center;gap: 5px;width:100%;margin:0;line-height:1.3;flex-wrap:wrap}
 .site-header .navbar.navbar-3col .navbar-right{display:flex;grid-column:1 / -1;grid-row:2;justify-content:space-between;align-items:center;gap: 5px;width:100%;margin:0;line-height:1.3;flex-wrap:wrap}
 .site-header .container.navbar.navbar-3col{position:relative;padding-bottom:0}
 .site-header .navbar.navbar-3col>.nav-center-group{position:absolute;left:50%;bottom:-28.4px;top:auto;transform:translateX(-50%);width:76.8px;height:76.8px;margin:0;z-index:2}
 .site-header .navbar.navbar-3col .nav-center-group .logo{width:76.8px;height:76.8px}
 .site-header .navbar.navbar-3col .nav-center-group .logo img{position:static;left:auto;top:auto;transform:none;width:76.8px;height:76.8px;margin:0}
 .site-header .navbar.navbar-3col .nav-counter{flex-direction:row;align-items:center;justify-content:space-between;width:100%;min-width:0;height:40px;min-height:40px;gap:4px}
 .site-header .navbar.navbar-3col .navbar-side-left>.nav-counter{grid-column:1;grid-row:3;justify-self:start;align-self:center;margin:0}
 .site-header .navbar.navbar-3col .navbar-side-right>.nav-counter{grid-column:3;grid-row:3;justify-self:end;align-self:center;margin:0}
 .site-header .navbar.navbar-3col .mega-menu{grid-column:1 / -1}
	.nav-counter span:first-child {
	    font-size: 14px;
	    font-weight: 440;
	}
	.nav-counter {
	    font-size: 16px;
	    font-weight: 400;
	}
	.navbar-right,.navbar-left{font-size: 15px;font-weight:400}
}


.navbar-left>.mega-menu-toggle,.navbar-left>a,.navbar-right .navbar-auth,.site-header .navbar-right .language-switcher{font-size:inherit;font-weight:inherit}

.site-header[data-scroll-navigation]{position:sticky;top:0}

/* Prevent the initial mobile sidebar-to-search relocation from shifting main. */
@media(max-width:1099px){
 .da-page-layout:has(.main-content :is(.medical-home-search,form[data-medical-search],form.medical-filters))>.da-side-left{display:none}
 .da-page-layout:has(.main-content :is(.medical-home-search,form[data-medical-search],form.medical-filters))>.main-content>.da-phone_top{display:none}
}
/* Reserve the advertised image format before the image response arrives. */
.da-slot[data-da-format="180x150"] .da-image img{aspect-ratio:auto 180 / 150}
.da-slot[data-da-format="120x600"] .da-image img{aspect-ratio:auto 120 / 600}
.da-slot[data-da-format="160x600"] .da-image img{aspect-ratio:auto 160 / 600}
.da-slot[data-da-format="300x250"] .da-image img{aspect-ratio:auto 300 / 250}
.da-slot[data-da-format="336x280"] .da-image img{aspect-ratio:auto 336 / 280}
.da-slot[data-da-format="300x600"] .da-image img{aspect-ratio:auto 300 / 600}
.da-slot[data-da-format="728x90"] .da-image img{aspect-ratio:auto 728 / 90}
.da-slot[data-da-format="468x60"] .da-image img{aspect-ratio:auto 468 / 60}
.da-slot[data-da-format="970x90"] .da-image img{aspect-ratio:auto 970 / 90}
.da-slot[data-da-format="970x250"] .da-image img{aspect-ratio:auto 970 / 250}
.da-slot[data-da-format="250x250"] .da-image img{aspect-ratio:auto 250 / 250}
.da-slot[data-da-format="320x50"] .da-image img{aspect-ratio:auto 320 / 50}
.da-slot[data-da-format="320x100"] .da-image img{aspect-ratio:auto 320 / 100}
.da-slot[data-da-format="300x50"] .da-image img{aspect-ratio:auto 300 / 50}
.da-slot[data-da-format="300x100"] .da-image img{aspect-ratio:auto 300 / 100}

/* ukrmed.top/public/css/main.css */

/* Source: public/css/medical.css */
.medical-card,.medical-review,.medical-moderation-item,.medical-entity-editor{padding:1rem;border:1px solid var(--clr-border,#d4d9e2);border-radius:.5rem;margin:1rem 0}
.medical-rating{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1rem}.medical-rating dd{margin:0}
.medical-profile form,.medical-entity-editor form,.medical-moderation-item form{display:grid;gap:.75rem;margin-top:1rem}
.medical-profile label,.medical-entity-editor label,.medical-moderation-item label{display:grid;gap:.3rem}
.medical-profile textarea,.medical-entity-editor textarea,.medical-moderation-item textarea{min-height:7rem;width:100%;box-sizing:border-box}
.medical-consent{display:flex!important;align-items:flex-start;gap:.5rem}.medical-consent input{width:auto}
.medical-review-text,.medical-description{white-space:pre-wrap;overflow-wrap:anywhere}
.medical-reply{margin:.75rem 0 .75rem 1rem;padding-left:1rem;border-left:3px solid #627e99}
.medical-verified{display:inline-block;padding:.2rem .5rem;border-radius:.3rem;background:#e7f3ed;color:#185b37}
.medical-privacy,.medical-ranking-note{font-size:.9rem;opacity:.85}
[data-medical-message][data-error="1"]{color:#c94747}
#medical-admin-content details>summary{cursor:pointer;padding:.5rem;font-weight:600}
#medical-admin-content .medical-admin-branch{margin-left:1rem}
#medical-admin-content input,#medical-admin-content select,#medical-admin-content textarea{max-width:100%;box-sizing:border-box}
@media(max-width:600px){.medical-rating{grid-template-columns:1fr}.medical-admin-branch{margin-left:0!important}}
.medical-filters {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
    align-items:end;
    gap:16px;
    min-width:0;
    margin:20px 0;
}
.medical-filters label {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-self:stretch;
    gap:8px;
    min-width:0;
    max-width:100%;
    line-height:1.4;
    overflow-wrap:anywhere;
}
.medical-filters input,
.medical-filters select,
.medical-filters button[type="submit"] {
    width:100%;
    min-width:0;
    max-width:100%;
    height:48px;
    min-height:48px;
    margin:0;
    padding:10px 12px;
    box-sizing:border-box;
    border: none;
    border-radius:6px;
    font:inherit;
    font-size:16px;
    line-height:1.25;
}
.medical-filters input,
.medical-filters select {
    margin-top:auto;
    background:var(--admin-bg,#fff);
    color:var(--admin-text,var(--clr-text,#172033));
}
.medical-filters input:focus-visible,
.medical-filters select:focus-visible,
.medical-filters button[type="submit"]:focus-visible {
    outline:2px solid var(--admin-primary,var(--clr-primary,#2563eb));
    outline-offset:2px;
}
.medical-filters button[type="submit"] {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:end;
    border-color:var(--admin-primary,var(--clr-primary,#2563eb));
    background:var(--admin-primary,var(--clr-primary,#2563eb));
    color:#fff;
    font-weight:600;
    cursor:pointer;
}
.medical-filters button[type="submit"]:hover {
    border-color:var(--admin-primary-hover,var(--clr-primary-h,#1d4ed8));
    background:var(--admin-primary-hover,var(--clr-primary-h,#1d4ed8));
}
.medical-filters button[type="submit"]:disabled { opacity:.65; cursor:wait; }
.medical-filters > p { grid-column:1/-1; margin:0; }
.medical-filters > p:empty { display:none; }
.medical-decision-buttons{display:flex;flex-wrap:wrap;gap:.5rem}
.medical-fraud-signals{padding:.75rem;margin:.75rem 0;border:1px solid #b78630;border-radius:4px;background:rgba(180,130,30,.08)}
.medical-complaint-context,.medical-history-entry{padding:.75rem;margin:.75rem 0;border-left:3px solid #627e99;background:rgba(128,128,128,.06)}

.medical-doctor-workplace { padding:12px 16px; margin:12px 0; border:1px solid #d8dee8; border-radius:6px; background:#f8fafc; }
.medical-doctor-workplace h4 { margin:0 0 6px; }
.medical-doctor-workplace p { margin:4px 0; }
.medical-doctor-workplace p:empty { display:none; }

.doctor-professional-details dl{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,3fr);gap:.5rem 1rem}.doctor-professional-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.doctor-professional-details dt{font-weight:600}
@media(max-width:600px){.doctor-professional-details dl{grid-template-columns:1fr}}

.doctor-profile-photo{display:block;max-width:100%;width:180px;height:180px;object-fit:contain;border-radius:.5rem;margin:.75rem 0}

.medical-doctor-workplace p:empty,.medical-doctor-workplace .medical-description:empty{display:none}

[data-doctor-workplaces][data-doctor="0"] .workplace-current{display:none}

/* /public/css/medical.css?v=20261029-review-tabs */
.paid-positioning{margin:20px 0 28px;padding:16px;border:1px solid var(--clr-border,#d8dee8);border-left:3px solid #2563eb;background:var(--clr-white,#fff)}
.paid-positioning>h2{margin:0 0 16px;font-size:1.15rem}
.paid-positioning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.paid-position-card{margin:0;min-width:0;overflow-wrap:anywhere}
.paid-position-card h3{margin:0 0 8px;font-size:1rem}
.paid-position-card p:empty{display:none}

.medical-home-information,.medical-home-faq{margin:2rem 0;line-height:1.65}.medical-home-information p{margin:.75rem 0}.medical-home-faq details{border-bottom:1px solid var(--clr-border,#d4d9e2);padding:.75rem 0}.medical-home-faq summary{cursor:pointer;font-weight:600;padding:.25rem 0}.medical-home-faq summary:focus-visible{outline:2px solid #2563eb;outline-offset:3px}.medical-home-faq details p{margin:.75rem 0 0}

.medical-home-discovery,.medical-home-how{margin:2rem 0;line-height:1.65}.medical-home-how li{margin:.65rem 0}.medical-home-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin: 24px 0;}.medical-home-discovery-grid .directory-location{width:auto;min-width:0;white-space:normal}.medical-home-discovery-grid .directory-location span{display:block;line-height:1.5;font-size:.95rem}.medical-home-article{min-width:0;border: none;padding:1rem;background-color: white;}.medical-home-article p{margin:.65rem 0 0;overflow-wrap:anywhere}.medical-home-article .blog-card{border:0;padding:0;margin:0;display:block;min-height:0}@media(max-width:600px){.medical-home-discovery-grid{grid-template-columns:1fr}}
.medical-home-discovery h2{
    margin: 22px 0;
}
.medical-home-benefits{margin:1rem 0 1.5rem;line-height:1.6;overflow-wrap:anywhere}.medical-home-benefits>summary{padding:1rem;cursor:pointer;font-size:1.1rem;font-weight:600;background:var(--clr-bg-alt,#f8fafc)}.medical-home-benefits>summary:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.medical-home-benefits>ol{margin:0;padding:1rem 1.5rem 1rem 3rem}.medical-home-benefits li{padding-left:.25rem;margin:.5rem 0}

.medical-homepage #FullDate{display:none}.medical-homepage .cntnrTitleDate{display:block;margin-bottom:1rem}.medical-homepage .main-content{padding-top:1.25rem}.medical-home-intro{margin:0 0 1rem}.medical-home-intro p{margin:.5rem 0}.medical-home-highlights{list-style:none;padding:0;margin:1.25rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.medical-home-highlights li{padding:1rem;background:#f1f5f9;min-width:0}.medical-home-highlights strong,.medical-home-highlights span{display:block}.medical-home-highlights span{margin-top:.4rem;line-height:1.5;font-size:.95rem}.medical-public-data{padding:.75rem 1rem;background:#f1f5f9;margin:1rem 0;line-height:1.5}.medical-public-data p{margin:.4rem 0}.medical-booking-note,.medical-order-note{line-height:1.5;color:#475569}.medical-rating-details,.doctor-data-details{margin:.75rem 0}.medical-rating-details summary,.doctor-data-details summary{cursor:pointer;font-weight:600}.medical-home-search{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.medical-home-search button{min-height:44px}@media(max-width:900px){.medical-home-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.medical-home-search{grid-template-columns:1fr}.medical-home-highlights{grid-template-columns:1fr}.medical-homepage .main-content .container{padding:16px}.medical-homepage .cntnrTitleDate{margin:0 0 1rem}.medical-homepage .cntnrTitleDate h1{font-size:1.7rem;line-height:1.25}.medical-homepage .navbar-3col .nav-center-group{position:static}.medical-homepage .logo{width:64px}.medical-homepage .logo img{width:64px}.medical-homepage .site-header .navbar-3col{row-gap:8px}}

.medical-homepage .navbar-3col{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.medical-homepage .navbar-3col :is(.navbar-left,.navbar-right){min-width:0;max-width:100%;flex-wrap:wrap}
.medical-homepage .navbar-3col .nav-center-group{justify-content:center}
.medical-homepage .navbar-3col .logo img{left:50%;transform:translateX(-50%)}

.medical-homepage .navbar-3col .navbar-side-right{justify-self:end}

.medical-organization-origin{margin:.4rem 0;font-size:.9rem;color:#475569;line-height:1.5}.medical-organization-origin span{display:block;margin-top:.3rem}.medical-organization-origin span:empty{display:none}

.medical-doctor-card-details{margin:.8rem 0;display:grid;gap:.65rem}.medical-doctor-card-details>div{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,3fr);gap:1rem}.medical-doctor-card-details dt{font-weight:600}.medical-doctor-card-details dd{margin:0;overflow-wrap:anywhere}.medical-doctor-card-action{margin:1rem 0 0}@media(max-width:600px){.medical-doctor-card-details>div{grid-template-columns:minmax(0,1fr);gap:.2rem}}

/* ukrmed.top/public/css/medical.css */

/* Source: public/css/directory.css */
.main-content .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: #172033;
}

.main-content .breadcrumb a {
    color: #1d4ed8;
    text-decoration: underline;
}

.main-content .breadcrumb a:hover,.main-content .breadcrumb a:focus-visible {
    color: #1e3a8a;
}

.main-content .breadcrumb-sep {
    color: #586579;
}

.main-content .breadcrumb-current {
    color: #172033;
}

.directory-locations {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap: 16px;
    margin: 20px 0;
}

.directory-location {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
    border: none;
    text-decoration: none;
    background: #fff;
    color: #172033;
}

.directory-location:hover,.directory-location:focus-visible {
    border-color: #2563eb;
    background: #f1f6ff;
}

.directory-location span {
    font-size: .9em;
    color: #586579;
}

.directory-note,.directory-empty {
    padding: 16px 0;
}

.directory-regions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;
}

.directory-specialties {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.directory-specialties > li {
    min-width: 0;
}

.mega-menu :is(.directory-specialties,.mega-menu-columns), .directory-locations.directory-regions {
    gap: 10px;
    padding: 8px;
}

.site-header .mega-menu :is(a,.directory-region-trigger), .main-content .directory-regions :is(a,.directory-region-trigger) {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 62px;
    box-sizing: border-box;
    padding: 16px;
    border: 0;
    background: #f8fafc;
    color: #1d4ed8;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, box-shadow .15s;
}

[data-menu="services"] .directory-specialties a::before {
    content: "";
    display: block;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4v7a7 7 0 0 0 14 0V4M4 4h4m10 0h4M13 18v4a6 6 0 0 0 12 0v-3'/%3E%3Ccircle cx='25' cy='16' r='3'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}

[data-menu="services"] .directory-specialties a[data-specialty-id="32784"]::before {
    mask-image: url("/public/icons/specialties/family.svg");
}

[data-menu="services"] .directory-specialties a[data-specialty-id="32785"]::before {
    mask-image: url("/public/icons/specialties/pediatrics.svg");
}

[data-menu="services"] .directory-specialties a[data-specialty-id="32922"]::before {
    mask-image: url("/public/icons/specialties/internal.svg");
}

[data-menu="services"] .directory-specialties a[data-specialty-id="32923"]::before {
    mask-image: url("/public/icons/specialties/therapy.svg");
}

[data-menu="services"] .directory-specialties a[data-specialty-id="134905"]::before {
    mask-image: url("/public/icons/specialties/dentistry.svg");
}

[data-menu="services"] .directory-specialties a[data-specialty-id="134927"]::before {
    mask-image: url("/public/icons/specialties/dental-treatment.svg");
}

[data-menu="services"] .directory-specialties a[data-specialty-id="135038"]::before {
    mask-image: url("/public/icons/specialties/prosthodontics.svg");
}

[data-menu="services"] .directory-specialties a[data-specialty-id="135148"]::before {
    mask-image: url("/public/icons/specialties/child-dentistry.svg");
}

[data-menu="services"] .directory-specialties a[data-specialty-id="135334"]::before {
    mask-image: url("/public/icons/specialties/orthodontics.svg");
}

[data-menu="services"] .directory-specialties a[data-specialty-id="135625"]::before {
    mask-image: url("/public/icons/specialties/dental-surgery.svg");
}

.site-header .mega-menu :is(a,.directory-region-trigger):hover, .main-content .directory-regions :is(a,.directory-region-trigger):hover, .site-header .mega-menu :is(a,.directory-region-trigger):focus-visible, .main-content .directory-regions :is(a,.directory-region-trigger):focus-visible {
    background: #eaf2ff;
    color: #1e3a8a;
    box-shadow: inset 1px 0 #2563eb;
}

.site-header .mega-menu :is(a,.directory-region-trigger):focus-visible, .main-content .directory-regions :is(a,.directory-region-trigger):focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.directory-locations.directory-regions {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.directory-regions .directory-region {
    width: auto;
    max-width: 100%;
    min-width: 0;
    border: 0;
}

.directory-regions .directory-region-trigger {
    white-space: normal;
    text-align: left;
}

.directory-regions .directory-region-trigger::before {
    content: "";
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M16 29S6 19 6 12a10 10 0 0 1 20 0c0 7-10 17-10 17Z'/%3E%3Ccircle cx='16' cy='12' r='4'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}

@media(max-width: 768px) {
    .directory-locations.directory-regions {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width: 480px) {
    .directory-locations.directory-regions {
        grid-template-columns:minmax(0,1fr);
    }
}

@media(max-width: 768px) {
    .directory-specialties {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width: 480px) {
    .directory-specialties {
        grid-template-columns:minmax(0,1fr);
    }
}

.directory-specialties a {
    display: block;
    padding: 6px 0;
    color: #1d4ed8;
    overflow-wrap: anywhere;
}

.site-header .mega-menu .directory-specialties a, .site-header .mega-menu .directory-region-cities a {
    color: #1d4ed8;
}

.site-header .mega-menu .directory-specialties a:hover, .site-header .mega-menu .directory-specialties a:focus-visible, .site-header .mega-menu .directory-region-cities a:hover, .site-header .mega-menu .directory-region-cities a:focus-visible {
    color: #1e3a8a;
}

.directory-locations.directory-regions {
    margin: 0;
}

@media(max-width: 600px) {
    .site-header > .navbar:not(.navbar-3col) {
        width:100%;
        max-width: 100%;
        min-width: 0;
        flex-wrap: wrap;
        box-sizing: border-box;
    }

    .navbar:not(.navbar-3col) .navbar-links {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
        min-width: 0;
        max-width: 100%;
    }

    .navbar:not(.navbar-3col) .navbar-auth {
        white-space: normal;
    }
}

.directory-region {
    flex: 0 0 var(--directory-region-width, max-content);
    width: var(--directory-region-width, max-content);
    max-width: 100%;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #fff;
    scroll-margin-top: 100px;
    box-sizing: border-box;
}

.directory-region h2 {
    margin: 0;
    font-size: 1.1rem;
    color: #172033;
}

.directory-region-trigger {
    display: block;
    width: 100%;
    padding: 14px 18px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
    cursor: pointer;
}

.directory-region-trigger:hover {
    background: #f1f6ff;
}

.directory-region-trigger:focus-visible,.directory-region-close:focus-visible {
    outline: 3px solid #2563eb;
    outline-offset: 3px;
}

.directory-region-dialog {
    position: fixed;
    inset: 0;
    width: var(--directory-dialog-width, 28rem);
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: #fff;
    color: #172033;
    box-sizing: border-box;
    overflow: hidden;
}

.directory-region-dialog[open] {
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
}

.directory-region-dialog::backdrop {
    background: #777;
}

body.directory-region-modal-open {
    overflow: hidden;
}

.directory-region-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 20px;
    background: #fff;
}

.directory-region-actions-top {
    border-bottom: 1px solid #d8dee8;
    padding-top: max(12px,env(safe-area-inset-top));
}

.directory-region-actions-bottom {
    justify-content: flex-end;
    border-top: 1px solid #d8dee8;
    padding-bottom: max(12px,env(safe-area-inset-bottom));
}

.directory-region-dialog-title {
    min-width: 0;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.directory-region-close {
    flex: none;
    padding: 8px 16px;
    border: 1px solid #d8dee8;
    border-radius: 6px;
    background: #f1f6ff;
    color: #172033;
    cursor: pointer;
    font: inherit;
}

.directory-region-close:hover {
    border-color: #2563eb;
}

.directory-region-dialog .directory-region-cities {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: 12px 20px;
}

.directory-region-cities {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.directory-region-cities .directory-location {
    display: block;
    padding: 6px 0;
    overflow-wrap: anywhere;
    border: 0;
    border-radius: 0;
    color: #1d4ed8;
}

.directory-region-cities .directory-location span {
    display: none;
}

.directory-region-cities .directory-location strong {
    font-weight: 400;
}

.directory-region-cities .directory-location:hover {
    background: transparent;
    text-decoration: underline;
}

@media(max-width: 480px) {
    .directory-locations {
        grid-template-columns:1fr;
    }
}

/* Shared regional layout and distinct motifs for the menu and homepage. */
.directory-regions [id$="region-vinnytska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/vinnytska-oblast.svg");
}

.directory-regions [id$="region-volynska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/volynska-oblast.svg");
}

.directory-regions [id$="region-dnipropetrovska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/dnipropetrovska-oblast.svg");
}

.directory-regions [id$="region-donetska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/donetska-oblast.svg");
}

.directory-regions [id$="region-zhytomyrska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/zhytomyrska-oblast.svg");
}

.directory-regions [id$="region-zakarpatska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/zakarpatska-oblast.svg");
}

.directory-regions [id$="region-zaporizka-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/zaporizka-oblast.svg");
}

.directory-regions [id$="region-ivano-frankivska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/ivano-frankivska-oblast.svg");
}

.directory-regions [id$="region-kyiv"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/kyiv.svg");
}

.directory-regions [id$="region-kyivska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/kyivska-oblast.svg");
}

.directory-regions [id$="region-kirovohradska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/kirovohradska-oblast.svg");
}

.directory-regions [id$="region-luhanska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/luhanska-oblast.svg");
}

.directory-regions [id$="region-lvivska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/lvivska-oblast.svg");
}

.directory-regions [id$="region-mykolaivska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/mykolaivska-oblast.svg");
}

.directory-regions [id$="region-odeska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/odeska-oblast.svg");
}

.directory-regions [id$="region-poltavska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/poltavska-oblast.svg");
}

.directory-regions [id$="region-rivnenska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/rivnenska-oblast.svg");
}

.directory-regions [id$="region-sumska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/sumska-oblast.svg");
}

.directory-regions [id$="region-ternopilska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/ternopilska-oblast.svg");
}

.directory-regions [id$="region-kharkivska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/kharkivska-oblast.svg");
}

.directory-regions [id$="region-khersonska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/khersonska-oblast.svg");
}

.directory-regions [id$="region-khmelnytska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/khmelnytska-oblast.svg");
}

.directory-regions [id$="region-cherkaska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/cherkaska-oblast.svg");
}

.directory-regions [id$="region-chernivetska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/chernivetska-oblast.svg");
}

.directory-regions [id$="region-chernihivska-oblast"] .directory-region-trigger::before {
    mask-image: url("/public/icons/regions/chernihivska-oblast.svg");
}

/* ukrmed.top/public/css/directory.css */

/* Source: public/css/disclosure.css */
.disclosure{--disclosure-inline-space:clamp(1.5rem,4vw,3rem)}
.disclosure-content,.disclosure-preview{font-size:18px}
.disclosure-footer{margin:0;padding:1rem var(--disclosure-inline-space)}
.disclosure-footer a{display:inline-flex;align-items:center;gap:.4rem}
.disclosure-footer svg{flex:none}
.disclosure summary{scroll-margin-top:10rem}
.disclosure-preview{line-height:1.6;padding:.75rem var(--disclosure-inline-space);white-space:normal;overflow-wrap:anywhere}
.disclosure-preview:not([hidden]){display:block}
.disclosure-preview[data-preview-kind=list]{-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
.disclosure-preview[data-preview-kind=text]:not([hidden]){padding-block:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--disclosure-preview-lines);line-clamp:var(--disclosure-preview-lines);overflow:hidden}
.disclosure-preview[hidden]{display:none}
.disclosure-preview>ol,.disclosure-preview>ul{margin:0;padding:0 0 0 1.5rem}
.disclosure-content>ol,.disclosure-preview>ol{list-style:decimal outside}
.disclosure-content>ul,.disclosure-preview>ul{list-style:disc outside}
.disclosure-preview li{padding-left:.25rem;margin:.5rem 0}
.medical-home-benefits{margin-bottom:0;border:0}
.medical-home-benefits>summary{font-size:2.1rem;padding-inline:var(--disclosure-inline-space)}
.medical-home-benefits>.disclosure-content>ol{margin:0;padding:.75rem var(--disclosure-inline-space) .75rem calc(var(--disclosure-inline-space) + 1.5rem)}
.disclosure:has(>.medical-home-benefits){margin:1rem 0 1.5rem}

.disclosure-footer[hidden]{display:none}

/* ukrmed.top/public/css/disclosure.css */

/* Source: public/css/city_picker.css */
.city-picker{display:block;position:relative;min-width:0}.city-picker [hidden]{display:none!important}.city-picker input{width:100%;min-height:44px;box-sizing:border-box}.city-picker-popup{display:block;position:absolute;top:100%;left:0;min-width:100%;width:max-content;max-width:min(36rem,85vw);max-height:300px;overflow:auto;background:#fff;color:#172033;box-shadow:0 6px 20px #0003;z-index:1001}.city-picker-results{display:block}.city-picker-option{display:block;padding:.65rem 1rem;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.city-picker-option:hover,.city-picker-option[aria-selected=true]{background:#eff6ff;box-shadow:inset 2px 0 #2563eb}.city-picker-status{display:block;padding:.65rem 1rem;font-size:.85rem;line-height:1.3}.city-picker-status:empty{display:none}

/* ukrmed.top/public/css/city_picker.css */

/* Source: public/css/language_switcher.css */
.site-header .language-switcher{display:block;gap:0;position:relative;font-size:14px;white-space:nowrap}
.site-header .language-switcher>summary{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;padding:0;line-height:1;cursor:pointer;list-style:none}
.language-switcher>summary::-webkit-details-marker{display:none}
.language-switcher-options{position:absolute;right:0;top:100%;z-index:1100;display:flex;flex-direction:column;min-width:160px;padding:.5rem 0;background:#fff;color:#172033;box-shadow:0 6px 20px #0002}
.site-header .language-switcher .language-switcher-options a{display:flex;align-items:center;min-height:44px;box-sizing:border-box;line-height:1.2;padding:.65rem 1.25rem;color:#172033;text-decoration:none}
.site-header .language-switcher .language-switcher-options a:hover,.site-header .language-switcher .language-switcher-options a:focus-visible{background:#eff6ff;box-shadow:inset 1px 0 #2563eb}
.site-header .language-switcher .language-switcher-options a[aria-current]{font-weight:700;color:#2563eb}
.language-switcher>summary:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
@media(max-width:768px){.language-switcher-options{left:0;right:auto}}

.language-switcher>summary>svg{display:block;flex:none}
.language-switcher>summary>span{display:flex;align-items:center;line-height:1}

.language-switcher .language-flag{display:block;flex:0 0 24px;width:24px;height:16px;background-size:100% 100%;background-repeat:no-repeat}
.language-switcher .language-code{text-transform:uppercase}
.site-header .language-switcher .language-switcher-options a{gap:8px}
html[lang="uk"] .language-switcher>summary>.language-flag,html[lang="ua"] .language-switcher>summary>.language-flag,.language-switcher [data-lang-code="ua"]>.language-flag{background-image:url('/public/img/flag-ua.svg')}
html[lang="ru"] .language-switcher>summary>.language-flag,.language-switcher [data-lang-code="ru"]>.language-flag{background-image:url('/public/img/flag-ru.svg')}
html[lang="en"] .language-switcher>summary>.language-flag,.language-switcher [data-lang-code="en"]>.language-flag{background-image:url('/public/img/flag-gb.svg')}

/* ukrmed.top/public/css/language_switcher.css */

/* Source: public/css/clinics.css */
.clinics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.clinic-card{min-width:0;overflow-wrap:anywhere}.clinic-paid-label{display:inline-block;padding:3px 9px;border:1px solid currentColor;border-radius:4px;font-size:.85em}.clinic-payment{display:grid;gap:12px;max-width:640px;margin:24px 0;padding:20px;border:1px solid currentColor;border-radius:6px}.clinic-payment label{display:grid;gap:6px}.clinic-payment label:has(input[type=checkbox]){display:flex;align-items:center}.clinic-directory [data-clinic-lookup-results]{padding-left:20px}.clinic-directory [data-clinic-lookup-results] li{margin:8px 0}.clinic-description{white-space:pre-wrap;overflow-wrap:anywhere}.clinic-directory form button:disabled{opacity:.55;cursor:not-allowed}

/* ukrmed.top/public/css/clinics.css */

/* Source: public/css/doctor-workspace.css */
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) { max-width: 1100px; margin: 24px auto; min-width: 0; overflow-wrap: anywhere; }
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) form { display: grid; gap: 12px; padding: 16px; border: 1px solid #80808055; border-radius: 8px; margin: 16px 0; }
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) label { display: block; }
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) input:not([type=hidden]):not([type=checkbox]),
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) select,
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) textarea { display: block; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; padding: 8px; font: inherit; }
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) textarea { min-height: 100px; }
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) button { width: fit-content; max-width: 100%; padding: 8px 14px; cursor: pointer; }
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) article { padding: 16px; border-bottom: 1px solid #80808055; }
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) article p { white-space: pre-wrap; }
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) summary { cursor: pointer; padding: 12px 0; }
:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces)[aria-busy=true] { opacity: .7; pointer-events: none; }
@media(max-width:600px) {
 :is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) { margin: 12px 0; }
 :is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) form,:is(#doctor-account,#appointments,#doctor-support,#doctor-workplaces) article { padding: 10px; }
}

.doctor-dashboard { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.doctor-dashboard article { min-width: 0; border: 1px solid #80808055; border-radius: 8px; }
.doctor-dashboard dl { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.doctor-dashboard dd { margin: 0; font-weight: bold; }

#doctor-account fieldset { min-width: 0; margin: 12px 0; padding: 12px; border: 1px solid #80808055; border-radius: 8px; }
#doctor-account [data-card-specialties] { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
#doctor-account [data-card-specialties] label { display: flex; align-items: flex-start; gap: 8px; }
#doctor-account [data-card-place] { display: grid; gap: 10px; }
#doctor-account [data-card-place] [hidden] { display: none; }

/* ukrmed.top/public/css/doctor-workspace.css */

/* ukrmed.top/public/css/site.css */
