/* Redesign for Blog Articles Page */

/* Container fixes */
.box_articles {
    overflow: hidden;
}

/* Container Width & Styling Fixes */
.main.container {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 15px !important;
}

.cont_pad {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

.cont_pad::before,
.cont_pad::after {
    content: none !important;
}

#modules_top {
    padding: 0 15px;
}

#right .wrapper-box,
#footer-menu {
    background: url("../images/bg_cont.png") repeat scroll 0 0 transparent;
    border: 1px solid #DDD;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -moz-box-shadow: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    padding: 4px 6px;
    margin-right: 4px;
    margin-top: 3px;
}

#right .module.green-borders-module {
    border: 2px solid #74AA07;
    box-shadow: 0 0 5px #74AA07;
}

.acymailing_module_form table.acymailing_form td.acyfield_email>* {
    margin-left: 1.5%;
}

/* Article List Item */
.statya {
    position: relative;
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(149, 149, 149, 0.21) !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}



.statya .group::after {
    content: "";
    display: table;
    clear: both;
}

.statya .photo {
    float: left !important;
    margin: 3px 30px 15px 0 !important;
    width: 226px !important;
    max-width: 226px !important;
}

.statya .photo img {
    display: block;
    width: 100%;
    height: auto;
}

.statya .text-4 {
    float: left !important;
    width: calc(98% - 260px) !important;
}

.statya.no-image .text-4 {
    float: left !important;
    width: 98% !important;
}

/* Asana Title styling (base) */
.statya .text-5,
.statya .text-5 a,
table.asany2Listing h2.asany2ItemTitle,
table.asany2Listing h2.asany2ItemTitle a {
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    margin: 5px 0 0 0 !important;
    padding: 0 !important;
    line-height: 20px !important;
    display: block !important;
}

.statya .layer {
    height: 4px !important;
    margin: 11px 0 15px 0 !important;
    width: 97px !important;
    background: #8eb401 !important;
}

.statya .text-6 {
    font-size: 15px !important;
    line-height: 20px !important;
    text-align: justify !important;
    color: #2e2e2e !important;
    font-family: 'PT Serif', serif !important;
}

/* Safely override internal CMS `<p>` tags without breaking `div` widgets */
.statya .text-6 p,
.statya .text-6 ul li,
.statya .text-6 ol li,
.asany2CompDesc p {
    font-size: 15px !important;
    line-height: 20px !important;
    text-align: justify !important;
    color: #2e2e2e !important;
    font-family: 'PT Serif', serif !important;
}

.statya .text-6 p {
    margin: 0 0 15px 0 !important;
}

.statya .text-6 p:empty {
    display: none !important;
}

.statya .readon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 38px !important;
    padding: 0 30px !important;
    margin: 17px 0 0 0 !important;
    width: auto !important;
    min-width: 120px !important;
    border: 3px solid #d0d0d0 !important;
    background: transparent !important;
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: bold !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    text-transform: none !important;
}

.statya .readon:hover {
    border-color: #8eb401 !important;
    text-decoration: none !important;
}

/* Asany Catalog specific overrides */
table.asany2Listing .statya .photo {
    /* Use padding instead of margin to prevent breaking Bootstrap col- percentages */
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-top: 3px !important;
    margin-bottom: 15px !important;
}

/* Ensure image fills the column width on large screens regardless of internal SOBI2 wrappers */
table.asany2Listing .statya .photo>*,
table.asany2Listing .statya .photo a,
table.asany2Listing .statya .photo span {
    display: block !important;
    width: 100% !important;
}

table.asany2Listing .statya .photo img,
.statya .photo img,
.statya .photo a img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    max-height: unset !important;
    padding: 5px 0 0 0 !important;
    display: block !important;
}

/* Prevent SOBI2 fields from dropping below floated images on medium screens */
table.asany2Listing .statya div[class*="asany2Listing_field"] {
    clear: none !important;
}

@media (max-width: 767px) {

    /* Break table constraints to allow responsive stacking, but ONLY for the outer grid */
    table.asany2Listing,
    table.asany2Listing>tbody,
    table.asany2Listing>tbody>tr,
    table.asany2Listing>tbody>tr>td.col1 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Center photo on mobile and kill SOBI2 legacy floats */
    table.asany2Listing .statya .photo,
    .statya .photo {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto 15px auto !important;
        padding-right: 0 !important;
        text-align: center;
        display: block !important;
    }

    /* Kill aggressive component floats on the main image itself (not icons) */
    table.asany2Listing .statya .photo img {
        float: none !important;
        margin: 0 auto !important;
        max-width: 100% !important;
        display: block !important;
    }

    /* Force text area to stack */
    table.asany2Listing .statya .text-4 {
        width: 100% !important;
        float: none !important;
    }

    /* Fix ugly text justification on narrow screens */
    table.asany2Listing .statya .text-6 {
        text-align: left !important;
    }

    /* Prevent global containers from causing overflow */
    html,
    body,
    .container,
    .main,
    .cont_pad,
    .top-navigation.container {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Fix header overflow and spacing safely */
    table.asany2Header {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
        clear: both !important;
        float: none !important;
        padding-top: 15px !important;
    }

    table.asany2Header tbody,
    table.asany2Header tr,
    table.asany2Header td {
        /*display: block !important;*/
        /*width: 100% !important;*/
        /*text-align: center !important;*/
        height: auto !important;
        clear: both !important;
    }

    table.asany2Header td {
        padding-top: 10px;
    }

    /* Center search buttons inside the header table and prevent title intersection */
    .button-asany2-search,
    table.asany2Header td a,
    a.asany2Header {
        float: none !important;
        position: relative !important;
        display: inline-block !important;
        clear: both !important;
        margin: 15px auto !important;
        right: 0 !important;
        top: 0 !important;
    }
}

table.asany2Listing .statya .text-7,
table.asany2Listing .statya .text-8 {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    color: #2e2e2e !important;
    font-family: 'PT Serif', serif !important;
    text-align: justify !important;
}

table.asany2Listing .statya .text-8 span[class$="_label"],
table.asany2Listing .statya .text-7 span[class$="_label"] {
    font-weight: bold;
    color: #010000 !important;
    line-height: 26px;
}

#asany2PageNav {
    color: #202020 !important;
    font-family: "PT Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-top: 25px !important;
    margin-bottom: 25px !important;
}

#asany2PageNav a.pagenav {
    color: #7a7a7a !important;
    text-decoration: underline !important;
    margin: 0 5px;
}

#asany2PageNav a.pagenav:hover {
    text-decoration: none !important;
    color: #202020 !important;
}

#asany2PageNav span.pagenav {
    color: #202020 !important;
    text-decoration: none !important;
    margin: 0 5px;
}

.asany2Listing td {
    width: 100%;
}

#asany2HeaderSearchLink a.asany2Header,
.asany2 table.asany2Header td#asany2HeaderSearchLink a {
    display: inline-block !important;
    width: 207px !important;
    height: 47px !important;
    line-height: 42px !important;
    border: 3px solid #96b912 !important;
    background: #ffffff !important;
    color: #0e0e0e !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
    float: right !important;
}

#asany2HeaderSearchLink a.asany2Header:hover {
    background: #f9f9f9 !important;
    color: #0e0e0e !important;
}

/* Category Header Underline */
.asany2 h1,
#asany2HeaderComLink h1,
#asany2HeaderComLink h1 a {
    position: relative !important;
    display: inline-block !important;
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    margin-bottom: 0 !important;
}

.asany2 h1::after,
#asany2HeaderComLink h1::after {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    left: 0 !important;
    width: 97px !important;
    height: 4px !important;
    background: #8eb401 !important;
}

/* Disable legacy generic background icons for SOBI2 fields */
#asany2Listing_field_perevod_s_sanskrita_label,
.asany2Listing_field_perevod_s_sanskrita_label,
#asany2Listing_field_pokazaniya_label,
.asany2Listing_field_pokazaniya_label,
#asany2Listing_field_protivopokazaniya_label,
.asany2Listing_field_protivopokazaniya_label {
    background-image: none !important;
    padding-left: 0 !important;
}

/* Force Icon Dimensions */
.statya .row-18 img,
.statya [class*="asany2Listing_field_"] img {
    width: 20px !important;
    height: auto !important;
    margin: 3px 10px 0 0 !important;
    display: inline-block !important;
    vertical-align: top !important;
    padding: 0 !important;
}

/* Apply green filter to stars and increment version */
.rating-stars img {
    height: 14px !important;
    width: auto !important;
    margin-right: 2px;
    /* Convert yellow stars to green #8BAC10 */
    filter: hue-rotate(25deg) saturate(80%) brightness(85%);
    scale: 1.3;
}


/* Grid Layout Overrides */
.blog-grid .statya {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 50px !important;
}

.blog-grid .statya .photo {
    float: none !important;
    margin: 0 0 20px 0 !important;
    /* Left align photo */
    width: 269px !important;
    max-width: 269px !important;
    height: 188px !important;
    display: block !important;
    overflow: hidden !important;
}

.blog-grid .statya .photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.blog-grid .statya .text-4 {
    float: none !important;
    width: 100% !important;
    display: block !important;
    padding: 0 5px !important;
    /* Subtle inner padding */
    box-sizing: border-box !important;
}

.blog-grid .statya .text-5,
.blog-grid .statya .text-5 a {
    font-size: 18.5px !important;
    /* Matches Grid Masters design */
}

.blog-grid .statya .layer {
    margin: 19px 0 16px 0 !important;
    /* Matches Grid Masters design */
    width: 79px !important;
}

.blog-grid .statya .text-6 {
    margin: 16px 0 14px 0 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    text-align: justify !important;
    /* Consistently use justify as requested */
}

.blog-grid .statya .readon {
    margin: 20px 0 0 0 !important;
    display: inline-flex !important;
    width: 140px !important;
    height: 48px !important;
    /* Grid masters design button height */
}


.blog-grid .statya {
    text-align: left !important;
}

/* Edit Icon Position */
.statya .article-edit-icon {
    position: absolute;
    top: 0;
    right: 0;
}

/* Sidebar Custom Chrome Styles */
.sidebar-module {
    margin-bottom: 40px !important;
}

.sidebar-module .module-header {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 20px !important;
    border-bottom: 4px solid #8eb401;
    /* Matching the title underline style */
    padding-bottom: 5px;
    width: fit-content;
}

.sidebar-module .module-header img {
    margin-right: 12px !important;
    width: 24px !important;
    height: 19px !important;
}

.sidebar-module .module-header h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 14.8px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.sidebar-module .module-content {
    padding-top: 10px !important;
}

/* Sidebar List Overrides */
.sidebar-module .module-content ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sidebar-module .module-content ul li {
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(149, 149, 149, 0.21) !important;
    background: none !important;
    margin: 0 !important;
}

.sidebar-module .module-content ul li:last-child {
    border-bottom: none !important;
}

.sidebar-module .module-content ul li a,
.sidebar-module .module-content ul li a:visited,
.sidebar-module .module-content .gn_header a,
.sidebar-module .module-content .gn_header a:visited,
.sidebar-module .module-content .gn_header_1 a,
.sidebar-module .module-content .gn_header_1 a:visited {
    color: #000000 !important;
    font-weight: bold !important;
    font-family: 'PT Sans', sans-serif !important;
    text-decoration: none !important;
    font-size: 14px !important;
}

.sidebar-module .module-content ul li a:hover,
.sidebar-module .module-content .gn_header a:hover,
.sidebar-module .module-content .gn_header_1 a:hover {
    color: #8eb401 !important;
}

/* Custom .filtr styles for Asany sidebar */
.filtr {
    padding: 11px 16px !important;
    width: 100% !important;
    border: 1px solid rgba(194, 194, 194, 0.66) !important;
    background: padding-box rgba(235, 235, 235, 0.66) !important;
    box-sizing: border-box !important;
    margin-bottom: 3px !important;
}

.filtr .wrapper-12 {
    margin: 0px auto !important;
    position: relative !important;
    width: 100% !important;
}

.filtr select.inputbox {
    width: 100% !important;
    padding: 10px !important;
    margin-top: 10px !important;
    border: 1px solid #c2c2c2 !important;
    background: #ffffff !important;
    font-size: 16px !important;
    color: #232323 !important;
    font-family: 'PT Sans', sans-serif !important;
}

/* Ensure the wrapper_box module title matches the sidebar styling if applied */
.wrapper-box .boxTitle h3 {
    margin: 0 !important;
    padding: 0 0 5px 0 !important;
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Single Article Specifics */
.single-article {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 30px !important;
}

.single-article .text-5 h1,
.single-article .text-5 h1 a {
    font-size: 25px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    color: #000000 !important;
    text-decoration: none !important;
}

.single-article .text-6 {
    font-size: 17px !important;
    line-height: 1.35 !important;
    margin-top: 22px !important;
    color: #1f1717 !important;
    text-align: justify !important;
}

/* Safely override internal CMS `<p>` tags for Single Article */
.single-article .text-6 p,
.single-article .text-6 ul li,
.single-article .text-6 ol li {
    font-size: 17px !important;
    line-height: 1.35 !important;
    color: #1f1717 !important;
    text-align: justify !important;
    font-family: 'PT Serif', serif !important;
}

.single-article .text-6 p {
    margin: 0 0 20px 0 !important;
}

/* Manual Breadcrumbs Styling */
.single-article .text-2 {
    margin: 0 0 20px 0 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 14px !important;
    color: #4b4b4b !important;
}

.single-article .text-2 a {
    color: #4b4b4b !important;
    text-decoration: none !important;
}

.single-article .text-2 a.text-style {
    color: #8eb401 !important;
}

.single-article .text-2 a:hover {
    color: #000000 !important;
}

/* Breadcrumbs Styling Fallback (if module is used) */
.pathway {
    margin: 15px 0 25px 0 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 14px !important;
    color: #000000 !important;
}

.pathway a {
    color: #8eb401 !important;
    text-decoration: none !important;
}

.pathway a:hover {
    color: #000000 !important;
}

.single-article .article-icons {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
}

/* Related Articles "Читайте также" */
.single-article .chitaite-wrapper {
    margin-top: 40px !important;
}

.single-article .related-item {
    margin-top: 25px !important;
    padding-bottom: 20px !important;
}

.single-article .related-item .text-9,
.single-article .related-item .text-9 a {
    font-size: 20.6px !important;
    color: #000000 !important;
    font-weight: bold !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 10px !important;
}

.single-article .related-item .text-10 {
    font-size: 17.5px !important;
    line-height: 1.65 !important;
    color: #000000 !important;
    margin-bottom: 15px !important;
}

.single-article .shape-6 {
    border-top: 1px solid #d7d7d7 !important;
    margin-top: 20px !important;
}

.single-article .related-item:last-child .shape-6 {
    display: none !important;
}


/* Responsive adjustments */
@media (max-width: 991px) {
    .statya .text-4 {
        width: 100% !important;
        float: none !important;
    }

    .statya .photo {
        float: none !important;
        margin: 0 0 20px 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Redesign for "More Articles" at the bottom */
.chitaite-wrapper {
    margin-top: 50px !important;
    margin-bottom: 30px !important;
    clear: both !important;
}

.chitaite {
    width: 100% !important;
    border: 1px solid #c2c2c2 !important;
    padding: 14px 11px 6px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.chitaite .row-2 {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 20px !important;
    border-bottom: 4px solid #8eb401 !important;
    padding-bottom: 5px !important;
    width: fit-content !important;
}

.chitaite .folded-newspaper-2 {
    margin-right: 12px !important;
    width: 24px !important;
    height: 19px !important;
}

.chitaite .text-42 {
    margin: 0 !important;
    padding: 0 !important;
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 14.8px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.chitaite .links-list {
    display: block !important;
}

.chitaite .link-item {
    display: block !important;
    border-top: 1px solid rgba(125, 125, 125, 0.2) !important;
}

.chitaite .link-item:first-child {
    border-top: none !important;
}

.chitaite .link-item a,
.chitaite .link-item a:visited {
    display: block !important;
    padding: 8px 0 !important;
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}

.chitaite .link-item a:hover {
    color: #8eb401 !important;
    text-decoration: none !important;
}

/* Responsive adjustments for chitaite section */
@media (max-width: 991px) {
    .chitaite {
        width: 100% !important;
    }
}

/* --- JComments Redesign Overrides --- */

/* Main Container */
#jc {
    margin-top: 40px !important;
    clear: both !important;
}

/* Headers (Комментарии and Добавить комментарий) */
#jc h4 {
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: bold !important;
    margin: 17px 0 20px 22px !important;
    padding: 0 0 5px 0 !important;
    border: none !important;
    border-bottom: 4px solid #8eb401 !important;
    background: none !important;
    width: fit-content !important;
}

/* Remove default JComments rounded box graphics & backgrounds */
#jc .rbox_tr,
#jc .rbox_tl,
#jc .rbox_t,
#jc .rbox_br,
#jc .rbox_bl,
#jc .rbox_b {
    display: none !important;
}

#jc .rbox,
#jc .rbox_m {
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/* Individual Comment Block */
#jc .comment-box {
    padding: 20px 0 !important;
    border-top: 1px solid #d7d7d7 !important;
    margin: 0 !important;
}

/* Comment Header (Author and Date) */
#jc .comment-author,
#jc .author-homepage {
    color: #7c7c7c !important;
    font-family: 'PT Serif', serif !important;
    font-size: 16px !important;
    font-weight: normal !important;
    text-decoration: none !important;
}

#jc .comment-author::after,
#jc .author-homepage::after {
    content: "  |  ";
    margin: 0 10px;
}

#jc .comment-date {
    color: #7c7c7c !important;
    font-family: 'PT Serif', serif !important;
    font-size: 16px !important;
}

/* Comment Body Text */
#jc .comment-body {
    margin: 14px 0 0 !important;
    color: #000000 !important;
    font-family: 'PT Serif', serif !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
}

/* Action Buttons (Reply, Quote, etc.) */
#jc .comments-buttons {
    display: block !important;
    margin: 15px 0 0 !important;
    text-align: left !important;
    float: left !important;
    clear: both !important;
    width: 100% !important;
}

#jc .comments-buttons a {
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 16px !important;
    text-decoration: none !important;
}

#jc .comments-buttons a:hover {
    color: #8eb401 !important;
    text-decoration: underline !important;
}

/* Add Comment Form */
#comments-form {
    margin-top: 21px !important;
    overflow: hidden !important;
    position: relative !important;
    /* Enables absolute child positioning */
    padding-bottom: 15px !important;
    /* Keep bottom neat */
}

#comments-form p {
    margin: 0 0 14px 21px !important;
    /* 21px left margin matches design */
    clear: both !important;
    display: flex !important;
    align-items: center !important;
}

#comments-form p:first-of-type,
#comments-form p:nth-of-type(2) {
    margin-bottom: 9px !important;
    /* Match vertical spacing for text inputs */
}

/* Swap Input and Label positions visually with flex-direction-reverse since original HTML puts input before label */
#comments-form p span {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#comments-form label {
    margin-right: 13px !important;
    /* Exact design margin */
    margin-left: 0 !important;
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 16px !important;
    opacity: 0.9 !important;
    width: 170px !important;
    /* Fixed width to prevent wrapping (e-mail mandatory is wide) */
    text-align: left !important;
    font-weight: normal !important;
    line-height: 39px !important;
}

#comments-form input[type="text"] {
    height: 39px !important;
    flex-grow: 1 !important;
    /* Safely fill container width */
    max-width: none !important;
    /* Disable template arbitrary restriction */
    border: 1px solid rgba(125, 125, 125, 0.6) !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 16px !important;
    background: #ffffff !important;
    border-radius: 0 !important;
}

#comments-form textarea {
    height: 89px !important;
    flex-grow: 1 !important;
    max-width: none !important;
    border: 1px solid rgba(125, 125, 125, 0.6) !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 16px !important;
    background: #ffffff !important;
    border-radius: 0 !important;
}

/* Push textarea to align with inputs, since it has no label */
#comments-form p:has(textarea) span {
    padding-left: 183px !important;
    /* 170px label + 13px margin */
    justify-content: flex-start !important;
}

#comments-form p:has(textarea) {
    margin-top: 19px !important;
    /* Exact margin between text inputs and textarea */
}

/* Hide JComments specific form decorations that break flexbox styling */
#comments-form .counter,
#comments-form .grippie {
    display: none !important;
}

/* Captcha Layout */
#comments-form p:has(img.captcha) {
    display: grid !important;
    grid-template-columns: 168px auto !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
        "img input"
        "refresh ." !important;
    margin: 24px 0 0 0 !important;
    width: 380px !important;
    align-items: center !important;
    float: left !important;
    clear: none !important;
}

#comments-form p:has(img.captcha)>span {
    display: contents !important;
    /* Strip wrapper spans from layout */
}

#comments-form p:has(img.captcha) br {
    display: none !important;
}

#comments-form-captcha-image {
    grid-area: img !important;
    width: 168px !important;
    height: 88px !important;
    margin: 0 !important;
}

#comments-form span.captcha[onclick] {
    grid-area: refresh !important;
    text-align: center !important;
    color: #7c7c7c !important;
    font-size: 16px !important;
    cursor: pointer !important;
    margin-top: 4px !important;
    width: 168px !important;
    align-self: start !important;
    justify-self: center !important;
    /* Forces the text to be physically centered under the image box */
    background: none !important;
    position: static !important;
}

#comments-form input#comments-form-captcha {
    grid-area: input !important;
    margin: 0 0 0 15px !important;
    height: 60px !important;
    width: 118px !important;
    max-width: 118px !important;
    border: 1px solid rgba(125, 125, 125, 0.6) !important;
}

#comments-form p:has(input[type="checkbox"]) {
    margin: 21px 0 0 22px !important;
    /* Design exact margin */
}

#comments-form p:has(input[type="checkbox"]) span {
    flex-direction: row !important;
    /* label comes after checkbox naturally */
    justify-content: flex-start !important;
}

#comments-form input[type="checkbox"] {
    width: 12px !important;
    height: 12px !important;
    margin: 3px 11px 0 0 !important;
    /* Match design 1px margin + offset for alignment */
    border: 1px solid rgba(125, 125, 125, 0.7) !important;
}

#comments-form p:has(input[type="checkbox"]) label {
    width: auto !important;
    /* Disable 170px width */
    margin: 0 !important;
    line-height: normal !important;
}

/* Submit Button & Cancel Button */
#comments-form-buttons {
    position: absolute !important;
    bottom: 36px !important;
    /* Center against captcha layout horizontally */
    right: 0 !important;
    margin: 0 !important;
    clear: none !important;
    width: 227px !important;
}

/* Strip JComments default button wrapper styles */
#jc .btn,
#jc .btn div {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    float: none !important;
    display: inline-block !important;
    width: 100% !important;
}

#comments-form-send div {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

#comments-form-send a,
#comments-form-send a:link,
#comments-form-send a:visited {
    display: block !important;
    width: 227px !important;
    height: 45px !important;
    line-height: 39px !important;
    /* Vertically center within border-box */
    text-align: center !important;
    background: #ffffff !important;
    border: 3px solid #d0d0d0 !important;
    box-sizing: border-box !important;
    color: #000000 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 19px !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

#comments-form-send a:hover {
    border-color: #8eb401 !important;
}

/* Force hide cancel button as it throws off layout and isn't in design */
#comments-form-cancel,
#comments-form-cancel a {
    display: none !important;
}

#comments-form-send a,
#comments-form-send a:link,
#comments-form-send a:visited {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 45px !important;
    text-align: center !important;
    background: #ffffff !important;
    color: #000000 !important;
}

h2.sobi2ItemTitle a,
h2.yogamsk2ItemTitle a,
h2.yogakiev2ItemTitle a {
    color: #8BAC10 !important;
    font-size: 20px !important;
    font-weight: bold !important;
    background: none !important;
    padding-left: 0 !important;
}

/* Ratings Box restyle */
table.sobi2Listing .rating-box,
table.yogamsk2Listing .rating-box,
table.yogakiev2Listing .rating-box {
    background-color: #e1e1e1 !important;
    padding: 16px 20px !important;
    text-align: center !important;
    width: 160px !important;
    float: right !important;
    margin-top: 6px !important;
    min-height: 105px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    border: none !important;
}

table.sobi2Listing .rating-stars,
table.yogamsk2Listing .rating-stars,
table.yogakiev2Listing .rating-stars {
    margin-bottom: 8px !important;
    line-height: 1 !important;
}

table.sobi2Listing .rating-stars img,
table.yogamsk2Listing .rating-stars img,
table.yogakiev2Listing .rating-stars img {
    max-width: 121px !important;
    height: auto !important;
}

table.sobi2Listing .rating-score,
table.sobi2Listing .rating-count,
table.yogamsk2Listing .rating-score,
table.yogamsk2Listing .rating-count,
table.yogakiev2Listing .rating-score,
table.yogakiev2Listing .rating-count {
    font-family: 'PT Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1.3 !important;
    color: #000 !important;
}

table.sobi2Listing .rating-count,
table.yogamsk2Listing .rating-count,
table.yogakiev2Listing .rating-count {
    font-weight: normal !important;
}

/* Sidebar Merger */
.filtr.sidebar_merged {
    margin-bottom: 20px !important;
}

.filtr.sidebar_merged .wrapper-12 {
    padding-bottom: 10px !important;
}

.filtr.sidebar_merged .filtr {
    background: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.sidebar_merged .module-header {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border-bottom: 2px solid #8BAC10 !important;
}

.sidebar_merged .module-content {
    margin: 0 !important;
    padding: 0 !important;
}

/* Eliminate gaps between modules in merged sidebar */
.sidebar_merged>.wrapper-12>div {
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure inner titles are consistent */
.sidebar_merged div[style*="font-size:18px"] {
    border-bottom: 2px solid #8BAC10;
    padding-bottom: 5px;
    margin-top: 25px !important;
    margin-bottom: 10px !important;
}

.sidebar_merged div[style*="font-size:18px"]:first-child {
    margin-top: 0 !important;
}

/* Rating box specific fix for duplication and wrap */
.rating-score {
    width: 100% !important;
    font-size: 11px !important;
    text-transform: none !important;
    color: #fff !important;
    line-height: 1.1 !important;
    padding-top: 1px;
    letter-spacing: -0.2px;
}

/* Force hide all possible internal module wrappers in sidebar_merged */
.sidebar_merged .filtr,
.sidebar_merged .acymailing_module,
.sidebar_merged .wrapper-box,
.sidebar_merged .moduletable,
.sidebar_merged .wrapper-12 .wrapper-12,
.sidebar_merged div[class*="module"],
.sidebar_merged table.moduletable {
    background: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
}

.sidebar_merged .filtr>.wrapper-12 {
    padding: 0 !important;
}

/* Ensure inner titles are consistent and have proper spacing */
.sidebar_merged div[style*="font-size:18px"] {
    border-bottom: 2px solid #8BAC10;
    padding-bottom: 5px;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    display: block !important;
    width: 100% !important;
}

.sidebar_merged div[style*="font-size:18px"]:first-child {
    margin-top: 0 !important;
}

/* Fix for AcyMailing internal padding */
.sidebar_merged .acymailing_module form {
    margin: 0 !important;
    padding: 0 !important;
}

.row-3.group .text-8 span.sobi2Listing_field_country,
.row-3.group .text-8 span.sobi2Listing_field_city,
.row-3.group .text-8 span.sobi2Listing_field_street,
.row-3.group .text-8 span.yogamsk2Listing_field_country,
.row-3.group .text-8 span.yogamsk2Listing_field_city,
.row-3.group .text-8 span.yogamsk2Listing_field_street,
.row-3.group .text-8 span.yogakiev2Listing_field_country,
.row-3.group .text-8 span.yogakiev2Listing_field_city,
.row-3.group .text-8 span.yogakiev2Listing_field_street {
    color: #616161 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 15px !important;
}

table.sobi2CompDesc,
table.yogamsk2CompDesc,
table.yogakiev2CompDesc {
    margin-bottom: 30px;
}


.row-3.group .text-8 .sobi2Listing_field_yoga_type_label,
.row-3.group .text-8 .yogamsk2Listing_field_yoga_type_label,
.row-3.group .text-8 .yogakiev2Listing_field_yoga_type_label {
    font-weight: bold !important;
    color: #000 !important;
    font-size: 17px !important;
    display: inline-block !important;
    margin-top: 8px !important;
}

.row-3.group .text-8 ul.sobi2Listing_field_yoga_type,
.row-3.group .text-8 ul.yogamsk2Listing_field_yoga_type,
.row-3.group .text-8 ul.yogakiev2Listing_field_yoga_type {
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.row-3.group .text-8 ul.sobi2Listing_field_yoga_type li,
.row-3.group .text-8 ul.yogamsk2Listing_field_yoga_type li,
.row-3.group .text-8 ul.yogakiev2Listing_field_yoga_type li {
    display: inline !important;
    margin-right: 5px !important;
    font-size: 17px !important;
    color: #616161 !important;
}

table.yogamsk2CompDesc p,
table.yogakiev2CompDesc p {
    font-size: 17px !important;
    color: #616161 !important;
    line-height: 1.35 !important;
}

#comments-form-send div:hover {
    border-color: #8eb401 !important;
}

/* Force hide cancel button as it throws off layout and isn't in design */
#comments-form-cancel,
#comments-form-cancel a {
    display: none !important;
}

/* Yoga Centers Specific Styles */
table.sobi2Listing td,
table.yogamsk2Listing td,
table.yogakiev2Listing td {
    border: none !important;
    display: block !important;
    padding: 0 !important;
    background: none !important;
}

table.sobi2Listing .statya,
table.yogamsk2Listing .statya,
table.yogakiev2Listing .statya {
    border: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.group-30 {
    width: 100% !important;
    position: relative !important;
    display: block !important;
}

.row-3.group {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    width: 100% !important;
}

.row-3.group .photo {
    flex: 0 0 46px !important;
    margin-right: 20px !important;
}

.row-3.group .photo img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

.row-3.group .text-8 {
    flex: 1 1 auto !important;
    padding-right: 20px !important;
}

.row-3.group .text-8>* {
    margin-bottom: 5px;
}

.row-3.group .text-8 h2.sobi2ItemTitle,
.row-3.group .text-8 h2.yogamsk2ItemTitle,
.row-3.group .text-8 h2.yogakiev2ItemTitle {
    margin-top: 0 !important;
    padding-left: 0 !important;
    background-image: none !important;
}

.row-3.group .text-8 h2.sobi2ItemTitle a,
.row-3.group .text-8 h2.yogamsk2ItemTitle a,
.row-3.group .text-8 h2.yogakiev2ItemTitle a {
    color: #8bac10 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.row-3.group .text-8 h2.sobi2ItemTitle a:hover,
.row-3.group .text-8 h2.yogamsk2ItemTitle a:hover,
.row-3.group .text-8 h2.yogakiev2ItemTitle a:hover {
    text-decoration: underline !important;
}

/* Float reviews to the right side like the PSD */
.row-3.group .col {
    flex: 0 0 150px !important;
    text-align: right !important;
}

.row-3.group .col .sobi2Rating,
.row-3.group .col .yogamsk2Rating,
.row-3.group .col .yogakiev2Rating {
    display: block !important;
}

.row-3.group .col .sobiRating,
.row-3.group .col .yogamskRating,
.row-3.group .col .yogakievRating {
    display: block !important;
    margin-bottom: 5px !important;
}

.rectangle-24-copy {
    width: 100% !important;
    height: 1px !important;
    background-color: #d7d7d7 !important;
    margin-top: 30px !important;
    margin-bottom: 20px !important;
}

@media (max-width: 767px) {
    .row-3.group {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .row-3.group .photo {
        margin: 0 0 15px 0 !important;
    }

    .row-3.group .col {
        margin: 15px 0 0 0 !important;
        width: 100% !important;
        flex: 1 1 auto !important;
        text-align: center !important;
    }

    .row-3.group .text-8 {
        width: 100% !important;
        padding-right: 0 !important;
    }

    .row-3.group .photo {
        display: none !important;
    }

    table.sobi2Listing .rating-box,
    table.yogamsk2Listing .rating-box,
    table.yogakiev2Listing .rating-box {
        margin: 15px auto 0 !important;
        float: none !important;
    }
}

/* "Добавить центр" Button - hide original in header, show in sidebar */
#sobi2HeaderAddLink,
#yogamsk2HeaderAddLink,
#yogakiev2HeaderAddLink {
    display: none !important;
}

/* Sidebar button style matching design .dobav-centr */
.dobav-centr,
#contentmanager-toolbar li {
    margin: 0 0 12px 0;
    display: block;
    width: 100%;
}

.dobav-centr .dobav-centr-link,
#contentmanager-toolbar li a {
    display: block !important;
    width: 100% !important;
    padding: 23px 0 22px !important;
    background: #8eb401 !important;
    color: #ffffff !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: bold !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    border: none !important;
    letter-spacing: 0.03em !important;
}

#contentmanager-toolbar li a {
    padding: 10px 0 !important;
}

.dobav-centr .dobav-centr-link:hover {
    background: #7a9c00 !important;
    text-decoration: none !important;
}

/* Make the header table itself flow properly */
table.sobi2Header,
table.yogamsk2Header,
table.yogakiev2Header {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
    background: none !important;
}

table.sobi2Header td,
table.yogamsk2Header td,
table.yogakiev2Header td {
    display: block !important;
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
    background: none !important;
}

/* Hide the search link in the header if present */
#sobi2HeaderSearchLink,
#yogamsk2HeaderSearchLink,
#yogakiev2HeaderSearchLink {
    display: none !important;
}

/* Pagination - match asany-yogi style */
#sobi2PageNav,
#yogamsk2PageNav,
#yogakiev2PageNav {
    text-align: center !important;
    margin: 25px 0 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 16px !important;
}

#sobi2PageNav .pagenav,
#yogamsk2PageNav .pagenav,
#yogakiev2PageNav .pagenav {
    font-family: 'PT Sans', sans-serif !important;
    font-size: 16px !important;
    margin: 0 3px !important;
}

#sobi2PageNav a.pagenav,
#yogamsk2PageNav a.pagenav,
#yogakiev2PageNav a.pagenav {
    color: #7a7a7a !important;
    text-decoration: underline !important;
    font-weight: normal !important;
}

#sobi2PageNav a.pagenav:hover,
#yogamsk2PageNav a.pagenav:hover,
#yogakiev2PageNav a.pagenav:hover {
    color: #8eb401 !important;
}

#sobi2PageNav span.pagenav,
#yogamsk2PageNav span.pagenav,
#yogakiev2PageNav span.pagenav {
    color: #202020 !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

/* ========= YOGA CENTER INNER (DETAILS) PAGE ========= */

/* Override legacy icons from template.css with our design icons via background-image */
/* Address: icon on the first span (country) */
.sobi2-details-inner span#sobi2Details_field_country,
.sobi2-details-inner span#yogakiev2Details_field_country,
.sobi2-details-inner span#yogamsk2Details_field_country {
    background-image: url('../images/placeholder-tool.png') !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: 22px 22px !important;
    padding-left: 32px !important;
}

/* Website: icon on the website span */
.sobi2-details-inner span#sobi2Details_field_website,
.sobi2-details-inner span#yogakiev2Details_field_website,
.sobi2-details-inner span#yogamsk2Details_field_website {
    background-image: url('../images/internet.png') !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: 22px 22px !important;
    padding-left: 32px !important;
}

/* Email: hide legacy email icon if present */
.sobi2-details-inner span#sobi2Details_field_email,
.sobi2-details-inner span#yogakiev2Details_field_email,
.sobi2-details-inner span#yogamsk2Details_field_email {
    background-image: none !important;
    padding-left: 0 !important;
}

/* Phone: icon on the phone label span */
.sobi2-details-inner span#sobi2Listing_field_phone_label,
.sobi2-details-inner span#yogakiev2Listing_field_phone_label,
.sobi2-details-inner span#yogamsk2Listing_field_phone_label {
    background-image: url('../images/smartphone_copy_2.png') !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: 22px 22px !important;
    padding-left: 32px !important;
}

/* Description: icon on the description label span */
.sobi2-details-inner span#sobi2Listing_field_description_label,
.sobi2-details-inner span#yogakiev2Listing_field_description_label,
.sobi2-details-inner span#yogamsk2Listing_field_description_label {
    background-image: url('../images/information.png') !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: 22px 22px !important;
    padding-left: 32px !important;
}

/* Yoga type: icon on the yoga type label span */
.sobi2-details-inner span#sobi2Listing_field_yoga_type_label,
.sobi2-details-inner span#yogakiev2Listing_field_yoga_type_label,
.sobi2-details-inner span#yogamsk2Listing_field_yoga_type_label {
    background-image: url('../images/buddhist-yoga-pose.png') !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: 22px 22px !important;
    padding-left: 32px !important;
}

/* Main wrapper - override old table styles */
.sobi2-details-inner {
    position: relative;
    background: none;
    border: none !important;
}

/* Hide the old table-based details if remnants appear */
table.sobi2Details,
table.yogamsk2Details,
table.yogakiev2Details {
    border: none !important;
    width: 100% !important;
}

/* Title */
.sobi2-details-inner h2.sobi2-details-title,
.sobi2 h2,
.yogamsk2 h2,
.yogakiev2 h2 {
    font-family: 'PT Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: bold !important;
    color: #000000 !important;
    margin: 18px 0 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* Green underline bar under title */
.sobi2-details-inner .layer {
    height: 4px;
    width: 97px;
    background: #8eb401;
    margin: 11px 0 18px 0;
}

/* Map container */
.sobi2-details-inner .sobi2-details-map {
    margin: 10px 0 0 0;
    width: 100%;
}

.sobi2-details-inner .sobi2-details-map #sobi2GoogleMaps,
.sobi2-details-inner .sobi2-details-map #yogamsk2GoogleMaps,
.sobi2-details-inner .sobi2-details-map #yogakiev2GoogleMaps {
    width: 100% !important;
    height: 350px !important;
}

/* Section separator lines */
.sobi2-details-separator {
    width: 100%;
    height: 1px;
    background: #d7d7d7;
    margin: 15px 0;
}

/* Field rows */
.sobi2-details-field {
    padding: 5px 0;
}

.sobi2-details-field .field-content {
    font-family: 'PT Serif', serif;
    font-size: 17px;
    line-height: 1.5;
    color: #1f1717;
    text-align: justify;
}

.sobi2-details-field .field-content span {
    font-family: 'PT Serif', serif !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
}

.sobi2-details-field .field-content span[id*="_label"] {
    font-weight: bold !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 17px !important;
}

.sobi2-details-field .field-content p {
    font-family: 'PT Serif', serif;
    font-size: 17px;
    line-height: 1.45;
    margin-bottom: 8px;
}



/* Website link styling */
.sobi2-field-website a {
    color: #8eb401 !important;
    text-decoration: underline !important;
    font-family: 'PT Sans', sans-serif !important;
    font-weight: bold !important;
    font-size: 17px !important;
}

.sobi2-field-website a:hover {
    color: #698306 !important;
}

/* Yoga styles - two-column list with green bullets */
.sobi2-field-yoga-type .field-content ul.sobi2Listing_field_yoga_type,
.sobi2-field-yoga-type .field-content ul.yogamsk2Listing_field_yoga_type,
.sobi2-field-yoga-type .field-content ul.yogakiev2Listing_field_yoga_type {
    list-style: none !important;
    padding: 0 !important;
    margin: 10px 0 0 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

.sobi2-field-yoga-type .field-content ul.sobi2Listing_field_yoga_type li,
.sobi2-field-yoga-type .field-content ul.yogamsk2Listing_field_yoga_type li,
.sobi2-field-yoga-type .field-content ul.yogakiev2Listing_field_yoga_type li {
    width: 50% !important;
    box-sizing: border-box !important;
    padding: 0 10px 0 0 !important;
    margin: 0 !important;
    font-family: 'PT Serif', serif !important;
    font-size: 17px !important;
    line-height: 2.4 !important;
    color: #1f1717 !important;
    display: flex !important;
    align-items: center !important;
    background: none !important;
    background-image: none !important;
}

.sobi2-field-yoga-type .field-content ul.sobi2Listing_field_yoga_type li::before,
.sobi2-field-yoga-type .field-content ul.yogamsk2Listing_field_yoga_type li::before,
.sobi2-field-yoga-type .field-content ul.yogakiev2Listing_field_yoga_type li::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #8fb504;
    margin-right: 14px;
    flex-shrink: 0;
}

/* Yoga type label */
.sobi2-field-yoga-type .field-content span[id*="_label"] {
    display: block !important;
    font-family: 'PT Sans', sans-serif !important;
    font-weight: bold !important;
    font-size: 17px !important;
    margin-bottom: 5px !important;
}

/* Rating section */
.sobi2-details-rating {
    margin: 0 0 15px 0;
}

.sobi2-details-rating .sobiRating {
    display: flex;
    align-items: center;
    font-family: 'PT Sans', sans-serif;
    font-size: 20px;
    font-weight: bold;
    color: #000000;
    padding: 15px 10px;
}

.sobi2-details-rating .sobiRating img {
    margin-left: 4px;
}

/* "Что написать в отзыве?" hint */
.sobi2-details-reviews .revHelp,
.sobi2-details-reviews #revHelp {
    color: #8eb401;
    font-family: 'PT Sans', sans-serif;
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0;
}

.sobi2-details-reviews .revHelpDesc {
    font-family: 'PT Sans', sans-serif;
    font-size: 16px;
    font-style: italic;
    line-height: 1.4375;
    color: #000000;
    margin: 10px 0;
}

/* Review vote/rating row */
.sobi2-details-reviews .sobiVoting,
.sobi2-details-reviews #voteCont {
    display: flex;
    align-items: center;
    padding: 10px 0;
    font-family: 'PT Sans', sans-serif;
    font-size: 20px;
    font-weight: bold;
}

.sobi2-details-reviews .sobiVoting img {
    margin: 0 2px;
}

/* Reviews container */
.sobi2-details-reviews #reviewsCont {
    margin-top: 15px;
}

/* Individual review card */
.sobi2-details-reviews .revCont {
    padding: 15px 0;
    border-bottom: 1px solid #d7d7d7;
}

.sobi2-details-reviews .revCont:last-child {
    border-bottom: none;
}

.sobi2-details-reviews .revHeaderTitle {
    color: #7c7c7c;
    font-family: 'PT Serif', serif;
    font-size: 16px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.sobi2-details-reviews .revHeaderTitle img {
    margin-right: 3px;
}

.sobi2-details-reviews .revText {
    margin: 12px 0 0 12px;
    color: #000000;
    font-family: 'PT Serif', serif;
    font-size: 16px;
    line-height: 1.4;
}

/* Review form */
.sobi2-details-reviews #revFormCont {
    padding: 10px 0;
}

.sobi2-details-reviews #revFormTable {
    width: 100%;
}

.sobi2-details-reviews #revFormTable td {
    padding: 5px;
    font-family: 'PT Sans', sans-serif;
    font-size: 16px;
}

.sobi2-details-reviews #revFormTable input[type="text"],
.sobi2-details-reviews #revFormTable textarea {
    width: 100%;
    border: 1px solid rgba(125, 125, 125, 0.6);
    padding: 8px 10px;
    box-sizing: border-box;
    font-family: 'PT Sans', sans-serif;
    font-size: 16px;
}

.sobi2-details-reviews #revFormTable input[type="text"] {
    height: 39px;
}

.sobi2-details-reviews #revFormTable textarea {
    height: 89px;
}

.sobi2-details-reviews input[type="button"],
.sobi2-details-reviews input[type="submit"] {
    background: #ffffff;
    border: 3px solid #d0d0d0;
    font-family: 'PT Sans', sans-serif;
    font-size: 19px;
    font-weight: bold;
    padding: 9px 30px;
    cursor: pointer;
    color: #000000;
}

.sobi2-details-reviews input[type="button"]:hover,
.sobi2-details-reviews input[type="submit"]:hover {
    border-color: #8eb401;
}

/* SOBI2 details page footer table */
table.sobi2DetailsFooter,
table.yogamsk2DetailsFooter {
    display: none !important;
}

/* SOBI2 footer powered-by */
table.sobi2Footer,
table.yogamsk2Footer {
    border: none !important;
    background: none !important;
}

table.sobi2Footer td,
table.yogamsk2Footer td {
    border: none !important;
    padding: 5px 0 !important;
    font-size: 11px !important;
    color: #999 !important;
}

/* ========= YOGA CENTER INNER – RESPONSIVE ========= */

@media (max-width: 991px) {

    .sobi2-details-inner .sobi2-details-map #sobi2GoogleMaps,
    .sobi2-details-inner .sobi2-details-map #yogamsk2GoogleMaps {
        height: 280px !important;
    }
}

@media (max-width: 767px) {
    .sobi2-details-inner h2.sobi2-details-title {
        font-size: 18px !important;
    }

    .sobi2-details-inner .sobi2-details-map #sobi2GoogleMaps,
    .sobi2-details-inner .sobi2-details-map #yogamsk2GoogleMaps,
    .sobi2-details-inner .sobi2-details-map #yogakiev2GoogleMaps {
        height: 220px !important;
    }

    .sobi2-details-field .field-content {
        font-size: 17px;
    }

    .sobi2-details-field .field-content p {
        font-size: 17px;
    }

    .sobi2-details-field .field-content span {
        font-size: 17px;
    }

    /* Single column yoga styles on mobile */
    .sobi2-field-yoga-type .field-content ul.sobi2Listing_field_yoga_type li,
    .sobi2-field-yoga-type .field-content ul.yogamsk2Listing_field_yoga_type li,
    .sobi2-field-yoga-type .field-content ul.yogakiev2Listing_field_yoga_type li {
        width: 100% !important;
        font-size: 17px !important;
    }

    .sobi2-details-reviews .revHeaderTitle {
        font-size: 16px;
    }

    .sobi2-details-reviews .revText {
        font-size: 16px;
        margin-left: 0;
    }
}

/* ========= ASANA DETAILS (com_asany2) ========= */

table.asany2Details {
    border: none !important;
}

table.asany2Details td {
    padding: 0 !important;
}

table.asany2Details h2 {
    font-family: 'PT Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: bold !important;
    color: #000000 !important;
    margin: 18px 0 0 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* "Перевод с санскрита:" icon and translation formatting */
span#asany2Details_field_perevod_s_sanskrita {
    background-image: url('../images/2097427487_854acde562_o_c.png');
    background-repeat: no-repeat;
    background-position: 3px 14px;
    /* Moved right a bit and aligned vertically */
    padding-left: 35px;
}

span#asany2Listing_field_perevod_s_sanskrita_label {
    display: inline-block !important;
    /* Put on the same line */
    margin-right: 5px;
    margin-bottom: 0 !important;
    color: #000 !important;
}

span#asany2Details_field_perevod_s_sanskrita {
    font-family: 'PT Serif', serif !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    color: #1f1717 !important;
}

table.asany2Details h2::after {
    content: '';
    display: block;
    height: 4px;
    width: 97px;
    background: #f26522;
    /* From PSD */
    margin: 11px 0 18px 0;
}

span[id^="asany2Details_field_"] {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 25px;
}

span[id^="asany2Listing_field_"] {
    display: block;
    font-family: 'PT Sans', sans-serif !important;
    font-weight: bold !important;
    font-size: 17px !important;
    color: #000 !important;
    margin-bottom: 8px;
    padding-top: 0;
}

.asany2Details p {
    font-family: 'PT Serif', serif !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    color: #1f1717 !important;
    margin: 0 !important;
}

/* Indicators */
span#asany2Details_field_pokazaniya {
    background-image: url('../images/ok-xxl.png');
    background-repeat: no-repeat;
    background-position: left 0px;
    /* Align vertically with text */
}

span#asany2Listing_field_pokazaniya_label {
    color: #63ae1c !important;
    /* Green like in PSD */
}

span#asany2Details_field_protivopokazaniya {
    background-image: url('../images/no_icon_red_svg.png');
    background-repeat: no-repeat;
    background-position: left 0px;
    /* Align vertically with text */
}

span#asany2Listing_field_protivopokazaniya_label {
    color: #e4422e !important;
    /* Red like in PSD */
}

/* "Техника выполнения:" icon and old background icon fix */
span#asany2Details_field_opisanie {
    background-image: none !important;
    /* Remove old background icon if any on wrapper */
    padding-left: 0 !important;
}

span#asany2Listing_field_opisanie_label {
    background-image: url('../images/044553-glossy-black-icon-.png');
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 35px !important;
    /* Space for the icon */
    display: block !important;
    margin-bottom: 15px !important;
}

span#asany2Details_field_terapevticheskiy_effect {
    background-image: none !important;
    /* Remove from wrapper to prevent overlap */
    padding-left: 0 !important;
}

span#asany2Listing_field_terapevticheskiy_effect_label {
    background-image: url('../images/100-512.png') !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    /* Override legacy icon here */
    padding-left: 35px !important;
    display: block !important;
    margin-bottom: 15px !important;
}

/* Technique of execution numbered list */
span#asany2Details_field_opisanie ol {
    list-style: none !important;
    counter-reset: asana-counter !important;
    padding-left: 35px !important;
    margin: 15px 0 0 0 !important;
}

span#asany2Details_field_opisanie ol li {
    font-family: 'PT Serif', serif !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    color: #1f1717 !important;
    position: relative !important;
    margin-bottom: 20px !important;
    display: block !important;
    background: none !important;
    /* hide legacy list arrows */
}

span#asany2Details_field_opisanie ol li::before {
    content: counter(asana-counter) !important;
    counter-increment: asana-counter !important;
    position: absolute !important;
    left: -20px !important;
    top: 0 !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #8eb401 !important;
    /* Green background */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
    color: #ffffff !important;
    /* White text */
    text-align: center !important;
    line-height: 28px !important;
    font-family: 'PT Sans', sans-serif !important;
    font-weight: bold !important;
    font-size: 16px !important;
}

/* "ВНИМАНИЕ:" icon and bullet list styles */
span#asany2Details_field_opisanie p span.alert {
    display: inline-block !important;
    /* Prevent colon from breaking to next line */
    background-image: url('../images/layer_40.png') !important;
    background-repeat: no-repeat !important;
    background-position: left 1px !important;
    /* Adjust vertical alignment slightly */
    padding-left: 31px !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 17px !important;
    font-weight: bold !important;
    color: #e4422e !important;
    text-transform: uppercase !important;
    margin-top: 25px !important;
    margin-bottom: 0 !important;
    /* remove joomla legacy alert styles */
    background-color: transparent !important;
    border: none !important;
}

span#asany2Details_field_opisanie p:has(> span.alert) {
    color: #e4422e !important;
    /* Color the trailing colon */
    font-weight: bold !important;
}

/* Bullet list inside opisanie (specifically for ВНИМАНИЕ) */
span#asany2Details_field_opisanie ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 15px 0 0 0 !important;
}

span#asany2Details_field_opisanie ul li {
    font-family: 'PT Serif', serif !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    color: #1f1717 !important;
    position: relative !important;
    margin-bottom: 10px !important;
    padding-left: 20px !important;
    background: none !important;
    /* hide old arrows by clearing all background props */
}

span#asany2Details_field_opisanie ul li::before {
    content: '';
    position: absolute;
    left: 7px;
    top: 11px;
    width: 6px;
    height: 6px;
    background: #e4422e;
    /* Red bullet points */
}

/* Images inside opisanie */
span#asany2Details_field_opisanie p img {
    margin-top: 15px !important;
    margin-right: 15px !important;
}

/* Login Popup - Design Markup Adoption */
#vxod.vxod {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(37, 37, 37, 0.5) !important;
    z-index: 10000 !important;
    justify-content: center !important;
    align-items: center !important;
}

#vxod[style*="block"] {
    display: flex !important;
}

.rectangle-6 {
    position: relative !important;
    max-width: 648px !important;
    width: 90% !important;
    min-height: 448px !important;
    height: auto !important;
    background-color: rgb(70, 70, 70) !important;
    padding: 31px 53px 40px 48px !important;
    box-sizing: border-box !important;
    box-shadow: 0 0 30px rgba(0,0,0,0.5) !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

.vhod-3 {
    display: block !important;
    width: 100% !important;
    color: #ffffff !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    margin: 0 0 16px 0 !important;
    position: relative !important;
    background: transparent !important;
    text-align: left !important;
}

.row-7 {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin-bottom: 23px !important;
}

.group-14 {
    display: contents !important;
}

.cancel {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    width: 34px !important;
    height: 33px !important;
    cursor: pointer !important;
    z-index: 10001;
}

.cancel::before, .cancel::after {
    display: none !important;
}

.text-73 {
    color: #ffffff !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 22px !important;
    margin: 0 !important;
    line-height: normal !important;
}

.text-73 a {
    color: #ffffff !important;
    text-decoration: underline !important;
}

.group-15 {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    margin-bottom: 25px !important;
    width: 100% !important; /* Added for responsiveness */
}

.rectangle-7-holder, 
.rectangle-7-copy-holder {
    border: 3px solid #ffffff !important;
    width: 100% !important; /* Changed from fixed width */
    height: 69px !important;
    background: transparent !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    margin: 0 !important;
}

.login-2, 
.parol {
    width: 100% !important;
    height: 100% !important;
}

.rectangle-7-holder input, 
.rectangle-7-copy-holder input {
    width: 100% !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 24px !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    margin: 0 !important;
}

.rectangle-7-holder input::placeholder,
.rectangle-7-copy-holder input::placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
}

.row-12 {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 25px !important;
    gap: 10px !important;
}

.rectangle-7-copy-2 {
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    border: 3px solid #ffffff !important;
    background: transparent !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.text-74 {
    color: #ffffff !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 22px !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.rectangle-14-holder {
    border: 3px solid #8eb401 !important;
    background: transparent !important;
    color: #8eb401 !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 25.5px !important;
    font-weight: 700 !important;
    text-align: center !important;
    height: 62px !important;
    line-height: 56px !important; /* Center text vertically with 3px border */
    cursor: pointer !important;
    margin: 0 0 25px 0 !important;
    width: 100% !important;
    transition: background 0.3s, color 0.3s;
    box-sizing: border-box !important;
    padding: 0 !important;
}

.rectangle-14-holder:hover {
    background: #8eb401 !important;
    color: #ffffff !important;
}

.row-6 {
    display: flex !important;
    justify-content: space-between !important;
}

.text-75, .text-76 {
    margin: 0 !important;
}

.text-75 a, 
.text-76 a {
    color: #ffffff !important;
    font-family: 'PT Sans', sans-serif !important;
    font-size: 22px !important;
    text-decoration: underline !important;
}

.text-75 a:hover, 
.text-76 a:hover {
    text-decoration: none !important;
    color: #8eb401 !important;
}

/* Mobile Adjustments for Adoption */
@media (max-width: 680px) {
    .rectangle-6 {
        width: 95% !important;
        height: auto !important;
    }
    .group-14 {
        position: relative !important;
        padding: 30px 20px !important;
    }
    .rectangle-7-holder, 
    .rectangle-7-copy-holder {
        width: 100% !important;
    }
    .vhod-3 { font-size: 20px !important; padding: 15px 30px !important; }
    .text-73, .text-74, .text-75 a, .text-76 a { font-size: 18px !important; }
    .rectangle-14-holder { font-size: 22px !important; }
    .cancel { top: 20px !important; right: 20px !important; }
}

@media (max-width: 768px) {
    #jtphorzlogin {
        display: unset  !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    #jtphorzlogin {
        display: unset !important;
    }
}

#yoga-styles-table .row div > * {
    text-align: left;
}
