/* =========================
   VARIABLES
========================= */

:root{

    --ocean:#073b4c;
    --lagoon:#19bcb3;
    --cream:#fff9ee;
    --coral:#ef766b;
    --line:#dce8e6;
    --gray:#60777d;
    --ink:#183741;
    --surface:#ffffff;
    --surface-soft:#f4f8f7;
    --shadow-soft:0 18px 42px rgba(7,59,76,.12);

}



/* =========================
   BASE
========================= */


*{
    box-sizing:border-box;
}


html{
    scroll-behavior:smooth;
}


body{

    margin:0;

    color:var(--ocean);

    background:#fbfcfc;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;

}


a{

    color:inherit;

    text-decoration:none;

}



/* =========================
   BARRE DU HAUT
========================= */


.topbar{
    display:none;

}



/* =========================
   NAVIGATION
========================= */


.navbar{

    height:76px;

    display:flex;

    align-items:center;

    gap:30px;

    max-width:1240px;

    margin:auto;

    padding:0 28px;

}



.logo{

    font-size:28px;

    font-weight:900;

    letter-spacing:-2px;

}



.logo span{

    display:inline-grid;

    place-items:center;

    width:34px;

    height:34px;

    border-radius:50% 50% 50% 8px;

    background:var(--lagoon);

    color:white;

    font-size:19px;

    transform:rotate(-8deg);

    margin-right:4px;

}



.logo i{

    font-style:normal;

    color:var(--coral);

}



.nav-search{

    display:flex;

    align-items:center;

    gap:9px;

    flex:1;

    max-width:430px;

    background:#f1f6f5;

    border-radius:30px;

    padding:12px 17px;

    color:var(--gray);

}



input{

    border:0;

    outline:0;

    background:transparent;

    width:100%;

    font:inherit;

}



.links{

    margin-left:auto;

    display:flex;

    align-items:center;

    gap:20px;

    font-size:14px;

    font-weight:bold;

}



/* BOUTONS */

.button,
.search-box button{

    background:var(--lagoon);

    color:white;

    border:0;

    border-radius:12px;

    padding:13px 18px;

    font-weight:bold;

    cursor:pointer;

}

/* Actions du menu : le profil devient l'action principale, tandis que
   Vendre reste une action secondaire plus legere. */
.navbar .profile-button{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 15px;
    border:1px solid var(--lagoon);
    border-radius:13px;
    background:var(--lagoon);
    box-shadow:inset 0 -2px 0 rgba(7,59,76,.12);
    color:#fff;
    font-weight:900;
    letter-spacing:-.01em;
    white-space:nowrap;
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.navbar .profile-button:hover{
    transform:translateY(-1px);
    background:#10a99f;
    box-shadow:0 7px 16px rgba(7,59,76,.16);
}

.navbar .sell-button{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 14px;
    border:1.5px solid var(--ocean);
    border-radius:13px;
    background:var(--ocean);
    box-shadow:none;
    color:#fff;
    font-weight:850;
    white-space:nowrap;
    transition:background .18s ease, color .18s ease, transform .18s ease;
}

.navbar .sell-button:hover{
    transform:translateY(-1px);
    background:#0d536a;
    color:#fff;
}



/* =========================
   HERO
========================= */


.hero{

    display:grid;

    grid-template-columns:1.08fr .92fr;

    min-height:610px;

    background:var(--cream);

    overflow:hidden;

}



.hero-copy{

    padding:

    90px max(30px,calc((100vw - 1180px)/2));

    padding-right:40px;

}



.eyebrow{

    display:inline-block;

    background:#ddf5f1;

    color:#087f7d;

    padding:8px 13px;

    border-radius:30px;

    font-size:12px;

    font-weight:bold;

    text-transform:uppercase;

}



.eyebrow::first-letter{

    color:var(--coral);

}



h1,
h2{

    font-family:Georgia,serif;

    letter-spacing:-.05em;

}



h1{

    font-size:clamp(50px,5.5vw,82px);

    line-height:.96;

    margin:25px 0;

}



h1 em{

    color:#087f7d;

}



.intro{

    max-width:580px;

    color:var(--gray);

    font-size:18px;

    line-height:1.7;

}



.search-box{

    display:flex;

    align-items:center;

    gap:12px;

    background:white;

    max-width:650px;

    padding:8px 8px 8px 18px;

    border-radius:16px;

    box-shadow:0 15px 35px #073b4c18;

    margin:30px 0 20px;

}



.search-box span{

    font-size:24px;

}



.trust{

    font-size:12px;

    color:var(--gray);

    font-weight:bold;

}
/* =========================
   ILLUSTRATION POLYNÉSIE
========================= */

.lagoon-art{

    position:relative;

    background:
    linear-gradient(
        145deg,
        #a7e8df,
        #35bfc5 55%,
        #0a91a7
    );

    overflow:hidden;

}



.sun{

    position:absolute;

    top:75px;

    right:90px;

    width:130px;

    height:130px;

    border-radius:50%;

    background:#ffe7a6;

    box-shadow:
    0 0 0 22px #ffffff20;

}



.island{

    position:absolute;

    right:7%;

    bottom:85px;

    width:440px;

    height:170px;

    border-radius:
    50% 45% 0 0;

    background:#e4c798;

    box-shadow:
    inset 0 16px #75ad64;

    font-size:120px;

    padding:10px 80px;

    transform:rotate(-4deg);

}



.island b{

    font-size:74px;

    position:absolute;

    right:55px;

    top:-45px;

}



.wave{

    position:absolute;

    width:145%;

    height:100px;

    left:-20%;

    bottom:-50px;

    border-radius:50%;

    background:#ffffff70;

}



.one{

    bottom:12px;

    left:-48%;

    transform:rotate(3deg);

}



.two{

    background:#ffffffa0;

}



.float-card{

    position:absolute;

    display:flex;

    gap:12px;

    align-items:center;

    background:#fffffff0;

    padding:14px 18px;

    border-radius:15px;

    box-shadow:
    0 12px 25px #073b4c25;

    font-size:26px;

}



.float-card span{

    display:grid;

    font-size:14px;

    font-weight:bold;

}



.float-card small{

    font-size:11px;

    color:var(--gray);

    margin-top:4px;

}



.c1{

    top:22%;

    left:6%;

}



.c2{

    right:5%;

    bottom:22%;

}




/* =========================
   SECTIONS
========================= */


.section{

    max-width:1240px;

    margin:auto;

    padding:86px 28px;

}



.heading{

    display:flex;

    justify-content:space-between;

    align-items:end;

    margin-bottom:32px;

}



.heading a{

    color:#087f7d;

    font-weight:bold;

    font-size:14px;

}



.kicker{

    color:#087f7d;

    letter-spacing:.16em;

    font-size:11px;

    font-weight:bold;

}



.heading h2,
.how h2{

    font-size:
    clamp(34px,4vw,50px);

    margin:8px 0 0;

}


/* =========================
BARRE CATEGORIES RECHERCHE
========================= */

.categories{

    display:flex;

    justify-content:center;

    gap:18px;

    padding:15px;

    background:white;

    border-bottom:1px solid var(--line);

}


.category{

    position:relative;

    font-size:14px;

    font-weight:500;

    cursor:pointer;

    padding:6px 5px;

}


/* =========================
SOUS MENUS CATEGORIES
========================= */


.submenu{


display:none;


position:absolute;


top:42px;


left:0;


width:220px;


background:white;


padding:8px;


border-radius:10px;


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


box-shadow:


0 15px 35px rgba(0,0,0,.10);


z-index:500;

max-height:min(460px,calc(100vh - 170px));

overflow-y:auto;


}





/* zone de sécurité pour passer de la catégorie au menu */


.category::after{


content:"";


position:absolute;


top:35px;


left:0;


width:100%;


height:15px;


}


/* ORDINATEUR : passage souris */

.category:hover .submenu{

    display:block;

}


/* TELEPHONE : toucher */

.category.active .submenu{

    display:block;

}


.submenu p{

    padding:3px 10px;

    font-size:14px;

    cursor:pointer;

    border-radius:7px;

    margin:0;

    line-height:1.2;

}





.submenu p:hover{


background:var(--blue-soft);


color:var(--lagon-dark);


}




/* =========================
   CATEGORIES
========================= */


.categories{

    display:flex;

    justify-content:center;

    gap:12px;

    padding:15px;

}



.cat{

    position:relative;

    border-radius:20px;

    min-height:205px;

    padding:20px;

    overflow:hidden;

}



.cat b{

    display:grid;

    place-items:center;

    width:54px;

    height:54px;

    background:#ffffffb0;

    border-radius:16px;

    font-size:27px;

}



.cat h3{

    margin:45px 0 7px;

}



.cat p{

    font-size:11px;

    color:#47636a;

    margin:0;

}



.cat i{

    position:absolute;

    right:15px;

    bottom:16px;

    border-radius:50%;

    background:#ffffff90;

    padding:6px 9px;

    font-style:normal;

}



.clothes{

    background:#ffe5df;

}


.house{

    background:#e7e0cb;

}


.tech{

    background:#dbeff6;

}


.fun{

    background:#efe4f3;

}


.hobby{

    background:#feecc8;

}


.sport{

    background:#d8f0e2;

}



/* =========================
   ANNONCES
========================= */


.products{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:20px;

}



.product{

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

    border-radius:18px;

    overflow:hidden;

    background:white;

}

.product.is-listing-clickable{cursor:pointer;}

.product.is-listing-clickable:hover{
    border-color:#9ecfca;
    box-shadow:0 10px 25px rgba(7,59,76,.08);
}



.image{

    height:250px;

    display:grid;

    place-items:center;

    font-size:86px;

    position:relative;

}



.image small{

    position:absolute;

    left:13px;

    bottom:13px;

    background:#ffffffe0;

    padding:6px 10px;

    border-radius:20px;

    font-size:11px;

    font-weight:bold;

}



.surf{

    background:
    linear-gradient(
        140deg,
        #bfe9ed,
        #52bac6
    );

}



.dress{

    background:
    linear-gradient(
        140deg,
        #ffe6e1,
        #f3a692
    );

}



.chair{

    background:
    linear-gradient(
        140deg,
        #f1e9d4,
        #c8a877
    );

}



.phone{

    background:
    linear-gradient(
        140deg,
        #dce4ea,
        #8fa4b0
    );

}



.product>div:last-child{

    padding:17px;

}



.product p{

    font-size:11px;

    color:var(--gray);

    margin:0;

}



.product h3{

    font-size:16px;

    margin:8px 0;

}



.product strong{

    color:#087f7d;

    font-size:19px;

}



.product hr{

    border:0;

    border-top:1px solid var(--line);

    margin:16px 0 12px;

}



.product span{

    font-size:11px;

    font-weight:bold;

}



.product span b{

    float:right;

}
/* =========================
   COMMENT ÇA MARCHE
========================= */


.how{

    background:var(--ocean);

    text-align:center;

    color:white;

    padding:
    82px max(28px,calc((100vw - 1180px)/2));

}



.how .kicker{

    color:#70e2d5;

}



.how h2{

    margin:8px 0 40px;

}



.steps{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:22px;

    text-align:left;

}



.steps article{

    position:relative;

    border:1px solid #ffffff26;

    border-radius:18px;

    padding:30px;

}



.steps article>b{

    position:absolute;

    right:22px;

    top:17px;

    color:#ffffff33;

    font:34px Georgia;

}



.steps span{

    font-size:34px;

}



.steps h3{

    margin:20px 0 10px;

}



.steps p{

    color:#ffffffb5;

    line-height:1.6;

    font-size:14px;

}





/* =========================
   MOBILE TABLETTE
========================= */


@media(max-width:1024px){


    .nav-search{

        display:none;

    }



    .hero{

        grid-template-columns:1fr;

    }



    .lagoon-art{

        min-height:370px;

    }



    .categories{

        grid-template-columns:
        repeat(3,1fr);

    }



    .products{

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

    }


}

/* Navigation principale (ordinateur et tablette paysage) : ce bloc reprend
   le parcours à deux niveaux demandé. Il annule les anciens panneaux en
   cartes : un onglet ouvre une grande surface blanche, avec les rayons à
   gauche et leurs sous-catégories lisibles à droite. */
@media(min-width:720px){
  .mobile-category-toggle{display:none!important;}

  #homeCategoryNavigation,
  #categoryNavigation,
  .categories{
    position:relative;
    display:flex!important;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    min-height:66px;
    padding:0 clamp(18px,3vw,48px);
    overflow:visible;
    background:#fff;
    border-bottom:1px solid #d8e1e1;
    box-shadow:none;
    white-space:nowrap;
  }

  #homeCategoryNavigation .category,
  #categoryNavigation .category,
  .categories .category{
    position:static;
    display:flex;
    align-items:stretch;
    padding:0;
    border:0;
    color:#5d6d70;
    font-size:16px;
    font-weight:500;
  }

  #homeCategoryNavigation .category-heading,
  #categoryNavigation .category-heading,
  .categories .category-heading{display:flex;align-items:stretch;min-height:0;}

  #homeCategoryNavigation .category-name,
  #categoryNavigation .category-name,
  .categories .category-name{
    display:flex;
    align-items:center;
    min-height:66px;
    padding:0 clamp(10px,1.65vw,27px);
    color:#5d6d70;
    font-size:inherit;
    font-weight:inherit;
    line-height:1;
    text-decoration:none;
    transition:color .16s ease,box-shadow .16s ease;
  }

  #homeCategoryNavigation .category:hover .category-name,
  #homeCategoryNavigation .category.active .category-name,
  #categoryNavigation .category:hover .category-name,
  #categoryNavigation .category.active .category-name,
  .categories .category:hover .category-name,
  .categories .category.active .category-name{
    color:#173f48;
    box-shadow:inset 0 -3px 0 #16818c;
  }

  #homeCategoryNavigation .category-expand,
  #categoryNavigation .category-expand,
  .categories .category-expand{display:none!important;}

  #homeCategoryNavigation .category::after,
  #categoryNavigation .category::after,
  .categories .category::after{display:none;}

  #homeCategoryNavigation .category:hover .submenu,
  #categoryNavigation .category:hover .submenu,
  .categories .category:hover .submenu{display:none;}

  #homeCategoryNavigation .category .category-mega-menu,
  #categoryNavigation .category .category-mega-menu,
  .categories .category .category-mega-menu{
    position:absolute;
    z-index:1200;
    top:100%;
    left:50%;
    display:none!important;
    width:100vw;
    max-width:none;
    min-height:0;
    max-height:min(540px,calc(100dvh - 120px));
    margin:0;
    padding:0;
    overflow:auto;
    transform:translateX(-50%);
    border:0;
    border-top:1px solid #e1e7e7;
    border-bottom:1px solid #d8e1e1;
    border-radius:0;
    background:#fff;
    box-shadow:0 18px 32px rgba(24,55,64,.13);
  }

  #homeCategoryNavigation .category.active .category-mega-menu,
  #homeCategoryNavigation .category.is-wide-menu.active .category-mega-menu,
  #categoryNavigation .category.active .category-mega-menu,
  #categoryNavigation .category.is-wide-menu.active .category-mega-menu,
  .categories .category.active .category-mega-menu,
  .categories .category.is-wide-menu.active .category-mega-menu{display:block!important;}

  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser,
  .categories .category-browser{
    display:grid;
    grid-template-columns:minmax(270px,30%) minmax(0,1fr);
    min-height:480px;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:#fff;
  }

  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar,
  .categories .category-browser-sidebar{
    display:grid;
    align-content:start;
    gap:3px;
    max-height:min(540px,calc(100dvh - 120px));
    padding:22px clamp(22px,4vw,64px) 24px;
    overflow:auto;
    border-right:1px solid #e0e5e5;
    background:#fff;
  }

  #homeCategoryNavigation .category-browser-view-all,
  #categoryNavigation .category-browser-view-all,
  .categories .category-browser-view-all{
    position:relative;
    display:flex;
    align-items:center;
    min-height:51px;
    padding:0 12px 0 45px;
    border-radius:0;
    background:transparent;
    color:#167b85;
    font-size:16px;
    font-weight:500;
    text-decoration:none;
  }

  #homeCategoryNavigation .category-browser-view-all::before,
  #categoryNavigation .category-browser-view-all::before,
  .categories .category-browser-view-all::before{
    content:"";
    position:absolute;
    left:14px;
    width:18px;
    height:18px;
    background:radial-gradient(circle,#16818c 1.7px,transparent 2.3px) 0 0/8px 8px;
  }

  #homeCategoryNavigation .category-browser-subcategory,
  #categoryNavigation .category-browser-subcategory,
  .categories .category-browser-subcategory{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:58px;
    padding:0 12px 0 45px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#52656a;
    font:inherit;
    font-size:17px;
    font-weight:500;
    letter-spacing:0;
    text-align:left;
    cursor:pointer;
  }

  #homeCategoryNavigation .category-browser-subcategory::before,
  #categoryNavigation .category-browser-subcategory::before,
  .categories .category-browser-subcategory::before{
    content:"";
    position:absolute;
    left:15px;
    width:18px;
    height:18px;
    border:1.7px solid #17818d;
    border-radius:4px;
    opacity:.92;
  }

  #homeCategoryNavigation .category-browser-subcategory b,
  #categoryNavigation .category-browser-subcategory b,
  .categories .category-browser-subcategory b{
    display:block;
    color:#546c70;
    font-size:31px;
    font-weight:300;
    line-height:1;
  }

  #homeCategoryNavigation .category-browser-subcategory:hover,
  #homeCategoryNavigation .category-browser-subcategory:focus-visible,
  #categoryNavigation .category-browser-subcategory:hover,
  #categoryNavigation .category-browser-subcategory:focus-visible,
  .categories .category-browser-subcategory:hover,
  .categories .category-browser-subcategory:focus-visible{
    background:#f4f9f8;
    color:#173f48;
    outline:0;
  }

  #homeCategoryNavigation .category-browser-subcategory.is-active,
  #categoryNavigation .category-browser-subcategory.is-active,
  .categories .category-browser-subcategory.is-active{
    background:transparent;
    color:#173f48;
    font-weight:750;
  }

  #homeCategoryNavigation .category-browser-subcategory.is-active::before,
  #categoryNavigation .category-browser-subcategory.is-active::before,
  .categories .category-browser-subcategory.is-active::before{
    border-radius:50%;
    background:#e3f4f1;
    box-shadow:inset 0 0 0 5px #fff;
  }

  #homeCategoryNavigation .category-browser-content,
  #categoryNavigation .category-browser-content,
  .categories .category-browser-content{
    min-width:0;
    max-height:min(540px,calc(100dvh - 120px));
    padding:25px clamp(34px,6vw,102px) 32px;
    overflow:auto;
    background:#fff;
  }

  #homeCategoryNavigation .category-browser-all-articles,
  #categoryNavigation .category-browser-all-articles,
  .categories .category-browser-all-articles{
    display:flex;
    align-items:center;
    min-height:42px;
    margin:0 0 14px;
    padding:0;
    color:#177b85!important;
    font-size:16px!important;
    font-weight:500;
    text-decoration:none;
  }

  #homeCategoryNavigation .category-browser-all-articles:hover,
  #categoryNavigation .category-browser-all-articles:hover,
  .categories .category-browser-all-articles:hover{text-decoration:underline;text-underline-offset:4px;}

  #homeCategoryNavigation .category-browser-types,
  #categoryNavigation .category-browser-types,
  .categories .category-browser-types{
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:0 clamp(36px,6vw,105px);
  }

  #homeCategoryNavigation .category-browser-types a,
  #categoryNavigation .category-browser-types a,
  .categories .category-browser-types a{
    display:flex;
    align-items:center;
    min-height:57px;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#52656a!important;
    font-size:17px!important;
    font-weight:450;
    line-height:1.25;
    text-decoration:none;
    transition:color .14s ease,transform .14s ease;
  }

  #homeCategoryNavigation .category-browser-types a:hover,
  #homeCategoryNavigation .category-browser-types a:focus-visible,
  #categoryNavigation .category-browser-types a:hover,
  #categoryNavigation .category-browser-types a:focus-visible,
  .categories .category-browser-types a:hover,
  .categories .category-browser-types a:focus-visible{
    color:#167b85!important;
    outline:0;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:5px;
    transform:translateX(3px);
  }

  #homeCategoryNavigation .category-browser-empty,
  #categoryNavigation .category-browser-empty,
  .categories .category-browser-empty{margin:4px 0;color:#66777b;font-size:15px;line-height:1.55;}
}

@media(min-width:720px) and (max-width:900px){
  #homeCategoryNavigation,
  #categoryNavigation,
  .categories{padding:0 10px;}
  #homeCategoryNavigation .category,
  #categoryNavigation .category,
  .categories .category{font-size:13px;}
  #homeCategoryNavigation .category-name,
  #categoryNavigation .category-name,
  .categories .category-name{padding:0 9px;}
  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser,
  .categories .category-browser{grid-template-columns:minmax(220px,32%) minmax(0,1fr);}
  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar,
  .categories .category-browser-sidebar{padding-left:18px;padding-right:18px;}
  #homeCategoryNavigation .category-browser-subcategory,
  #categoryNavigation .category-browser-subcategory,
  .categories .category-browser-subcategory{font-size:15px;}
  #homeCategoryNavigation .category-browser-content,
  #categoryNavigation .category-browser-content,
  .categories .category-browser-content{padding-left:26px;padding-right:26px;}
  #homeCategoryNavigation .category-browser-types,
  #categoryNavigation .category-browser-types,
  .categories .category-browser-types{grid-template-columns:1fr;gap:0;}
  #homeCategoryNavigation .category-browser-types a,
  #categoryNavigation .category-browser-types a,
  .categories .category-browser-types a{min-height:44px;font-size:15px!important;}
}

/* Refonte douce : surfaces plus chaleureuses, bords souples et contrastes
   lisibles sur téléphone, tablette et ordinateur. */
:root{
    --ocean:#183b4a;
    --lagoon:#2e9f96;
    --cream:#fbf8f4;
    --coral:#d9796d;
    --line:#e8e3dc;
    --gray:#61747b;
}

body{background:#fcfbf9;}
header,.navbar{background:rgba(255,255,255,.94);}
.navbar{max-width:1320px;}
.nav-search{background:#f5f3ef;border:1px solid transparent;transition:border-color .18s ease,background .18s ease;}
.nav-search:focus-within{border-color:#9acdc6;background:#fff;}
.button,.publish-button{box-shadow:0 10px 22px rgba(24,59,74,.12);}
.button:hover,.publish-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(24,59,74,.16);}

/* Menus denses : les longues listes restent entièrement accessibles. */
.categories .category.is-wide-menu .submenu{
    left:50%;
    width:min(490px,calc(100vw - 28px));
    max-height:min(650px,calc(100dvh - 120px));
    padding:10px;
    transform:translateX(-50%);
}
.categories .category.is-wide-menu:hover .submenu{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2px 5px;
}
.categories .category.is-wide-menu.active .submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 5px;}
.categories .category.is-wide-menu .category-all-link{grid-column:1 / -1;}
.categories .submenu a,.categories .clothing-menu-trigger{border-radius:10px;}
.categories .submenu a:focus-visible,.categories .clothing-menu-trigger:focus-visible{outline:2px solid var(--lagoon);outline-offset:2px;}
.categories .clothing-menu-item::after{right:-20px;width:22px;}

/* Plusieurs tailles/pointures dans une annonce. */
.listing-sizes-field{grid-column:1 / -1;padding:17px 18px;border:1px solid #deddd7;border-radius:18px;background:#fffdfb;}
.listing-sizes-field>label{display:block;margin:0;color:var(--ocean);font-weight:850;}
.listing-sizes-field>p{margin:5px 0 14px;color:var(--gray);font-size:12px;line-height:1.45;}
.listing-size-options{display:grid;gap:11px;}
.listing-size-group{margin:0;padding:0;border:0;}
.listing-size-group legend{margin-bottom:7px;color:#6a7d7a;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;}
.listing-size-group>div{display:flex;flex-wrap:wrap;gap:8px;}
.listing-size-group label{position:relative;display:inline-flex;min-height:37px;align-items:center;cursor:pointer;}
.listing-size-group input{position:absolute;opacity:0;pointer-events:none;}
.listing-size-group span{display:grid;min-height:37px;place-items:center;padding:0 12px;border:1px solid #d6e2df;border-radius:999px;background:#fff;color:var(--ocean);font-size:12px;font-weight:800;transition:.18s ease;}
.listing-size-group input:checked + span{border-color:var(--lagoon);background:var(--lagoon);color:#fff;box-shadow:0 5px 12px rgba(46,159,150,.2);}
.listing-size-group input:focus-visible + span{outline:2px solid var(--ocean);outline-offset:2px;}

/* Cartes et filtres plus calmes, avec une hiérarchie plus nette. */
.product,.category-desktop-filters,.category-mobile-filters,.offers-page-section,.profile-box{border-color:#e5e1da;box-shadow:0 10px 30px rgba(24,59,74,.055);}
.product{border-radius:18px;overflow:hidden;background:#fffdfb;}
.product:hover{box-shadow:0 18px 38px rgba(24,59,74,.11);}
.subcategory-chips a{border-radius:999px;background:#fffdfb;}
.category-desktop-filter-toggle,.mobile-category-filter-toggle{border-radius:999px;}
.category-detail-filter-options{border-radius:15px;}
.category-detail-filter-option{border-radius:9px;}
.category-empty,.sell-guidance{border-radius:22px;background:#fffdfb;}
.listing-actions .contact-seller,.listing-actions .save-listing,.listing-actions .edit-listing,.listing-actions .delete-listing{border-radius:11px;}

/* Questionnaire discret après suppression d'une annonce. */
.listing-removal-modal{position:fixed;z-index:3500;inset:0;display:grid;padding:20px;place-items:center;background:rgba(24,59,74,.48);backdrop-filter:blur(5px);}
.listing-removal-dialog{width:min(100%,500px);padding:28px;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:#fffdfb;box-shadow:0 28px 70px rgba(24,59,74,.3);}
.listing-removal-dialog{position:relative;}
.listing-removal-dialog h2{margin:7px 38px 9px 0;color:var(--ocean);font-size:27px;line-height:1.12;}
.listing-removal-dialog>p:not(.kicker){margin:0;color:var(--gray);font-size:14px;line-height:1.55;}
.listing-removal-close{position:absolute;top:16px;right:16px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:#f1f2ef;color:var(--ocean);font-size:23px;cursor:pointer;}
.listing-removal-reason{display:grid;gap:9px;margin:20px 0 15px;padding:15px;border:1px solid #e5e1da;border-radius:15px;}
.listing-removal-reason legend{padding:0 4px;color:var(--ocean);font-size:13px;font-weight:850;}
.listing-removal-reason label{display:flex;gap:9px;align-items:center;color:#46615f;font-size:13px;cursor:pointer;}
.listing-removal-reason input{accent-color:var(--lagoon);}
.listing-removal-note-label{display:block;margin:0 0 7px;color:var(--ocean);font-size:12px;font-weight:850;}
.listing-removal-dialog textarea{box-sizing:border-box;width:100%;min-height:76px;padding:11px;border:1px solid #d9e3e0;border-radius:12px;background:#fff;font:inherit;font-size:13px;resize:vertical;}
.listing-removal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;}
.listing-removal-actions button{min-height:43px;padding:0 14px;border-radius:11px;font:inherit;font-size:12px;font-weight:850;cursor:pointer;}
.listing-removal-cancel{border:1px solid #cfdad7;background:#fff;color:var(--ocean);}
.listing-removal-confirm{border:1px solid #b94f48;background:#c86059;color:#fff;}

@media(max-width:1024px){
    .categories .category.is-wide-menu .submenu,
    .categories .category.is-wide-menu.active .submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;max-height:none;transform:none;}
    .listing-sizes-field{padding:15px 14px;}
    .listing-size-group>div{gap:7px;}
    .listing-size-group span{min-height:40px;padding:0 11px;font-size:12px;}
    .listing-removal-modal{padding:12px;align-items:end;}
    .listing-removal-dialog{padding:24px 18px;border-radius:22px 22px 16px 16px;}
    .listing-removal-actions{display:grid;grid-template-columns:1fr 1.35fr;}
}



/* =========================
   MOBILE TELEPHONE
========================= */


@media(max-width:1024px){


    .navbar{

        padding:0 18px;

    }



    .links a:not(.button):not(.profile-button){

        display:none;

    }



    .hero-copy{

        padding:
        58px 22px 45px;

    }



    .categories,
    .products,
    .steps{

        grid-template-columns:1fr;

    }



    .heading{

        align-items:start;

        flex-direction:column;

        gap:12px;

    }



    .island{

        right:-80px;

        width:380px;

    }



    .float-card{

        transform:scale(.85);

    }



    .section{

        padding:60px 20px;

    }


}

/* =========================
   PAGE RECHERCHE ET FILTRES
========================= */

.site-search-form{
    margin:0;
}

.search-page{
    min-height:100vh;
    background:#f8fcfb;
}

.search-hero{
    padding:65px 28px 48px;
    text-align:center;
    color:var(--ocean);
    background:linear-gradient(145deg,#effbf9 0%,#fff9ee 100%);
}

.search-hero h1{
    margin:8px 0 25px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(35px,5vw,54px);
}

.search-large-form{
    max-width:760px;
    margin:auto;
    padding:8px 8px 8px 19px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid #cfe5e1;
    border-radius:18px;
    background:white;
    box-shadow:0 17px 40px rgba(7,59,76,.1);
    color:var(--gray);
}

.search-large-form input{
    min-width:0;
    padding:9px 0;
}

.search-large-form .button{
    white-space:nowrap;
}

.search-content{
    max-width:1180px;
    margin:auto;
    padding:45px 28px 90px;
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    align-items:start;
    gap:32px;
}

.search-filters{
    padding:22px;
    border:1px solid var(--line);
    border-radius:20px;
    background:white;
    box-shadow:0 13px 30px rgba(7,59,76,.06);
}

.filter-heading,
.search-results-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
}

.filter-heading-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.mobile-search-filter-toggle,
.search-filters-close,
.search-filter-overlay{
    display:none;
}

.filter-heading h2{
    margin:5px 0 0;
    color:var(--ocean);
    font-family:Georgia,"Times New Roman",serif;
    font-size:26px;
}

.clear-filters{
    padding:4px 0;
    color:var(--ocean);
    border:0;
    border-bottom:1px solid var(--lagoon);
    background:transparent;
    font:inherit;
    font-size:12px;
    font-weight:bold;
    cursor:pointer;
}

.filter-group{
    min-width:0;
    margin:23px 0 0;
    padding:22px 0 0;
    border:0;
    border-top:1px solid var(--line);
}

.filter-group legend{
    padding:0;
    color:var(--ocean);
    font-size:14px;
    font-weight:bold;
}

.filter-group select,
.search-price-fields input{
    box-sizing:border-box;
    width:100%;
    margin-top:11px;
    padding:11px 12px;
    color:var(--ocean);
    border:1px solid var(--line);
    border-radius:10px;
    background:#fbfefd;
    font:inherit;
    font-size:13px;
}

.filter-chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:13px;
}

.filter-chip{
    padding:8px 10px;
    color:var(--ocean);
    border:1px solid var(--line);
    border-radius:999px;
    background:white;
    font:inherit;
    font-size:12px;
    font-weight:bold;
    cursor:pointer;
}

.filter-chip.active,
.filter-chip:hover{
    color:white;
    border-color:var(--ocean);
    background:var(--ocean);
}

.search-price-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}

.search-price-fields label{
    display:block;
    margin-top:13px;
    color:var(--gray);
    font-size:11px;
    font-weight:bold;
}

.search-price-fields input{
    min-width:0;
    margin-top:5px;
}

.filter-group>small{
    display:block;
    margin-top:8px;
    color:var(--gray);
    font-size:11px;
}

.search-results-heading{
    align-items:flex-end;
    margin-bottom:27px;
}

.search-results-heading h2{
    margin:8px 0 0;
    color:var(--ocean);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(29px,4vw,42px);
    line-height:1.08;
}

.search-results-count{
    margin:0;
    padding:9px 12px;
    white-space:nowrap;
    color:var(--ocean);
    border-radius:999px;
    background:#e3f6f3;
    font-size:12px;
    font-weight:bold;
}

.search-results-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px;
}

.search-sort{
    padding:9px 32px 9px 11px;
    color:var(--ocean);
    border:1px solid var(--line);
    border-radius:10px;
    background:white;
    font:inherit;
    font-size:12px;
    font-weight:bold;
}

.search-products{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.listing-size{
    display:block;
    width:max-content;
    max-width:100%;
    margin:6px 0 2px;
    padding:4px 8px;
    color:var(--ocean);
    border-radius:999px;
    background:#e4f6f3;
    font-size:11px;
    font-weight:bold;
}

.search-empty{
    padding:55px 25px;
    text-align:center;
    border:1px solid #d8ece9;
    border-radius:22px;
    background:white;
}

.search-empty h2{
    margin:10px 0 12px;
    color:var(--ocean);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(27px,4vw,39px);
}

.search-empty p{
    max-width:480px;
    margin:0 auto 22px;
    color:var(--gray);
    line-height:1.6;
}

.search-empty[hidden],
.search-products[hidden]{
    display:none;
}

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

@media(max-width:1024px){
    .search-content{
        grid-template-columns:1fr;
    }

    .search-filters{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
    }

    .filter-heading{
        grid-column:1/-1;
    }

    .filter-group{
        margin:0;
    }

    .search-products{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:1024px){
    .search-hero{
        padding:44px 20px 36px;
    }

    .search-large-form{
        padding:8px 8px 8px 14px;
        flex-wrap:wrap;
    }

    .search-large-form input{
        width:calc(100% - 35px);
    }

    .search-large-form .button{
        width:100%;
    }

    .search-content{
        padding:30px 20px 65px;
    }

    .search-filters{
        grid-template-columns:1fr;
    }

    .filter-heading{
        grid-column:auto;
    }

    .search-results-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .search-products{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .mobile-search-filter-toggle{
        display:inline-flex;
        align-items:center;
        gap:7px;
        min-height:38px;
        padding:8px 11px;
        color:var(--ocean);
        border:1px solid #b8dcd7;
        border-radius:10px;
        background:#fff;
        font:inherit;
        font-size:12px;
        font-weight:850;
        cursor:pointer;
    }

    .mobile-search-filter-toggle b{
        display:grid;
        min-width:18px;
        height:18px;
        place-items:center;
        border-radius:50%;
        background:var(--ocean);
        color:#fff;
        font-size:10px;
    }

    .search-filter-overlay:not([hidden]){
        display:block;
        position:fixed;
        z-index:1198;
        inset:0;
        background:rgba(7,59,76,.38);
        backdrop-filter:blur(2px);
    }

    .search-content .search-filters{
        display:none;
    }

    .search-content .search-filters.is-open{
        display:block;
        position:fixed;
        z-index:1199;
        top:12px;
        right:12px;
        bottom:12px;
        left:12px;
        overflow-y:auto;
        padding:20px;
        border-radius:18px;
        box-shadow:0 20px 50px rgba(7,59,76,.2);
    }

    .search-filters.is-open .filter-heading{
        position:sticky;
        z-index:1;
        top:-20px;
        margin:0 -20px 4px;
        padding:20px 20px 15px;
        background:#fff;
        border-bottom:1px solid var(--line);
    }

    .search-filters.is-open .filter-group:first-of-type{
        margin-top:18px;
    }

    .search-filters-close{
        display:inline-flex;
        min-height:32px;
        padding:6px 9px;
        align-items:center;
        justify-content:center;
        color:var(--ocean);
        border:1px solid #b8dcd7;
        border-radius:9px;
        background:#fff;
        font:inherit;
        font-size:12px;
        font-weight:800;
        cursor:pointer;
    }

    body.search-mobile-filters-open{
        overflow:hidden;
    }
}
@media(max-width:1024px){

.links a:not(.button):not(.profile-button){

    display:none;

}

.links a[href="profil.html"]{

    display:block;

}

}
/* =========================
   FENÊTRE MODALE
========================= */

.modal-box{

    background:white;

    width:360px;

    max-width:90vw;

    max-height:85vh;

    overflow-y:auto;

    padding:25px;

    border-radius:22px;

    box-shadow:0 20px 50px #073b4c40;

    position:relative;

}



/* barre de défilement plus discrète */

.modal-box::-webkit-scrollbar{

    width:6px;

}


.modal-box::-webkit-scrollbar-thumb{

    background:var(--line);

    border-radius:20px;

}



/* logo */

.modal-box .logo{

    display:block;

    text-align:center;

    font-size:22px;

    margin-bottom:10px;

}



.modal-box .logo span{

    width:28px;

    height:28px;

    font-size:15px;

}



/* titres */

.modal-box h2{

    text-align:center;

    font-size:24px;

    margin:10px 0;

}



.modal-box p{

    text-align:center;

    font-size:13px;

    color:var(--gray);

}



/* champs */

.modal-box input,
.modal-box select{

    width:100%;

    height:40px;

    padding:8px 12px;

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

    border-radius:10px;

    font-size:13px;

    margin-bottom:10px;

}



/* espacement formulaire */

.modal-box form{

    display:flex;

    flex-direction:column;

    gap:4px;

}



/* bouton */

.modal-box .button{

    width:160px;

    height:40px;

    margin:15px auto 5px;

    display:flex;

    justify-content:center;

    align-items:center;

}



/* confidentialité */

.check{

    display:flex;

    align-items:center;

    gap:7px;

    font-size:11px;

    line-height:1.3;

}


.check input{

    width:14px;

    height:14px;

}


/* =========================
   FORMULAIRES
========================= */


.modal-box form{

    display:flex;

    flex-direction:
    column;

    gap:5px;

}


.map-art{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 70% 20%,#d7faf4 0 11%,transparent 12%),linear-gradient(145deg,#b8ede7,#42bfc4 60%,#078ba2);padding:40px}.map-art>p{position:absolute;top:35px;left:42px;color:#075e70;font-size:12px;letter-spacing:.2em;font-weight:bold}.map-art svg{width:min(92%,560px);filter:drop-shadow(0 18px 18px #075e7030)}.route{fill:none;stroke:#ffffff8c;stroke-width:2;stroke-dasharray:7 8}.route-two{stroke:#ffffff60}.islands ellipse{fill:#e8d198;stroke:#5f9b69;stroke-width:7}.islands .tahiti{fill:#c5b46c;stroke:#408567}.labels text{fill:#075e70;font:700 14px Arial,sans-serif;letter-spacing:.04em}.labels .tahiti-label{fill:#064b5d;font-size:16px}.pin circle:first-child{fill:#ef766b;stroke:white;stroke-width:4}.pin circle:last-child{fill:white}.map-card{position:absolute;right:9%;bottom:9%;display:grid;gap:4px;background:#fffffff0;padding:13px 18px;border-radius:14px;box-shadow:0 12px 25px #073b4c25}.map-card b{font-size:14px}.map-card span{font-size:11px;color:var(--gray)}@media(max-width:1024px){.map-art{min-height:370px}}@media(max-width:1024px){.map-art>p{top:18px;left:22px}.map-card{right:5%;bottom:7%}}

/* MODALE */

.modal{

display:none;

position:fixed;

inset:0;

background:#073b4c99;

z-index:999;

align-items:center;

justify-content:center;

padding:20px;

}
/* FENETRE CONNEXION */

.login-box{

    background:white;

    width:360px;

    max-width:90vw;

    padding:30px;

    border-radius:22px;

    box-shadow:0 20px 50px #073b4c40;

    position:relative;

    text-align:center;

}


/* Logo */

.login-box .logo{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    margin-bottom:10px;

}


.login-box .logo span{

    width:28px;

    height:28px;

    font-size:15px;

}


/* Titre */

.login-box h2{

    font-size:26px;

    margin:15px 0 8px;

}


/* Texte */

.login-box p{

    font-size:13px;

    color:var(--gray);

    margin-bottom:20px;

}


/* Formulaire */

.login-box form{

    display:flex;

    flex-direction:column;

    gap:15px;

}


/* Champs */

.login-box input{

    width:100%;

    height:44px;

    padding:10px 14px;

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

    border-radius:12px;

    background:white;

    font-size:14px;

}


/* Bouton connexion */

.login-box .button{

    width:160px;

    height:44px;

    margin:5px auto 0;

    display:flex;

    align-items:center;

    justify-content:center;

}


/* OU */

.login-box .separator{

    margin:18px 0;

    text-align:center;

    font-size:12px;

}


/* Boutons Google / Apple */

.social{

    width:100%;

    height:44px;

    border-radius:25px;

    background:white;

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

    font-size:14px;

    font-weight:bold;

    cursor:pointer;

    margin-top:10px;

}


/* Pas de compte */

.login-box .register{

    margin-top:18px;

    font-size:12px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:5px;

}


/* Fermer */

.login-box .close{

    position:absolute;

    right:15px;

    top:10px;

}

/* =========================
   INSCRIPTION
========================= */

.register-box{

    width:360px;

    max-height:85vh;

    overflow-y:auto;

}


.register-box input,
.register-box select{

    height:40px;

    font-size:13px;

}


.register-box .button{

    margin:15px auto;

}
.link-button{

    border:0;

    background:var(--lagoon);

    color:white;

    font-weight:bold;

    font-size:12px;

    cursor:pointer;

    border-radius:20px;

    padding:8px 16px;

}
/* =========================
   PAGE PROFIL
========================= */


.profile-page{

max-width:1150px;

margin:auto;

padding:70px 25px;

}





.profile-header{

display:flex;

align-items:center;

gap:30px;

background:var(--cream);

padding:40px;

border-radius:35px;

margin-bottom:35px;

}



.avatar{

width:110px;

height:110px;

border-radius:50%;

background:var(--lagoon);

display:grid;

place-items:center;

font-size:55px;

}



.user-title{

flex:1;

}

.profile-actions{
    display:flex;
    flex:0 0 auto;
    flex-direction:column;
    gap:9px;
    min-width:176px;
}

.profile-actions .button{
    width:100%;
}

.admin-profile-link{
    display:flex;
    min-height:42px;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    border:1px solid var(--ocean);
    border-radius:999px;
    background:#fff;
    color:var(--ocean);
    font-size:13px;
    font-weight:850;
    text-decoration:none;
    transition:.2s ease;
}

.admin-profile-link:hover{
    background:var(--ocean);
    color:#fff;
    transform:translateY(-1px);
}



.user-title h1{

font-size:48px;

margin:5px 0;

}



.user-title p{

color:var(--gray);

}



.description{

max-width:550px;

line-height:1.6;

}





.stats{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:20px;

margin-bottom:35px;

}



.stats div{

background:white;

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

border-radius:25px;

padding:25px;

text-align:center;

}



.stats strong{

display:block;

font-size:38px;

color:var(--lagoon);

}



.stats span{

color:var(--gray);

}

.stats .profile-rating-stat strong{color:#e6a123;font-size:25px;letter-spacing:1px;white-space:nowrap;}
.stats .profile-rating-stat span{font-size:12px;font-weight:750;}





.profile-box{

background:white;

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

border-radius:30px;

padding:35px;

margin-bottom:35px;

box-shadow:0 10px 30px #073b4c10;

}



.profile-box h2{

font-size:35px;

}




.info-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:20px;

}



.info-grid div{

background:#f6faf9;

border-radius:18px;

padding:20px;

}



.info-grid p{

color:var(--gray);

}





.sales-title{

display:flex;

justify-content:space-between;

align-items:center;

}





.empty-profile{

background:var(--cream);

border-radius:30px;

padding:60px 30px;

text-align:center;

}



.empty-profile .empty-icon{

font-size:70px;

}



.empty-profile h2{

font-size:40px;

}



.empty-profile p{

max-width:600px;

margin:20px auto;

color:var(--gray);

line-height:1.7;

}





.local-card{

background:var(--ocean);

color:white;

padding:40px;

border-radius:30px;

text-align:center;

}



.local-card p{

color:#ffffffb0;

line-height:1.7;

}





@media(max-width:1024px){


.profile-header{

flex-direction:column;

text-align:center;

}


.stats{

grid-template-columns:1fr;

}


.info-grid{

grid-template-columns:1fr;

}


.sales-title{

flex-direction:column;

gap:20px;

}


.user-title h1{

font-size:35px;

}


}
textarea{

width:100%;

height:100px;

padding:12px;

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

border-radius:12px;

font-family:Arial;

resize:none;

}



#profileModal{

display:none;

position:fixed;

inset:0;

background:#073b4c99;

z-index:999;

align-items:center;

justify-content:center;

padding:20px;

}



#profileModal .modal-box{

width:380px;

}



.profile-header{

position:relative;

}


@media(max-width:1024px){

.profile-header .button{

margin-top:20px;

}

.profile-header .profile-actions .button{
    margin-top:0;
}

.profile-actions{
    width:100%;
}

}

/* =========================
   ANNONCES ACCUEIL + MESSAGERIE
========================= */

.home-listings-heading{
display:flex;
align-items:end;
justify-content:space-between;
gap:20px;
margin-bottom:26px;
}

.home-listings-heading h2{
margin:5px 0 0;
font-size:28px;
color:var(--ocean);
}

.home-listings-heading a{
color:var(--lagoon);
font-size:14px;
font-weight:800;
text-decoration:none;
}

.home-all-listings-link{
display:inline-flex;
align-items:center;
gap:8px;
min-height:42px;
padding:0 2px;
white-space:nowrap;
}

.home-all-listings-link b{
display:grid;
place-items:center;
width:28px;
height:28px;
border-radius:50%;
background:var(--ocean);
color:#fff;
font-size:17px;
line-height:1;
transition:transform .2s ease,background .2s ease;
}

.home-all-listings-link:hover b,
.home-all-listings-link:focus-visible b{
background:var(--lagoon);
transform:translateX(3px);
}

.home-product-link{
display:block;
color:inherit;
text-decoration:none;
}

.contact-seller{
width:100%;
margin-top:15px;
padding:10px 12px;
border:1px solid var(--ocean);
border-radius:10px;
background:var(--ocean);
color:#fff;
font:inherit;
font-size:13px;
font-weight:800;
cursor:pointer;
}

.contact-seller:hover{
background:var(--lagoon);
border-color:var(--lagoon);
}

.messages-button,
.offers-button{
border:0;
padding:0;
background:transparent;
color:var(--ocean);
font:inherit;
font-size:14px;
font-weight:700;
cursor:pointer;
white-space:nowrap;
text-decoration:none;
}

.messages-button[hidden],
.offers-button[hidden]{
display:none !important;
}

.messages-button,
.offers-button{
display:inline-flex;
align-items:center;
gap:5px;
}

.messages-unread-badge,
.offers-unread-badge,
.message-unread-badge{
display:inline-grid;
min-width:18px;
height:18px;
padding:0 5px;
place-items:center;
border-radius:999px;
background:#d94841;
color:#fff;
font-size:10px;
font-weight:900;
line-height:1;
}

/* =========================
   PAGE MESSAGERIE
========================= */

.messenger-page{
min-height:calc(100vh - 180px);
padding:52px max(24px,calc((100% - 1180px) / 2)) 72px;
background:linear-gradient(180deg,#f5fbfa 0,#fff 290px);
}

.messenger-heading{
max-width:1180px;
margin:0 auto 25px;
}

.messenger-heading h1{
margin:4px 0 8px;
color:var(--ocean);
font-size:36px;
}

.messenger-heading p:last-child{
margin:0;
color:var(--gray);
}

.messenger-shell{
display:grid;
grid-template-columns:330px minmax(0,1fr);
height:min(650px,calc(100vh - 270px));
min-height:510px;
max-width:1180px;
margin:0 auto;
overflow:hidden;
border:1px solid #d8e8e5;
border-radius:22px;
background:#fff;
box-shadow:0 22px 60px rgba(7,59,76,.12);
}

.messenger-sidebar{
display:flex;
min-width:0;
flex-direction:column;
border-right:1px solid #dbe9e7;
background:#fbfefd;
}

.messenger-sidebar-top{
padding:22px 18px 16px;
border-bottom:1px solid #dbe9e7;
}

.messenger-sidebar-top h2{
margin:0 0 16px;
color:var(--ocean);
font-size:19px;
}

.messenger-offers-category{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
margin:-8px 0 13px;
}

.messenger-offers-category>span{
color:#79928f;
font-size:10px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
}

.messenger-offers-category button{
position:relative;
display:inline-flex;
min-height:30px;
align-items:center;
gap:5px;
padding:0 10px;
border:1px solid #bcded8;
border-radius:999px;
background:#edf8f6;
color:var(--ocean);
font:inherit;
font-size:11px;
font-weight:850;
cursor:pointer;
}

.messenger-offers-category button:hover,
.messenger-offers-category button:focus-visible{
outline:none;
border-color:var(--lagoon);
background:#dff4f0;
}

.messenger-offers-category b{
display:grid;
min-width:16px;
height:16px;
place-items:center;
border-radius:999px;
background:#d94841;
color:#fff;
font-size:8px;
line-height:1;
}

.messenger-offers-category b[hidden],
.mobile-bottom-badge[hidden]{
display:none !important;
}

.messenger-sidebar-top input{
width:100%;
height:40px;
padding:0 12px;
border:1px solid #cddfdd;
border-radius:10px;
background:#fff;
font:inherit;
font-size:13px;
}

.messenger-conversation-list{
overflow:auto;
}

.messenger-conversation{
position:relative;
display:flex;
width:100%;
padding:0 10px 0 0;
border:0;
border-bottom:1px solid #e8f0ef;
background:transparent;
color:var(--ocean);
text-align:left;
}

.messenger-conversation-open{
display:flex;
width:auto;
min-width:0;
flex:1 1 auto;
gap:11px;
padding:15px 7px 15px 17px;
border:0;
background:transparent;
color:inherit;
font:inherit;
text-align:left;
cursor:pointer;
}

.messenger-conversation:hover,
.messenger-conversation.active{
background:#e7f6f4;
}

.conversation-row-actions{
position:relative;
align-self:flex-start;
margin-top:13px;
flex:0 0 auto;
}

.conversation-actions-toggle{
display:grid;
width:25px;
height:25px;
place-items:center;
padding:0;
border:0;
border-radius:8px;
background:transparent;
color:#5c7773;
font-size:15px;
font-weight:900;
letter-spacing:-1px;
line-height:1;
cursor:pointer;
}

.conversation-actions-toggle:hover,
.conversation-actions-toggle[aria-expanded="true"]{
background:#d8eeea;
color:var(--ocean);
}

.conversation-actions-menu{
position:absolute;
z-index:12;
top:calc(100% + 4px);
right:0;
display:grid;
min-width:195px;
padding:5px;
border:1px solid #d6e6e4;
border-radius:11px;
background:#fff;
box-shadow:0 10px 26px rgba(7,59,76,.16);
}

.conversation-actions-menu[hidden]{display:none;}

.conversation-actions-menu button{
padding:8px 10px;
border:0;
border-radius:7px;
background:transparent;
color:var(--ocean);
font:inherit;
font-size:12px;
font-weight:750;
text-align:left;
cursor:pointer;
}

.conversation-actions-menu button:hover{background:#edf8f7;}
.conversation-actions-menu .delete-conversation-action{color:#bf4e48;}
.conversation-actions-menu .delete-conversation-action:hover{background:#fff2f1;}

.conversation-close-modal{
position:fixed;
z-index:2200;
inset:0;
display:grid;
place-items:center;
padding:20px;
background:rgba(7,59,76,.48);
}

.conversation-close-dialog{
position:relative;
width:min(440px,100%);
padding:28px;
border:1px solid #d6e8e5;
border-radius:22px;
background:#fff;
box-shadow:0 24px 65px rgba(7,59,76,.28);
}

.conversation-close-dialog h2{margin:4px 34px 10px 0;color:var(--ocean);font-size:24px;line-height:1.16;}
.conversation-close-dialog>p{margin:0 0 12px;color:#57736f;font-size:14px;line-height:1.55;}
.conversation-close-dialog .conversation-close-satisfaction{padding:10px 12px;border-radius:11px;background:#f2faf8;color:#31736c;font-size:12px;}
.conversation-close-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;border-radius:50%;background:#edf6f4;color:var(--ocean);font-size:22px;line-height:1;cursor:pointer;}
.conversation-close-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;}
.conversation-close-actions button{min-height:42px;border-radius:12px;font:inherit;font-size:13px;font-weight:850;cursor:pointer;}
.conversation-not-sold{border:1px solid #c8dfdb;background:#fff;color:var(--ocean);}
.conversation-sold{border:1px solid #4b9f90;background:#4b9f90;color:#fff;}
.conversation-sold:hover{background:#34867a;}

.messenger-avatar{
display:grid;
width:38px;
height:38px;
flex:0 0 38px;
place-items:center;
border-radius:50%;
background:var(--ocean);
color:#fff;
font-size:14px;
font-weight:900;
}

.messenger-conversation-copy{
min-width:0;
}

.messenger-conversation-name{
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
min-width:0;
}

.messenger-conversation-name strong{
min-width:0;
flex:1;
}

.messenger-conversation.unread .messenger-conversation-copy strong{font-weight:900;color:var(--ocean);}
.messenger-conversation.unread .messenger-conversation-copy b{font-weight:850;color:#176f69;}
.messenger-conversation.unread .messenger-conversation-copy small{font-weight:800;color:#55726e;}

.messenger-conversation-copy strong,
.messenger-conversation-copy b,
.messenger-conversation-copy small{
display:block;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.messenger-conversation-copy strong{
font-size:14px;
color:var(--ocean);
}

.messenger-conversation-copy b{
margin:2px 0;
font-size:12px;
font-weight:700;
color:#52736e;
}

.messenger-conversation-copy small,
.messenger-empty-list{
color:var(--gray);
font-size:12px;
}

.messenger-empty-list{
padding:20px;
line-height:1.5;
}

.messenger-thread{
display:flex;
min-width:0;
min-height:0;
flex-direction:column;
background:#fff;
}

.messenger-thread-header{
display:flex;
align-items:center;
min-height:84px;
padding:14px 24px;
border-bottom:1px solid #dbe9e7;
}

.messenger-thread-header p{
margin:0 0 3px;
color:var(--lagoon);
font-size:10px;
font-weight:900;
letter-spacing:.12em;
}

.messenger-thread-header h2{
margin:0;
color:var(--ocean);
font-size:17px;
}

.messenger-thread-header small{
display:block;
margin-top:4px;
color:var(--gray);
font-size:12px;
}

.thread-seller{
display:flex;
align-items:center;
gap:11px;
}

.conversation-muted{
display:inline-flex;
align-items:center;
margin-left:6px;
padding:2px 6px;
border-radius:999px;
background:#e9f0ef;
color:#607a76;
font-size:9px;
font-style:normal;
font-weight:800;
line-height:1.2;
vertical-align:middle;
}

.thread-actions{
position:relative;
margin-left:auto;
flex:0 0 auto;
}

.thread-actions-toggle{
display:grid;
width:34px;
height:34px;
place-items:center;
border:1px solid #cfe1df;
border-radius:10px;
background:#fff;
color:var(--ocean);
font-size:18px;
font-weight:900;
letter-spacing:1px;
line-height:1;
cursor:pointer;
}

.thread-actions-toggle:hover,
.thread-actions-toggle[aria-expanded="true"]{
border-color:var(--lagoon);
background:#e9f7f5;
}

.thread-actions-menu{
position:absolute;
z-index:8;
top:calc(100% + 8px);
right:0;
display:grid;
min-width:210px;
padding:6px;
border:1px solid #d6e6e4;
border-radius:12px;
background:#fff;
box-shadow:0 12px 30px rgba(7,59,76,.17);
}

.thread-actions-menu[hidden]{display:none;}

.thread-actions-menu button{
padding:10px 11px;
border:0;
border-radius:8px;
background:transparent;
color:var(--ocean);
font:inherit;
font-size:13px;
font-weight:750;
text-align:left;
cursor:pointer;
}

.thread-actions-menu button:hover{background:#edf8f7;}
.thread-actions-menu .delete-conversation-action{color:#bf4e48;}
.thread-actions-menu .delete-conversation-action:hover{background:#fff2f1;}

.messenger-thread-messages{
flex:1;
min-height:0;
overflow:auto;
padding:28px;
background:linear-gradient(180deg,#f9fdfc,#fff);
}

.messenger-start{
max-width:380px;
margin:90px auto 0;
color:var(--gray);
text-align:center;
}

.messenger-start.compact{
margin-top:72px;
}

.messenger-start span{
display:grid;
width:58px;
height:58px;
margin:0 auto 14px;
place-items:center;
border-radius:50%;
background:#e2f6f3;
font-size:25px;
}

.messenger-start h2{
margin:0 0 8px;
color:var(--ocean);
font-size:20px;
}

.messenger-start p{
margin:0;
font-size:14px;
line-height:1.5;
}

.messenger-message{
display:flex;
margin:0 0 10px;
}

.messenger-message.mine{
justify-content:flex-end;
}

.messenger-message p{
max-width:min(76%,480px);
margin:0;
padding:11px 14px;
border-radius:16px 16px 16px 4px;
background:#e6f2f0;
color:var(--ocean);
font-size:14px;
line-height:1.45;
}

.messenger-message.mine p{
border-radius:16px 16px 4px 16px;
background:var(--ocean);
color:#fff;
}

.message-offer-notification{
width:min(100%,430px);
margin:4px 0 14px;
padding:14px;
border:1px solid #cce5e1;
border-radius:16px;
background:linear-gradient(135deg,#f6fcfb,#e8f7f4);
color:var(--ocean);
box-shadow:0 5px 14px rgba(7,59,76,.05);
}

.message-offer-notification.mine{
margin-left:auto;
border-color:#9ccfc8;
background:linear-gradient(135deg,#edf9f7,#d9f1ed);
}

.message-offer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.message-offer-heading span{color:#087f7d;font-size:10px;font-weight:900;letter-spacing:.11em;}
.message-offer-heading em{padding:4px 7px;border-radius:999px;background:#fff3dc;color:#89601f;font-size:10px;font-style:normal;font-weight:850;}
.message-offer-notification strong{display:block;font-size:13px;line-height:1.45;}
.message-offer-notification strong b{color:#087f7d;font-size:15px;}
.message-offer-notification p{margin:8px 0;color:#526e6a;font-size:12px;line-height:1.45;}
.message-offer-notification small{display:block;margin-top:10px;padding-top:9px;border-top:1px solid #cfe5e1;color:#718783;font-size:10px;line-height:1.4;}

.messenger-compose{
display:flex;
flex:0 0 auto;
gap:10px;
padding:15px 18px;
border-top:1px solid #dbe9e7;
background:#fff;
}

.messenger-compose input{
min-width:0;
height:44px;
flex:1;
padding:0 14px;
border:1px solid #cbdedb;
border-radius:22px;
background:#f7fbfa;
font:inherit;
font-size:14px;
}

.messenger-compose button{
height:44px;
padding:0 20px;
border:0;
border-radius:22px;
background:var(--lagoon);
color:#fff;
font:inherit;
font-size:14px;
font-weight:800;
cursor:pointer;
}

.messenger-compose button:disabled,
.messenger-compose input:disabled{
opacity:.55;
cursor:not-allowed;
}

@media(max-width:1024px){
.messenger-page{
padding:24px 14px 38px;
}

.messenger-heading h1{
font-size:29px;
}

.messenger-shell{
grid-template-columns:1fr;
grid-template-rows:118px minmax(330px,1fr);
height:auto;
min-height:0;
}

.messenger-sidebar{
border-right:0;
border-bottom:1px solid #dbe9e7;
}

.messenger-conversation-list{
display:flex;
overflow-x:auto;
overflow-y:hidden;
}

.messenger-conversation{
min-width:230px;
border-right:1px solid #e8f0ef;
border-bottom:0;
}

.messenger-thread-messages{
min-height:160px;
padding:20px;
}
}

.messages-button:hover,
.offers-button:hover{
    color:var(--lagoon);
}

.offers-panel{
    position:fixed;
    top:102px;
    right:24px;
    z-index:1001;
    display:none;
    width:min(390px,calc(100vw - 32px));
    max-height:min(540px,calc(100vh - 125px));
    overflow:hidden;
    border:1px solid #d9e8e6;
    border-radius:18px;
    background:#fff;
    box-shadow:0 24px 70px rgba(7,59,76,.22);
}

.offers-panel.is-open{display:block;}

.offers-panel-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:17px 20px;
    border-bottom:1px solid var(--line);
}

.offers-panel-header p{margin:0 0 3px;color:var(--lagoon);font-size:10px;font-weight:900;letter-spacing:.12em;}
.offers-panel-header h2{margin:0;color:var(--deep,var(--ocean));font-size:19px;}

.offers-close{
    width:32px;
    height:32px;
    border:0;
    border-radius:50%;
    background:#eef6f5;
    color:var(--deep,var(--ocean));
    font-size:23px;
    line-height:1;
    cursor:pointer;
}

.offers-panel-content{max-height:455px;overflow:auto;padding:10px;}

.offer-notification-card{
    display:grid;
    gap:7px;
    padding:14px;
    border:1px solid #e2eeec;
    border-radius:14px;
    background:#fff;
}

.offer-notification-card + .offer-notification-card{margin-top:9px;}
.offer-notification-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.offer-notification-topline a{overflow:hidden;color:var(--ocean);font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap;}
.offer-status{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#fff3dc;color:#89601f;font-size:10px;font-style:normal;font-weight:850;}
.offer-status.accepted{background:#e5f7f1;color:#087f7d;}
.offer-status.declined,.offer-status.cancelled{background:#fce8e6;color:#b84740;}
.offer-notification-card strong{color:var(--ocean);font-size:13px;line-height:1.4;}
.offer-notification-card strong b{color:var(--lagoon);}
.offer-notification-card p{margin:0;color:var(--gray);font-size:12px;line-height:1.45;}
.offer-notification-card small{color:#8aa09e;font-size:10px;font-weight:700;}
.offer-notification-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;}
.offer-decision-actions{display:flex;gap:7px;margin-top:3px;}
.offer-decision-actions button{min-height:31px;padding:0 10px;border-radius:9px;font:inherit;font-size:11px;font-weight:850;cursor:pointer;}
.offer-accept-button{border:1px solid #159d95;background:#e4f7f3;color:#087f7d;}
.offer-accept-button:hover{background:#087f7d;color:#fff;}
.offer-decline-button{border:1px solid #edc4bf;background:#fff5f3;color:#ae4d45;}
.offer-decline-button:hover{background:#b84740;color:#fff;}
.offer-decision-actions button:disabled{opacity:.55;cursor:wait;}
.offer-reply-button{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #c8e0dc;border-radius:999px;background:#f3fbf9;color:var(--ocean);font:inherit;font-size:11px;font-weight:850;cursor:pointer;}
.offer-reply-button:hover{border-color:var(--lagoon);background:var(--ocean);color:#fff;}
.offer-reply-button span{font-size:14px;line-height:1;transition:transform .18s ease;}
.offer-reply-button:hover span{transform:translateX(2px);}
.offers-empty{padding:26px 14px;text-align:center;}
.offers-empty strong{display:block;color:var(--ocean);font-size:14px;}
.offers-empty p{margin:7px 0 0;color:var(--gray);font-size:12px;line-height:1.5;}

.messages-panel{
display:none;
position:fixed;
top:102px;
right:24px;
z-index:1000;
width:min(720px,calc(100vw - 32px));
height:min(570px,calc(100vh - 125px));
overflow:hidden;
border:1px solid #d9e8e6;
border-radius:18px;
background:#fff;
box-shadow:0 24px 70px rgba(7,59,76,.22);
}

.messages-panel-header{
display:flex;
align-items:center;
justify-content:space-between;
padding:17px 20px;
border-bottom:1px solid var(--line);
}

.messages-panel-header p{
margin:0 0 3px;
color:var(--lagoon);
font-size:10px;
font-weight:900;
letter-spacing:.12em;
}

.messages-panel-header h2{
margin:0;
color:var(--deep);
font-size:20px;
}

.messages-close{
width:32px;
height:32px;
border:0;
border-radius:50%;
background:#eef6f5;
color:var(--deep);
font-size:23px;
line-height:1;
cursor:pointer;
}

.messages-layout{
display:grid;
grid-template-columns:220px 1fr;
height:calc(100% - 74px);
}

.conversation-list{
overflow:auto;
border-right:1px solid var(--line);
background:#f9fcfb;
}

.conversation-item{
display:block;
width:100%;
padding:14px 15px;
border:0;
border-bottom:1px solid #e6efed;
background:transparent;
color:var(--deep);
text-align:left;
cursor:pointer;
}

.conversation-item.active,
.conversation-item:hover{
background:#e5f7f4;
}

.conversation-item strong,
.conversation-item span,
.conversation-item small{
display:block;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.conversation-item strong{
font-size:13px;
}

.conversation-item.unread strong{
font-weight:900;
}

.conversation-item .message-unread-badge{
display:inline-grid;
margin-left:6px;
vertical-align:middle;
}

.conversation-item span{
margin:3px 0;
font-size:12px;
font-weight:700;
}

.conversation-item small{
color:var(--gray);
font-size:11px;
}

.conversation-empty,
.conversation-placeholder{
margin:0;
padding:22px;
color:var(--gray);
font-size:13px;
line-height:1.5;
}

.conversation-thread{
display:flex;
min-width:0;
min-height:0;
flex-direction:column;
}

.conversation-thread-header{
min-height:61px;
padding:13px 18px;
border-bottom:1px solid var(--line);
}

.conversation-thread-header strong,
.conversation-thread-header span{
display:block;
}

.conversation-thread-header strong{
font-size:14px;
color:var(--deep);
}

.conversation-thread-header span{
margin-top:3px;
color:var(--gray);
font-size:12px;
}

.conversation-content{
flex:1;
min-height:0;
overflow:auto;
padding:18px;
background:#fcfefd;
}

.message-bubble{
width:fit-content;
max-width:82%;
margin:0 0 10px;
padding:10px 13px;
border-radius:14px 14px 14px 4px;
background:#e9f4f2;
color:var(--deep);
font-size:13px;
line-height:1.4;
}

.message-bubble.mine{
margin-left:auto;
border-radius:14px 14px 4px;
background:var(--lagoon);
color:#fff;
}

.conversation-compose{
display:flex;
flex:0 0 auto;
gap:8px;
padding:12px;
border-top:1px solid var(--line);
}

.conversation-compose input{
min-width:0;
flex:1;
height:40px;
padding:0 12px;
border:1px solid #cfe0dd;
border-radius:10px;
font:inherit;
font-size:13px;
}

.conversation-compose button{
border:0;
border-radius:10px;
padding:0 13px;
background:var(--lagoon);
color:#fff;
font:inherit;
font-size:13px;
font-weight:800;
cursor:pointer;
}

@media(max-width:1024px){
.home-listings-heading{
align-items:flex-start;
flex-direction:column;
}

.home-listings-heading--recent{
align-items:center;
flex-direction:row;
}

.home-listings-heading h2{
font-size:24px;
}

.messages-button{
font-size:12px;
}

.messages-panel{
top:76px;
right:12px;
width:calc(100vw - 24px);
height:calc(100vh - 92px);
}

.messages-layout{
grid-template-columns:1fr;
grid-template-rows:165px minmax(0,1fr);
}

.conversation-list{
display:flex;
overflow-x:auto;
overflow-y:hidden;
border-right:0;
border-bottom:1px solid var(--line);
}

.conversation-item{
min-width:170px;
border-right:1px solid #e6efed;
border-bottom:0;
}
}

/* =========================
   PAGE CREATION ANNONCE
========================= */


.annonce-page{

    background:#fff9ee;

    min-height:100vh;

    padding:70px 20px;

}



/* CONTENEUR PRINCIPAL */

.annonce-container{

    max-width:850px;

    margin:auto;

}



/* ENTETE */

.annonce-intro{

    text-align:center;

    margin-bottom:40px;

}



.annonce-intro .kicker{

    color:#087f7d;

    letter-spacing:.15em;

    font-size:12px;

    font-weight:bold;

}



.annonce-intro h1{

    font-family:Georgia,serif;

    font-size:48px;

    margin:15px 0;

    color:var(--ocean);

}



.annonce-intro p{

    color:var(--gray);

    font-size:17px;

}



/* CARTE FORMULAIRE */


.annonce-card{

    background:white;

    border-radius:30px;

    padding:45px;

    box-shadow:

    0 25px 60px rgba(7,59,76,.12);

}



/* SECTIONS */

.form-section{

    margin-bottom:35px;

}



.form-section h2{

    font-size:22px;

    margin-bottom:20px;

    color:var(--ocean);

}



/* LABELS */

.annonce-card label{

    display:block;

    font-size:13px;

    font-weight:bold;

    margin-bottom:8px;

    color:#073b4c;

}



/* INPUTS */


.annonce-card input,
.annonce-card select,
.annonce-card textarea{


    width:100%;

    border:1px solid #dce8e6;

    background:#fff;

    border-radius:16px;

    padding:15px;

    font-size:14px;

    outline:none;

    transition:.2s;

}



.annonce-card input:focus,
.annonce-card select:focus,
.annonce-card textarea:focus{


    border-color:#19bcb3;

    box-shadow:0 0 0 4px #19bcb320;

}



.annonce-card textarea{

    height:170px;

    resize:none;

}



/* DOUBLE COLONNE */


.form-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}



/* =========================
   PHOTOS
========================= */


.photo-zone{


    background:#f1f6f5;

    border:2px dashed #19bcb3;

    border-radius:25px;

    padding:35px;

    text-align:center;

    cursor:pointer;

}



.photo-zone:hover{

    background:#e8f8f5;

}



.photo-zone input{

    display:none;

}



.photo-zone span{

    display:block;

    font-size:50px;

    margin-bottom:10px;

}



.photo-zone h3{

    margin:10px 0;

    color:var(--ocean);

}



.photo-zone p{

    font-size:13px;

    color:var(--gray);

}



/* APERCU PHOTOS */


.photo-preview{


    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-top:20px;

}



.photo-preview-item{
    position:relative;
    width:120px;
    height:120px;
    overflow:hidden;
    border:1px solid #cfe4e0;
    border-radius:18px;
    background:#eff8f6;
}

.photo-preview-item img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.photo-preview-item small{
    position:absolute;
    right:7px;
    bottom:7px;
    padding:4px 6px;
    border-radius:999px;
    background:rgba(7,59,76,.78);
    color:#fff;
    font-size:9px;
    font-weight:800;
}

.remove-listing-photo{
    position:absolute;
    top:7px;
    right:7px;
    display:grid;
    width:27px;
    height:27px;
    place-items:center;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:var(--ocean);
    font-size:22px;
    line-height:1;
    cursor:pointer;
}

.remove-listing-photo:hover{background:#ef766b;color:#fff;}



/* PRIX */


.price-box{


    position:relative;

}



.price-box span{


    position:absolute;

    right:18px;

    top:43px;

    color:#087f7d;

    font-weight:bold;

}

.listing-location-hint{
    display:block;
    margin-top:7px;
    color:var(--gray);
    font-size:11px;
    line-height:1.45;
}



/* BOUTON FINAL */


.publish-button{


    width:240px;

    margin:30px auto 0;

    display:flex;

    justify-content:center;

    align-items:center;

    height:50px;

    border-radius:25px;

    background:#19bcb3;

    color:white;

    border:0;

    font-weight:bold;

    cursor:pointer;

    font-size:15px;

}



.publish-button:hover{


    background:#087f7d;

}



/* CONSEIL */


.sell-tip{


    margin-top:30px;

    padding:20px;

    border-radius:20px;

    background:#ddf5f1;

    color:#075e70;

    text-align:center;

    font-size:14px;

}





/* =========================
   MOBILE
========================= */


@media(max-width:1024px){


    .annonce-page{

        padding:40px 15px;

    }



    .annonce-card{

        padding:25px;

        border-radius:22px;

    }



    .annonce-intro h1{

        font-size:34px;

    }



    .form-grid{

        grid-template-columns:1fr;

    }



    .photo-preview-item{

        width:90px;

        height:90px;

    }


}
/* =========================
   RETOUR ACCUEIL PROFIL
========================= */

.back-button{

display:inline-flex;

align-items:center;

gap:8px;

background:#ddf5f1;

color:#087f7d;

padding:12px 20px;

border-radius:25px;

font-weight:bold;

font-size:14px;

margin-bottom:30px;

transition:.2s;

}


.back-button:hover{

background:var(--lagoon);

color:white;

}

.logout-button{

    background:var(--coral);

}


.logout-button:hover{

    opacity:.85;

}

/* =========================
   PAGES CATÉGORIES SELLY
========================= */

.category-name,
.submenu a{
    color:inherit;
    text-decoration:none;
}

.category-name{
    display:block;
    font-weight:600;
}

.category.current .category-name{
    color:var(--lagoon);
}

.submenu a{
    display:block;
    padding:8px 10px;
    font-size:14px;
    border-radius:7px;
    line-height:1.2;
}

.submenu a:hover{
    background:var(--blue-soft);
    color:var(--lagon-dark);
}

.category-page{
    min-height:70vh;
    background:#fff;
}

.category-hero{
    max-width:1180px;
    margin:auto;
    padding:70px 28px 45px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:35px;
}

.breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:9px;
    margin-bottom:28px;
    color:var(--gray);
    font-size:13px;
}

.breadcrumb a{
    color:var(--lagon-dark);
    text-decoration:none;
}

.category-hero h1{
    margin:11px 0 15px;
    color:var(--ocean);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(42px,6vw,68px);
    line-height:1;
    letter-spacing:-.04em;
}

.category-hero h1>span:first-child{
    font-size:.72em;
}

.category-hero>div:first-child>p:last-child{
    max-width:620px;
    margin:0;
    color:var(--gray);
    font-size:17px;
    line-height:1.7;
}

.category-count{
    min-width:150px;
    padding:22px 26px;
    display:grid;
    text-align:center;
    border:1px solid var(--line);
    border-radius:18px;
    background:white;
    box-shadow:0 15px 35px rgba(7,59,76,.08);
}

.category-count strong{
    color:var(--lagoon);
    font-family:Georgia,"Times New Roman",serif;
    font-size:38px;
}

.category-count span{
    color:var(--gray);
    font-size:12px;
}

.subcategory-section{
    max-width:1180px;
    margin:auto;
    padding:0 28px 42px;
}

.subcategory-section h2{
    margin:0 0 16px;
    font-size:14px;
}

.subcategory-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.subcategory-chips a{
    padding:10px 15px;
    color:var(--ocean);
    text-decoration:none;
    font-size:13px;
    font-weight:bold;
    border:1px solid var(--line);
    border-radius:999px;
    background:white;
    transition:.2s;
}

.subcategory-chips a:hover,
.subcategory-chips a.active{
    color:white;
    border-color:var(--lagoon);
    background:var(--lagoon);
}

.category-results{
    max-width:1180px;
    margin:auto;
    padding:35px 28px 90px;
}

.category-results-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:25px;
    margin-bottom:28px;
}

.category-results-heading h2{
    margin:8px 0 0;
    color:var(--ocean);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(30px,4vw,43px);
}

.category-results-heading select{
    min-width:190px;
    padding:12px 38px 12px 14px;
    color:var(--ocean);
    border:1px solid var(--line);
    border-radius:11px;
    background:white;
}

.category-products{
    grid-template-columns:repeat(4,1fr);
}

.category-products .product{
    transition:transform .2s,box-shadow .2s;
}

.category-products .product:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(7,59,76,.11);
}

.category-products .image{
    overflow:hidden;
}

.category-products .image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.product .product-emoji{
    font-size:82px;
    filter:drop-shadow(0 12px 12px rgba(7,59,76,.13));
}

.product .listing-placeholder{
    display:grid;
    place-items:center;
    width:96px;
    height:96px;
    border-radius:28px;
    background:rgba(255,255,255,.32);
    color:var(--ocean);
}

.product .listing-placeholder svg{
    width:58px;
    height:58px;
    fill:none;
    stroke:currentColor;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.product .image{
    overflow:hidden;
}

.product .image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.product .image{position:relative;}
.listing-card-status{position:absolute;top:11px;left:11px;padding:5px 8px;border-radius:999px;background:#fff1d8;color:#9a6616;font-size:10px;font-weight:900;}
.listing-card-status.status-sold{background:#edf0f1;color:#596968;}
.card-share-listing{position:absolute;top:10px;right:10px;display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(7,59,76,.12);border-radius:50%;background:rgba(255,255,255,.92);color:var(--ocean);font:inherit;font-size:18px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 4px 10px rgba(7,59,76,.1);transition:transform .18s ease,background .18s ease;}
.card-share-listing:hover,.card-share-listing:focus-visible{outline:none;background:#fff;transform:translateY(-2px);}

.default-product{
    background:linear-gradient(140deg,#dff5f3,#72d0c7);
}

.category-empty{
    padding:65px 28px;
    text-align:center;
    border:1px solid #d8ece9;
    border-radius:24px;
    background:linear-gradient(145deg,#f7fffd,var(--blue-soft));
    box-shadow:0 18px 45px rgba(7,59,76,.07);
}

.category-empty[hidden],
.category-products[hidden],
.sell-guidance[hidden]{
    display:none;
}

.empty-sparkle{
    width:76px;
    height:76px;
    margin:0 auto 20px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:white;
    font-size:38px;
    box-shadow:0 12px 28px rgba(7,59,76,.09);
}

.category-empty h2{
    max-width:650px;
    margin:10px auto 13px;
    color:var(--ocean);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(30px,4vw,44px);
    line-height:1.08;
}

.category-empty>p:not(.kicker){
    max-width:620px;
    margin:0 auto 25px;
    color:var(--gray);
    line-height:1.7;
}

.first-listing-button{
    border:0;
    margin-bottom:13px;
}

.category-empty small{
    display:block;
    color:var(--gray);
}

.sell-guidance{
    margin-top:28px;
    padding:20px 24px;
    display:flex;
    align-items:center;
    gap:16px;
    color:var(--ocean);
    border:1px solid #ecd9b8;
    border-radius:16px;
    background:var(--cream);
}

.sell-guidance>span{
    font-size:27px;
}

.sell-guidance p{
    margin:0;
    line-height:1.5;
    font-size:14px;
}

@media(max-width:1024px){
    .categories{
        justify-content:flex-start;
        overflow-x:auto;
        white-space:nowrap;
    }

    .category-products{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:1024px){
    .category-hero{
        padding:48px 20px 32px;
        align-items:flex-start;
        flex-direction:column;
    }

    .category-count{
        width:100%;
        grid-template-columns:auto auto;
        justify-content:center;
        align-items:center;
        gap:8px;
    }

    .subcategory-section,
    .category-results{
        padding-left:20px;
        padding-right:20px;
    }

    .category-results-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .category-results-heading select{
        width:100%;
    }

    .category-products{
        grid-template-columns:1fr;
    }

    .category-empty{
        padding:48px 20px;
    }
}

/* Ces règles arrivent en dernier afin que les résultats de recherche restent lisibles
   même quand les styles généraux des pages catégories sont chargés. */
.search-products{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:1024px){
    .search-products{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:1024px){
    .search-products{
        grid-template-columns:1fr;
    }
}

/* Accueil : zone droite volontairement laissée sobre, sur fond crème. */
.map-art{
    padding:0;
    background:var(--cream);
}

.map-art>*{
    display:none;
}

/* Accueil Emlly : présentation courte, moderne et sans barre de recherche. */
.hero{
    display:block;
    min-height:0;
    background:var(--cream);
}

.hero-copy{
    max-width:820px;
    margin:auto;
    padding:72px 28px 64px;
    text-align:center;
}

.hero h1{
    margin:20px 0 18px;
    font-size:clamp(44px,6vw,68px);
    line-height:1;
}

.hero .intro{
    max-width:620px;
    margin:0 auto;
    font-size:17px;
}

.hero .trust{
    display:inline-block;
    margin:27px 0 0;
    padding:11px 16px;
    color:var(--ocean);
    border:1px solid #d4ebe7;
    border-radius:999px;
    background:#f2fbf9;
    line-height:1.5;
}

.hero .map-art{
    display:none;
}

@media(max-width:1024px){
    .hero-copy{
        padding:22px 18px 22px;
    }

    .hero .eyebrow{
        font-size:9px;
        letter-spacing:.05em;
    }

    .hero h1{
        margin:8px 0 9px;
        font-size:29px;
        line-height:1.08;
    }

    .hero .intro{
        font-size:12px;
        line-height:1.45;
    }

    .hero .trust{
        margin-top:13px;
        padding:7px 11px;
        font-size:10px;
    }
}

@media(max-width:380px){
    .hero-copy{
        padding:19px 15px 20px;
    }

    .hero h1{
        font-size:26px;
    }
}

/* Typographie plus fine pour les annonces et les pages catégories. */
.product>div:last-child{
    padding:14px;
}

.product p{
    margin:0;
    font-size:10px;
    line-height:1.45;
}

.product h3{
    margin:6px 0;
    font-size:14px;
    font-weight:650;
    letter-spacing:-.01em;
    line-height:1.3;
}

.product strong{
    font-size:16px;
    letter-spacing:-.01em;
}

.product span{
    font-size:10px;
}

.product .listing-size{
    margin:5px 0 2px;
    padding:3px 7px;
    font-size:10px;
}

.home-listings-heading h2{
    font-size:24px;
}

.home-listings-heading a{
    font-size:12px;
}

.category-hero{
    padding:50px 28px 32px;
}

.category-hero h1{
    margin:8px 0 11px;
    font-size:clamp(30px,3vw,38px);
    letter-spacing:-.03em;
}

.category-hero>div:first-child>p:last-child{
    font-size:15px;
    line-height:1.55;
}

.category-count{
    min-width:126px;
    padding:17px 20px;
}

.category-count strong{
    font-size:30px;
}

.category-results{
    padding-top:25px;
}

.category-results-heading{
    margin-bottom:20px;
}

.category-results-heading h2{
    font-size:clamp(23px,2.5vw,30px);
}

.subcategory-section h2{
    font-size:13px;
}

@media(max-width:1024px){
    .category-hero{
        padding:40px 20px 26px;
    }

    .category-hero h1{
        font-size:31px;
    }

    .category-results-heading h2{
        font-size:25px;
    }
}

/* Petite fenetre de connexion : elle reste sur l'accueil et ne prend pas tout l'ecran. */
.modal{
    padding:16px;
    background:rgba(7,59,76,.48);
    backdrop-filter:blur(4px);
}

.modal .modal-box,
.modal .login-box,
.modal .register-box{
    box-sizing:border-box;
    width:min(340px,calc(100vw - 32px));
    max-height:calc(100vh - 32px);
    margin:0;
    padding:24px 22px;
    overflow-y:auto;
    border:1px solid rgba(255,255,255,.9);
    border-radius:18px;
    box-shadow:0 24px 55px rgba(7,59,76,.25);
    text-align:left;
}

.modal .login-box{
    max-height:430px;
}

.modal .modal-box .logo,
.modal .login-box .logo{
    display:inline-flex;
    align-items:center;
    margin:0 0 17px;
    font-size:20px;
}

.modal .modal-box h2,
.modal .login-box h2{
    margin:0 0 7px;
    text-align:left;
    font-size:22px;
    letter-spacing:-.03em;
}

.modal .modal-box>p,
.modal .login-box>p{
    margin:0 0 16px;
    text-align:left;
    font-size:12px;
    line-height:1.45;
}

.modal #loginModalForm{
    display:grid;
    gap:10px;
}

.modal .modal-box input:not([type="checkbox"]),
.modal .modal-box select,
.modal .login-box input{
    box-sizing:border-box;
    width:100%;
    height:42px;
    margin:0 0 10px;
    padding:0 12px;
    border-radius:11px;
    font-size:13px;
}

.modal #loginModalForm input{
    margin:0;
}

.modal .modal-box .button,
.modal .login-box .button{
    width:100%;
    height:42px;
    margin:6px 0 0;
    border-radius:12px;
    font-size:13px;
}

.modal .login-box .separator,
.modal .login-box .social{
    display:none;
}

.modal .login-box .register{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    margin:16px 0 0;
    text-align:left;
    font-size:12px;
}

.modal .link-button{
    padding:0;
    color:var(--lagoon);
    background:transparent;
    font-size:12px;
    font-weight:700;
}

.modal .modal-box .close,
.modal .login-box .close{
    position:absolute;
    top:9px;
    right:12px;
    width:28px;
    height:28px;
    padding:0;
    color:var(--ocean);
    font-size:23px;
    line-height:1;
}

.modal .register-box .check{
    display:flex;
    gap:8px;
    align-items:flex-start;
    margin:2px 0 6px;
    font-size:10px;
    line-height:1.35;
}

.modal .register-box .check input{
    flex:0 0 auto;
    width:14px;
    height:14px;
    margin:0;
}

@media(max-width:400px){
    .modal .modal-box,
    .modal .login-box,
    .modal .register-box{
        padding:22px 18px;
        border-radius:16px;
    }
}

/* Connexion et inscription : mêmes couleurs douces que le reste d'Emlly. */
.auth{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:28px 18px;
    background:var(--cream);
}

.auth-box{
    width:min(420px,100%);
    padding:34px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 40px rgba(7,59,76,.10);
}

.auth-box .logo{
    display:inline-flex;
    margin-bottom:18px;
}

.auth-box h1{
    margin:0 0 8px;
    color:var(--ocean);
    font-size:28px;
    letter-spacing:-.03em;
}

.auth-box>p{
    margin:0 0 22px;
    color:var(--gray);
    font-size:13px;
}

.auth-box form{
    display:grid;
    gap:8px;
}

.auth-box label{
    margin-top:5px;
    color:var(--ocean);
    font-size:12px;
    font-weight:700;
}

.auth-box input,
.auth-box select{
    width:100%;
    height:43px;
    padding:0 12px;
    border:1px solid var(--line);
    border-radius:11px;
    font:inherit;
    font-size:13px;
}

.password-input{
    position:relative;
    width:100%;
}

.auth-box .password-input input,
.modal .modal-box .password-input input{
    width:100%;
    padding-right:46px;
}

/* Edge ajoute son propre œil aux champs mot de passe : on le masque pour
   conserver uniquement le bouton Emlly. */
.password-input input::-ms-reveal,
.password-input input::-ms-clear{
    display:none;
}

.password-toggle{
    position:absolute;
    top:50%;
    right:6px;
    display:grid;
    width:32px;
    height:32px;
    place-items:center;
    transform:translateY(-50%);
    border:0;
    border-radius:9px;
    background:transparent;
    color:#5d7a77;
    cursor:pointer;
}

.password-toggle:hover,
.password-toggle:focus-visible{
    outline:none;
    background:#edf7f5;
    color:var(--ocean);
}

.password-toggle svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.password-toggle.is-visible::after{
    content:"";
    position:absolute;
    width:18px;
    height:1.8px;
    border-radius:2px;
    background:currentColor;
    transform:rotate(-45deg);
}

.auth-box .check{
    display:flex;
    gap:8px;
    align-items:flex-start;
    color:var(--gray);
    font-weight:400;
    line-height:1.35;
}

.auth-box .check input{
    width:15px;
    height:15px;
    margin:0;
}

.auth-box .button{
    width:100%;
    margin-top:10px;
    border-radius:12px;
}

.auth-back-button{
    display:inline-flex;
    align-items:center;
    margin:-4px 0 18px;
    color:var(--lagoon);
    font-size:12px;
    font-weight:700;
    text-decoration:none;
}

.auth-box .forgot-password{
    display:inline-flex;
    justify-self:end;
    margin:0 0 2px;
    padding:0;
    color:var(--lagoon);
    border:0;
    background:transparent;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}

.auth-box .separator{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    margin:20px 0;
    color:var(--gray);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-align:center;
}

.auth-box .separator::before,
.auth-box .separator::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--line);
}

.auth-box .register{
    margin:18px 0 0;
    color:var(--gray);
    font-size:12px;
}

.auth-box .register a{
    color:var(--lagoon);
    font-weight:700;
}

.modal .forgot-password{
    display:inline-flex;
    justify-self:end;
    margin:0 0 2px;
    cursor:pointer;
}

.forgot-password[hidden]{
    display:none !important;
}

/* Photo de profil. */
.avatar,
.profile-avatar-preview{
    overflow:hidden;
}

.avatar img,
.profile-avatar-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.profile-photo-control{
    display:flex;
    gap:14px;
    align-items:center;
    margin:0 0 8px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#f6faf9;
}

.profile-avatar-preview{
    display:grid;
    flex:0 0 64px;
    width:64px;
    height:64px;
    place-items:center;
    border-radius:50%;
    background:var(--lagoon);
    color:#fff;
    font-size:30px;
}

.profile-photo-control>div:last-child{
    display:flex;
    flex:1;
    flex-wrap:wrap;
    gap:7px 10px;
    align-items:center;
}

.profile-photo-picker,
.remove-avatar{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 11px;
    border:1px solid var(--lagoon);
    border-radius:9px;
    color:var(--lagoon);
    background:#fff;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}

.profile-photo-picker input{
    display:none !important;
}

.remove-avatar{
    border-color:var(--line);
    color:var(--gray);
}

.profile-photo-control small{
    width:100%;
    color:var(--gray);
    font-size:10px;
}

.profile-privacy-choice{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin:8px 0;
    padding:11px 12px;
    border:1px solid #d9e9e6;
    border-radius:11px;
    background:#f7fbfa;
    color:var(--ocean);
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    cursor:pointer;
}

.profile-privacy-choice input{
    width:16px;
    height:16px;
    flex:0 0 16px;
    margin:0;
    accent-color:var(--lagoon);
}

@media(max-width:1024px){
    .profile-photo-control{
        align-items:flex-start;
    }
}

/* Espace de moderation */
.admin-page{width:min(1050px,calc(100% - 40px));margin:0 auto;padding:58px 0 76px;}
.admin-heading{max-width:660px;margin-bottom:32px;}
.admin-heading h1{margin:7px 0 10px;color:var(--ocean);font-size:clamp(32px,5vw,46px);letter-spacing:-.045em;}
.admin-heading>p:last-child{margin:0;color:var(--gray);line-height:1.65;}
.admin-state{padding:26px;border:1px solid #d8e8e7;border-radius:18px;background:#fff;color:var(--gray);text-align:center;box-shadow:0 8px 22px rgba(7,59,76,.06);}
.admin-denied h2{margin:0 0 8px;color:var(--ocean);}
.admin-denied p{margin:0 0 19px;}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:21px 24px;border:1px solid #d8e8e7;border-radius:18px;background:#fff;}
.admin-summary-label{margin:0 0 3px;color:var(--lagoon);font-size:11px;font-weight:900;letter-spacing:.12em;}
.admin-toolbar h2{margin:0;color:var(--ocean);font-size:22px;}
.admin-refresh,.admin-action{border:0;border-radius:999px;background:var(--ocean);color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:.2s ease;}
.admin-refresh{padding:11px 17px;}
.admin-refresh:hover,.admin-action:hover{transform:translateY(-1px);filter:brightness(1.07);}
.admin-refresh:disabled,.admin-action:disabled{cursor:wait;opacity:.6;transform:none;}
.admin-reports-list{display:grid;gap:15px;}
.admin-report-card{padding:22px 24px;border:1px solid #d8e8e7;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(7,59,76,.06);}
.admin-report-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;color:var(--gray);font-size:12px;}
.admin-report-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.04em;}
.admin-report-status.status-new{background:#fff0d8;color:#9c5d00;}
.admin-report-status.status-reviewing{background:#dff5f3;color:#087970;}
.admin-report-status.status-closed{background:#e8eeee;color:#48615f;}
.admin-report-card h3{margin:0;color:var(--ocean);font-size:20px;}
.admin-listing-state{margin:5px 0 16px;color:var(--gray);font-size:13px;}
.admin-listing-state a{margin-left:7px;color:var(--ocean);font-weight:800;text-decoration:none;}
.admin-listing-state a:hover{text-decoration:underline;}
.admin-report-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;}
.admin-report-details div{padding:11px 12px;border-radius:11px;background:#f5f9f8;}
.admin-report-details .admin-report-note{grid-column:1/-1;}
.admin-report-details dt{margin-bottom:3px;color:var(--gray);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.admin-report-details dd{margin:0;color:var(--ocean);line-height:1.45;}
.admin-report-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;}
.admin-action{padding:9px 13px;}
.admin-action.secondary{border:1px solid #b8d5d2;background:#fff;color:var(--ocean);}
.admin-action.danger{background:#8c3434;}
.admin-empty{padding:34px 20px;border:1px dashed #b8d5d2;border-radius:18px;color:var(--gray);text-align:center;}
.admin-empty h3{margin:0 0 6px;color:var(--ocean);}
.admin-empty p{margin:0;}

@media(max-width:1024px){
  .admin-page{width:min(100% - 30px,1050px);padding:36px 0 55px;}
  .admin-toolbar,.admin-report-topline{align-items:flex-start;flex-direction:column;}
  .admin-toolbar{padding:19px;}
  .admin-report-card{padding:19px;}
  .admin-report-details{grid-template-columns:1fr;}
  .admin-report-details .admin-report-note{grid-column:auto;}
}

/* Annonces consultées et enregistrées. */
.recent-listings-section{
    padding-top:30px;
    padding-bottom:12px;
}

.recent-listings-section .home-listings-heading{
    margin-bottom:18px;
}

.listing-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:13px;
}

.listing-actions .contact-seller,
.listing-actions .save-listing{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:38px;
    margin:0;
    padding:8px 9px;
    border-radius:10px;
    font-size:11px;
    font-weight:750;
    cursor:pointer;
}

.listing-actions .delete-listing{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:38px;
    border:1px solid #e4a9a3;
    border-radius:10px;
    background:#fff8f7;
    color:#a33e36;
    font-size:11px;
    font-weight:750;
    cursor:pointer;
}

.listing-actions .delete-listing:hover{
    border-color:#c86158;
    background:#fceae8;
}

.listing-actions .edit-listing{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:38px;
    border:1px solid #b9ded9;
    border-radius:10px;
    background:#eff9f7;
    color:#087f7d;
    font:inherit;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
}

.listing-actions .edit-listing:hover{
    border-color:#63bdb3;
    background:#e3f5f2;
}

.listing-actions .mark-listing-sold{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:38px;
    border:1px solid #bed9cf;
    border-radius:11px;
    background:#f4fbf7;
    color:#3f7463;
    font:inherit;
    font-size:11px;
    font-weight:850;
    cursor:pointer;
}

.listing-actions .mark-listing-sold:hover{border-color:#7db49e;background:#e8f6ee;}

.listing-actions.single-action{
    grid-template-columns:1fr;
}

.profile-listings-grid{
    margin-top:18px;
}

.save-listing{
    border:1px solid var(--line);
    color:var(--ocean);
    background:#fff;
}

.save-listing:hover,
.save-listing.is-saved{
    border-color:var(--ocean);
    background:var(--ocean);
    color:#fff;
}

.save-listing.is-saved span{color:#fff;}

.save-listing span{
    margin-right:4px;
    font-size:14px;
    line-height:1;
}

.listing-date{
    display:block;
    margin:3px 0 6px;
    color:#72908f;
    font-size:10px;
    font-style:normal;
    line-height:1.35;
}

.listing-sold-notice{
    margin:11px 0 0 !important;
    padding:8px 9px;
    color:#596968 !important;
    border-radius:9px;
    background:#f1f4f4;
    font-size:10px !important;
    font-weight:750;
}

.emlly-toast{
    position:fixed;
    z-index:10000;
    top:22px;
    right:22px;
    display:flex;
    align-items:center;
    gap:10px;
    width:min(360px,calc(100vw - 32px));
    padding:13px 13px 13px 15px;
    border:1px solid #bfe5de;
    border-radius:15px;
    color:var(--ocean);
    background:#fff;
    box-shadow:0 18px 42px rgba(7,59,76,.18);
    animation:emlly-toast-in .28s ease-out both;
}

.emlly-toast>span{
    display:grid;
    width:25px;
    height:25px;
    flex:0 0 25px;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:var(--lagoon);
    font-weight:800;
}

.emlly-toast p{
    flex:1;
    margin:0;
    font-size:13px;
    font-weight:700;
    line-height:1.35;
}

.emlly-toast button{
    padding:0 3px;
    border:0;
    color:var(--gray);
    background:transparent;
    font-size:20px;
    cursor:pointer;
}

@keyframes emlly-toast-in{
    from{opacity:0;transform:translateY(-10px)}
    to{opacity:1;transform:translateY(0)}
}

@media(max-width:1024px){
    .emlly-toast{
        top:14px;
        right:16px;
    }
}

.saved-listings-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.saved-listing-card{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

.saved-listing-card .image{
    height:150px;
}

.saved-listing-card .saved-listing-content{
    padding:13px;
}

.saved-listing-card h3{
    margin:6px 0;
    color:var(--ocean);
    font-size:14px;
}

.saved-listing-card p,
.saved-listing-card span{
    color:var(--gray);
    font-size:11px;
}

.saved-listing-card strong{
    display:block;
    color:var(--ocean);
    font-size:15px;
}

.saved-listing-card .save-listing{
    width:100%;
    min-height:34px;
    margin-top:11px;
    border-radius:9px;
    font-size:11px;
}

.saved-listings-empty{
    margin:0;
    padding:20px;
    border-radius:14px;
    color:var(--gray);
    background:#f6faf9;
    font-size:13px;
}

@media(max-width:1024px){
    .saved-listings-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:1024px){
    .listing-actions{
        grid-template-columns:1fr;
    }

    .saved-listings-grid{
        grid-template-columns:1fr;
    }
}

.camera-photo-zone{
    margin-top:12px;
    border-color:var(--ocean);
    background:#eef8f7;
}

/* =========================
   FICHE ANNONCE & MARKETPLACE
========================= */
.listing-page{
    max-width:1180px;
    margin:0 auto;
    padding:36px 24px 72px;
}

.footer-legal-link{display:block;margin-top:10px;color:#dff5f3;font-size:11px;font-weight:700;text-decoration:none;}
.footer-legal-link:hover{text-decoration:underline;}

.legal-page{max-width:920px;margin:0 auto;padding:58px 24px 76px;}
.legal-page h1{max-width:720px;margin:5px 0 12px;color:var(--ocean);font-size:38px;line-height:1.14;}
.legal-intro{max-width:760px;margin:0;color:var(--gray);line-height:1.65;}
.legal-nav{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0;}
.legal-nav a{padding:8px 11px;border:1px solid #cce3df;border-radius:999px;color:#087f7d;font-size:12px;font-weight:800;text-decoration:none;}
.legal-page section{margin-top:18px;padding:24px;border:1px solid #dbe9e7;border-radius:18px;background:#fff;}
.legal-page section h2{margin:0 0 10px;color:var(--ocean);font-size:20px;}
.legal-page section p,.legal-page li{color:#496663;font-size:14px;line-height:1.65;}
.legal-page section p{margin:0 0 10px;}
.legal-page section ul{margin:0;padding-left:20px;}
@media(max-width:1024px){.legal-page{padding:36px 16px 55px;}.legal-page h1{font-size:30px;}.legal-page section{padding:19px 16px;}}

.support-privacy-note{margin:2px 0 0;color:#617b78;font-size:11px;line-height:1.5;}
.support-privacy-note a{color:#087f7d;font-weight:800;}
.profile-privacy{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.profile-privacy .kicker{margin:0 0 5px;}
.profile-privacy h2{margin:0 0 7px;}
.profile-privacy p:last-child{max-width:550px;margin:0;color:#607a77;font-size:13px;line-height:1.55;}
.profile-privacy-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.profile-privacy-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid #c7e1dc;border-radius:11px;background:#fff;color:#087f7d;font-size:11px;font-weight:850;text-decoration:none;}
.profile-privacy-actions a:hover{border-color:var(--lagoon);background:#effaf8;}
@media(max-width:719px){.profile-privacy{align-items:flex-start;flex-direction:column;}.profile-privacy-actions{justify-content:flex-start;}}

.saved-searches-list{display:grid;gap:10px;}
.saved-search-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #dbe9e7;border-radius:14px;background:#fbfefd;}
.saved-search-item a{display:grid;gap:3px;color:var(--ocean);text-decoration:none;}
.saved-search-item strong{font-size:13px;}
.saved-search-item span{color:var(--gray);font-size:11px;}
.saved-search-item button{border:0;background:transparent;color:#a33e36;font:inherit;font-size:11px;font-weight:800;cursor:pointer;text-decoration:underline;}

.listing-back{
    display:inline-flex;
    margin-bottom:20px;
    color:var(--ocean);
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.save-search-alert{
    min-height:36px;
    padding:0 11px;
    border:1px solid #b9ded9;
    border-radius:10px;
    background:#fff;
    color:#087f7d;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

.save-search-alert:hover{background:#eff9f7;}

.listing-detail{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
    gap:42px;
    align-items:start;
}

.listing-gallery{
    display:grid;
    position:relative;
    min-height:540px;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:24px;
    background:linear-gradient(145deg,#dff5f3,#86d7cf);
}

.listing-gallery>.listing-main-image{
    width:100%;
    height:100%;
    min-height:540px;
    object-fit:cover;
    cursor:zoom-in;
}

.listing-gallery-nav{position:absolute;top:50%;z-index:2;display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(7,59,76,.16);color:var(--ocean);font-size:30px;line-height:1;cursor:pointer;transform:translateY(-50%);}
.listing-gallery-nav:hover{background:var(--ocean);color:#fff;}
.listing-gallery-nav.previous{left:15px;}
.listing-gallery-nav.next{right:15px;}
.listing-gallery-count{position:absolute;top:15px;right:15px;padding:6px 9px;border-radius:999px;background:rgba(7,59,76,.78);color:#fff;font-size:11px;font-weight:800;}

/* Vue plein ecran d'une photo d'annonce. */
body.listing-image-lightbox-open{overflow:hidden;}
.listing-image-lightbox{
    position:fixed;
    z-index:5000;
    inset:0;
    display:grid;
    place-items:center;
    padding:26px;
    background:rgba(2,12,17,.91);
    backdrop-filter:blur(7px);
    opacity:0;
    transition:opacity .2s ease;
}
.listing-image-lightbox[hidden]{display:none;}
.listing-image-lightbox.is-open{opacity:1;}
.listing-image-lightbox-dialog{
    position:relative;
    display:grid;
    max-width:min(94vw,1120px);
    max-height:88vh;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.2);
    border-radius:18px;
    background:#10191d;
    box-shadow:0 30px 85px rgba(0,0,0,.55);
    opacity:0;
    transform:perspective(1200px) rotateX(4deg) scale(.9);
    transition:transform .28s cubic-bezier(.2,.9,.25,1),opacity .2s ease;
}
.listing-image-lightbox.is-open .listing-image-lightbox-dialog{opacity:1;transform:perspective(1200px) rotateX(0) scale(1);}
.listing-image-lightbox-dialog img{
    display:block;
    max-width:min(94vw,1120px);
    max-height:88vh;
    width:auto;
    height:auto;
    object-fit:contain;
}
.listing-image-lightbox-close{
    position:absolute;
    z-index:1;
    top:12px;
    right:12px;
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    background:rgba(5,19,25,.74);
    color:#fff;
    font-size:30px;
    line-height:1;
    cursor:pointer;
}
.listing-image-lightbox-close:hover{background:var(--lagoon);border-color:var(--lagoon);}
.listing-image-lightbox-nav{
    position:absolute;
    z-index:1;
    top:50%;
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    border:0;
    border-radius:50%;
    background:rgba(5,19,25,.74);
    color:#fff;
    font-size:34px;
    line-height:1;
    cursor:pointer;
    transform:translateY(-50%);
}
.listing-image-lightbox-nav:hover{background:var(--lagoon);}
.listing-image-lightbox-nav.previous{left:13px;}
.listing-image-lightbox-nav.next{right:13px;}
.listing-image-lightbox-count{position:absolute;right:14px;bottom:13px;padding:6px 10px;border-radius:999px;background:rgba(5,19,25,.74);color:#fff;font-size:12px;font-weight:800;}

@media(max-width:1024px){
    .listing-image-lightbox{padding:14px;}
    .listing-image-lightbox-dialog,.listing-image-lightbox-dialog img{max-width:calc(100vw - 28px);max-height:82vh;}
    .listing-image-lightbox-close{top:9px;right:9px;width:36px;height:36px;font-size:27px;}
    .listing-image-lightbox-nav{width:36px;height:36px;font-size:29px;}
    .listing-image-lightbox-nav.previous{left:8px;}
    .listing-image-lightbox-nav.next{right:8px;}
}

.detail-placeholder{
    width:150px !important;
    height:150px !important;
    border-radius:42px !important;
}

.detail-placeholder svg{
    width:88px !important;
    height:88px !important;
}

.listing-information{
    padding:8px 0;
}

.listing-detail-topline{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--gray);
    font-size:12px;
    font-weight:750;
}

.listing-information h1{
    margin:13px 0 5px;
    color:var(--ocean);
    font-size:34px;
    line-height:1.15;
}

.listing-detail-price{
    margin:0;
    color:#087f7d;
    font-size:28px;
    font-weight:900;
}

.listing-detail-date{
    margin:8px 0 22px;
    color:var(--gray);
    font-size:12px;
}

.listing-facts{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    margin:0;
    overflow:hidden;
    border:1px solid #dbe9e7;
    border-radius:15px;
    background:#dbe9e7;
}

.listing-facts div{
    min-height:70px;
    padding:13px;
    background:#fff;
}

.listing-facts dt{
    margin-bottom:4px;
    color:var(--gray);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}

.listing-facts dd{margin:0;color:var(--ocean);font-size:13px;font-weight:750;}

.listing-description{margin:24px 0;}
.listing-description h2,.listing-reviews h2{margin:0 0 8px;color:var(--ocean);font-size:19px;}
.listing-description p{margin:0;white-space:pre-line;color:#496663;line-height:1.65;font-size:14px;}

.seller-summary{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px;
    border:1px solid #dbe9e7;
    border-radius:16px;
    background:#fbfefd;
}

.seller-avatar{
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    flex:0 0 42px;
    border-radius:50%;
    background:var(--ocean);
    color:#fff;
    font-weight:900;
}

.seller-summary p,.seller-summary h2,.seller-summary small{margin:0;}
.seller-summary p{color:var(--gray);font-size:11px;}
.seller-summary h2{color:var(--ocean);font-size:15px;}
.seller-summary small{color:#087f7d;font-size:11px;font-weight:700;}
.seller-profile-link{display:inline-flex;margin:9px 0 15px;color:#087f7d;font-size:12px;font-weight:850;text-decoration:underline;text-underline-offset:3px;}
.seller-profile-link:hover{color:var(--ocean);}
.listing-seller-link{display:inline-block;color:var(--ocean);font:inherit;text-decoration:none;}
.listing-seller-link:hover{color:#087f7d;text-decoration:underline;text-underline-offset:3px;}

.product .listing-seller-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
    min-height:16px;
    color:var(--ocean);
}

.product .listing-seller-name,
.product .listing-seller-row .listing-seller-link{
    color:var(--ocean);
    font-size:11px;
    font-weight:800;
}

.product .listing-seller-rating{
    color:#d08a12;
    font-size:10px;
    font-weight:900;
}

.public-profile-page{max-width:1150px;margin:0 auto;padding:38px 24px 72px;}
.public-profile-page>.back-button{margin-bottom:18px;}
.public-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:28px;border:1px solid #d8e8e5;border-radius:22px;background:linear-gradient(135deg,#f7fcfb,#edf8f6);box-shadow:0 12px 30px rgba(7,59,76,.08);}
.public-profile-avatar{display:grid;width:92px;height:92px;place-items:center;overflow:hidden;border:4px solid #fff;border-radius:50%;background:var(--lagoon);box-shadow:0 6px 16px rgba(7,59,76,.13);color:#fff;font-size:32px;font-weight:900;}
.public-profile-avatar img{width:100%;height:100%;object-fit:cover;}
.public-profile-copy .kicker{margin:0 0 5px;}
.public-profile-copy h1{margin:0;color:var(--ocean);font-size:28px;}
.public-profile-location{margin:6px 0;color:#087f7d;font-size:13px;font-weight:800;}
.public-profile-description{max-width:620px;margin:8px 0;color:#526e6a;font-size:14px;line-height:1.55;white-space:pre-line;}
.public-profile-copy small{color:#718783;font-size:11px;}
.public-profile-contact{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px;}
.public-profile-contact a{padding:7px 9px;border-radius:9px;background:#fff;color:var(--ocean);font-size:12px;font-weight:800;}
.public-profile-contact a:hover{color:#087f7d;}
.public-profile-stats{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:9px;}
.public-profile-stat{display:grid;min-width:112px;place-items:center;padding:15px 12px;border:1px solid #cde6e1;border-radius:15px;background:#fff;text-align:center;}
.public-profile-stat strong{color:#087f7d;font-size:27px;line-height:1;}
.public-profile-stat span{margin-top:5px;color:#60777d;font-size:10px;font-weight:800;}
.public-profile-stat.public-profile-rating strong{color:#e6a123;font-size:18px;letter-spacing:1px;white-space:nowrap;}
.public-profile-listings{margin-top:38px;}
.public-profile-empty{padding:28px;border:1px dashed #b7d9d4;border-radius:14px;color:#60777d;text-align:center;}

@media(max-width:1024px){
  .public-profile-page{padding:25px 14px 45px;}
  .public-profile-card{grid-template-columns:1fr;gap:14px;padding:22px;text-align:center;}
  .public-profile-avatar{margin:0 auto;}
  .public-profile-description{margin-left:auto;margin-right:auto;}
  .public-profile-contact{justify-content:center;}
  .public-profile-stats{width:100%;max-width:310px;margin:0 auto;}
  .public-profile-stat{margin:0 auto;}
}

.listing-primary-actions,.listing-secondary-actions{
    display:grid;
    gap:10px;
    margin-top:14px;
}

.listing-primary-actions{grid-template-columns:1fr;}
.listing-secondary-actions{grid-template-columns:repeat(3,1fr);}

.listing-primary-actions button,.listing-secondary-actions button{
    min-height:46px;
    border-radius:12px;
    font:inherit;
    font-size:13px;
    font-weight:850;
    cursor:pointer;
}

.listing-primary-actions .contact-seller{margin:0;}
.offer-listing{border:1px solid #b9ded9;background:#eff9f7;color:#087f7d;}
.listing-secondary-actions .save-listing{min-height:46px;border-radius:12px;}
.listing-secondary-actions .share-listing{border:1px solid #b9ded9;background:#fff;color:#087f7d;}
.listing-secondary-actions .share-listing:hover{border-color:#63bdb3;background:#eff9f7;}
.listing-secondary-actions.listing-sold-actions{grid-template-columns:1fr;}
.listing-detail-sold{margin:16px 0 0;padding:12px 14px;border:1px solid #d8e0df;border-radius:12px;background:#f4f7f7;color:#596968;font-size:13px;line-height:1.45;}
.listing-primary-actions button:disabled,.listing-secondary-actions button:disabled{opacity:.5;cursor:not-allowed;}

/* Proposition d'offre : même douceur visuelle que la connexion. */
.offer-modal{z-index:1200;}
.modal .offer-modal-box{
    width:min(420px,calc(100vw - 32px));
    max-height:calc(100vh - 32px);
    padding:25px;
    border-radius:20px;
}
.offer-modal-kicker{
    margin:0 0 6px !important;
    color:var(--lagoon) !important;
    font-size:10px !important;
    font-weight:900;
    letter-spacing:.13em;
}
.modal .offer-modal-box h2{margin:0 0 7px;font-size:25px;}
.modal .offer-modal-intro{margin:0 0 17px;line-height:1.5;}
.offer-modal-listing{
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 0 18px;
    padding:12px;
    border:1px solid #d9e9e6;
    border-radius:14px;
    background:#f7fcfb;
}
.offer-modal-item-icon{
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    flex:0 0 38px;
    border-radius:12px;
    background:var(--ocean);
    color:#fff;
    font-size:16px;
    font-weight:900;
}
.offer-modal-listing div{display:grid;gap:3px;min-width:0;}
.offer-modal-listing strong{overflow:hidden;color:var(--ocean);font-size:13px;text-overflow:ellipsis;white-space:nowrap;}
.offer-modal-listing span:not(.offer-modal-item-icon){color:#087f7d;font-size:11px;font-weight:800;}
.modal .offer-modal-box form{display:grid;gap:8px;}
.modal .offer-modal-box label{color:var(--ocean);font-size:12px;font-weight:850;}
.modal .offer-modal-box label small{color:var(--gray);font-size:10px;font-weight:700;}
.offer-price-input{position:relative;}
.modal .offer-modal-box .offer-price-input input{margin:0;padding-right:70px;font-weight:850;}
.offer-price-input span{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:#087f7d;font-size:11px;font-weight:900;pointer-events:none;}
.modal .offer-modal-box textarea{
    box-sizing:border-box;
    width:100%;
    min-height:82px;
    padding:11px 12px;
    resize:vertical;
    border:1px solid var(--line);
    border-radius:11px;
    color:var(--text);
    font:inherit;
    font-size:13px;
    outline:none;
}
.modal .offer-modal-box textarea:focus,.modal .offer-modal-box input:focus{border-color:var(--lagoon);box-shadow:0 0 0 3px rgba(49,183,178,.12);}
.offer-price-hint{margin:0 0 4px !important;color:var(--gray) !important;font-size:10px !important;}
.modal .offer-modal-box .offer-submit{margin:8px 0 0;}
.modal .offer-modal-note{margin:14px 0 0 !important;color:#718583 !important;font-size:10px !important;line-height:1.45;}

/* Signalement : même fenêtre simple et rassurante que les offres. */
.report-modal{z-index:1200;}
.modal .report-modal-box{width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:25px;border-radius:20px;}
.report-modal-kicker{margin:0 0 6px !important;color:#a96b15 !important;font-size:10px !important;font-weight:900;letter-spacing:.13em;}
.modal .report-modal-box h2{margin:0 0 7px;font-size:25px;}
.report-modal-intro{margin:0 0 17px !important;line-height:1.5;}
.report-modal-listing{display:grid;gap:3px;margin:0 0 17px;padding:12px 13px;border:1px solid #f1dfc0;border-radius:14px;background:#fffaf1;}
.report-modal-listing strong{overflow:hidden;color:var(--ocean);font-size:13px;text-overflow:ellipsis;white-space:nowrap;}
.report-modal-listing span{color:#8b5c1d;font-size:11px;font-weight:800;}
.modal .report-modal-box form{display:grid;gap:8px;}
.modal .report-modal-box label{color:var(--ocean);font-size:12px;font-weight:850;}
.modal .report-modal-box label small{color:var(--gray);font-size:10px;font-weight:700;}
.modal .report-modal-box select,.modal .report-modal-box textarea{box-sizing:border-box;width:100%;margin:0;border:1px solid #cadeda;border-radius:11px;background:#fff;color:var(--ocean);font:inherit;font-size:13px;outline:none;}
.modal .report-modal-box select{height:43px;padding:0 12px;}
.modal .report-modal-box textarea{min-height:92px;padding:11px 12px;resize:vertical;}
.modal .report-modal-box select:focus,.modal .report-modal-box textarea:focus{border-color:var(--lagoon);box-shadow:0 0 0 3px rgba(49,183,178,.12);}
.report-form-error{margin:0 !important;color:#ad3434 !important;font-size:11px !important;font-weight:750;line-height:1.35;}
.modal .report-modal-box .report-submit{margin:8px 0 0;}
.report-modal-note{margin:14px 0 0 !important;color:#718583 !important;font-size:10px !important;line-height:1.45;}

@media(max-width:480px){
    .modal .offer-modal-box{padding:22px 18px;}
    .modal .offer-modal-box h2{font-size:23px;}
    .modal .report-modal-box{padding:22px 18px;}
    .modal .report-modal-box h2{font-size:23px;}
}

.listing-safety{
    margin-top:20px;
    padding:15px;
    border-radius:15px;
    background:#fff9ef;
    color:#71532b;
    font-size:12px;
}

.listing-safety strong{display:block;color:#6c4d22;}
.listing-safety p{margin:5px 0 10px;line-height:1.45;}
.listing-safety button{margin:0 12px 0 0;padding:0;border:0;background:transparent;color:#8b5c1d;font:inherit;font-size:11px;font-weight:850;cursor:pointer;text-decoration:underline;}
.listing-owner-note{margin:18px 0 0;padding:12px 14px;border:1px solid #c9e5df;border-radius:13px;background:#f3fbf9;color:#456d68;font-size:12px;font-weight:700;line-height:1.45;}
.listing-actions .view-own-listing{display:flex;align-items:center;justify-content:center;width:100%;min-height:38px;border:1px solid #173f48;border-radius:11px;background:#173f48;color:#fff;font-size:11px;font-weight:800;text-decoration:none;}
.listing-actions .view-own-listing:hover{background:#0b5863;border-color:#0b5863;}
.listing-primary-actions .owner-edit-listing{display:flex;min-height:46px;align-items:center;justify-content:center;text-decoration:none;}

/* Profil : cartes plus douces et cohérentes avec l'univers cocooning d'Emlly. */
.profile-page .profile-header{
  padding:26px;
  border:1px solid #ebe3dc;
  border-radius:24px;
  background:#fffefa;
  box-shadow:0 12px 30px rgba(71,54,37,.06);
}
.profile-page .profile-box{
  padding:25px;
  border:1px solid #ebe3dc;
  border-radius:22px;
  background:#fffefa;
  box-shadow:0 12px 30px rgba(71,54,37,.06);
}
.profile-page .stats>div{border-radius:18px;border-color:#ebe3dc;background:#fffefa;box-shadow:0 8px 20px rgba(71,54,37,.045);}
.profile-page .info-grid>div{border:1px solid #eee7df;border-radius:15px;background:#fffcf8;}
@media(max-width:719px){
  .profile-page .profile-header{padding:19px 16px;border-radius:20px;}
  .profile-page .profile-box{padding:19px 16px;border-radius:18px;}
  .profile-page .stats>div{border-radius:16px;}
  .profile-page .info-grid>div{border-radius:13px;}
}

/* États de synchronisation : visibles si le réseau prend un peu de temps,
   sans empêcher la personne de poursuivre sa navigation. */
.emlly-sync-indicator{
  position:fixed;
  z-index:5000;
  top:18px;
  right:18px;
  display:flex;
  align-items:center;
  gap:9px;
  max-width:min(310px,calc(100vw - 36px));
  min-height:42px;
  padding:0 14px;
  border:1px solid #bfe2dc;
  border-radius:999px;
  background:rgba(255,254,250,.97);
  box-shadow:0 12px 30px rgba(7,59,76,.13);
  color:#285e66;
  font-size:12px;
  font-weight:800;
}
.emlly-sync-indicator[hidden]{display:none;}
.emlly-sync-spinner,.messages-sync-spinner{
  width:15px;
  height:15px;
  flex:0 0 auto;
  border:2px solid #cae9e4;
  border-top-color:#16818c;
  border-radius:50%;
  animation:emlly-sync-spin .72s linear infinite;
}
@keyframes emlly-sync-spin{to{transform:rotate(360deg);}}

.messages-sync-status{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:19px;
  margin:8px 0 -2px;
  color:#5c7a76;
  font-size:11px;
  font-weight:750;
}
.messages-sync-status[hidden]{display:none;}
.messages-sync-spinner{width:12px;height:12px;border-width:2px;}

.auth-form-error{
  margin:12px 0 0;
  padding:10px 12px;
  border:1px solid #edc9c2;
  border-radius:10px;
  background:#fff4f1;
  color:#9a392f;
  font-size:12px;
  font-weight:750;
  line-height:1.42;
}
.auth-form-error[hidden]{display:none;}

/* Profil : les informations restent complètes et agréables à lire sur petit écran. */
.profile-page .profile-header,
.profile-page .profile-box{
  box-sizing:border-box;
}
.profile-page .info-grid>div,
.profile-page .info-grid p{
  min-width:0;
}
.profile-page .info-grid p{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.public-profile-report{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  margin-top:14px;
  padding:0 10px;
  border:1px solid #e9d4cf;
  border-radius:10px;
  background:#fffaf8;
  color:#8d554c;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.public-profile-report:hover,.public-profile-report:focus-visible{
  border-color:#d9a89e;
  background:#fff3ef;
  outline:0;
}

@media(max-width:719px){
  .emlly-sync-indicator{top:12px;right:12px;min-height:38px;padding:0 12px;font-size:11px;}
  .profile-page{padding:24px 14px 48px;}
  .profile-page .profile-header{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:17px 14px 19px;}
  .profile-page .profile-avatar-button{width:76px;gap:6px;font-size:9px;}
  .profile-page .avatar{width:70px;height:70px;font-size:29px;}
  .profile-page .profile-header .user-title h1{font-size:21px;line-height:1.16;}
  .profile-page .profile-header .description{font-size:13px;line-height:1.52;}
  .profile-page .profile-inline-stats{gap:12px;font-size:11px;}
  .profile-page .profile-inline-stats strong{font-size:13px;}
  .profile-page .profile-actions{grid-column:1 / -1;grid-template-columns:1fr 1fr;gap:9px;margin-top:2px;}
  .profile-page .profile-actions .button{min-height:41px;padding:8px 7px;font-size:12px;white-space:nowrap;}
  .profile-page .profile-box{margin-bottom:16px;padding:20px 15px;}
  .profile-page .profile-box h2{margin-bottom:14px;font-size:20px;line-height:1.2;}
  .profile-page .info-grid{grid-template-columns:1fr!important;gap:9px;}
  .profile-page .info-grid>div{padding:14px 15px;border-radius:14px;}
  .profile-page .info-grid b{font-size:11px;letter-spacing:.015em;}
  .profile-page .info-grid p{margin-top:5px;font-size:14px;line-height:1.42;}
  .profile-page .profile-privacy{gap:15px;}
  .profile-page .profile-privacy p:last-child{font-size:13px;line-height:1.5;}
  .profile-page .profile-privacy-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .profile-page .profile-privacy-actions a{min-height:39px;padding:0 8px;font-size:11px;text-align:center;}
}

@media(max-width:360px){
  .profile-page .profile-actions,
  .profile-page .profile-privacy-actions{grid-template-columns:1fr;}
  .profile-page .profile-header{grid-template-columns:68px minmax(0,1fr);gap:10px;}
  .profile-page .profile-avatar-button{width:68px;}
  .profile-page .avatar{width:63px;height:63px;font-size:26px;}
}

/* Menus de catégories plus compacts : ils restent confortables à lire, mais
   ne masquent plus une grande partie de la page lorsqu'on parcourt un rayon. */
@media(min-width:1025px){
  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser{
    min-height:390px!important;
  }
  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar{
    max-height:min(430px,calc(100dvh - 128px))!important;
    padding:15px clamp(20px,3vw,42px) 17px!important;
  }
  #homeCategoryNavigation .category-browser-view-all,
  #categoryNavigation .category-browser-view-all{
    min-height:42px!important;
    font-size:15px!important;
  }
  #homeCategoryNavigation .category-browser-subcategory,
  #categoryNavigation .category-browser-subcategory{
    min-height:46px!important;
    font-size:15px!important;
  }
  #homeCategoryNavigation .category-browser-subcategory b,
  #categoryNavigation .category-browser-subcategory b{font-size:26px!important;}
  #homeCategoryNavigation .category-browser-content,
  #categoryNavigation .category-browser-content{
    max-height:min(430px,calc(100dvh - 128px))!important;
    padding:19px clamp(28px,4vw,68px) 22px!important;
  }
  #homeCategoryNavigation .category-browser-all-articles,
  #categoryNavigation .category-browser-all-articles{
    min-height:36px!important;
    margin-bottom:8px!important;
    font-size:15px!important;
  }
  #homeCategoryNavigation .category-browser-types a,
  #categoryNavigation .category-browser-types a{
    min-height:43px!important;
    font-size:15px!important;
  }
}

/* Version courte des panneaux : leur hauteur suit le contenu disponible.
   Les listes très longues défilent dans le panneau plutôt que de pousser
   l'accueil hors de l'écran. */
@media(min-width:1025px){
  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser{
    min-height:0!important;
    max-height:min(325px,calc(100dvh - 128px))!important;
  }
  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar,
  #homeCategoryNavigation .category-browser-content,
  #categoryNavigation .category-browser-content{
    max-height:min(325px,calc(100dvh - 128px))!important;
  }
  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar{padding-top:11px!important;padding-bottom:11px!important;}
  #homeCategoryNavigation .category-browser-content,
  #categoryNavigation .category-browser-content{padding-top:13px!important;padding-bottom:15px!important;}
  #homeCategoryNavigation .category-browser-subcategory,
  #categoryNavigation .category-browser-subcategory{min-height:39px!important;}
  #homeCategoryNavigation .category-browser-types a,
  #categoryNavigation .category-browser-types a{min-height:36px!important;}
}

@media(min-width:720px) and (max-width:1024px){
  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser{
    min-height:0!important;
    max-height:285px;
  }
  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar,
  #homeCategoryNavigation .category-browser-content,
  #categoryNavigation .category-browser-content{max-height:285px;}
}

/* Page de vente : une hiérarchie unique, des proportions cohérentes et une
   lecture confortable quel que soit l'écran. */
.annonce-page{
  min-height:calc(100vh - 150px);
  padding:clamp(28px,5vw,62px) 20px 72px;
  background:linear-gradient(180deg,#fbfaf7 0%,#f6f2ed 100%);
}
.annonce-container{width:min(100%,1040px);margin:0 auto;}
.annonce-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  margin:0 0 24px;
  padding:clamp(22px,4vw,36px);
  border:1px solid #e7e0d8;
  border-radius:26px;
  background:linear-gradient(135deg,#fffefa 0%,#f5fbf9 100%);
  box-shadow:0 12px 32px rgba(71,54,37,.055);
}
.annonce-intro .kicker{margin:0 0 9px;color:#16818c;font-size:11px;font-weight:850;letter-spacing:.13em;}
.annonce-intro h1{margin:0;color:#173f48;font-family:Georgia,serif;font-size:clamp(30px,4vw,44px);line-height:1.08;letter-spacing:-.035em;}
.annonce-intro p:not(.kicker){max-width:610px;margin:11px 0 0;color:#647673;font-size:15px;line-height:1.55;}
.sell-intro-note{display:grid;flex:0 0 auto;gap:5px;min-width:190px;padding:15px 17px;border:1px solid #cde5df;border-radius:16px;background:rgba(255,255,255,.78);color:#173f48;box-shadow:0 7px 16px rgba(22,129,140,.07);}
.sell-intro-note strong{font-size:13px;}
.sell-intro-note span{color:#16818c;font-size:11px;font-weight:750;line-height:1.4;}
.annonce-card{padding:clamp(22px,4vw,42px);border:1px solid #e7e0d8;border-radius:26px;background:#fffefa;box-shadow:0 18px 46px rgba(71,54,37,.08);}
.sell-form-error{margin:0 0 24px;padding:12px 14px;border:1px solid #edc9c2;border-radius:13px;background:#fff4f1;color:#9a392f;font-size:13px;font-weight:750;line-height:1.45;}
.form-section{margin:0 0 30px;padding:0 0 30px;border-bottom:1px solid #eee8e1;}
.sale-form-section{margin-bottom:0;padding-bottom:0;border-bottom:0;}
.form-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 20px;}
.form-section-heading>div{position:relative;padding-left:41px;}
.form-step{position:absolute;top:0;left:0;display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:#173f48;color:#fff;font-size:12px;font-weight:850;}
.form-section h2{margin:1px 0 5px;color:#173f48;font-family:Georgia,serif;font-size:clamp(20px,2.2vw,25px);line-height:1.14;letter-spacing:-.02em;}
.form-section-heading p{margin:0;color:#72837f;font-size:13px;line-height:1.5;}
.photo-counter{flex:0 0 auto;min-width:54px;padding:8px 10px;border:1px solid #cae2dd;border-radius:999px;background:#eff8f6;color:#16818c;font-size:12px;font-weight:850;text-align:center;}
.photo-upload-actions{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr);gap:12px;}
.photo-zone{display:flex;min-height:136px;align-items:center;justify-content:flex-start;gap:15px;margin:0!important;padding:18px 20px!important;border:1.5px dashed #94cfc7!important;border-radius:17px!important;background:#f0f8f6!important;color:#173f48;text-align:left!important;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;}
.photo-zone:hover,.photo-zone:focus-within{border-color:#16818c!important;background:#e8f6f3!important;box-shadow:0 9px 20px rgba(22,129,140,.08);transform:translateY(-1px);}
.photo-zone.gallery-photo-zone{border-style:solid!important;background:linear-gradient(135deg,#eef9f6 0%,#f9fcfb 100%)!important;}
.photo-zone input{display:none!important;}
.photo-zone-symbol{display:grid!important;flex:0 0 auto;width:38px;height:38px;place-items:center!important;border-radius:13px;background:#16818c;color:#fff;font-size:29px!important;font-weight:400;line-height:1!important;}
.photo-zone-copy{display:grid!important;gap:3px;min-width:0;}
.photo-zone-copy strong{color:#173f48;font-size:15px;line-height:1.25;}
.photo-zone-copy small{color:#71817f;font-size:12px;line-height:1.35;}
.photo-zone-copy .photo-zone-kicker{color:#16818c;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;}
.camera-symbol{position:relative;display:block!important;flex:0 0 auto;width:30px;height:22px;margin:0!important;border:2px solid #16818c;border-radius:6px;background:transparent;}
.camera-symbol::before{content:"";position:absolute;top:-7px;left:8px;width:11px;height:6px;border:2px solid #16818c;border-bottom:0;border-radius:4px 4px 0 0;}
.camera-symbol::after{content:"";position:absolute;top:5px;left:9px;width:8px;height:8px;border:2px solid #16818c;border-radius:50%;}
.photo-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin:15px 0 0;}
.photo-preview-item{width:auto;height:auto;aspect-ratio:1/1;border-radius:14px;box-shadow:0 5px 13px rgba(7,59,76,.08);}
.listing-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px;}
.listing-field-wide{grid-column:1 / -1;}
.annonce-card label{margin:0 0 7px;color:#365a61;font-size:12px;font-weight:850;letter-spacing:.01em;}
.annonce-card input:not([type="checkbox"]):not([type="file"]),.annonce-card select,.annonce-card textarea{box-sizing:border-box;min-height:48px;margin:0;border:1px solid #d8e4e1;border-radius:12px;background:#fff;color:#173f48;font:inherit;font-size:14px;line-height:1.35;}
.annonce-card input:not([type="checkbox"]):not([type="file"]),.annonce-card select{padding:0 13px;}
.annonce-card textarea{min-height:128px;height:128px;padding:13px;resize:vertical;}
.annonce-card input::placeholder,.annonce-card textarea::placeholder{color:#9aa7a4;}
.annonce-card input:focus,.annonce-card select:focus,.annonce-card textarea:focus{border-color:#16818c;box-shadow:0 0 0 3px rgba(22,129,140,.13);}
.annonce-card [aria-invalid="true"]{border-color:#cf625b!important;box-shadow:0 0 0 3px rgba(207,98,91,.12)!important;}
.field-required{color:#c04e47;}
.listing-article-type-field p,.listing-sizes-field>p{margin:7px 0 0;color:#7c8e8a;font-size:11px;line-height:1.45;}
.sale-form-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px;}
.sale-form-section .listing-sizes-field{grid-column:1 / -1;padding:15px;border:1px solid #dcebe7;border-radius:14px;background:#f7fbfa;}
.price-box span{right:14px;top:38px;color:#16818c;font-size:12px;}
.listing-location-hint{margin:7px 0 0;color:#7a8986;font-size:11px;line-height:1.45;}
.publish-area{display:grid;justify-items:center;gap:9px;margin:32px 0 0;padding-top:26px;border-top:1px solid #eee8e1;text-align:center;}
.publish-button{width:min(100%,310px);height:52px;margin:0;border-radius:14px;background:#173f48;font-size:14px;font-weight:850;letter-spacing:.01em;box-shadow:0 10px 20px rgba(23,63,72,.18);}
.publish-button:hover{background:#16818c;}
.publish-area p{margin:0;color:#7a8885;font-size:11px;line-height:1.4;}
.sell-tip{display:flex;align-items:flex-start;gap:11px;margin:22px 0 0;padding:14px 16px;border:1px solid #d9e9e5;border-radius:14px;background:#f5faf8;color:#617570;text-align:left;font-size:12px;line-height:1.5;}
.sell-tip strong{flex:0 0 auto;color:#16818c;font-size:12px;}

@media(max-width:719px){
  .annonce-page{padding:22px 14px 55px;}
  .annonce-intro{display:grid;gap:16px;padding:22px 19px;border-radius:20px;}
  .annonce-intro h1{font-size:31px;}
  .annonce-intro p:not(.kicker){font-size:13px;}
  .sell-intro-note{min-width:0;padding:12px 14px;}
  .annonce-card{padding:22px 16px;border-radius:20px;}
  .form-section{margin-bottom:24px;padding-bottom:24px;}
  .form-section-heading{margin-bottom:16px;}
  .form-section-heading>div{padding-left:37px;}
  .form-step{width:25px;height:25px;font-size:11px;}
  .form-section h2{font-size:21px;}
  .form-section-heading p{font-size:12px;}
  .photo-upload-actions,.listing-fields-grid,.sale-form-section .form-grid{grid-template-columns:1fr;}
  .photo-zone{min-height:96px;padding:15px 16px!important;}
  .photo-zone-symbol{width:34px;height:34px;font-size:26px!important;}
  .photo-zone-copy strong{font-size:14px;}
  .photo-preview{grid-template-columns:repeat(3,minmax(0,1fr));}
  .listing-field-wide,.sale-form-section .listing-sizes-field{grid-column:auto;}
  .publish-area{margin-top:26px;padding-top:22px;}
  .publish-button{width:100%;}
  .sell-tip{display:grid;gap:4px;margin-top:18px;}
}

/* Sur téléphone, une croix ferme seulement le niveau de sous-catégories ouvert. */
.mobile-subcategory-close{display:none;}
@media(max-width:719px){
  #homeCategoryNavigation .category-mega-menu,
  #categoryNavigation .category-mega-menu{position:relative!important;padding-top:48px!important;}
  .mobile-subcategory-close{
    position:absolute;
    z-index:3;
    top:9px;
    right:9px;
    display:grid;
    width:31px;
    height:31px;
    place-items:center;
    border:1px solid #d1e3df;
    border-radius:50%;
    background:#fff;
    color:#173f48;
    font:400 27px/1 Arial,sans-serif;
    cursor:pointer;
  }
  .mobile-subcategory-close:active{transform:scale(.94);}
  .mobile-subcategory-close:focus-visible{outline:3px solid rgba(22,129,140,.25);outline-offset:2px;}
}

/* Comment ça marche : les offres font partie du parcours, sur tout écran. */
.how .how-intro{
  max-width:650px;
  margin:-23px auto 34px;
  color:rgba(244,251,249,.78);
  font-size:15px;
  line-height:1.55;
}
.how .steps{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  max-width:1180px;
  margin:0 auto;
}
.how .steps article{min-height:230px;padding:24px 21px;border-radius:20px;}
.how .steps article>b{right:17px;top:13px;font-size:29px;}
.how .steps h3{margin:42px 0 10px;font-size:17px;}
.how .steps p{font-size:13px;line-height:1.55;}
@media(max-width:1024px) and (min-width:720px){
  .how .steps{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;}
  .how .steps article{min-height:190px;}
}
@media(max-width:719px){
  .how{padding:54px 20px;}
  .how h2{margin-bottom:25px;font-size:31px;}
  .how .how-intro{margin:-13px 0 23px;font-size:13px;}
  .how .steps{grid-template-columns:1fr;gap:9px;}
  .how .steps article{min-height:0;padding:20px 18px;}
  .how .steps h3{margin:27px 0 8px;font-size:16px;}
}

/* Comment ça marche : un parcours concret, incluant les offres. */
.how .how-intro{max-width:650px;margin:-23px auto 34px;color:rgba(244,251,249,.78);font-size:15px;line-height:1.55;}
.how .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1180px;margin:0 auto;}
.how .steps article{min-height:230px;padding:24px 21px;border-radius:20px;}
.how .steps article>b{right:17px;top:13px;font-size:29px;}
.how .steps h3{margin:44px 0 10px;font-size:17px;line-height:1.22;}
.how .steps p{margin:0;font-size:13px;line-height:1.55;}
@media(max-width:1024px){
  .how .steps{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:719px){
  .how{padding:54px 20px;}
  .how h2{margin-bottom:25px;font-size:31px;}
  .how .how-intro{margin:-13px 0 23px;font-size:13px;}
  .how .steps{grid-template-columns:1fr;gap:9px;}
  .how .steps article{min-height:0;padding:20px 18px;}
  .how .steps h3{margin:27px 0 8px;font-size:16px;}
}

.listing-reviews{
    margin-top:42px;
    padding:26px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
}

.reviews-head{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.reviews-head p{margin:0 0 4px;}
.reviews-head button{border:1px solid var(--lagoon);border-radius:10px;background:#fff;color:#087f7d;padding:9px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;}
.review-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 0;padding:0;list-style:none;}
.review-list li{padding:14px;border-radius:14px;background:#f7fbfa;}
.review-list strong,.review-list span{display:block;color:var(--ocean);font-size:12px;}
.review-list span{margin-top:4px;color:#e7a226;letter-spacing:1px;}
.fractional-rating-stars{--rating:0%;display:inline-block;background:linear-gradient(90deg,#e6a123 var(--rating),#c4d6d3 var(--rating));background-clip:text;-webkit-background-clip:text;color:transparent !important;letter-spacing:1px;white-space:nowrap;}
.review-list time{display:block;margin-top:5px;color:#7c928f;font-size:10px;font-weight:700;}
.review-list p,.review-empty{margin:7px 0 0;color:var(--gray);font-size:12px;line-height:1.45;}
.review-modal{position:fixed;z-index:6000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,59,76,.5);backdrop-filter:blur(5px);}
.review-dialog{position:relative;width:min(100%,430px);padding:28px;border:1px solid #cde6e1;border-radius:22px;background:#fff;box-shadow:0 28px 65px rgba(7,59,76,.28);}
.review-dialog h2{margin:4px 34px 7px 0;color:var(--ocean);font-size:25px;}
.review-dialog>p:not(.kicker):not(.review-rating-hint):not(.review-modal-error){margin:0;color:var(--gray);font-size:14px;line-height:1.5;}
.review-modal-close{position:absolute;top:14px;right:14px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:#eef7f5;color:var(--ocean);font-size:26px;line-height:1;cursor:pointer;}
.review-rating-picker{display:flex;justify-content:center;gap:6px;margin:24px 0 8px;}
.review-rating-picker button{width:47px;height:47px;padding:0;border:0;background:transparent;color:#c4d6d3;font-size:37px;line-height:1;cursor:pointer;transition:transform .16s ease,color .16s ease;}
.review-rating-picker button:hover,.review-rating-picker button.is-selected{color:#e6a123;transform:translateY(-3px) scale(1.06);}
.review-rating-hint{min-height:20px;margin:0;color:#607a76;text-align:center;font-size:12px;font-weight:750;}
.review-comment-field{display:block;margin:17px 0 7px;color:var(--ocean);font-size:12px;font-weight:850;}
.review-dialog textarea{display:block;box-sizing:border-box;width:100%;min-height:92px;resize:vertical;padding:11px 12px;border:1px solid #cde3df;border-radius:12px;background:#fbfefd;color:var(--ocean);font:inherit;font-size:13px;line-height:1.45;outline:none;}
.review-dialog textarea:focus{border-color:var(--lagoon);box-shadow:0 0 0 3px rgba(25,188,179,.13);}
.review-modal-error{margin:13px 0 0;color:#bb3d35;font-size:12px;font-weight:750;}
.review-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;}
.review-modal-actions button{min-height:41px;padding:0 15px;border-radius:11px;font:inherit;font-size:12px;font-weight:850;cursor:pointer;}
.review-cancel{border:1px solid #cde3df;background:#fff;color:var(--ocean);}
.review-submit{border:1px solid var(--lagoon);background:var(--lagoon);color:#fff;}
.review-submit:disabled{opacity:.45;cursor:not-allowed;}
.listing-similar{padding:48px 0 0;}
.listing-missing{padding:70px 24px;text-align:center;border-radius:24px;background:#f6faf9;}
.listing-missing h1{margin:0;color:var(--ocean);}
.listing-missing p{margin:12px 0 22px;color:var(--gray);}

@media(max-width:1024px){
    .listing-detail{grid-template-columns:1fr;gap:22px;}
    .listing-gallery,.listing-gallery .listing-main-image{min-height:360px;}
    .listing-information h1{font-size:27px;}
    .review-list{grid-template-columns:1fr;}
}

@media(max-width:1024px){
    .listing-page{padding:25px 16px 55px;}
    .listing-gallery,.listing-gallery .listing-main-image{min-height:300px;}
    .listing-gallery-nav{width:34px;height:34px;font-size:26px;}
    .listing-facts,.listing-primary-actions,.listing-secondary-actions{grid-template-columns:1fr;}
    .listing-reviews{padding:20px 16px;}
    .reviews-head{align-items:flex-start;flex-direction:column;}
}

.camera-photo-zone:hover{
    background:#e0f4f1;
}

.camera-photo-zone span{
    font-size:38px;
}

.modal .register-box .register,
.modal .reset-box .register{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    margin:16px 0 0;
    text-align:left;
    font-size:12px;
}

.modal .reset-box{
    max-height:510px;
}

.modal #passwordResetForm{
    display:grid;
    gap:10px;
}

.modal #passwordResetForm input{
    margin:0;
}

.category-page .category-back-button{
    margin:26px 28px 24px;
}

@media(max-width:1024px){
    .category-page .category-back-button{
        margin:18px 16px 22px;
    }

    .auth-box{
        padding:27px 22px;
        border-radius:18px;
    }

    .offers-panel{top:86px;right:16px;width:calc(100vw - 32px);}
}

/* Navigation des catégories : pensée pour le toucher sur téléphone. */
.mobile-category-toggle,
.category-expand{
    display:none;
}

.category-heading{
    display:flex;
    align-items:center;
}

/* Aperçu avant publication d’une annonce. */
.listing-preview-modal{
    position:fixed;
    z-index:2000;
    inset:0;
    display:grid;
    place-items:center;
    padding:22px;
    background:rgba(7,59,76,.48);
}

.listing-preview-modal[hidden]{display:none}

.listing-preview-dialog{
    position:relative;
    width:min(700px,100%);
    max-height:min(760px,calc(100vh - 44px));
    overflow:auto;
    padding:30px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 26px 70px rgba(7,59,76,.28);
}

.listing-preview-dialog h2{margin:4px 34px 6px 0;color:var(--ocean);font-size:27px}
.listing-preview-intro{margin:0 0 20px;color:var(--gray);font-size:14px}

.listing-preview-close{
    position:absolute;
    top:16px;
    right:16px;
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    border:0;
    border-radius:50%;
    background:#edf6f4;
    color:var(--ocean);
    font-size:27px;
    cursor:pointer;
}

.listing-preview-card{
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    gap:22px;
    padding:16px;
    border:1px solid #d9e8e5;
    border-radius:17px;
    background:#fbfefd;
}

.listing-preview-image{
    display:grid;
    min-height:205px;
    overflow:hidden;
    place-items:center;
    border-radius:13px;
    background:var(--cream);
}

.listing-preview-image img{width:100%;height:100%;object-fit:cover}

.listing-preview-placeholder{
    display:grid;
    width:58px;
    height:58px;
    place-items:center;
    border-radius:50% 50% 50% 8px;
    background:var(--lagoon);
    color:#fff;
    font-size:30px;
    font-weight:900;
}

.listing-preview-copy>p{margin:2px 0 7px;color:var(--gray);font-size:12px}
.listing-preview-copy h3{margin:0 0 7px;color:var(--ocean);font-size:19px}
.listing-preview-copy>strong{color:var(--lagoon);font-size:18px}

.listing-preview-copy dl{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:7px 12px;
    margin:17px 0 0;
    color:var(--gray);
    font-size:13px;
}

.listing-preview-copy dt{font-weight:800;color:var(--ocean)}
.listing-preview-copy dd{margin:0}
.listing-preview-description{margin:16px 0 0;color:var(--gray);font-size:13px;line-height:1.5;white-space:pre-wrap}

.listing-preview-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}

.listing-preview-actions button{
    min-height:44px;
    padding:0 18px;
    border-radius:22px;
    font:inherit;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}

.listing-preview-edit{border:1px solid #bcd5d1;background:#fff;color:var(--ocean)}
.listing-preview-confirm{border:1px solid var(--lagoon);background:var(--lagoon);color:#fff}

/* Contexte de l’annonce et raccourcis dans la messagerie. */
.messenger-thread-header{justify-content:space-between;gap:16px}

.thread-listing-context{
    display:flex;
    min-width:0;
    max-width:390px;
    align-items:center;
    gap:9px;
    padding:7px 9px;
    border:1px solid #d9e8e5;
    border-radius:12px;
    background:#fbfefd;
    color:var(--ocean);
}

.thread-listing-image{
    display:grid;
    width:38px;
    height:38px;
    flex:0 0 38px;
    overflow:hidden;
    place-items:center;
    border-radius:9px;
    background:var(--cream);
    color:var(--lagoon);
    font-weight:900;
}

.thread-listing-image img{width:100%;height:100%;object-fit:cover}
.thread-listing-context>span:nth-child(2){min-width:0;flex:1}
.thread-listing-context small,.thread-listing-context strong,.thread-listing-context em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread-listing-context small{margin:0;color:var(--gray);font-size:10px}
.thread-listing-context strong{margin:2px 0;color:var(--ocean);font-size:12px}
.thread-listing-context em{color:var(--lagoon);font-size:11px;font-style:normal;font-weight:800}
.thread-listing-context>b{font-size:11px;color:var(--lagoon)}

.message-quick-replies{
    display:flex;
    align-items:center;
    gap:7px;
    overflow-x:auto;
    padding:10px 18px;
    border-top:1px solid #edf3f2;
    background:#fff;
}

.message-quick-replies>span{flex:0 0 auto;color:var(--gray);font-size:13px;font-weight:850}
.message-quick-replies button{min-height:42px;flex:0 0 auto;padding:8px 14px;border:1px solid #c8e0dc;border-radius:21px;background:#f5fbfa;color:var(--ocean);font:inherit;font-size:14px;font-weight:750;cursor:pointer}
.message-quick-replies button:hover{border-color:var(--lagoon);background:#e8f7f4}

@media(max-width:1024px){
    .mobile-category-toggle{
        display:flex;
        width:calc(100% - 32px);
        min-height:48px;
        align-items:center;
        justify-content:center;
        gap:9px;
        margin:12px 16px 0;
        border:1px solid #c8dfdb;
        border-radius:14px;
        background:#fff;
        color:var(--ocean);
        font:inherit;
        font-size:14px;
        font-weight:800;
        cursor:pointer;
    }

    .mobile-category-toggle span{color:var(--lagoon);font-size:18px}
    #homeCategoryNavigation,
    #categoryNavigation{display:none;overflow:visible;flex-direction:column;gap:0;padding:7px 16px 16px;white-space:normal}
    #homeCategoryNavigation.is-open,
    #categoryNavigation.is-open{display:flex}
    #homeCategoryNavigation .category,
    #categoryNavigation .category{padding:0;border-bottom:1px solid #e2eeec}
    #homeCategoryNavigation .category::after,
    #categoryNavigation .category::after{display:none}
    #homeCategoryNavigation .category-heading,
    #categoryNavigation .category-heading{min-height:49px}
    #homeCategoryNavigation .category-name,
    #categoryNavigation .category-name{flex:1;padding:14px 2px;color:var(--ocean);font-weight:800}
    #homeCategoryNavigation .category-expand,
    #categoryNavigation .category-expand{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--lagoon);font-size:22px;cursor:pointer}
    #homeCategoryNavigation .category.active .category-expand,
    #categoryNavigation .category.active .category-expand{transform:rotate(180deg)}
    #homeCategoryNavigation .submenu,
    #categoryNavigation .submenu{display:none;position:static;width:auto;max-height:none;margin:0 0 11px;padding:4px 0;border:0;border-radius:0;box-shadow:none;background:#f7fbfa}
    #homeCategoryNavigation .category.active .submenu,
    #categoryNavigation .category.active .submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
    #homeCategoryNavigation .submenu a,
    #categoryNavigation .submenu a{padding:12px 11px;border-radius:8px;color:var(--ocean);font-size:13px;line-height:1.25}
    #homeCategoryNavigation .submenu .category-all-link,
    #categoryNavigation .submenu .category-all-link{grid-column:1 / -1;color:#087f7d;font-weight:850}
    #homeCategoryNavigation .submenu a:hover,
    #categoryNavigation .submenu a:hover{background:#e4f4f1}

    .listing-preview-dialog{padding:24px 18px}
    .listing-preview-card{grid-template-columns:135px minmax(0,1fr);gap:14px;padding:11px}
    .listing-preview-image{min-height:135px}
    .thread-listing-context{max-width:280px}
    .messenger-thread-header{padding:12px 16px}
}

@media(max-width:1024px){
    .listing-preview-card{grid-template-columns:1fr}
    .listing-preview-image{min-height:190px}
    .listing-preview-actions{flex-direction:column-reverse}
    .listing-preview-actions button{width:100%}
    .messenger-thread-header{align-items:flex-start;flex-direction:column}
    .thread-listing-context{width:100%;max-width:none}
    .message-quick-replies{padding:10px 12px}
    .message-quick-replies button{min-height:46px;font-size:14px}
    .messenger-compose{padding:12px}
    .messenger-compose button{min-width:90px}
    .listing-actions .contact-seller,.listing-actions .save-listing,.listing-actions .delete-listing{min-height:44px;font-size:12px}
    .filter-chip{min-height:42px;padding:8px 13px}
}

/* Pied de page commun : plus lisible et plus soigné sur toutes les pages. */
footer{
    position:relative;
    display:grid;
    grid-template-columns:minmax(150px,.75fr) minmax(220px,1.5fr) minmax(220px,1fr) auto;
    align-items:center;
    gap:28px;
    overflow:hidden;
    margin-top:42px;
    padding:30px max(24px,calc((100vw - 1120px)/2));
    border-top:4px solid var(--lagoon);
    background:var(--ocean);
    color:#e8f6f4;
}

footer::before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    top:-265px;
    right:7%;
    border:1px solid rgba(112,226,213,.24);
    border-radius:50%;
    box-shadow:0 0 0 42px rgba(112,226,213,.04),0 0 0 84px rgba(112,226,213,.025);
}

footer>*{position:relative;z-index:1}
footer .logo{justify-self:start;color:#fff;text-decoration:none}
footer .logo span{background:var(--lagoon)}
footer .logo i{color:#ffb0a7}
footer p{max-width:440px;margin:0;color:#d5eeeb;font-size:13px;line-height:1.55}
footer small{justify-self:end;color:#9ccbc5;font-size:11px;font-weight:700;white-space:nowrap}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;}
.footer-links a{color:#dff5f3;font-size:11px;font-weight:750;line-height:1.4;text-decoration:none;}
.footer-links a:hover,.footer-links a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px;}

/* Les aperçus restent compacts uniquement pendant la modification d'une annonce. */
/* Les choix de photos deviennent de petites lignes : la création normale ne change pas. */
body.editing-listing .photo-zone{
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:"icon" "title" "detail";
    align-items:center;
    justify-items:center;
    row-gap:1px;
    min-height:0;
    padding:10px 16px;
    border-radius:15px;
    text-align:center;
}
body.editing-listing .photo-zone span{grid-area:icon;margin:0;font-size:28px;}
body.editing-listing .photo-zone h3{grid-area:title;margin:0;font-size:14px;}
body.editing-listing .photo-zone p{grid-area:detail;margin:0;font-size:11px;}
body.editing-listing .camera-photo-zone{margin-top:9px;}
body.editing-listing .camera-photo-zone span{font-size:25px;}
body.editing-listing .photo-preview{gap:10px;margin-top:14px;}
body.editing-listing .photo-preview-item{width:min(100%,360px);height:270px;border-radius:13px;}
body.editing-listing .photo-preview-item img{cursor:zoom-in;}
body.editing-listing .photo-preview-item small{right:4px;bottom:4px;padding:3px 5px;font-size:8px;}
body.editing-listing .remove-listing-photo{top:4px;right:4px;width:22px;height:22px;font-size:18px;}
body.editing-listing .listing-preview-card{grid-template-columns:150px minmax(0,1fr);gap:18px;padding:14px;}
body.editing-listing .listing-preview-image{min-height:150px;}

@media(max-width:1024px){
    body.editing-listing .listing-preview-card{grid-template-columns:115px minmax(0,1fr);gap:13px;padding:11px;}
    body.editing-listing .listing-preview-image{min-height:115px;}
}

@media(max-width:1024px){
    body.editing-listing .photo-preview-item{width:100%;max-width:360px;height:250px;}
}

@media(max-width:1024px){
    body.editing-listing .listing-preview-card{grid-template-columns:102px minmax(0,1fr);gap:12px;padding:10px;}
    body.editing-listing .listing-preview-image{min-height:102px;}
}

/* Vêtements : un niveau supplémentaire, discret sur ordinateur et tactile sur mobile. */
.categories .submenu{overflow:visible;}
.categories .clothing-menu-item{position:relative;margin:2px 0;}
.categories .clothing-menu-item::after{
    content:"";
    position:absolute;
    z-index:509;
    top:-9px;
    right:-15px;
    bottom:-9px;
    width:16px;
}
.categories .clothing-menu-trigger{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:8px 10px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:var(--ocean);
    font:inherit;
    font-size:14px;
    line-height:1.2;
    text-align:left;
    cursor:pointer;
}
.categories .clothing-menu-trigger:hover,
.categories .clothing-menu-trigger:focus-visible{background:var(--blue-soft);color:var(--lagon-dark);}
.categories .clothing-menu-trigger span:last-child{font-size:17px;line-height:1;transition:transform .18s ease;}
.categories .clothing-menu-item.is-open .clothing-menu-trigger span:last-child{transform:rotate(180deg);}
.categories .clothing-submenu{
    display:none;
    position:absolute;
    z-index:510;
    top:-8px;
    left:calc(100% + 12px);
    width:198px;
    margin:0;
    padding:7px;
    border:1px solid #cfe5e1;
    border-radius:12px;
    background:#fff;
    box-shadow:0 14px 30px rgba(7,59,76,.15);
}
.categories .clothing-menu-item:hover .clothing-submenu,
.categories .clothing-menu-item.is-open .clothing-submenu{display:block;}
.categories .clothing-submenu a{padding:7px 9px;font-size:12px;}
.categories .clothing-submenu .clothing-all-link{font-weight:800;}

/* Page Catégories : les filtres restent optionnels pour garder l'écran aéré. */
.category-desktop-filter-toggle{
    display:inline-flex;
    min-height:43px;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:9px 13px;
    border:1px solid #b9dad5;
    border-radius:12px;
    background:#fff;
    color:var(--ocean);
    font:inherit;
    font-size:13px;
    font-weight:850;
    cursor:pointer;
    transition:border-color .18s,background .18s,color .18s;
}
.category-desktop-filter-toggle:hover,
.category-desktop-filter-toggle.is-open{border-color:var(--lagoon);background:#eaf8f5;}
.category-desktop-filter-toggle span{color:var(--lagoon);font-size:18px;line-height:1;}
.category-desktop-filter-toggle em{font-style:normal;white-space:nowrap;}
.category-desktop-filter-toggle b{
    display:grid;
    min-width:18px;
    height:18px;
    place-items:center;
    border-radius:50%;
    background:var(--ocean);
    color:#fff;
    font-size:9px;
    line-height:1;
}
.category-desktop-filter-toggle b[hidden]{display:none;}
.category-results-layout{display:block;}
.category-results-layout.has-visible-filters{
    display:grid;
    grid-template-columns:244px minmax(0,1fr);
    align-items:start;
    gap:27px;
}
.category-desktop-filters{
    position:sticky;
    top:16px;
    padding:18px 15px;
    border:1px solid #d7e8e5;
    border-radius:17px;
    background:#fff;
    box-shadow:0 10px 27px rgba(7,59,76,.07);
}
.category-desktop-filters-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;}
.category-desktop-filters-heading .kicker{margin:0;font-size:9px;}
.category-desktop-filters-heading h2{margin:4px 0 0;color:var(--ocean);font-size:21px;}
.category-filter-clear{padding:4px 0;border:0;background:transparent;color:#087f7d;font:inherit;font-size:11px;font-weight:850;text-decoration:underline;cursor:pointer;}
.category-desktop-filters-intro{margin:12px 0 13px;color:#5e7a77;font-size:11px;line-height:1.45;}
.category-detail-filter-group{position:relative;border-top:1px solid #e0ece9;}
.category-detail-filter-heading{
    display:flex;
    width:100%;
    min-height:43px;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:7px 1px;
    border:0;
    background:transparent;
    color:var(--ocean);
    font:inherit;
    font-size:13px;
    font-weight:850;
    text-align:left;
    cursor:pointer;
}
.category-detail-filter-heading span:last-child{font-size:18px;font-weight:500;transition:transform .18s ease;}
.category-detail-filter-group.is-open .category-detail-filter-heading span:last-child{transform:rotate(180deg);}
.category-detail-filter-options{
    display:none;
    position:absolute;
    z-index:15;
    top:-7px;
    left:calc(100% + 12px);
    width:205px;
    max-height:min(390px,calc(100vh - 44px));
    gap:2px;
    overflow-y:auto;
    padding:11px;
    border:1px solid #cfe3df;
    border-radius:14px;
    background:#fff;
    box-shadow:0 14px 32px rgba(7,59,76,.15);
}
.category-detail-filter-group.is-open .category-detail-filter-options{display:grid;}
.category-detail-filter-option{
    display:flex;
    width:100%;
    min-height:31px;
    align-items:center;
    gap:8px;
    padding:4px 1px;
    border:0;
    background:transparent;
    color:#466a66;
    font:inherit;
    font-size:12px;
    text-align:left;
    cursor:pointer;
}
.category-detail-filter-option span{width:13px;height:13px;flex:0 0 13px;border:1.5px solid #a8c9c4;border-radius:3px;background:#fff;}
.category-detail-filter-option:hover{color:var(--ocean);}
.category-detail-filter-option.is-active{color:var(--ocean);font-weight:850;}
.category-detail-filter-option.is-active span{border-color:var(--lagoon);background:var(--lagoon);box-shadow:inset 0 0 0 3px #fff;}
.category-results-layout.has-visible-filters .category-products{grid-template-columns:repeat(3,minmax(0,1fr));}

@media(max-width:1024px){
    .category-desktop-filter-toggle,
    .category-desktop-filters{display:none!important;}
    .category-results-layout.has-visible-filters{display:block;}
    #homeCategoryNavigation .submenu .clothing-menu-item,
    #categoryNavigation .submenu .clothing-menu-item{grid-column:1 / -1;}
    #homeCategoryNavigation .clothing-menu-trigger,
    #categoryNavigation .clothing-menu-trigger{min-height:44px;padding:10px 11px;border-radius:11px;background:#fff;color:var(--ocean);font-size:13px;font-weight:800;}
    #homeCategoryNavigation .clothing-menu-trigger:hover,
    #categoryNavigation .clothing-menu-trigger:hover{background:#e4f4f1;color:var(--ocean);}
    #homeCategoryNavigation .clothing-submenu,
    #categoryNavigation .clothing-submenu{
        display:none;
        position:static;
        z-index:auto;
        width:auto;
        max-height:none;
        margin:2px 0 4px 8px;
        padding:3px 0 3px 6px;
        border:0;
        border-left:1px solid #b8dcd6;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }
    #homeCategoryNavigation .clothing-menu-item::after,
    #categoryNavigation .clothing-menu-item::after{display:none;}
    #homeCategoryNavigation .clothing-menu-item:hover .clothing-submenu,
    #categoryNavigation .clothing-menu-item:hover .clothing-submenu{display:none;}
    #homeCategoryNavigation .clothing-menu-item.is-open .clothing-submenu,
    #categoryNavigation .clothing-menu-item.is-open .clothing-submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;}
    #homeCategoryNavigation .clothing-submenu a,
    #categoryNavigation .clothing-submenu a{min-height:38px;padding:8px 9px;font-size:12px;}
    #homeCategoryNavigation .clothing-submenu .clothing-all-link,
    #categoryNavigation .clothing-submenu .clothing-all-link{grid-column:1 / -1;}
}

@media(min-width:1025px) and (max-width:1180px){
    .category-results-layout.has-visible-filters{grid-template-columns:218px minmax(0,1fr);gap:20px;}
    .category-results-layout.has-visible-filters .category-products{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:1024px){
    footer{grid-template-columns:1fr;gap:10px;margin-top:30px;padding:28px 22px 31px}
    footer p{max-width:330px;font-size:12px}
    .footer-links{gap:8px 14px;margin-top:3px;}
    .footer-links a{font-size:11px;}
    footer small{justify-self:start;margin-top:5px}
    footer::before{right:-130px}
}

/* Profils Emlly : une présentation compacte inspirée des profils sociaux. */
.profile-page{max-width:1000px;padding:48px 24px 70px;}
.profile-header{display:grid;grid-template-columns:116px minmax(0,1fr) auto;align-items:start;gap:25px;margin:0 0 26px;padding:0 0 28px;border:0;border-bottom:1px solid #dbe9e7;border-radius:0;background:transparent;}
.profile-avatar-control{position:relative;}
.profile-avatar-button{display:grid;width:116px;gap:7px;padding:0;border:0;background:transparent;color:#587572;font:inherit;font-size:10px;font-weight:800;text-align:center;cursor:pointer;}
.profile-avatar-button:hover .avatar{transform:scale(1.025);box-shadow:0 0 0 4px #d7f1ed,0 8px 20px rgba(7,59,76,.15);}
.profile-header .avatar{display:grid;width:108px;height:108px;place-items:center;overflow:hidden;border:3px solid #fff;border-radius:50%;background:linear-gradient(145deg,#8cddd4,#29aaa9);box-shadow:0 0 0 2px var(--lagoon),0 8px 18px rgba(7,59,76,.12);font-size:42px;transition:.2s ease;}
.profile-header .avatar img{width:100%;height:100%;object-fit:cover;}
.profile-avatar-menu{position:absolute;z-index:30;top:125px;left:0;display:grid;min-width:202px;padding:11px;border:1px solid #d5e6e3;border-radius:14px;background:#fff;box-shadow:0 14px 32px rgba(7,59,76,.16);text-align:left;}
.profile-avatar-menu[hidden]{display:none;}
.profile-avatar-menu strong{padding:2px 8px 7px;color:var(--ocean);font-size:12px;}
.profile-avatar-menu button{padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--ocean);font:inherit;font-size:12px;font-weight:750;text-align:left;cursor:pointer;}
.profile-avatar-menu button:hover{background:#eaf7f4;color:#087f7d;}
.profile-header .user-title{min-width:0;padding-top:5px;}
.profile-header .user-title>.kicker,.profile-header .user-title>#infoEmail{display:none;}
.profile-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;}
.profile-header .user-title h1{margin:0;color:var(--ocean);font-size:27px;line-height:1.15;letter-spacing:-.025em;}
.profile-header-rating{color:#d99115;font-size:16px;letter-spacing:.5px;white-space:nowrap;}
.profile-header-reviews{color:#718783;font-size:11px;font-weight:750;white-space:nowrap;}
.profile-header #profileLocation{margin:8px 0 0;color:#087f7d;font-size:12px;font-weight:800;}
.profile-header .description{max-width:570px;margin:8px 0 0;color:#526e6a;font-size:13px;line-height:1.5;}
.profile-inline-stats{display:flex;flex-wrap:wrap;gap:16px;margin-top:15px;color:#5a7270;font-size:12px;}
.profile-inline-stats strong{margin-right:3px;color:var(--ocean);font-size:14px;}
.profile-actions{display:flex;min-width:150px;gap:7px;padding-top:4px;}
.profile-actions .button{min-height:36px;padding:8px 12px;font-size:11px;}
.profile-actions .logout-button{background:#fff;color:#587572;border:1px solid #d5e5e2;}
.stats{display:none;}
.profile-box{margin-bottom:24px;padding:25px 0;border:0;border-bottom:1px solid #e0ecea;border-radius:0;box-shadow:none;}
.profile-box h2{margin:0 0 18px;color:var(--ocean);font-size:21px;}
.info-grid{gap:10px;}
.info-grid div{padding:14px;border-radius:13px;}
.info-grid b{font-size:11px;}
.info-grid p{margin:5px 0 0;font-size:12px;}
.sales-title{margin-bottom:14px;}
.sales-title .button{min-height:38px;padding:8px 13px;font-size:11px;}
.profile-listings-grid,.public-profile-listings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:0;}
.profile-listings-grid .product,.public-profile-listings-grid .product{min-width:0;border-radius:13px;box-shadow:0 5px 14px rgba(7,59,76,.07);}
.profile-listings-grid .product .image,.public-profile-listings-grid .product .image{height:auto;min-height:0;aspect-ratio:1 / 1;}
.profile-listings-grid .product .image img,.public-profile-listings-grid .product .image img{object-fit:cover;}
.profile-listings-grid .product>div:last-child,.public-profile-listings-grid .product>div:last-child{padding:9px;}
.profile-listings-grid .product p,.public-profile-listings-grid .product p{font-size:9px;}
.profile-listings-grid .product h3,.public-profile-listings-grid .product h3{margin:4px 0;font-size:12px;line-height:1.25;}
.profile-listings-grid .product strong,.public-profile-listings-grid .product strong{font-size:12px;}
.profile-listings-grid .product .listing-date,.public-profile-listings-grid .product .listing-date{font-size:8px;}
.profile-listings-grid .product .listing-actions,.public-profile-listings-grid .product .listing-actions{grid-template-columns:1fr;gap:5px;margin-top:8px;}
.profile-listings-grid .product .listing-actions button,.public-profile-listings-grid .product .listing-actions button{min-height:31px;padding:6px;font-size:9px;}
.public-profile-page{max-width:1000px;padding:38px 24px 72px;}
.public-profile-card{grid-template-columns:104px minmax(0,1fr) auto;gap:22px;padding:0 0 27px;border:0;border-bottom:1px solid #dbe9e7;border-radius:0;background:transparent;box-shadow:none;}
.public-profile-avatar{width:96px;height:96px;margin:0;border:3px solid #fff;box-shadow:0 0 0 2px var(--lagoon),0 8px 18px rgba(7,59,76,.12);font-size:30px;}
.public-profile-copy .kicker{display:none;}
.public-profile-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;}
.public-profile-copy h1{font-size:26px;letter-spacing:-.025em;}
.public-profile-inline-rating{color:#d99115;font-size:16px;letter-spacing:.5px;white-space:nowrap;}
.public-profile-review-count{color:#718783;font-size:11px;font-weight:750;white-space:nowrap;}
.public-profile-location{margin:8px 0 0;font-size:12px;}
.public-profile-description{margin:8px 0;font-size:13px;line-height:1.5;}
.public-profile-contact{margin-top:11px;}
.public-profile-stats{display:block;}
.public-profile-stat{min-width:105px;padding:13px 10px;border-radius:13px;}
.public-profile-stat strong{font-size:24px;}
.public-profile-listings{margin-top:28px;}

@media(max-width:1024px){
  .profile-page{padding:30px 16px 52px;}
  .profile-header{grid-template-columns:84px minmax(0,1fr);gap:15px;padding-bottom:22px;}
  .profile-avatar-button{width:84px;font-size:9px;}
  .profile-header .avatar{width:78px;height:78px;font-size:31px;}
  .profile-avatar-menu{top:93px;left:-2px;min-width:190px;}
  .profile-header .user-title{padding-top:1px;text-align:left;}
  .profile-header .user-title h1{font-size:21px;}
  .profile-header-rating{font-size:14px;}
  .profile-header-reviews{font-size:10px;}
  .profile-header .description{font-size:12px;}
  .profile-inline-stats{gap:10px;margin-top:11px;font-size:10px;}
  .profile-inline-stats strong{font-size:12px;}
  .profile-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;min-width:0;padding-top:0;}
  .profile-actions .button{width:100%;margin:0 !important;}
  .profile-box{padding:22px 0;}
  .info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .sales-title{align-items:center;flex-direction:row;gap:10px;}
  .sales-title h2{margin:0;font-size:19px;}
  .profile-listings-grid,.public-profile-listings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
  .profile-listings-grid .product,.public-profile-listings-grid .product{border-radius:9px;}
  .profile-listings-grid .product>div:last-child,.public-profile-listings-grid .product>div:last-child{padding:7px;}
  .profile-listings-grid .product h3,.public-profile-listings-grid .product h3{font-size:10px;}
  .profile-listings-grid .product strong,.public-profile-listings-grid .product strong{font-size:10px;}
  .profile-listings-grid .product .listing-actions button,.public-profile-listings-grid .product .listing-actions button{min-height:27px;font-size:8px;}
  .public-profile-page{padding:25px 16px 48px;}
  .public-profile-card{grid-template-columns:82px minmax(0,1fr);gap:15px;padding-bottom:22px;text-align:left;}
  .public-profile-avatar{width:76px;height:76px;font-size:25px;}
  .public-profile-copy h1{font-size:21px;}
  .public-profile-inline-rating{font-size:14px;}
  .public-profile-review-count{font-size:10px;}
  .public-profile-description{font-size:12px;}
  .public-profile-contact{justify-content:flex-start;}
  .public-profile-stats{grid-column:1 / -1;width:auto;max-width:none;margin:0;}
  .public-profile-stat{width:max-content;margin:0;padding:10px 13px;}
}

@media(max-width:390px){
  .profile-header{grid-template-columns:74px minmax(0,1fr);gap:11px;}
  .profile-avatar-button{width:74px;}
  .profile-header .avatar{width:69px;height:69px;}
  .profile-header .user-title h1{font-size:19px;}
  .profile-header-rating{font-size:12px;}
  .profile-inline-stats{gap:7px;font-size:9px;}
  .profile-listings-grid .product h3,.public-profile-listings-grid .product h3{font-size:9px;}
}

/* Ajustements de finition : profil lisible sur téléphone et menu principal compact. */
.profile-avatar-menu strong{
    display:block;
    margin:1px 2px 8px;
    padding:8px 9px;
    border-radius:9px;
    background:#e3f6f2;
    color:#087f7d;
    font-size:11px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.navbar .messages-button,
.navbar .offers-button{
    min-height:42px;
    align-items:center;
    line-height:1;
}

.profile-actions .admin-profile-link{
    min-height:28px;
    align-self:flex-end;
    justify-content:flex-end;
    margin:2px 0 0;
    padding:0 4px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#087f7d;
    font-size:10px;
    font-weight:850;
    text-decoration:underline;
    text-decoration-color:#a9dcd6;
    text-underline-offset:4px;
}

.profile-actions .admin-profile-link::before{
    content:"⚙ ";
}

.profile-actions .admin-profile-link:hover{
    background:transparent;
    color:var(--ocean);
    transform:none;
}

.profile-actions .logout-button{
    margin-top:2px;
}

.mobile-nav-toggle,
.mobile-nav-panel{
    display:none;
}

.mobile-bottom-nav,
.mobile-bottom-search{
    display:none;
}

@media(max-width:1024px){
    body>header{
        position:relative;
        z-index:1100;
    }

    .topbar{
        padding:7px 14px;
        font-size:10px;
        letter-spacing:.055em;
    }

    .navbar{
        height:64px;
        min-height:64px;
        gap:8px;
        padding:0 14px;
    }

    .navbar .logo{
        display:inline-flex;
        align-items:center;
        margin-right:auto;
        font-size:23px;
        letter-spacing:-1.6px;
        white-space:nowrap;
    }

    .navbar .logo span{
        width:29px;
        height:29px;
        margin-right:3px;
        font-size:16px;
    }

    .navbar>.nav-search,
    .navbar>.forgot-password,
    .navbar>.links,
    .navbar>.messages-button,
    .navbar>.offers-button,
    .navbar>.profile-button,
    .navbar>.sell-button{
        display:none !important;
    }

    .mobile-nav-toggle{
        display:inline-flex;
        min-height:40px;
        align-items:center;
        justify-content:center;
        gap:6px;
        padding:0 11px;
        border:1px solid #c9e0dc;
        border-radius:11px;
        background:#f7fbfa;
        color:var(--ocean);
        font:inherit;
        font-size:12px;
        font-weight:850;
        cursor:pointer;
    }

    .mobile-nav-toggle span:first-child{
        color:var(--lagoon);
        font-size:18px;
        line-height:1;
    }

    .mobile-nav-panel{
        position:absolute;
        z-index:1101;
        top:calc(100% + 8px);
        right:12px;
        left:12px;
        grid-template-columns:1fr;
        gap:7px;
        padding:10px;
        border:1px solid #cce3df;
        border-radius:16px;
        background:#fff;
        box-shadow:0 16px 38px rgba(7,59,76,.18);
    }

    .mobile-nav-panel.is-open{
        display:grid;
    }

    .mobile-nav-panel a,
    .mobile-nav-panel button{
        display:flex;
        min-height:43px;
        align-items:center;
        justify-content:center;
        padding:8px 10px;
        border:1px solid #d8e9e6;
        border-radius:10px;
        background:#f8fcfb;
        color:var(--ocean);
        font:inherit;
        font-size:12px;
        font-weight:800;
        line-height:1.2;
        text-align:center;
        cursor:pointer;
    }

    .mobile-nav-panel a:first-child,
    .mobile-nav-panel a:nth-child(2){
        background:#eaf7f4;
    }

    .mobile-nav-panel .mobile-nav-sell{
        grid-column:1 / -1;
        border-color:var(--ocean);
        background:var(--ocean);
        color:#fff;
    }

    .profile-page{
        padding:30px 16px 52px;
    }

    .profile-header .user-title h1,
    .public-profile-copy h1{
        font-size:24px;
    }

    .profile-avatar-button{
        font-size:11px;
    }

    .profile-header-rating,
    .public-profile-inline-rating{
        font-size:15px;
    }

    .profile-header-reviews,
    .public-profile-review-count{
        font-size:12px;
    }

    .profile-header #profileLocation,
    .public-profile-location{
        font-size:13px;
    }

    .profile-header .description,
    .public-profile-description{
        font-size:14px;
        line-height:1.5;
    }

    .profile-inline-stats{
        gap:12px;
        font-size:13px;
    }

    .profile-inline-stats strong{
        font-size:15px;
    }

    .profile-actions{
        grid-template-columns:1fr;
        gap:8px;
    }

    .profile-actions .button{
        min-height:42px;
        font-size:14px;
    }

    .profile-actions .admin-profile-link{
        min-height:25px;
        justify-self:end;
        font-size:11px;
    }

    .profile-box h2{
        font-size:23px;
    }

    .info-grid b{
        font-size:13px;
    }

    .info-grid p{
        font-size:15px;
    }

    .profile-listings-grid .product p,
    .public-profile-listings-grid .product p{
        font-size:11px;
    }

    .profile-listings-grid .product h3,
    .public-profile-listings-grid .product h3{
        font-size:12px;
    }

    .profile-listings-grid .product strong,
    .public-profile-listings-grid .product strong{
        font-size:13px;
    }

    .profile-listings-grid .product .listing-actions button,
    .public-profile-listings-grid .product .listing-actions button{
        min-height:32px;
        font-size:10px;
    }

    body.home-page .navbar{
        gap:6px;
        padding:0 10px;
    }

    body.home-page .navbar .logo{
        margin-right:0;
        font-size:21px;
    }

    body.home-page .navbar .logo span{
        width:27px;
        height:27px;
        font-size:15px;
    }

    body.home-page .mobile-nav-toggle{
        min-width:40px;
        padding:0 8px;
    }
}

@media(max-width:390px){
    body.home-page .mobile-nav-toggle span:last-child{
        display:none;
    }
}

@media(max-width:390px){
    .mobile-nav-toggle{padding:0 9px;}
    .profile-header .user-title h1,
    .public-profile-copy h1{font-size:21px;}
    .profile-header .description,
    .public-profile-description{font-size:13px;}
}

/* Messagerie mobile : la liste et le fil de discussion s'ouvrent comme deux vues distinctes. */
.mobile-thread-back{display:none;}

/* Une séparation douce distingue clairement la recherche de la navigation.
   Elle est partagée par toutes les pages : accueil, catégories, annonces et profil. */
body>header{
    position:relative;
    border-bottom:1px solid #cfe3df;
    box-shadow:0 4px 14px rgba(7,59,76,.06);
}

body>header::after{
    content:"";
    position:absolute;
    right:0;
    bottom:-2px;
    left:0;
    height:3px;
    background:linear-gradient(90deg,#9bddd5 0%,var(--lagoon) 18%,#1f7182 50%,var(--lagoon) 82%,#9bddd5 100%);
}

@media(min-width:1025px){
    body>header{
        position:relative;
        z-index:1100;
    }

    .profile-header{
        grid-template-columns:124px minmax(0,1fr) auto;
        column-gap:38px;
    }

    .public-profile-card{
        grid-template-columns:116px minmax(0,1fr) auto;
        column-gap:36px;
    }

    .navbar{
        gap:14px;
    }

    .navbar .nav-search{
        max-width:min(34vw,430px);
    }

    .navbar>.forgot-password,
    .navbar>.messages-button,
    .navbar>.offers-button,
    .navbar>.profile-button,
    .navbar>.sell-button{
        display:none !important;
    }

    /* Les liens de découverte restent accessibles dans la barre, hors Menu. */
    .navbar>.links{
        display:flex !important;
        margin-left:0;
        gap:16px;
        white-space:nowrap;
    }

    .navbar>.sell-button{
        display:inline-flex !important;
        min-height:42px;
        padding:0 13px;
        border-radius:12px;
        font-size:13px;
    }

    .mobile-nav-toggle{
        display:inline-flex;
        min-height:42px;
        align-items:center;
        justify-content:center;
        gap:7px;
        padding:0 13px;
        border:1px solid #c9e0dc;
        border-radius:12px;
        background:#f7fbfa;
        color:var(--ocean);
        font:inherit;
        font-size:13px;
        font-weight:850;
        cursor:pointer;
    }

    .mobile-nav-toggle span:first-child{
        color:var(--lagoon);
        font-size:19px;
        line-height:1;
    }

    .mobile-nav-panel{
        position:absolute;
        z-index:1101;
        top:calc(100% + 8px);
        right:max(24px,calc((100vw - 1184px) / 2));
        display:grid;
        width:min(285px,calc(100vw - 48px));
        grid-template-columns:1fr;
        gap:7px;
        padding:10px;
        border:1px solid #cce3df;
        border-radius:16px;
        background:#fff;
        box-shadow:0 16px 38px rgba(7,59,76,.18);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
    }

    .mobile-nav-panel.is-open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .mobile-nav-toggle{
        transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
    }

    .mobile-nav-toggle:hover,
    .mobile-nav-toggle[aria-expanded="true"]{
        border-color:var(--lagoon);
        background:#eaf7f4;
        box-shadow:0 7px 16px rgba(7,59,76,.12);
        transform:translateY(-1px);
    }

    .mobile-nav-panel a,
    .mobile-nav-panel button{
        display:flex;
        min-height:43px;
        align-items:center;
        justify-content:center;
        padding:8px 12px;
        border:1px solid #d8e9e6;
        border-radius:10px;
        background:#f8fcfb;
        color:var(--ocean);
        font:inherit;
        font-size:13px;
        font-weight:800;
        line-height:1.2;
        text-align:center;
        cursor:pointer;
    }

    .mobile-nav-panel a:first-child,
    .mobile-nav-panel a:nth-child(2){background:#eaf7f4;}

    .mobile-nav-panel .mobile-nav-sell{
        border-color:var(--ocean);
        background:var(--ocean);
        color:#fff;
    }

    .mobile-nav-panel .mobile-nav-sell{display:none;}
}

.mobile-nav-toggle{position:relative;}

.mobile-nav-badge{
    display:inline-grid;
    min-width:18px;
    height:18px;
    padding:0 5px;
    place-items:center;
    border-radius:999px;
    background:#d94841;
    color:#fff;
    font-size:10px;
    font-weight:900;
    line-height:1;
}

.mobile-nav-toggle>.mobile-nav-badge{
    position:absolute;
    top:-7px;
    right:-7px;
}

.mobile-nav-panel .mobile-nav-alert,
.mobile-nav-panel .mobile-nav-alert:link,
.mobile-nav-panel .mobile-nav-alert:visited,
.mobile-nav-panel .mobile-nav-alert:hover,
.mobile-nav-panel .mobile-nav-alert:active,
.mobile-nav-panel .mobile-nav-alert:focus-visible{
    justify-content:space-between;
    border-color:var(--ocean);
    background:var(--ocean);
    color:#fff;
    text-align:left;
    transform:none;
}

.mobile-nav-panel .mobile-nav-alert:focus-visible{
    outline:2px solid #8fded5;
    outline-offset:2px;
}

/* Toute la carte est une zone de clic, y compris autour du texte et du badge. */
.mobile-nav-panel > a,
.mobile-nav-panel > button{
    width:100%;
    box-sizing:border-box;
    cursor:pointer;
    touch-action:manipulation;
}

.mobile-nav-panel > a > *,
.mobile-nav-panel > button > *{
    pointer-events:none;
}

.mobile-nav-panel .mobile-nav-logout{
    border-color:#f0c5c0;
    background:#fff7f6;
    color:#b34239;
}

.mobile-nav-panel .mobile-nav-logout:hover,
.mobile-nav-panel .mobile-nav-logout:focus-visible{
    border-color:#e8958d;
    background:#fee8e5;
    color:#9d3029;
}

/* Pages de contact et d'avis : sobres, accessibles et identiques sur téléphone, tablette et ordinateur. */
.support-page{max-width:980px;margin:0 auto;padding:46px 24px 78px;}
.support-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:26px;color:#087f7d;font-size:13px;font-weight:850;text-decoration:none;}
.support-back:hover{text-decoration:underline;text-underline-offset:3px;}
.support-hero{max-width:690px;margin-bottom:28px;}
.support-kicker{margin:0 0 8px;color:#087f7d;font-size:11px;font-weight:900;letter-spacing:.11em;}
.support-hero h1{margin:0;color:var(--ocean);font-size:42px;line-height:1.08;}
.support-hero p:last-child{margin:13px 0 0;color:#60777d;font-size:15px;line-height:1.65;}
.support-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:24px;align-items:start;}
.support-card,.support-aside{border:1px solid #d8e9e6;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(7,59,76,.07);}
.support-card{padding:28px;}
.support-card h2,.support-aside h2{margin:0 0 8px;color:var(--ocean);font-size:23px;line-height:1.2;}
.support-card>p,.support-aside p{margin:0;color:#60777d;font-size:13px;line-height:1.55;}
.support-form{display:grid;gap:16px;margin-top:24px;}
.support-field{display:grid;gap:7px;}
.support-field label,.support-form legend{color:var(--ocean);font-size:12px;font-weight:850;}
.support-field input,.support-field textarea,.support-field select{width:100%;border:1px solid #cfe2de;border-radius:11px;background:#fbfefd;color:var(--ocean);font:inherit;font-size:14px;outline:0;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.support-field input,.support-field select{min-height:45px;padding:11px 12px;}
.support-field textarea{min-height:148px;padding:12px;line-height:1.55;resize:vertical;}
.support-field input:focus,.support-field textarea:focus,.support-field select:focus{border-color:var(--lagoon);background:#fff;box-shadow:0 0 0 3px rgba(25,188,179,.16);}
.support-field small{color:#718783;font-size:11px;line-height:1.4;}
.support-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.support-submit{justify-self:start;min-height:46px;padding:0 18px;}
.support-status{min-height:20px;margin:0;color:#087f7d;font-size:12px;font-weight:750;line-height:1.45;}
.support-status.is-error{color:#b34239;}
.support-aside{padding:23px;background:linear-gradient(145deg,#f4fbf9,#eaf7f4);}
.support-aside h2{font-size:19px;}
.support-aside ul{display:grid;gap:11px;margin:18px 0 0;padding:0;list-style:none;}
.support-aside li{position:relative;padding-left:19px;color:#55716e;font-size:12px;line-height:1.5;}
.support-aside li::before{content:"✓";position:absolute;left:0;color:#087f7d;font-weight:900;}
.support-direct-email{display:inline-flex;margin-top:16px;color:#087f7d;font-size:12px;font-weight:850;text-decoration:underline;text-underline-offset:3px;}
.rating-fieldset{margin:0;padding:0;border:0;}
.rating-options{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px;margin-top:8px;}
.rating-options input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
.rating-options label{color:#c9d8d5;font-size:34px;line-height:1;cursor:pointer;transition:transform .16s ease,color .16s ease;}
.rating-options label:hover,.rating-options label:hover~label,.rating-options input:checked~label{color:#eca632;}
.rating-options label:hover{transform:translateY(-2px);}
.rating-options input:focus-visible+label{outline:2px solid var(--lagoon);outline-offset:3px;border-radius:6px;}
.support-consent{display:flex;gap:9px;align-items:flex-start;color:#60777d;font-size:11px;line-height:1.45;}
.support-consent input{width:16px;height:16px;margin:0;accent-color:#087f7d;}

@media(max-width:720px){
    .support-page{padding:30px 16px 52px;}
    .support-back{margin-bottom:19px;}
    .support-hero{margin-bottom:22px;}
    .support-hero h1{font-size:31px;}
    .support-hero p:last-child{font-size:13px;}
    .support-layout{grid-template-columns:1fr;gap:16px;}
    .support-card,.support-aside{padding:21px 17px;border-radius:16px;}
    .support-card h2{font-size:20px;}
    .support-form-row{grid-template-columns:1fr;gap:16px;}
    .support-submit{width:100%;}
}

@media(min-width:1025px){
    .profile-header .user-title h1,
    .public-profile-copy h1{
        font-size:32px;
    }

    .profile-header-rating,
    .public-profile-inline-rating{
        font-size:18px;
    }

    .profile-header-reviews,
    .public-profile-review-count{
        font-size:12px;
    }

    .profile-header #profileLocation,
    .public-profile-location{
        font-size:14px;
    }

    .profile-header .description,
    .public-profile-description{
        font-size:15px;
        line-height:1.6;
    }

    .profile-inline-stats{
        gap:19px;
        font-size:13px;
    }

    .profile-inline-stats strong{
        font-size:16px;
    }

    .profile-actions .button{
        min-height:40px;
        font-size:13px;
    }

    .profile-box h2{
        font-size:25px;
    }

    .info-grid b{
        font-size:12px;
    }

    .info-grid p{
        font-size:14px;
    }

    .profile-listings-grid .product p,
    .public-profile-listings-grid .product p{
        font-size:11px;
    }

    .profile-listings-grid .product h3,
    .public-profile-listings-grid .product h3{
        font-size:14px;
    }

    .profile-listings-grid .product strong,
    .public-profile-listings-grid .product strong{
        font-size:14px;
    }

    .profile-listings-grid .product .listing-actions button,
    .public-profile-listings-grid .product .listing-actions button{
        min-height:34px;
        font-size:10px;
    }
}

@media(max-width:1024px){
    .profile-header{column-gap:19px;}
    .public-profile-card{column-gap:19px;}

    body.messenger-mobile-thread-open{overflow:hidden;}

    .messenger-page{
        min-height:calc(100dvh - 96px);
        padding:22px 0 38px;
    }

    .messenger-heading{
        margin:0 0 15px;
        padding:0 16px;
    }

    .messenger-heading h1{font-size:27px;}
    .messenger-heading p:last-child{font-size:14px;line-height:1.45;}

    .messenger-shell{
        display:block;
        height:calc(100dvh - 240px);
        min-height:460px;
        overflow:hidden;
        border-right:0;
        border-left:0;
        border-radius:0;
    }

    .messenger-sidebar{
        height:100%;
        border:0;
    }

    .messenger-sidebar-top{
        padding:17px 16px 13px;
    }

    .messenger-sidebar-top h2{
        margin-bottom:12px;
        font-size:20px;
    }

    .messenger-sidebar-top input{height:43px;font-size:14px;}

    .messenger-conversation-list{
        display:block;
        overflow-x:hidden;
        overflow-y:auto;
    }

    .messenger-conversation{
        min-width:0;
        border-right:0;
        border-bottom:1px solid #e4efed;
    }

    .messenger-conversation-open{
        gap:12px;
        padding:16px 7px 16px 16px;
    }

    .messenger-avatar{width:43px;height:43px;flex-basis:43px;font-size:16px;}
    .messenger-conversation-copy strong{font-size:15px;}
    .messenger-conversation-copy b{font-size:13px;}
    .messenger-conversation-copy small{font-size:12px;}
    .conversation-row-actions{margin-top:16px;}

    .messenger-thread{display:none;height:100%;}

    .messenger-shell.mobile-thread-open{
        position:fixed;
        z-index:1200;
        inset:0;
        display:block;
        width:100%;
        height:100dvh;
        min-height:0;
        max-width:none;
        margin:0;
        border:0;
        border-radius:0;
        box-shadow:none;
    }

    .messenger-shell.mobile-thread-open .messenger-sidebar{display:none;}
    .messenger-shell.mobile-thread-open .messenger-thread{display:flex;height:100dvh;}

    .messenger-shell.mobile-thread-open .messenger-thread-header{
        min-height:66px;
        gap:10px;
        padding:10px 14px;
    }

    .mobile-thread-back{
        display:grid;
        width:38px;
        height:38px;
        flex:0 0 38px;
        place-items:center;
        padding:0;
        border:0;
        border-radius:50%;
        background:#edf7f5;
        color:var(--ocean);
        font-size:33px;
        font-weight:400;
        line-height:1;
        cursor:pointer;
    }

    .messenger-shell.mobile-thread-open .thread-seller{gap:9px;min-width:0;}
    .messenger-shell.mobile-thread-open .thread-seller .messenger-avatar{width:38px;height:38px;flex-basis:38px;font-size:14px;}
    .messenger-shell.mobile-thread-open .thread-seller h2{font-size:17px;}
    .messenger-shell.mobile-thread-open .thread-seller small{margin-top:1px;font-size:11px;}
    .messenger-shell.mobile-thread-open .thread-listing-context{display:none;}

    .messenger-shell.mobile-thread-open .messenger-thread-messages{
        min-height:0;
        padding:18px 14px;
    }

    .messenger-shell.mobile-thread-open .messenger-message p{
        max-width:84%;
        padding:11px 13px;
        font-size:15px;
    }

    .messenger-shell.mobile-thread-open .message-quick-replies{padding:9px 12px;}
    .messenger-shell.mobile-thread-open .message-quick-replies button{min-height:46px;font-size:14px;}

    .messenger-shell.mobile-thread-open .messenger-compose{
        padding:11px 12px calc(11px + env(safe-area-inset-bottom));
    }

    .messenger-shell.mobile-thread-open .messenger-compose input,
    .messenger-shell.mobile-thread-open .messenger-compose button{
        height:46px;
        font-size:14px;
    }
}

/* Barre principale : recherche, Vendre et Menu restent toujours dans cet ordre. */
@media(max-width:1024px){
    .navbar{
        gap:6px;
        padding:0 10px;
    }

    .navbar .logo{
        margin-right:0;
        font-size:20px;
        letter-spacing:-1.4px;
    }

    .navbar .logo span{
        width:26px;
        height:26px;
        font-size:14px;
    }

    .navbar>.nav-search{
        display:flex !important;
        min-width:0;
        max-width:none;
        height:36px;
        flex:1 1 0;
        gap:4px;
        padding:0 9px;
        border-radius:11px;
        font-size:13px;
    }

    .navbar>.nav-search input{
        min-width:0;
        font-size:12px;
    }

    .navbar>.sell-button{
        display:inline-flex !important;
        min-height:34px;
        height:34px;
        padding:0 8px;
        border-radius:10px;
        font-size:10px;
        letter-spacing:0;
    }

    .mobile-nav-toggle{
        min-width:40px;
        min-height:36px;
        padding:0 8px;
        border-radius:10px;
        font-size:11px;
    }
}

@media(min-width:1025px){
    .navbar>.nav-search{flex:1 1 260px;}

    .navbar>.sell-button{
        margin-left:auto;
    }

    .navbar>.sell-button+
    .mobile-nav-toggle{
        margin-left:8px;
    }

    .navbar>.sell-button{
        min-height:38px;
        height:38px;
        padding:0 10px;
        border-radius:10px;
        font-size:11px;
    }

    .mobile-nav-toggle{
        min-height:38px;
        padding:0 10px;
        border-radius:10px;
        font-size:12px;
    }
}

/* Navigation mobile : une barre fixe, compacte et pensée comme une app. */
@media(max-width:1024px){
    body.mobile-bottom-navigation-enabled{
        padding-bottom:100px;
    }

    .mobile-bottom-navigation-enabled .navbar{
        height:56px;
        min-height:56px;
        padding:0 16px;
    }

    .mobile-bottom-navigation-enabled .navbar .logo{
        margin-right:auto;
    }

    .mobile-bottom-navigation-enabled .navbar>.nav-search,
    .mobile-bottom-navigation-enabled .navbar>.links,
    .mobile-bottom-navigation-enabled .navbar>.messages-button,
    .mobile-bottom-navigation-enabled .navbar>.offers-button,
    .mobile-bottom-navigation-enabled .navbar>.profile-button,
    .mobile-bottom-navigation-enabled .navbar>.sell-button,
    .mobile-bottom-navigation-enabled .mobile-nav-toggle,
    .mobile-bottom-navigation-enabled .mobile-nav-panel{
        display:none !important;
    }

    .mobile-bottom-nav{
        position:fixed;
        z-index:900;
        right:0;
        bottom:0;
        left:0;
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
        min-height:82px;
        padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
        border-top:1px solid #d7e9e5;
        background:rgba(255,255,255,.96);
        box-shadow:0 -8px 26px rgba(7,59,76,.12);
        backdrop-filter:blur(14px);
    }

    .mobile-bottom-item{
        position:relative;
        display:flex;
        min-width:0;
        min-height:66px;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:0;
        padding:2px 1px;
        border:0;
        border-radius:12px;
        background:transparent;
        color:#52706d;
        font:inherit;
        font-size:10px;
        font-weight:800;
        line-height:1;
        text-align:center;
        text-decoration:none;
        cursor:pointer;
        -webkit-tap-highlight-color:transparent;
        touch-action:manipulation;
    }

    .mobile-bottom-item svg{
        width:30px;
        height:30px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.9;
        stroke-linecap:round;
        stroke-linejoin:round;
        pointer-events:none;
    }

    .mobile-bottom-item:hover,
    .mobile-bottom-item:focus-visible{
        outline:none;
        background:#edf8f6;
        color:var(--ocean);
    }

    .mobile-bottom-item:active{
        transform:scale(.96);
    }

    .mobile-bottom-sell{
        color:var(--ocean);
    }

    .mobile-bottom-sell b{
        display:grid;
        width:56px;
        height:56px;
        margin-top:-12px;
        place-items:center;
        border:4px solid #fff;
        border-radius:50%;
        background:var(--lagoon);
        box-shadow:0 7px 17px rgba(13,147,140,.28);
        color:#fff;
        font-size:36px;
        font-weight:500;
        line-height:1;
        pointer-events:none;
    }

    .mobile-bottom-badge{
        position:absolute;
        top:2px;
        right:calc(50% - 28px);
        display:grid;
        min-width:18px;
        height:18px;
        padding:0 4px;
        place-items:center;
        border:2px solid #fff;
        border-radius:999px;
        background:var(--ocean);
        color:#fff;
        font-size:9px;
        font-weight:900;
        line-height:1;
        pointer-events:none;
    }

    .mobile-bottom-search{
        position:fixed;
        z-index:901;
        right:12px;
        bottom:96px;
        left:12px;
        align-items:center;
        gap:8px;
        min-height:54px;
        padding:0 10px 0 14px;
        border:1px solid #b9dbd5;
        border-radius:17px;
        background:#fff;
        box-shadow:0 14px 34px rgba(7,59,76,.2);
    }

    .mobile-bottom-search:not([hidden]){
        display:flex;
    }

    .mobile-bottom-search svg{
        width:20px;
        height:20px;
        flex:0 0 auto;
        fill:none;
        stroke:var(--lagoon);
        stroke-width:2;
        stroke-linecap:round;
    }

    .mobile-bottom-search input{
        min-width:0;
        color:var(--ocean);
        /* 16 px évite le zoom automatique d’iOS au moment de la saisie. */
        font-size:16px;
    }

    .mobile-bottom-search button{
        display:grid;
        width:30px;
        height:30px;
        flex:0 0 auto;
        place-items:center;
        border:0;
        border-radius:9px;
        background:#edf8f6;
        color:var(--ocean);
        font-size:21px;
        cursor:pointer;
    }

    .mobile-bottom-navigation-enabled .messenger-page{
        padding-bottom:126px;
    }

    .mobile-bottom-navigation-enabled .messenger-shell.mobile-thread-open{
        z-index:1200;
    }
}

/* Filtres de la page Catégories : panneau tactile réservé au téléphone. */
.mobile-category-filter-toggle,
.category-mobile-filter-overlay,
.category-mobile-filters{
    display:none;
}

.category-results-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

@media(max-width:1024px){
    .category-results-heading{
        align-items:center;
        flex-direction:row;
    }

    .category-results-actions{
        width:100%;
    }

    .category-results-actions #categorySort{
        display:none;
    }

    .mobile-category-filter-toggle{
        position:relative;
        display:inline-flex;
        width:100%;
        min-height:46px;
        align-items:center;
        justify-content:center;
        gap:7px;
        border:1px solid #b9dad5;
        border-radius:13px;
        background:#fff;
        color:var(--ocean);
        font:inherit;
        font-size:14px;
        font-weight:850;
        cursor:pointer;
        touch-action:manipulation;
    }

    .mobile-category-filter-toggle span{
        color:var(--lagoon);
        font-size:20px;
        line-height:1;
    }

    .mobile-category-filter-toggle b{
        display:grid;
        min-width:18px;
        height:18px;
        place-items:center;
        border-radius:999px;
        background:var(--ocean);
        color:#fff;
        font-size:9px;
        line-height:1;
    }

    .mobile-category-filter-toggle b[hidden]{display:none;}

    .category-mobile-filter-overlay:not([hidden]){
        position:fixed;
        z-index:1250;
        inset:0;
        display:block;
        background:rgba(7,59,76,.42);
        backdrop-filter:blur(2px);
    }

    .category-mobile-filters:not([hidden]){
        position:fixed;
        z-index:1251;
        right:0;
        bottom:0;
        left:0;
        display:grid;
        grid-template-columns:1fr;
        gap:14px;
        max-height:calc(100dvh - 84px);
        overflow:auto;
        padding:22px 18px calc(22px + env(safe-area-inset-bottom));
        border-radius:24px 24px 0 0;
        background:#fff;
        box-shadow:0 -18px 50px rgba(7,59,76,.22);
    }

    .category-mobile-filters-header{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:15px;
    }

    .category-mobile-filters-header .kicker{
        margin:0;
        font-size:10px;
    }

    .category-mobile-filters-header h2{
        margin:4px 0 0;
        color:var(--ocean);
        font-size:25px;
    }

    .category-mobile-filters-header button{
        display:grid;
        width:38px;
        height:38px;
        place-items:center;
        border:0;
        border-radius:12px;
        background:#edf8f6;
        color:var(--ocean);
        font-size:27px;
        cursor:pointer;
    }

    .category-mobile-filters>label,
    .category-mobile-filters fieldset>legend{
        margin:4px 0 -6px;
        padding:0;
        color:var(--ocean);
        font-size:13px;
        font-weight:850;
    }

    .category-mobile-filters>select,
    .category-mobile-filters input{
        box-sizing:border-box;
        width:100%;
        min-height:47px;
        padding:0 12px;
        border:1px solid #c9e0dc;
        border-radius:12px;
        background:#fbfefd;
        color:var(--ocean);
        font:inherit;
        font-size:16px;
    }

    .category-mobile-filters fieldset{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px;
        margin:0;
        padding:0;
        border:0;
    }

    .category-mobile-filters fieldset>legend{
        grid-column:1 / -1;
    }

    .category-mobile-filters fieldset label{
        display:block;
        margin:0 0 6px;
        color:#66807d;
        font-size:11px;
        font-weight:750;
    }

    .category-mobile-filters-actions{
        display:grid;
        grid-template-columns:1fr 1.6fr;
        gap:9px;
        padding-top:4px;
    }

    .category-mobile-filters-actions button{
        min-height:48px;
        border-radius:13px;
        font:inherit;
        font-size:13px;
        font-weight:850;
        cursor:pointer;
    }

    #categoryMobileFiltersReset{
        border:1px solid #c6ddda;
        background:#fff;
        color:var(--ocean);
    }

    #categoryMobileFiltersApply{
        border:1px solid var(--ocean);
        background:var(--ocean);
        color:#fff;
    }

    body.category-mobile-filters-open{overflow:hidden;}

    .profile-header .profile-actions{
        margin-top:18px;
        padding-top:14px;
        row-gap:12px;
    }
}

@media(min-width:1025px){
    .profile-header .profile-actions{
        margin-left:28px;
        padding-top:10px;
        gap:12px;
    }
}

/* Page complète des offres, notamment ouverte depuis Messages sur téléphone. */
.offers-page{
    min-height:calc(100vh - 180px);
    padding:52px max(24px,calc((100% - 860px) / 2)) 82px;
    background:linear-gradient(180deg,#f5fbfa 0,#fff 310px);
}

.offers-page-heading{
    margin:0 auto 26px;
}

.offers-back-link{
    display:inline-flex;
    margin-bottom:20px;
    color:#087f7d;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.offers-back-link:hover{text-decoration:underline;}

.offers-page-heading .kicker{margin:0;}

.offers-page-heading h1{
    margin:5px 0 9px;
    color:var(--ocean);
    font-size:clamp(30px,4vw,42px);
    letter-spacing:-.03em;
}

.offers-page-heading>p:last-child{
    margin:0;
    color:var(--gray);
    font-size:15px;
    line-height:1.55;
}

/* Centre des offres : deux boîtes séparées, avec un rafraîchissement visible. */
.offers-page-title-row{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
}

.offers-refresh-button{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:0 14px;
    border:1px solid #bdded9;
    border-radius:13px;
    background:#fff;
    color:var(--ocean);
    box-shadow:0 5px 14px rgba(7,59,76,.06);
    font:inherit;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
    transition:transform .18s ease,background .18s ease,border-color .18s ease;
}

.offers-refresh-button:hover:not(:disabled){
    transform:translateY(-1px);
    border-color:var(--lagoon);
    background:#effaf8;
}

.offers-refresh-button:disabled{opacity:.72;cursor:wait;}
.offers-refresh-icon{font-size:19px;line-height:1;}
.offers-refresh-button.is-loading .offers-refresh-icon{animation:offers-spin .8s linear infinite;}

.offers-sync-status{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:13px 0 0;
    color:#6b8582;
    font-size:11px;
    font-weight:750;
}

.offers-sync-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#54bdb3;
    box-shadow:0 0 0 4px rgba(84,189,179,.12);
}

.offers-sync-status[data-state="loading"] .offers-sync-dot{animation:offers-pulse 1s ease-in-out infinite;}
.offers-sync-status[data-state="error"]{color:#b45b53;}
.offers-sync-status[data-state="error"] .offers-sync-dot{background:#d9786e;box-shadow:0 0 0 4px rgba(217,120,110,.12);}

.offers-page-tabs{
    display:inline-flex;
    align-items:center;
    gap:4px;
    max-width:760px;
    margin:0 auto 16px;
    padding:4px;
    border:1px solid #dcebe8;
    border-radius:15px;
    background:rgba(255,255,255,.82);
    box-shadow:0 8px 20px rgba(7,59,76,.045);
}

.offers-page-tab{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:39px;
    padding:0 14px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#607a78;
    font:inherit;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
    transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}

.offers-page-tab:hover{color:var(--ocean);background:#f1f8f7;}
.offers-page-tab.is-active{background:var(--ocean);color:#fff;box-shadow:0 5px 12px rgba(7,59,76,.17);}
.offers-tab-count{display:grid;min-width:18px;height:18px;padding:0 5px;place-items:center;border-radius:999px;background:#fff3dc;color:#8c6426;font-size:10px;}
.offers-page-tab.is-active .offers-tab-count{background:#c6f0ea;color:#075263;}
.offers-tabs-refresh{display:inline-grid;flex:0 0 auto;width:39px;height:39px;place-items:center;border:1px solid transparent;border-radius:11px;background:transparent;color:#087f7d;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;}
.offers-tabs-refresh:hover:not(:disabled){transform:translateY(-1px);border-color:#c2e2dc;background:#effaf8;}
.offers-tabs-refresh:focus-visible{outline:3px solid rgba(49,183,178,.25);outline-offset:2px;}
.offers-tabs-refresh:disabled{opacity:.62;cursor:wait;}
.offers-tabs-refresh.is-loading .offers-refresh-icon{animation:offers-spin .8s linear infinite;}

.offers-page-section{
    padding:24px;
    border:1px solid #d9ebe7;
    border-radius:20px;
    background:rgba(255,255,255,.94);
    box-shadow:0 14px 32px rgba(7,59,76,.065);
}

.offers-page-section + .offers-page-section{padding-top:24px;border-top:1px solid #d9ebe7;}
.offers-page-section[hidden]{display:none;}

.offers-page-loading{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:138px;
    padding:21px;
    border:1px dashed #b8ddd6;
    border-radius:15px;
    background:linear-gradient(135deg,#fbfffe,#f2fbf9);
}

.offers-page-loading strong{display:block;color:var(--ocean);font-size:14px;}
.offers-page-loading p{margin:4px 0 0;color:#65807d;font-size:12px;line-height:1.45;}
.offers-loading-spinner{width:25px;height:25px;flex:0 0 auto;border:3px solid #cae9e4;border-top-color:var(--lagoon);border-radius:50%;animation:offers-spin .72s linear infinite;}

@keyframes offers-spin{to{transform:rotate(360deg);}}
@keyframes offers-pulse{50%{transform:scale(.72);opacity:.55;}}

.offers-page-list{
    display:grid;
    gap:12px;
}

.offers-page-sections{
    display:grid;
    gap:34px;
    max-width:760px;
    margin:0 auto;
}

.offers-page-section{
    display:grid;
    gap:14px;
}

.offers-page-section + .offers-page-section{
    padding-top:31px;
    border-top:1px solid #d7e9e5;
}

.offers-page-section-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
}

.offers-page-section-heading .kicker{margin:0 0 3px;}
.offers-page-section-heading h2{margin:0;color:var(--ocean);font-size:22px;letter-spacing:-.02em;}
.offers-page-section-heading>div>p:last-child{margin:4px 0 0;color:var(--gray);font-size:13px;line-height:1.45;}

.offers-page-list .offer-notification-card{
    gap:10px;
    padding:18px;
    border-radius:17px;
    box-shadow:0 8px 22px rgba(7,59,76,.06);
}

.offers-page-list .offer-notification-card + .offer-notification-card{margin-top:0;}

.offer-sent-card.is-new-response{border-color:#75bdb4;box-shadow:0 10px 25px rgba(16,133,126,.15);}
.offer-sent-card.is-new-response .offer-status{box-shadow:0 0 0 3px #e7f6f3;}
.offer-card-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;}
.offer-delete-button{min-height:31px;padding:0 8px;border:1px solid #efcbc6;border-radius:999px;background:#fff7f6;color:#b64e46;font:inherit;font-size:10px;font-weight:800;cursor:pointer;}
.offer-delete-button:hover{border-color:#b64e46;background:#b64e46;color:#fff;}
.offer-delete-button:disabled{opacity:.58;cursor:wait;}

.offer-decline-modal,
.conversation-options-modal{
    position:fixed;
    z-index:2300;
    inset:0;
    display:grid;
    padding:20px;
    place-items:center;
    background:rgba(7,59,76,.48);
    backdrop-filter:blur(3px);
}

.offer-decline-dialog,
.conversation-options-dialog{
    position:relative;
    width:min(100%,440px);
    padding:30px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 24px 60px rgba(7,59,76,.28);
}

.offer-decline-dialog h2,
.conversation-options-dialog h2{margin:6px 34px 9px 0;color:var(--ocean);font-size:26px;line-height:1.15;}
.offer-decline-dialog>p:last-of-type,
.conversation-options-dialog>p:last-of-type{margin:0;color:var(--gray);font-size:14px;line-height:1.55;}
.offer-decline-close,
.conversation-options-close{position:absolute;top:16px;right:16px;display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:50%;background:#edf7f5;color:var(--ocean);font-size:25px;line-height:1;cursor:pointer;}
.offer-decline-close:hover,.conversation-options-close:hover{background:#dcefeb;}
.offer-decline-dialog-actions,
.conversation-options-actions{display:grid;gap:10px;margin-top:24px;}
.offer-decline-dialog-actions button,
.conversation-options-actions button{min-height:45px;padding:10px 14px;border:1px solid #c4dfda;border-radius:12px;background:#f3fbf9;color:var(--ocean);font:inherit;font-size:13px;font-weight:850;text-align:left;cursor:pointer;}
.offer-decline-dialog-actions button:hover,
.conversation-options-actions button:hover{border-color:var(--ocean);background:var(--ocean);color:#fff;}
.offer-decline-dialog-actions .offer-decline-simple,
.conversation-options-actions .delete-conversation-action{border-color:#efc8c4;background:#fff6f5;color:#b64e46;}
.offer-decline-dialog-actions .offer-decline-simple:hover,
.conversation-options-actions .delete-conversation-action:hover{border-color:#b64e46;background:#b64e46;color:#fff;}
.offer-decline-dialog-actions button:disabled{opacity:.58;cursor:wait;}

.offers-page-empty{
    padding:46px 24px;
    border:1px solid #d8e9e6;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 30px rgba(7,59,76,.06);
    text-align:center;
}

.offers-page-empty>span{font-size:35px;}
.offers-page-empty h2{margin:11px 0 8px;color:var(--ocean);font-size:23px;}
.offers-page-empty p{margin:0 auto 18px;max-width:360px;color:var(--gray);font-size:13px;line-height:1.5;}
.offers-page-empty a{display:inline-flex;padding:10px 14px;border-radius:10px;background:var(--ocean);color:#fff;font-size:12px;font-weight:800;text-decoration:none;}

@media(max-width:1024px){
    .offers-page{
        min-height:calc(100dvh - 142px);
        padding:28px 16px 118px;
    }

    .offers-back-link{margin-bottom:15px;font-size:12px;}
    .offers-page-heading h1{font-size:30px;}
    .offers-page-heading>p:last-child{font-size:13px;}
    .offers-page-sections{gap:27px;}
    .offers-page-section{gap:12px;}
    .offers-page-section + .offers-page-section{padding-top:25px;}
    .offers-page-section-heading h2{font-size:20px;}
    .offers-page-section-heading>div>p:last-child{font-size:12px;}
    .offers-page-list{gap:10px;}
    .offers-page-list .offer-notification-card{padding:15px;}
    .offer-decline-dialog,.conversation-options-dialog{padding:25px 20px;border-radius:19px;}
    .offer-decline-dialog h2,.conversation-options-dialog h2{font-size:24px;}
}

@media(max-width:460px){
    .offers-page-tabs{display:flex;width:100%;}
    .offers-page-tab{flex:1 1 0;padding:0 8px;font-size:11px;}
    .offers-tabs-refresh{width:35px;height:35px;align-self:center;}
}

/* Bouton Offres volontairement plus facile à voir et à toucher. */
.messenger-offers-category button{
    min-height:38px;
    padding:0 14px;
    font-size:13px;
}

.navbar .offers-button{
    min-height:46px;
    padding:0 5px;
    font-size:15px;
}

/* Liste de discussions : toutes les conversations restent accessibles par défilement. */
.messenger-conversation-list{
    min-height:0;
    flex:1 1 auto;
    overscroll-behavior:contain;
}

/* Les catégories sont visibles dès l’ouverture de la recherche. */
.search-category-suggestions{
    max-width:1180px;
    margin:0 auto;
    padding:34px 28px 0;
}

.search-category-suggestions h2{margin:5px 0 18px;color:var(--ocean);font-family:Georgia,"Times New Roman",serif;font-size:28px;}
.search-category-cards{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;}
.search-category-cards a{display:grid;min-height:112px;align-content:center;justify-items:center;gap:6px;padding:12px 7px;border:1px solid #d5e9e5;border-radius:15px;background:#fff;color:var(--ocean);text-align:center;text-decoration:none;box-shadow:0 7px 18px rgba(7,59,76,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.search-category-cards a:hover,.search-category-cards a:focus-visible{outline:none;transform:translateY(-3px);border-color:var(--lagoon);box-shadow:0 12px 24px rgba(7,59,76,.12);}
.search-category-cards span{font-size:29px;line-height:1;}
.search-category-cards strong{font-size:13px;}

@media(max-width:1024px){
    .search-category-cards{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media(max-width:1024px){
    .search-category-suggestions{padding:25px 16px 0;}
    .search-category-suggestions h2{font-size:25px;}
    .search-category-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
    .search-category-cards a{min-height:88px;grid-template-columns:auto 1fr;justify-items:start;align-items:center;column-gap:9px;padding:10px 12px;text-align:left;}
    .search-category-cards span{font-size:27px;}
    .search-category-cards strong{font-size:13px;}
}

/* Nouveau logo Emlly : aperçu de la signature maison, idée et bonne affaire. */
.navbar > .logo{
    display:block;
    width:210px;
    height:68px;
    flex:0 0 210px;
    margin-right:0;
    overflow:hidden;
    background:url("emlly-logo.png") left center / contain no-repeat;
    font-size:0 !important;
    letter-spacing:0;
}

.navbar > .logo span,
.navbar > .logo i{
    display:none !important;
}

@media(max-width:1024px){
    .navbar > .logo{
        width:172px;
        height:56px;
        flex-basis:172px;
    }

    .mobile-bottom-navigation-enabled .navbar > .logo{
        width:190px;
        flex-basis:190px;
    }
}

@media(max-width:500px){
    .navbar > .logo{
        width:146px;
        height:50px;
        flex-basis:146px;
    }

    .mobile-bottom-navigation-enabled .navbar > .logo{
        width:170px;
        flex-basis:170px;
    }
}

/* Barre de navigation des catégories : bleu océan et libellés blancs. */
.categories{
    background:var(--ocean);
    border-bottom:0;
    padding-top:3px;
    padding-bottom:3px;
}

.categories .category,
.categories .category-name,
.categories .category.current .category-name{
    color:#fff;
}

.categories .category{
    font-size:13px;
}

.categories .category-name:hover,
.categories .category-name:focus-visible{
    color:#fff;
}

/* Les fenêtres de sous-catégories gardent un texte bleu lisible. */
.categories .submenu,
.categories .submenu a{
    color:var(--ocean);
}

.categories .submenu .category-all-link{
    color:var(--lagoon);
}

@media(max-width:1024px){
    .mobile-category-toggle{
        min-height:38px;
        margin-top:5px;
        font-size:12px;
        border-color:var(--ocean);
        background:var(--ocean);
        color:#fff;
        box-shadow:0 6px 16px rgba(7,59,76,.16);
    }

    .mobile-category-toggle span{
        color:#fff;
    }

    #homeCategoryNavigation,
    #categoryNavigation{
        background:var(--ocean);
        padding-top:4px;
        padding-bottom:10px;
    }

    #homeCategoryNavigation .category,
    #categoryNavigation .category{
        border-bottom-color:rgba(255,255,255,.18);
    }

    #homeCategoryNavigation .category-name,
    #categoryNavigation .category-name{
        color:#fff;
    }

    #homeCategoryNavigation .category-expand,
    #categoryNavigation .category-expand{
        color:#fff;
    }

    #homeCategoryNavigation .submenu,
    #categoryNavigation .submenu{
        padding:6px;
        border-radius:14px;
    }

    #homeCategoryNavigation .submenu a,
    #categoryNavigation .submenu a{
        display:flex;
        align-items:center;
        min-height:44px;
        border-radius:11px;
    }
}

/* Publication : une annonce comporte toujours au moins une photo. */
.required-photo-note{
    display:inline-flex;
    align-items:center;
    margin-left:8px;
    padding:4px 8px;
    border-radius:999px;
    background:#fff0ee;
    color:#bd544c;
    font-family:Arial,sans-serif;
    font-size:10px;
    font-weight:850;
    letter-spacing:.02em;
    vertical-align:middle;
}

/* Guide très court, montré une seule fois à la première visite. */
.first-visit-guide{
    position:fixed;
    z-index:3000;
    inset:0;
    display:grid;
    padding:24px;
    place-items:center;
    background:rgba(7,59,76,.48);
    opacity:0;
    backdrop-filter:blur(4px);
    transition:opacity .18s ease;
}
.first-visit-guide.is-open{opacity:1;}
.first-visit-guide-card{
    position:relative;
    width:min(100%,680px);
    padding:34px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:25px;
    background:#fff;
    box-shadow:0 26px 70px rgba(7,59,76,.3);
    transform:translateY(10px) scale(.98);
    transition:transform .18s ease;
}
.first-visit-guide.is-open .first-visit-guide-card{transform:translateY(0) scale(1);}
.first-visit-guide-card>.kicker{margin:0;color:var(--lagoon);}
.first-visit-guide-card h2{max-width:500px;margin:7px 34px 9px 0;color:var(--ocean);font-size:clamp(29px,4vw,39px);line-height:1.02;}
.first-visit-guide-card>p:last-of-type{max-width:560px;margin:0;color:#587470;font-size:14px;line-height:1.55;}
.first-visit-guide-close{
    position:absolute;
    top:17px;
    right:17px;
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border:0;
    border-radius:50%;
    background:#edf7f5;
    color:var(--ocean);
    font-size:25px;
    line-height:1;
    cursor:pointer;
}
.first-visit-guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:23px 0;}
.first-visit-guide-steps article{display:grid;gap:6px;min-height:144px;padding:17px 14px;border:1px solid #d8e9e6;border-radius:16px;background:#fbfefd;}
.first-visit-guide-steps span{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:#dff5f1;color:#087f7d;font-size:20px;font-weight:900;}
.first-visit-guide-steps .first-visit-guide-message-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;}
.first-visit-guide-steps strong{color:var(--ocean);font-size:13px;}
.first-visit-guide-steps small{color:#607a76;font-size:11px;line-height:1.4;}
.first-visit-guide-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;}
.first-visit-guide-actions a{color:#087f7d;font-size:12px;font-weight:850;text-decoration:none;}
.first-visit-guide-actions a:hover{text-decoration:underline;}
.first-visit-guide-actions button{min-height:43px;padding:0 17px;border:1px solid var(--ocean);border-radius:12px;background:var(--ocean);color:#fff;font:inherit;font-size:12px;font-weight:850;cursor:pointer;}
.first-visit-guide-actions button:hover{background:var(--lagoon);border-color:var(--lagoon);}

/* Centre de nouveautés : messages, offres et baisses de prix des favoris. */
.notifications-button{
    position:relative;
    display:inline-flex;
    min-height:42px;
    align-items:center;
    gap:5px;
    padding:0 3px;
    border:0;
    background:transparent;
    color:var(--ocean);
    font:inherit;
    font-size:14px;
    font-weight:750;
    cursor:pointer;
}
.notifications-button:hover{color:var(--lagoon);}
.notifications-button-label{font-size:12px;}
.notifications-unread-badge{display:grid;min-width:18px;height:18px;padding:0 5px;place-items:center;border-radius:999px;background:#d94841;color:#fff;font-size:10px;font-weight:900;line-height:1;}
.notifications-panel{
    position:fixed;
    z-index:1002;
    top:102px;
    right:24px;
    display:none;
    width:min(400px,calc(100vw - 32px));
    max-height:min(540px,calc(100vh - 125px));
    overflow:hidden;
    border:1px solid #d9e8e6;
    border-radius:18px;
    background:#fff;
    box-shadow:0 24px 70px rgba(7,59,76,.22);
}
.notifications-panel.is-open{display:block;}
.notifications-panel-header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);}
.notifications-panel-header p{margin:0 0 3px;color:var(--lagoon);font-size:10px;font-weight:900;letter-spacing:.12em;}
.notifications-panel-header h2{margin:0;color:var(--ocean);font-size:19px;}
.notifications-close{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:50%;background:#eef6f5;color:var(--ocean);font-size:23px;line-height:1;cursor:pointer;}
.notifications-panel-content{display:grid;gap:8px;max-height:455px;overflow:auto;padding:10px;}
.notification-card{display:grid;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid #e0ecea;border-radius:14px;background:#fff;color:inherit;text-decoration:none;}
.notification-card:hover{border-color:#96cec7;background:#f6fcfb;}
.notification-card>span{display:grid;width:37px;height:37px;place-items:center;border-radius:12px;background:#e2f7f3;color:#087f7d;font-size:18px;font-weight:900;}
.notification-card.price-alert>span{background:#fff0df;color:#a86b18;}
.notification-card strong{display:block;color:var(--ocean);font-size:12px;line-height:1.35;}
.notification-card small{display:block;margin-top:3px;color:#66807d;font-size:10px;line-height:1.35;}
.notification-card>b{color:var(--lagoon);font-size:22px;font-weight:500;}
.notifications-empty{padding:27px 17px;text-align:center;}
.notifications-empty>span{display:grid;width:42px;height:42px;margin:0 auto 10px;place-items:center;border-radius:14px;background:#e4f7f3;font-size:20px;}
.notifications-empty strong{display:block;color:var(--ocean);font-size:14px;}
.notifications-empty p{margin:7px auto 0;max-width:260px;color:#66807d;font-size:11px;line-height:1.45;}

@media(min-width:1025px){
    .notifications-button-label{display:none;}
}

@media(max-width:1024px){
    .required-photo-note{margin-left:5px;font-size:9px;}
    .first-visit-guide{padding:16px;align-items:end;}
    .first-visit-guide-card{padding:27px 20px 22px;border-radius:22px;}
    .first-visit-guide-card h2{font-size:29px;}
    .first-visit-guide-card>p:last-of-type{font-size:13px;}
    .first-visit-guide-steps{grid-template-columns:1fr;gap:7px;margin:18px 0;}
    .first-visit-guide-steps article{grid-template-columns:34px minmax(0,1fr);column-gap:10px;min-height:0;padding:11px 12px;}
    .first-visit-guide-steps span{grid-row:1 / span 2;}
    .first-visit-guide-steps small{grid-column:2;}
    .first-visit-guide-actions{justify-content:space-between;gap:10px;}
    .notifications-panel{top:76px;right:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 94px);}
    .navbar>.notifications-button{display:none!important;}
}

/* Ajustements finaux de la nouvelle direction visuelle. */
body{background:#fcfbf9;}
.categories .category.is-wide-menu .submenu{left:50%;width:min(490px,calc(100vw - 28px));max-height:min(650px,calc(100dvh - 120px));padding:10px;transform:translateX(-50%);}
.categories .category.is-wide-menu:hover .submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 5px;}
.categories .category.is-wide-menu.active .submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 5px;}
.categories .category.is-wide-menu .category-all-link{grid-column:1 / -1;}
.categories .submenu a,.categories .clothing-menu-trigger{border-radius:10px;}
.product{border-color:#e5e1da;border-radius:18px;background:#fffdfb;box-shadow:0 10px 30px rgba(24,59,74,.055);}
.product:hover{box-shadow:0 18px 38px rgba(24,59,74,.11);}
.category-desktop-filters,.offers-page-section,.profile-box{border-color:#e5e1da;box-shadow:0 10px 30px rgba(24,59,74,.055);}
.subcategory-chips a{border-radius:999px;background:#fffdfb;}
.listing-sizes-field{grid-column:1 / -1;padding:17px 18px;border:1px solid #deddd7;border-radius:18px;background:#fffdfb;}
.listing-sizes-field>label{display:block;margin:0;color:var(--ocean);font-weight:850;}
.listing-sizes-field>p{margin:5px 0 14px;color:var(--gray);font-size:12px;line-height:1.45;}
.listing-size-options{display:grid;gap:11px;}
.listing-size-group{margin:0;padding:0;border:0;}
.listing-size-group legend{margin-bottom:7px;color:#6a7d7a;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;}
.listing-size-group>div{display:flex;flex-wrap:wrap;gap:8px;}
.listing-size-group label{position:relative;display:inline-flex;min-height:37px;align-items:center;cursor:pointer;}
.listing-size-group input{position:absolute;opacity:0;pointer-events:none;}
.listing-size-group span{display:grid;min-height:37px;place-items:center;padding:0 12px;border:1px solid #d6e2df;border-radius:999px;background:#fff;color:var(--ocean);font-size:12px;font-weight:800;transition:.18s ease;}
.listing-size-group input:checked + span{border-color:var(--lagoon);background:var(--lagoon);color:#fff;box-shadow:0 5px 12px rgba(46,159,150,.2);}
.listing-size-group input:focus-visible + span{outline:2px solid var(--ocean);outline-offset:2px;}
.listing-removal-modal{position:fixed;z-index:3500;inset:0;display:grid;padding:20px;place-items:center;background:rgba(24,59,74,.48);backdrop-filter:blur(5px);}
.listing-removal-dialog{position:relative;width:min(100%,500px);padding:28px;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:#fffdfb;box-shadow:0 28px 70px rgba(24,59,74,.3);}
.listing-removal-dialog h2{margin:7px 38px 9px 0;color:var(--ocean);font-size:27px;line-height:1.12;}
.listing-removal-dialog>p:not(.kicker){margin:0;color:var(--gray);font-size:14px;line-height:1.55;}
.listing-removal-close{position:absolute;top:16px;right:16px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:#f1f2ef;color:var(--ocean);font-size:23px;cursor:pointer;}
.listing-removal-reason{display:grid;gap:9px;margin:20px 0 15px;padding:15px;border:1px solid #e5e1da;border-radius:15px;}
.listing-removal-reason legend{padding:0 4px;color:var(--ocean);font-size:13px;font-weight:850;}
.listing-removal-reason label{display:flex;gap:9px;align-items:center;color:#46615f;font-size:13px;cursor:pointer;}
.listing-removal-reason input{accent-color:var(--lagoon);}
.listing-removal-note-label{display:block;margin:0 0 7px;color:var(--ocean);font-size:12px;font-weight:850;}
.listing-removal-dialog textarea{box-sizing:border-box;width:100%;min-height:76px;padding:11px;border:1px solid #d9e3e0;border-radius:12px;background:#fff;font:inherit;font-size:13px;resize:vertical;}
.listing-removal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;}
.listing-removal-actions button{min-height:43px;padding:0 14px;border-radius:11px;font:inherit;font-size:12px;font-weight:850;cursor:pointer;}
.listing-removal-cancel{border:1px solid #cfdad7;background:#fff;color:var(--ocean);}
.listing-removal-confirm{border:1px solid #b94f48;background:#c86059;color:#fff;}
@media(max-width:1024px){
  .categories .category.is-wide-menu .submenu,.categories .category.is-wide-menu.active .submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;max-height:none;transform:none;}
  .listing-sizes-field{padding:15px 14px;}
  .listing-size-group>div{gap:7px;}
  .listing-size-group span{min-height:40px;padding:0 11px;font-size:12px;}
  .listing-removal-modal{padding:12px;align-items:end;}
  .listing-removal-dialog{padding:24px 18px;border-radius:22px 22px 16px 16px;}
  .listing-removal-actions{display:grid;grid-template-columns:1fr 1.35fr;}
}

/* Bloc d'activité du profil : même profondeur douce que les autres cartes. */
.activity-card{
  padding:40px;
  border-radius:30px;
  background:var(--ocean);
  color:#fff;
  text-align:center;
  box-shadow:0 16px 35px rgba(24,59,74,.14);
}
.activity-card p{color:rgba(255,255,255,.72);line-height:1.7;}

/* Catalogue à niveaux : une grande fenêtre de sous-catégories claire, pensée
   pour choisir un rayon puis un type précis sans sous-menu qui part sur le côté. */
@media(min-width:1025px){
  .categories{position:relative;}
  .categories .category{position:static;}
  .categories .category::after{display:none;}
  .categories .category:hover .submenu{display:none;}
  .categories .category.active .category-mega-menu,
  .categories .category.is-wide-menu.active .category-mega-menu{display:block;}
  .categories .category .category-mega-menu{
    top:calc(100% + 8px);
    left:50%;
    width:min(860px,calc(100vw - 40px));
    max-height:min(650px,calc(100dvh - 134px));
    padding:0;
    overflow:auto;
    transform:translateX(-50%);
  }
  .categories .category-mega-menu{border:1px solid #d9e5e2;border-radius:16px;background:#fff;box-shadow:0 20px 45px rgba(24,59,74,.17);}
  .categories .category-mega-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid #e7eeec;color:var(--ocean);font-size:13px;font-weight:850;}
  .categories .category-mega-menu-heading .category-all-link{padding:7px 10px;border:1px solid #b8dcd6;border-radius:999px;color:#087f7d;font-size:11px;font-weight:850;}
  .categories .category-mega-menu-heading .category-all-link:hover{border-color:var(--lagoon);background:#eaf8f5;}
  .categories .category-menu-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 0;padding:12px;}
  .categories .category-menu-group{min-width:0;padding:9px 10px;border-radius:11px;}
  .categories .category-menu-group:hover{background:#f5f9f8;}
  .categories .category-menu-parent{display:block;padding:2px 0 7px!important;color:var(--ocean)!important;font-size:13px!important;font-weight:850!important;line-height:1.25;}
  .categories .category-menu-types{display:grid;gap:2px;}
  .categories .category-menu-types a{padding:4px 0!important;border-radius:5px!important;color:#607875!important;font-size:12px!important;font-weight:600;line-height:1.25;}
  .categories .category-menu-types a:hover,.categories .category-menu-types a:focus-visible{background:transparent!important;color:var(--lagoon)!important;text-decoration:underline;text-underline-offset:3px;}
  .categories .category.is-wide-menu:not(.active):hover .category-mega-menu{display:none;}
}

@media(min-width:1025px) and (max-width:1180px){
  .categories .category-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:1024px){
  #homeCategoryNavigation .category.active .category-mega-menu,
  #categoryNavigation .category.active .category-mega-menu,
  #homeCategoryNavigation .category.is-wide-menu.active .category-mega-menu,
  #categoryNavigation .category.is-wide-menu.active .category-mega-menu{display:block;}
  #homeCategoryNavigation .category-mega-menu,
  #categoryNavigation .category-mega-menu{margin:0 0 12px!important;padding:8px!important;border:1px solid #dce8e5!important;border-radius:14px!important;background:#f9fcfb!important;}
  #homeCategoryNavigation .category-mega-menu-heading,
  #categoryNavigation .category-mega-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 4px 10px;color:var(--ocean);font-size:12px;font-weight:850;}
  #homeCategoryNavigation .category-mega-menu-heading .category-all-link,
  #categoryNavigation .category-mega-menu-heading .category-all-link{min-height:0;padding:6px 9px;border:1px solid #b8dcd6;border-radius:999px;color:#087f7d;font-size:11px;font-weight:850;}
  #homeCategoryNavigation .category-menu-groups,
  #categoryNavigation .category-menu-groups{display:grid;grid-template-columns:1fr;gap:5px;}
  #homeCategoryNavigation .category-menu-group,
  #categoryNavigation .category-menu-group{padding:10px;border:1px solid #e0ece9;border-radius:11px;background:#fff;}
  #homeCategoryNavigation .category-menu-parent,
  #categoryNavigation .category-menu-parent{display:block;min-height:0;padding:1px 0 8px!important;color:var(--ocean)!important;font-size:13px!important;font-weight:850!important;}
  #homeCategoryNavigation .category-menu-types,
  #categoryNavigation .category-menu-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px;}
  #homeCategoryNavigation .category-menu-types a,
  #categoryNavigation .category-menu-types a{min-height:32px;padding:4px 0!important;color:#58716e!important;font-size:12px!important;}
}

/* Navigateur de catalogue : une colonne pour les rayons, puis les types
   d'articles. La mécanique est familière, l'esthétique reste celle d'Emlly. */
@media(min-width:1025px){
  .categories .category .category-mega-menu{width:min(930px,calc(100vw - 40px));overflow:hidden;}
  .categories .category-browser{display:grid;grid-template-columns:minmax(210px,30%) minmax(0,1fr);min-height:320px;background:#fff;}
  .categories .category-browser-sidebar{display:grid;align-content:start;gap:2px;max-height:min(580px,calc(100dvh - 185px));padding:12px;border-right:1px solid #e3ecea;overflow-y:auto;background:#fbfdfc;}
  .categories .category-browser-view-all{display:flex;align-items:center;min-height:38px;padding:0 11px;border-radius:10px;color:#087f7d;font-size:13px;font-weight:850;text-decoration:none;}
  .categories .category-browser-view-all:hover,.categories .category-browser-view-all:focus-visible{background:#e7f5f2;}
  .categories .category-browser-subcategory{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:41px;padding:8px 11px;border:0;border-radius:10px;background:transparent;color:#466a66;font:inherit;font-size:13px;font-weight:750;text-align:left;cursor:pointer;}
  .categories .category-browser-subcategory b{font-size:22px;font-weight:400;line-height:1;}
  .categories .category-browser-subcategory:hover,.categories .category-browser-subcategory:focus-visible{background:#eff8f6;color:var(--ocean);outline:0;}
  .categories .category-browser-subcategory.is-active{background:#e4f4f1;color:var(--ocean);font-weight:850;}
  .categories .category-browser-content{min-width:0;max-height:min(580px,calc(100dvh - 185px));padding:22px 26px;overflow-y:auto;}
  .categories .category-browser-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;}
  .categories .category-browser-panel-heading h3{margin:0;color:var(--ocean);font-size:18px;}
  .categories .category-browser-panel-heading a{padding:7px 10px;border:1px solid #bfddd8;border-radius:999px;color:#087f7d;font-size:11px;font-weight:850;text-decoration:none;}
  .categories .category-browser-panel-heading a:hover{border-color:var(--lagoon);background:#eaf8f5;}
  .categories .category-browser-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px;}
  .categories .category-browser-types a{display:flex;align-items:center;min-height:35px;padding:4px 0!important;border-radius:6px!important;color:#4d6865!important;font-size:14px!important;font-weight:650;line-height:1.3;text-decoration:none;}
  .categories .category-browser-types a:hover,.categories .category-browser-types a:focus-visible{color:#087f7d!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;outline:0;}
  .categories .category-browser-empty{margin:7px 0;color:#65807b;font-size:13px;line-height:1.5;}
}

@media(max-width:1024px){
  #homeCategoryNavigation .category:not(.active) .category-mega-menu,
  #categoryNavigation .category:not(.active) .category-mega-menu{display:none!important;}
  #homeCategoryNavigation .category.active .category-mega-menu,
  #categoryNavigation .category.active .category-mega-menu{display:block!important;}
  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser{display:grid;grid-template-columns:minmax(112px,36%) minmax(0,1fr);min-height:270px;border:1px solid #e0ece9;border-radius:12px;background:#fff;overflow:hidden;}
  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar{display:grid;align-content:start;gap:2px;padding:7px;border-right:1px solid #e4eeec;background:#f8fbfa;overflow-y:auto;}
  #homeCategoryNavigation .category-browser-view-all,
  #categoryNavigation .category-browser-view-all{display:flex;align-items:center;min-height:34px;padding:0 7px;border-radius:8px;color:#087f7d;font-size:11px;font-weight:850;text-decoration:none;}
  #homeCategoryNavigation .category-browser-subcategory,
  #categoryNavigation .category-browser-subcategory{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:36px;padding:6px 7px;border:0;border-radius:8px;background:transparent;color:#4b6c67;font:inherit;font-size:11px;font-weight:750;text-align:left;cursor:pointer;}
  #homeCategoryNavigation .category-browser-subcategory b,
  #categoryNavigation .category-browser-subcategory b{font-size:17px;font-weight:400;line-height:1;}
  #homeCategoryNavigation .category-browser-subcategory.is-active,
  #categoryNavigation .category-browser-subcategory.is-active{background:#e4f4f1;color:var(--ocean);font-weight:850;}
  #homeCategoryNavigation .category-browser-content,
  #categoryNavigation .category-browser-content{min-width:0;padding:13px 12px;overflow-y:auto;}
  #homeCategoryNavigation .category-browser-panel-heading,
  #categoryNavigation .category-browser-panel-heading{display:grid;gap:7px;margin-bottom:9px;}
  #homeCategoryNavigation .category-browser-panel-heading h3,
  #categoryNavigation .category-browser-panel-heading h3{margin:0;color:var(--ocean);font-size:13px;line-height:1.25;}
  #homeCategoryNavigation .category-browser-panel-heading a,
  #categoryNavigation .category-browser-panel-heading a{width:max-content;padding:5px 8px;border:1px solid #bfddd8;border-radius:999px;color:#087f7d;font-size:10px;font-weight:850;text-decoration:none;}
  #homeCategoryNavigation .category-browser-types,
  #categoryNavigation .category-browser-types{display:grid;gap:3px;}
  #homeCategoryNavigation .category-browser-types a,
  #categoryNavigation .category-browser-types a{display:flex;align-items:center;min-height:31px;padding:3px 0!important;color:#4c6d68!important;font-size:11px!important;font-weight:650;line-height:1.25;text-decoration:none;}
  #homeCategoryNavigation .category-browser-empty,
  #categoryNavigation .category-browser-empty{margin:7px 0;color:#68827d;font-size:11px;line-height:1.45;}
}

@media(max-width:380px){
  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser{grid-template-columns:104px minmax(0,1fr);}
  #homeCategoryNavigation .category-browser-subcategory,
  #categoryNavigation .category-browser-subcategory{font-size:10px;}
}

/* Publication : la prise de vue reste à portée de pouce sans prendre la place
   du sélecteur de galerie. */
.camera-photo-zone{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  grid-template-areas:"icon title" "icon detail";
  width:min(100%,310px);
  min-height:0;
  margin-top:12px;
  padding:13px 15px;
  border-width:1.5px;
  border-radius:15px;
  text-align:left;
}
.camera-photo-zone span{grid-area:icon;margin:0;font-size:11px;font-weight:800;letter-spacing:.02em;line-height:1;}
.camera-photo-zone h3{grid-area:title;margin:0;color:var(--ocean);font-size:14px;line-height:1.25;}
.camera-photo-zone p{grid-area:detail;margin:2px 0 0;font-size:11px;line-height:1.35;}
.listing-article-type-field{margin-top:16px;}
.listing-article-type-field label{display:block;margin-bottom:7px;color:var(--ocean);font-weight:850;}
.listing-article-type-field select{width:100%;}
.listing-article-type-field p{margin:6px 0 0;color:var(--gray);font-size:12px;line-height:1.4;}
@media(max-width:520px){
  .camera-photo-zone{width:100%;}
}

/* Publication : une indication discrète, jamais un titre imposant. */
.annonce-card .camera-photo-zone > span{
  font-size:13px !important;
  line-height:1.1;
  letter-spacing:.01em;
}
.annonce-card .field-required{color:#c15a50;font-size:.9em;font-weight:900;}

@media(max-width:1024px){
  .category-mobile-size-field{display:grid;gap:6px;}
  .category-mobile-size-field[hidden]{display:none;}
  .category-mobile-size-field label{margin:4px 0 0;color:var(--ocean);font-size:12px;font-weight:850;}
  .category-mobile-size-field select{box-sizing:border-box;width:100%;min-height:47px;padding:0 12px;border:1px solid #c9dcd8;border-radius:12px;background:#fff;color:var(--ocean);font:inherit;font-size:16px;}
}

/* Grand catalogue : lecture immédiate avec les rayons à gauche et les
   sous-sous-catégories dans une zone blanche à droite. */
@media(min-width:1025px){
  .categories .category .category-mega-menu{
    top:calc(100% + 1px);
    left:50%;
    width:100vw;
    max-height:min(540px,calc(100dvh - 112px));
    transform:translateX(-50%);
    border:0;
    border-top:1px solid #dce8e5;
    border-bottom:1px solid #dce8e5;
    border-radius:0;
    box-shadow:0 20px 30px rgba(24,59,74,.13);
  }
  .categories .category-browser{grid-template-columns:minmax(275px,31%) minmax(0,1fr);min-height:470px;}
  .categories .category-browser-sidebar{gap:5px;padding:20px 28px;border-right:1px solid #dfe9e7;background:#fff;}
  .categories .category-browser-view-all{min-height:45px;padding:0 12px;border-radius:7px;font-size:16px;}
  .categories .category-browser-subcategory{min-height:52px;padding:10px 12px;border-radius:7px;font-size:17px;font-weight:650;}
  .categories .category-browser-subcategory b{font-size:29px;}
  .categories .category-browser-subcategory:hover,.categories .category-browser-subcategory:focus-visible{background:#f0f8f6;}
  .categories .category-browser-subcategory.is-active{background:transparent;color:var(--ocean);font-weight:900;}
  .categories .category-browser-content{max-height:min(540px,calc(100dvh - 112px));padding:29px 36px 34px;background:#fff;}
  .categories .category-browser-all-articles{display:flex;align-items:center;min-height:39px;margin:0 0 13px;color:#087f7d!important;font-size:16px!important;font-weight:650;text-decoration:none;}
  .categories .category-browser-all-articles:hover,.categories .category-browser-all-articles:focus-visible{text-decoration:underline;text-underline-offset:4px;outline:0;}
  .categories .category-browser-types{grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px 45px;}
  .categories .category-browser-types a{min-height:47px;padding:0!important;color:#4e6764!important;font-size:17px!important;font-weight:500;}
  .categories .category-browser-empty{margin:3px 0;font-size:15px;}
}

@media(min-width:1025px) and (max-width:1180px){
  .categories .category-browser-sidebar{padding-left:18px;padding-right:18px;}
  .categories .category-browser-content{padding-left:26px;padding-right:26px;}
  .categories .category-browser-types{gap:7px 25px;}
  .categories .category-browser-types a{font-size:15px!important;}
}

/* Menu ordinateur : même lecture qu'un grand catalogue. La marque et les
   couleurs restent Emlly, mais le parcours est immédiat : rayons à gauche,
   articles précis à droite. */
@media(min-width:1025px){
  .categories{
    position:relative;
    justify-content:flex-start;
    gap:0;
    min-height:66px;
    padding:0 max(22px,calc((100vw - 1510px) / 2));
    background:rgba(255,255,255,.97);
    border-bottom:1px solid #dce7e5;
    box-shadow:0 1px 0 rgba(7,59,76,.025);
    overflow:visible;
  }

  .categories .category{
    display:flex;
    align-items:stretch;
    padding:0;
    color:#53676b;
    font-size:17px;
    font-weight:540;
  }

  .categories .category-heading{display:flex;align-items:stretch;}

  .categories .category-name{
    display:flex;
    align-items:center;
    min-height:66px;
    padding:0 clamp(14px,1.55vw,29px);
    color:#53676b;
    white-space:nowrap;
    transition:color .16s ease,box-shadow .16s ease;
  }

  .categories .category:hover .category-name,
  .categories .category.active .category-name,
  .categories .category.current .category-name{
    color:#173b4a;
    box-shadow:inset 0 -3px 0 #16818c;
  }

  .categories .category .category-mega-menu{
    top:100%;
    left:0;
    width:100vw;
    max-width:none;
    max-height:min(570px,calc(100dvh - 120px));
    margin:0;
    padding:0;
    transform:none;
    overflow:auto;
    border:0;
    border-top:1px solid #e6eeec;
    border-bottom:1px solid #dce7e5;
    border-radius:0;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
  }

  .categories .category-browser{
    grid-template-columns:minmax(310px,31%) minmax(0,1fr);
    min-height:510px;
    background:#fff;
  }

  .categories .category-browser-sidebar{
    gap:4px;
    max-height:min(570px,calc(100dvh - 120px));
    padding:22px max(26px,calc((100vw - 1510px) / 2));
    border-right:1px solid #e0e9e7;
    background:linear-gradient(180deg,#f7fbfa 0%,#fff 78%);
  }

  .categories .category-browser-view-all,
  .categories .category-browser-subcategory{
    min-height:54px;
    padding:0 14px;
    border-radius:11px;
    font-size:16px;
    font-weight:560;
    letter-spacing:-.01em;
  }

  .categories .category-browser-view-all{position:relative;padding-left:43px;color:#177e85;font-weight:720;}
  .categories .category-browser-view-all::before{content:"";position:absolute;left:15px;width:14px;height:14px;background:radial-gradient(circle,#16818c 2px,transparent 2.5px) 0 0/7px 7px;}
  .categories .category-browser-subcategory{position:relative;padding-left:43px;color:#29464e;}
  .categories .category-browser-subcategory::before{content:"";position:absolute;left:16px;width:13px;height:13px;border:1.5px solid #83aaa7;border-radius:4px;transition:background .16s ease,border-color .16s ease,transform .16s ease;}
  .categories .category-browser-subcategory:hover,
  .categories .category-browser-subcategory:focus-visible{background:#eaf5f3;color:#173b4a;}
  .categories .category-browser-subcategory.is-active{background:#e7f4f2;color:#102f3b;font-weight:760;}
  .categories .category-browser-subcategory.is-active::before{border-color:#16818c;background:#16818c;box-shadow:inset 0 0 0 3px #e7f4f2;transform:rotate(45deg);}
  .categories .category-browser-subcategory b{display:none;font-size:28px;font-weight:400;}
  .categories .category-browser-subcategory.is-active b{display:block;}

  .categories .category-browser-content{
    max-height:min(570px,calc(100dvh - 120px));
    padding:29px clamp(34px,5vw,96px) 38px;
    background:#fff;
  }

  .categories .category-browser-all-articles{
    min-height:45px;
    margin:0 0 13px;
    color:#177e85!important;
    font-size:17px!important;
    font-weight:700;
  }

  .categories .category-browser-types{
    grid-template-columns:repeat(2,minmax(230px,1fr));
    gap:7px clamp(34px,6vw,98px);
  }

  .categories .category-browser-types a{
    min-height:52px;
    padding:0 11px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    color:#435c63!important;
    font-size:16px!important;
    font-weight:540;
    transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
  }

  .categories .category-browser-types a:hover,
  .categories .category-browser-types a:focus-visible{
    border-color:#cfe6e2!important;
    background:#f3f9f8!important;
    color:#117b83!important;
    text-decoration:none;
    transform:translateX(3px);
  }
}

/* Direction visuelle Emlly : une interface de marketplace plus légère,
   plus directe, avec des pages qui se lisent comme une application. */
.category-page{background:linear-gradient(180deg,#fff 0%,#f8fbfa 100%);}
.category-hero h1,
.category-results-heading h2{
  font-family:inherit;
  font-weight:780;
  letter-spacing:-.045em;
}
.category-hero h1{line-height:1.04;}
.category-results-heading h2{line-height:1.1;}
.category-count{border-color:#dfeae8;background:rgba(255,255,255,.9);box-shadow:0 12px 32px rgba(7,59,76,.07);}
.subcategory-chips a{border-color:#d9e7e4;background:rgba(255,255,255,.92);font-weight:700;}

@media(max-width:1024px){
  body{background:#f7fbfa;}

  .mobile-category-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:calc(100% - 32px);
    min-height:46px;
    margin:10px 16px 0;
    border:1px solid #d9e8e5;
    border-radius:14px;
    background:#fff;
    color:var(--ocean);
    box-shadow:0 8px 20px rgba(7,59,76,.07);
    font-size:13px;
    font-weight:780;
  }

  .mobile-category-toggle span{color:#16818c;}

  .category-page{background:transparent;}

  .category-page .category-back-button{
    min-height:38px;
    margin:12px 16px 0;
    padding:0 13px;
    border:1px solid #d7e8e5;
    border-radius:999px;
    background:#fff;
    box-shadow:none;
    font-size:12px;
    font-weight:740;
  }

  .category-hero{
    gap:17px;
    padding:20px 20px 18px;
  }

  .breadcrumb{
    gap:7px;
    margin-bottom:14px;
    color:#718284;
    font-size:11px;
  }

  .category-hero .kicker,
  .category-results .kicker{font-size:10px;letter-spacing:.12em;}

  .category-hero h1{
    margin:7px 0 8px;
    font-size:32px;
    font-weight:800;
  }

  .category-hero>div:first-child>p:last-child{
    max-width:34ch;
    font-size:14px;
    line-height:1.5;
  }

  .category-count{
    width:auto;
    min-width:0;
    padding:8px 12px;
    grid-template-columns:auto auto;
    justify-content:start;
    gap:6px;
    border-radius:999px;
    box-shadow:none;
  }

  .category-count strong{font-family:inherit;font-size:17px;font-weight:800;}
  .category-count span{font-size:11px;font-weight:650;}

  .subcategory-section{padding:0 20px 18px;}
  .subcategory-section h2{margin-bottom:10px;color:#29434a;font-size:12px;letter-spacing:.01em;}

  .subcategory-chips{
    flex-wrap:nowrap;
    gap:8px;
    margin:0 -20px;
    padding:0 20px 5px;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .subcategory-chips::-webkit-scrollbar{display:none;}

  .subcategory-chips a{
    flex:0 0 auto;
    min-height:36px;
    padding:0 12px;
    border-radius:10px;
    font-size:12px;
  }

  .category-results{padding:20px 20px 86px;}
  .category-results-heading{gap:14px;margin-bottom:17px;}
  .category-results-heading h2{margin-top:5px;font-size:24px;}

  .mobile-category-filter-toggle{
    min-height:38px;
    padding:0 13px;
    border:1px solid #cce3df;
    border-radius:10px;
    background:#fff;
    color:#176c74;
    font-size:12px;
    font-weight:750;
    box-shadow:0 6px 16px rgba(7,59,76,.06);
  }
}

/* Priorité finale — version grand écran du catalogue. Les anciennes règles
   mobile ne doivent jamais transformer ce panneau en cartes sur un écran
   large ou une tablette en paysage. */
@media(min-width:720px){
  #homeCategoryNavigation,
  #categoryNavigation{
    position:relative!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    min-height:66px!important;
    padding:0 clamp(18px,3vw,48px)!important;
    overflow:visible!important;
    background:#fff!important;
    border-bottom:1px solid #d8e1e1!important;
    box-shadow:none!important;
    white-space:nowrap!important;
  }

  #homeCategoryNavigation .category,
  #categoryNavigation .category{
    position:static!important;
    display:flex!important;
    align-items:stretch!important;
    padding:0!important;
    border:0!important;
    color:#5d6d70!important;
    font-size:16px!important;
    font-weight:500!important;
  }

  #homeCategoryNavigation .category-heading,
  #categoryNavigation .category-heading{display:flex!important;align-items:stretch!important;min-height:0!important;}

  #homeCategoryNavigation .category-name,
  #categoryNavigation .category-name{
    display:flex!important;
    align-items:center!important;
    min-height:66px!important;
    padding:0 clamp(10px,1.65vw,27px)!important;
    color:#5d6d70!important;
    font-size:inherit!important;
    font-weight:inherit!important;
    line-height:1!important;
    text-decoration:none!important;
    transition:color .16s ease,box-shadow .16s ease;
  }

  #homeCategoryNavigation .category:hover .category-name,
  #homeCategoryNavigation .category.active .category-name,
  #categoryNavigation .category:hover .category-name,
  #categoryNavigation .category.active .category-name{color:#173f48!important;box-shadow:inset 0 -3px 0 #16818c!important;}

  #homeCategoryNavigation .category-expand,
  #categoryNavigation .category-expand{display:none!important;}
  #homeCategoryNavigation .category::after,
  #categoryNavigation .category::after{display:none!important;}
  #homeCategoryNavigation .category:hover .submenu,
  #categoryNavigation .category:hover .submenu{display:none!important;}

  #homeCategoryNavigation .category .category-mega-menu,
  #categoryNavigation .category .category-mega-menu{
    position:absolute!important;
    z-index:1200!important;
    top:100%!important;
    left:50%!important;
    display:none!important;
    width:100vw!important;
    max-width:none!important;
    max-height:min(540px,calc(100dvh - 120px))!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:auto!important;
    transform:translateX(-50%)!important;
    border:0!important;
    border-top:1px solid #e1e7e7!important;
    border-bottom:1px solid #d8e1e1!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:0 18px 32px rgba(24,55,64,.13)!important;
  }

  #homeCategoryNavigation .category.active .category-mega-menu,
  #homeCategoryNavigation .category.is-wide-menu.active .category-mega-menu,
  #categoryNavigation .category.active .category-mega-menu,
  #categoryNavigation .category.is-wide-menu.active .category-mega-menu{display:block!important;}

  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser{
    display:grid!important;
    grid-template-columns:minmax(270px,30%) minmax(0,1fr)!important;
    min-height:480px!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
  }

  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar{
    display:grid!important;
    align-content:start!important;
    gap:3px!important;
    max-height:min(540px,calc(100dvh - 120px))!important;
    padding:22px clamp(22px,4vw,64px) 24px!important;
    overflow:auto!important;
    border-right:1px solid #e0e5e5!important;
    background:#fff!important;
  }

  #homeCategoryNavigation .category-browser-view-all,
  #categoryNavigation .category-browser-view-all{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:51px!important;
    padding:0 12px 0 45px!important;
    border-radius:0!important;
    background:transparent!important;
    color:#167b85!important;
    font-size:16px!important;
    font-weight:500!important;
    text-decoration:none!important;
  }
  #homeCategoryNavigation .category-browser-view-all::before,
  #categoryNavigation .category-browser-view-all::before{content:"";position:absolute;left:14px;width:18px;height:18px;background:radial-gradient(circle,#16818c 1.7px,transparent 2.3px) 0 0/8px 8px;}

  #homeCategoryNavigation .category-browser-subcategory,
  #categoryNavigation .category-browser-subcategory{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:58px!important;
    padding:0 12px 0 45px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#52656a!important;
    font:inherit!important;
    font-size:17px!important;
    font-weight:500!important;
    letter-spacing:0!important;
    text-align:left!important;
    cursor:pointer!important;
  }
  #homeCategoryNavigation .category-browser-subcategory::before,
  #categoryNavigation .category-browser-subcategory::before{content:"";position:absolute;left:15px;width:18px;height:18px;border:1.7px solid #17818d;border-radius:4px;opacity:.92;}
  #homeCategoryNavigation .category-browser-subcategory b,
  #categoryNavigation .category-browser-subcategory b{display:block!important;color:#546c70!important;font-size:31px!important;font-weight:300!important;line-height:1!important;}
  #homeCategoryNavigation .category-browser-subcategory:hover,
  #homeCategoryNavigation .category-browser-subcategory:focus-visible,
  #categoryNavigation .category-browser-subcategory:hover,
  #categoryNavigation .category-browser-subcategory:focus-visible{background:#f4f9f8!important;color:#173f48!important;outline:0!important;}
  #homeCategoryNavigation .category-browser-subcategory.is-active,
  #categoryNavigation .category-browser-subcategory.is-active{background:transparent!important;color:#173f48!important;font-weight:750!important;}
  #homeCategoryNavigation .category-browser-subcategory.is-active::before,
  #categoryNavigation .category-browser-subcategory.is-active::before{border-radius:50%!important;background:#e3f4f1!important;box-shadow:inset 0 0 0 5px #fff!important;}

  #homeCategoryNavigation .category-browser-content,
  #categoryNavigation .category-browser-content{
    min-width:0!important;
    max-height:min(540px,calc(100dvh - 120px))!important;
    padding:25px clamp(34px,6vw,102px) 32px!important;
    overflow:auto!important;
    background:#fff!important;
  }
  #homeCategoryNavigation .category-browser-all-articles,
  #categoryNavigation .category-browser-all-articles{display:flex!important;align-items:center!important;min-height:42px!important;margin:0 0 14px!important;padding:0!important;color:#177b85!important;font-size:16px!important;font-weight:500!important;text-decoration:none!important;}
  #homeCategoryNavigation .category-browser-all-articles:hover,
  #categoryNavigation .category-browser-all-articles:hover{text-decoration:underline!important;text-underline-offset:4px!important;}

  #homeCategoryNavigation .category-browser-types,
  #categoryNavigation .category-browser-types{display:grid!important;grid-template-columns:repeat(2,minmax(220px,1fr))!important;gap:0 clamp(36px,6vw,105px)!important;}
  #homeCategoryNavigation .category-browser-types a,
  #categoryNavigation .category-browser-types a{display:flex!important;align-items:center!important;min-height:57px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#52656a!important;font-size:17px!important;font-weight:450!important;line-height:1.25!important;text-decoration:none!important;transition:color .14s ease,transform .14s ease;}
  #homeCategoryNavigation .category-browser-types a:hover,
  #homeCategoryNavigation .category-browser-types a:focus-visible,
  #categoryNavigation .category-browser-types a:hover,
  #categoryNavigation .category-browser-types a:focus-visible{color:#167b85!important;outline:0!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:5px!important;transform:translateX(3px)!important;}
  #homeCategoryNavigation .category-browser-empty,
  #categoryNavigation .category-browser-empty{margin:4px 0!important;color:#66777b!important;font-size:15px!important;line-height:1.55!important;}
}

@media(min-width:720px) and (max-width:900px){
  #homeCategoryNavigation,
  #categoryNavigation{padding:0 10px!important;}
  #homeCategoryNavigation .category,
  #categoryNavigation .category{font-size:13px!important;}
  #homeCategoryNavigation .category-name,
  #categoryNavigation .category-name{padding:0 9px!important;}
  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser{grid-template-columns:minmax(220px,32%) minmax(0,1fr)!important;}
  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar{padding-left:18px!important;padding-right:18px!important;}
  #homeCategoryNavigation .category-browser-subcategory,
  #categoryNavigation .category-browser-subcategory{font-size:15px!important;}
  #homeCategoryNavigation .category-browser-content,
  #categoryNavigation .category-browser-content{padding-left:26px!important;padding-right:26px!important;}
  #homeCategoryNavigation .category-browser-types,
  #categoryNavigation .category-browser-types{grid-template-columns:1fr!important;gap:0!important;}
  #homeCategoryNavigation .category-browser-types a,
  #categoryNavigation .category-browser-types a{min-height:44px!important;font-size:15px!important;}
}

/* Une finition plus cocooning : des blancs chauds, des bords très doux et
   une hiérarchie calme. Le catalogue reste volontairement net et lisible. */
:root{
  --cream:#fffaf4;
  --surface:#fffefa;
  --surface-soft:#f8f4ee;
  --line:#e9e1d8;
  --shadow-soft:0 18px 42px rgba(71,54,37,.10);
}

body{
  background:
    radial-gradient(900px 400px at 50% -170px,rgba(255,239,218,.58),transparent 68%),
    #fcfaf7;
}

header{
  position:relative;
  z-index:20;
  border-bottom:1px solid #e8e0d8;
  background:rgba(255,254,251,.96);
  box-shadow:0 3px 14px rgba(67,52,37,.035);
}

header,.navbar{background:rgba(255,254,251,.96);}

.nav-search{
  border:1px solid #ebe2d9;
  background:#f7f3ed;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}

.nav-search:focus-within{
  border-color:#9dcfc6;
  background:#fffefa;
  box-shadow:0 0 0 4px rgba(25,188,179,.10),inset 0 1px 0 rgba(255,255,255,.9);
}

.hero{
  background:
    radial-gradient(680px 260px at 50% 0,rgba(255,232,204,.53),transparent 72%),
    linear-gradient(180deg,#fffaf4 0%,#fffdf9 100%);
}

.hero .trust{
  border-color:#eadfd4;
  background:rgba(255,254,251,.84);
  box-shadow:0 8px 20px rgba(86,66,44,.055);
}

.product,
.category-desktop-filters,
.category-mobile-filters,
.offers-page-section,
.profile-box,
.review-list li{
  border-color:#ebe3dc;
  background:#fffefa;
  box-shadow:0 12px 30px rgba(71,54,37,.06);
}

.product:hover{box-shadow:0 19px 38px rgba(71,54,37,.11);}

.how{
  background:linear-gradient(135deg,#0a4050 0%,#073b4c 56%,#0b4651 100%);
}

.how .steps article{
  border-color:rgba(255,255,255,.17);
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

footer{
  border-top:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,#073b4c,#0a4450);
}

@media(max-width:719px){
  header{border-bottom:1px solid #ebe3db;}
  .mobile-category-toggle{border-color:#e7ddd4;}
}

/* Accueil Emlly : une profondeur bleu nuit, lumineuse et feutrée. Cette
   ambiance reste réservée à l'introduction ; les annonces et catégories
   conservent leur fond clair pour rester simples à parcourir. */
.home-page .hero{
  background:
    radial-gradient(620px 310px at 50% 0,rgba(119,213,203,.20),transparent 72%),
    radial-gradient(420px 260px at 7% 95%,rgba(244,170,143,.13),transparent 74%),
    radial-gradient(430px 250px at 97% 90%,rgba(245,203,136,.14),transparent 75%),
    linear-gradient(180deg,#fffefa 0%,#fdf9f4 100%);
  color:#173f48;
}

.home-page .hero-copy{padding-top:78px;padding-bottom:72px;}

.home-page .hero .eyebrow{
  border:1px solid #cde6e1;
  background:rgba(255,255,255,.78);
  color:#16818c;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}

.home-page .hero h1{
  color:#173f48;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:780;
  letter-spacing:-.058em;
  text-wrap:balance;
}

.home-page .hero h1 em{color:#16818c;}

.home-page .hero .intro{color:#5d6d70;line-height:1.65;}

.home-page .hero .trust{
  border-color:#d5e7e3;
  background:rgba(255,255,255,.74);
  color:#173f48;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 30px rgba(24,59,74,.08);
}

.recent-listings-section{
  position:relative;
  background:linear-gradient(180deg,#fcfaf7 0%,#fffefa 100%);
}

.home-listings-heading .kicker{color:#16818c;}

@media(max-width:719px){
  .home-page .hero-copy{padding:44px 20px 40px;}
  .home-page .hero h1{font-size:clamp(31px,9vw,40px);letter-spacing:-.052em;}
  .home-page .hero .intro{font-size:14px;}
  .home-page .hero .trust{margin-top:20px;padding:9px 12px;font-size:11px;}
}

/* Le logo officiel reste lisible sur le bleu profond du pied de page. */
footer .logo{
  display:block;
  width:152px;
  height:66px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.42);
  border-radius:16px;
  background:#fffaf4 url("emlly-logo.png") center / 112px auto no-repeat;
  box-shadow:0 9px 20px rgba(0,0,0,.15);
  color:transparent;
  font-size:0;
  line-height:0;
}

footer .logo span,
footer .logo i{display:none;}

@media(max-width:719px){
  .offers-page-title-row{align-items:start;}
  .offers-refresh-button{min-height:39px;padding:0 11px;font-size:11px;}
  .offers-refresh-icon{font-size:17px;}
  .offers-page-tabs{display:flex;width:100%;margin-bottom:13px;}
  .offers-page-tab{flex:1;padding:0 8px;font-size:11px;white-space:nowrap;}
  .offers-page-section{padding:18px 15px;border-radius:17px;}
  footer .logo{width:135px;height:59px;background-size:100px auto;border-radius:14px;}
}

/* Un repère bleu doux sépare toujours la recherche de la navigation. */
header{
  border-bottom:2px solid #9acfc8;
  box-shadow:0 4px 14px rgba(7,59,76,.055);
}

/* Le logo du pied de page reprend le visuel officiel, en plus lisible. */
footer .logo{
  width:168px;
  height:72px;
  border:0;
  border-radius:15px;
  background:#fffdf9 url("emlly-logo.png?v=20260918-3") center / 128px auto no-repeat;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

@media(max-width:719px){
  footer .logo{
    width:145px;
    height:63px;
    background-size:111px auto;
  }
}

/* Même langage visuel sur ordinateur, tablette et téléphone. */
@media(min-width:720px){
  #homeCategoryNavigation,
  #categoryNavigation,
  .categories{
    min-height:66px;
    padding:0 clamp(18px,3vw,48px);
    background:#fff;
    border-bottom:1px solid #d8e1e1;
    box-shadow:none;
  }
  #homeCategoryNavigation .category-name,
  #categoryNavigation .category-name,
  .categories .category-name{
    min-height:66px;
    color:#5d6d70;
    font-size:16px;
    font-weight:500;
  }
  #homeCategoryNavigation .category:hover .category-name,
  #homeCategoryNavigation .category.active .category-name,
  #categoryNavigation .category:hover .category-name,
  #categoryNavigation .category.active .category-name,
  .categories .category:hover .category-name,
  .categories .category.active .category-name{
    color:#173f48;
    box-shadow:inset 0 -3px 0 #16818c;
  }
}

@media(max-width:719px){
  .mobile-category-toggle{
    display:flex;
    width:100%;
    min-height:48px;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:0;
    padding:0 16px;
    border:0;
    border-bottom:1px solid #d8e1e1;
    border-radius:0;
    background:#fff;
    box-shadow:none;
    color:#173f48;
    font-size:13px;
    font-weight:850;
  }
  .mobile-category-toggle span{color:#16818c;}
  #homeCategoryNavigation,
  #categoryNavigation{
    width:100%;
    margin:0;
    padding:4px 16px 12px;
    background:#fff;
    border:0;
    box-shadow:none;
  }
  #homeCategoryNavigation .category,
  #categoryNavigation .category{border-bottom-color:#e2eeec;}
  #homeCategoryNavigation .category-name,
  #categoryNavigation .category-name{color:#173f48;font-weight:800;}
  #homeCategoryNavigation .category-expand,
  #categoryNavigation .category-expand{color:#16818c;}
  #homeCategoryNavigation .category-mega-menu,
  #categoryNavigation .category-mega-menu{
    margin:0 0 10px!important;
    padding:8px!important;
    border:1px solid #d9e7e4!important;
    border-radius:16px!important;
    background:#fffefa!important;
    box-shadow:0 10px 22px rgba(0,0,0,.13);
  }
  #homeCategoryNavigation .category-browser,
  #categoryNavigation .category-browser{border-radius:11px;background:#fffefa;}
  #homeCategoryNavigation .category-browser-sidebar,
  #categoryNavigation .category-browser-sidebar{background:#f7fbfa;}
  #homeCategoryNavigation .category-browser-subcategory.is-active,
  #categoryNavigation .category-browser-subcategory.is-active{background:#e4f4f1;color:var(--ocean);}
}

/* La même signature visuelle qu'en tête de page apparaît dans le pied de page. */
footer .logo{
  background:#fffdf9 url("emlly-logo.png?v=20260927-2") center / 128px auto no-repeat;
}

/* Profil : cartes plus douces et coins arrondis sur tous les écrans. */
.profile-page .profile-header{
  padding:26px;
  border:1px solid #ebe3dc;
  border-radius:24px;
  background:#fffefa;
  box-shadow:0 12px 30px rgba(71,54,37,.06);
}
.profile-page .profile-box{
  padding:25px;
  border:1px solid #ebe3dc;
  border-radius:22px;
  background:#fffefa;
  box-shadow:0 12px 30px rgba(71,54,37,.06);
}
.profile-page .stats>div{border-radius:18px;border-color:#ebe3dc;background:#fffefa;box-shadow:0 8px 20px rgba(71,54,37,.045);}
.profile-page .info-grid>div{border:1px solid #eee7df;border-radius:15px;background:#fffcf8;}
@media(max-width:719px){
  .profile-page .profile-header{padding:19px 16px;border-radius:20px;}
  .profile-page .profile-box{padding:19px 16px;border-radius:18px;}
  .profile-page .stats>div{border-radius:16px;}
  .profile-page .info-grid>div{border-radius:13px;}
}
