/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    /* make transparent link selection, adjust last value opacity 0 to 1.0 */
}

body {
    -webkit-touch-callout: none;
    /* prevent callout to copy image, etc when tap to hold */
    -webkit-text-size-adjust: none;
    /* prevent webkit from resizing text to fit */
    -webkit-user-select: none;
    /* prevent copy paste, to allow, change 'none' to 'text' */
    background-color: #E4E4E4;
    background-image: linear-gradient(to bottom, #A7A7A7 0%, #E4E4E4 51%);
    font-family: system-ui, -apple-system, -apple-system-font, 'Segoe UI', 'Roboto', sans-serif;
    font-size: 12px;
    height: 100vh;
    margin: 0px;
    padding: 0px;
    /* Padding to avoid the "unsafe" areas behind notches in the screen */
    padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
    text-transform: uppercase;
    width: 100%;
}

/* ripristina il case normale nel corpo e nel titolo */
.bootbox .modal-body,
.bootbox .modal-title {
    text-transform: none !important;
}

/* Portrait layout (default) */
.app {
    background: url(../img/logo.png) no-repeat center top;
    /* 170px x 200px */
    position: absolute;
    /* position in the center of the screen */
    left: 50%;
    top: 50%;
    height: 50px;
    /* text area height */
    width: 225px;
    /* text area width */
    text-align: center;
    padding: 180px 0px 0px 0px;
    /* image height is 200px (bottom 20px are overlapped with text) */
    margin: -115px 0px 0px -112px;
    /* offset vertical: half of image height and text area height */
    /* offset horizontal: half of text area width */
}

/* Landscape layout (with min-width) */
@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) {
    .app {
        background-position: left center;
        padding: 75px 0px 75px 170px;
        /* padding-top + padding-bottom + text area = image height */
        margin: -90px 0px 0px -198px;
        /* offset vertical: half of image height */
        /* offset horizontal: half of image width and text area width */
    }
}

h1 {
    font-size: 24px;
    font-weight: normal;
    margin: 0px;
    overflow: visible;
    padding: 0px;
    text-align: center;
}

.event {
    border-radius: 4px;
    color: #FFFFFF;
    font-size: 12px;
    margin: 0px 30px;
    padding: 2px 0px;
}

.event.listening {
    background-color: #333333;
    display: block;
}

.event.received {
    background-color: #4B946A;
    display: none;
}

#deviceready.ready .event.listening {
    display: none;
}

#deviceready.ready .event.received {
    display: block;
}

@keyframes fade {
    from {
        opacity: 1.0;
    }

    50% {
        opacity: 0.4;
    }

    to {
        opacity: 1.0;
    }
}

.blink {
    animation: fade 3000ms infinite;
    -webkit-animation: fade 3000ms infinite;
}


@media screen and (prefers-color-scheme: dark) {
    body {
        background-image: linear-gradient(to bottom, #585858 0%, #1B1B1B 51%);
    }
}

body {
    background-color: #f8f9fa;
}

.login-container {
    max-width: 400px;
    margin: 0 auto;
    padding: 20px;
    background-color: #ffffff;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    margin-top: 0px;
}

.logo {
    text-align: center;
    margin-bottom: 20px;
}

.content-wrapper {
    min-height: calc(100vh - 70px);
    /* Altezza dello schermo meno la navbar */
}

body {
    padding-top: 70px;
    /* Altezza della navbar */
}


.bootstrap-select .dropdown-toggle {
    display: block !important;
}

.bootstrap-select .dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.disabled-modulo {
    pointer-events: none;
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-group.is-invalid {
    border: 4px solid red;
    border-radius: 10px;
    /*padding: 0.25rem;*/
}

.navbar-toggler-icon2 {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-image: url("img/logo fondiz 512x512.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

.nav2 {
    --bs-nav-link-padding-x: 0.5rem;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-link-color);
    --bs-nav-link-hover-color: var(--bs-link-hover-color);
    --bs-nav-link-disabled-color: var(--bs-secondary-color);
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

/* Safe area iOS (notch/status bar) */
:root {
    --sat: env(safe-area-inset-top);
    --sar: env(safe-area-inset-right);
    --sab: env(safe-area-inset-bottom);
    --sal: env(safe-area-inset-left);
}

/* Spaziatura globale: evita che il contenuto finisca sotto la status bar */
body {
    padding-top: var(--sat);
    padding-left: var(--sal);
    padding-right: var(--sar);
    padding-bottom: var(--sab);
}

/* Navbar fixed-top: abbassala sotto la status bar */
#mainNav.navbar.fixed-top {
    top: var(--sat);
    left: var(--sal);
    right: var(--sar);
}



/* CONTENITORE GENERALE */
.video-drawer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 10000;
}

/* ============================= */
/* PULSANTE INFO */
/* ============================= */


.video-drawer-toggle {
    position: fixed;
    left: 12px;
    bottom: 12px;
    width: 2.3rem;
    height: 2.3rem;
    min-width: 44px;
    min-height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    z-index: 10001;
    color: blue;
    background-color: white;
    border: 0px;
}

/* icona interna */
.video-drawer-toggle i {
    font-size: 2rem;
}

/* ============================= */
/* BARRA INFERIORE */
/* ============================= */

.video-drawer-panel {
    position: fixed;
    left: 0;
    bottom: 0;

    width: 100vw;
    max-width: 100vw;

    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(6px);

    transform: translateY(100%);
    transition: transform 0.3s ease;

    padding: 0;
}

/* STATO APERTO */
.video-drawer.open .video-drawer-panel {
    transform: translateY(0);
    padding: 15px;
}

/* ============================= */
/* CONTENUTO INTERNO */
/* ============================= */

.video-drawer-inner {
    display: flex;
    flex-wrap: wrap;
    /* fondamentale per testo grande */
    gap: 10px;
    justify-content: center;
    align-items: center;

    font-size: 1rem;
    /* scala con accessibilità */
}

/* Badge tempo */
#videoTime,
#videoDuration {
    font-size: 0.9rem;
}

/* Responsive migliorato */
@media (max-width: 480px) {
    .video-drawer-inner {
        gap: 8px;
    }
}

#globalOverlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(3px);
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.overlay-spinner {
    text-align: center;
}