/* ==========================================================================
   1. ZMIENNE GLOBALNE (JEDYNE ŹRÓDŁO PRAWDY DLA CAŁEGO FRAMEWORKA)
   --------------------------------------------------------------------------
   WAŻNE: Ten plik jest ładowany globalnie na KAŻDEJ podstronie (patrz
   addons.php, punkt 2. - priorytet 5, wcześniej niż jakikolwiek blok).
   Dlatego to jedyne miejsce, w którym wolno definiować zmienne motywu
   (--primary, --secondary, --text, itd.) oraz tokeny odstępów/obramowań.
   Blok NIE MOŻE deklarować własnego ":root" z tymi samymi zmiennymi -
   powodowało to realny błąd, w którym podstrony bez bloku "Slider"
   traciły kolorystykę zależną od zmiennych zdefiniowanych tylko lokalnie
   w blocks/slider/slider.css (patrz README.md, sekcja "Naprawione błędy").
   ========================================================================== */
/* Jasny motyw (domyślny) - z wykluczeniem edytora Gutenberg iframe */
:root:not(.block-editor-iframe__html),
:root:is(.theme-light):not(.block-editor-iframe__html) {
    --primary: #2563EB;
    --secondary: #FA8A00;
    --on-primary: #FFFFFF;
    --addons-shadow-primary:0 4px 14px rgba(37,99,235,.3);
    --addons-shadow-secondary:0 4px 14px rgba(250,138,0,.3);
    --addons-accent-gradient:linear-gradient(90deg,#2563eb,#7c3aed);
    --on-secondary: #111827;
    --on-warm-gradient:#FFFFFF;
    --green-text-light:#047857;
    --green-text-dark:#6ee7b7;
    --green-text:var(--green-text-light);
    --primary-text-light: #1d4ed8;
    --primary-text-dark: #93c5fd;
    --secondary-text-light: #9a4b00;
    --secondary-text-dark: #fbbf24;
    --primary-text: var(--primary-text-light);
    --secondary-text: var(--secondary-text-light);
    --text-muted: #586575;
    --bg-canvas: #fbfcff;
    --canvas-glow-1: rgba(217, 224, 255, 0.45);
    --canvas-glow-2: rgba(220, 245, 251, 0.35);
    --canvas-glow-3: rgba(240, 248, 255, 0.25);
    --canvas-glow-4: rgba(255, 240, 235, 0.4);
    --text: #4B5563;
    --bg-panel: #FCFCFD;
    --bg-panel2: #FEFFFF;
    --border-radius: 14px;
    --card-bg: #FFFFFF;
    --border-color: #F3F4F6;
    --border-color2: #e5e7eb;
    --control-border: #858f9e;
    --wp--preset--color--border-color-2: var(--border-color2);
    --heading-color: #111827;
    --dirty-white: #FFFFFFCC;
    --everywhite: #FFFFFF;

    /* Presets by WP */
    --wp--preset--color--white: #FFFFFF;
    --wp--preset--color--black: #111111;
    --wp--preset--color--dirty-white: var(--dirty-white);

    /* --- Tokeny odstępów (padding/margin) --- */
    --addons-space-xs: 4px;
    --addons-space-sm: 8px;
    --addons-space-md: 16px;
    --addons-space-lg: 24px;
    --addons-space-xl: 32px;

    /* --- Tokeny obramowań i zaokrągleń --- */
    --addons-border-width: 1px;
    --addons-radius-sm: 8px;
    --addons-radius-md: var(--border-radius);
    --addons-radius-lg: 20px;
    --addons-radius-pill: 999px;

    /* --- Tokeny cieni --- */
    --addons-shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.06);
    --addons-shadow-md: 0 4px 12px rgba(16, 24, 40, 0.08);
    --addons-shadow-lg: 0 12px 32px rgba(16, 24, 40, 0.12);
}

/* Ciemny motyw systemowy (jeśli nie wymuszono jasnego) - z wykluczeniem edytora Gutenberg iframe */
@media (prefers-color-scheme: dark) {
    :root:not(.theme-light):not(.block-editor-iframe__html) {
        --text: #d4d6da;
        --primary-text: var(--primary-text-dark);
        --secondary-text: var(--secondary-text-dark);
    --green-text:var(--green-text-dark);
        --bg-panel: #111827;
        --bg-panel2: #020612;
        --card-bg: #1F2937;
        --border-color: #374151;
        --heading-color: #FFFFFF;
        --dirty-white: rgba(31, 41, 55, 0.96);
        --border-color2: #475569;
    --control-border: #758399;
        --text-muted: #b6c2d2;
        --bg-canvas: #0b1220;
        --canvas-glow-1: rgba(37, 99, 235, 0.12);
        --canvas-glow-2: rgba(8, 145, 178, 0.08);
        --canvas-glow-3: rgba(30, 41, 59, 0.15);
        --canvas-glow-4: rgba(80, 26, 51, 0.10);

        --wp--preset--color--border-color: var(--border-color);
        --wp--preset--color--dirty-white: var(--dirty-white);
    }
}

/* Wymuszony ciemny motyw klasą .theme-dark - z wykluczeniem edytora Gutenberg iframe */
:root.theme-dark:not(.block-editor-iframe__html) {
    --text: #d4d6da;
    --primary-text: var(--primary-text-dark);
    --secondary-text: var(--secondary-text-dark);
    --green-text:var(--green-text-dark);
    --bg-panel: #111827;
    --bg-panel2: #020612;
    --card-bg: #1F2937;
    --border-color: #374151;
    --heading-color: #FFFFFF;
    --dirty-white: rgba(31, 41, 55, 0.96);
    --border-color2: #475569;
    --control-border: #758399;
    --text-muted: #b6c2d2;
    --bg-canvas: #0b1220;
    --canvas-glow-1: rgba(37, 99, 235, 0.12);
    --canvas-glow-2: rgba(8, 145, 178, 0.08);
    --canvas-glow-3: rgba(30, 41, 59, 0.15);
    --canvas-glow-4: rgba(80, 26, 51, 0.10);

    --wp--preset--color--border-color: var(--border-color);
    --wp--preset--color--dirty-white: var(--dirty-white);
}


/* Surface colors adapt together; authored white/black text keeps its meaning. */
:root:not(.block-editor-iframe__html) body:not(.wp-admin) {
    background-color: var(--bg-panel);
    color: var(--text);
}
:root:not(.block-editor-iframe__html) .has-white-background-color {
    background-color: var(--card-bg) !important;
}
:root:not(.block-editor-iframe__html) :is(.has-white-background-color, .has-dirty-white-background-color, .addons-box) {
    --wp--preset--color--black: var(--heading-color);
    color: var(--text);
}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-primary-color { color: var(--primary-text) !important; }
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-secondary-color { color: var(--secondary-text) !important; }
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-gray-color {
    color: var(--text-muted) !important;
}

/* Explicit light panels (including a white glass panel over a photo) keep dark text.
   Use this class for a panel whose color is deliberately independent of the theme. */
:root:not(.block-editor-iframe__html) .addons-surface-light {
    --text: #374151;
    --heading-color: #111827;
    --wp--preset--color--black: #111111;
    color: var(--text);
    background-color: #FFFFFF !important;
}

/* Additional CSS support; the renderer also sets the final card's span inline. */
.is-layout-grid > .addons-offer-reason:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
}

.dynamic{
    background-color: var(--bg-canvas); 

  background-image: 
    /* 1. Jasnofioletowy/Niebieski (lew góra) - mocno wyblakły */
    radial-gradient(
      circle at 10% 10%,          
      var(--canvas-glow-1) 0%, /* Zmniejszone krycie z 0.7 na 0.45 */
      transparent 55%              
    ),
    /* 2. Jasnomorski (lewy środek) - jeszcze bardziej subtelny */
    radial-gradient(
      circle at 35% 55%,          
      var(--canvas-glow-2) 0%, /* Zmniejszone krycie z 0.6 na 0.35 */
      transparent 60%
    ),
    /* 3. Bardzo blady, centralny niebieski - ledwo widoczny */
    radial-gradient(
      circle at 50% 50%, 
      var(--canvas-glow-3) 0%, /* Minimalne krycie 0.25 */
      transparent 85% 
    ),
    /* 4. Jasnoróżowy (prawy dół) - blady pastel */
    radial-gradient(
      circle at 90% 85%,          
      var(--canvas-glow-4) 0%,  /* Zmniejszone krycie z 0.8 na 0.4 */
      transparent 60%
    );

  /* Kolor tła powtórzony dla bezpieczeństwa */
  background-color: var(--bg-canvas); 
  
  background-repeat: no-repeat;
  background-size: cover;
}
/* Ukryj na mobilkach (do 667px) */
@media (max-width: 667px) {
    div.wp-block-hidden-mobile {
        display: none !important;
    }

   

}

/* Ukryj na tabletach (od 668px do 1399px) */
@media (min-width: 668px) and (max-width: 1399px) {
   div.wp-block-hidden-tablet {
        display: none !important;
    }

    
        div.wp-block-hidden-desktop {
        display: flex !important;
    }

  
}

/* Ukryj na desktopie (od 1400px) */
@media (min-width: 1400px) {
   div.wp-block-hidden-desktop {
        display: none !important;
    }
}



/* Przechwytuje wbudowany przełącznik i wymusza pionowy układ aż do 1399px */
@media screen and (max-width: 1399) {
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 100% !important;
    }

    .wp-block-columns {
        flex-wrap: wrap !important;
    }
}

/* Mniejsze rozmiary o 1/3 dla mobile */
@media screen and (max-width:667px) {
    :root {
    --wp--preset--font-size--small: 8.67px;      /* 13px * 2/3 */
    --wp--preset--font-size--medium: 13.33px;    /* 20px * 2/3 */
    --wp--preset--font-size--large: 24px;        /* 36px * 2/3 */
    --wp--preset--font-size--x-large: 28px;      /* 42px * 2/3 */

    --wp--preset--font-size--big: 1rem;          /* 1.5rem * 2/3 */
    --wp--preset--font-size--huge: 1.5rem;       /* 2.25rem * 2/3 */
    --wp--preset--font-size--biggest: 2.5rem;    /* 3.75rem * 2/3 */

    --wp--preset--spacing--20: 0.29rem; /* 0.44rem * 2/3 */
    --wp--preset--spacing--30: 0.45rem; /* 0.67rem * 2/3 */
    --wp--preset--spacing--40: 0.67rem; /* 1rem * 2/3 */
    --wp--preset--spacing--50: 1rem;    /* 1.5rem * 2/3 */
    --wp--preset--spacing--60: 1.5rem;  /* 2.25rem * 2/3 */
    --wp--preset--spacing--70: 2.25rem; /* 3.38rem * 2/3 */
    --wp--preset--spacing--80: 3.37rem; /* 5.06rem * 2/3 */
    }

   
}


@media screen and (max-width:1199px) {
     #univ-dynamic-content{
        margin-top:2.5rem;
    }
    
}


.visibility-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


body {
    background-color: var(--bg-panel);
}

a,
a:visited,
a:not(.wp-element-button) {
    text-decoration: none;
    color: inherit;
}


html[data-accent-theme="university"] .addons-menu-custom-logo,
html[data-accent-theme="university"] .addons-menu-custom-logo-min {
    filter: hue-rotate(78deg) saturate(70%) brightness(0.65) contrast(300%);
}

/* ==========================================================================
   2. WSPÓLNE "KLOCKI" WYGLĄDU BLOKÓW (Padding / Margin / Border / Radius / Shadow)
   --------------------------------------------------------------------------
   Zamiast każdemu blokowi ustawiać osobno padding, border, border-radius
   i box-shadow, powstaje tu jeden zbiór klas narzędziowych oparty o tokeny
   z sekcji 1. Blok dostaje tylko te klasy, które faktycznie ma mieć -
   reszta stylistyki (kolory, layout, logika) zostaje bez zmian w plikach
   danego bloku. Modyfikatory rozmiaru (sm/md/lg) pozwalają dopasować
   intensywność efektu bez pisania nowego CSS.
   ========================================================================== */

/* Baza: karta/panel z tłem, obramowaniem i zaokrągleniem - domyślny "chrome" bloku */
.addons-box {
    background-color: var(--card-bg);
    border: var(--addons-border-width) solid var(--border-color);
    border-radius: var(--addons-radius-md);
}

/* Odstępy wewnętrzne (padding) */
.addons-padded-sm {
    padding: var(--addons-space-sm);
}

.addons-padded-md {
    padding: var(--addons-space-md);
}

.addons-padded-lg {
    padding: var(--addons-space-lg);
}

/* Odstępy zewnętrzne (margin) */
.addons-gap-sm {
    margin: var(--addons-space-sm);
}

.addons-gap-md {
    margin: var(--addons-space-md);
}

.addons-gap-lg {
    margin: var(--addons-space-lg);
}

/* Warianty zaokrąglenia (do nadpisania domyślnego --addons-radius-md z .addons-box) */
.addons-radius-sm {
    border-radius: var(--addons-radius-sm);
}

.addons-radius-lg {
    border-radius: var(--addons-radius-lg);
}

.addons-radius-pill {
    border-radius: var(--addons-radius-pill);
}

/* Warianty cienia - doklejane niezależnie od .addons-box */
.addons-shadow-sm {
    box-shadow: var(--addons-shadow-sm);
}

.addons-shadow-md {
    box-shadow: var(--addons-shadow-md);
}

.addons-shadow-lg {
    box-shadow: var(--addons-shadow-lg);
}











/* ==========================================================================
/* Formularz kontaktowy w stopce */
/* ==========================================================================
/* ==========================================================================
   1. RESET GENEROWANYCH STRUKTUR WCF7
   ========================================================================== */

div.wpcf7 form br {
    display: none;
}

div.wpcf7 .wpcf7-form-control-wrap {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}

/* ==========================================================================
   2. KONTENER GŁÓWNY (Ciasny glassmorphism)
   ========================================================================== */
div.wpcf7 .custom-contact-form {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    padding: 18px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-sizing: border-box;
    font-family: sans-serif;
    max-width: 350px;
}

div.wpcf7 .custom-contact-form h4 {
    color: #ffffff;
    font-weight: 700;
    margin: 0 0 4px 0;
    font-size: 1.1rem;
}

div.wpcf7 .custom-contact-form .form-subtitle {
    color: #ffffff;
    font-size: 0.825rem;
    margin: 0 0 14px 0;
}

/* Odstępy między polami */
div.wpcf7 .custom-contact-form .form-group {
    margin-bottom: 8px;
}

/* Pola tekstowe i select */
div.wpcf7 .custom-contact-form .form-input,
div.wpcf7 .custom-contact-form .form-select,
div.wpcf7 .custom-contact-form .form-textarea {
    width: 100%;
    background-color: rgba(255, 255, 255, 0);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    padding: 10px 14px;
    font-size: 0.85rem;
    color: #ffffff;
    outline: none;
    box-sizing: border-box;
    transition: all 0.2s ease-in-out;
    font-family: inherit;
}

div.wpcf7 .custom-contact-form .form-input::placeholder,
div.wpcf7 .custom-contact-form .form-textarea::placeholder {
    color: #e2e8f0;
}

div.wpcf7 .custom-contact-form .form-input:focus,
div.wpcf7 .custom-contact-form .form-select:focus,
div.wpcf7 .custom-contact-form .form-textarea:focus {
    border-color: var(--primary-text);
    box-shadow: 0 0 0 2px color-mix(in srgb,var(--primary-text) 40%,transparent);
}

div.wpcf7 .custom-contact-form .form-textarea {
    resize: none;
    height: 65px;
}

/* Stylizacja Select */
div.wpcf7 .custom-contact-form .form-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
    padding-right: 35px;
}

div.wpcf7 .custom-contact-form .form-select option {
    background-color: #1f2937;
    color: #ffffff;
}

/* Przycisk wysyłania */
div.wpcf7 .custom-contact-form .submit-wrapper {
    margin-top: 10px;
}

div.wpcf7 .custom-contact-form .form-submit {
    width: 100%;
    background-color: var(--primary);
    color: #ffffff;
    padding: 10px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.85rem;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

div.wpcf7 .custom-contact-form .form-submit:hover {
    background-color: var(--secondary);
}

/* ==========================================================================
   3. PODPOWIEDZI WALIDACJI (Mniejszy font bezpośrednio pod polami)
   ========================================================================== */
div.wpcf7 .wpcf7-not-valid-tip {
    font-size: 0.7rem;
    color: #ef4444;
    margin-top: 4px;
    display: block;
    font-weight: 500;
}

/* ==========================================================================
   4. SPINNER (Kółko ładowania WYMUSZONE pod przyciskiem)
   ========================================================================== */
div.wpcf7 .wpcf7-spinner {
    display: block;
    visibility: visible;
    margin: 12px auto 0 auto;
    background-color: var(--primary);
    float: none;
    position: relative;
}

div.wpcf7 .wpcf7-form:not(.submitting) .wpcf7-spinner {
    display: none;
}

/* ==========================================================================
   5. NOTYFIKACJA W PRAWYM GÓRNYM ROGU (Toast automatycznie znikający po 5s)
   ========================================================================== */
div.wpcf7 .wpcf7-form .wpcf7-response-output {
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: 999999;
    max-width: 320px;
    width: 100%;
    box-sizing: border-box;

    background-color: rgba(17, 24, 39, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 14px 18px;
    margin: 0;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 500;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);

    display: none;
}

/* Aktywacja wyświetlania oraz czas trwania animacji ustawiony na 5 sekund */
div.wpcf7 .wpcf7-form.sent .wpcf7-response-output,
div.wpcf7 .wpcf7-form.invalid .wpcf7-response-output,
div.wpcf7 .wpcf7-form.failed .wpcf7-response-output,
div.wpcf7 .wpcf7-form.unaccepted .wpcf7-response-output,
div.wpcf7 .wpcf7-form.spam .wpcf7-response-output,
div.wpcf7 .wpcf7-form.aborted .wpcf7-response-output {
    display: block;
    /* Animacja trwa dokładnie 5 sekund, forwads zatrzymuje ją na ostatniej klatce (ukrytej) */
    animation: toastLifeCycle 5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Kolorowanie lewej krawędzi toastu */
div.wpcf7 .wpcf7-form.sent .wpcf7-response-output {
    border: 1px solid rgba(255, 255, 255, 0.1);

    border-left: 4px solid #10b981;
}

div.wpcf7 .wpcf7-form.invalid .wpcf7-response-output,
div.wpcf7 .wpcf7-form.failed .wpcf7-response-output,
div.wpcf7 .wpcf7-form.unaccepted .wpcf7-response-output,
div.wpcf7 .wpcf7-form.spam .wpcf7-response-output,
div.wpcf7 .wpcf7-form.aborted .wpcf7-response-output {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-left: 4px solid #ef4444;
}

/* ==========================================================================
   ANIMACJA ŻYCIA TOASTU (Wjazd z góry -> Trwanie -> Wyjazd w górę i ukrycie)
   ========================================================================== */
@keyframes toastLifeCycle {
    0% {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }

    /* 8% z 5 sekund to ok. 0.4s – w tym czasie powiadomienie zdąży wjechać */
    8% {
        opacity: 1;
        transform: translateY(0) scale(1);
        visibility: visible;
    }

    /* Od 8% do 92% (przez ok. 4.2 sekundy) powiadomienie wisi na ekranie */
    92% {
        opacity: 1;
        transform: translateY(0) scale(1);
        visibility: visible;
    }

    /* Od 92% do 100% (ostatnie 0.4s) płynnie znika i ucieka w górę */
    100% {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
        visibility: hidden;
    }
}








/* Status nawigacji dostępny dla czytników ekranu. */
.addons-router-status {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
.addons-loading-bar {
    position: fixed;
    inset: 0 auto auto 0;
    width: 0;
    height: 3px;
    background: var(--primary, #501a33);
    z-index: 100000;
    pointer-events: none;
    transition: width .2s ease;
}
@media (prefers-reduced-motion: reduce) {
    .addons-loading-bar { transition: none; }
}

/* Fixed inline surfaces retain a matching local text palette after AJAX too. */
:root:not(.block-editor-iframe__html) [data-addons-surface="light"] {
 --text:#374151; --heading-color:#111827; --text-muted:#586575;
 --wp--preset--color--black:var(--heading-color);
 --primary-text:var(--primary-text-light); --secondary-text:var(--secondary-text-light); --green-text:var(--green-text-light);
 color:var(--text); color-scheme:light;
}
:root:not(.block-editor-iframe__html) [data-addons-surface="dark"] {
 --text:#d4d6da; --heading-color:#fff; --text-muted:#b6c2d2;
 --wp--preset--color--black:var(--heading-color);
 --primary-text:var(--primary-text-dark); --secondary-text:var(--secondary-text-dark); --green-text:var(--green-text-dark);
 color:var(--text); color-scheme:dark;
}

@media(prefers-color-scheme:dark){
:root:not(.theme-light):not(.block-editor-iframe__html) body:not(.wcag-high-contrast) [data-addons-neutral-border~="top"] {border-top-color:var(--border-color)!important}
:root:not(.theme-light):not(.block-editor-iframe__html) body:not(.wcag-high-contrast) [data-addons-neutral-border~="right"] {border-right-color:var(--border-color)!important}
:root:not(.theme-light):not(.block-editor-iframe__html) body:not(.wcag-high-contrast) [data-addons-neutral-border~="bottom"] {border-bottom-color:var(--border-color)!important}
:root:not(.theme-light):not(.block-editor-iframe__html) body:not(.wcag-high-contrast) [data-addons-neutral-border~="left"] {border-left-color:var(--border-color)!important}
}
:root.theme-dark:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) [data-addons-neutral-border~="top"] {border-top-color:var(--border-color)!important}
:root.theme-dark:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) [data-addons-neutral-border~="right"] {border-right-color:var(--border-color)!important}
:root.theme-dark:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) [data-addons-neutral-border~="bottom"] {border-bottom-color:var(--border-color)!important}
:root.theme-dark:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) [data-addons-neutral-border~="left"] {border-left-color:var(--border-color)!important}

/* Adapt text without changing the literal black preset used by backgrounds. */
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-black-color { color:var(--heading-color)!important; }

/* Preset surfaces need local foregrounds, including nested chips and links. */
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) :is(.has-primary-light-background-color,.has-secondary-light-background-color,.has-purple-light-background-color,.has-green-light-background-color) {
 --text:#374151; --heading-color:#111827; --text-muted:#586575;
 --primary-text:var(--primary-text-light); --secondary-text:var(--secondary-text-light); --green-text:var(--green-text-light);
 --wp--preset--color--black:#111111;
 color:var(--text); color-scheme:light;
}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-black-background-color {
 --text:#e2e8f0; --heading-color:#fff; --text-muted:#cbd5e1;
 --primary-text:var(--primary-text-dark); --secondary-text:var(--secondary-text-dark); --green-text:var(--green-text-dark);
 background-color:#111111!important; color:var(--text)!important; color-scheme:dark;
}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-primary-color a:where(:not(.wp-element-button)) {color:var(--primary-text)!important}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-secondary-color a:where(:not(.wp-element-button)) {color:var(--secondary-text)!important}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-orange-color {color:var(--secondary-text)!important}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) :is(.has-border-color-color,.has-border-color-2-color) {color:var(--text-muted)!important}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) :is(.has-border-color-color,.has-border-color-2-color) a:where(:not(.wp-element-button)) {color:inherit!important}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-black-background-color .wp-block-button__link:not(.has-text-color) {color:var(--text)!important}

:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) footer .has-border-color-2-color {color:#fff!important}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) svg.has-border-color-background-color {color:var(--text-muted)!important}
.addons-slide-overlay[data-addons-readable-overlay] {opacity:.65!important}

:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-green-color {color:var(--green-text)!important}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-orange-red-gradient-background {--text:var(--on-warm-gradient); --heading-color:var(--on-warm-gradient); color:var(--on-warm-gradient)!important}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-orange-red-gradient-background .has-white-color {color:var(--on-warm-gradient)!important}
:root:not(.block-editor-iframe__html) .wp-block-cover__background.has-primary-gradient-gradient-background.has-background-dim-90 {opacity:.96!important}

:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .wp-block-button__link.has-orange-red-gradient-background::before,
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .wp-block-button__link.has-orange-red-gradient-background::after {background-color:currentColor!important}

/* The foreground must follow a surface even when that surface stays pale in dark mode. */
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-dirty-white-background-color.has-white-color {color:var(--heading-color)!important}
:root:not(.block-editor-iframe__html) body:not(.wcag-high-contrast) .has-orange-red-gradient-background > .wp-block-group.has-background[style*="background-color"]:not(.has-white-background-color) {background-color:rgba(0,0,0,.18)!important}


/* University accents include component-local variables saved by Gutenberg. */
html[data-accent-theme="university"] body:not(.wp-admin):not(.wcag-high-contrast) .has-custom-icon.has-custom-icon-bg {
 --list-icon-color:var(--primary-text-light)!important;
 --list-icon-bg:var(--wp--preset--color--primary-light)!important;
}
html[data-accent-theme="university"] body:not(.wp-admin):not(.wcag-high-contrast) .has-custom-icon:is([style*="--list-icon-color: #"],[style*="--list-icon-color:#"]):not(.has-custom-icon-bg):not([style*="--list-icon-color: #fff;" i]):not([style*="--list-icon-color:#fff;" i]):not([style*="--list-icon-color: #ffffff;" i]):not([style*="--list-icon-color:#ffffff;" i]):not([style*="--list-icon-color: #000;" i]):not([style*="--list-icon-color:#000;" i]):not([style*="--list-icon-color: #000000;" i]):not([style*="--list-icon-color:#000000;" i]) {--list-icon-color:var(--primary-text)!important}
html[data-accent-theme="university"] body:not(.wp-admin):not(.wcag-high-contrast) .has-purple-color {color:var(--primary-text)!important}
html[data-accent-theme="university"] body:not(.wp-admin):not(.wcag-high-contrast) .wp-block-button__link::before,
html[data-accent-theme="university"] body:not(.wp-admin):not(.wcag-high-contrast) .wp-block-button__link::after {background-color:currentColor!important}
html[data-accent-theme="university"] body:not(.wp-admin):not(.wcag-high-contrast) .js-theme-choice {--choice-color:var(--primary-text-light);--addons-border-color:var(--primary)!important}

html[data-accent-theme="university"] body:not(.wp-admin):not(.wcag-high-contrast) :is(.has-vivid-cyan-blue-color,.has-vivid-purple-color,.has-vivid-red-color,.has-luminous-vivid-orange-color,.has-luminous-vivid-amber-color,.has-light-green-cyan-color,.has-vivid-green-cyan-color,.has-pale-cyan-blue-color,.has-pale-pink-color),
html[data-accent-theme="university"] body:not(.wp-admin):not(.wcag-high-contrast) :is(.has-vivid-cyan-blue-color,.has-vivid-purple-color,.has-vivid-red-color,.has-luminous-vivid-orange-color,.has-luminous-vivid-amber-color,.has-light-green-cyan-color,.has-vivid-green-cyan-color,.has-pale-cyan-blue-color,.has-pale-pink-color) a:where(:not(.wp-element-button)) {color:var(--primary-text)!important}
