:root {
    --default-white: #fff;
    --dark-bg: #333;
    --light-bg: #f4f4f4;
    --default-red: #7b71e2;
    --default-highlight: #d0c7fe;
}

.highlighted-element {
    position: relative; /* Allows pseudo-element or other layers to be positioned */
    outline: 1px dotted var(--default-red); /* Adds a dotted border overlay */
    border-radius: 15%; /* Creates a round or elliptical shape */
    box-sizing: content-box; /* Ensures padding/border does not affect the size */
}

.edited-element {
    background-color: var(--default-red);
    border: black dotted 2px;
}


.highlighted-element:hover {
    background-color: #d0c7fe; /* Background highlight on hover */
    border: black dotted 2px;
}


.highlighted-element::after {
    position: absolute; /* Positioned relative to the parent element */
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    font-size: 20px; /* Size of the icon */
    pointer-events: none; /* Ensure it doesn't interfere with interactions */
}

.unActiveLinkIcon::after {
    content: '\f360';
    font-family: 'Font Awesome 5 Free'; /*Specify the Font Awesome font */
    font-weight: 900;
    position: absolute;
    top: 25%;
    right: 25%;
    color: var(--dark-bg);
    cursor: pointer; /* Optional: Make the icon clickable */
    pointer-events: none; /* Prevent icon from interfering with clicks */
    z-index: 9999; /* Ensure the icon appears above other elements **/
    font-size: 0.85em; /* Use a scalable font size relative to the element */
}

.activeLinkIcon::after {
    content: '\f35d';
    font-family: 'Font Awesome 5 Free'; /*Specify the Font Awesome font */
    font-weight: 900;
    position: absolute;
    top: 25%;
    right: 25%;
    color: var(--dark-bg);
    cursor: pointer; /* Optional: Make the icon clickable */
    pointer-events: none; /* Prevent icon from interfering with clicks */
    z-index: 9999; /* Ensure the icon appears above other elements **/
    font-size: 0.85em; /* Use a scalable font size relative to the element */
}

.edit-icon::before {
    content: '\f044';
    font-family: 'Font Awesome 5 Free'; /*Specify the Font Awesome font */
    position: absolute;
    top: 10%;
    right: 10%;
    color: var(--default-red);
    cursor: pointer; /* Optional: Make the icon clickable */
    pointer-events: none; /* Prevent icon from interfering with clicks */
    z-index: 9999; /* Ensure the icon appears above other elements **/
    font-size: 0.85em; /* Use a scalable font size relative to the element */
}

/* Blinking Effect */
.blinking {
    animation: blink-animation 1s steps(2, start) infinite;
    background-color: rgba(203, 231, 252, 0.5); /* Semi-transparent background */
}

@keyframes blink-animation {
    50% {
        opacity: 0; /* Makes the element completely invisible */
    }
}

/* Context Menu */
.custom-context-menu {
    position: absolute; /* Position it absolutely */
    background-color: var(--default-white); /* White background */
    border: 1px solid #ccc; /* Light gray border */
    border-radius: 15px; /* Rounded corners */
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    padding: 10px; /* Space inside the menu */
    z-index: 9999; /* Ensure it appears above other elements */
    display: none; /* Initially hidden */
    font-family: Arial, sans-serif; /* Optional: Set font style */
    font-size: 12px; /* Optional: Set font size */
    color: #333; /* Optional: Text color */
}

.div-label {
    position: absolute;
    top: -15px; /* Positions the label over the container */
    left: 10px;
    background-color: inherit;
    padding: 0 10px;
    border: 1px solid #ccc;
    border-bottom: none; /* no bottom border,so that it integrates with the container */
    border-radius: 5px 5px 0 0;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.copied {
    transform: scale(1.2); /* Briefly scale up the icon */
    color: #4CAF50; /* Change color to green to show success */
}

.suggestionContainer {
    display: block;
    max-width: 600px;
    max-height: 600px; /* Set max height for the suggestion container */
    min-width: 100px;
    min-height: 150px;
    overflow-y: auto;
    overflow-x: hidden; /* Correct overflow-x value */
    border: 1px solid #ccc; /* Add a border around the container (optional) */
    padding: 5px; /* Optional padding inside the container */
    border-radius: 10px;
}


.icon-container {
    display: flex; /* Use Flexbox layout */
    justify-content: space-around; /* Distribute icons evenly with space around */
    align-items: center; /* Align icons vertically in the center */
    margin-top: 2px; /* Add 2px space above the icons */
    gap: 10px; /* Add 10px spacing between the icons */
}

.contextMenuHeader {
    background: #f0f0f0; /* light gray background */
    color: #222; /* dark text for readability */
    font-weight: normal; /* default weight */
    font-style: normal; /* override <em> italics if not wanted */
}

.contextMenuHeaderError {
    background: red; /* strong error background */
    color: white; /* clear contrast */
    font-weight: bold; /* emphasize error */
    font-style: normal; /* avoid italics */
}

/* Common styles for all icons */
.icon {
    cursor: pointer; /* Make the icon interactive */
    font-size: 20px; /* Set size of the icon */
    display: inline-block; /* Ensure consistent alignment */
}

.cancel-icon {
    top: -10px;
    left: 90%;
    position: relative;
}

.page-icon {
    padding: 0 10px;
    opacity: 0.5;
    pointer-events: none;
    cursor: none;
}

/* Specific icon styles (Font Awesome for now) */
.drag-icon::before {
    content: '\f0b2'; /* Font Awesome arrows-alt Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
    font-size: 2em; /* 50% bigger */
    position: absolute; /* Ensure positioning works */
    top: -55px;
    left: -20px;
}

.edit-page-mode-icon::before {
    content: '\f1ea'; /* Font Awesome newspaper Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
    font-size: 1rem;
    opacity: 0.5;
    pointer-events: none;
    cursor: none;
}

.edit-cms-mode-icon::before {
    content: '\f0e8'; /* Font Awesome sitemap Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
    font-size: 1rem;
    opacity: 0.5;
    pointer-events: none;
    cursor: none;
}

.addNewPage-icon::before {
    content: '\f0fe'; /* Font Awesome plus Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
}

.addToPage-icon::before {
    content: '\f1ea'; /* Font Awesome newspaper Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
}

.search-icon::before {
    content: '\f002'; /* Font Awesome search icon Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
}

.cancel-icon::before {
    content: '\f410'; /* Font Awesome window-close icon Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
}


.editor-edit-icon::before {
    content: '\f044'; /* Font Awesome edit icon Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
}

.save-icon::before {
    content: '\f0c7'; /* Font Awesome save icon Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
}

.new-content-icon::before {
    content: '\f067'; /* Font Awesome plus icon Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
}

.copy-template-icon::before {
    content: '\f0c5'; /* Font Awesome copy icon Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 400; /* Regular style */
}

.publish-cloud-icon::before {
    content: '\f382'; /* Font Awesome cloud-upload-alt icon Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid style */
}

.copy-page-icon::before {
    content: '\f0c5'; /* Font Awesome copy icon Unicode */
    font-family: 'Font Awesome 5 Free';
    font-weight: 400; /* Regular style */
}

.cmsofosEditor {
    width: 90%; /* Make the element fill 95% of the width of the parent */
    height: 98%; /* Make the element fill 95% of the height of the parent */
    border-radius: 10px; /* Rounded borders for the element */
    margin: 1px; /* Create space between the container and the element */
    padding: 10px; /* Add padding inside the textarea for better appearance */
    outline: none; /* Remove the default outline on focus */
    background-color: var(--default-highlight); /* Set the background color */
    resize: both; /* Allow horizontal and vertical resizing */
    white-space: normal; /* Allow text to wrap within the element */
    overflow: hidden; /* Hide both horizontal and vertical scrollbars */
}

/* Apply only to textareas with this class */
textarea.cmsofosEditor {
    resize: both;
    max-width: 550px;
    /*  max-height: 350px;
   /*min-width: 98%;
     min-height: 98%;*/
    overflow: auto; /* scrollbars if bigger than 300x300 */
}

.cmsofosEditor-editMode {
    width: 90%; /* Make the textarea fill 95% of the width of the parent */
    height: 98%; /* Make the textarea fill 95% of the height of the parent */
    border-radius: 10px; /* Rounded borders for the textarea */
    margin: 1px; /* Create space between the container and the textarea */
    padding: 10px; /* Add padding inside the textarea for better appearance */
    outline: none; /* Remove the default outline on focus */
    background-color: var(--default-white); /* Set the background color */
    resize: both; /* Allow horizontal and vertical resizing */
    white-space: normal; /* Allow text to wrap within the textarea */
    overflow: hidden; /* Hide both horizontal and vertical scrollbars */
}

/* Apply only to textareas with this class */
textarea.cmsofosEditor-editMode {
    resize: both;
   /* max-width: 300px;
    max-height: 300px;*/
    overflow: auto; /* scrollbars if bigger than 300x300 */
}

.search-span {
    display: flex; /* Use Flexbox layout */
    align-items: center; /* Align items vertically in the center */
    gap: 10px; /* Add 10px spacing between child elements */
}

.suggestion-item {
    background-color: rgba(0, 0, 0, 0.7); /* Semi-transparent background */
    color: white; /* Text color */
    padding: 5px; /* Space inside the element */
    border: 1px solid #ccc; /* Border around the element */
    margin-top: 2px; /* Space above the element */
    cursor: pointer; /* Pointer cursor for interactivity */
}

.no-results-message {
    padding: 5px;
    border: 1px solid #ccc;
    margin-top: 2px;
}

.ok-button {
    background-color: #4a89dc;
    color: #efecec;
    border: 1px;
    border-radius: 4px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.1s;
    margin-left: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.ok-button:hover {
    background-color: #3a7bc8; /* Darker Blue on  Hover */
    transform: translateY(-1px);
}

.ok-button:active {
    background-color: #2a6bb8; /* Even Darker Blue on Click */
    transform: translateY(0);
}

.seo {
    visibility: hidden;
}

.cmsofos-log {
    overflow: auto;
    width: 200px;
    height: 100px;
}

.tab-label {
    position: absolute;
    top: -15px;
    left: 10px;
    background-color: #f9f9f9;
    padding: 0 10px;
    border: 1px solid #ccc;
    border-bottom: none;
    border-radius: 5px 5px 0 0;
    font-size: 14px;
}

.content {
    margin-top: 10px;
}
