﻿/* 
    Qonnect Styling for forntend
    Copyright by Stretch Qonnect ApS.
*/

/* Color vars */

:root {
    /* Core palette from Stretch */
    --stretch-white: #ffffff;
    --stretch-carbon: #333333; /* 51,51,51 */
    --stretch-yellow: #ffe2cd; /* 255,226,205 */
    --stretch-pink: #fec2e7; /* 254,194,231 */
    --stretch-blue: #c9e7ff; /* 201,231,255 */
    --stretch-green: #5EB1A5; /* 134,254,244 */
    /* Derived / accessibility helpers */
    --stretch-green-strong: #00bfa5; /* darker teal-green, derived from brand aqua */
    --stretch-green-hover: #4F958A;
    --stretch-green-active: #457F75;
    --stretch-blue-strong: #5aa7e8; /* for focus rings */
    --stretch-carbon-700: #262626;
    --stretch-carbon-800: #1a1a1a;
    --stretch-carbon-20: rgba(51,51,51,0.20);
    --stretch-carbon-30: rgba(51,51,51,0.30);
    --stretch-carbon-42: rgba(51,51,51,0.42);
    --stretch-carbon-55: rgba(51,51,51,0.55);
    --stretch-carbon-03: rgba(51,51,51,0.03);
    --stretch-carbon-05: rgba(51,51,51,0.05);
    /* App theme */
    --main-white-color: var(--stretch-white);
    --main-carbon-color: var(--stretch-carbon);
    --main-background-color: var(--stretch-white);
    --main-font-color: var(--stretch-carbon);
    --main-primary-color: var(--stretch-green); /* primary = greenish teal */
    --main-secondary-color: var(--stretch-carbon);
    /* Buttons */
    --btn-padding-x: 1em;
    --btn-font-weight: 600;
    --btn-border-radius: 6px;
    --btn-border-width: 1px;
    --btn-border-style: solid;
    --btn-focus-border-color: var(--stretch-blue-strong);
    --btn-disabled-text: var(--stretch-carbon-55);
    /* Primary (greenish, more true green) */
    --btn-primary-bg: var(--stretch-green); /* fresh green-teal, more green than teal */
    --btn-primary-text: #ffffff;
    --btn-primary-border-color: var(--stretch-green);
    --btn-primary-hover-bg: var(--stretch-green-hover); /* darker green on hover */
    --btn-primary-active-bg: var(--stretch-green-active); /* pressed state */
    --btn-primary-focus-bg: var(--stretch-green-hover);
    --btn-primary-disabled-bg: rgba(0,0,0,0.15);
    /* Secondary (white bg, green text + border, aligned with primary) */
    --btn-secondary-bg: var(--stretch-white);
    --btn-secondary-text: var(--stretch-green);
    --btn-secondary-border-color: var(--stretch-green);
    --btn-secondary-hover-bg: var(--stretch-carbon-03);
    --btn-secondary-hover-text: var(--stretch-green-hover);
    --btn-secondary-focus-bg: var(--stretch-carbon-05);
    --btn-secondary-focus-text: var(--stretch-green-hover);
    --btn-secondary-active-bg: var(--stretch-carbon-20);
    --btn-secondary-active-text: var(--stretch-green-active);
    --btn-secondary-disabled-bg: var(--stretch-carbon-03);
    --btn-secondary-disabled-border-color: rgba(0,0,0,0.15);
    /* Default (neutral grey/white) */
    --btn-default-bg: var(--stretch-white);
    --btn-default-text: var(--stretch-carbon);
    --btn-default-border-color: var(--stretch-carbon-30);
    --btn-default-hover-bg: var(--stretch-carbon-03);
    --btn-default-active-bg: var(--stretch-carbon-05);
    --btn-default-focus-bg: var(--stretch-carbon-03);
    --btn-default-disabled-bg: rgba(0,0,0,0.15);
    /* Destructive (kept red) */
    --btn-destructive-bg: #D7004B;
    --btn-destructive-text: #ffffff;
    --btn-destructive-border-color: #D7004B;
    --btn-destructive-hover-bg: #AC003C;
    --btn-destructive-active-bg: #78002A;
    --btn-destructive-focus-bg: #D10049;
    --btn-destructive-disabled-bg: rgba(0, 0, 0, 0.15);
    /* Forms */
    --form-bg: var(--stretch-white);
    --form-text: var(--stretch-carbon);
    --form-border-color: var(--stretch-carbon-30);
    --form-border-radius: 6px;
    --form-border-width: 1px;
    --form-border-style: solid;
    --form-hover-border-color: var(--stretch-carbon-42);
    --form-focus-border-color: var(--stretch-blue-strong);
    --form-focus-border-width: 2px;
    --form-disabled-bg: var(--stretch-carbon-03);
    --form-disabled-text: var(--stretch-carbon-55);
    --form-disabled-border-color: rgba(0,0,0,0.15);
    --form-readonly-bg: var(--stretch-carbon-03);
    --form-readonly-border-color: var(--stretch-carbon-30);
    --form-error-border-color: #D7004B;
    /* Misc */
    --primary-button-focus-color: var(--stretch-green-hover);
    --main-pink-light-color: #fbf6fb;
    --button-font-color: #ffffff;
    --bs-bg-opacity: 1;
    --bs-primary: var(--main-primary-color);
    --bb-multiselect-min-width: 700px;
    --bb-multiselect-max-width: 1400px;
    --bb-multiselect-width: 1400px;
    --bb-dropdown-height: 400px;
    --bb-dropdown-max-height: 1000px;
    --bs-dropdown-link-active-bg: var(--stretch-blue) !important;
    --bb-multi-filter-width: 400px !important;
}


/* Text & page */
html, body {
    color: var(--main-font-color);
    background: var(--main-background-color);
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    overflow-x: hidden !important;
}

/* Buttons */
.btn { /* unchanged structure, benefits from new vars */
    padding-left: var(--btn-padding-x);
    padding-right: var(--btn-padding-x);
    font-weight: var(--btn-font-weight);
    border-radius: var(--btn-border-radius);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-color: transparent;
}
.btn:focus {
    outline: 2px solid var(--btn-focus-border-color);
    outline-offset: 0;
    box-shadow: none !important;
}

/* Primary (Carbon) */
.btn-primary,
.btn-group .btn-success {
    color: var(--btn-primary-text);
    background-color: var(--btn-primary-bg);
    border-color: var(--btn-primary-border-color);
}
.btn-primary:hover,
.btn-group .btn-success:hover {
    background-color: var(--btn-primary-hover-bg);
}
.btn-primary:active,
.btn-group .btn-success:active {
    background-color: var(--btn-primary-active-bg) !important;
}
.btn-primary:focus,
.btn-group .btn-success:focus {
    background-color: var(--btn-primary-focus-bg);
    outline: 2px solid var(--btn-focus-border-color);
    outline-offset: 0;
}

/* Secondary (outline + accent hovers) */
.btn-secondary {
    color: var(--btn-secondary-text);
    background-color: var(--btn-secondary-bg);
    border-color: var(--btn-secondary-border-color);
}
.btn-secondary:hover {
    background-color: var(--btn-secondary-hover-bg);
    color: var(--btn-secondary-hover-text);
    border-color: var(--btn-secondary-border-color);
}
.btn-secondary:active {
    background-color: var(--btn-secondary-active-bg) !important;
    color: var(--btn-secondary-active-text) !important;
}
.btn-secondary:focus {
    background-color: var(--btn-secondary-focus-bg) !important;
    color: var(--btn-secondary-focus-text) !important;
    outline: 2px solid var(--btn-focus-border-color) !important;
    outline-offset: 0;
}

/* Default (neutral) */
.btn-default,
.btn-group .btn-primary,
.btn-group .btn-warning,
.modal-footer .btn-danger {
    color: var(--btn-default-text);
    background-color: var(--btn-default-bg);
    border-color: var(--btn-default-border-color);
}

/* Forms: keep structure; just improved focus/hover via vars */
.form-control, .form-select {
    background-color: var(--form-bg);
    color: var(--form-text);
    border: var(--form-border-width) var(--form-border-style) var(--form-border-color);
    border-radius: var(--form-border-radius);
}
.form-control:hover, .form-select:hover {
    border-color: var(--form-hover-border-color) !important;
}
.form-control:focus, .form-select:focus {
    outline: 2px solid var(--form-focus-border-color);
    outline-offset: 0;
    border-color: var(--form-border-color) !important;
}

/* Tabs & multi-select accents: switch to Blue accent */
.tabs {
    --bb-tabs-item-active-color: var(--stretch-blue);
    --bb-tabs-item-hover-color: var(--stretch-blue);
    --bb-tabs-bar-bg: var(--stretch-blue);
}

/* Nav active underline color now Carbon (ink color) */
.navbar-nav .nav-item.active {
    border-color: var(--stretch-carbon) !important;
    font-weight: bold !important;
}

/* Bg mapping to new theme */
.bg-primary {
    background-color: var(--btn-primary-bg) !important;
}  /* Carbon */

.bg-secondary {
    background-color: var(--main-secondary-color) !important;
} /* Blue accent */

.bg-stretch-pink {
    background-color: var(--stretch-pink) !important;
}

/* SVGs to use primary ink */
.svg-fill-primary {
    fill: var(--main-primary-color) !important;
    stroke: var(--main-primary-color) !important;
}

/* Multiselect active bg now Blue accent */
.qlikobjecttabselect-multiselect .dropdown-menu {
    --bs-dropdown-link-active-bg: var(--stretch-blue);
}


.list-group {
    height: auto;
    --bs-list-group-active-bg: var(--main-primary-color);
    --bs-list-group-active-border-color: var(--main-primary-color);
}

/* Buttons */

.btn {
    padding-left: var(--btn-padding-x);
    padding-right: var(--btn-padding-x);
    font-weight: var(--btn-font-weight);
    border-radius: var(--btn-border-radius);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-color: transparent;
}

    .btn:focus {
        outline: 2px solid var(--btn-focus-border-color);
        outline-offset: 0px;
        box-shadow: none !important;
    }

/* Optional: override Bootstrap icon buttons */
.btn-icon {
    --bs-btn-color: black !important;
}

/* === PRIMARY BUTTON === */
.btn-primary,
.btn-group .btn-success {
    color: var(--btn-primary-text);
    background-color: var(--btn-primary-bg);
    border-color: var(--btn-primary-border-color);
}

    .btn-primary:hover,
    .btn-group .btn-success:hover {
        background-color: var(--btn-primary-hover-bg);
    }

    .btn-primary:active,
    .btn-group .btn-success:active {
        background-color: var(--btn-primary-active-bg) !important;
    }

    .btn-primary:focus,
    .btn-group .btn-success:focus {
        background-color: var(--btn-primary-focus-bg);
        outline: 2px solid var(--btn-focus-border-color);
        outline-offset: 0px;
    }

    .btn-primary:disabled,
    .btn-group .btn-success:disabled {
        background-color: var(--btn-primary-disabled-bg);
        color: var(--btn-primary-disabled-text);
    }

/* === SECONDARY BUTTON === */
.btn-secondary {
    color: var(--btn-secondary-text);
    background-color: var(--btn-secondary-bg);
    border-color: var(--btn-secondary-border-color);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-radius: var(--btn-border-radius);
}

    .btn-secondary:hover {
        background-color: var(--btn-secondary-hover-bg);
        color: var(--btn-secondary-hover-text);
        border-color: var(--btn-secondary-border-color);
    }

    .btn-secondary:active {
        background-color: var(--btn-secondary-active-bg) !important;
        color: var(--btn-secondary-active-text) !important;
    }

    .btn-secondary:focus {
        background-color: var(--btn-secondary-focus-bg) !important;
        color: var(--btn-secondary-focus-text) !important;
        outline: 2px solid var(--btn-focus-border-color) !important;
        outline-offset: 0px;
    }

    .btn-secondary:disabled {
        background-color: var(--btn-secondary-disabled-bg);
        color: var(--btn-disabled-text);
        border-color: var(--btn-secondary-disabled-border-color);
    }

.btn-default,
.btn-group .btn-primary,
.btn-group .btn-warning,
.modal-footer .btn-danger {
    color: var(--btn-default-text);
    background-color: var(--btn-default-bg);
    border-color: var(--btn-default-border-color);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-radius: var(--btn-border-radius);
}

    /* Hover */
    .btn-default:hover,
    .btn-group .btn-primary:hover,
    .btn-group .btn-warning:hover,
    .modal-footer .btn-danger:hover {
        background-color: var(--btn-default-hover-bg);
        color: var(--btn-default-text);
        border-color: var(--btn-default-border-color);
    }

    /* Active */
    .btn-default:active,
    .btn-group .btn-primary:active,
    .btn-group .btn-warning:active,
    .modal-footer .btn-danger:active {
        background-color: var(--btn-default-active-bg) !important;
        color: var(--btn-default-text) !important;
        border-color: var(--btn-default-border-color) !important;
    }

    /* Focus */
    .btn-default:focus,
    .btn-group .btn-primary:focus,
    .btn-group .btn-warning:focus,
    .modal-footer .btn-danger:focus {
        background-color: var(--btn-default-focus-bg) !important;
        color: var(--btn-default-text) !important;
        outline: 2px solid var(--btn-focus-border-color) !important;
        outline-offset: 0px;
    }

    /* Disabled */
    .btn-default:disabled,
    .btn-group .btn-primary:disabled,
    .btn-group .btn-warning:disabled,
    .modal-footer .btn-danger:disabled {
        background-color: var(--btn-default-disabled-bg);
        color: var(--btn-disabled-text);
        border-color: var(--btn-default-border-color);
    }

/* === DESTRUCTIVE BUTTON === */
.btn-destructive,
.btn-danger {
    color: var(--btn-destructive-text);
    background-color: var(--btn-destructive-bg);
    border-color: var(--btn-destructive-border-color);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-radius: var(--btn-border-radius);
}

    .btn-destructive:hover,
    .btn-danger:hover {
        background-color: var(--btn-destructive-hover-bg);
        color: var(--btn-destructive-text);
        border-color: var(--btn-destructive-border-color);
    }

    .btn-destructive:active,
    .btn-danger:active {
        background-color: var(--btn-destructive-active-bg) !important;
        color: var(--btn-destructive-text) !important;
    }

    .btn-destructive:focus,
    .btn-danger:focus {
        background-color: var(--btn-destructive-focus-bg) !important;
        color: var(--btn-destructive-text) !important;
        outline: 2px solid var(--btn-focus-border-color) !important;
        outline-offset: 0px;
    }

    .btn-destructive:disabled,
    .btn-danger:disabled {
        background-color: var(--btn-destructive-disabled-bg);
        color: var(--btn-disabled-text);
        border-color: var(--btn-destructive-border-color);
    }

/* === FORM CONTROLS === */
.form-control, .form-select {
    background-color: var(--form-bg);
    color: var(--form-text);
    border: var(--form-border-width) var(--form-border-style) var(--form-border-color);
    border-radius: var(--form-border-radius);
}

    .form-control:hover, .form-select:hover {
        border-color: var(--form-hover-border-color) !important;
    }

    .form-control:focus, .form-select:focus {
        outline: 2px solid var(--form-focus-border-color);
        outline-offset: 0px;
        border-color: var(--form-border-color) !important;
    }

    .form-control:disabled, .form-select:disabled {
        background-color: var(--form-disabled-bg) !important;
        color: var(--form-disabled-text) !important;
        border-color: var(--form-disabled-border-color);
    }

    .form-control[readonly], .form-select[readonly] {
        background-color: var(--form-readonly-bg);
        border-color: var(--form-readonly-border-color);
    }

    .form-control.is-invalid, .form-select.is-invalid {
        border-color: var(--form-error-border-color) !important;
    }

.form-fixed {
    width:45em !important;
}
/* Hide seconds display on clock */
.bb-time-header span:nth-child(n+4) {
    display: none !important;
}

.input-button-container {
    position: relative;
    display: inline-block; /* Or flex, depending on your layout needs */
}

.schedule-create-input, .input-button-container {
    width: 100% !important;
}

.input-overlay-button:hover {
    /* Optional: change the cursor to indicate it's clickable */
    cursor: pointer;
}

.input-overlay-button:active {
    background-color: #cccccc; /* Light grey background */
}


.input-overlay-button {
    position: absolute;
    right: 0; /* Adjust as needed */
    top: 50%; /* Center vertically */
    transform: translateY(-50%); /* Adjust button to be centered */
    background: transparent !important;
    border: none !important;
    color: inherit;
}

.input-overlay-button {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.bb-time-header {
    margin-right: 23.5rem !important;
    margin-top: 1.5rem !important;
}

.bb-time-body {
    margin-right: 60.2rem !important;
    margin-bottom: 2em !important;
}

.bb-time-footer {
    margin-left: 5.8rem !important;
}

.bb-time-footer .btn-pm {
    margin-right: 64.8rem !important;
}

/*TODO is this usedfull*/
.btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active {
}
    /*TODO is this usedfull*/
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--main-primary-color);
}

/* Validation */

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.dropdown-header {
    font-weight: bold;
}

.btn-sign-up-monthly {
    font-weight: bold !important;
    color: white !important;
    background-color: #a7a3a3 !important;
    text-shadow: 0 0 1px rgb(0 0 0 / 51%) !important;
    border: none !important;
}

.btn-sign-up-monthly:hover {
    background-color: #8e8b8b !important;
}
.btn-sign-up-yearly {
    font-weight: bold !important;
    color: white !important;
    text-shadow: 0 0 1px rgb(0 0 0 / 51%) !important;
    border: none !important;
}

.btn-sign-up-yearly:hover {
    background-color: #5abeb5 !important;
}

.most-popular-badge {
    font-size: 0.85rem !important;
    padding: 0.25rem 0.5rem !important;
}


.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

.table-hover > tbody > tr:hover > * {
    background-color: #f5f2f2;
}

body {
    /*    background-image: url('/media/QC_BG_warm_grey.png');*/
    background-color: #eee9e9;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    overflow-y: auto !important;
}

/* hack to remove the black line around the video*/
video {
    clip-path: inset(1px 1px);
}

.nav-menu-hover:hover {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--stretch-pink);
}

.qlikobjecttabselect-multiselect {
    display:inline-block;
}

.qlikobjecttabselect-multiselect .multi-select {
    width: var(--bb-multiselect-width);
}

.qlikobjecttabselect-multiselect .dropdown-menu {
    --bs-dropdown-link-active-bg: var(--main-green-color);
    height: var(--bb-dropdown-height);
    max-height: var(--bb-dropdown-max-height);
    min-width: var(--bb-multiselect-min-width);
    max-width: var(--bb-multiselect-max-width);
    resize: auto;
}

/* Tabs */
.tabs {
    --bb-tabs-item-active-color: var(--main-green-color);
    --bb-tabs-item-hover-color: var(--main-green-color);
    --bb-tabs-bar-bg: var(--main-green-color);
}



/*Custom elements TOBE reworks*/
.select-setting {
    display: inline-flex;
}


    .select-setting .form-control {
        margin-top: 0.87%;
        max-width: 20rem;
        height: 5%;
    }

    .select-setting Button {
        margin-left: 20%;
    }

.schedule-button {
    background: green;
}

    .schedule-button:hover {
        background: darkgreen;
    }

.content {
    padding-top: 1.1rem;
}

/*svg*/

.svg-fill-primary {
    fill: var(--main-primary-color) !IMPORTANT;
    stroke: var(--main-primary-color) !IMPORTANT;
}