/* Domocaz — styles front minimalistes, à adapter au thème enfant Kadence */

:root {
    --domocaz-primary: #0F6E56;
    --domocaz-accent: #D85A30;
    --domocaz-text: #2C2C2A;
    --domocaz-bg: #F1EFE8;
    /* Largeur maximale du texte éditorial des pages hub (protocole/catégorie).
       Augmenter pour un texte plus large, diminuer pour une colonne plus étroite. */
    --domocaz-largeur-contenu: 1200px;
}

.domocaz-annonces-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.5rem;
    margin: 1.5rem 0;
    align-items: start;
}

.domocaz-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #fff;
}

.domocaz-badge--disponible {
    background: var(--domocaz-primary);
}

.domocaz-badge--reserve {
    background: #C9A227;
}

.domocaz-badge--vendu {
    background: #8a8a85;
}

.domocaz-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    white-space: nowrap;
    box-sizing: border-box;
    font-size: 0.95rem;
    background: var(--domocaz-primary);
    color: #fff;
    border: none;
    padding: 0.6rem 1.4rem;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    text-decoration: none;
    margin: 0.5rem 0.5rem 0.5rem 0;
}

.domocaz-btn--secondary {
    background: var(--domocaz-accent);
}

.domocaz-gallery {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    margin: 1rem 0;
}

.domocaz-gallery img {
    height: 220px;
    border-radius: 8px;
}

.domocaz-disclaimer {
    font-size: 0.85rem;
    color: #6b6a64;
    border-top: 1px solid #e0ded6;
    padding-top: 1rem;
    margin-top: 1.5rem;
}

.domocaz-faq-item {
    margin-bottom: 1rem;
}

.domocaz-faq-question {
    font-weight: 600;
    color: var(--domocaz-text);
}

.domocaz-form-depot p {
    margin-bottom: 1rem;
}

.domocaz-form-depot label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.3rem;
}

.domocaz-form-depot input:not([type="checkbox"]):not([type="radio"]),
.domocaz-form-depot select,
.domocaz-form-depot textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.9rem;
    background-color: #fff;
}

.domocaz-form-depot input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
.domocaz-form-depot select {
    height: 42px;
}

.domocaz-form-depot select {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14"><path fill="%232C2C2A" d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 0.6rem center;
    padding-right: 2rem;
}

.domocaz-form-notice {
    background: var(--domocaz-bg);
    padding: 0.75rem;
    border-radius: 6px;
    font-size: 0.85rem;
}

.domocaz-login-prompt {
    background: #fff;
    border: 1px solid #e0ded6;
    border-radius: 12px;
    padding: 1.5rem;
    max-width: 400px;
}

.domocaz-login-prompt h3 {
    color: var(--domocaz-primary);
    font-family: "Poppins", sans-serif;
    margin-top: 0;
}

.domocaz-login-prompt label {
    display: block;
    font-weight: 600;
    margin: 0.8rem 0 0.3rem;
}

.domocaz-login-prompt input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.6rem 0.75rem;
    border: 1px solid #ccc;
    border-radius: 6px;
}

.domocaz-login-prompt p.submit {
    margin-top: 1rem;
}

.domocaz-login-register {
    margin-top: 1rem;
    font-size: 0.9rem;
    text-align: center;
}

#loginform input[type="submit"] {
    display: inline-flex;
    background: var(--domocaz-primary);
    color: #fff;
    border: none;
    padding: 0.6rem 1.4rem;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    width: auto;
}

.domocaz-google-signin {
    text-align: center;
    margin-bottom: 1rem;
}

.domocaz-google-signin-separator {
    color: #8a8a85;
    font-size: 0.85rem;
    margin: 1rem 0;
    position: relative;
}

.domocaz-google-signin-separator::before,
.domocaz-google-signin-separator::after {
    content: "";
    display: inline-block;
    width: 35%;
    height: 1px;
    background: #e0ded6;
    vertical-align: middle;
    margin: 0 0.5rem;
}

.domocaz-filters-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 1rem 0;
}

.domocaz-filters-search {
    flex-basis: 100%;
    max-width: none !important;
}

.domocaz-filters-form select,
.domocaz-filters-form input[type="text"],
.domocaz-filters-form input[type="number"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    width: auto;
    max-width: 180px;
    height: 40px;
    padding: 0 2rem 0 0.75rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #fff;
    font-size: 0.9rem;
    line-height: 40px;
}

.domocaz-filters-form select {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14"><path fill="%232C2C2A" d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 0.6rem center;
    cursor: pointer;
}

.domocaz-filters-form button {
    height: 40px;
    padding: 0 1.2rem;
    border: 1px solid var(--domocaz-primary);
    border-radius: 6px;
    background: var(--domocaz-primary);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.domocaz-voir-toutes {
    text-align: center;
    margin-top: 1rem;
}

/* ===== En-tête section homepage (compteur + onglets de tri) ===== */

.domocaz-homepage-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
}

.domocaz-badge-count {
    display: inline-block;
    background: #E4F2EC;
    color: var(--domocaz-primary);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    margin-left: 0.5rem;
    vertical-align: middle;
}

.domocaz-homepage-subtitle {
    color: #6b6a64;
    margin-top: 0.25rem;
}

.domocaz-sort-tabs {
    display: flex;
    gap: 0.4rem;
}

.domocaz-sort-tab {
    padding: 0.5rem 1rem;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #e0ded6;
    color: var(--domocaz-text);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 500;
}

.domocaz-sort-tab.is-active {
    background: var(--domocaz-primary);
    border-color: var(--domocaz-primary);
    color: #fff;
}

/* ===== Carte annonce (maquette) ===== */

.domocaz-card {
    background: #fff;
    border: 1px solid #e0ded6;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
    max-width: 320px;
    width: 100%;
}

.domocaz-card:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.domocaz-card-media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f1efe8;
}

.domocaz-card-media img,
.domocaz-card-media img.wp-post-image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
}

.domocaz-tag-overlay {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(15, 110, 86, 0.92);
    color: #fff !important;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    text-decoration: none !important;
}

.domocaz-favorite-toggle {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.domocaz-favorite-toggle.is-active {
    color: var(--domocaz-accent);
}

/* Requête en cours : le cœur est grisé et ne réagit plus (évite le double clic). */
.domocaz-favorite-toggle.is-loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Message temporaire (retours d'erreur, par exemple sur les favoris). */
.domocaz-toast {
    position: fixed;
    left: 50%;
    bottom: 1.5rem;
    z-index: 10000;
    max-width: min(90vw, 460px);
    padding: 0.75rem 1.1rem;
    border-radius: 8px;
    background: var(--domocaz-text);
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.4;
    text-align: center;
    opacity: 0;
    transform: translate(-50%, 10px);
    transition: opacity 0.25s ease, transform 0.25s ease;
    pointer-events: none;
}

.domocaz-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.domocaz-badge-overlay {
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    border-radius: 6px;
    color: #fff;
    background: rgba(44, 44, 42, 0.85);
}

.domocaz-badge-overlay--reserve {
    background: var(--domocaz-accent);
}

.domocaz-card-body {
    padding: 0.9rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.domocaz-card-meta-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    color: #8a8a85;
    margin-bottom: 0.3rem;
}

.domocaz-card-title-link {
    text-decoration: none;
}

.domocaz-card-title {
    color: var(--domocaz-text);
    font-size: 1rem;
    margin: 0 0 0.5rem;
}

.domocaz-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.6rem;
}

.domocaz-tag {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: #E4F2EC;
    color: var(--domocaz-primary) !important;
    text-decoration: none !important;
}

.domocaz-tag:hover {
    background: var(--domocaz-primary);
    color: #fff !important;
}

.domocaz-card-vendeur {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.7rem;
    font-size: 0.85rem;
}

.domocaz-vendeur-nom,
.domocaz-vendeur-nom:link,
.domocaz-vendeur-nom:visited {
    color: var(--domocaz-text) !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    font-weight: 500;
}

.domocaz-avatar {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--domocaz-primary);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.domocaz-verified-check {
    color: var(--domocaz-primary);
    font-weight: 700;
}

.domocaz-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0.5rem;
    border-top: 1px solid #eeece5;
    padding-top: 0.7rem;
    margin-top: auto;
}

.domocaz-card-prix {
    display: block;
    color: var(--domocaz-accent);
    font-weight: 700;
    font-size: 1.2rem;
}

.domocaz-card-prix--inactif {
    color: #b3b2ac;
}

.domocaz-card-souscription {
    display: block;
    font-size: 0.75rem;
    color: #8a8a85;
}

.domocaz-card-footer .domocaz-btn {
    margin: 0;
    flex-shrink: 0;
}

.domocaz-btn--outline {
    background: transparent;
    color: var(--domocaz-primary);
    border: 1px solid var(--domocaz-primary);
    padding: 0.4rem 1rem;
    font-size: 0.85rem;
}

.domocaz-btn--disabled {
    background: #ece9e1;
    color: #b3b2ac;
    padding: 0.4rem 1rem;
    font-size: 0.85rem;
    border-radius: 6px;
    cursor: not-allowed;
}

/* Contenu éditorial d'une page hub (Page liée à un protocole/une catégorie).
   Classe dédiée, distincte de l'ancien ".domocaz-hub-intro" : ne peut donc pas
   hériter d'une ancienne règle de largeur restrictive, même si une ancienne
   version de cette feuille de style était encore servie par un cache. */
/* Centrage : le bloc est centré et plafonné à --domocaz-largeur-contenu.
   Tant que l'écran est plus étroit que cette valeur, il occupe toute la
   largeur du conteneur (donc reste aligné avec le titre et la grille) ; au-delà,
   il reste centré. Aucune marge latérale propre : pas de décalage avec le titre. */
body .domocaz-hub-contenu {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--domocaz-largeur-contenu);
    margin: 0 auto 1.5rem !important;
    padding: 0;
}

body .domocaz-hub-contenu > * {
    max-width: none !important;
}

/* Extrait d'introduction d'une page hub : même largeur de lecture que le
   contenu éditorial, avec un texte légèrement plus grand. */
body .domocaz-hub-extrait {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--domocaz-largeur-contenu);
    margin: 0 auto 1.5rem !important;
    padding: 0;
    font-size: 1.05rem;
    line-height: 1.6;
    color: #4a4a47;
}

body .domocaz-hub-extrait p {
    margin: 0 0 0.75rem;
}

/* Grille de spécifications (formulaire de dépôt) : les champs masqués selon
   les protocoles cochés doivent réellement disparaître. */
.domocaz-spec-field[hidden],
.domocaz-specs-group[hidden],
.domocaz-spec-shared[hidden],
.domocaz-specs-fieldset[hidden] {
    display: none !important;
}

/* Une section par protocole, avec ses champs sur plusieurs colonnes. */
.domocaz-specs-group {
    margin-top: 1rem;
    padding-top: 0.8rem;
    border-top: 1px solid #eeece5;
}

.domocaz-specs-group-title {
    margin: 0 0 0.6rem;
    font-family: "Poppins", sans-serif;
    font-size: 1rem;
    color: var(--domocaz-accent);
}

.domocaz-specs-group-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0 1rem;
}

/* Mention "Commun à : ..." sous un champ partagé entre plusieurs protocoles. */
.domocaz-spec-shared {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #8a8a85;
}

/* Deuxième tableau de la fiche annonce : spécifications déclarées par le vendeur. */
.domocaz-specs-sous-titre {
    margin-top: 1.5rem;
}

/* Bloc annonces (filtres + grille + pagination) d'une page hub. */
.domocaz-listing {
    margin-bottom: 2.5rem;
}

/* ===== Pagination des annonces (Ajax) ===== */

.domocaz-pagination {
    margin: 1.5rem 0 0;
    text-align: center;
}

.domocaz-pagination-nav {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

.domocaz-page-link,
.domocaz-page-current {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 0.8rem;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none !important;
}

.domocaz-page-link {
    background: #fff;
    border: 1px solid #e0ded6;
    color: var(--domocaz-text) !important;
}

.domocaz-page-link:hover {
    border-color: var(--domocaz-primary);
    color: var(--domocaz-primary) !important;
}

.domocaz-page-current {
    background: var(--domocaz-primary);
    border: 1px solid var(--domocaz-primary);
    color: #fff;
}

.domocaz-page-gap {
    color: #8a8a85;
    padding: 0 0.2rem;
}

.domocaz-hub-intro {
    color: var(--domocaz-text);
    max-width: none !important;
    width: 100%;
    margin: 0 0 1.5rem;
}

/* Le bloc Shortcode de Gutenberg (ou un conteneur "constrained") peut
   lui-même limiter la largeur de son contenu : on l'élargit aussi quand
   il contient directement notre contenu éditorial de page hub. */
.wp-block-shortcode:has(> .domocaz-hub-intro) {
    max-width: none !important;
}

/* ===== Lien "Connexion" / "Mon compte" dans le menu, selon l'état de connexion =====
   WordPress ajoute automatiquement la classe "logged-in" sur <body> pour un
   utilisateur connecté. Applique la classe "domocaz-only-logged-out" au lien
   "Connexion" et "domocaz-only-logged-in" au lien "Mon compte" dans le menu
   (Éditeur de site > Navigation > sélectionner le lien > Avancé > Classes CSS
   supplémentaires), et ce CSS masque automatiquement celui qui ne s'applique
   pas à l'état courant. */

body:not(.logged-in) .domocaz-only-logged-in {
    display: none !important;
}

body.logged-in .domocaz-only-logged-out {
    display: none !important;
}

/* ===== Fil d'Ariane ===== */

.domocaz-breadcrumb {
    font-size: 0.8rem;
    color: #8a8a85;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.5rem;
}

.domocaz-breadcrumb a {
    color: #8a8a85 !important;
    text-decoration: none !important;
}

.domocaz-breadcrumb a:hover {
    color: var(--domocaz-primary) !important;
}

.domocaz-breadcrumb-current {
    color: var(--domocaz-text);
    font-weight: 500;
}

/* ===== Mise en page fiche annonce (deux colonnes) ===== */

.domocaz-fiche-layout {
    align-items: flex-start;
    gap: 2.5rem;
}

.domocaz-fiche-colonne-principale > *:first-child,
.domocaz-fiche-colonne-laterale > *:first-child {
    margin-top: 0 !important;
}

.domocaz-fiche-galerie {
    margin-top: 0;
}

.domocaz-fiche-sidebar {
    margin-top: 0;
}

.domocaz-fiche-colonne-laterale {
    position: sticky;
    top: 1.5rem;
}

@media (max-width: 781px) {
    .domocaz-fiche-colonne-laterale {
        position: static;
    }
}

/* ===== Galerie fiche ===== */

.domocaz-fiche-galerie {
    position: relative;
    margin-bottom: 1.5rem;
}

.domocaz-fiche-statut {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
}

.domocaz-fiche-galerie-principale {
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #f1efe8;
}

.domocaz-fiche-photo-principale {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    margin: 0 !important;
}

.domocaz-fiche-vignettes {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.6rem;
    overflow-x: auto;
}

.domocaz-fiche-vignette {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.15s ease;
}

.domocaz-fiche-vignette:hover {
    border-color: #ccc;
}

.domocaz-fiche-vignette.is-active {
    border-color: var(--domocaz-primary);
}

.domocaz-fiche-etat {
    margin-top: 0.8rem;
    color: var(--domocaz-text);
}

.domocaz-fiche-protocoles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.6rem;
}

.domocaz-specs {
    margin: 1.5rem 0;
}

.domocaz-specs h3 {
    font-family: "Poppins", sans-serif;
    color: var(--domocaz-primary);
    margin-bottom: 0.6rem;
}

.domocaz-specs-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e0ded6;
    border-radius: 10px;
    overflow: hidden;
}

.domocaz-specs-table tr:nth-child(even) {
    background: #f8f7f3;
}

.domocaz-specs-table th,
.domocaz-specs-table td {
    text-align: left;
    padding: 0.65rem 1rem;
    font-size: 0.9rem;
    border-bottom: 1px solid #eeece5;
}

.domocaz-specs-table tr:last-child th,
.domocaz-specs-table tr:last-child td {
    border-bottom: none;
}

.domocaz-specs-table th {
    width: 40%;
    color: #6b6a64;
    font-weight: 500;
}

.domocaz-specs-table td {
    color: var(--domocaz-text);
    font-weight: 600;
}

.domocaz-specs-table td a {
    color: var(--domocaz-primary) !important;
    text-decoration: none !important;
}

.domocaz-specs-table td a:hover {
    text-decoration: underline !important;
}

/* ===== Sidebar prix/contact ===== */

.domocaz-fiche-sidebar {
    background: #fff;
    border: 1px solid #e0ded6;
    border-radius: 12px;
    padding: 1.25rem;
}

.domocaz-fiche-prix {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--domocaz-accent);
    margin: 0;
}

.domocaz-fiche-prix-neuf {
    font-size: 0.8rem;
    color: #8a8a85;
    margin-top: 0.1rem;
}

.domocaz-fiche-lieu {
    margin-top: 0.8rem;
    color: var(--domocaz-text);
}

/* Image par défaut (annonce sans photo) */
.domocaz-image-defaut {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #F1EFE8;
}

.domocaz-fiche-galerie--defaut .domocaz-image-defaut {
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
}

.domocaz-fiche-sans-photo {
    margin: 0.6rem 0 0;
    font-size: 0.85rem;
    color: #6b6a64;
    text-align: center;
}

.domocaz-fiche-date {
    margin: 0 0 0.4rem;
    font-size: 0.85rem;
    color: #6b6a64;
}

.domocaz-fiche-modalite {
    font-size: 0.85rem;
    color: #8a8a85;
}

.domocaz-fiche-raison {
    font-size: 0.85rem;
    margin-top: 0.8rem;
}

.domocaz-login-hint {
    font-size: 0.85rem;
    text-align: center;
    margin-top: 0.5rem;
}

.domocaz-contact-result {
    font-size: 0.85rem;
    margin-top: 0.5rem;
    padding: 0.6rem 0.75rem;
    border-radius: 6px;
}

.domocaz-contact-result.is-success {
    background: #E4F2EC;
    color: var(--domocaz-primary);
}

.domocaz-contact-result.is-error {
    background: #FBEAE4;
    color: var(--domocaz-accent);
}

.domocaz-contact-result p {
    margin: 0;
}

.domocaz-contact-form-panel {
    margin-top: 0.6rem;
}

.domocaz-contact-form-panel label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.3rem;
}

.domocaz-contact-form-panel textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0.6rem 0.75rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.9rem;
    font-family: inherit;
    margin-bottom: 0.6rem;
    resize: vertical;
}

/* ===== Bannière de confirmation d'email ===== */

.domocaz-verif-notice {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    padding: 0.9rem 3rem 0.9rem 1.5rem;
    text-align: center;
    font-size: 0.9rem;
    font-weight: 500;
}

.domocaz-verif-notice--succes {
    background: var(--domocaz-primary);
    color: #fff;
}

.domocaz-verif-notice--echec {
    background: var(--domocaz-accent);
    color: #fff;
}

.domocaz-verif-notice-close {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: inherit;
    font-size: 1.3rem;
    cursor: pointer;
    line-height: 1;
}

.domocaz-btn--full {
    display: flex;
    width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.3;
    margin: 0.6rem 0 0;
}

/* ===== Annonces similaires ===== */

.domocaz-similaires {
    margin-top: 3rem;
    border-top: 1px solid #e0ded6;
    padding-top: 1.5rem;
}

/* ===== Mes annonces (espace connecté) ===== */

.domocaz-mes-annonces-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e0ded6;
    border-radius: 10px;
    overflow: hidden;
}

.domocaz-mes-annonces-table th,
.domocaz-mes-annonces-table td {
    text-align: left;
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #eeece5;
    font-size: 0.9rem;
}

.domocaz-mes-annonces-table th {
    background: #f8f7f3;
    color: #6b6a64;
    font-weight: 600;
}

.domocaz-mes-annonces-table tr:last-child td {
    border-bottom: none;
}

.domocaz-mes-annonces-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.domocaz-mes-annonces-actions .domocaz-btn {
    padding: 0.4rem 0.9rem;
    font-size: 0.8rem;
}

/* ===== Formulaire de dépôt (sections) ===== */

.domocaz-form-section {
    border: 1px solid #e0ded6;
    border-radius: 10px;
    padding: 1.2rem 1.5rem 0.5rem;
    margin: 0 0 1.5rem;
}

.domocaz-form-section legend {
    font-weight: 700;
    color: var(--domocaz-primary);
    font-family: "Poppins", sans-serif;
    padding: 0 0.5rem;
}

.domocaz-form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0 1rem;
}

.domocaz-form-hint {
    display: block;
    font-size: 0.75rem;
    font-weight: 400;
    color: #8a8a85;
    margin-bottom: 0.4rem;
}

.domocaz-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.domocaz-checkbox-item {
    display: inline-flex !important;
    align-items: center;
    gap: 0.3rem;
    font-weight: 400 !important;
    background: #f1efe8;
    border: 1px solid #e0ded6;
    border-radius: 999px;
    padding: 0.3rem 0.7rem;
    font-size: 0.85rem;
    cursor: pointer;
}

.domocaz-checkbox-item input {
    width: auto !important;
    height: auto !important;
    accent-color: var(--domocaz-primary);
}

/* ===== Bandeau d'accueil « Comment ça marche ? » ===== */

.domocaz-hiw {
    box-sizing: border-box;
    padding: 2rem 1.5rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e0ded6;
    text-align: center;
}

.domocaz-hiw-title {
    margin: 0 0 1.5rem;
    color: var(--domocaz-primary);
}

.domocaz-hiw-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}

.domocaz-hiw-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.domocaz-hiw-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--domocaz-accent);
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-weight: 700;
}

.domocaz-hiw-step-title {
    font-family: "Poppins", sans-serif;
    font-size: 1.1rem;
    color: var(--domocaz-text);
}

.domocaz-hiw-step-text {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #4a4a47;
}

.domocaz-hiw-note {
    margin: 0 0 1.2rem;
    font-size: 0.85rem;
    color: #6b6a64;
}

.domocaz-hiw-cta {
    margin: 0;
}
