/* DrSlon Blog — 06-shell.css */

/* === header mobile polish: centered brand/social/burger === */

.drslon-site-header .drslon-header-social {
        gap: 0.45rem;
}

.drslon-site-header .drslon-header-social .wp-social-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
}

@media (max-width: 781px) {
        .drslon-site-header {
                padding-top: 12px !important;
                padding-bottom: 12px !important;
        }

        .drslon-site-header .drslon-header-social .wp-social-link {
                width: 34px;
                height: 34px;
        }

        .drslon-main-navigation .wp-block-navigation__responsive-container-open {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 40px;
                height: 40px;
                border: 1px solid var(--wp--preset--color--border);
                border-radius: 999px;
                background: var(--wp--preset--color--surface-light);
                color: var(--wp--preset--color--foreground);
        }
}

/* === header social icons: white glyphs inside brand circles === */

.drslon-site-header .wp-block-social-links .wp-social-link .wp-block-social-link-anchor {
        color: #ffffff !important;
}

.drslon-site-header .wp-block-social-links .wp-social-link svg,
.drslon-site-header .wp-block-social-links .wp-social-link svg path {
        fill: #ffffff !important;
}

/* === header logo/title polish === */

.drslon-site-header .drslon-site-branding {
        gap: 14px;
}

.drslon-site-header .drslon-site-branding .custom-logo,
.drslon-site-header .drslon-site-branding .custom-logo img {
        width: 52px !important;
        height: 52px !important;
        max-width: 52px !important;
        max-height: 52px !important;
        object-fit: contain;
}

.drslon-site-header .drslon-site-branding .wp-block-site-title {
        font-size: clamp(1.08rem, 0.96rem + 0.36vw, 1.34rem) !important;
        line-height: 1.14 !important;
        letter-spacing: -0.01em;
}

@media (max-width: 781px) {
        .drslon-site-header .drslon-site-branding {
                gap: 12px;
        }

        .drslon-site-header .drslon-site-branding .custom-logo,
        .drslon-site-header .drslon-site-branding .custom-logo img {
                width: 36px !important;
                height: 36px !important;
                max-width: 36px !important;
                max-height: 36px !important;
        }
}

/* === header logo/title final tune === */

@media (min-width: 1100px) {
        .drslon-site-header .drslon-site-branding {
                flex: 0 1 600px;
                min-width: 520px;
        }

        .drslon-site-header .drslon-site-branding .wp-block-site-title {
                max-width: none !important;
                white-space: nowrap;
                font-size: clamp(1.02rem, 0.92rem + 0.28vw, 1.2rem) !important;
                line-height: 1.12 !important;
        }
}


/* === /blog mobile featured tighten pass === */

@media (max-width: 640px) {
        .drslon-home-featured-wrap .drslon-featured-slider__heading {
                margin-bottom: 10px !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__lead {
                margin: 0 !important;
                font-size: 0.9rem !important;
                line-height: 1.4 !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__controls {
                top: 96px !important;
                padding: 0 8px !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__media {
                min-height: 210px !important;
                border-radius: 14px !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__image,
        .drslon-home-featured-wrap .drslon-featured-slider__media img,
        .drslon-home-featured-wrap .drslon-featured-slider__placeholder {
                min-height: 210px !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__content {
                margin: -20px 10px 0 !important;
                padding: 14px 14px 16px !important;
                border-radius: 12px !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__meta-line {
                gap: 8px !important;
                margin-bottom: 6px !important;
                font-size: 0.78rem !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__category {
                padding: 5px 10px !important;
                font-size: 0.76rem !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__title {
                margin-bottom: 8px !important;
                font-size: 1.28rem !important;
                line-height: 1.12 !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__excerpt {
                margin-bottom: 12px !important;
                font-size: 0.88rem !important;
                line-height: 1.45 !important;
                display: -webkit-box !important;
                overflow: hidden !important;
                -webkit-line-clamp: 3 !important;
                -webkit-box-orient: vertical !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__button {
                min-height: 38px !important;
                padding: 9px 14px !important;
                font-size: 0.86rem !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__arrow {
                width: 32px !important;
                height: 32px !important;
        }
}
/* === mobile final tidy pass: featured + popular tiles === */
@media (max-width: 480px) {
        .drslon-home-featured-wrap .drslon-featured-slider__content {
                margin: -18px 12px 0 !important;
                padding: 16px 16px 18px !important;
                border-radius: 12px !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__controls {
                top: 102px !important;
                padding: 0 6px !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__arrow {
                width: 30px !important;
                height: 30px !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__title {
                font-size: 1.22rem !important;
                line-height: 1.14 !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__excerpt {
                font-size: 0.86rem !important;
                line-height: 1.42 !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__body {
                padding: 10px 12px 12px !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__name {
                font-size: 0.96rem !important;
                line-height: 1.18 !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__description {
                font-size: 0.79rem !important;
                line-height: 1.34 !important;
        }
}
@media (max-width: 480px) {
        .drslon-home-tiles-wrap .drslon-category-tiles__head,
        .drslon-home-tiles-wrap .drslon-category-tiles__name,
        .drslon-home-tiles-wrap .drslon-category-tiles__description {
                padding-left: 12px !important;
                padding-right: 12px !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__count {
                margin-right: 12px !important;
        }
}
/* === final mobile polish: archive + single === */

@media (max-width: 781px) {
        .drslon-archive-shell {
                padding-top: 20px !important;
                padding-bottom: 40px !important;
        }

        .drslon-archive-head {
                margin-bottom: 18px !important;
                padding: 18px 16px !important;
                border-radius: 12px !important;
        }

        .drslon-archive-head .wp-block-query-title {
                margin-bottom: 0.35rem !important;
                font-size: 1.5rem !important;
                line-height: 1.15 !important;
        }

        .drslon-archive-head .wp-block-term-description {
                font-size: 0.95rem !important;
                line-height: 1.5 !important;
        }

        .drslon-archive-summary {
                margin-bottom: 12px !important;
                padding-left: 0 !important;
                padding-right: 0 !important;
        }

        .drslon-archive-grid,
        .drslon-archive-query .wp-block-post-template {
                gap: 14px !important;
        }

        .drslon-archive-card {
                border-radius: 12px !important;
        }

        .drslon-archive-card .wp-block-post-featured-image img {
                aspect-ratio: 16 / 9 !important;
        }

        .drslon-archive-card__body {
                padding: 14px 14px 16px !important;
                row-gap: 0.45rem !important;
        }

        .drslon-archive-card .wp-block-template-part {
                margin-bottom: 0.1rem !important;
                font-size: 0.74rem !important;
                line-height: 1.3 !important;
        }

        .drslon-archive-card .wp-block-post-title {
                margin-bottom: 0.2rem !important;
                font-size: 1rem !important;
                line-height: 1.28 !important;
                -webkit-line-clamp: 3 !important;
        }

        .drslon-archive-card .wp-block-post-excerpt {
                font-size: 0.88rem !important;
                line-height: 1.45 !important;
                -webkit-line-clamp: 3 !important;
        }

        .drslon-archive-card .wp-block-read-more {
                min-height: 38px !important;
                font-size: 0.9rem !important;
        }

        .drslon-archive-pagination,
        .drslon-pagination {
                margin-top: 18px !important;
                justify-content: center !important;
                gap: 8px !important;
        }

        .drslon-single-hero {
                padding: 16px 14px !important;
                border-radius: 12px !important;
        }

        .drslon-single-hero .wp-block-post-title {
                font-size: 1.6rem !important;
                line-height: 1.14 !important;
                margin-bottom: 0.35rem !important;
        }

        .drslon-single-hero .wp-block-template-part {
                margin-bottom: 0.15rem !important;
        }

        .drslon-single-content-wrap {
                padding-top: 24px !important;
        }

        .drslon-single-content {
                font-size: 0.98rem !important;
                line-height: 1.72 !important;
        }

        .drslon-single-nav {
                padding-top: 18px !important;
                padding-bottom: 18px !important;
        }

        .drslon-post-nav-cards {
                gap: 12px !important;
        }

        .drslon-post-nav-card,
        .drslon-post-nav-card--next {
                --drslon-post-nav-thumb: 88px;
                grid-template-columns: var(--drslon-post-nav-thumb) minmax(0, 1fr) !important;
                gap: 12px !important;
                padding: 12px !important;
                border-radius: 12px !important;
        }

        .drslon-post-nav-card__media {
                width: var(--drslon-post-nav-thumb) !important;
                max-width: var(--drslon-post-nav-thumb) !important;
        }

        .drslon-post-nav-card__eyebrow {
                margin-bottom: 0.3rem !important;
                font-size: 0.7rem !important;
        }

        .drslon-post-nav-card__title {
                font-size: 0.92rem !important;
                line-height: 1.3 !important;
        }

        .drslon-single-related {
                padding-top: 28px !important;
        }

        .drslon-single-related > .wp-block-heading {
                margin-bottom: 0.8rem !important;
                font-size: 1.2rem !important;
        }

        .drslon-related-posts__grid {
                gap: 14px !important;
        }

        .drslon-related-post {
                border-radius: 12px !important;
        }

        .drslon-related-post__content {
                gap: 0.55rem !important;
                padding: 14px !important;
        }

        .drslon-related-post__meta {
                font-size: 0.74rem !important;
                line-height: 1.35 !important;
        }

        .drslon-related-post__title {
                font-size: 0.98rem !important;
                line-height: 1.32 !important;
        }

        .drslon-related-post__excerpt {
                font-size: 0.88rem !important;
                line-height: 1.5 !important;
        }

        .drslon-related-post__link {
                min-height: 38px !important;
                font-size: 0.88rem !important;
        }

        .drslon-archive-layout > .wp-block-column:last-child,
        .drslon-single-layout > .wp-block-column:last-child {
                margin-top: 24px !important;
        }

        .drslon-sidebar {
                padding: 18px 14px 20px !important;
                border-radius: 12px !important;
        }

        .drslon-sidebar__panel {
                padding: 12px !important;
                border-radius: 10px !important;
        }
}
/* === mobile fix: home section cards + related cards === */

@media (max-width: 781px) {
        .drslon-home-sections-wrap .drslon-home-post {
                overflow: hidden !important;
                border-radius: 14px !important;
        }

        .drslon-home-sections-wrap .drslon-home-post .wp-block-post-featured-image {
                display: block !important;
                margin: 0 !important;
                width: 100% !important;
                aspect-ratio: 16 / 9 !important;
                min-height: 0 !important;
                overflow: hidden !important;
                background: #dfe6f1 !important;
                border-radius: 14px 14px 0 0 !important;
        }

        .drslon-home-sections-wrap .drslon-home-post .wp-block-post-featured-image a {
                display: block !important;
                width: 100% !important;
                height: 100% !important;
        }

        .drslon-home-sections-wrap .drslon-home-post .wp-block-post-featured-image img {
                display: block !important;
                width: 100% !important;
                height: 100% !important;
                min-height: 0 !important;
                object-fit: cover !important;
        }

        .drslon-home-sections-wrap .drslon-home-post .wp-block-post-title {
                margin-top: 0 !important;
        }

        .drslon-related-post__media {
                display: block !important;
                aspect-ratio: 16 / 9 !important;
                overflow: hidden !important;
                background: #dfe6f1 !important;
        }

        .drslon-related-post__media img,
        .drslon-related-post__image,
        .drslon-related-post__placeholder {
                display: block !important;
                width: 100% !important;
                height: 100% !important;
                object-fit: cover !important;
        }

        .drslon-related-post {
                overflow: hidden !important;
        }
}
/* === mobile polish: featured slider arrows === */
@media (max-width: 781px) {
        .drslon-home-featured-wrap .drslon-featured-slider__controls {
                top: 92px !important;
                padding: 0 8px !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__arrow {
                width: 32px !important;
                height: 32px !important;
                background: rgba(255, 255, 255, 0.38) !important;
                border: 1px solid rgba(45, 108, 223, 0.18) !important;
                box-shadow: none !important;
                backdrop-filter: none !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__arrow::before {
                font-size: 22px !important;
        }
}

@media (max-width: 480px) {
        .drslon-home-featured-wrap .drslon-featured-slider__controls {
                top: 84px !important;
        }
}
/* === mobile: hide featured slider arrows completely === */
@media (max-width: 781px) {
        .drslon-home-featured-wrap .drslon-featured-slider__controls {
                display: none !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__content {
                margin-top: -22px !important;
        }
}
/* === hotfix: featured slider arrows visible on mobile/tablet === */
@media (max-width: 800px) {
        .drslon-home-featured-wrap .drslon-featured-slider,
        .drslon-home-featured-wrap .drslon-featured-slider__frame,
        .drslon-home-featured-wrap .drslon-featured-slider__viewport,
        .drslon-home-featured-wrap .drslon-featured-slider__card {
                overflow: visible !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__controls {
                position: absolute !important;
                left: 0 !important;
                right: 0 !important;
                top: clamp(92px, 31vw, 138px) !important;
                z-index: 30 !important;
                display: flex !important;
                justify-content: space-between !important;
                align-items: center !important;
                padding: 0 8px !important;
                transform: none !important;
                pointer-events: none !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__arrow {
                display: inline-flex !important;
                visibility: visible !important;
                opacity: 1 !important;
                pointer-events: auto !important;
                width: 36px !important;
                height: 36px !important;
                min-width: 36px !important;
                min-height: 36px !important;
                align-items: center !important;
                justify-content: center !important;
                padding: 0 !important;
                border-radius: 999px !important;
                border: 1px solid rgba(34, 78, 136, 0.18) !important;
                background: rgba(255, 255, 255, 0.92) !important;
                color: #5181fe !important;
                box-shadow: 0 8px 20px rgba(18, 34, 54, 0.14) !important;
                font-size: 0 !important;
                line-height: 1 !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__arrow::before {
                display: block !important;
                font-size: 24px !important;
                line-height: 1 !important;
                font-weight: 700 !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__arrow--prev::before {
                content: "‹" !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__arrow--next::before {
                content: "›" !important;
        }
}
/* === fix: restore featured slider mechanics on mobile/tablet === */
@media (max-width: 800px) {
        .drslon-home-featured-wrap .drslon-featured-slider,
        .drslon-home-featured-wrap .drslon-featured-slider__frame {
                overflow: visible !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__viewport {
                display: flex !important;
                gap: 16px !important;
                overflow-x: auto !important;
                overflow-y: hidden !important;
                scroll-snap-type: x mandatory !important;
                -webkit-overflow-scrolling: touch !important;
                scrollbar-width: none !important;
                padding: 0 0 18px 0 !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__viewport::-webkit-scrollbar {
                display: none !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__card {
                flex: 0 0 100% !important;
                width: 100% !important;
                scroll-snap-align: start !important;
                overflow: visible !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__controls {
                position: absolute !important;
                left: 0 !important;
                right: 0 !important;
                top: clamp(92px, 31vw, 138px) !important;
                z-index: 30 !important;
                display: flex !important;
                justify-content: space-between !important;
                align-items: center !important;
                padding: 0 8px !important;
                transform: none !important;
                pointer-events: none !important;
        }

        .drslon-home-featured-wrap .drslon-featured-slider__arrow {
                display: inline-flex !important;
                visibility: visible !important;
                opacity: 1 !important;
                pointer-events: auto !important;
        }
}
/* === 404 page === */
.drslon-404-shell {
        min-height: 52vh;
        display: flex;
        align-items: center;
}

.drslon-404-card {
        box-shadow: 0 14px 34px rgba(23, 33, 51, 0.06);
}

.drslon-404-title {
        margin-top: 0;
        margin-bottom: 0.2rem;
        line-height: 1.08;
}

.drslon-404-search {
        margin-top: 0.4rem;
}

@media (max-width: 781px) {
        .drslon-404-shell {
                min-height: auto;
        }

        .drslon-404-card {
                padding-left: 18px !important;
                padding-right: 18px !important;
        }

        .drslon-404-title {
                font-size: 2rem;
        }
}
/* === 404 polish === */
.drslon-404-shell {
        min-height: 46vh;
}

.drslon-404-card .wp-block-buttons {
        margin-top: 0.35rem;
}

.drslon-404-card .wp-block-search {
        margin-top: 0.35rem;
}

@media (max-width: 781px) {
        .drslon-404-shell {
                min-height: auto;
                padding-top: 38px !important;
                padding-bottom: 38px !important;
        }

        .drslon-404-card {
                padding-top: 26px !important;
                padding-right: 18px !important;
                padding-bottom: 26px !important;
                padding-left: 18px !important;
        }

        .drslon-404-title {
                font-size: 2.1rem !important;
                line-height: 1.08 !important;
        }

        .drslon-404-card .wp-block-buttons {
                gap: 10px !important;
        }

        .drslon-404-card .wp-block-button {
                width: 100%;
        }

        .drslon-404-card .wp-block-button__link {
                width: 100%;
                text-align: center;
                justify-content: center;
        }

        .drslon-404-card .wp-block-search__inside-wrapper {
                display: grid !important;
                grid-template-columns: 1fr auto !important;
                gap: 10px !important;
        }

        .drslon-404-card .wp-block-search__input {
                min-width: 0 !important;
        }

        body.error404 .cky-btn-revisit-wrapper,
        body.error404 .cky-revisit-bottom-left,
        body.error404 .cky-revisit-bottom-right {
                display: none !important;
        }
}
/* === single meta + extras === */
.drslon-post-meta .wp-block-shortcode,
.drslon-single-extras .wp-block-shortcode {
        margin: 0;
}

.drslon-inline-meta {
        display: inline-flex;
        align-items: center;
        font-size: 0.75rem;
        line-height: 1.25;
        color: var(--wp--preset--color--muted);
}

.drslon-single-extras .krv-post-extras {
        clear: both;
        margin-top: 0 !important;
}

.drslon-single-extras #telegram-comments {
        margin-bottom: 20px !important;
}

.drslon-single-extras .krv-rsya-reco {
        margin-top: 24px !important;
}
.drslon-post-meta .wp-block-shortcode {
        margin: 0;
        display: inline-flex;
        align-items: center;
}

.drslon-post-meta .wp-block-shortcode p {
        margin: 0;
        display: inline-flex;
        align-items: center;
}

.drslon-inline-meta--reading-time,
.drslon-inline-meta--views {
        white-space: nowrap;
}

/* === tablet fix: popular sections titles clipped on ~768px === */
@media (min-width: 641px) and (max-width: 900px) {
        .drslon-home-tiles-wrap .drslon-category-tiles__grid {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 16px !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__item {
                min-width: 0 !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__body {
                padding: 12px 14px 14px !important;
                min-width: 0 !important;
                overflow: visible !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__head {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) auto !important;
                column-gap: 8px !important;
                align-items: start !important;
                min-width: 0 !important;
                overflow: visible !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__name,
        .drslon-home-tiles-wrap .drslon-category-tiles__description {
                min-width: 0 !important;
                margin-left: 0 !important;
                padding-left: 0 !important;
                text-indent: 0 !important;
                overflow: visible !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__name {
                font-size: 1rem !important;
                line-height: 1.2 !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__description {
                font-size: 0.84rem !important;
                line-height: 1.35 !important;
                -webkit-line-clamp: 2 !important;
        }

        .drslon-home-tiles-wrap .drslon-category-tiles__count {
                margin-left: 8px !important;
                white-space: nowrap !important;
                flex: 0 0 auto !important;
        }
}

/* === sidebar polish final === */
.drslon-sidebar__panel {
        border: 1px solid rgba(184, 197, 214, 0.45);
        box-shadow: none;
}

.drslon-sidebar__panel .wp-block-heading {
        margin-top: 0;
        margin-bottom: 0.45rem;
        font-weight: 700;
        line-height: 1.25;
}

.drslon-sidebar .wp-block-search__inside-wrapper {
        border-radius: 10px;
        overflow: hidden;
}

.drslon-sidebar .wp-block-search__input {
        min-width: 0;
}

.drslon-sidebar .wp-block-search__button {
        margin-left: 8px;
}

.drslon-sidebar .wp-block-latest-posts__list,
.drslon-sidebar .wp-block-categories-list {
        margin: 0;
        padding-left: 0;
        list-style: none;
}

.drslon-sidebar .wp-block-latest-posts__list li,
.drslon-sidebar .wp-block-categories-list li {
        margin: 0;
        padding: 0.55rem 0;
        border-top: 1px solid rgba(184, 197, 214, 0.35);
        line-height: 1.4;
}

.drslon-sidebar .wp-block-latest-posts__list li:first-child,
.drslon-sidebar .wp-block-categories-list li:first-child {
        border-top: 0;
        padding-top: 0;
}

.drslon-sidebar .wp-block-latest-posts__post-title,
.drslon-sidebar .wp-block-categories-list a {
        text-decoration: none;
}

.drslon-sidebar .wp-block-latest-posts__post-date {
        margin-top: 0.22rem;
        font-size: 0.78rem;
}

@media (max-width: 1099px) {
        .drslon-sidebar .wp-block-latest-posts__list li,
        .drslon-sidebar .wp-block-categories-list li {
                padding: 0.45rem 0;
        }
}
/* === sidebar polish correction === */
.drslon-sidebar__panel {
        border-color: rgba(184, 197, 214, 0.28);
}

.drslon-sidebar .wp-block-search__inside-wrapper {
        border: 0 !important;
        border-radius: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        overflow: visible !important;
}

.drslon-sidebar .wp-block-search__input {
        border-radius: 8px !important;
}

.drslon-sidebar .wp-block-search__button {
        margin-left: 10px !important;
        border-radius: 8px !important;
}
/* Mobile menu contacts: only in the phone drawer, never in desktop nav */
@media (min-width: 782px) {
        .drslon-main-navigation .drslon-mobile-menu-contacts-wrap {
                display: none !important;
        }
}

/* === mobile menu final polish === */
@media (max-width: 781px) {
        .drslon-main-navigation .wp-block-navigation__responsive-container.is-menu-open {
                inset: 12px !important;
                width: auto !important;
                height: auto !important;
                min-height: calc(100dvh - 24px) !important;
                padding: 14px 14px 20px !important;
                border-radius: 18px !important;
                background: rgba(248, 250, 253, 0.98) !important;
                box-shadow: 0 18px 42px rgba(18, 34, 54, 0.22) !important;
                backdrop-filter: blur(10px);
                overflow-y: auto !important;
                z-index: 99999 !important;
        }

        .drslon-main-navigation .wp-block-navigation__responsive-dialog {
                padding: 0 !important;
                margin: 0 !important;
        }

        .drslon-main-navigation .wp-block-navigation__responsive-container-content {
                align-items: stretch !important;
                padding-top: 52px !important;
        }

        .drslon-main-navigation .drslon-mobile-menu-contacts-wrap {
                width: 100% !important;
                margin: 0 !important;
                padding: 4px 0 10px !important;
                list-style: none !important;
        }

        .drslon-mobile-menu-contacts {
                padding: 10px 0 4px;
        }

        .drslon-mobile-menu-contacts__label {
                margin: 0 0 14px;
                font-size: 0.72rem;
                font-weight: 700;
                letter-spacing: 0.05em;
                text-transform: uppercase;
                color: var(--wp--preset--color--muted);
                text-align: center;
        }

        .drslon-mobile-menu-contacts__row {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 15px;
        }

        .drslon-mobile-menu-contacts__chip {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 50px;
                height: 50px;
                border-radius: 50%;
                border: 1px solid var(--wp--preset--color--border);
                background: #ffffff;
                color: var(--wp--preset--color--accent-hover);
                text-decoration: none;
                box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
                transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
        }

        .drslon-mobile-menu-contacts__chip svg,
        .drslon-mobile-menu-contacts__chip .drslon-max-icon {
                display: block;
                width: 22px;
                height: 22px;
                flex-shrink: 0;
                fill: currentColor;
        }

        .drslon-mobile-menu-contacts__chip--telegram {
                color: #229ed9;
        }

        .drslon-mobile-menu-contacts__chip--telegram:hover {
                border-color: #7dd3fc;
                background: #e8f7fd;
                box-shadow: 0 10px 22px rgba(34, 158, 217, 0.16);
        }

        .drslon-mobile-menu-contacts__chip--email:hover {
                border-color: #b9caff;
                background: #eef4ff;
                box-shadow: 0 10px 22px rgba(81, 129, 254, 0.14);
        }

        .drslon-mobile-menu-contacts__chip--max:hover {
                border-color: #b9caff;
                background: #eef4ff;
                box-shadow: 0 10px 22px rgba(81, 129, 254, 0.14);
        }

        .drslon-main-navigation .wp-block-navigation__container {
                width: 100% !important;
                gap: 0 !important;
        }

        .drslon-main-navigation .wp-block-navigation-item {
                width: 100% !important;
        }

        .drslon-main-navigation .wp-block-navigation-item__content {
                display: block !important;
                width: 100% !important;
                padding: 0.9rem 0.1rem !important;
                font-size: 1rem !important;
                font-weight: 600 !important;
                line-height: 1.35 !important;
                text-align: left !important;
                color: var(--wp--preset--color--foreground) !important;
                border-bottom: 1px solid rgba(184, 197, 214, 0.38) !important;
        }

        .drslon-main-navigation .wp-block-navigation-item:last-child > .wp-block-navigation-item__content {
                border-bottom: 0 !important;
        }

        .drslon-main-navigation .wp-block-navigation-submenu > .wp-block-navigation-item__content {
                font-weight: 700 !important;
        }

        .drslon-main-navigation .wp-block-navigation-submenu__toggle {
                margin-left: auto !important;
                width: 36px !important;
                height: 36px !important;
                min-width: 36px !important;
                min-height: 36px !important;
                border-radius: 999px !important;
        }

        .drslon-main-navigation .wp-block-navigation__submenu-container {
                position: static !important;
                min-width: 0 !important;
                width: 100% !important;
                margin: 0 !important;
                padding: 0.15rem 0 0.45rem 0 !important;
                border: 0 !important;
                box-shadow: none !important;
                background: transparent !important;
        }

        .drslon-main-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
                padding: 0.72rem 0.1rem 0.72rem 1rem !important;
                font-size: 0.95rem !important;
                font-weight: 500 !important;
                color: var(--wp--preset--color--muted) !important;
                border-bottom: 0 !important;
        }

        .drslon-main-navigation .wp-block-navigation__responsive-container-close {
                top: 14px !important;
                right: 14px !important;
                width: 40px !important;
                height: 40px !important;
                min-width: 40px !important;
                min-height: 40px !important;
                padding: 0 !important;
                border: 1px solid var(--wp--preset--color--border) !important;
                border-radius: 999px !important;
                background: #ffffff !important;
                box-shadow: 0 6px 18px rgba(18, 34, 54, 0.08) !important;
        }
}

body:has(.drslon-main-navigation .wp-block-navigation__responsive-container.is-menu-open) .cky-btn-revisit-wrapper,
body:has(.drslon-main-navigation .wp-block-navigation__responsive-container.is-menu-open) .cky-revisit-bottom-left,
body:has(.drslon-main-navigation .wp-block-navigation__responsive-container.is-menu-open) .cky-revisit-bottom-right {
        display: none !important;
}
/* === mobile menu close button centering === */
@media (max-width: 781px) {
        .drslon-main-navigation .wp-block-navigation__responsive-container-close {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                line-height: 0 !important;
        }

        .drslon-main-navigation .wp-block-navigation__responsive-container-close svg {
                display: block !important;
                width: 18px !important;
                height: 18px !important;
                margin: 0 !important;
        }
}
/* === prod hotfix: header socials + adjacent post cards === */

/* Header: keep social icons in one row on desktop */
@media (min-width: 1100px) {
        .drslon-site-header__inner {
                display: flex !important;
                flex-wrap: nowrap !important;
                align-items: center !important;
                justify-content: space-between !important;
                gap: 18px !important;
        }

        .drslon-site-branding {
                flex: 1 1 auto !important;
                min-width: 0 !important;
        }

        .drslon-header-utility {
                display: flex !important;
                flex: 0 1 auto !important;
                min-width: 0 !important;
                align-items: center !important;
                justify-content: flex-end !important;
                gap: 18px !important;
                flex-wrap: nowrap !important;
        }

        .drslon-main-navigation {
                flex: 0 1 auto !important;
                min-width: 0 !important;
        }

        .drslon-main-navigation .wp-block-navigation__container {
                gap: 1.05rem !important;
                flex-wrap: nowrap !important;
        }

        .drslon-site-header .drslon-header-social,
        .drslon-site-header .wp-block-social-links {
                display: flex !important;
                flex: 0 0 auto !important;
                flex-wrap: nowrap !important;
                align-items: center !important;
                justify-content: flex-end !important;
                gap: 0.42rem !important;
                margin: 0 !important;
        }

        .drslon-site-header .drslon-header-social .wp-social-link,
        .drslon-site-header .wp-block-social-links .wp-social-link {
                flex: 0 0 auto !important;
                margin: 0 !important;
        }
}

/* Single: previous / next post cards layout */
/* === prod hotfix: mobile gutters and content width === */
@media (max-width: 781px) {
        .wp-site-blocks {
                overflow-x: hidden;
        }

        body.single-post main.wp-block-group,
        body.single-project main.wp-block-group,
        body.search main.wp-block-group,
        body.archive main.wp-block-group,
        body.category main.wp-block-group,
        body.error404 main.wp-block-group {
                padding-left: 12px !important;
                padding-right: 12px !important;
                box-sizing: border-box !important;
        }

        body.single-post .drslon-single-layout,
        body.single-project .drslon-single-layout,
        body.search .drslon-blog-layout,
        body.archive .drslon-archive-layout,
        body.category .drslon-archive-layout {
                margin-left: 0 !important;
                margin-right: 0 !important;
                gap: 0 !important;
        }

        body.single-post .drslon-single-layout > .wp-block-column,
        body.single-project .drslon-single-layout > .wp-block-column,
        body.search .drslon-blog-layout > .wp-block-column,
        body.archive .drslon-archive-layout > .wp-block-column,
        body.category .drslon-archive-layout > .wp-block-column {
                min-width: 0 !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
        }

        body.single-post .drslon-single-hero,
        body.single-project .drslon-single-hero,
        body.single-post .drslon-single-content-wrap,
        body.single-project .drslon-single-content-wrap,
        body.single-post .drslon-single-nav,
        body.single-project .drslon-single-nav,
        body.single-post .drslon-single-extras,
        body.single-project .drslon-single-extras {
                width: 100% !important;
                max-width: 100% !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                box-sizing: border-box !important;
        }

        body.single-post .drslon-single-hero,
        body.single-project .drslon-single-hero {
                padding-left: 14px !important;
                padding-right: 14px !important;
        }

        body.single-post .drslon-single-content,
        body.single-project .drslon-single-content {
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
        }

        body.single-post .drslon-single-content > *,
        body.single-project .drslon-single-content > * {
                max-width: 100% !important;
                box-sizing: border-box !important;
        }

        body.single-post .drslon-single-content > :where(p, h2, h3, h4, ul, ol, blockquote, pre, figure, .wp-block-image, .wp-block-table, .wp-block-html),
        body.single-project .drslon-single-content > :where(p, h2, h3, h4, ul, ol, blockquote, pre, figure, .wp-block-image, .wp-block-table, .wp-block-html) {
                margin-left: 0 !important;
                margin-right: 0 !important;
        }

        body.single-post .drslon-single-content img,
        body.single-project .drslon-single-content img,
        body.single-post .drslon-single-content video,
        body.single-project .drslon-single-content video,
        body.single-post .drslon-single-content iframe,
        body.single-project .drslon-single-content iframe {
                max-width: 100% !important;
                height: auto;
        }

        body.single-post .drslon-single-content,
        body.single-project .drslon-single-content,
        body.single-post .entry-content,
        body.single-project .entry-content,
        body.single-post .wp-block-post-content,
        body.single-project .wp-block-post-content {
                padding-left: 12px !important;
                padding-right: 12px !important;
        }

        body.page .wp-block-post-content {
                overflow-x: hidden;
        }

        body.page .wp-block-post-content > .alignwide,
        body.page .wp-block-post-content > .alignfull {
                width: 100% !important;
                max-width: 100% !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
        }
}
/* === prod hotfix: mobile legacy pages width === */
@media (max-width: 781px) {
        body.page main.wp-block-group {
                padding-left: 10px !important;
                padding-right: 10px !important;
                box-sizing: border-box !important;
        }

        body.page .is-legacy-page-content {
                width: 100% !important;
                max-width: 100% !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                box-sizing: border-box !important;
                overflow-x: hidden !important;
        }

        body.page .is-legacy-page-content > * {
                max-width: 100% !important;
                box-sizing: border-box !important;
        }

        body.page .is-legacy-page-content > .wp-block-group,
        body.page .is-legacy-page-content > .wp-block-columns,
        body.page .is-legacy-page-content > .wp-block-cover,
        body.page .is-legacy-page-content > .alignwide,
        body.page .is-legacy-page-content > .alignfull {
                width: 100% !important;
                max-width: 100% !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
        }

        body.page .is-legacy-page-content .wp-block-group,
        body.page .is-legacy-page-content .wp-block-column {
                min-width: 0 !important;
                box-sizing: border-box !important;
        }

        body.page .is-legacy-page-content .wp-block-columns {
                gap: 14px !important;
        }

        body.page .is-legacy-page-content [style*="padding-left:"] {
                padding-left: min(18px, 4vw) !important;
        }

        body.page .is-legacy-page-content [style*="padding-right:"] {
                padding-right: min(18px, 4vw) !important;
        }

        body.page .is-legacy-page-content img,
        body.page .is-legacy-page-content video,
        body.page .is-legacy-page-content iframe {
                max-width: 100% !important;
                height: auto;
        }
}
/* === prod hotfix: mobile legacy page buttons === */
@media (max-width: 781px) {
        body.page .is-legacy-page-content .wp-block-buttons,
        body.page .is-legacy-page-content .wp-block-button,
        body.page .is-legacy-page-content .wp-block-button__link {
                max-width: 100% !important;
                box-sizing: border-box !important;
        }

        body.page .is-legacy-page-content .wp-block-buttons {
                width: 100% !important;
                margin-left: auto !important;
                margin-right: auto !important;
        }

        body.page .is-legacy-page-content .wp-block-button {
                width: 100% !important;
        }

        body.page .is-legacy-page-content .wp-block-button__link {
                width: 100% !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                white-space: normal !important;
                text-align: center !important;
                padding-left: 14px !important;
                padding-right: 14px !important;
        }

        body.page .is-legacy-page-content a[class*="button"],
        body.page .is-legacy-page-content a[class*="btn"],
        body.page .is-legacy-page-content button {
                max-width: 100% !important;
                box-sizing: border-box !important;
                white-space: normal !important;
        }
}

/* === desktop lightbox for post/project content images === */
@media (min-width: 782px) {
        .drslon-single-content .drslon-content-lightbox-target,
        .wp-block-post-content .drslon-content-lightbox-target {
                cursor: zoom-in;
        }

        html.drslon-lightbox-open,
        html.drslon-lightbox-open body {
                overflow: hidden;
        }

        .drslon-content-lightbox {
                position: fixed;
                inset: 0;
                z-index: 999999;
                display: none;
                align-items: center;
                justify-content: center;
                padding: 32px;
                overflow: auto;
                background: rgba(10, 18, 32, 0.88);
                backdrop-filter: blur(8px);
        }

        .drslon-content-lightbox.is-open {
                display: flex;
        }

        .drslon-content-lightbox__inner {
                max-width: min(1180px, 94vw);
                max-height: 90vh;
                text-align: center;
        }

        .drslon-content-lightbox__image {
                display: block;
                max-width: 100%;
                max-height: 82vh;
                width: auto;
                height: auto;
                margin: 0 auto;
                border-radius: 14px;
                box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
                object-fit: contain;
        }

        .drslon-content-lightbox__caption {
                max-width: 860px;
                margin: 14px auto 0;
                color: #f4f7fb;
                font-size: 0.95rem;
                line-height: 1.5;
        }

        .drslon-content-lightbox__close,
        .drslon-content-lightbox__zoom {
                position: fixed;
                top: 18px;
                z-index: 1;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 44px;
                height: 44px;
                padding: 0;
                border: 1px solid rgba(255, 255, 255, 0.28);
                border-radius: 999px;
                background: rgba(255, 255, 255, 0.12);
                color: #ffffff;
                line-height: 1;
                cursor: pointer;
        }

        .drslon-content-lightbox__close {
                right: 18px;
                font-size: 30px;
        }

        .drslon-content-lightbox__zoom {
                left: 18px;
                font-size: 24px;
                font-weight: 700;
        }

        .drslon-content-lightbox__image {
                cursor: zoom-in;
        }

        .drslon-content-lightbox.is-zoomed {
                align-items: flex-start;
                justify-content: flex-start;
        }

        .drslon-content-lightbox.is-zoomed .drslon-content-lightbox__inner {
                width: fit-content;
                max-width: none;
                max-height: none;
                margin: 0 auto;
                padding: 64px 24px 32px;
        }

        .drslon-content-lightbox.is-zoomed .drslon-content-lightbox__image {
                max-width: none;
                max-height: none;
                height: auto;
                cursor: zoom-out;
        }

        .drslon-content-lightbox__close:hover,
        .drslon-content-lightbox__close:focus,
        .drslon-content-lightbox__zoom:hover,
        .drslon-content-lightbox__zoom:focus {
                background: rgba(255, 255, 255, 0.2);
                outline: none;
        }
}
