/* ============================================================
   PAGE TREE BLOCK — CLEAN RESET, NO UPWARD ROTATION ANYWHERE
   ============================================================ */

/* ---------------------------------
   Base page list styling
---------------------------------- */

.op-page-tree-block .op-page-list__item--has-children > .op-page-list__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.op-page-tree-block .op-page-list {
    list-style: none;
}

.op-page-tree-block > .op-page-list {
    padding-left: 0;
}

.op-page-tree-block .op-page-list__item {
    margin-bottom: 0;
    line-height: 1.2;
}

.op-page-tree-block .op-page-list__link {
    padding: 8px 0;
    display: block;
    text-decoration: none !important; /* or underline if you want */
}

/* Disable pointer events in admin when href="#" */
body.wp-admin .op-page-tree-block .op-page-list__link[href="#"],
.editor-styles-wrapper .op-page-tree-block .op-page-list__link[href="#"] {
    cursor: default;
}

/* Divider between items */
.op-page-tree-block .op-page-list__item:not(:last-of-type) {
    border-bottom: 1px solid #0000001f !important;
}

/* Current item: emphasize without changing color */
.op-page-tree-block .op-page-list__item.current-menu-item > .op-page-list__link,
.op-page-tree-block .op-page-list__item.current_page_item > .op-page-list__link {
    font-weight: 600;
    text-decoration: underline;
}

.op-page-tree-block .op-page-list__item.current-menu-item > .op-page-list__link:hover,
.op-page-tree-block .op-page-list__item.current_page_item > .op-page-list__link:hover {
    /* keep same color, just maintain emphasis */
}

/* Nested lists */
.op-page-tree-block .op-page-list .op-page-list {
    padding-left: 15px;
}

.op-page-tree-block .op-page-list.hidden {
    display: none;
}

/* ============================================================
   RESET FOR ICON CONTENTS ONLY — NOT THE ICON WRAPPERS
   ============================================================ */

.op-page-tree-block .op-page-tree-arrow svg,
.op-page-tree-block .op-page-tree-arrow path,
.op-page-tree-block .op-page-tree-arrow polygon,
.op-page-tree-block .op-page-tree-arrow polyline {
    transform: none !important;
    rotate: 0deg !important;
    writing-mode: horizontal-tb !important;
}

/* ---------------------------------
   Arrow wrapper — Rotates 90deg with animation
---------------------------------- */

.op-page-tree-block .op-page-tree-arrow {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    position: relative;
    flex-shrink: 0;

    transform: rotate(0deg);
    transform-origin: center center;
    transition: transform 0.25s ease;
}

/* ---------------------------------
   ICON ELEMENTS
---------------------------------- */

.op-page-tree-icon {
    display: block;
    width: 22px;
    height: 22px;
}

/* Closed icon visible by default */
.op-page-tree-icon--closed {
    display: block;
}

/* Open icon hidden by default */
.op-page-tree-icon--open {
    display: none;
}

/* ---------------------------------
   EXPANDED STATE
---------------------------------- */

.op-page-tree-block .op-page-tree-arrow.op-expanded {
    transform: rotate(90deg);
}

.op-page-tree-block .op-page-tree-arrow.op-expanded .op-page-tree-icon--closed {
    display: none;
}

.op-page-tree-block .op-page-tree-arrow.op-expanded .op-page-tree-icon--open {
    display: block;
}

/* Counter-rotate the open icon so it renders “upright” inside rotated wrapper */
.op-page-tree-block .op-page-tree-icon--open {
    transform: rotate(-90deg);
}

/* ---------------------------------
   Prevent transition during JS initialization
---------------------------------- */

.op-page-tree--no-transition .op-page-tree-arrow {
    transition: none !important;
}




.op-page-tree-arrow.op-parent-locked {
    display: none
}