/* ==========================================================
   OHI MESSA — UI 2.3-B3
   ========================================================== */

:root {
    --ohi-bordeaux-950: #400017;
    --ohi-bordeaux-900: #4d001b;
    --ohi-bordeaux-800: #5b0020;
    --ohi-bordeaux: #720029;
    --ohi-bordeaux-soft: #8b1641;

    --ohi-gold-dark: #9c6d13;
    --ohi-gold: #d1a128;
    --ohi-gold-light: #e6bd52;

    --ohi-text: #2e2428;
    --ohi-muted: #82767b;
    --ohi-border: #e7dfe2;
    --ohi-bg: #f9f7f8;
}


/* ==========================================================
   LANDING
   ========================================================== */

body.messa-landing23 {
    min-height: 100vh;
    margin: 0;

    color: var(--ohi-text);

    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(209,161,40,.13),
            transparent 29%
        ),
        #fbfafb;

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}


.messa-landing23-header {
    width: min(1180px, calc(100% - 46px));
    min-height: 92px;

    margin: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;
}


.messa-brand23,
.messa-auth23-brand {
    display: flex;
    align-items: center;

    gap: 11px;

    color: inherit;

    text-decoration: none;
}


.messa-brand23-mark,
.messa-auth23-logo {
    width: 52px;
    height: 52px;

    flex: 0 0 52px;

    overflow: hidden;

    border-radius: 50%;

    background: #fff;

    box-shadow:
        0 9px 25px
        rgba(71,0,26,.13);
}


.messa-brand23-mark img,
.messa-auth23-logo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.messa-brand23-copy,
.messa-auth23-brandcopy {
    display: grid;

    gap: 4px;
}


.messa-brand23-copy strong,
.messa-auth23-brandcopy strong {
    display: flex;

    align-items: baseline;

    gap: 4px;

    font-size: 15px;

    letter-spacing: .065em;
}


.messa-brand23-copy strong b {
    color: var(--ohi-bordeaux);
}


.messa-brand23-copy strong em {
    color: var(--ohi-gold-dark);

    font-style: normal;
}


.messa-brand23-copy small,
.messa-auth23-brandcopy small {
    font-size: 6px;

    font-weight: 850;

    letter-spacing: .12em;
}


.messa-landing23-actions,
.messa-landing23-cta {
    display: flex;

    align-items: center;

    gap: 9px;
}


.messa-landing23-login {
    color: var(--ohi-bordeaux-900);

    text-decoration: none;

    font-size: 9px;

    font-weight: 800;
}


.messa-button23 {
    min-height: 43px;

    box-sizing: border-box;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 0 18px;

    border-radius: 11px;

    text-decoration: none;

    font-size: 9px;

    font-weight: 850;
}


.messa-button23.large {
    min-height: 47px;
}


.messa-button23.primary {
    color: #fff;

    border:
        1px solid
        var(--ohi-bordeaux-800);

    background:
        linear-gradient(
            135deg,
            var(--ohi-bordeaux-900),
            var(--ohi-bordeaux)
        );

    box-shadow:
        0 11px 27px
        rgba(92,0,33,.16);
}


.messa-button23.secondary {
    color: var(--ohi-bordeaux);

    border:
        1px solid
        var(--ohi-border);

    background: #fff;
}


.messa-landing23-hero {
    width: min(1180px, calc(100% - 46px));

    min-height:
        calc(100vh - 125px);

    margin: auto;

    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(410px,.95fr);

    align-items: center;

    gap: clamp(45px,7vw,105px);

    padding:
        35px 0 75px;

    box-sizing: border-box;
}


.messa-eyebrow23 {
    display: inline-flex;

    padding:
        7px 11px;

    color: var(--ohi-gold-dark);

    border:
        1px solid
        rgba(209,161,40,.30);

    border-radius: 100px;

    background: #fff7e2;

    font-size: 7px;

    font-weight: 900;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.messa-landing23-copy h1 {
    max-width: 680px;

    margin:
        21px 0 20px;

    color:
        var(--ohi-bordeaux-900);

    font-size:
        clamp(50px,5vw,76px);

    line-height: .95;

    letter-spacing: -.06em;
}


.messa-landing23-copy h1 span {
    display: block;

    color:
        var(--ohi-gold);
}


.messa-landing23-copy > p {
    max-width: 590px;

    margin: 0;

    color:
        var(--ohi-muted);

    font-size: 14px;

    line-height: 1.72;
}


.messa-landing23-cta {
    margin-top: 26px;
}


.messa-landing23-signature {
    margin-top: 34px;

    display: flex;

    align-items: center;

    gap: 10px;

    color: #9b8e93;

    font-size: 7px;

    font-weight: 850;

    letter-spacing: .13em;
}


.messa-landing23-signature i {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        var(--ohi-gold);
}


/* Product preview */

.messa-product23 {
    position: relative;

    overflow: hidden;

    padding: 25px;

    color: #fff;

    border-radius: 24px;

    background:
        radial-gradient(
            circle at 90% 8%,
            rgba(229,189,82,.20),
            transparent 29%
        ),
        linear-gradient(
            150deg,
            #430017,
            #6c0027
        );

    box-shadow:
        0 30px 70px
        rgba(62,0,23,.18);
}


.messa-product23-top,
.messa-product23-top > div {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 8px;
}


.messa-product23-dot {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background:
        var(--ohi-gold-light);
}


.messa-product23-status {
    padding:
        5px 8px;

    color: #c6ead8;

    border-radius: 100px;

    background:
        rgba(45,150,104,.18);

    font-size: 7px;
}


.messa-product23-heading {
    margin:
        62px 0 21px;
}


.messa-product23-heading > span,
.messa-product23-grid article > span {
    color:
        var(--ohi-gold-light);

    font-size: 7px;
}


.messa-product23-heading h2 {
    margin:
        8px 0 0;

    color: #fff;

    font-size: 28px;
}


.messa-product23-grid {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 9px;
}


.messa-product23-grid article {
    padding: 16px;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius: 13px;

    background:
        rgba(255,255,255,.07);
}


.messa-product23-grid article.wide {
    grid-column:
        1 / -1;
}


.messa-product23-grid strong {
    display: block;

    margin-top: 7px;

    color: #fff;
}


.messa-product23-grid p {
    color:
        rgba(255,255,255,.57);

    font-size: 8px;

    line-height: 1.55;
}


.messa-product23-line {
    height: 4px;

    margin-top: 13px;

    overflow: hidden;

    border-radius: 10px;

    background:
        rgba(255,255,255,.08);
}


.messa-product23-line i {
    display: block;

    height: 100%;

    background:
        linear-gradient(
            90deg,
            var(--ohi-gold),
            var(--ohi-gold-light)
        );
}


/* ==========================================================
   AUTH
   ========================================================== */

body.messa-auth23-body {
    min-height: 100vh;

    margin: 0;

    background: #fff;
}


.messa-auth23-shell {
    min-height: 100vh;

    display: grid;

    grid-template-columns:
        minmax(370px,.9fr)
        minmax(500px,1.1fr);
}


.messa-auth23-aside {
    position: relative;

    min-height: 100vh;

    box-sizing: border-box;

    padding:
        30px
        clamp(28px,4vw,64px);

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    overflow: hidden;

    color: #fff;

    background:
        radial-gradient(
            circle at 90% 5%,
            rgba(229,188,82,.19),
            transparent 27%
        ),
        linear-gradient(
            155deg,
            #410017,
            #610023 55%,
            #75002a
        );
}


.messa-auth23-brandcopy strong {
    color: #fff;
}


.messa-auth23-brandcopy strong b {
    color: #fff;
}


.messa-auth23-brandcopy strong em {
    color:
        var(--ohi-gold-light);

    font-style: normal;
}


.messa-auth23-brandcopy small {
    color:
        rgba(255,255,255,.55);
}


.messa-auth23-message {
    position: relative;

    z-index: 2;
}


.messa-auth23-eyebrow {
    color:
        var(--ohi-gold-light);

    font-size: 8px;

    font-weight: 900;

    letter-spacing: .14em;

    text-transform: uppercase;
}


.messa-auth23-message h1 {
    margin:
        20px 0;

    color: #fff;

    font-size:
        clamp(42px,4vw,62px);

    line-height: .98;

    letter-spacing: -.05em;
}


.messa-auth23-message h1 span {
    color:
        var(--ohi-gold-light);
}


.messa-auth23-message p {
    max-width: 480px;

    color:
        rgba(255,255,255,.65);

    line-height: 1.7;
}


.messa-auth23-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 7px;

    margin-top: 24px;
}


.messa-auth23-tags span {
    padding:
        7px 10px;

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius: 100px;

    background:
        rgba(255,255,255,.06);

    font-size: 7px;
}


.messa-auth23-footer {
    display: flex;

    align-items: center;

    gap: 8px;

    color:
        rgba(255,255,255,.36);

    font-size: 6px;

    letter-spacing: .1em;
}


.messa-auth23-footer i {
    width: 3px;
    height: 3px;

    border-radius: 50%;

    background:
        var(--ohi-gold);
}


.messa-auth23-main {
    min-height: 100vh;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    justify-content: center;

    padding:
        45px
        clamp(35px,7vw,120px);

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(209,161,40,.06),
            transparent 27%
        ),
        #fff;
}


.messa-auth23-card {
    width: 100%;

    max-width: 500px;
}


.messa-auth23-card
.auth-heading h2 {
    color:
        var(--ohi-bordeaux-900) !important;
}


.messa-auth23-card
.auth-heading .eyebrow {
    color:
        var(--ohi-gold-dark) !important;
}


.messa-auth23-card
.primary-button {
    border-color:
        var(--ohi-bordeaux-800) !important;

    background:
        linear-gradient(
            135deg,
            var(--ohi-bordeaux-900),
            var(--ohi-bordeaux)
        ) !important;
}


.messa-auth23-mobile-brand {
    display: none;
}


/* ==========================================================
   ONBOARDING SEARCH
   ========================================================== */

.messa-business-search23 {
    position: relative;

    margin:
        26px 0 19px;
}


.messa-business-search23-box {
    min-height: 54px;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    gap: 10px;

    padding:
        0 15px;

    border:
        1px solid
        #dcd1d5;

    border-radius: 14px;

    background: #fff;

    box-shadow:
        0 7px 24px
        rgba(69,18,36,.035);
}


.messa-business-search23-box:focus-within {
    border-color:
        var(--ohi-bordeaux-soft);

    box-shadow:
        0 0 0 4px
        rgba(114,0,41,.07);
}


.messa-business-search23-box svg {
    width: 19px;
    height: 19px;

    flex: 0 0 19px;

    fill: none;

    stroke:
        var(--ohi-bordeaux);

    stroke-width: 1.8;

    stroke-linecap: round;
}


.messa-business-search23-box input {
    flex: 1;

    min-width: 0;
    min-height: 45px !important;

    padding: 0 !important;

    border: 0 !important;

    outline: none !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    font-size: 10px;
}


.messa-business-search23-box > span {
    flex: 0 0 auto;

    padding:
        5px 7px;

    color:
        var(--ohi-gold-dark);

    border-radius: 7px;

    background: #fff4d9;

    font-size: 7px;

    font-weight: 800;
}


.messa-business-results23 {
    position: absolute;

    left: 0;
    right: 0;

    z-index: 100;

    margin-top: 7px;

    padding: 12px;

    border:
        1px solid
        var(--ohi-border);

    border-radius: 14px;

    background: #fff;

    box-shadow:
        0 18px 46px
        rgba(56,14,30,.13);
}


.messa-business-results23[hidden] {
    display: none !important;
}


.messa-business-results23 > header {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 10px;

    color:
        var(--ohi-muted);

    font-size: 7px;
}


.messa-business-results23 > header span {
    color:
        var(--ohi-bordeaux);

    font-weight: 900;
}


.messa-business-results23-grid {
    max-height: 370px;

    overflow-y: auto;

    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap: 6px;
}


.messa-business-result23 {
    min-height: 55px;

    display: grid;

    grid-template-columns:
        auto minmax(0,1fr) auto;

    align-items: center;

    gap: 9px;

    padding:
        7px 9px;

    text-align: left;

    border:
        1px solid
        #ece5e7;

    border-radius: 11px;

    background: #fff;

    cursor: pointer;
}


.messa-business-result23:hover {
    border-color:
        rgba(114,0,41,.22);

    background:
        #fcf7f9;
}


.messa-business-result23.selected {
    border-color:
        var(--ohi-gold);

    background:
        #fffaf0;

    box-shadow:
        inset
        3px 0
        var(--ohi-bordeaux);
}


.messa-business-result23-code {
    width: 31px;
    height: 31px;

    display: grid;

    place-items: center;

    border-radius: 9px;

    color:
        #886316;

    background:
        #f7eccf;

    font-size: 7px;

    font-weight: 900;
}


.messa-business-result23-copy {
    min-width: 0;

    display: grid;

    gap: 3px;
}


.messa-business-result23-copy strong {
    overflow: hidden;

    color:
        #382c31;

    font-size: 9px;

    text-overflow: ellipsis;

    white-space: nowrap;
}


.messa-business-result23-copy small {
    color:
        #92868b;

    font-size: 7px;
}


.messa-business-result23-arrow {
    color:
        var(--ohi-gold-dark);
}


.messa-business-category-title23 {
    display: flex;

    align-items: baseline;

    justify-content: space-between;

    gap: 15px;

    margin:
        18px 0 10px;
}


.messa-business-category-title23 strong {
    color:
        var(--ohi-bordeaux-900);

    font-size: 9px;
}


.messa-business-category-title23 span {
    color:
        var(--ohi-muted);

    font-size: 7px;
}


/*
 * Catégories plus compactes.
 */

.messa-onboarding23
.category-grid {
    display: flex !important;

    flex-wrap: wrap !important;

    gap: 7px !important;
}


.messa-onboarding23
.category-grid
.selection-card {
    width: auto !important;

    min-height: 44px !important;

    display: inline-flex !important;

    align-items: center !important;

    gap: 8px !important;

    padding:
        6px 10px !important;

    border-radius:
        11px !important;
}


.messa-onboarding23
.category-grid
.selection-code {
    width: 29px !important;
    height: 29px !important;

    margin: 0 !important;

    display: grid !important;

    place-items: center !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .messa-landing23-hero {
        grid-template-columns:
            1fr;
    }


    .messa-auth23-shell {
        grid-template-columns:
            340px
            minmax(0,1fr);
    }

}


@media (max-width: 720px) {

    .messa-landing23-header,
    .messa-landing23-hero {
        width:
            calc(100% - 30px);
    }


    .messa-landing23-hero {
        padding-top: 38px;
    }


    .messa-landing23-copy h1 {
        font-size: 46px;
    }


    .messa-landing23-cta {
        display: grid;
    }


    .messa-auth23-shell {
        display: block;
    }


    .messa-auth23-aside {
        display: none;
    }


    .messa-auth23-main {
        display: block;

        padding:
            20px 18px 45px;
    }


    .messa-auth23-mobile-brand {
        display: flex;

        align-items: center;

        gap: 9px;

        margin-bottom: 35px;
    }


    .messa-auth23-mobile-brand img {
        width: 45px;
        height: 45px;

        border-radius: 50%;
    }


    .messa-business-results23-grid {
        grid-template-columns:
            1fr;
    }


    .messa-business-search23-box > span {
        display: none;
    }

}
