@tailwind base;
@layer base {
    img {
        @apply inline-block;
    }
}

@tailwind components;
@tailwind utilities;

body {
    --imcas-academy-orange: #ED6F28;
    --imcasacademyintl: #ED6F28;
    --imcasacademyintl2: #240759;
    --imcas-academy-hover-orange: #F08242F0;
    --counter-text: #859DFF;
    --swiper-pagination-color: var(--primary-color);
    --swiper-pagination-bottom: 0;
    --swiper-navigation-top-offset: 85%;
    --swiper-navigation-sides-offset: 0;
    --americas-secondary-light: #4152a4;
    --americas-secondary: #303e99;
    --americas-primary: #FACB0C;
    --asia-secondary-light: #EB9888;
    --asia-secondary: #E78773;
    --asia-primary: #1B8C79;
    --imcas-secondary-light: #292864;
    --imcas-secondary: #221E53;
    --imcas-primary: #001148;
    --china-secondary-light: #E05b70;
    --china-secondary: #C14859;
    --china-primary: #A12235;
    --swiper-pagination-bullet-width: 10px;
    --swiper-pagination-bullet-height: 10px;
    --imcasacademyintl-secondary: #FAB18C;
    --india-primary: #229EB8;
    --india-secondary: #F28C18;
    --india-secondary-light: #F49C3A;
    --imcas: #1E3A8A;
    --china: #9f1239;
    --asia: #0f766e;
    --americas: #CCAA00;
    --india: #be185d;
    --imcasacademyintl-primary: #ED6F28;
    --imcasacademyintl-secondary: rgba(37, 0, 85, 0.9);
    --imcasacademyintl-secondary-light: rgba(97, 33, 75, 0.9);
    --sfme: #4D6B89;
    --sfme-primary: #00737E;
    --sfme-secondary: #c1265d;
    --sfme-secondary-light: #863F91;
    --academy-primary-color: #050227;
    --academy-secondary-color: #ffffff12;
    --academy-orange: #CA5B00;
    /* SFME2026   --sfme-primary:#A0226D;
        --sfme-secondary:#01B27F;
        --sfme-secondary-light:#00919E;*/
}

.overflow-x-scroll.blue, .overflow-y-scroll.blue, .overflow-y-auto.blue, .overflow-x-auto.blue {
    &::-webkit-scrollbar {
        width: 8px;
    }

    &::-webkit-scrollbar-track {
        background: #eef2ff; /*indigo-50*/
        border-radius: 10px;
    }

    &::-webkit-scrollbar-thumb {
        background-color: #a5b4fc; /*indigo-300*/
        border-radius: 10px;
    }

    &::-webkit-scrollbar-thumb:hover {
        background-color: #818cf8; /*indigo-400*/
    }
}

.overflow-x-scroll.white, .overflow-y-scroll.white, .overflow-y-auto.white, .overflow-x-auto.white {
    &::-webkit-scrollbar {
        width: 8px;
        height: 4px;
    }

    &::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.5);
        border-radius: 10px;
    }

    &::-webkit-scrollbar-thumb {
        background-color: white;
        border-radius: 10px;
    }

    &::-webkit-scrollbar-thumb:hover {
        background-color: #e5e5e5;
    }
}

.overflow-x-scroll.gray, .overflow-y-scroll.gray, .overflow-y-auto.gray, .overflow-x-auto.gray {
    &::-webkit-scrollbar {
        width: 8px;
        height: 4px;
    }

    &::-webkit-scrollbar-track {
        background: rgba(148, 163, 184, 0.5);
        border-radius: 10px;
    }

    &::-webkit-scrollbar-thumb {
        background-color: #64748b;
        border-radius: 10px;
    }

    &::-webkit-scrollbar-thumb:hover {
        background-color: #475569;
    }
}

div[data-raty] img {
    display: inline !important;
}

.arrow {
    height: 2px;
    width: 14px;
    position: relative;
    display: inline-block;
    cursor: pointer;
    transition: all .4s ease;
}

button:hover .arrow, .has-arrow:hover .arrow {
    width: 20px;
    margin-right: 5px;
}

.arrow:before,
.arrow:after {
    content: "";
    position: absolute;
    height: 2px;
    width: 9px;
    border-radius: 10%;
}

.arrow:before {
    right: -2px;
    bottom: -3px;
    transform: rotate(-45deg);
}

.arrow:after {
    right: -2px;
    top: -3px;
    transform: rotate(45deg);
}

@media (max-width: 770px) {
    .arrow, .arrow:before,
    .arrow:after {
        background: white;
    }
}

.child {
    overflow: hidden;
    -webkit-box-shadow: 0px 0px 15px 2px rgb(0 0 0 / 10%);;
    box-shadow: 0px 0px 15px 2px rgb(0 0 0 / 10%);;
}

.nav-button:hover + .hover-border, .nav-button:focus + .hover-border {
    display: block;
}

@media screen and (min-width: 2000px) {
    .has-big-size-elt {
        bottom: -140px;
        /*        right: -384px;*/
    }

    .no-shift-in-big-size {
        right: -26rem;
        width: 90%;
    }

    #webinar {
        right: -17rem;
    }

    .has-big-width {
        width: 33%;
    }
}

#academy-button-arrow {
    align-self: end;
    position: relative;
    right: 100px;
}

.has-linear-gradient {
    background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.5) 11.69%, #000000 22.64%, #000000 50.56%, #000000 78.72%, rgba(0, 0, 0, 0.5) 88.28%, rgba(196, 196, 196, 0) 100%);
}

.hide-r {
    display: none !important;
}


.loader {
    animation: rotation 1s linear infinite;
}

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

.wechat-icon-modal {
    display: none;
    position: fixed;
    z-index: 1;
    padding-top: 100px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0, 0, 0);
    background-color: rgba(0, 0, 0, 0.4);
}

.wechat-icon-modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 30%;
    min-width: 340px;
    position: relative;
    top: 40%;
    right: 0;
    transform: translateY(-50%);
}

.infinite {
    background: linear-gradient(90deg, rgb(198, 166, 91) 0%, rgb(231, 210, 130) 26%, rgb(254, 252, 188) 44%, rgb(204, 166, 86) 65%, rgb(165, 112, 43) 100%);
}

.background-only-on-text, .with-gold-text > span {
    -webkit-text-fill-color: transparent;
}

@keyframes scaleIn {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0.7);
    }
}

.scale-slides {
    .swiper-slide {
        transform-origin: top center;
        transition: transform 0.5s ease;
    }

    .swiper-slide-prev, .swiper-slide-next {
        animation: scaleIn 0.5s forwards;
    }
}

body .anchor:before {
    content: "";
    display: block;
    height: 90px;
    margin: -90px 0 0;
    visibility: hidden;
    pointer-events: none;
}


body .anchor-with-submenu:before {
    content: "";
    display: block;
    height: 140px;
    margin: -140px 0 0;
    visibility: hidden;
    pointer-events: none;
}

@media screen and (max-width: 1024px) {
    .anchor:before {
        height: 72px;
        margin: -72px 0 0;
    }

    .anchor-with-submenu:before {
        height: 120px;
        margin: -120px 0 0;
    }
}


a, button, video {
    cursor: pointer;
}

.position-relative {
    padding: 1rem 0 1rem 0;
    display: flex;
    font-weight: 500;
}

.position-relative::before {
    content: '-';
}

.list > li {
    list-style-type: disc;
    margin-left: 2rem;
}

.custom-shadow-key-moments-box {
    box-shadow: -18px 9px 45px 0px #0000001A,
    -73px 37px 82px 0px #00000017,
    -165px 84px 111px 0px #0000000D,
    -292px 150px 131px 0px #00000003,
    -457px 234px 144px 0px #00000000;
}

.custom-shadow-key-moments-button {
    box-shadow: 3px 3px 9px 0px #0000001A,
    11px 13px 17px 0px #00000017,
    25px 28px 23px 0px #0000000D,
    44px 50px 27px 0px #00000003,
    69px 79px 29px 0px #00000000;

}

.custom-venue-and-getting-there-shadow {
    box-shadow: 0px 30px 66px 0px #0000001A,
    0px 119px 119px 0px #00000017,
    0px 268px 161px 0px #0000000D,
    0px 477px 191px 0px #00000003,
    0px 746px 209px 0px #00000000;
}

.boxed-content {
    max-width: 1440px;
    width: 100%;
}

.custom-shadow-for-buttons {
    &.light {
        box-shadow: 2px 5px 10px #e4e4e4;
    }

    &.dark {
        box-shadow: 2px 5px 10px #000E3D;
    }
}

.text-3xl-transparency {
    --s: 2px; /* set this as a CSS var to modify in MQ later */
    --o: calc(0.5 * var(--s));
    --border-text-color: white;
    font: 1.875rem/ .75 Poppins;

    @supports (line-height: 1cap) {
        line-height: 1cap
    }
    color: #0000;
    -webkit-text-stroke: var(--border-text-color) calc(var(--o));
}

.btn-next-style {
    background-color: #6366f1 !important; /*indigo-500*/
    border: 1px solid #6366f1 !important;
    color: white !important;

    &:hover {
        background-color: #3A53BB !important;
        border-color: #3A53BB !important;
    }

    &:active {
        border-color: #3A53BB !important;
        background-color: #3A53BB !important;
        color: white !important;
    }

    &:focus {
        border-color: #3A53BB !important;
        background-color: #3A53BB !important;
        outline-offset: -3px !important;
        outline-style: solid !important;
        color: white !important;
        outline-color: #E0E7FF !important; /*indigo-100*/
    }
}

.btn-submit-style {
    background-color: #10b981 !important; /*emerald-500*/
    border: 1px solid #10b981 !important;
    color: white !important;

    &:hover {
        background-color: #3A8F6F !important;
        border-color: #3A8F6F !important;
    }

    &:active {
        border-color: #3A8F6F !important;
        background-color: #3A8F6F !important;
        color: white !important;
    }

    &:focus {
        border-color: #3A8F6F !important;
        background-color: #3A8F6F !important;
        outline-offset: -3px !important;
        outline-style: solid !important;
        color: white !important;
        outline-color: #A7E6D5 !important;
    }
}

.custom-button-account-shadow {
    box-shadow: 0 2px 6px 0 #13124200;

}

.custom-exhibit-button-shadow {
    box-shadow: 5px 4px 7px 2px #00000008;
}

.custom-exhibit-product-shadow {
    box-shadow: 0 4px 20px 0 #00000012;
}

.container-exhibit-product:hover > div > a > .add-to-cart-exhibit-product {
    display: block;
}

.tag-new-product {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 86.3%, 0% 100%);
    background: linear-gradient(5.53deg, #00FFF2 -25.49%, #009991 127.55%, #00BBB2 237.01%);
}

.tag-new-product-text {
    transform: rotate(90deg);
}

.custom-shadow-for-pps-opening-date {
    box-shadow: 5px 5px 10px 0 #00000005;
}

.sponsorship_level_modal {
    &:before, &:after {
        bottom: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
    }

    &:after {
        border-color: rgba(255, 250, 255, 0);
        border-bottom-color: white;
        border-width: 12px;
        margin-left: -12px;
    }

    &:before {
        border-color: rgba(220, 220, 222, 0);
        border-bottom-color: var(--primary-color);
        border-width: 15px;
        margin-left: -15px;
    }


}

@media screen and (max-width: 1024px) {
    .sponsorship_level_modal {
        &:before, &:after {
            left: 20%;
        }
    }
}

.contact-custom-shadow {
    box-shadow: 0 4px 10px 0 #0000001A;
}

#additional_inquiry_infos {
    & a {
        text-decoration: underline;
        font-weight: 600;
        color: var(--secondary-color);
    }
}

.speaker-picture:hover {
    & > .speaker-picture-hover-content {
        display: flex;
    }
}

.speaker-picture {
    & > .speaker-picture-hover-content {
        display: none;
    }
}

.custom-shadow-congress-card-dashboard {
    box-shadow: 0 4px 15px 0 #0000002E;
}


.custom-company-account-card-shadow {
    box-shadow: 0px 2px 6px 0px #13124212;
}

.tab-bordered {
    color: #94a3b8; /*slate-400*/

    &:hover {
        background-color: #f9fafb;
        color: #374151;
    }
}

.tab-bordered-active {
    color: #a5b4fc;
}

.tab {
    color: #94a3b8; /*slate-400*/

    &:hover {
        color: var(--primary-color);
    }
}

.tab-active {
    background-color: #E0E7FF; /*indigo-100*/
    color: var(--primary-color);
}

.modal-shadows {
    box-shadow: 0 4px 6px -2px #10182808, 0 12px 16px -4px #10182814;
}

.badge-container.selected {
    border-width: 0.5px;
    border-color: #a5b4fc;

    & > div.badge-content {
        background-color: #E0E7FFE5; /*indigo-100*/
    }
}

.has-rounded-arrow-tooltip {
    width: 20px;
    height: 20px;
    background-color: inherit;
    clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
    transform: rotate(-45deg);
    border-radius: 0 0 0 0.25em;
}

.inset-shadows-guidelines {
    box-shadow: 0 1px 4px 0 #00000024 inset, 0 2px 4px 0 #00000014 inset;
}

.gala-filter {
    background: linear-gradient(180deg, rgba(3, 7, 18, 0.3) 0%, rgba(3, 7, 18, 0.9) 100%);
}


/* Modal */
.jquery-modal {
    display: none;
    vertical-align: middle;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: 100%;
    max-width: 48rem;
    background: #fff;
    padding: 40px 30px 15px 30px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -o-border-radius: 8px;
    -ms-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 0 10px #000;
    -moz-box-shadow: 0 0 10px #000;
    -o-box-shadow: 0 0 10px #000;
    -ms-box-shadow: 0 0 10px #000;
    box-shadow: 0 0 10px #000;
    text-align: left
}

.jquery-modal a.close-modal {
    position: absolute;
    top: 5px;
    right: 5px;
    display: block;
    width: 30px;
    height: 30px;
    text-indent: -9999px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48IS0tIUZvbnQgQXdlc29tZSBQcm8gNi43LjIgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTMyNC41IDQxMS4xYzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkwyMTQuNiAyNTYgMzQ3LjEgMTIzLjVjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMEwxOTIgMjMzLjQgNTkuNiAxMDAuOWMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkwxNjkuNCAyNTYgMzYuOSAzODguNWMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDE5MiAyNzguNiAzMjQuNSA0MTEuMXoiLz48L3N2Zz4=');
}

#global-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #0D1631DB;
    z-index: 10000;
    display: none;
}

.blocker {
    background-color: #0D1631DB;
    padding-top: 50px;
    z-index: 99999;
}


.form-was-submitted .custom-input:invalid,
.form-was-submitted .custom-input-group:has(input:invalid) .custom-input-select,
.form-was-submitted .custom-input-group:has(input:invalid) .custom-input-checkbox,
.form-was-submitted .custom-input-group:has(input:invalid) .custom-input-radio {
    border: 1px solid #ef4444 !important;
}

.loader-pagination {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: block;
    margin: 15px auto;
    position: relative;
    background: #FFF;
    box-shadow: -24px 0 #FFF, 24px 0 #FFF;
    box-sizing: border-box;
    animation: shadowPulse 2s linear infinite;
}

@keyframes shadowPulse {
    33% {
        background: #FFF;
        box-shadow: -24px 0 var(--primary-color), 24px 0 #FFF;
    }
    66% {
        background: var(--primary-color);
        box-shadow: -24px 0 #FFF, 24px 0 #FFF;
    }
    100% {
        background: #FFF;
        box-shadow: -24px 0 #FFF, 24px 0 var(--primary-color);
    }
}

.fancybox__container {
    --fancybox-bg: #0D1631DB;
    margin-top: 6rem;
}

.fancybox__content > .f-button.is-close-btn {
    background-color: white;
    color: black;
    top: 0;
}

@media screen and (max-width: 1024px) {
    .fancybox__container {
        margin-top: 80px;
    }
}

.text-with-shadow {
    text-shadow: 2px 2px 11px #00000029;

}


.checkbox-exhibit-product-option-container {
    .checkbox-exhibit-product-option {
        background-color: transparent;
        color: transparent;
    }

    & input[type="checkbox"]:checked + .checkbox-exhibit-product-option {
        background-color: #10b981;
        color: white;
    }
}

.note-modal-content {
    top: 30%;
}


.custom-backdrop-filter {
    background: rgba(255, 255, 255, 0); /* fond semi-transparent */
    backdrop-filter: blur(4px); /* flou sur l’arrière-plan */
    -webkit-backdrop-filter: blur(4px); /* compatibilité Safari */
}

.session-thumb {
    & .session-template-hover {
        display: none;
    }

    &:hover .session-template-hover {
        display: flex;
        color: var(--primary-color);
    }

    &:hover {
        color: transparent;

        & .border-sympo {
            border-color: transparent;
        }
    }
}

.grid-centered {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
    justify-content: center;
    margin: 0 auto;
}

.card-container-intro:hover {
    & .display-card-content {
        display: none !important;
    }

    & .hover-container-card {
        display: flex !important;
    }
}

@-webkit-keyframes gradient {
    0% {
        background-position: 0 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

@keyframes gradient {
    0% {
        background-position: 0 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.animate-gradient {
    animation: gradient 20s ease infinite;
    background-size: 400% 400%;
}

.sponsorship_level_classic_level {
    background: linear-gradient(255.53deg, #ECBEB4 29.38%, #E4ADA1 102.88%);
    color: #985B5B;
}

.sponsorship_level_bronze_level {
    background: linear-gradient(239.07deg, #F0875D 32.41%, #8A4D35 199.24%);
    color: #7B2F11;
}

.sponsorship_level_silver_level {
    background: linear-gradient(244.59deg, #DEDEDE 33.89%, #787878 292.45%);
    color: #696969;
}

.sponsorship_level_gold_level {
    background: linear-gradient(246.22deg, #FFCF6D 34.71%, #997C41 238.1%);
    color: #896722;
}

.sponsorship_level_platinum_level {
    background: linear-gradient(245.35deg, #BFBCBC 34.27%, #595858 226.33%);
    color: #5D5D5D;
}

.sponsorship_level_emerald_level {
    background: linear-gradient(248.21deg, #00B485 29.86%, #004E3A 211.77%);
    color: #033C2D;
}

.sponsorship_level_diamond_level {
    background: linear-gradient(253.2deg, #04B1CA 16.03%, #007384 238.71%);
    color: #0D4249;
}

.sponsorship_level_elite_level {
    background: linear-gradient(77.79deg, #79166D -69.63%, #DF29C9 110.68%);
    color: #F07FE2;
}

.sponsorship_level_ultimate_level {
    background: linear-gradient(248.41deg, #AB046D 35.82%, #45022C 154.66%);
    color: #FF6ECA;
}

.sponsorship_level_progress_bar_color {
    background: linear-gradient(90deg, #000B31 0%, #20336D 29.5%, #6E90FF 63%, #285BFF 96.5%);
}

.sponsorship_level_standard_level {
    background: linear-gradient(257.16deg, #FFE5E5 -2.44%, #FFEBEB -2.43%, #FFE8E8 100%);
    color: #A37979;
}

@media screen and (max-width: 900px) {
    .modal-component-container {
        max-height: 100vh;
        overflow-y: auto;
    }
}

#global-processing-screen {
    display: none;
    width: 100%;
    left: 0;
    position: absolute;
    text-align: center;
    z-index: 10001;
    color: white;
    font-size: 20px;
    top: 50%;
}
