/* Charte graphique Jordan Simic - JSPC */
/* Palette : Marine #0B2E4F · Or #D4A843 · Blanc #FFFFFF */

:root {
  --primary-color: #0b2e4f;
  --primary-color-dark: #07213a;
  --secondary-color: #d4a843; /* Or brillant */
  --secondary-color-dark: #b8952e; /* Or foncé (hover) */
  --text-color: #1a1a2e;
  --white-color: #ffffff;
  --thm-base: #d4a843; /* Galerie sub-label */
}

/* ── Boutons standard : or → marine au hover ── */
.thm-btn,
.main-btn {
  background-color: var(--secondary-color) !important;
  color: var(--primary-color) !important;
  border-color: var(--secondary-color) !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  border-radius: 7px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
}

.thm-btn:hover,
.main-btn:hover {
  background-color: var(--primary-color) !important;
  color: var(--white-color) !important;
  border-color: var(--primary-color) !important;
}

/* Neutralise les formes animées ::before/::after du template */
.thm-btn::before,
.thm-btn::after,
.main-btn::before,
.main-btn::after {
  display: none !important;
}

/* Flèche qui se décale légèrement au hover */
.thm-btn i[class*='arrow'],
.main-btn i[class*='arrow'] {
  display: inline-block;
  transition: all 0.25s ease;
}
.thm-btn:hover i[class*='arrow'],
.main-btn:hover i[class*='arrow'] {
  transform: rotate(45deg);
  margin-left: 0.5rem;
}

/* ── Effet liquide : ballon & assainissement uniquement ── */
.btn-liquid {
  background-color: var(--primary-color-dark) !important;
  border-color: var(--primary-color-dark) !important;
  border: 2px solid var(--primary-color-dark) !important;
}

.btn-liquid:hover {
  border: 2px solid var(--primary-color-dark) !important;
}

.btn-liquid > span {
  position: relative;
  color: #fff;
  z-index: 1;
}

.btn-liquid .liquid {
  position: absolute;
  top: -90px;
  left: 0;
  width: 100%;
  height: 200px;
  background: var(--primary-color-dark);
  box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.5);
  transition: 0.5s;
}

.btn-liquid .liquid::after,
.btn-liquid .liquid::before {
  content: '';
  width: 200%;
  height: 200%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -85%);
}

.btn-liquid .liquid::before {
  border-radius: 45%;
  background: var(--primary-color);
  animation: animate 5s linear infinite;
}

.btn-liquid .liquid::after {
  border-radius: 40%;
  background: rgba(11, 46, 79, 0.5);
  animation: animate 10s linear infinite;
}

.btn-liquid:hover .liquid {
  top: -140px;
}

@keyframes animate {
  0% {
    transform: translate(-50%, -75%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -75%) rotate(360deg);
  }
}

.section-title-icon span {
  color: var(--secondary-color) !important;
}

.banner-one-bg {
  background: url('../images/customs/Jordan/Renovation_d_une_salle_de_bain_2/HEIC_to_PNG_Conversion_Image.jpg')
    no-repeat !important;
  background-size: cover !important;
  background-position: center !important;
}

.banner-one-bg-shape {
  background: linear-gradient(
    278deg,
    var(--primary-color) 40.15%,
    rgba(11, 46, 79, 0.5) 106.55%
  ) !important;
  opacity: 0.75 !important;
}

header.main-header {
  background-color: var(--white-color) !important;
}

.main-menu-list li a:hover {
  color: var(--secondary-color) !important;
}

.footer-one {
  background-color: var(--primary-color) !important;
}

a {
  color: var(--secondary-color);
}

a:hover {
  color: var(--primary-color);
}

/* Icônes des services */
.services-one-single-icon span,
.about-one-single-icon span {
  color: var(--secondary-color) !important;
}

/* Boxes services */
.services-one-single-btn a {
  background-color: var(--secondary-color) !important;
  color: var(--primary-color) !important;
  font-weight: 700 !important;
}

.services-one-single-btn a:hover {
  background-color: var(--primary-color) !important;
  color: var(--secondary-color) !important;
}

/* Carousel services — scroll natif */
.services-one-slider {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 10px 4px 30px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.services-one-slider::-webkit-scrollbar {
  display: none;
}

.services-one-slider .services-one-single-box {
  display: flex;
  flex-direction: column;
  flex: 0 0 calc(33.333% - 20px);
  min-width: 280px;
  height: auto;
  scroll-snap-align: start;
}

@media (max-width: 1199px) {
  .services-one-slider .services-one-single-box {
    flex: 0 0 calc(50% - 15px);
  }
}
@media (max-width: 767px) {
  .services-one-slider .services-one-single-box {
    flex: 0 0 88%;
  }
}

.services-one-single-text {
  flex-grow: 1;
}

/* Image section "Besoin d'un plombier" */
.why-choose-two-bg {
  background: url('../images/customs/Jordan/Photo_from_Louis_Gzan_1.jpeg')
    no-repeat !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Hero section moins haute */
.banner-one {
  min-height: 560px !important;
  padding-top: 120px !important;
  padding-bottom: 180px !important;
}

/* Phosphor icons dans les titres de sections */
.section-title-icon i.ph {
  font-size: 40px;
  color: var(--secondary-color) !important;
}

/* Phosphor icon dans le sous-titre du banner */
.banner-one-subtitle i.ph {
  font-size: 16px;
  margin-right: 6px;
  vertical-align: middle;
  color: var(--secondary-color);
}

/* Phosphor icon remplacement about-Icon.png */
.about-one-icon i.ph {
  font-size: 52px;
  color: var(--secondary-color);
  display: block;
}

/* Icônes du ticker promo (fond bleu) */
.promo-one .ph {
  color: #ffffff !important;
}

/* ── Arrodis global ── */
.services-one-single-box {
  border-radius: 12px !important;
  overflow: hidden;
}
.about-one-single-box {
  border-radius: 10px !important;
  overflow: hidden;
}
.testimonial-one-content {
  border-radius: 14px !important;
  overflow: hidden;
}
.contact-form input,
.contact-form textarea,
.contact-form select {
  border-radius: 8px !important;
}
.msf-card {
  border-radius: 14px !important;
}
.g-item {
  border-radius: 10px !important;
}

/* ── Dropdown sous-menu Services ── */
.main-menu-list li.dropdown {
  position: relative;
}
.main-menu-list li.dropdown .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  min-width: 240px;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12);
  padding: 8px 0;
  z-index: 9999;
  list-style: none;
  margin: 0;
}
.main-menu-list li.dropdown:hover .sub-menu {
  display: block;
}
.main-menu-list li.dropdown .sub-menu li a {
  display: block;
  padding: 10px 20px;
  color: var(--primary-color) !important;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}
.main-menu-list li.dropdown .sub-menu li a:hover {
  background: var(--secondary-color);
  color: var(--primary-color) !important;
}


/* Icônes Phosphor dans why-choose-two-bottom */
.why-choose-ph-icon {
  font-size: 36px !important;
  color: var(--secondary-color) !important;
  display: block;
  margin-bottom: 6px;
}

/* ── Cards de service entièrement cliquables (via JS) ── */
.services-one-single-box {
  position: relative;
  cursor: pointer;
}

/* ── Scroll natif pour les avis ── */
.testimonial-one-slider {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 10px 4px 30px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.testimonial-one-slider::-webkit-scrollbar {
  display: none;
}
.testimonial-one-slider .testimonial-one-content {
  flex: 0 0 calc(50% - 15px);
  min-width: 280px;
  scroll-snap-align: start;
}
@media (max-width: 991px) {
  .testimonial-one-slider .testimonial-one-content {
    flex: 0 0 88%;
  }
}

/* ── Téléphone toujours visible dans le header (tous écrans) ── */
.main-menu-right,
.main-menu-right-number-box {
  display: flex !important;
}

@media (max-width: 1199px) {
  /* Cacher le bouton CTA — le hamburger prend le relais */
  .main-menu-btn {
    display: none !important;
  }
}

@media (max-width: 991px) {
  /* Cacher le label "Appels 100% gratuit" sur mobile */
  .main-menu-right-number-detail p {
    display: none !important;
  }
}

@media (max-width: 400px) {
  /* Cacher l'icône téléphone sur très petits écrans */
  .main-menu-right-number-icon {
    display: none !important;
  }
  .main-menu-right-number-detail-numbers a {
    font-size: 13px !important;
  }
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Fix pour la section contact - map */
.google-map-embed iframe {
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.contact-page-contact-details p {
  line-height: 1.6;
}

/* ── Sections détail prestation ── */
.service-detail-section {
  padding: 100px 0;
}
.sd-light {
  background: #ffffff;
}
.sd-light-alt {
  background: #f8f7f5;
}
.sd-navy {
  background: var(--primary-color);
}

.sd-icon-wrap {
  margin-bottom: 22px;
}
.sd-icon-wrap i {
  font-size: 52px;
  color: var(--secondary-color);
}
.sd-navy .sd-icon-wrap i {
  color: var(--secondary-color);
}

.sd-title {
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 20px;
  line-height: 1.2;
}
.sd-navy .sd-title {
  color: #ffffff;
}

.sd-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #555;
  margin-bottom: 26px;
}
.sd-navy .sd-desc {
  color: rgba(255, 255, 255, 0.82);
}

.sd-list {
  list-style: none;
  padding: 0;
  margin: 0 0 36px;
}
.sd-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 0;
  font-size: 14.5px;
  color: #444;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.sd-list li:last-child {
  border-bottom: none;
}
.sd-navy .sd-list li {
  color: rgba(255, 255, 255, 0.85);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
.sd-list li::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--secondary-color);
  flex-shrink: 0;
}

/* Padding interne colonne texte sur desktop */
@media (min-width: 992px) {
  .row > .sd-text-col {
    padding-right: 3rem;
  }
}

.sd-photos-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.sd-photo {
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}
.sd-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.sd-photo:hover img {
  transform: scale(1.06);
}
.sd-photo.wide {
  grid-column: span 2;
  aspect-ratio: 16 / 7;
}

/* Photo unique : carrée (prend 2 cols × 2 rows) */
.sd-photos-grid .sd-photo:only-child {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: 1 / 1;
}

@media (max-width: 767px) {
  .service-detail-section {
    padding: 60px 24px;
  }
  .service-detail-section .row > div:not(.sd-text-col) {
    margin-left: -15px;
    margin-right: -15px;
    width: calc(100% + 30px);
    max-width: none;
  }
  .paris-renov-section {
    padding: 60px 24px 60px !important;
  }
  .gallery-section {
    padding: 60px 24px 60px !important;
  }
  .sd-photos-grid {
    gap: 10px;
  }
}
@media (max-width: 576px) {
  .sd-photos-grid {
    grid-template-columns: 1fr;
  }
  .sd-photo.wide {
    grid-column: span 1;
    aspect-ratio: 4 / 3;
  }
  .service-detail-section {
    padding: 50px 24px;
  }
}


/* ── Effet goutte au hover ── */
.drop-btn-wrap {
  display: inline-block;
  position: relative;
}
.drop-splash {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 0) scale(0);
  font-size: 28px;
  color: #3b9edd;
  pointer-events: none;
  opacity: 0;
  z-index: 10;
}
.drop-btn-wrap:hover .drop-splash {
  animation: dropJump 1.8s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}
@keyframes dropJump {
  0%   { transform: translate(-50%, 0) scale(0.6);    opacity: 1; }
  35%  { transform: translate(-50%, -64px) scale(1.2);   opacity: 1; }
  55%  { transform: translate(-50%, -44px) scale(0.95);  opacity: 1; }
  70%  { transform: translate(-50%, -58px) scale(1.05);  opacity: 1; }
  85%  { transform: translate(-50%, -48px) scale(0.98);  opacity: 0.85; }
  100% { transform: translate(-50%, -10px) scale(0.4);   opacity: 0; }
}

/* ── Effet flamme au hover (chaudière) ── */
.flame-splash {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 0) scale(0);
  font-size: 28px;
  color: #e85d04;
  pointer-events: none;
  opacity: 0;
  z-index: 10;
}
.drop-btn-wrap:hover .flame-splash {
  animation: flameJump 1.8s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}
@keyframes flameJump {
  0%   { transform: translate(-50%, 0) scale(0.6);    opacity: 1; }
  35%  { transform: translate(-50%, -64px) scale(1.2);   opacity: 1; }
  55%  { transform: translate(-50%, -44px) scale(0.95);  opacity: 1; }
  70%  { transform: translate(-50%, -58px) scale(1.05);  opacity: 1; }
  85%  { transform: translate(-50%, -48px) scale(0.98);  opacity: 0.85; }
  100% { transform: translate(-50%, -10px) scale(0.4);   opacity: 0; }
}
