/*
Theme Name: ListingHive Child
Template: listinghive
Version: 1.1
*/

/**
 * MobilHome17 – CSS global épuré
 * Version : 24/06/2026
 * Objectif :
 * - conserver ListingHive / HivePress ;
 * - améliorer les cartes annonces ;
 * - améliorer la fiche individuelle ;
 * - transformer la colonne droite de la fiche en carte commerciale ;
 * - supprimer les éléments inutiles au visiteur.
 */

/* ============================================================
   Variables
============================================================ */
body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes > .hp-listing__attribute:not(.hp-listing__attribute--prix)::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
:root {
  --mh17-blue: #123D8D;
  --mh17-blue-dark: #0D2E6E;
  --mh17-blue-soft: #EAF1FF;

  --mh17-green: #2FA84F;
  --mh17-green-dark: #21863E;
  --mh17-green-soft: #EAF8EF;

  --mh17-orange: #F28C28;
  --mh17-orange-dark: #D97706;
  --mh17-orange-soft: #FFF4E8;

  --mh17-yellow: #F5B400;
  --mh17-yellow-soft: #FFF7D6;

  --mh17-red: #D62828;
  --mh17-red-dark: #B91C1C;

  --mh17-bg: #F7F8FA;
  --mh17-white: #FFFFFF;
  --mh17-text: #1F2937;
  --mh17-muted: #667085;
  --mh17-border: #E5E7EB;

  --mh17-shadow: 0 16px 40px rgba(10, 46, 109, 0.12);
  --mh17-shadow-soft: 0 10px 28px rgba(16, 24, 40, 0.07);

  --mh17-radius: 22px;
  --mh17-radius-sm: 14px;
  --mh17-container: 1180px;
}

/* ============================================================
   Base MobilHome17
============================================================ */

.mh17-page,
.mh17-page * {
  box-sizing: border-box;
}

.mh17-page {
  color: var(--mh17-text);
  background: var(--mh17-bg);
}

.mh17-container {
  width: min(var(--mh17-container), calc(100% - 40px));
  margin: 0 auto;
}

.mh17-section {
  padding: 64px 0;
}

.mh17-eyebrow {
  margin: 0 0 8px;
  color: var(--mh17-blue);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .055em;
}

.mh17-section-header {
  max-width: 780px;
  margin: 0 0 30px;
}

.mh17-section-header h2 {
  margin: 0 0 12px;
  color: var(--mh17-blue-dark);
  font-size: clamp(26px, 3.4vw, 42px);
  line-height: 1.12;
  font-weight: 850;
}

.mh17-section-header p {
  margin: 0;
  color: var(--mh17-muted);
  font-size: 17px;
  line-height: 1.65;
}

/* ============================================================
   Boutons
============================================================ */

.mh17-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 48px;
  padding: 13px 20px;
  border-radius: 999px;
  border: 0;
  text-decoration: none !important;
  font-weight: 850;
  line-height: 1.2;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.mh17-btn:hover {
  transform: translateY(-2px);
  text-decoration: none !important;
}

.mh17-btn-primary {
  background: var(--mh17-orange);
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(242, 140, 40, .25);
}

.mh17-btn-primary:hover {
  background: var(--mh17-orange-dark);
}

.mh17-btn-secondary,
.mh17-btn-phone {
  background: var(--mh17-green);
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(47, 168, 79, .25);
}

.mh17-btn-secondary:hover,
.mh17-btn-phone:hover {
  background: var(--mh17-green-dark);
}

.mh17-btn-outline {
  background: #fff;
  color: var(--mh17-blue-dark) !important;
  border: 1px solid rgba(13, 46, 110, .18);
  box-shadow: var(--mh17-shadow-soft);
}

/* ============================================================
   Hero / sections simples
============================================================ */

.mh17-cover,
.mh17-page-hero {
  background: linear-gradient(180deg, #FFFFFF 0%, var(--mh17-bg) 100%);
  padding: 44px 0 34px;
}

.mh17-cover-inner,
.mh17-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  align-items: center;
  gap: 34px;
}

.mh17-cover h1,
.mh17-hero-title h1 {
  margin: 0 0 16px;
  color: var(--mh17-blue-dark);
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  font-weight: 900;
}

.mh17-cover-text,
.mh17-hero-text {
  max-width: 760px;
  margin: 0;
  color: var(--mh17-muted);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.6;
}

.mh17-cover-actions,
.mh17-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.mh17-hero-media,
.mh17-hero-media figure {
  position: relative;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
}

.mh17-hero-img,
.mh17-hero-media img {
  display: block;
  width: 100%;
  height: clamp(300px, 38vw, 455px);
  object-fit: cover;
  border-radius: 30px;
  box-shadow: var(--mh17-shadow);
}

/* ============================================================
   Cartes annonces ListingHive / HivePress
============================================================ */

.hp-listing--view-block {
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: var(--mh17-shadow-soft) !important;
  transition: transform .18s ease, box-shadow .18s ease;
}

.hp-listing--view-block:hover {
  transform: translateY(-4px);
  box-shadow: var(--mh17-shadow) !important;
}

.hp-listing--view-block .hp-listing__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hp-listing--view-block .hp-listing__created-date,
.hp-listing--view-block time,
.hp-listing__details time,
.hp-listing__verified-badge {
  display: none !important;
}

.hp-listing--view-block .hp-listing__title {
  font-size: 2rem !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  color: #062b60 !important;
  margin-top: 10px;
}

.hp-listing__categories a {
  background: var(--mh17-orange) !important;
  color: #ffffff !important;
  border: none !important;
}

.hp-listing--featured {
  border-color: var(--mh17-orange) !important;
  box-shadow: 0 15px 40px rgba(245, 130, 32, .15) !important;
}

.hp-listing--view-block .hp-listing__footer {
  display: block !important;
  padding: 18px 24px 22px;
}

.hp-listing--view-block .hp-listing__attributes--primary {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
}

.hp-listing--view-block .hp-listing__attribute {
  width: auto !important;
  white-space: normal;
}

.hp-listing--view-block .hp-listing__attribute--prix {
  width: 100% !important;
  display: block !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  color: #c75f00 !important;
  line-height: 1.1 !important;
  margin-bottom: 6px;
  white-space: nowrap !important;
}

.hp-listing--view-block .hp-listing__attribute--commune,
.hp-listing--view-block .hp-listing__attribute--distance-plage {
  display: inline-flex !important;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f4f6f8;
  font-size: 15px;
  font-weight: 700;
  color: #062b60;
  line-height: 1.25;
}

.hp-listing--view-block .hp-listing__attribute--distance-plage {
  color: var(--mh17-orange) !important;
}

.hp-listing--view-block .hp-listing__attribute--reference {
  font-size: 13px !important;
  color: #6b7280 !important;
  font-weight: 500 !important;
}

.hp-listing--view-block .hp-listing__attribute--surface-parcelle {
  display: none !important;
}

/* ============================================================
   Fiche individuelle HivePress
============================================================ */

body.single-hp_listing .site-content,
body.single-hp_listing .content-area,
body.single-hp_listing .hp-page {
  background: var(--mh17-bg);
}

body.single-hp_listing .hp-listing--view-page {
  max-width: 1180px;
  margin: 34px auto 70px !important;
  padding: 34px !important;
  border-radius: 30px !important;
  background: #fff !important;
  box-shadow: var(--mh17-shadow) !important;
}

/* Titre fiche */
body.single-hp_listing .hp-listing__title,
body.single-hp_listing h1 {
  color: var(--mh17-blue-dark) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
}

/* Galerie */
body.single-hp_listing .hp-listing__images,
body.single-hp_listing .hp-listing__image,
body.single-hp_listing .hp-listing__gallery,
body.single-hp_listing .hp-listing__images-slider {
  border-radius: 28px !important;
  overflow: hidden !important;
  background: #eef2f7 !important;
  box-shadow: var(--mh17-shadow-soft) !important;
}

body.single-hp_listing .hp-listing__images img,
body.single-hp_listing .hp-listing__image img,
body.single-hp_listing .hp-listing__gallery img,
body.single-hp_listing .hp-listing__images-slider img {
  border-radius: 22px !important;
  object-fit: cover !important;
}

/* Description */
body.single-hp_listing .hp-listing__description {
  margin-top: 28px !important;
  padding: 28px !important;
  border-radius: 24px !important;
  background: #fff !important;
  border: 1px solid var(--mh17-border) !important;
  color: var(--mh17-text) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

/* Boutons HivePress */
.hp-form__button,
.hp-button,
button.hp-button,
body.single-hp_listing .hp-button,
body.single-hp_listing button,
body.single-hp_listing input[type="submit"] {
  border-radius: 999px !important;
  background: var(--mh17-orange) !important;
  color: #fff !important;
  font-weight: 850 !important;
}

.hp-form__button:hover,
.hp-button:hover,
button.hp-button:hover,
body.single-hp_listing .hp-button:hover,
body.single-hp_listing button:hover,
body.single-hp_listing input[type="submit"]:hover {
  background: var(--mh17-orange-dark) !important;
}

/* ============================================================
   Fiche individuelle : colonne droite commerciale
   IMPORTANT :
   - Ne pas mettre d'emojis.
   - Les icônes FA sont ajoutées via CSS Font Awesome.
   - Si FA ne se charge pas, seules les valeurs restent visibles.
============================================================ */

/* Neutralise l'ancienne grille globale dans la sidebar */
body.single-hp_listing .mh17-listing-sidebar .hp-listing__attributes,
body.single-hp_listing .mh17-listing-sidebar .hp-listing__attributes--primary,
body.single-hp_listing .mh17-listing-sidebar .hp-listing__attributes--secondary {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Carte principale */
body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes {
  display: block !important;
  padding: 24px !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08) !important;
}

/* Chaque attribut */
body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes > .hp-listing__attribute {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 13px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #edf2f7 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  color: var(--mh17-blue-dark) !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes > .hp-listing__attribute:last-child {
  border-bottom: 0 !important;
}

/* Prix */
body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes > .hp-listing__attribute--prix {
  display: block !important;
  padding: 0 0 20px !important;
  margin: 0 0 4px !important;
  border-bottom: 1px solid #edf2f7 !important;
  font-size: clamp(34px, 3.2vw, 44px) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
  color: var(--mh17-orange-dark) !important;
  white-space: nowrap !important;
}

body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes > .hp-listing__attribute--prix::after {
  content: " €";
  margin-left: 6px;
  font-size: .72em;
  font-weight: 900;
}

/* Icônes Font Awesome dans la sidebar */
body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes > .hp-listing__attribute:not(.hp-listing__attribute--prix)::before {
  display: inline-flex;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--mh17-orange-soft);
  color: var(--mh17-orange-dark);
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 14px;
}

/* FA codes */
body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--commune::before {
  content: "\f3c5"; /* fa-location-dot */
}

body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--reference::before {
  content: "\f2c2"; /* fa-id-card */
}

body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--terrain-viabilise::before {
  content: "\f0e7"; /* fa-bolt */
}

body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--mobil-home-present::before {
  content: "\f015"; /* fa-house */
}

body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--distance-plage::before {
  content: "\f5ca"; /* fa-umbrella-beach */
}

body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--surface-parcelle::before,
body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--surface::before {
  content: "\f546"; /* fa-ruler-combined */
}

/* Suppression des blocs vides / vendeur */
body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-secondary:empty,
body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-ternary:empty,
body.single-hp_listing .mh17-listing-sidebar .hp-listing__actions:empty,
body.single-hp_listing .mh17-listing-sidebar .hp-vendor,
body.single-hp_listing .mh17-listing-sidebar .hp-vendor--view-block {
  display: none !important;
}

/* ============================================================
   Navigation / éléments inutiles
============================================================ */

.header-navbar__actions,
.hp-menu--user-account,
.hp-link--user-login,
.hp-link--listing-submit,
.menu-item--user-account {
  display: none !important;
}

/* ============================================================
   Avis / CTA / blocs divers conservés
============================================================ */

.mh17-cta,
.mh17-final-cta {
  background: #fff;
}

.mh17-cta-inner,
.mh17-cta-panel {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 30px;
  border-radius: 28px;
  background: linear-gradient(135deg, var(--mh17-blue-dark), var(--mh17-blue));
  color: #fff;
  box-shadow: var(--mh17-shadow);
}

.mh17-cta h2,
.mh17-cta-panel h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(25px, 3vw, 38px);
  line-height: 1.15;
  font-weight: 900;
}

.mh17-cta p,
.mh17-cta-panel p {
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: 17px;
}

/* ============================================================
   Responsive
============================================================ */

@media (max-width: 1024px) {
  .mh17-cover-inner,
  .mh17-hero-grid,
  .mh17-cta-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  body.single-hp_listing .hp-listing--view-page {
    margin: 18px 14px 48px !important;
    padding: 20px !important;
    border-radius: 24px !important;
  }
}

@media (max-width: 700px) {
  .mh17-container {
    width: min(100% - 28px, var(--mh17-container));
  }

  .mh17-section {
    padding: 46px 0;
  }

  .mh17-cover,
  .mh17-page-hero {
    padding-top: 20px;
  }

  .mh17-cover-inner,
  .mh17-hero-grid {
    grid-template-columns: 1fr;
  }

  .mh17-cover h1,
  .mh17-hero-title h1 {
    font-size: clamp(31px, 10vw, 42px);
  }

  .mh17-cover-actions,
  .mh17-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .mh17-btn {
    width: 100%;
  }

  .mh17-hero-img,
  .mh17-hero-media img {
    height: 275px;
  }

  body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes {
    margin-top: 24px !important;
  }

  body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes > .hp-listing__attribute--prix {
    font-size: 34px !important;
  }
}
body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes > .hp-listing__attribute--prix {
  font-size: 42px !important;
  color: #d97706 !important;
}

body.single-hp_listing .mh17-listing-sidebar .mh17-sidebar-primary.hp-listing__attributes > .hp-listing__attribute:not(.hp-listing__attribute--prix) {
  font-size: 16px !important;
  font-weight: 700 !important;
}
.hp-listing__attribute--annee::before
.hp-listing__attribute--nb_chambres::before
.hp-listing__attribute--surface_habitable::before
.hp-listing__attribute--annee::before
.hp-listing__attribute--nb_chambres::before
.hp-listing__attribute--surface_habitable::before
body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--annee::before {
  content: "\f073"; /* calendar */
}

body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--nb_chambres::before {
  content: "\f236"; /* bed */
}

body.single-hp_listing .mh17-listing-sidebar .hp-listing__attribute--surface_habitable::before {
  content: "\f546"; /* ruler-combined */
}

.hp-home-links a {
    color: #D97706;
    font-weight: 600;
}