/* 01_variables_theme.css - Reset, Variables, Polices et Base Globale */

/* --- POLICES LOCALES WOFF2 (100% RGPD, ZERO DEPENDANCE EXTERNE, ZERO REQUETE BLOQUANTE) --- */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('https://jardindesbulles.fr/wp-content/uploads/fonts/cormorant-garamond-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://jardindesbulles.fr/wp-content/uploads/fonts/cormorant-garamond-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('https://jardindesbulles.fr/wp-content/uploads/fonts/plus-jakarta-sans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 0. RESET, NO FOCUS RECTANGLE & ANTI-HORIZONTAL SCROLL */
*,
*::before,
*::after {
  box-sizing: border-box !important;
}

a,
button,
input,
[role="button"],
.wp-block-button__link,
.jdb-nav-link,
.jdb-mobile-link,
.jdb-btn-shop,
.jdb-cart-btn,
.jdb-product-card,
.jdb-card-btn,
.jdb-weight-pill,
.jdb-cb-btn,
.jdb-modal-close-icon {
  outline: none !important;
  outline-color: transparent !important;
  -webkit-tap-highlight-color: transparent !important;
}

a:focus,
a:active,
a:focus-visible,
a:visited,
button:focus,
button:active,
button:focus-visible,
input:focus,
input:active,
input:focus-visible {
  outline: none !important;
  outline-color: transparent !important;
  box-shadow: none !important;
}

html,
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 100% Full Width Page Layout, Sticky Footer & Elimination of Inter-Section White Gaps */
html {
  height: 100% !important;
  scroll-behavior: smooth !important;
  scroll-padding-top: 75px !important;
}

body {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  padding-top: 72px;
}

.wp-site-blocks {
  display: flex !important;
  flex-direction: column !important;
  min-height: calc(100vh - 72px) !important;
  flex: 1 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

main {
  flex: 1 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

.entry-content,
.wp-block-post-content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

footer,
#contact {
  margin-top: auto !important;
}

.wp-block-post-content>*,
.entry-content>*,
main>*,
.wp-site-blocks>*,
.wp-block-group.alignfull,
.alignfull {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.wp-block-group.alignwide,
.wp-block-columns.alignwide,
.alignwide {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(16px, 4vw, 60px) !important;
  padding-right: clamp(16px, 4vw, 60px) !important;
  box-sizing: border-box !important;
}

@media (max-width: 782px) {

  .wp-block-columns.alignwide,
  .wp-block-columns {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  .wp-block-columns .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

body,
p,
li,
a,
button,
input {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

h1,
h2,
h3,
.brand-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 700 !important;
}


/* body base font size */

body {
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased;
}

.jdb-nav-link {
  font-size: 1.02rem !important;
}

.jdb-mobile-link {
  font-size: 1.1rem !important;
}

.jdb-card-title {
  font-size: 1.35rem !important;
}

.jdb-card-desc {
  font-size: 1.02rem !important;
  line-height: 1.6 !important;
}

.jdb-card-price {
  font-size: 1.15rem !important;
}


/* WORDPRESS ADMIN BAR COMPATIBILITY */
#wpadminbar {
  z-index: 99999999 !important;
}

body.admin-bar .jdb-fixed-header-wrapper,
html.admin-bar .jdb-fixed-header-wrapper,
body:has(#wpadminbar) .jdb-fixed-header-wrapper {
  top: 32px !important;
}

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

  body.admin-bar .jdb-fixed-header-wrapper,
  html.admin-bar .jdb-fixed-header-wrapper,
  body:has(#wpadminbar) .jdb-fixed-header-wrapper {
    top: 46px !important;
  }
}

.jdb-fixed-header-wrapper {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  z-index: 999999 !important;
  box-shadow: 0 4px 20px rgba(45, 36, 33, 0.08) !important;
  background: #FFFFFF !important;
  box-sizing: border-box !important;
}

.jdb-topbar {
  background-color: #2D2421 !important;
  color: #FFFFFF !important;
  padding: 3px 16px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

.jdb-topbar p {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}

/* Global Typography Scaling for Optimal Readability */
body,
p,
li,
label,
.wp-block-paragraph {
  font-size: 1.12rem !important;
  line-height: 1.75 !important;
}

.jdb-card-desc {
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
}

.jdb-card-title {
  font-size: 1.42rem !important;
}

.jdb-card-price {
  font-size: 1.25rem !important;
}

.jdb-nav-link {
  font-size: 1.05rem !important;
}

label {
  font-size: 1.02rem !important;
}

input,
select,
textarea {
  font-size: 1.05rem !important;
}


/* 13enWeb - Style propre pour les villes et textes secondaires des témoignages */
.jdb-testimonial-city {
  font-weight: 400 !important;
  color: #998880 !important;
  font-size: 0.9em;
}

/* ==========================================================================
   EFFET SONAR DISCRET - BOUTON DÉCOUVRIR MES CRÉATIONS (TOUT ÉCRAN)
   ========================================================================== */
.jdb-btn-sonar,
#accueil .wp-block-buttons .wp-block-button:first-child .wp-block-button__link {
  position: relative !important;
  z-index: 2 !important;
  overflow: visible !important;
  box-shadow: 0 4px 16px rgba(194, 109, 83, 0.28) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease !important;
}

#accueil .wp-block-buttons .wp-block-button:first-child {
  overflow: visible !important;
}

.jdb-btn-sonar::before,
#accueil .wp-block-buttons .wp-block-button:first-child .wp-block-button__link::before,
.jdb-btn-sonar::after,
#accueil .wp-block-buttons .wp-block-button:first-child .wp-block-button__link::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 50px !important;
  border: 1.5px solid #C26D53 !important;
  pointer-events: none !important;
  z-index: -1 !important;
  opacity: 0;
}

.jdb-btn-sonar::before,
#accueil .wp-block-buttons .wp-block-button:first-child .wp-block-button__link::before {
  animation: jdbSonarPulse 3s cubic-bezier(0.2, 0.8, 0.2, 1) infinite !important;
}

.jdb-btn-sonar::after,
#accueil .wp-block-buttons .wp-block-button:first-child .wp-block-button__link::after {
  animation: jdbSonarPulse 3s cubic-bezier(0.2, 0.8, 0.2, 1) infinite 1.2s !important;
}

@keyframes jdbSonarPulse {
  0% {
    transform: scale(1);
    opacity: 0.65;
  }

  70% {
    transform: scale(1.14, 1.34);
    opacity: 0;
  }

  100% {
    transform: scale(1.18, 1.42);
    opacity: 0;
  }
}

.jdb-btn-sonar:hover,
#accueil .wp-block-buttons .wp-block-button:first-child .wp-block-button__link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(194, 109, 83, 0.4) !important;
}