@font-face
{
    font-family:montserrat-black;
    src: url(../fonts/Montserrat-Black.ttf);
}

:root
{
    --maai-color-main-text:#fff;
    --maai-color-main-text1:#2a457c;
    --maai-color-main-text2:#002234;
    --maai-color-main-text3:#183779;
    --maai-color-main-text4:#000000;
    --maai-color-main-text5:#e83a79;
    --maai-color-main-text6:rgba(0, 34, 52, 255);
    --maai-color-main-text7:#2d87c2;

    --maai_color-border1:#e8e8ef;

    --maai-color-bkg:#fff;
    --maai-color-bkg1:#bcd7ea;

    --maai-color-status-bkg-blue:#4097d2;

}

.maai-disabled
{
    position:relative;
    cursor:not-allowed;
    pointer-events:none;
    opacity:0.6;
    filter:grayscale(80%);
}

.maai-mb-0
{
    margin-bottom:0 !important;
}

.maai-mb-0-5
{
    margin-bottom:0.5rem
}

.maai-mt-1
{
    margin-top:1rem !important;
}

/******************************  MSG - AI RESPONSE  ************************************/
/* === POPUP === */
.maai-popup
{
    display:none;
    position:fixed;
    bottom:6rem;
    right:1.5rem;
    width:340px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.13), 0 2px 8px rgba(0,0,0,0.07);
    padding: 28px 24px 22px 24px;
    border-top: 4px solid var(--color-main-text4);
    animation: maaiSlideIn 0.4s cubic-bezier(.22,1,.36,1) both;
    flex-direction: column;
    gap: 16px;
    z-index:100003;
}
.maai-popup.show
{
    display:flex;
}

@keyframes maaiSlideIn
{
    from { opacity: 0; transform: translateY(40px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* === HEADER === */
.maai-popup__header
{
    display: flex;
    align-items: center;
    gap: 12px;
}

.maai-popup__logo
{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, #e8134a 0%, #c4103d 100%);
    border-radius: 10px;
    flex-shrink: 0;
    box-shadow: 0 3px 10px rgba(232,19,74,0.3);
}

.maai-popup__logo svg
{
    width: 22px;
    height: 22px;
    fill: white;
}

.maai-popup__title
{
    font-family: montserrat-regular;
    font-size: 13px;
    font-weight: 700;
    color: #1a2a4a;
    line-height: 1.3;
    letter-spacing: 0.01em;
}

.maai-popup__title span
{
    color: var(--color-main-text4);
}

/* === SPINNER === */
.maai-popup__loader
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.maai-spinner
{
    position: relative;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
}

.maai-spinner svg
{
    width: 36px;
    height: 36px;
    animation: maaiRotate 1.4s linear infinite;
}

.maai-spinner circle
{
    fill: none;
    stroke: #e8134a;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 80;
    stroke-dashoffset: 60;
    animation: maaiDash 1.4s ease-in-out infinite;
}

@keyframes maaiRotate
{
    100% { transform: rotate(360deg); }
}

@keyframes maaiDash
{
    0%   { stroke-dashoffset: 80; }
    50%  { stroke-dashoffset: 20; }
    100% { stroke-dashoffset: 80; }
}

/* === MESSAGE === */
.maai-popup__message
{
    font-size:0.875rem;
    color: #4a5568;
    line-height: 1.55;
    font-weight: 400;
}

.maai-popup-message-cancel
{
    font-size:0.6875rem;
    color:#000;
    line-height:1.25;
    font-weight:600;
    font-style:italic;
}

.maai-popup__message strong
{
    color: #1a2a4a;
    font-weight: 600;
}

/* === DOTS ANIMATION === */
.maai-dots span
{
    display: inline-block;
    animation: maaiDotBlink 1.2s infinite;
    color: var(--color-main-text4);
    font-weight: 700;
}

.maai-dots span:nth-child(2) { animation-delay: 0.2s; }
.maai-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes maaiDotBlink
{
    0%, 80%, 100% { opacity: 0.2; }
    40%            { opacity: 1; }
}

/* === PROGRESS BAR === */
.maai-popup__progress
{
    margin-top:0.5rem;
    height: 3px;
    background: #f0f0f0;
    border-radius: 99px;
    overflow: hidden;
}

.maai-popup__progress-bar
{
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #e8134a, #ff6b8a);
    border-radius: 99px;
    animation: maaiProgressPulse 2.5s ease-in-out infinite;
}

@keyframes maaiProgressPulse
{
    0%   { width: 0%;  opacity: 1; }
    70%  { width: 85%; opacity: 1; }
    90%  { width: 90%; opacity: 0.6; }
    100% { width: 90%; opacity: 0.6; }
}

/* === STOP BUTTON === */
.maai-popup__stop
{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top:0.5rem;
    gap: 8px;
    background: none;
    border: 1.5px solid var(--color-main-text4);
    color: var(--color-main-text4);
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    letter-spacing: 0.03em;
    transition: background 0.18s, color 0.18s;
    width: 100%;
}

.maai-popup__stop:hover
{
    background: var(--color-main-text4);
    color: #ffffff;
}

.maai-popup__stop svg
{
    width: 13px;
    height: 13px;
}


/******************************  Switch Buttons  ************************************/
.tlua-button
{
    align-items:center;
    padding:0;
    background-color:transparent;
    border:0;
    cursor:pointer;
}

.tlua-slide-box
{
    position:relative;
    flex-flow:wrap;
    justify-content:center;
    align-items:center;
    max-width:2.1875rem;
    height:18px;
}

.tlua-slide-box .tlua-slide-ball
{
    position:absolute;
    left:1px;
    top:1px;
    width:16px;
    height:16px;
    border-radius: 50%;
    box-shadow: 1px 1px 3px rgba(155, 155, 155, 0.3); /* Delikatniejszy cień dla mniejszej kuli */
}
.tlua-slide-box .tlua-slide-ball.on
{
    left:18px;
    background: radial-gradient(circle at 30% 70%, #e83a79 30%, #f9659c 70%);
    transition:all ease 300ms;
}
.tlua-slide-box .tlua-slide-ball.off
{
    left:0;
    background: radial-gradient(circle at 30% 70%, #8b8b8b 30%, rgba(120, 120, 120, 0.3) 70%);
    transition:all ease-out 150ms;
}

.tlua-unchecked-slide-img
{
    width:100%;
    max-width:35px;
    height:100%;
    max-height:18px;
    object-fit:cover;
}

.tlua-button-title
{
    margin-left:0.8rem;
    font-family:montserrat-extra-bold;
    color:var(--color-main-text19);
    font-size:1rem;
}

.tlua-button-circ-checkbox
{
    width:18px;
    height:18px;
    border:1px solid #0075ff !important;
    background-color:#fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: relative;
    overflow: hidden;
    font-family: sans-serif;  /* Zalecane dodanie rodziny czcionek dla spójności */
}

.tlua-button-circ-checkbox.checked::before
{
    content: "✔";
    color:#0075ff;
    font-size:15px;
    position:absolute;
    line-height:19px;  /* Wysokość linii równa wysokości przycisku */
    top:-2px;
    left:50%;
    transform:translateX(-50%);
}

/******************************  MAAI Switch  ************************************/
.maai-toggle
{
    display: inline-block;
    width: 48px;
    height: 26px;
    background-color: #e0e0e0;
    border-radius: 999px;
    position: relative;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.maai-toggle.is-active
{
    background-color: #4a90e2;
}

.maai-toggle-knob
{
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    background-color: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    transition: transform 0.3s ease;
}

.maai-toggle.is-active .maai-toggle-knob
{
    transform: translateX(22px);
}



/******************************  MAAI MAIN INFO CONTAINER  ************************************/
.sse-ai-container
{
    flex-flow:column;
}

.sse-ai-container-inner
{
    display:none !important;
    flex-flow:column;
    margin-bottom:2rem;
}

.sse-ai-container-inner-results
{
    box-sizing:border-box;
    margin-top:-0.7rem;
    width:100%;
}
.sse-ai-container-inner-results.hide
{
    display:none !important;
}

.sse-ai-container-inner.show
{
    display:flex !important;
}

.maai-button-container
{
    display:flex;
    margin:1rem 0 1.5rem;
    width:100%;
    align-items:center;
}

.maai-info-container
{
    flex-flow:column;
}

.maai-info-summary-container *
{
    display:initial !important;
}

.maai-info-summary-container
{
    display:flex;
    flex-flow:column;
}

/******************************  RESULTS INFO AI CONTAINER  ************************************/
.maai-result-ai-container
{
    flex-flow:nowrap;
    width:100%;
    margin:0 0 1rem 0;
    align-items:center;
}
.maai-result-ai-container.hide,
.maai-result-ai-container .hide
{
    display:none !important;
}

.sse-line-spacer
{
    padding-bottom:0.4rem;
    border-bottom:1px solid var(--maai_color-border1);
}

.maai-result-ai-container.sse-line-spacer
{
    margin-bottom:1.8rem;
}

.buy-more-ai-reports-info
{
    font-weight:bold;
    color:var(--maai-color-main-text3);
}
.buy-more-ai-reports-info .buy-more-reports-bt
{
    cursor:pointer;
    color:var(--maai-color-main-text5);
}
.buy-more-ai-reports-info .buy-more-reports-bt:hover
{
    text-decoration:underline;
}


.maai-result-ai-container .maai-result-ai-image-container
{
    max-width:3rem;
    margin-right:1rem;
}

.maai-result-ai-container .maai-result-ai-info
{
    display:initial;
    width:auto;
    margin:0;
    padding:0;
}
.maai-result-ai-container .maai-result-ai-info *
{
    display:initial;
}


.maai-result-ai-container .gen-results-report-ai-bt,
.maai-result-ai-container .clear-results-ai-bt,
.maai-result-ai-container .previous-results-ai-bt
{
    display:inline;
    background-color:transparent;
    border:0;
    width:auto;
    cursor:pointer;
    margin:0;
    padding:0;
    color:var(--maai-color-main-text1);
    text-indent:0.5rem;
}

.maai-result-ai-container .gen-results-report-ai-bt
{
    text-indent:0;
}

.maai-result-ai-container .clear-results-ai-bt
{
    font-weight:bold;
}

.maai-result-ai-container .gen-results-report-ai-bt:hover,
.maai-result-ai-container .previous-results-ai-bt:hover
{
    color:var(--maai-color-main-text5);
}

.maai-result-ai-container .clear-results-ai-bt
{
    color:var(--maai-color-main-text5);
}

.maai-result-ai-container .clear-results-ai-bt:hover
{
    text-decoration:underline;
}

/******************************  BUY PREMIUM AI CONTAINER  ************************************/
.maai-buy-premium-container
{
    position:relative;
    box-sizing:border-box;
    width:100%;
}
.maai-buy-premium-container *
{
    display:initial !important;
}

.maai-buy-premium-container .buy-premium-title
{
    margin:0.2rem 0 2rem;
    font-family:montserrat-medium;
    font-size:1.2rem;
    color:var(--maai-color-main-text1);
}

.maai-buy-premium-container .buy-premium-title strong a
{
    margin:0;
    padding:0;
    color:var(--maai-color-main-text5);
}
.maai-buy-premium-container .buy-premium-title strong:hover
{
    text-decoration:underline;
}

/******************************  SEARCH AI CONTAINER  ************************************/
.maai-search-container
{
    width:100%;
}

.maai-ai-search-btn,
.maai-search-btn
{
    max-width:200px;
}

.maai-maai-search-button { max-width:200px; }

/******************************  School Item Recommendation Tile  ************************************/
.school-item-ai-recommendation,
.school-item-ai-recommendation *
{
    display:flex;
    box-sizing:border-box;
    position:relative;
}

.school-item-ai-recommendation
{
    flex-flow: column;
    width: calc(100% + 3.6rem);
    height: auto;
    padding: 0.3rem 0;
    border-radius: 7px;
    background: linear-gradient(to bottom, #ebf1fc 0%, #edf1fb 100%);
    backdrop-filter: blur(2px);
    margin-left: -1.8rem;
    margin-right: -1.8rem;
}

.school-item-ai-recommendation p,
.school-item-ai-recommendation h1,
.school-item-ai-recommendation h2,
.school-item-ai-recommendation h3
{
    padding-bottom:0;
    margin-bottom:0;
}


.school-item-ai-recommendation .ai-recommendation-head
{
    flex-flow:nowrap;
    padding:0.4rem;
    justify-content:space-between;
    align-items:center;
    width:100%;
    height:3.4375rem;
}

.school-item-ai-recommendation .ai-recommendation-image-container
{
    max-width:50px;
}

.school-item-ai-recommendation .ai-recommendation-image-container .ai-recommendation-image
{
    width:100%;
    height:100%;
    object-fit:cover;
}

.school-item-ai-recommendation .ai-recommendation-image-up.hide
{
    display:none;
}
.school-item-ai-recommendation .ai-recommendation-image-down.hide
{
    display:none;
}

.ai-recommendation-head .ai-recommendation-label
{
    flex-flow:wrap;
    justify-content:space-between;
    align-items:center;
    width:100%;
}

.ai-recommendation-head .ai-recommendation-label .ai-recommendation-title
{
    font-weight:bold;
    margin:0 0 0 0.4rem;
    padding:0;
}

.ai-recommendation-head .ai-recommendation-label .ai-recommendation-title button
{
    background-color:transparent;
    border:0;
    cursor:pointer;
    font-weight:bold;
    color:var(--maai-color-main-text7);
}
.ai-recommendation-head .ai-recommendation-label .ai-recommendation-title button:hover
{
    text-decoration:underline;
}


.ai-recommendation-head .ai-recommendation-actions
{
    width:100%;
    max-width:2rem;
}

.ai-recommendation-head .ai-recommendation-actions .ai-recommendation-action-bt
{
    width:100%;
    height:100%;
    border:0;
    background-color:transparent;
    cursor:pointer;
}

.school-item-ai-recommendation .ai-recommendation-content
{
    flex-flow:column;
    padding:0.5rem 1rem;
    width:100%;
    background: linear-gradient(180deg, #fafafc 0%, #f1f4f8 100%);
}
.school-item-ai-recommendation .ai-recommendation-content.hide
{
    display:none;
}


.school-item-ai-recommendation .ai-recommendation-content .ai-recommendation-ranking
{
    flex-flow:wrap;
    justify-content:space-between;
    width:100%;
}

.school-item-ai-recommendation .ai-recommendation-content .ai-recommendation-ranking-inner
{
    flex-flow:column;
    justify-content:center;
    width:auto;
}

.school-item-ai-recommendation .ai-remove-recommendation-bt
{
    margin:0;
    padding:0;
    max-width:50px;
    width:100%;
    border:0;
    background-color:transparent;
    cursor:pointer;
    opacity:0.75;
    transform:scale(0.9);
}
.school-item-ai-recommendation .ai-remove-recommendation-bt:hover
{
    opacity:1;
    transform:scale(1);
}

.ai-recommendation-ranking span.ranking-best-score
{
    color:var(--maai-color-main-text5) !important;
}

.ai-recommendation-ranking .ai-recommendation-ranking-title
{
    font-weight:bold;
    font-size:1rem;
    color:var(--maai-color-main-text2);
}

.ai-recommendation-ranking .ai-recommendation-ranking-content
{
    flex-flow:wrap;
    justify-content:flex-start;
    width:100%;
}

.school-item-ai-recommendation .ai-recommendation-overall-score-inner .ai-recommendation-ranking-content
{
    justify-content:center;
}

.ai-recommendation-ranking .ai-recommendation-ranking-content .ai-recommendation-ranking-no
{
    font-weight:bold;
    font-size:0.975rem;
    color:var(--maai-color-main-text2);
}

.ai-recommendation-ranking .ai-recommendation-ranking-content .ai-recommendation-ranking-image
{
    width:100%;
    max-width:10px;
}

.school-item-ai-recommendation .ai-recommendation-content .ai-recommendation-description
{
    border-top:1px solid var(--maai_color-border1);
    padding:0.8rem 0;
    font-size:0.875rem;
}

.school-item-ai-recommendation .ai-recommendation-content .ai-recommendation-extra-description
{
    border-top:1px solid var(--maai_color-border1);
    padding-top:0.8rem;
    margin:0.8rem 0;
    flex-flow:column;
    width:100%;
}

.school-item-ai-recommendation .ai-recommendation-content .ai-recommendation-extra-description-container
{
    margin-bottom:0.3rem;
    flex-flow:wrap;
    align-items:center;
    width:100%;
}

.school-item-ai-recommendation .ai-recommendation-extra-description-container .ai-recommendation-extra-description-label
{
    color:var(--maai-color-main-text7);
    font-size:1rem;
    font-weight:bold;
}

.school-item-ai-recommendation .ai-recommendation-extra-description-container .ai-recommendation-extra-description-image
{
    max-height:70%;
}

.school-item-ai-recommendation .ai-recommendation-extra-description .ai-recommendation-extra-description-content
{
    font-size:0.875rem;

}


/******************************  MEDIA QUERIES - RESPONSIVE / RWD  ************************************/
@media only screen and (max-width: 1361px)
{

}

/******************************  MOBILE / RESPONSIVE  ************************************/
@media only screen and (max-width: 1023px)
{

}

/* High density screens (aspect-ratio: > 1.5)  */
@media
only screen and( min-width: 960px) and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min-width: 960px) and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-width: 960px) and (-o-min-device-pixel-ratio: 1.5/1),
only screen and (min-width: 960px) and (min-device-pixel-ratio: 1.5),
only screen and (min-width: 960px) and (min-resolution: 200dpi),
only screen and (min-width: 960px) and (min-resolution: 1.5dppx)
{

}

@media only screen and (max-width: 764px)
{

}

@media only screen and (max-width: 500px)
{


}

@media only screen and (max-width: 450px)
{

}

@media only screen and (max-width: 380px)
{

}