/* Shortcodes */
.dilask-single-post-related-posts-title {
    text-align: center !important;
    width: 100%;
}

.dilask-single-post-related-posts-carousel-wrapper {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin-top: 20px !important;
    width: 100%;
}

.dilask-single-post-related-posts-carousel {
    flex: 1;
}

.dilask-single-post-related-posts-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    color: #333;
    background: #fff;
    cursor: pointer;
    font-weight: 700;
}

.dilask-single-post-related-posts-nav:disabled {
    opacity: 0;
}

.dilask-single-post-related-posts-controls {
    margin-top: 12px;
    text-align: center;
}

.dilask-single-post-related-posts-page-indicator {
    font-size: 14px;
    color: #555;
}

.dilask-single-post-related-posts-page {
    display: grid;
    gap: 24px;
    width: 100%;
}

.dilask-single-post-related-posts-list-item-category-button, 
.dilask-single-post-meta-category-button,
.dilask-posts-list-item-category-button,
.dilask-post-category-button {
    border-color: #38B34A !important;
    border: 1px solid !important;
    border-radius: 3px !important;
    color: #38B34A !important;
    font-size: 12px;
    padding: 2px !important;
}

@media (min-width: 840px) {
    .dilask-single-post-related-posts-page {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }
    .dilask-posts-list {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }

    .dilask-posts-list-item-left {
        width: 20%;
        float: left;
        padding-right: 10px !important;
    }

    .dilask-posts-list-item-right {
        width: 80%;
        float: right;
    }

    .dilask-post-left {
        width: calc(50% - 24px);
        margin-right: 24px;
        float: left;
    }
    .dilask-post-right {
        width: 50%;
        float: right;
    }
}

@media (max-width: 839px) {
    .dilask-single-post-related-posts-page {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, auto);
    }
    .dilask-posts-list {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, auto);
    }

    .dilask-posts-list-item-left {
        width: 100%;
    }
    .dilask-posts-list-item-right {
        width: 100%;
    }

    .dilask-post-left {
        width: 100%;
    }
    .dilask-post-right {
        width: 100%;
    }
}

.dilask-single-post-related-posts-list-item {
    margin-top: 12px !important;
}

.dilask-single-post-related-posts-list-item-left {
    width: 20%;
    float: left;
    padding-right: 10px !important;
}

.dilask-single-post-related-posts-list-item-right {
    width: 80%;
    float: right;
}

.dilask-single-post-related-posts-list-item-date {
    margin-top: 10px !important;
}

.dilask-single-post-related-posts-list-item-read-more {
    color: #38B34A !important;
    font-weight: 700 !important;
    text-decoration: underline;
}

.dilask-posts-container,
.dilask-post-container {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin-top: 20px !important;
    width: 100%;
}

.dilask-posts-list {
    display: grid;
    gap: 24px;
    width: 100%;
}

.dilask-posts-list-item {
    margin-top: 12px !important;
}

.dilask-posts-list-item-date,
.dilask-post-date {
    margin-top: 10px !important;
}

.dilask-posts-list-item-read-more,
.dilask-post-read-more {
    color: #38B34A !important;
    font-weight: 700 !important;
    text-decoration: underline;
}

.dilask-permalink {
    color: var(--color-content-text) !important;
}

ul.et-menu > li.menu-item > a {
    color: var(--color-content-text) !important;
}

.menu-item-39687 {
    padding: 10px 15px 5px 15px !important;
    background-color: #E73360 !important;
    border-radius: 24px !important;
    margin-top: -3px !important;
}

.et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu ul li.dilask-menu-item-courses a,
.et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu ul li.dilask-menu-item-courses {
    color: #fff !important;
}

/* Side menu shortcode */
.dilask-sidemenu {
    width: 100%;
}

.dilask-sidemenu-title {
    font-weight: 700;
    margin-bottom: 8px;
}

.dilask-sidemenu-list,
.dilask-sidemenu-submenu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Some themes draw their own bullet on content <li> items via list-style on the
   item, ::marker, or a ::before pseudo (often only on nested/submenu lists).
   Neutralize all three so side-menu items never show a marker. */
.dilask-sidemenu .dilask-sidemenu-item {
    list-style: none !important;
}

.dilask-sidemenu .dilask-sidemenu-item::marker {
    content: "" !important;
}

.dilask-sidemenu .dilask-sidemenu-item::before {
    content: none !important;
    display: none !important;
}

.dilask-sidemenu-row {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4px;
}

.dilask-sidemenu-link {
    display: block;
    flex: 1 1 auto;
    padding: 8px 10px;
    color: var(--color-content-link) !important;
    text-decoration: none;
    border-radius: 4px;
    line-height: 1.3;
}

.dilask-sidemenu-link:hover {
    background-color: rgba(56, 179, 74, 0.08);
}

/* Current page: keep the default grey/black text (all other items use
   --color-content-link). */
.dilask-sidemenu-item.current-menu-item > .dilask-sidemenu-row > .dilask-sidemenu-link,
.dilask-sidemenu-item.current_page_item > .dilask-sidemenu-row > .dilask-sidemenu-link {
    color: var(--color-content-text) !important;
    font-weight: 700;
    background-color: rgba(56, 179, 74, 0.10);
}

.dilask-sidemenu-toggle {
    box-sizing: border-box;
    width: 34px;
    min-width: 34px;
    text-align: center;
    /* No vertical padding + line-height:1 make the button exactly one text line
       tall, so the icon aligns to the vertical center of the FIRST title line
       (the row is top-aligned). This stays correct even when a long title wraps
       to several lines. !important overrides the theme's generic `button {}`
       padding / line-height rules. */
    padding: 0 !important;
    line-height: 1 !important;
    border: 0;
    background: transparent;
    cursor: pointer;
    flex: 0 0 auto;
}

/* Keeps leaf-item labels aligned with parent-item labels. */
.dilask-sidemenu-spacer {
    display: inline-block;
    width: 34px;
    min-width: 34px;
    flex: 0 0 auto;
}

.dilask-sidemenu-chevron {
    display: inline-block;
    width: 10px;
    height: 10px;
    vertical-align: middle; /* sit on the middle of the title's first line */
    color: #38B34A; /* SVG stroke uses currentColor */
    transition: transform .2s ease;
}

/* Points right when collapsed; rotates to point down when open. */
.dilask-sidemenu-item.dilask-sidemenu-open > .dilask-sidemenu-row > .dilask-sidemenu-toggle .dilask-sidemenu-chevron {
    transform: rotate(90deg);
}

/* Collapsible sub-menu (animated, no cutoff for typical menus) */
.dilask-sidemenu-submenu {
    overflow: hidden !important;
    max-height: 0;
    transition: max-height .3s ease !important;
    padding-left: 14px !important;
}

.dilask-sidemenu-item.dilask-sidemenu-open > .dilask-sidemenu-submenu {
    max-height: 1500px;
}

/* Submenu items collapsed behind the "Show more" control. */
.dilask-sidemenu-hidden {
    display: none !important;
}

/* "Show more" control, rendered as a link-styled button aligned like a submenu item. */
.dilask-sidemenu-showmore {
    flex: 1 1 auto;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font: inherit;
    color: var(--color-content-link) !important;
    border-radius: 4px;
}

.dilask-sidemenu-showmore:hover {
    background-color: rgba(56, 179, 74, 0.08);
    text-decoration: underline;
}