/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Thème enfant pour Hello Elementor
Author: Jiinto
Author URI: https://jiinto.com
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* =========================================================
   VARIABLES
   ========================================================= */
:root {
  --c-red: #E00A14;
  --c-red-hover: #CE000A;
  --cta-radius: 32px;

  --grad-1: #E00A14;
  --grad-2: #FF006A;
  --grad-3: #B100C9;
}

/* =========================================================
   TILE HEIGHTS
   ========================================================= */
.tile-h-sm {
  height: 450px;
  max-height: 70vh;
}

.tile-h-md {
  height: 550px;
  max-height: 80vh;
}

.tile-h-lg {
  height: 620px;
  max-height: 90vh;
}

/* Mobile overrides (Tiles)*/
@media (max-width: 767px) {
  .tile-h-md {
    height: 420px;
  }
}

/* =========================================================
   CTA SYSTEM
   ========================================================= */
.cta-large .elementor-button,
.cta-small .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  line-height: 1;
  text-align: center;

  border-radius: var(--cta-radius);

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    fill 0.2s ease,
    transform 0.2s ease-in-out;

  will-change: transform;
}

/* CTA Large */
.cta-large .elementor-button {
  padding: 14px 24px !important;
}

/* CTA Small */
.cta-small .elementor-button {
  padding: 6px 8px !important;
  font-size: 14px !important;
  letter-spacing: -0.65px !important;

  background-color: var(--c-red) !important;
  color: #fff !important;
}

/* Hover (shared) */
.cta-large .elementor-button:hover,
.cta-small .elementor-button:hover {
  transform: translateY(-1px) scale(1.07) !important;
}

/* Mobile: CTA Large */
@media (max-width: 767px) {
  .cta-large .elementor-button {
    padding: 12px 24px !important;
  }
}

/* =========================================================
   HEADER SCROLL BEHAVIOR
   ========================================================= */
.header-scroll {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;

  transform: translateY(-100%);
  transition: transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: transform;
}

.header-scroll.is-visible {
  transform: translateY(0);
}

/* =========================================================
   TITLE GRADIENT
   ========================================================= */
.title-gradient {
  background: linear-gradient(
    90deg,
    var(--grad-1) 0%,
    var(--grad-2) 50%,
    var(--grad-3) 100%
  );
  background-size: 130% 100%;
  background-position: 50% 50%;
  background-repeat: no-repeat;

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  /* évite le clipping avec letter-spacing négatif */
  padding-inline: 0.08em;
  margin-inline: -0.08em;
}

/* =========================================================
   HERO PHONES (layout mobile)
   ========================================================= */
@media (max-width: 767px) {
  .hero-phones-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;

    width: 100vw;
  }

  .hero-phones-row .elementor-element {
    flex: 0 0 auto !important;
  }
}


/* =========================================================
   FEATURE TABS (Nested Tabs)
   ========================================================= */
.feature-tabs .e-n-tabs {
  gap: 3rem !important;
}

.feature-tabs .e-n-tab-title-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.5rem;
  font-size: 1.5rem !important;
  text-align: left !important;
  letter-spacing: -1.4px !important;
}

/* Description */
.feature-tabs .e-n-tab-title-text .tab-desc,
.feature-tabs .e-n-tab-title-text span {
  display: block;
  font-size: 1.125rem !important;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0 !important;
}

/* Responsive sizes: tab description */
@media (min-width: 768px) and (max-width: 1024px) {
  .feature-tabs .e-n-tab-title-text {
   font-size: 1.35rem !important;
}
  .feature-tabs .e-n-tab-title-text .tab-desc {
    font-size: 1.05rem !important;
  }
}


@media (max-width: 767px) {
    .feature-tabs .e-n-tab-title-text {
  font-size: 1.5rem !important;
}

  .feature-tabs .e-n-tab-title-text .tab-desc {
    font-size: 1rem !important;
  }
}


/* =========================================================
   MODAL CONTACT
   ========================================================= */



@media (max-width: 767px) {
	.modal-fullscreen {
	  height: 100dvh;     /* suit la vraie hauteur quand le clavier s'ouvre */
	  min-height: 100dvh;
	}
}