/* TIYO — CSS complet nettoyé : ordinateur, mobile, français et arabe.
 * Remplacer tout le CSS additionnel par ce fichier.
 * Garder les extraits Code Snippets du menu, de l'en-tête et des contacts.
 */

/* 1. Styles généraux et ordinateur */
.custom-logo {
  width: 160px !important;
  max-width: 100%;
  height: auto !important;
  object-fit: contain;
}

.home .hp-listing-category--view-block {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  height: 100px !important;
  min-height: 100px !important;
  padding: 12px !important;
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  background: #f3f4f6 !important;
}

.home .hp-listing-category__header {
  height: 100%;
}

.home .hp-listing-category__image {
  position: absolute !important;
  top: 50% !important;
  right: 4px !important;
  left: auto !important;
  width: 115px !important;
  height: 86px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: translateY(-50%) !important;
}

.home .hp-listing-category__image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.home .hp-listing-category__image img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 0 !important;
  clip-path: none !important;
  transform: none !important;
}

.home .hp-listing-category__image a::after,
.home .hp-listing-category__item-count,
.home .hp-listing-category__description {
  display: none !important;
}

.home .hp-listing-category__content {
  position: absolute !important;
  z-index: 2;
  top: 14px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  width: calc(100% - 135px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.home .hp-listing-category__name,
.home .hp-listing-category__name a {
  position: relative !important;
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #222 !important;
  text-decoration: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

.home .hp-listing-category__image a[href$="/vehicules/"],
.home .hp-listing-category__image a[href$="/vehicules"] {
  background: url("https://tiyogo.ma/wp-content/uploads/2026/10/Citadine-rouge-compacte.png") center / contain no-repeat !important;
}

.home .hp-listing-category__image a[href$="/vehicules/"] img,
.home .hp-listing-category__image a[href$="/vehicules"] img {
  visibility: hidden !important;
}

.home .hp-listing--view-block {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
  transition: transform .2s ease;
}

.home .hp-listing--view-block:hover {
  transform: translateY(-3px);
}

.home .hp-listing--view-block .hp-listing__image img {
  width: 100%;
  height: 220px;
  object-fit: contain;
  background: #f9fafb;
}

.home .hp-listing--view-block .hp-listing__title,
.home .hp-listing--view-block .hp-listing__title a {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #183153 !important;
  text-decoration: none;
}

.home .hp-listing--view-block .hp-listing__title a:hover {
  color: #2563eb !important;
}

.home .hp-listing--view-block .hp-listing__attribute--prix,
.home .hp-listing--view-block .hp-listing__attribute--price {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #16a34a !important;
}

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

.home .hp-listing--view-block .hp-listing__created-date {
  font-size: 11px !important;
  color: #94a3b8 !important;
}

.home .hp-listing--view-block .hp-listing__category {
  font-size: 11px !important;
  color: #64748b !important;
}

.home .hp-form--listing-search {
  background: #f8fafc;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .04);
}

.home .hp-form--listing-search input {
  border-radius: 9px !important;
  font-size: 16px !important;
  background: #fff;
}

.home .hp-form--listing-search button {
  background: #168b50 !important;
  color: #fff !important;
  border-radius: 9px !important;
  font-weight: 700 !important;
  transition: background .2s ease;
}

.home .hp-form--listing-search button:hover {
  background: #116b3e !important;
}

.hp-listing--view-page {
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  transform: none;
}

.hp-listing--view-page h1.hp-listing__title {
  color: #102b56;
  font-size: clamp(25px, 3vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
  margin-bottom: 12px;
}

.hp-listing--view-page .hp-listing__details--primary {
  color: #64748b;
  font-size: 14px;
  margin-bottom: 16px;
}

.hp-listing--view-page .hp-page__topbar {
  margin-bottom: 20px;
  padding-bottom: 10px;
}

.hp-listing--view-page .hp-listing__images {
  background: #f3f5f7;
  border: 1px solid #e5eaf0;
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 28px;
}

.hp-listing--view-page .hp-listing__images img {
  object-fit: contain;
  background: #f3f5f7;
}

.hp-listing--view-page .hp-listing__description {
  padding: 24px;
  background: #fff;
  border: 1px solid #e5eaf0;
  border-radius: 16px;
  color: #334155;
  font-size: 16px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.hp-listing--view-page .hp-page__sidebar .hp-listing__attributes--primary {
  padding: 24px;
  background: #fff;
  border: 1px solid #e5eaf0;
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(16, 43, 86, .08);
}

.hp-listing--view-page .hp-page__sidebar .hp-listing__attribute--prix,
.hp-listing--view-page .hp-page__sidebar .hp-listing__attribute--price {
  color: #168754;
  font-size: clamp(25px, 2.5vw, 32px);
  font-weight: 800;
  line-height: 1.3;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid #e5eaf0;
}

.hp-listing--view-page .tiyo-coordonnees {
  font-size: 16px;
  line-height: 1.8;
}

.hp-listing--view-page a[href^="tel:"] {
  display: inline-block;
  color: #102b56;
  font-size: 20px;
  font-weight: 700;
  margin: 10px 0 16px;
  direction: ltr;
}

.hp-listing--view-page a[href*="wa.me"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  min-height: 50px;
  padding: 12px 16px;
  background: #168754;
  border: 0;
  border-radius: 12px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: normal;
}

.hp-listing--view-page a[href*="wa.me"]:hover {
  background: #106b42;
}

.hp-listing--view-page a[href*="wa.me"] img {
  width: 23px;
  height: 23px;
  flex-shrink: 0;
  margin: 0 !important;
}

.home .hp-listing-category__image:has(a[href$="/maison-jardin/"]) {
  width: 110px !important;
  height: 110px !important;
  right: 0 !important;
}

.home .hp-listing-category__image a[href$="/maison-jardin/"] {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background: url("https://tiyogo.ma/wp-content/uploads/2026/10/Canape-vert-sauge-et-plante.png") center / contain no-repeat !important;
}

.home .hp-listing-category__image a[href$="/maison-jardin/"] img {
  visibility: hidden !important;
}

/* 2. Téléphone : accueil, annonces, recherche, formulaires et arabe */
@media (max-width: 768px) {
  .site-title,
  .site-branding__name,
  .header-logo__description {
    display: none !important;
  }

  .site-header {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
  }

  .site-header .header-navbar {
    box-sizing: border-box !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 8px 16px !important;
    align-items: center !important;
  }

  .site-header .header-logo,
  .site-header .custom-logo-link {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  .site-header .custom-logo {
		
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    object-fit: contain !important;
  }

  .site-header .header-navbar__start,
  .site-header .header-navbar__end {
    align-items: center !important;
  }

  .site-header .header-navbar__burger a {
    color: #183153 !important;
  }

  .home .site-content {
    padding-top: 16px !important;
    padding-bottom: 24px !important;
  }

  .home .page__text h1 {
    margin: 0 0 8px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  .home .page__text h1 + p {
    margin: 0 0 14px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .home .page__text h2 {
    margin: 20px 0 12px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  .home .hp-form--listing-search {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
    padding: 8px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  .home .hp-form--listing-search .hp-form__fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .home .hp-form--listing-search .hp-form__field {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .home .hp-form--listing-search .hp-form__label {
    display: none !important;
  }

  .home .hp-form--listing-search input[type="search"],
  .home .hp-form--listing-search select:not(.select2-hidden-accessible):not(.hp-field--hidden) {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 16px !important;
    line-height: 22px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  .home .hp-form--listing-search .select2-container {
    width: 100% !important;
    margin: 0 !important;
  }

  .home .hp-form--listing-search .select2-selection--single {
    box-sizing: border-box !important;
    display: block !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  .home .hp-form--listing-search .select2-selection__rendered {
    padding: 0 30px 0 12px !important;
    font-size: 16px !important;
    line-height: 42px !important;
  }

  .home .hp-form--listing-search .select2-selection__arrow {
    top: 0 !important;
    height: 42px !important;
  }

  .home .hp-form--listing-search .hp-form__footer,
  .home .hp-form--listing-search .hp-form__actions {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .home .hp-form--listing-search button {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    line-height: 22px !important;
    border-radius: 8px !important;
  }

  .home .hp-listing-categories.hp-grid {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .home .hp-listing-categories.hp-grid .hp-row {
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    grid-template-columns: none !important;
    grid-template-rows: repeat(2, 75px) !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 190px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .home .hp-listing-categories.hp-grid .hp-row .hp-grid__item {
    box-sizing: border-box !important;
    width: 190px !important;
    min-width: 0 !important;
    max-width: 190px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .home .hp-listing-categories.hp-grid .hp-listing-category--view-block {
    width: 100% !important;
    height: 75px !important;
    min-height: 75px !important;
    margin: 0 !important;
  }

  .home .hp-listing-categories.hp-grid .hp-listing-category__content {
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    width: 105px !important;
  }

  .home .hp-listing-categories.hp-grid .hp-listing-category__name,
  .home .hp-listing-categories.hp-grid .hp-listing-category__name a {
    font-size: 12px !important;
    line-height: 1.35 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .home .hp-listing-categories.hp-grid .hp-listing-category--view-block .hp-listing-category__image {
    width: 75px !important;
    height: 75px !important;
    right: 0 !important;
  }

  .hp-listing--view-page .hp-listing__description,
  .hp-listing--view-page .hp-page__sidebar .hp-listing__attributes--primary {
    padding: 18px;
  }

  .hp-listing--view-page .hp-listing__images {
    border-radius: 12px;
  }

  .hp-listing--view-page h1.hp-listing__title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
  }

  .hp-listing--view-page .hp-listing__images {
    margin-bottom: 16px !important;
  }

  .hp-listing--view-page .hp-listing__description {
    padding: 16px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    border-radius: 12px !important;
  }

  .hp-listing--view-page .hp-listing__description p {
    margin-bottom: 12px !important;
  }

  .hp-listing--view-page .hp-listing__description p:last-child {
    margin-bottom: 0 !important;
  }

  .hp-listing--view-page .tiyo-coordonnees {
    font-size: 15px !important;
  }

  .hp-listing--view-page a[href^="tel:"] {
    font-size: 19px !important;
    margin: 8px 0 12px !important;
  }

  .hp-listing--view-page a[href*="wa.me"] {
    min-height: 46px !important;
    font-size: 15px !important;
    padding: 10px 12px !important;
  }

  body.tiyo-mobile-has-filters .hp-page__header .hp-form--listing-search {
    display: none !important;
  }

  body.tiyo-mobile-has-filters:not(.home) .site-content {
    padding-top: 16px !important;
  }

  body.tiyo-mobile-has-filters .hp-page__header:has( .hp-form--listing-search) {
    margin-bottom: 16px !important;
    padding: 0 !important;
  }

  body.tiyo-mobile-has-filters .hp-page__header .hp-button--listing-filter {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 9px !important;
    background: #f3f4f6 !important;
    color: #183153 !important;
    font-size: 14px !important;
    line-height: 20px !important;
  }

  body.tiyo-mobile-has-filters .hp-page__topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
  }

  body.tiyo-mobile-has-filters .hp-result-count {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
  }

  body.tiyo-mobile-has-filters .hp-form--listing-sort {
    margin: 0 !important;
    font-size: 12px !important;
  }

  .hp-page:has(.hp-form--listing-submit, .hp-form--listing-update) h1 {
    margin-bottom: 20px !important;
    color: #183153 !important;
    font-size: 25px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .hp-form__field {
    min-width: 0 !important;
    margin-bottom: 18px !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .hp-form__label {
    display: block !important;
    margin-bottom: 7px !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .hp-field__description {
    margin-bottom: 7px !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) :is(input[type=text], input[type=number], input[type=tel], input[type=email], input[type=url], select, textarea) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    border: 1px solid #dce2e8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #183153 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) textarea {
    min-height: 150px !important;
    padding: 12px !important;
    resize: vertical;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .select2-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .select2-selection--single {
    min-height: 46px !important;
    height: 46px !important;
    padding-block: 0 !important;
    border: 1px solid #dce2e8 !important;
    border-radius: 9px !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .select2-selection--single .select2-selection__rendered {
    font-size: 16px !important;
    line-height: 44px !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .select2-selection--single .select2-selection__arrow {
    top: 0 !important;
    height: 44px !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .hp-field--checkbox {
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .hp-form__footer {
    margin-top: 22px !important;
  }

  :is(.hp-form--listing-submit, .hp-form--listing-update) .hp-form__footer button[type=submit] {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #168754 !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
  }

  .hp-page:has(.hp-form--user-update) h1 {
    margin-bottom: 20px !important;
    color: #183153 !important;
    font-size: 25px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
  }

  .hp-form--user-update {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  .hp-form--user-update .hp-form__field {
    min-width: 0 !important;
    margin-bottom: 18px !important;
  }

  .hp-form--user-update .hp-form__label {
    display: block !important;
    margin-bottom: 7px !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  .hp-form--user-update .hp-field__description {
    margin-bottom: 7px !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  .hp-form--user-update :is(input[type=text], input[type=number], input[type=tel], input[type=email], input[type=url], select, textarea) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    border: 1px solid #dce2e8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #183153 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .hp-form--user-update textarea {
    min-height: 150px !important;
    padding: 12px !important;
    resize: vertical;
  }

  .hp-form--user-update .select2-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .hp-form--user-update .select2-selection--single {
    min-height: 46px !important;
    height: 46px !important;
    padding-block: 0 !important;
    border: 1px solid #dce2e8 !important;
    border-radius: 9px !important;
  }

  .hp-form--user-update .select2-selection--single .select2-selection__rendered {
    font-size: 16px !important;
    line-height: 44px !important;
  }

  .hp-form--user-update .select2-selection--single .select2-selection__arrow {
    top: 0 !important;
    height: 44px !important;
  }

  .hp-form--user-update .hp-field--checkbox {
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .hp-form--user-update .hp-form__footer {
    margin-top: 22px !important;
  }

  .hp-form--user-update .hp-form__footer button[type=submit] {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #168754 !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
  }

  .hp-page:has(.hp-form--user-update) .hp-page__header {
    margin-bottom: 20px !important;
  }

  .hp-page:has(.hp-form--user-update) .hp-button--user-account {
    min-height: 44px !important;
    padding: 10px 14px !important;
    border-radius: 9px !important;
    background: #f3f4f6 !important;
    color: #183153 !important;
    font-size: 15px !important;
  }

  .hp-form--user-update .hp-form__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 18px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }


}

/* 3. Préférence de réduction des animations */
@media (prefers-reduced-motion: reduce) {
  .home .hp-listing--view-block,
  .home .hp-form--listing-search button {
    transition: none;
  }

  .home .hp-listing--view-block:hover {
    transform: none;
  }
}
/* TIYO — Conditions, confidentialité et sécurité */

:is(.page-id-324, .page-id-326, .page-id-333) .site-content {
  background: #f6f8fb;
  padding-top: 32px;
  padding-bottom: 48px;
}

/* Titre de la page */
:is(.page-id-324, .page-id-326, .page-id-333) .page__title {
  max-width: 860px;
  margin: 0 auto 24px;
  color: #102b56;
  font-size: clamp(26px, 4vw, 36px);
  font-weight: 750;
  line-height: 1.3;
  text-align: start;
  overflow-wrap: anywhere;
}

/* Encadré principal */
:is(.page-id-324, .page-id-326, .page-id-333) .page__text {
  box-sizing: border-box;
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 42px);
  background: #fff;
  border: 1px solid #e4eaf1;
  border-top: 4px solid #168754;
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(16, 43, 86, .05);
  color: #334155;
  font-size: 16px;
  line-height: 1.85;
  text-align: start;
  overflow-wrap: anywhere;
}

/* Titres des sections */
:is(.page-id-324, .page-id-326, .page-id-333)
.page__text :is(h2, h3, h4) {
  margin: 30px 0 14px;
  color: #102b56;
  font-weight: 700;
  line-height: 1.4;
}

:is(.page-id-324, .page-id-326, .page-id-333)
.page__text h2 {
  padding-bottom: 10px;
  border-bottom: 1px solid #e8edf3;
  font-size: 22px;
}

:is(.page-id-324, .page-id-326, .page-id-333)
.page__text :is(h3, h4) {
  font-size: 19px;
}

/* Paragraphes */
:is(.page-id-324, .page-id-326, .page-id-333)
.page__text p {
  margin: 0 0 18px;
}

:is(.page-id-324, .page-id-326, .page-id-333)
.page__text strong {
  color: #102b56;
}

/* Listes — français et arabe */
:is(.page-id-324, .page-id-326, .page-id-333)
.page__text :is(ul, ol) {
  margin: 12px 0 22px;
  padding-inline-start: 24px;
}

:is(.page-id-324, .page-id-326, .page-id-333)
.page__text li {
  margin-bottom: 10px;
}

:is(.page-id-324, .page-id-326, .page-id-333)
.page__text li::marker {
  color: #168754;
}

/* Liens */
:is(.page-id-324, .page-id-326, .page-id-333)
.page__text a {
  color: #126d48;
  text-decoration: underline;
  text-underline-offset: 3px;
}

:is(.page-id-324, .page-id-326, .page-id-333)
.page__text a:hover {
  color: #102b56;
}

:is(.page-id-324, .page-id-326, .page-id-333)
.page__text a:focus-visible {
  outline: 3px solid #2563eb;
  outline-offset: 3px;
}

/* Téléphone */
@media (max-width: 768px) {
  :is(.page-id-324, .page-id-326, .page-id-333)
  .site-content {
    padding-top: 22px;
    padding-bottom: 30px;
  }

  :is(.page-id-324, .page-id-326, .page-id-333)
  .page__title {
    margin-bottom: 18px;
    font-size: 26px;
  }

  :is(.page-id-324, .page-id-326, .page-id-333)
  .page__text {
    padding: 22px 18px;
    border-radius: 12px;
    font-size: 16px;
    line-height: 1.8;
  }

  :is(.page-id-324, .page-id-326, .page-id-333)
  .page__text h2 {
    margin-top: 26px;
    font-size: 20px;
  }
}
/* TIYO — Pied de page */
.site-footer {
  background: #f7f9fc !important;
  border-top: 1px solid #e2e8f0 !important;
  color: #475569;
}

.site-footer .footer-widgets {
  padding: 40px 0 !important;
  border: 0 !important;
}

.site-footer .footer-widgets .widget {
  margin: 0 !important;
}

/* Structure ordinateur */
.site-footer .widget_nav_menu {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(0, 3fr);
  gap: 24px 48px;
  align-items: start;
}

/* Titre */
.site-footer .widget_nav_menu .widget__title {
  margin: 0 !important;
  padding: 10px 0 !important;
  color: #102b56 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.5;
  text-align: start !important;
}

/* Supprimer les décorations du thème */
.site-footer .widget_nav_menu .widget__title::before,
.site-footer .widget_nav_menu .widget__title::after,
.site-footer .widget_nav_menu li::before,
.site-footer .widget_nav_menu li::after,
.site-footer .widget_nav_menu li a::before,
.site-footer .widget_nav_menu li a::after {
  display: none !important;
}

/* Navigation */
.site-footer .widget_nav_menu ul.menu {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.site-footer .widget_nav_menu ul.menu li {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}

.site-footer .widget_nav_menu li a {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  box-sizing: border-box;
  min-height: 44px;
  height: 100%;
  margin: 0 !important;
  padding: 10px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #475569 !important;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.6;
  text-align: start !important;
  text-decoration: none !important;
  overflow-wrap: anywhere;
  transition: color .15s ease;
}

.site-footer .widget_nav_menu li a:hover {
  color: #126d48 !important;
  text-decoration: underline !important;
  text-underline-offset: 5px;
}

.site-footer .widget_nav_menu li.current-menu-item a {
  color: #126d48 !important;
  font-weight: 700;
}

.site-footer .widget_nav_menu li a:focus-visible {
  outline: 2px solid #168754;
  outline-offset: 4px;
}

/* Masquer le menu répété sous les widgets */
.site-footer .footer-navbar__menu {
  display: none !important;
}

.site-footer .footer-navbar:not(:has(.footer-navbar__start)) {
  display: none !important;
}

/* Tablette */
@media (max-width: 1024px) {
  .site-footer .widget_nav_menu {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Téléphone */
@media (max-width: 768px) {
  .site-footer .footer-widgets {
    padding: 28px 0 !important;
  }

  .site-footer .widget_nav_menu .widget__title {
    padding: 0 !important;
    font-size: 17px !important;
  }

  .site-footer .widget_nav_menu ul.menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 24px !important;
  }

  .site-footer .widget_nav_menu li a {
    min-height: 48px;
    font-size: 14px !important;
  }
}

/* Petits téléphones */
@media (max-width: 359px) {
  .site-footer .widget_nav_menu ul.menu {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   TIYO PREMIUM V3
   CONNEXION PROFESSIONNELLE
   HIVEPRESS / LISTINGHIVE
   ============================================ */

@media (min-width: 900px) {

  /* Fenetre principale */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) {
    --tiyo-navy: #102b53;
    --tiyo-green: #078348;

    width: 1040px !important;
    max-width: 94vw !important;
    min-height: 560px !important;
    padding: 58px 54% 55px 65px !important;
    background: #ffffff !important;
    border: 1px solid #e9eef3 !important;
    border-radius: 22px !important;
    box-shadow: 0 30px 100px rgba(8,25,49,.24) !important;
    position: relative !important;
    overflow: hidden !important;
  }

  /* Formulaire gauche */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) form {
    width: 100% !important;
    max-width: 410px !important;
    margin: 0 !important;
  }

  /* Titres */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) h2,
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) h3 {
    font-size: 30px !important;
    font-weight: 800 !important;
    letter-spacing: -.7px;
    line-height: 1.25;
    color: #102b53 !important;
    margin-bottom: 28px !important;
  }

  /* Libelles */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) label {
    color: #45566e !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .6px;
  }

  /* Champs */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) input:not([type="checkbox"]) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px !important;
    padding: 12px 16px !important;
    background: #f9fbfd !important;
    border: 1px solid #dce4ee !important;
    border-radius: 10px !important;
    color: #142b49 !important;
    font-size: 15px !important;
    transition: all .2s ease;
  }

  /* Champs actifs */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) input:focus {
    background: #fff !important;
    border-color: #078348 !important;
    box-shadow: 0 0 0 4px rgba(7,131,72,.1) !important;
    outline: none !important;
  }

  /* Bouton principal */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) button[type="submit"] {
    width: 100% !important;
    min-height: 54px !important;
    padding: 13px 20px !important;
    background: linear-gradient(
      110deg,#087b43,#159d62
    ) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    letter-spacing: .1px;
    box-shadow: 0 7px 18px rgba(7,131,72,.16);
    transition: all .2s ease;
  }

  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) button[type="submit"]:hover {
    background: #076c3c !important;
    box-shadow: 0 10px 22px rgba(7,131,72,.23);
    transform: translateY(-2px);
  }

  /* Liens */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) a:not(.fancybox-close-small) {
    color: #087baf;
    text-decoration: none;
    font-weight: 600;
  }

  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) a:hover {
    color: #078348;
  }

  /* Panneau droit */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  )::after {
    content:
      "T I Y O\A"
      "PETITES ANNONCES AU MAROC\A\A"
      "Bienvenue sur TIYO\A"
      "Votre marché, partout au Maroc.\A\A"
      "✓  Publiez et gérez vos annonces\A\A"
      "♡  Retrouvez vos annonces favorites\A\A"
      "✉  Échangez avec les vendeurs\A\A"
      "⌕  Découvrez des milliers d'offres\A\A"
      "Achetez. Vendez. Échangez.";

    white-space: pre-line !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 47% !important;
    height: 100% !important;
    padding: 62px 45px !important;
    box-sizing: border-box !important;
    background:
      radial-gradient(
        circle at 95% 5%,
        rgba(12,156,88,.13),
        transparent 42%
      ),
      linear-gradient(
        145deg,#f0faf5 0%,#eef5ff 100%
      ) !important;
    color: #102b53 !important;
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: .1px;
    border-left: 1px solid #e7edf1;
    pointer-events: none;
  }

  /* Bouton fermer */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) .fancybox-close-small {
    z-index: 10 !important;
    color: #526477 !important;
  }

  /* Fond assombri */
  .fancybox-bg {
    background: #07172c !important;
  }

  .fancybox-is-open .fancybox-bg {
    opacity: .72 !important;
  }
}

/* ==========================================
   TIYO PREMIUM - CONNEXION MOBILE
   HIVEPRESS / LISTINGHIVE
   ========================================== */

@media (max-width: 899px) {

  /* Fenetre de connexion */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) {
    width: calc(100vw - 28px) !important;
    max-width: 440px !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 30px) !important;
    padding: 38px 24px 30px !important;
    margin: auto !important;
    background: #ffffff !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 65px rgba(0,0,0,.18) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  /* Masquer panneau decoratif */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  )::after {
    content: none !important;
    display: none !important;
  }

  /* Formulaire pleine largeur */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) form,
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) .hp-form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* Titre */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) h2,
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) h3 {
    color: #102b53 !important;
    font-size: 27px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -.5px;
    margin-bottom: 25px !important;
  }

  /* Libelles */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) label {
    color: #40536b !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .4px;
  }

  /* Champs */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) input:not([type="checkbox"]) {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    padding: 12px 14px !important;
    border: 1px solid #dce4ee !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    color: #102b53 !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  /* Focus */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) input:focus {
    background: #ffffff !important;
    border-color: #078348 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px
      rgba(7,131,72,.12) !important;
  }

  /* Bouton connexion */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) button[type="submit"] {
    width: 100% !important;
    min-height: 54px !important;
    padding: 13px 16px !important;
    background: linear-gradient(
      110deg,#087b43,#159d62
    ) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    box-shadow: 0 5px 14px
      rgba(7,131,72,.15);
  }

  /* Liens inscription et mot de passe */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) a:not(.fancybox-close-small) {
    color: #087bb2 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }

  /* Bouton fermeture */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) .fancybox-close-small {
    top: 8px !important;
    right: 8px !important;
    z-index: 20 !important;
  }

  /* Fond sombre */
  .fancybox-bg {
    background: #07172c !important;
  }

  .fancybox-is-open .fancybox-bg {
    opacity: .65 !important;
  }
}

/* Petits telephones */
@media (max-width: 380px) {

  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) {
    width: calc(100vw - 20px) !important;
    padding: 34px 18px 25px !important;
    border-radius: 14px !important;
  }

  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) h2 {
    font-size: 24px !important;
  }
}

/* ========================================
   TIYO MOBILE PREMIUM V4
   CORRECTION FENETRE DE CONNEXION
   ======================================== */

@media (max-width: 899px) {

  /* Fenetre plus compacte */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) {
    width: calc(100% - 32px) !important;
    max-width: 420px !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 32px) !important;
    padding: 30px 24px 26px !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 55px
      rgba(10,30,55,.2) !important;
    overflow-y: auto !important;
  }

  /* Supprimer panneau ordinateur */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  )::after {
    display: none !important;
    content: none !important;
  }

  /* Titre */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) h2,
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) h3 {
    font-size: 25px !important;
    line-height: 1.25 !important;
    margin: 0 0 22px !important;
    color: #102b53 !important;
    font-weight: 800 !important;
  }

  /* Reduire les espacements */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) .hp-form__field {
    margin-bottom: 16px !important;
  }

  /* Libelles */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) label {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .4px;
    margin-bottom: 7px !important;
    color: #53647a !important;
  }

  /* Champs */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) input:not([type="checkbox"]) {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 10px 13px !important;
    border: 1px solid #dce4eb !important;
    border-radius: 9px !important;
    background: #f9fbfc !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  /* Bouton connexion */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) button[type="submit"] {
    width: 100% !important;
    min-height: 49px !important;
    padding: 10px 15px !important;
    margin-top: 5px !important;
    border-radius: 9px !important;
    background: linear-gradient(
      100deg,#087b43,#159b60
    ) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  /* Liens */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) a {
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  /* Bouton fermer */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) .fancybox-close-small {
    top: 7px !important;
    right: 7px !important;
  }

  /* Eviter les debordements */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) form {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ====================================
   TIYO MOBILE V5 - FINITIONS
   ==================================== */

@media (max-width: 899px) {

  /* Fenetre */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) {
    padding: 26px 22px 22px !important;
    border-radius: 18px !important;
  }

  /* Titre */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) h2 {
    font-size: 25px !important;
    margin-bottom: 14px !important;
  }

  /* Espacement entre les champs */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) .hp-form__field {
    margin-bottom: 12px !important;
  }

  /* Espacement des groupes */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) .hp-form__fields {
    margin-bottom: 12px !important;
  }

  /* Champs */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) input:not([type="checkbox"]) {
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 9px !important;
  }

  /* Bouton */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) button[type="submit"] {
    min-height: 48px !important;
    margin-top: 0 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
  }

  /* Espacement des liens */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) .hp-form__footer {
    margin-top: 12px !important;
  }

  /* Bouton fermer */
  .fancybox-content.hp-modal:has(
    input[type="password"]
  ) .fancybox-close-small {
    top: 5px !important;
    right: 5px !important;
  }
}

/* ==========================================
   TIYO - INSCRIPTION PREMIUM
   HIVEPRESS / LISTINGHIVE
   ORDINATEUR + MOBILE
   ========================================== */

/* ORDINATEUR */
@media (min-width: 900px) {

  /* Fenetre inscription */
  #user_register_modal.hp-modal {
    width: 1050px !important;
    max-width: 94vw !important;
    min-height: 590px !important;
    padding: 35px 53% 35px 55px !important;
    border-radius: 20px !important;
    background: #fff !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 25px 80px rgba(0,0,0,.2);
  }

  /* Formulaire */
  #user_register_modal form {
    width: 100% !important;
    max-width: 430px !important;
  }

  /* Titre */
  #user_register_modal h2,
  #user_register_modal h3 {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #102b53 !important;
    margin-bottom: 20px !important;
  }

  /* Champs */
  #user_register_modal input:not(
    [type="checkbox"]
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 49px !important;
    border: 1px solid #dce4ed !important;
    border-radius: 9px !important;
    background: #f9fbfd !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
  }

  /* Espacement */
  #user_register_modal .hp-form__field {
    margin-bottom: 14px !important;
  }

  /* Bouton inscription */
  #user_register_modal button[type="submit"] {
    width: 100% !important;
    min-height: 51px !important;
    border-radius: 9px !important;
    background: linear-gradient(
      100deg,#087b43,#159b60
    ) !important;
    color: white !important;
    font-weight: 700 !important;
    font-size: 16px !important;
  }

  /* Panneau droit */
  #user_register_modal::after {
    content:
      "TIYO\A"
      "PETITES ANNONCES AU MAROC\A\A"
      "Rejoignez la communauté TIYO\A\A"
      "✓  Publiez gratuitement vos annonces\A\A"
      "♡  Enregistrez vos favoris\A\A"
      "✉  Contactez les vendeurs\A\A"
      "Découvrez des offres partout au Maroc";

    position: absolute;
    top: 0;
    right: 0;
    width: 46%;
    height: 100%;
    padding: 65px 40px;
    box-sizing: border-box;
    white-space: pre-line;
    background: linear-gradient(
      145deg,#effaf4,#eef4ff
    );
    color: #102b53;
    font-size: 17px;
    line-height: 1.65;
    border-left: 1px solid #e5edf2;
    pointer-events: none;
  }
}

/* MOBILE */
@media (max-width: 899px) {

  #user_register_modal.hp-modal {
    width: calc(100vw - 28px) !important;
    max-width: 430px !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 30px) !important;
    padding: 28px 22px !important;
    border-radius: 18px !important;
    background: #fff !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  /* Masquer panneau droit */
  #user_register_modal::after {
    content: none !important;
    display: none !important;
  }

  #user_register_modal form {
    width: 100% !important;
    max-width: 100% !important;
  }

  #user_register_modal h2,
  #user_register_modal h3 {
    font-size: 25px !important;
    font-weight: 800 !important;
    color: #102b53 !important;
    margin-bottom: 17px !important;
  }

  #user_register_modal .hp-form__field {
    margin-bottom: 12px !important;
  }

  #user_register_modal input:not(
    [type="checkbox"]
  ) {
    width: 100% !important;
    min-height: 47px !important;
    border-radius: 9px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  #user_register_modal button[type="submit"] {
    width: 100% !important;
    min-height: 49px !important;
    background: #078348 !important;
    color: #fff !important;
    border-radius: 9px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }
}

/* ==========================================
   TIYO - CORRECTION CHAMP TELEPHONE
   INSCRIPTION - ORDINATEUR ET MOBILE
   ========================================== */

/* Conteneur international */
#user_register_modal .iti,
#user_register_modal .iti--allow-dropdown,
#user_register_modal .iti--separate-dial-code {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Champ du numero */
#user_register_modal .iti input[type="tel"],
#user_register_modal input.iti__tel-input {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  padding-left: 100px !important;
  padding-right: 12px !important;
  border: 1px solid #dce4ed !important;
  border-radius: 9px !important;
  background: #f9fbfd !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
  direction: ltr !important;
  text-align: left !important;
}

/* Zone drapeau et indicatif */
#user_register_modal .iti__flag-container {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: auto !important;
  z-index: 2 !important;
}

/* Bouton selection pays */
#user_register_modal .iti__selected-flag {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  height: 100% !important;
  padding: 0 10px !important;
  background: transparent !important;
}

/* Indicatif +212 */
#user_register_modal .iti__selected-dial-code {
  font-size: 14px !important;
  color: #102b53 !important;
  font-weight: 600 !important;
}

/* Liste des pays */
#user_register_modal .iti__country-list {
  z-index: 99999 !important;
  max-height: 230px !important;
  overflow-y: auto !important;
}

/* Version mobile */
@media (max-width: 899px) {
  #user_register_modal .iti input[type="tel"],
  #user_register_modal input.iti__tel-input {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 16px !important;
    padding-left: 100px !important;
  }
}

/* ==========================================
   TIYO PREMIUM - MOT DE PASSE OUBLIE
   HIVEPRESS / LISTINGHIVE
   ORDINATEUR + MOBILE
   ========================================== */

/* Style general */
#user_password_request_modal.hp-modal {
  background: #ffffff !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 70px rgba(10,30,55,.2) !important;
  box-sizing: border-box !important;
}

/* Titre */
#user_password_request_modal h2,
#user_password_request_modal h3 {
  color: #102b53 !important;
  font-weight: 800 !important;
  letter-spacing: -.5px;
  line-height: 1.25 !important;
}

/* Texte explicatif */
#user_password_request_modal p {
  color: #65748a !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* Formulaire */
#user_password_request_modal form {
  width: 100% !important;
  max-width: 100% !important;
}

/* Etiquettes */
#user_password_request_modal label {
  color: #465870 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .4px;
}

/* Champ e-mail */
#user_password_request_modal input:not(
  [type="checkbox"]
) {
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 15px !important;
  border: 1px solid #dce4ed !important;
  border-radius: 9px !important;
  background: #f9fbfd !important;
  color: #102b53 !important;
  font-size: 16px !important;
  box-sizing: border-box !important;
}

/* Champ actif */
#user_password_request_modal input:focus {
  background: #ffffff !important;
  border-color: #078348 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px
    rgba(7,131,72,.12) !important;
}

/* Bouton */
#user_password_request_modal
button[type="submit"] {
  width: 100% !important;
  min-height: 52px !important;
  background: linear-gradient(
    100deg,#087b43,#159b60
  ) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 9px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  transition: background .2s ease;
}

/* ORDINATEUR */
@media (min-width: 900px) {

  #user_password_request_modal.hp-modal {
    width: 540px !important;
    max-width: 90vw !important;
    padding: 45px 48px !important;
  }

  #user_password_request_modal h2,
  #user_password_request_modal h3 {
    font-size: 28px !important;
    margin-bottom: 20px !important;
  }

  #user_password_request_modal p {
    margin-bottom: 24px !important;
  }
}

/* MOBILE */
@media (max-width: 899px) {

  #user_password_request_modal.hp-modal {
    width: calc(100vw - 28px) !important;
    max-width: 430px !important;
    max-height: calc(100dvh - 30px) !important;
    padding: 32px 24px 28px !important;
    border-radius: 18px !important;
    overflow-y: auto !important;
  }

  #user_password_request_modal h2,
  #user_password_request_modal h3 {
    font-size: 24px !important;
    margin-bottom: 16px !important;
  }

  #user_password_request_modal p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 18px !important;
  }

  #user_password_request_modal
  .hp-form__field {
    margin-bottom: 15px !important;
  }

  #user_password_request_modal
  button[type="submit"] {
    min-height: 49px !important;
  }
}

/* ==========================================
   TIYO - AUTHENTIFICATION MOBILE PREMIUM
   Connexion + Mot de passe oublie
   HivePress / ListingHive
   ========================================== */

@media screen and (max-width: 899px) {

  /* Fenetres de connexion et recuperation */
  .fancybox-content.hp-modal:has(
    #user_login_modal,
    #user_password_request_modal
  ),
  #user_login_modal.hp-modal,
  #user_password_request_modal.hp-modal {
    width: calc(100vw - 28px) !important;
    max-width: 420px !important;
    max-height: calc(100dvh - 32px) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 32px 24px 28px !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    box-shadow: 0 20px 65px rgba(10,30,55,.22) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  /* Desactiver le panneau decoratif desktop */
  #user_login_modal.hp-modal::after,
  #user_password_request_modal.hp-modal::after {
    display: none !important;
    content: none !important;
  }

  /* Titres */
  #user_login_modal h2,
  #user_login_modal h3,
  #user_password_request_modal h2,
  #user_password_request_modal h3 {
    color: #102b53 !important;
    font-size: 25px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -.5px !important;
    margin: 0 0 18px !important;
  }

  /* Texte d'explication */
  #user_password_request_modal p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #64748b !important;
    margin-bottom: 20px !important;
  }

  /* Formulaires */
  #user_login_modal form,
  #user_password_request_modal form {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Espacement des champs */
  #user_login_modal .hp-form__field,
  #user_password_request_modal .hp-form__field {
    margin-bottom: 15px !important;
  }

  /* Etiquettes */
  #user_login_modal label,
  #user_password_request_modal label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    letter-spacing: .3px !important;
  }

  /* Champs */
  #user_login_modal input:not([type="checkbox"]),
  #user_password_request_modal input:not([type="checkbox"]) {
    width: 100% !important;
    min-height: 50px !important;
    padding: 12px 15px !important;
    border: 1px solid #dce4ed !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    color: #102b53 !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  /* Focus */
  #user_login_modal input:focus,
  #user_password_request_modal input:focus {
    border-color: #078348 !important;
    background: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(7,131,72,.12) !important;
  }

  /* Boutons */
  #user_login_modal button[type="submit"],
  #user_password_request_modal button[type="submit"] {
    display: block !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 12px 16px !important;
    border: none !important;
    border-radius: 10px !important;
    background: linear-gradient(
      100deg, #087b43, #159b60
    ) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* Liens inscription et recuperation */
  #user_login_modal a,
  #user_password_request_modal a {
    color: #087b43 !important;
    font-weight: 600 !important;
  }

  /* Bouton fermer */
  .fancybox-content.hp-modal .fancybox-close-small {
    top: 10px !important;
    right: 10px !important;
    width: 34px !important;
    height: 34px !important;
  }

  /* Petits telephones */
  @media (max-width: 380px) {
    #user_login_modal.hp-modal,
    #user_password_request_modal.hp-modal {
      padding: 28px 18px 24px !important;
    }
  }
}

/* ==================================================
   TIYO - ANNONCES MOBILE - VERSION UNIQUE FR / AR
   Remplace les anciennes cartes horizontales 104px.
   Ne force pas la largeur interne calculee par Slick.
   ================================================== */
@media (max-width: 768px) {
  body .hp-listing.hp-listing--view-block {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 4px 16px rgba(16,43,86,.06) !important;
    overflow: hidden !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body .hp-listing--view-block > .hp-listing__header {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f2f4f7 !important;
  }

  body .hp-listing--view-block .hp-listing__image {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 230px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    direction: ltr !important;
    background: #f2f4f7 !important;
    box-sizing: border-box !important;
  }

  body .hp-listing--view-block .hp-listing__image.slick-slider,
  body .hp-listing--view-block .hp-listing__image .slick-list,
  body .hp-listing--view-block .hp-listing__image .slick-track,
  body .hp-listing--view-block .hp-listing__image .slick-slide {
    height: 230px !important;
    min-height: 0 !important;
  }

  body .hp-listing--view-block .hp-listing__image .slick-list {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* Important : Slick gere lui-meme la largeur du track et des slides. */
  body .hp-listing--view-block .hp-listing__image .slick-slide > div,
  body .hp-listing--view-block .hp-listing__image .slick-slide a,
  body .hp-listing--view-block .hp-listing__image > a {
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body .hp-listing--view-block .hp-listing__image img,
  body.home .hp-listing--view-block .hp-listing__image img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 230px !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #f2f4f7 !important;
    transform: none !important;
  }

  body .hp-listing--view-block > .hp-listing__content,
  body .hp-listing--view-block > .hp-listing__footer {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }

  body .hp-listing--view-block > .hp-listing__content {
    padding: 14px 16px 8px !important;
  }

  body .hp-listing--view-block .hp-listing__category,
  body .hp-listing--view-block .hp-listing__category a {
    font-size: 11px !important;
    line-height: 1.4 !important;
    color: #64748b !important;
    letter-spacing: 0 !important;
  }

  body .hp-listing--view-block .hp-listing__title {
    margin: 6px 0 !important;
  }

  body .hp-listing--view-block .hp-listing__title,
  body .hp-listing--view-block .hp-listing__title a {
    color: #183153 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
    text-decoration: none !important;
  }

  body .hp-listing--view-block .hp-listing__details--primary,
  body .hp-listing--view-block .hp-listing__attributes--secondary {
    margin: 4px 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  body .hp-listing--view-block .hp-listing__created-date {
    font-size: 11px !important;
    color: #94a3b8 !important;
  }

  body .hp-listing--view-block > .hp-listing__footer {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 8px 16px 16px !important;
    border: 0 !important;
  }

  body .hp-listing--view-block .hp-listing__attributes--primary {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .hp-listing--view-block .hp-listing__attribute--prix,
  body .hp-listing--view-block .hp-listing__attribute--price {
    display: block !important;
    width: auto !important;
    color: #16a34a !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
  }

  body .hp-listing--view-block .hp-listing__actions {
    flex-shrink: 0 !important;
    margin: 0 !important;
  }

  body .hp-listing--view-block .hp-listing__action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  html[dir="rtl"] body .hp-listing--view-block {
    direction: rtl !important;
    text-align: right !important;
  }

  html[dir="rtl"] body .hp-listing--view-block .hp-listing__attribute--prix,
  html[dir="rtl"] body .hp-listing--view-block .hp-listing__attribute--price {
    text-align: right !important;
  }
}

/* TIYO — Photos des annonces sur mobile */
@media (max-width: 767px) {

  body .hp-listings .hp-listing__image,
  body .hp-listings .hp-listing__image .slick-list,
  body .hp-listings .hp-listing__image .slick-slide {
    height: 230px !important;
    background: #f3f5f7 !important;
  }

  body .hp-listings .hp-listing__image img,
  body .hp-listings .hp-listing__image .slick-slide img {
    width: 100% !important;
    height: 230px !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body .hp-listings .hp-listing__content {
    padding: 14px 16px 10px !important;
  }

  body .hp-listings .hp-listing__footer {
    padding: 12px 16px !important;
  }
}

/* ========================================
   TIYO — DESIGN PROFESSIONNEL
   WordPress / HivePress / ListingHive
   Ordinateur + Mobile
   ======================================== */

:root {
  --tiyogo-blue: #102b53;
  --tiyogo-green: #078348;
  --tiyogo-light: #f5f8fc;
  --tiyogo-border: #e2e8f0;
}

/* Style général */
body {
  color: #334155;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  color: var(--tiyogo-blue);
  line-height: 1.3;
}

/* En-tête */
.site-header {
  background: #ffffff !important;
  border-bottom: 1px solid var(--tiyogo-border);
  box-shadow: 0 3px 16px rgba(16, 43, 83, .04);
}

.site-header .custom-logo {
  max-width: 165px;
  height: auto;
}

/* Navigation */
.site-header a {
  transition: color .2s ease;
}

.site-header a:hover {
  color: var(--tiyogo-green);
}

/* Recherche */
.hp-form--listing-search {
  padding: 16px;
  background: var(--tiyogo-light);
  border: 1px solid var(--tiyogo-border);
  border-radius: 16px;
}

.hp-form--listing-search input,
.hp-form--listing-search select {
  border-radius: 9px !important;
}

/* Boutons */
.hp-button--primary,
.hp-form button[type="submit"] {
  background: var(--tiyogo-green) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  transition: background .2s ease;
}

.hp-button--primary:hover,
.hp-form button[type="submit"]:hover {
  background: #066b3c !important;
}

/* Cartes d'annonces */
.hp-listing--view-block {
  background: #ffffff;
  border: 1px solid var(--tiyogo-border);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(16, 43, 83, .05);
  transition: box-shadow .2s ease;
}

.hp-listing--view-block:hover {
  box-shadow: 0 8px 24px rgba(16, 43, 83, .1);
}

.hp-listing--view-block .hp-listing__title a {
  color: var(--tiyogo-blue) !important;
  font-weight: 700;
}

.hp-listing--view-block .hp-listing__attribute--prix,
.hp-listing--view-block .hp-listing__attribute--price {
  color: var(--tiyogo-green) !important;
  font-weight: 800;
}

/* Catégories */
.hp-listing-category--view-block {
  border-radius: 14px;
  transition: box-shadow .2s ease;
}

.hp-listing-category--view-block:hover {
  box-shadow: 0 6px 18px rgba(16, 43, 83, .08);
}

/* Formulaires */
.hp-form input,
.hp-form textarea,
.hp-form select {
  border-radius: 9px;
}

.hp-form input:focus,
.hp-form textarea:focus {
  border-color: var(--tiyogo-green);
  outline-color: var(--tiyogo-green);
}

/* Pied de page */
.site-footer {
  background: #f7f9fc !important;
  border-top: 1px solid var(--tiyogo-border);
}

.site-footer a:hover {
  color: var(--tiyogo-green) !important;
}

/* Version mobile */
@media (max-width: 768px) {

  .site-header .custom-logo {
    max-width: 125px;
  }

  .hp-form--listing-search {
    padding: 10px;
    border-radius: 12px;
  }

  .hp-listing--view-block {
    border-radius: 13px;
  }

  .hp-form button[type="submit"] {
    min-height: 46px;
    font-size: 15px;
  }
}

/* Support de l'arabe */
html[dir="rtl"] .hp-listing__title,
html[dir="rtl"] .hp-listing__description {
  text-align: right;
}

/* TIYO — Logo mobile : image valide sur tiyogo.ma */
@media (max-width: 768px) {
  .site-header .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .custom-logo-link .custom-logo,
  .site-header img.custom-logo {
    content: url("https://tiyogo.ma/wp-content/uploads/2026/10/Embleme-bleu-et-ruban-solaire.png") !important;
    display: block !important;
    width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    object-fit: contain !important;
  }
}

/* TIYO — Logo mobile uniquement */
@media screen and (max-width: 768px) {

  .site-header .custom-logo {
    content: url("https://tiyogo.ma/wp-content/uploads/2026/10/Embleme-bleu-et-ruban-solaire.png") !important;
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    object-fit: contain !important;
  }

  .site-header .custom-logo-link {
    display: flex !important;
    align-items: center !important;
  }
	
/* TIYO — Logo mobile comme avant */
@media screen and (max-width: 768px) {
  .site-header .custom-logo {
    content: url("https://tiyogo.ma/wp-content/uploads/2026/10/Embleme-bleu-et-ruban-solaire.png") !important;
    display: block !important;
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    object-fit: contain !important;
  }

  .site-header .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    width: 46px !important;
    height: 46px !important;
  }
}

/* TIYO — Catégories mobiles : 2 colonnes sans défilement */
@media screen and (max-width: 768px) {

  .home .hp-listing-categories.hp-grid .hp-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 10px !important;
    width: 100% !important;
    overflow-x: visible !important;
  }

  .home .hp-listing-categories.hp-grid .hp-row .hp-grid__item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .home .hp-listing-categories.hp-grid .hp-listing-category--view-block {
    width: 100% !important;
    height: 90px !important;
    min-height: 90px !important;
    padding: 8px !important;
  }

  .home .hp-listing-categories.hp-grid .hp-listing-category__content {
    top: 10px !important;
    left: 9px !important;
    width: calc(100% - 78px) !important;
  }

  .home .hp-listing-categories.hp-grid .hp-listing-category__image {
    width: 68px !important;
    height: 72px !important;
    right: 2px !important;
  }

  .home .hp-listing-categories.hp-grid .hp-listing-category__name a {
    font-size: 12px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
  }
}