:root{
    --main-color:#1b1b9a;
    --main-color-light:#fdd63d;
    --main-color-light-hover:#e3c036;
    --secondary-color-dark:#c3c3c3;
    --bs-primary-rgb: 27, 27, 154;
    --topbar-height: 56px;
    --leftbar-width: 250px;
    --main-title-color:#1b1b9a;
}
[data-bs-theme="dark"]{
    --main-title-color:#4646a2;
    & i.dark{
        display: block;
    }
    & i.light{
        display: none;
    }
    & .btn-outline-secondary{
        --bs-btn-color: var(--secondary-color-dark);
        --bs-btn-border-color: var(--secondary-color-dark);
        --bs-btn-hover-bg: var(--secondary-color-dark);
        --bs-btn-hover-border-color: var(--secondary-color-dark);
        --bs-btn-hover-color: black;
        --bs-btn-active-bg: var(--secondary-color-dark);
    }
}
[data-bs-theme="light"]{
    & i.light{
        display: block;
    }
    & i.dark{
        display: none;
    }
}
body {
    font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
    height:100vh;
}
.page{
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
    overflow: auto;
}
.page:has(.sidebar){
    grid-template-columns: var(--leftbar-width) 1fr;
}


.page:not(:has(.sidebar)){
    grid-template-columns: var(--leftbar-width) 1fr;
    & .content {
        grid-column: 1 / -1;
        grid-row: 1 / -1;
    }
}
.sidebar {
    grid-column: 1;
    grid-row: 1 / -1;
    overflow-y: auto;
    z-index: 1000;
    background-color: var(--bs-body-bg);
    height: calc(100vh - var(--topbar-height));
}
.sidebar.collapsed {
    transform: translateX(-100%);
}
.content {
    grid-column: 2 / -1;
    grid-row: 1 / -1;
}
.content.analysis{
    overflow: auto;
}

html,body{
    height:100%;
}
.page{
    height:calc(100% - var(--topbar-height));
}
.content{
    height:100%;
}

.navbar-text{
 color:white;
}



#menubutton{
    display: none;
    .bi-x-lg{
        display: none;
    }
    &.open{
        transform: translateX(0px);
        & .bi-three-dots-vertical{
            display: none;
        }
        & .bi-x-lg{
            display: block;
        }
    }
}

@media (max-width: 991.98px) {
    .sidebar{
        transition: transform .2s ease;
        transform: translateX(-250px);
        box-shadow: -1px 0px #c3c3c3 inset;
        &.open{
            transform: translateX(0px);
        }
    }
    .content{
        grid-column: 1 / -1;
    }
    #menubutton{
        display: block;
    }
}





.step-box{
    border:solid 1px var(--bs-border-color);
    padding:1rem;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap:1rem;

    & .error .bootstrap-tagsinput,.error .form-control,.error.bootstrap-select{
        border-color: red;
    }

    & .errorMessage{
        color:red;
        font-size: 90%;
    }

    & .bootstrap-select.form-select{
        padding:0;
        background-image:none
    }

    &.radioactivator:has(#keyword_traffic_yes:checked) .radioactivated { display: block; }
    & .radioactivated{
        display: none;
    }

    & p{
        margin-bottom: 0;
    }


    & .form-check-label{
        margin-right: 1rem;
        margin-left:0.2rem;
        cursor:pointer;
    }
    & .form-label{
        color:var(--main-title-color);
        font-weight: 700;
        margin-bottom: 0;
    }

    & .title{
        font-weight: 900;
        color:var(--main-title-color);
        font-size: 1.3rem;
    }
    & .description{
        font-size: 90%;
        color:#737373;
    }
}
.step-container{

    /* Chrome, Safari, Edge, Opera */
    & input::-webkit-outer-spin-button,
    &input::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

    /* Firefox */
    & input[type=number] {
      -moz-appearance: textfield;
    }
    [data-decrement],[data-increment]{
        cursor:pointer;
    }

    gap: 2rem;
    display: flex;
    flex-direction: column;

    & .bi-info-circle{
        cursor: pointer;
    }

    & .step{
        display: none;
        &.active{
            display: flex;
            flex-direction: column;
            gap:1rem;
            border:solid 1px var(--bs-border-color);
            padding:1rem;
            border-radius: 10px;
        }
    }

    .buttons{
        display: flex;
        justify-content: space-around;
    }
    .stepper{
        position:relative;
        display: flex;
        justify-content: space-around;
        &::before{
            content: '';
            display: block;
            position: absolute;
            height: 2px;
            background-color: var(--main-title-color);
            width: 50%;
            top: 27%;
            z-index: 100;
        }
        & .step-indicator{
            z-index: 101;
            display: flex;
            flex-direction:column;
            align-items: center;

            &.done .indicator{
                color:#05b405;
                border: solid 2px #05b405;
            }
            &.active .indicator{
                background: radial-gradient(circle,var(--main-title-color) 49%, var(--bs-body-bg) 55%)
            }
        }

        & .step-indicator .indicator{
            display: block;
            height: 30px;
            width: 30px;
            border-radius: 20px;
            border: solid 2px var(--main-title-color);
            background: var(--bs-body-bg);
            font-size: 25px;
            text-align: center;
            line-height: 30px;
        }
    }

    & .bootstrap-tagsinput input {
        color: var(--bs-body-color);
        flex-grow:1;
    }
    & .bootstrap-tagsinput {
      display: flex;
      flex-wrap:wrap;
      width: 100%;
      padding: .375rem 0.275rem;
      font-size: 1rem;
      line-height: 2;
      background-color: inherit;
      border: 1px solid var(--bs-border-color);
      border-radius: 0;
      box-shadow: none;
    }
    & .bootstrap-tagsinput .tag {
        margin-right: 2px;
        color:var(--main-title-color);
        border:solid 1px var(--main-title-color);
        padding: 0.2em 0.4em;
        border-radius: .2rem;
    }
}




.btn-light{
    --bs-btn-bg: var(--main-color-light);
    --bs-btn-border-color: var(--main-color-light);
    --bs-btn-hover-bg: var(--main-color-light-hover);
    --bs-btn-hover-border-color: var(--main-color-light-hover);
}
.btn-outline-light{
    --bs-btn-color: var(--main-color-light);
    --bs-btn-border-color: var(--main-color-light);
    --bs-btn-hover-bg: var(--main-color-light);
    --bs-btn-hover-border-color: var(--main-color-light);
    --bs-btn-active-bg: var(--main-color-light);
}

.hero {
  background: linear-gradient(135deg, var(--main-color), #1b1b9a);
  color: white;
  padding: 28px 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  position: relative;
}
.hero .btn{
    width: 180px;
}
.dash-card,.plan-card {
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.dash-card:hover,.plan-card:hover { box-shadow: 0 10px 24px rgba(0,0,0,0.12) !important; }
.icon-pill {
    min-width: 40px;
    height: 40px;
      border-radius: 8px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(159, 159, 159, 0.8);
      color: var(--bs-light);
}
.list-group-item { background: transparent; }


#fullScreenTooltip{
    padding: 0.5rem;
    border:solid 2px var(--bs-border-color);
    background-color: var(--bs-body-bg);
    box-shadow: 3px 3px 10px rgb(0 0 0 / 50%);
    &::backdrop {
      background-color:  rgb(0 0 0 / 50%);
    }
    & .fullScreenTooltipHeader{
        display: flex;
        gap:1rem;
    }
    & button {
        flex-grow: 0;
        align-self: flex-end;
    }
    & #fullScreenTooltipTitle{
        flex-grow: 1;
        font-weight: 900;
            color: var(--main-title-color);
            font-size: 1.3rem;
    }
    & #fullScreenTooltipText{
        font-size: 90%;
            color: #737373;
    }
}
.ag-set-filter-list br{
    display: none;
}

.helper-tip { color: rgba(255,255,255,.95); cursor: help; }

.list-group-item{
    --bs-list-group-item-padding-x: 0;
}
.highlight {
    background-color: #fffbbc;
    color: #000;
}


input.unstyled {
    border: none;
    background-color: transparent;
    color: inherit;
    font-size: inherit;
    padding: 0;
    margin: 0;
    outline: none;
}
.table-link{
    font-weight: 600;
}

.navbar .btn{
    height:40px;
}


.seomodal{
    border:solid 2px var(--bs-border-color);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-radius: 12px;
    overflow: hidden;

    &::backdrop {
       background-color: #42424280;
    }

    .description{
        font-size: 90%;
        color: #737373;
    }

    button .spinner-border,button .ing{
        display: none;
    }

    button[data-sending="true"] .spinner-border,button[data-sending="true"] .ing{
        display: inline-block;
    }

    textarea{
        min-height: 50vh;
        max-height: 50vh;
        width: 100%;
        resize: none;
        border:solid 1px var(--bs-border-color);
        background-color: transparent;
        color: inherit;
        font-size: inherit;
        padding: 0.2rem;
        margin: 0;
        outline: none;
    }
}

.chart-tooltip{
    padding:0.5rem;
    .title{
        margin-bottom:1 rem;
        display: flex;
        align-items: center;
        span{
            width:1rem;
            height:1rem;
            display: inline-block;
            border-radius: 50%;
            margin-right: 0.5rem;
        }
    }
    .valuerow{

        margin:0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        .name{
            font-weight: bold;
        }
        .value{
            text-align: right;;
        }
    }

}
#main-content{
    height:100%;
}
.chart-table{
    height:100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;

    .valuerow{
        margin:0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        .name{
            font-weight: bold;
        }
        .value{
            text-align: right;
        }
        > span{
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }
    }
    .chart-summary{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1rem;
    }
    .legend-color{
        width:1rem;
        height:1rem;
        display:inline-block;
    }
}
