/*
Theme Name: Absolu Santé Laser 1.1
Author: Absolu Santé Laser
Author URI: https://www.absolusantelaser.fr/
Description: Theme sur mesure pour Absolu Sante Laser - Centre d'epilation definitive et de detatouage au laser, 23 avenue Victor Hugo, 75116 Paris. Design elegant avec palette navy, teal et typographies Playfair Display et Montserrat.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: absolu-sant-laser-1-1
Tags: block-theme, full-site-editing, custom-colors, custom-logo, one-column, two-columns

Absolu Sante Laser — Centre d'epilation definitive et de detatouage au laser.
*/

.equal-cards > .wp-block-column {
  display: flex;
  flex-direction: column;
  flex-grow: 0;
}
.equal-cards > .wp-block-column > .wp-block-group {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.equal-cards .cta-bottom {
  margin-top: auto;
  justify-content: center;
}

.wp-site-blocks > footer {
  margin-block-start: 0;
}

/* Header top alignment fix */
.wp-block-group.alignwide > .wp-block-buttons {
  margin: 0;
}

/* ── Top Bar ── */

.ff-topbar-wrap {
  border-bottom: 1px solid #E6E9EB;
}

.ff-topbar-wrap .wp-block-button__link {
  box-shadow: none !important;
  text-decoration: none;
  transition: color 0.3s ease;
  white-space: nowrap;
}

.ff-topbar-btn-cta .wp-block-button__link:hover {
  color: #62C7CA !important;
}

.ff-topbar-btn-phone .wp-block-button__link:hover {
  color: #62C7CA !important;
}

.ff-topbar-wrap .wp-block-social-links .wp-social-link svg {
  transition: fill 0.3s ease;
}

.ff-topbar-wrap .wp-block-social-links .wp-social-link:hover svg {
  fill: #62C7CA;
}

@media (max-width: 900px) {
  .ff-topbar-wrap .wp-block-group.alignwide {
    flex-wrap: wrap;
  }

  .ff-topbar-wrap .wp-block-button__link {
    font-size: 0.65rem !important;
    padding: 0.4rem 0.75rem !important;
  }

  .ff-topbar-wrap p {
    font-size: 0.65rem !important;
    padding: 0.4rem 0.75rem !important;
  }
}

@media (max-width: 600px) {
  .ff-topbar-wrap {
    display: none !important;
  }
}

@keyframes ffFadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ffFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.ff-fade-in-up {
  animation: ffFadeInUp 0.8s ease-out both;
}

.ff-fade-in {
  animation: ffFadeIn 1s ease-out both;
}

.ff-delay-1 { animation-delay: 0.15s; }
.ff-delay-2 { animation-delay: 0.3s; }
.ff-delay-3 { animation-delay: 0.45s; }
.ff-delay-4 { animation-delay: 0.6s; }

.ff-hero-title {
  animation: ffFadeInUp 1s ease-out both;
  animation-delay: 0.2s;
}

.ff-hero-subtitle {
  animation: ffFadeInUp 1s ease-out both;
  animation-delay: 0.5s;
}

.ff-hero-btn {
  animation: ffFadeInUp 1s ease-out both;
  animation-delay: 0.7s;
}

.ff-nav a {
  position: relative;
  transition: color 0.3s ease;
}

.ff-nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: #62C7CA;
  transition: width 0.3s ease;
}

.ff-nav a:hover::after {
  width: 100%;
}

.ff-card-hover {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.ff-card-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(40, 65, 94, 0.12);
}

.ff-btn-accent {
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.ff-btn-accent:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

/* ── Button Hover States ── */
/* Default transitions for all buttons */
.wp-block-button__link,
.wp-element-button {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
}

/* Default hover: navy background, white text — applies only when no inline hover style is set */
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-element-button:hover {
  background-color: #28415E;
  color: #FFFFFF;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-element-button:hover {
  background-color: #28415E;
  color: #FFFFFF;
  border-color: #28415E;
}

/* Allow inline hover styles from the editor to override defaults */
.wp-block-button .wp-block-button__link[style*="--hover"] {
  /* placeholder for editor hover custom properties */
}

.ff-separator {
  width: 60px;
  height: 3px;
  background: #62C7CA;
  border: none;
  margin: 0;
}

.ff-separator-center {
  width: 60px;
  height: 3px;
  background: #62C7CA;
  border: none;
  margin-left: auto;
  margin-right: auto;
}

.ff-img-zoom {
  overflow: hidden;
}

.ff-img-zoom img {
  transition: transform 0.6s ease;
}

.ff-img-zoom:hover img {
  transform: scale(1.05);
}

.ff-overlay-gradient {
  background: linear-gradient(180deg, rgba(21, 50, 84, 0) 0%, rgba(21, 50, 84, 0.7) 100%);
}

.ff-quote-border {
  border-left: 4px solid #62C7CA;
}

.ff-dot-pattern {
  background-image: radial-gradient(circle, #62C7CA 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.08;
}

/* ── Sticky Header Logo Shrink ── */

.ff-header-main {
  transition: padding 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.35s ease;
}

.ff-header-main .wp-block-site-logo img,
.ff-header-main .custom-logo {
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.ff-header-main.is-scrolled {
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
  box-shadow: 0 6px 18px rgba(21, 50, 84, 0.08);
  backdrop-filter: blur(10px);
}

.ff-header-main.is-scrolled .wp-block-site-logo img,
.ff-header-main.is-scrolled .custom-logo {
  max-height: 50px !important;
  transform: scale(0.86);
  transform-origin: left center;
}

/* ── Navigation responsive overlay styling ── */
.wp-block-navigation__responsive-container.is-menu-open {
  padding: 2rem 1.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding-top: 1rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #28415E;
  padding: 0.75rem 0;
  border-bottom: 1px solid #E6E9EB;
  transition: color 0.3s ease;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover {
  color: #62C7CA;
}