/*
Theme Name: Mihai B Theme 25
Theme URI: https://mihaibadic.com
Description: Full Site Editing theme with Blocks and helper items to make designing easy
Version: 0.95
Requires at least: 6.0
Requires PHP: 7.4
Author: Mihai Badic
Text Domain: wp-blank-25
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* CSS Resets */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: auto;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

html {
    scroll-behavior: smooth;
}

img {
    max-width: 100%;
    height: auto;
}

/* ---------------------- */
/* Navigation */
/* ---------------------- */

/* Change the Menu mobile breakpoint to tablet size */
@media (min-width: 900px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
        width: 100%;
        position: relative;
        z-index: auto;
        background-color: inherit;
    }
}

/* neutralize the wp default mobile breakpoint for 600px */
@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
}

/* Submenu container styling */
.wp-block-navigation .wp-block-navigation__submenu-container {
    border: none !important;
    -webkit-box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.15);
    -moz-box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.15);
    box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.15);
    padding: 10px;
}

/* Individual submenu items */
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
    padding: 8px;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    justify-content: end;
    align-items: end;
    text-align: right;
}

/* Submenu item hover state */
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover {   
}

/* Target collapsed menu */
.wp-block-navigation__responsive-container.is-menu-open {
    padding: 20px;
    background-color: var(--wp--preset--color--mb-mustard)!important;
}

/* Target navigation items in collapsed state */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
    padding: 10px 0;
    font-size: var(--wp--preset--font-size--v-large)!important;
    color: var(--wp--preset--color--white)!important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item.current-menu-item {
    color: var(--wp--preset--color--mb-ketchup)!important;
}

/* Target submenu items in collapsed state */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
    padding-right: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    /* Add custom spacing for the submenu container */
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 20px;
    padding-bottom: 0px;
}

/* Individual submenu items in mobile collapsed state */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item {
    padding: 0 0 20px 0; /* Adjust vertical spacing between items */
    position: relative;
}

/* Add geometric left-pointing chevron to submenu items in mobile collapsed state */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content::after {
    content: '';
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-left: 2px solid var(--wp--preset--color--bloom-offblack);
    border-bottom: 2px solid var(--wp--preset--color--bloom-offblack);
    opacity: 0.7;
}

/* Ensure the submenu item content has relative positioning for absolute positioned chevrons */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content {
    position: relative;
    padding-right: 25px; /* Add space for the chevron */
}

.current-menu-item {
    color: var(--wp--preset--color--mb-ketchup);
    text-decoration: underline;
}

footer .current-menu-item {
    text-decoration: underline;
    color: inherit;
}

/* ---------------------- */

/* Content General Styles */

/* ---------------------- */


body.home {

}

body.single-post {
    background-color: white !important;
}

/* Misc */

.counter {
    display: inline-block; /* Ensures spans are treated similarly to divs */
}

.wp-block-image figcaption {
    font-size: 0.85rem;
    color: #6b6b6b;
    margin-bottom: 0.5rem;
    font-weight: 400;
}

/* Remove posts terms link functionality while keeping the styling */
.wp-block-post-terms a {
    text-decoration: none;
    color: inherit;
}


#main-site-title {
    overflow-wrap: break-word;
}


@media (max-width: 425px) {
    #main-site-title {
        font-size: 2.75rem!important;
    }
}


/* Accordions in the WP world - as Details element */


.accordion-centered .wp-block-details summary {
    text-align: center;
}

.wp-block-details {
    border-radius: 8px;
    width: 100%;
}

.accordion-not-rounded {
    border-radius: 0;
}


.wp-block-pullquote {
    position: relative;
}

.wp-block-pullquote::before,
.wp-block-pullquote::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 6.5rem;
    position: absolute;
    line-height: 1;
    color: inherit;
    font-style: normal;
    font-weight: normal;
}

.wp-block-pullquote::before {
    content: '“';
    left: 0;
    top: -1rem;
}

.wp-block-pullquote::after {
    content: '“';
    right: 0;
    bottom: -2rem;
    transform: rotate(180deg); /* This flips the quote mark */
}

/* Lists indentation */

.wp-block-list .wp-block-list {
    padding-left: 2rem;
    margin-left: 0;
}

.wp-block-list .wp-block-list .wp-block-list {
    padding-left: 2.5rem;
}

.wp-block-list .wp-block-list .wp-block-list .wp-block-list {
    padding-left: 3rem;
}

/* Nested lists Mobile responsive adjustments */
@media (max-width: 450px) {
    .wp-block-list .wp-block-list {
        padding-left: 1rem;
    }
    
    .wp-block-list .wp-block-list .wp-block-list {
        padding-left: 1.5rem;
    }
    
    .wp-block-list .wp-block-list .wp-block-list .wp-block-list {
        padding-left: 2rem;
    }
}

/* Helper class */

.position-relative {
    position: relative;
}

/* ---------------------- */

/* Block Extensions Panel Support Start */

/* ---------------------- */


/* Navbar */

.navbar {
    position: fixed;
    top: 0;
    z-index: 100;
    transition: top 0.5s ease-out;
}

.navbar-animated {
    top: -90px;
}

.animate-down {
    top: 0;
}

/* Other */

.overflow-x-clip {
    position: relative;
    overflow-x: clip;
}

/* Fade in content */

.fade-in-tier-1, .fade-in-tier-2, .fade-in-tier-3, .fade-in-tier-4, .fade-in-tier-5 {
    opacity: 0;
    transition: opacity 1s ease-out;
}   

.fade-in-tier-1.fade-in, .fade-in-tier-2.fade-in, .fade-in-tier-3.fade-in, .fade-in-tier-4.fade-in, .fade-in-tier-5.fade-in {
    opacity: 1;
}

/* Display order */

.z-index-negative-1 {
    z-index: -1 !important;
    position: relative;
}

.z-index-0 {
    z-index: 0 !important;
    position: relative;
}

.z-index-1 {
    z-index: 1 !important;
    position: relative;
}

.z-index-2 {
    z-index: 2 !important;
    position: relative;
}

.z-index-3 {
    z-index: 3 !important;
    position: relative;
}

.z-index-4 {
    z-index: 4 !important;
    position: relative;
}

.z-index-5 {
    z-index: 5 !important;
    position: relative;
}

.text-align-left {
    text-align: left !important;
}

.text-align-center {
    text-align: center !important;
}

.text-align-right {
    text-align: right !important;
}


/* Min and Max width styles */

.force-width-full {
    width: 100% !important;
}

.max-width-narrow {
    max-width: 400px !important;
}

.max-width-medium {
    max-width: 800px !important;
}

.max-width-wide {
    max-width: 1200px !important;
}

.min-width-extra-small {
    min-width: 175px !important;
}

.min-width-small {
    min-width: 225px !important;
}

.min-width-medium {
    min-width: 500px !important;
}

.min-width-large {
    min-width: 750px !important;
}

.min-width-extra-large {
    min-width: 750px !important;
}


/* Tablets and Phones */

@media (max-width: 780px) {

    .tablet-width-full {
        width: 100% !important;
    }

    .tablet-min-width-unset {
        min-width: unset !important;
    }

    .tablet-force-row {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }

    .tablet-allow-wrap {
        flex-wrap: wrap !important;
    }

    .tablet-force-stack {
        flex-direction: column !important;
    }
    .tablet-force-stack > * {
        flex-basis: content !important;
    }
    
    .tablet-justification-start {
        justify-content: start !important;
        align-items: start !important;
    }

    .tablet-justification-center {
        justify-content: center !important;
        align-items: center !important;
    }
    
    .tablet-justification-end  {
        justify-content: end !important;
        align-items: end !important;
    }

    .tablet-justification-space-between  {
        justify-content: space-between !important;
    }

    .tablet-text-center {
        text-align: center !important;
    }

    .tablet-reorder-1 {
        order: 1;
    }

    .tablet-reorder-2 {
        order: 2;
    }

    .tablet-reorder-3 {
        order: 3;
    }

    .tablet-reorder-4 {
        order: 3;
    }

    .tablet-reorder-5 {
        order: 3;
    }

    .tablet-dont-show {
        display: none !important;
    }

    .tablet-reset-top-margin {
        margin-top: 0 !important;
    }

    .tablet-flex-row-reverse {
        flex-direction: row-reverse !important;
    }

    .tablet-flex-column-reverse {
        flex-direction: column-reverse !important;
    }

}

/* Phones Only */

@media (max-width: 450px) {
    .phone-width-full {
        width: 100% !important;
    }

    .phone-force-row {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }

    .phone-allow-wrap {
        flex-wrap: wrap !important;
    }

    .phone-force-stack {
        flex-direction: column !important;
    }
    .phone-force-stack > * {
        flex-basis: content !important;
    }
    
    .phone-justification-start {
        justify-content: start !important;
        align-items: start !important;
    }

    .phone-justification-center {
        justify-content: center !important;
        align-items: center !important;
    }
    
    .phone-justification-end  {
        justify-content: end !important;
        align-items: end !important;
    }

    .phone-justification-space-between  {
        justify-content: space-between !important;
    }

    .phone-text-center {
        text-align: center !important;
    }

    .phone-dont-show {
        display: none;
    }
}


/* Desktop Only */

@media (min-width: 781px) {
    .desktop-dont-show {
        display: none !important;
    }
}


/* Other Styling */

.box-shadow-standard {
    -webkit-box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.15);
    -moz-box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.15);
    box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.15);
}


/* Text */

.dont-underline-links a {
    text-decoration: none !important;
}

.text-shadow-1 {
    text-shadow: 0 0 25px rgba(0,0,0,0.4);
}


/* Typewriter effect - js adds the effect to anything with this class */

.typewriter-effect {
    white-space: pre-wrap;
}


/* ---------------------- */

/* Block Extensions Panel End */

/* ---------------------- */



/* EDITOR VIEW */

.editor-styles-wrapper .fade-in-tier-1, .editor-styles-wrapper .fade-in-tier-2, .editor-styles-wrapper .fade-in-tier-3, .editor-styles-wrapper .fade-in-tier-4, .editor-styles-wrapper .fade-in-tier-5 {
    opacity: 1 !important;
}

.editor-visual-editor__post-title-wrapper {
    padding-bottom: 3rem;
    margin-bottom: 0;
    border-bottom: 1px solid darkgray;
}

.editor-visual-editor__post-title-wrapper .wp-block-post-title {
    text-align: center;
}

.editor-styles-wrapper.post-type-post {
    background-color: white !important;
}

/* Force navbar to show as static in editor regardless of animation class */
.editor-styles-wrapper .navbar-animated-slow,
.editor-styles-wrapper .navbar-animated-fast {
    top: 0 !important;
    position: relative !important;
    transform: none !important;
}
.editor-styles-wrapper .navbar-animated-slow.animate-down,
.editor-styles-wrapper .navbar-animated-fast.animate-down {
    top: 0 !important;
    position: relative !important;
}

.editor-styles-wrapper .hide-in-editor {
    display: none !important;
}

.editor-styles-wrapper .editor-text-color-override-black.has-child-selected * {
    color: #4b4b4b !important;
    border-color: #4b4b4b !important;
}