/* Terrevision Brand Palette */
:root{
    --tv-primary: #8db215;
    --tv-dark: #543a2e;
    --tv-primary-light: #eef6d3;
    --q2-accent: #8db215;
    --q2-accent-contrast: #ffffff;
    --q2-link: #8db215;
    --q2-focus-ring: rgba(141, 178, 21, 0.45);
    --tv-red: #dc3545;
}
:root[data-theme="light"] {
    --tv-bg-stripe: #f5f5dc;
}
:root[data-theme="dark"] {
    --tv-bg-stripe: #3d2a21;
}

/* DataTables Styling for Weekly Basket */
table.dataTable {
  width: 100% !important;
  border-collapse: collapse;
}

table.dataTable tbody tr:nth-of-type(odd) {
  background-color: var(--tv-bg-stripe) !important;
}

table.dataTable th,
table.dataTable td {
  padding: 0.6rem 0.8rem;
  vertical-align: middle;
}

/* --- Navbar & Logo Enhancements --- */
.navbar-brand img {
    height: 38px;
    width: auto;
    filter: drop-shadow(1px 1px 1px #fff) drop-shadow(-1px -1px 1px #fff);
}

/* --- Panier Circular Button --- */
.panier-circle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    background-color: var(--tv-primary-light);
    color: var(--tv-dark) !important;
    border-radius: 10%;
    font-size: .8rem;
    box-shadow: 0 2px 4px rgba(44, 40, 39, 0.25);
    text-decoration: none !important;
    transition: transform 0.15s ease, background-color 0.15s ease;
    left: 5%;
}
.panier-circle-btn:hover {
    transform: scale(.88);
    background-color: #9ec41c;
}
.langswitcher a {
    color: var(--tv-primary);
    &.active {
        text-decoration: none;
        color: var(--tv-dark);
        background-color: var(--tv-primary-light);
        font-weight: bold;
    }
}

/* --- Language Switcher Badges ---*/
.langswitcher {
    position: fixed;
    /*top: 0% !important;
    right: 0% !important;*/
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
}
.langswitcher .lang-badge {
    padding: 0.15rem 0.45rem;
    border-radius: 3px;

    text-decoration: none;
    font-weight: 600;
}
.langswitcher .lang-badge.active {
    background-color: var(--tv-primary-light);
    color: var(--tv-dark) !important;
}

/* --- Sidebar Styling --- */
.sidebar-content p {
    margin: 0 0 0.5rem 0.75rem !important;
    font-size: 0.925rem;
    line-height: 1.45;
}
.sidebar-content h4 {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

/* --- Footer Layout & Logo --- */
#footer {
    border-top: 1px solid var(--q2-divider);
    padding: 1.5rem 1rem;
}
#footer .footer-content p {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    font-size: 0.9rem;
}
#footer .footer-content img {
    height: 24px;
    vertical-align: middle;
}

/* Alert modular boxes */
.modular-notices {
  margin-bottom: 1.5rem;
}
.modular-alert {
  padding: 0.85rem 1.25rem;
  border-radius: 6px;
  margin-bottom: 1rem;
}
.modular-alert-content p {
  margin: 0;
  line-height: 1.45;
    color: #055160;
    a{
        color: #055160 !important;
        font-weight: bolder;
    }
}
.modular-alert.alert-primary,
.modular-alert.alert-green {
  background: #eef6d3;
  border-left: 4px solid var(--tv-primary);
    p, a{
      color: var(--tv-dark);

    }
}
.modular-alert.alert-warning,
.modular-alert.alert-yellow {
  background: #fff3cd;
  border-left: 4px solid #ffc107;
    p{
        color: var(--tv-dark);

    }
}
.modular-alert.alert-error,
.modular-alert.alert-red {
  background: #f8d7da;
  border-left: 4px solid var(--tv-red);
    p{
        color: var(--tv-dark);
    }
}
.modular-alert.alert-blue,
.modular-alert.alert-info {
  background: #cff4fc;
  border-left: 4px solid #0dcaf0;
  color: #055160 !important;
}
.basket-buttons{
    .btn-primary{
        background: var(--tv-dark);
    }
}
.blog-date{
    padding: 2px;
    border-radius: 4px;
    background: var(--q2-bg-muted);
    opacity: 0.7;
    font-size: 1.5rem;
}
.overlay{
    padding-top:35px;
    #actions{
        position: absolute;
        top:0;
        left:25%;

        .langswitcher{
            top:8px;
        }
    }
    .overlay-menu{
        a{
            line-height: 1 !important;
            padding: .3rem 0 !important;
        }
        ul{
            li{
                a.active{
                    color:var(--tv-primary) !important;
                }
            }
        }
    }
}
fieldset.fieldset-icon-minus > legend::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f056 "; /* fa-circle-minus unicode */
    margin-right: 0.5rem;
    color: var(--tv-red);
}
fieldset.fieldset-icon-plus > legend::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f055 "; /* fa-circle-plus unicode */
    margin-right: 0.5rem;
    color: var(--tv-primary);
}
.label{
    &:hover{
        background: var(--q2-text);
        color: var(--q2-text-inverse);
    }
}
.pagination li{
    border: none !important;
}
