/**
 * ==============================================================================
 * COUCHE 04 - GABARITS (TEMPLATES) : BOUTIQUE, ARCHIVES & FICHE PRODUIT
 * Thème : The Timer's (thetimers)
 * ==============================================================================
 */

/* ==========================================================================
   1. BOUTIQUE ET ARCHIVES DE MARQUES (ARCHIVE-PRODUCT)
   ========================================================================== */

.tt-shop-archive {
  padding-top: var(--wp--preset--spacing--50, 1.5rem);
  padding-bottom: var(--wp--preset--spacing--80, 4.5rem);
}

.tt-shop-hero {
  position: relative;
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 2rem 1.75rem;
  margin-bottom: 1.75rem;
}

.tt-shop-hero::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 1.75rem;
  width: 48px;
  height: 2px;
  background-color: var(--wp--preset--color--accent, #E7B088);
}

@media (min-width: 768px) {
  .tt-shop-hero {
    padding: 2.5rem 2.75rem;
  }

  .tt-shop-hero::before {
    left: 2.75rem;
  }
}

.tt-shop-breadcrumbs {
  margin-bottom: 0.75rem;
  font-size: var(--tt-text-xs, 0.8125rem);
  color: #6E6E77;
}

.tt-shop-header {
  margin-bottom: 1.25rem;
}

.tt-page-title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: var(--tt-text-h1, clamp(2rem, 1.6rem + 2vw, 3rem));
  font-weight: 500;
  line-height: var(--tt-leading-display, 1.12);
  letter-spacing: var(--tt-tracking-tighter, -0.025em);
  color: var(--wp--preset--color--primary, #272361);
  margin: 0.25rem 0 0.625rem 0;
}

.tt-term-description {
  font-size: var(--tt-text-lead, clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem));
  color: var(--wp--preset--color--contrast-2, #555B62);
  max-width: var(--wp--custom--measure, 720px);
  line-height: var(--tt-leading-relaxed, 1.65);
  margin: 0;
}

.tt-shop-brands-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 1.125rem;
  border-top: 1px solid #EBEBEF;
}

.tt-shop-brand-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.4375rem 1rem;
  background-color: var(--wp--preset--color--base, #FFFFFF);
  color: var(--wp--preset--color--primary, #272361);
  border: 1px solid #E4E4EA;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.tt-shop-brand-pill:hover,
.tt-shop-brand-pill:focus-visible,
.tt-shop-brand-pill.is-active {
  background-color: var(--wp--preset--color--primary, #272361);
  border-color: var(--wp--preset--color--primary, #272361);
  color: var(--wp--preset--color--base, #FFFFFF);
  box-shadow: inset 0 -2px 0 var(--wp--preset--color--accent, #E7B088);
}

/* Filtres rapides par budget en FCFA & disponibilité */
.tt-shop-budget-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #EFEFF3;
}

.tt-shop-budget-label {
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #6E6E77;
  margin-right: 0.25rem;
}

.tt-shop-budget-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.4375rem 0.9375rem;
  background-color: var(--wp--preset--color--base, #FFFFFF);
  color: var(--wp--preset--color--contrast-2, #555B62);
  border: 1px solid #E4E4EA;
  border-radius: 4px;
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.tt-shop-budget-pill:hover,
.tt-shop-budget-pill:focus-visible,
.tt-shop-budget-pill.is-active {
  background-color: var(--wp--preset--color--primary, #272361);
  border-color: var(--wp--preset--color--primary, #272361);
  color: var(--wp--preset--color--base, #FFFFFF);
  font-weight: 500;
}

/* Bandeau Conciergerie Horlogère en bas du catalogue */
.tt-shop-concierge {
  margin-top: 3.5rem;
  padding: 2.25rem 1.75rem;
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .tt-shop-concierge {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 2.5rem 2.75rem;
  }
}

.tt-shop-concierge__text {
  max-width: 640px;
}

.tt-shop-concierge__title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: var(--tt-text-h2-card, clamp(1.5rem, 1.25rem + 1.1vw, 1.875rem));
  font-weight: 500;
  line-height: var(--tt-leading-tight, 1.2);
  letter-spacing: var(--tt-tracking-tight, -0.015em);
  color: var(--wp--preset--color--primary, #272361);
  margin: 0.35rem 0 0.5rem 0;
}

.tt-shop-concierge__text p {
  margin: 0;
  font-size: var(--tt-text-body, clamp(1rem, 0.96rem + 0.2vw, 1.0625rem));
  color: var(--wp--preset--color--contrast-2, #555B62);
  line-height: var(--tt-leading-relaxed, 1.65);
}

.tt-shop-concierge__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.tt-shop-concierge__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.625rem 1.25rem;
  border: 1px solid #D8D8E0;
  border-radius: 4px;
  background-color: var(--wp--preset--color--base, #FFFFFF);
  color: var(--wp--preset--color--primary, #272361);
  font-size: var(--tt-text-sm, 0.875rem);
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.tt-shop-concierge__link:hover {
  border-color: var(--wp--preset--color--primary, #272361);
  background-color: var(--wp--preset--color--primary, #272361);
  color: var(--wp--preset--color--base, #FFFFFF);
}

.tt-shop-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  background-color: #FFFFFF;
  border: 1px solid #EBEBEF;
  border-radius: 4px;
  margin-bottom: 2rem;
  font-size: var(--tt-text-sm, 0.875rem);
  color: var(--wp--preset--color--contrast-2, #555B62);
}

.tt-shop-toolbar p {
  margin: 0;
}

@media (min-width: 600px) {
  .tt-shop-toolbar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* ==========================================================================
   2. FICHE PRODUIT MONTRE (SINGLE-PRODUCT)
   ========================================================================== */

.tt-single-product-article {
  padding-top: var(--wp--preset--spacing--50, 1.5rem);
  padding-bottom: var(--wp--preset--spacing--70, 3rem);
}

.tt-single-product__breadcrumbs {
  margin-bottom: 1.5rem;
  font-size: var(--tt-text-sm, 0.875rem);
  color: var(--wp--preset--color--contrast-2, #555B62);
}

.tt-single-product__layout {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 3rem;
}

@media (min-width: 1024px) {
  .tt-single-product__layout {
    flex-direction: row;
    gap: 3.5rem;
    align-items: flex-start;
  }
}

/* Colonne Galerie */
.tt-single-product__gallery-col {
  flex: 1 1 50%;
  width: 100%;
}

.tt-single-product__gallery-col .woocommerce-product-gallery {
  position: sticky;
  top: 90px;
}

/* Colonne Données & Achat */
.tt-single-product__summary-col {
  flex: 1 1 50%;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.tt-single-product__meta-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  font-size: var(--tt-text-xs, 0.75rem);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--tt-tracking-widest, 0.12em);
  color: #6E6E77;
}

.tt-single-product__sku {
  color: #6E6E77;
  letter-spacing: var(--tt-tracking-wide, 0.04em);
  font-variant-numeric: tabular-nums;
}

.tt-single-product__title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: clamp(1.75rem, 1.45rem + 1.5vw, 2.375rem);
  font-weight: 500;
  line-height: var(--tt-leading-tight, 1.2);
  letter-spacing: var(--tt-tracking-tight, -0.015em);
  color: var(--wp--preset--color--primary, #272361);
  margin: 0 0 1rem 0;
}

.tt-single-product__price-wrapper {
  font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--wp--preset--color--primary, #272361);
  margin-bottom: 1.25rem;
}

.tt-single-product__short-desc {
  font-size: var(--tt-text-body, 1rem);
  color: var(--wp--preset--color--contrast-2, #555B62);
  line-height: var(--tt-leading-relaxed, 1.65);
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #EBEBEF;
}

/* Deux Actions : 1. Action Principale (Panier) - 2. Action Secondaire (WhatsApp discrète) */
.tt-single-product__trust-box {
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 1.125rem 1.25rem;
  margin-bottom: 1.5rem;
}

.tt-single-product__trust-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tt-single-product__trust-list li {
  font-size: 1rem;
  color: var(--wp--preset--color--contrast-2, #555B62);
  /* Bloc simple (et non flex) : le gras et le texte restent sur la même ligne et s'enroulent */
  position: relative;
  padding-left: 1.5rem;
  line-height: var(--tt-leading-normal, 1.55);
}
.tt-single-product__trust-list .tt-trust-dot {
  position: absolute;
  left: 0;
  top: 0;
}

.tt-single-product__trust-list strong {
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
}

.tt-trust-dot {
  color: var(--wp--preset--color--accent, #E7B088);
  font-weight: 500;
}

.tt-single-product__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2rem;
}

/* Action Principale : Ajouter au panier (Quantité + Bouton alignés sur la même ligne) */
.tt-single-product__action-primary form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
  margin: 0;
}

.tt-single-product__action-primary .quantity {
  margin: 0;
  display: flex;
}

.tt-single-product__action-primary .single_add_to_cart_button {
  flex: 1 1 200px;
  width: auto;
  min-height: 48px;
  background-color: var(--wp--preset--color--primary, #272361) !important;
  color: var(--wp--preset--color--base, #FFFFFF) !important;
  border: 1px solid var(--wp--preset--color--primary, #272361) !important;
  font-family: var(--wp--preset--font-family--body, "Inter Tight", sans-serif);
  font-size: 0.9375rem;
  font-weight: 500;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.tt-single-product__action-primary .single_add_to_cart_button:hover {
  background-color: var(--wp--custom--color--primary-hover, #1A1740) !important;
}

/* Action Secondaire : WhatsApp discret (contour avec icône) */
.tt-single-product__action-secondary .tt-whatsapp-btn__link {
  width: 100%;
  justify-content: center;
  min-height: 46px;
  background-color: var(--wp--preset--color--base, #FFFFFF);
  color: var(--wp--preset--color--primary, #272361);
  border: 1px solid #D8D8E0;
  font-family: var(--tt-font-body, "Inter Tight", sans-serif);
  font-size: var(--tt-text-sm, 0.875rem);
  font-weight: 500;
  border-radius: 4px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.tt-single-product__action-secondary .tt-whatsapp-btn__link:hover {
  border-color: var(--wp--preset--color--primary, #272361);
  color: var(--wp--preset--color--primary, #272361);
  background-color: #FAFAFC;
}

/* Caractéristiques Horlogères en core/details */
.tt-single-product__specs {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  margin-top: 1rem;
}

.tt-single-product__specs details.wp-block-details {
  display: block;
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 0.875rem 1.125rem;
  background-color: var(--wp--preset--color--base, #FFFFFF);
  box-sizing: border-box;
}

.tt-single-product__specs summary {
  width: 100%;
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-weight: 500;
  font-size: var(--tt-text-ui, 1rem);
  line-height: var(--tt-leading-snug, 1.35);
  text-align: left;
  color: var(--wp--preset--color--primary, #272361);
  cursor: pointer;
  outline: none;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  list-style: none;
}

.tt-single-product__specs summary::-webkit-details-marker,
.tt-page:not(.tt-wc-native) .wp-block-details summary::-webkit-details-marker {
  display: none;
}

.tt-single-product__specs summary::after,
.tt-page:not(.tt-wc-native) .wp-block-details summary::after {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23272361' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.25s ease;
}

.tt-single-product__specs details.wp-block-details[open] > summary::after,
.tt-page:not(.tt-wc-native) .wp-block-details[open] > summary::after {
  transform: rotate(180deg);
}

.tt-single-product__specs details p {
  margin: 0.75rem 0 0 0;
  font-size: 1rem;
  color: var(--wp--preset--color--contrast-2, #555B62);
  line-height: var(--tt-leading-relaxed, 1.65);
}

.tt-specs-dl {
  margin: 0.75rem 0 0.75rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #EFEFF3;
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 0.5rem 1rem;
  font-size: 1rem;
  line-height: var(--tt-leading-normal, 1.5);
}

.tt-specs-dl dt,
.tt-specs-row dt {
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
}

.tt-specs-dl dd,
.tt-specs-row dd {
  margin: 0;
  color: var(--wp--preset--color--contrast-2, #555B62);
}

@media (max-width: 599px) {
  .tt-specs-dl {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

/* Modèles similaires de la même marque */
.tt-single-product__related {
  padding-top: 3rem;
  border-top: 1px solid #EBEBEF;
  margin-top: 2rem;
}

/* ==========================================================================
   3. BARRE COLLANTE MOBILE (STICKY BOTTOM BAR - SINGLE PRODUCT)
   ========================================================================== */

.tt-sticky-bottom-bar {
  display: none;
}

@media (max-width: 1023px) {
  .tt-sticky-bottom-bar {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background-color: var(--wp--preset--color--base, #FFFFFF);
    border-top: 1px solid #EBEBEF;
    padding: 0.75rem 1rem;
    padding-bottom: max(0.75rem, calc(0.75rem + env(safe-area-inset-bottom)));
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
  }

  .tt-sticky-bottom-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0;
  }

  .tt-sticky-bottom-bar__price {
    font-size: var(--wp--preset--font-size--md, 1rem);
    font-weight: 600;
    color: var(--wp--preset--color--primary, #272361);
    white-space: nowrap;
  }

  .tt-sticky-bottom-bar__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  .tt-sticky-bottom-bar__form {
    margin: 0;
  }

  .tt-sticky-bottom-bar__cart-btn {
    min-height: 44px;
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    background-color: var(--wp--preset--color--primary, #272361);
    color: var(--wp--preset--color--base, #FFFFFF);
    border: none;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s ease;
  }

  .tt-sticky-bottom-bar__cart-btn:hover {
    background-color: var(--wp--custom--color--primary-hover, #1A1740);
  }

  /* Si la barre collante est présente, on masque le bouton flottant WhatsApp et on réserve la hauteur dans le footer */
  body:has(.tt-sticky-bottom-bar) .tt-whatsapp-btn--floating {
    display: none !important;
  }

  body:has(.tt-sticky-bottom-bar) .tt-footer {
    padding-bottom: calc(84px + env(safe-area-inset-bottom));
  }
}

/* ==========================================================================
   PHASE 3 — RÉASSURANCE, LIVRAISON, PAGE AUTHENTICITÉ
   ========================================================================== */

/* Lien vers la page Authenticité, sous l'encart de réassurance */
.tt-single-product__trust-link {
  margin: 0.75rem 0 0;
  font-size: 0.9375rem;
}
.tt-single-product__trust-link a {
  color: var(--wp--preset--color--primary, #272361);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Mention de livraison + Indicateur de stock en direct + Moyens de paiement */
.tt-delivery-reassurance {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.tt-stock-live {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
}

.tt-stock-live--out {
  color: #6E6E77;
}

.tt-stock-live__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: var(--wp--preset--color--primary, #272361);
  flex: 0 0 7px;
}

.tt-stock-live--out .tt-stock-live__dot {
  background-color: #9CA3AF;
}

.tt-delivery-note {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  font-size: 0.9375rem;
  line-height: var(--tt-leading-normal, 1.5);
  color: var(--wp--preset--color--contrast-2, #555B62);
}
.tt-delivery-note__icon {
  flex: 0 0 auto;
  margin-top: 0.1rem;
  color: #6E6E77;
}

.tt-payment-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  padding-top: 0.625rem;
  border-top: 1px solid #EFEFF3;
}

.tt-payment-strip__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.3125rem 0.6875rem;
  background-color: #FAFAFC;
  color: var(--wp--preset--color--contrast-2, #555B62);
  border: 1px solid #E4E4EA;
  border-radius: 3px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* ==========================================================================
   4. ARCHITECTURE HARMONISÉE DES PAGES STATIQUES, CONTACT, À PROPOS & BLOG
   Largeur de référence unifiée : .tt-container (max-width: 1200px)
   ========================================================================== */

/* En-tête de page unifié (1200px) — partagé par Contact, À propos, Authenticité,
   Nouveautés, Promotions, Légal, Blog, Article et Recherche */
.tt-page__header {
  position: relative;
  width: 100%;
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 2rem 1.75rem;
  margin: 0 0 2.5rem 0 !important;
}

.tt-page__header::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 1.75rem;
  width: 48px;
  height: 2px;
  background-color: var(--wp--preset--color--accent, #E7B088);
}

@media (min-width: 768px) {
  .tt-page__header {
    padding: 2.5rem 2.75rem;
    margin: 0 0 3rem 0 !important;
  }

  .tt-page__header::before {
    left: 2.75rem;
  }
}

.tt-page__title,
.tt-page__header h1 {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: var(--tt-text-h1, clamp(2rem, 1.6rem + 2vw, 3rem));
  font-weight: 500;
  line-height: var(--tt-leading-display, 1.12);
  letter-spacing: var(--tt-tracking-tighter, -0.025em);
  color: var(--wp--preset--color--primary, #272361);
  margin: 0.25rem 0 0 0 !important;
}

.tt-page__body,
.tt-page__content {
  width: 100%;
  max-width: 100%;
}

/* Chapô / texte d'introduction de page */
.tt-lead {
  font-size: var(--tt-text-lead, clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem));
  line-height: var(--tt-leading-relaxed, 1.65);
  color: var(--wp--preset--color--contrast-2, #555B62);
  max-width: 78ch;
  margin: 0 0 1.5rem 0;
}

.tt-page-intro {
  max-width: 100%;
  margin: 0 0 2rem 0 !important;
  padding: 1.25rem 1.5rem;
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
}

.tt-page-brands-nav {
  margin: 0 0 2.25rem 0 !important;
  padding: 1rem 1.25rem !important;
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
}

.tt-page-meta {
  color: var(--wp--preset--color--contrast-2, #555B62);
  font-size: var(--tt-text-sm, 0.875rem);
  margin-top: 2.5rem !important;
  padding-top: 1.25rem;
  border-top: 1px solid #EBEBEF;
}

.tt-empty-state {
  padding: 2.75rem 2rem;
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  text-align: center;
}

.tt-empty-state p {
  margin: 0;
  font-size: var(--tt-text-body, 1rem);
  color: var(--wp--preset--color--contrast-2, #555B62);
}

.tt-empty-state a {
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
}

/* ==========================================================================
   5. PAGE CONTACT (/contact/) — 1200PX FULL WIDTH
   ========================================================================== */

.tt-contact-channels {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin: 0 0 2.5rem 0 !important;
  width: 100%;
}

@media (min-width: 768px) {
  .tt-contact-channels {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

.tt-contact-channel-card {
  background-color: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 1.75rem 1.5rem;
  transition: border-color 0.2s ease;
}

.tt-contact-channel-card:hover {
  border-color: #C8C8D4;
}

.tt-contact-channel-card__title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: var(--tt-text-h4, 1.125rem);
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  margin: 0.25rem 0 0.5rem 0 !important;
  line-height: 1.3;
  word-break: break-word;
}

.tt-contact-channel-card__desc {
  margin: 0 !important;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--wp--preset--color--contrast-2, #555B62);
}

.tt-contact {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
  margin: 0 !important;
  width: 100%;
}

@media (min-width: 960px) {
  .tt-contact {
    grid-template-columns: 1fr 1.45fr;
    gap: 2.5rem;
  }
}

.tt-contact__info {
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 2rem 1.75rem;
  width: 100%;
}

@media (min-width: 768px) {
  .tt-contact__info {
    padding: 2.25rem 2.25rem;
  }
}

.tt-contact__form {
  background-color: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 2rem 1.75rem;
  width: 100%;
}

@media (min-width: 768px) {
  .tt-contact__form {
    padding: 2.25rem 2.5rem;
  }
}

.tt-contact__card-title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: var(--tt-text-h2-card, clamp(1.375rem, 1.2rem + 0.9vw, 1.75rem));
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  margin: 0.25rem 0 1.5rem 0 !important;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid #EBEBEF;
}

.tt-contact__info .tt-whatsapp-btn {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.tt-contact__info .tt-whatsapp-btn__link {
  width: 100%;
  justify-content: center;
}

.tt-contact__perks {
  list-style: none !important;
  padding: 1.25rem 0 0 0 !important;
  margin: 1.25rem 0 0 0 !important;
  border-top: 1px solid #EBEBEF;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.tt-contact__perks li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--wp--preset--color--contrast-2, #555B62);
  margin: 0 !important;
}

.tt-contact__perks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
}

.tt-contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.tt-form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 640px) {
  .tt-form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.tt-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
  margin: 0 !important;
}

.tt-form-field label {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
}

.tt-form-field label span {
  color: #6E6E77;
}

.tt-form-field input,
.tt-form-field select,
.tt-form-field textarea {
  width: 100%;
  min-height: 48px;
  padding: 0.6875rem 0.9375rem;
  border: 1px solid #E4E4EA;
  border-radius: 4px;
  background-color: #FAFAFC;
  color: var(--wp--preset--color--contrast, #000000);
  font-size: 1rem;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.tt-form-field input:focus,
.tt-form-field select:focus,
.tt-form-field textarea:focus {
  background-color: var(--wp--preset--color--base, #FFFFFF);
  border-color: var(--wp--preset--color--primary, #272361);
  outline: none;
}

.tt-form-help {
  font-size: 0.9375rem;
  color: #6E6E77;
  margin: 0 !important;
  line-height: 1.55;
}

.tt-form-help a {
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
  text-decoration: underline;
}

.tt-form-submit-wrap {
  margin: 0.25rem 0 0 0 !important;
}

.tt-contact-form__submit {
  width: 100%;
  min-height: 48px;
  padding: 0.75rem 2rem;
  background-color: var(--wp--preset--color--primary, #272361) !important;
  color: var(--wp--preset--color--base, #FFFFFF) !important;
  border: none !important;
  border-radius: 4px;
  font-family: var(--tt-font-body, "Inter Tight", sans-serif);
  font-size: var(--tt-text-sm, 0.9375rem);
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.tt-contact-form__submit:hover {
  background-color: var(--wp--custom--color--primary-hover, #1A1740) !important;
}

/* Champ piège : hors écran, jamais display:none */
.tt-form-hp {
  position: absolute !important;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.tt-form-notice {
  padding: 1rem 1.25rem;
  border-radius: 4px;
  margin-bottom: 1.5rem;
  font-weight: 500;
}

.tt-form-notice--success {
  background: #F7F7F9;
  border: 1px solid #D8D8E0;
  color: var(--wp--preset--color--primary, #272361);
}

.tt-form-notice--error {
  background: #FBECEC;
  border: 1px solid rgba(158, 43, 40, 0.25);
  color: #9E2B28;
}

/* ==========================================================================
   6. PAGE À PROPOS (/a-propos/) — 1200PX FULL WIDTH
   ========================================================================== */

.tt-about-intro-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.75rem;
  margin: 0 0 3rem 0 !important;
  width: 100%;
}

@media (min-width: 900px) {
  .tt-about-intro-grid {
    grid-template-columns: 1.15fr 0.85fr;
    gap: 2.25rem;
  }
}

.tt-about-card {
  padding: 2rem 1.75rem;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .tt-about-card {
    padding: 2.5rem;
  }
}

.tt-about-card--mission {
  background-color: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid #EBEBEF;
}

.tt-about-card--origin {
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
}

.tt-about-card__title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: var(--tt-text-h2-card, clamp(1.375rem, 1.2rem + 0.9vw, 1.875rem));
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  margin: 0.25rem 0 1rem 0 !important;
  line-height: 1.22;
}

.tt-about-card p {
  font-size: var(--tt-text-body, 1rem);
  line-height: var(--tt-leading-relaxed, 1.65);
  color: var(--wp--preset--color--contrast-2, #555B62);
  margin: 0 0 1rem 0;
}

.tt-about-card p:last-child {
  margin-bottom: 0;
}

.tt-about-card__meta {
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid #EBEBEF;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.9375rem;
}

.tt-about-card__meta strong {
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
}

.tt-about-card__meta span {
  color: var(--wp--preset--color--contrast-2, #555B62);
}

.tt-about-founder-card {
  margin: 0 0 3.5rem 0 !important;
}

.tt-about-commitments-section {
  width: 100%;
  margin: 0 !important;
}

.tt-about-commitments-header {
  margin-bottom: 2rem;
}

.tt-about-commitments-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  width: 100%;
}

@media (min-width: 640px) {
  .tt-about-commitments-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .tt-about-commitments-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.75rem;
  }
}

.tt-about-commitment-item {
  background-color: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s ease;
}

.tt-about-commitment-item:hover {
  border-color: #C8C8D4;
}

.tt-about-commitment-item__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 4px;
  background-color: #FAFAFC;
  border: 1px solid rgba(231, 176, 136, 0.55);
  color: var(--wp--preset--color--primary, #272361);
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

.tt-about-commitment-item__title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: var(--tt-text-h4, 1.125rem);
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  margin: 0 0 0.625rem 0 !important;
  line-height: 1.3;
}

.tt-about-commitment-item p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--wp--preset--color--contrast-2, #555B62);
}

.tt-about-commitment-item--cta {
  background-color: #FAFAFC;
  border-color: #E4E4EA;
}

.tt-about-commitment-item__actions {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.tt-btn-primary {
  background-color: var(--wp--preset--color--primary, #272361) !important;
  color: var(--wp--preset--color--base, #FFFFFF) !important;
  padding: 0.6875rem 1.375rem !important;
  border-radius: 4px !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.tt-about-commitment-item__actions .tt-btn-outline {
  padding: 0.6875rem 1.25rem;
  font-size: 0.9375rem;
}

/* ==========================================================================
   7. PAGE AUTHENTICITÉ (/authenticite/) & ACCORDÉONS ÉDITORIAUX — 1200PX
   ========================================================================== */

.tt-auth-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.25rem;
  align-items: start;
  width: 100%;
}

@media (min-width: 960px) {
  .tt-auth-grid {
    grid-template-columns: 1.15fr 0.85fr;
    gap: 2.75rem;
  }
}

.tt-auth-section-title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: var(--tt-text-h2-card, clamp(1.375rem, 1.2rem + 0.9vw, 1.875rem));
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  margin: 0.25rem 0 1.25rem 0 !important;
}

.tt-auth-sidebar {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.tt-auth-guarantee-card {
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 2rem 1.75rem;
}

.tt-auth-guarantee-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 1.5rem 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.tt-auth-guarantee-list li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--wp--preset--color--contrast, #000000);
  margin: 0 !important;
}

.tt-auth-guarantee-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
}

.tt-auth-guarantee-list a {
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
  text-decoration: underline;
}

.tt-auth-faq-box {
  background-color: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 2rem 1.75rem;
}

/* Accordéons des pages statiques (Authenticité, etc.) */
.tt-page:not(.tt-wc-native) .wp-block-details {
  display: block;
  width: 100% !important;
  margin: 0 0 0.625rem 0 !important;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  background-color: var(--wp--preset--color--base, #FFFFFF);
  padding: 0 !important;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.tt-page:not(.tt-wc-native) .wp-block-details[open] {
  border-color: var(--wp--preset--color--primary, #272361);
}

.tt-page:not(.tt-wc-native) .wp-block-details summary {
  width: 100%;
  padding: 1rem 1.25rem;
  text-align: left;
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: 1rem;
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  cursor: pointer;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  list-style: none;
  box-sizing: border-box;
}

.tt-page:not(.tt-wc-native) .wp-block-details p {
  margin: 0 !important;
  padding: 1rem 1.25rem 1.25rem 1.25rem;
  border-top: 1px solid #EBEBEF;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--wp--preset--color--contrast-2, #555B62);
}

/* ==========================================================================
   8. PAGES LÉGALES (MENTIONS, CONFIDENTIALITÉ, GARANTIE) — 1200PX HARMONISÉ
   ========================================================================== */

.tt-legal__updated {
  gap: 0.375rem;
  margin-top: 0.75rem !important;
  font-size: 0.9375rem;
  color: #6E6E77;
}

.tt-legal__updated p {
  margin: 0;
}

.tt-legal__card {
  width: 100%;
  background-color: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 2rem 1.5rem;
}

@media (min-width: 768px) {
  .tt-legal__card {
    padding: 2.75rem 3.25rem;
  }
}

.tt-legal__content h2 {
  font-size: var(--tt-text-h3, 1.375rem);
  font-weight: 500;
  margin: 2rem 0 0.75rem 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #EBEBEF;
}

.tt-legal__content h2:first-child {
  margin-top: 0;
}

.tt-legal__content h3 {
  font-size: var(--tt-text-h4, 1.125rem);
  font-weight: 500;
  margin: 1.5rem 0 0.5rem 0;
}

.tt-legal__content p,
.tt-legal__content li {
  font-size: var(--tt-text-body, 1rem);
  line-height: var(--tt-leading-relaxed, 1.65);
  color: var(--wp--preset--color--contrast-2, #555B62);
  max-width: 85ch;
}

.tt-legal .wp-block-table {
  margin: 1.5rem 0;
}

.tt-legal .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
}

.tt-legal .wp-block-table th {
  background-color: #FAFAFC;
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
}

.tt-legal .wp-block-table th,
.tt-legal .wp-block-table td {
  border: 1px solid #EBEBEF;
  padding: 0.75rem 1rem;
  text-align: left;
  vertical-align: top;
}

@media (max-width: 599px) {
  .tt-legal .wp-block-table {
    overflow-x: auto;
  }
}

/* ==========================================================================
   9. BLOG (LE JOURNAL), ARTICLES, RECHERCHE & 404 — 1200PX HARMONISÉ
   ========================================================================== */

.tt-blog,
.tt-article,
.tt-404 {
  padding-top: var(--wp--preset--spacing--60, 2rem);
  padding-bottom: var(--wp--preset--spacing--80, 4.5rem);
}

.tt-blog__lead {
  margin: 0.625rem 0 0 0 !important;
  max-width: 72ch;
}

.tt-blog__topics {
  margin-top: 1.25rem !important;
}

/* Grille d'articles : 1 seul article par ligne sur mobile (< 768px), 2 sur tablette, 3 sur bureau */
.tt-post-grid,
.wp-block-post-template.tt-post-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

.tt-post-grid > li,
.wp-block-post-template.tt-post-grid > li {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

@media (min-width: 768px) {
  .tt-post-grid,
  .wp-block-post-template.tt-post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.75rem;
  }
}

@media (min-width: 1024px) {
  .tt-post-grid,
  .wp-block-post-template.tt-post-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2rem;
  }
}

.tt-post-card {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  overflow: hidden;
  transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.tt-post-card:hover {
  border-color: var(--wp--preset--color--accent, #E7B088);
  box-shadow: 0 8px 24px rgba(17, 17, 26, 0.04);
}

.tt-post-card__media {
  margin: 0 !important;
  background: #F7F7F9;
  border-bottom: 1px solid #EFEFF3;
  overflow: hidden;
}

.tt-post-card__media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.tt-post-card:hover .tt-post-card__media img {
  transform: scale(1.02);
}

.tt-post-card__body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  flex: 1;
}

.tt-post-card__cat,
.tt-article__cat {
  position: relative;
  z-index: 2;
}

.tt-post-card__cat a,
.tt-article__cat a {
  display: inline-block;
  padding: 0.25rem 0.6875rem;
  background-color: #FAFAFC;
  border: 1px solid #E4E4EA;
  border-radius: 3px;
  color: #6E6E77;
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
}

.tt-post-card__title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: clamp(1.1875rem, 1.1rem + 0.3vw, 1.3125rem);
  font-weight: 500;
  line-height: 1.35;
  color: var(--wp--preset--color--primary, #272361);
  margin: 0 !important;
}

.tt-post-card__title a {
  color: inherit;
  text-decoration: none;
}

/* Carte entièrement cliquable via le lien du titre */
.tt-post-card__title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.tt-post-card__excerpt,
.tt-post-card__excerpt p {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--wp--preset--color--contrast-2, #555B62);
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tt-post-card__footer {
  margin-top: auto !important;
  padding-top: 1rem;
  border-top: 1px solid #EFEFF3;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem;
  width: 100%;
}

.tt-post-card__date {
  font-size: 0.875rem;
  color: #6E6E77;
  margin: 0 !important;
}

.tt-post-card__more {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  text-decoration: none;
  margin: 0 !important;
}

/* Article individuel (Single Post) */
.tt-article__meta {
  gap: 0.75rem;
  margin-top: 0.75rem !important;
  color: #6E6E77;
  font-size: 0.9375rem;
}

.tt-article__card {
  background-color: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 2rem 1.5rem;
}

@media (min-width: 768px) {
  .tt-article__card {
    padding: 3rem 3.5rem;
  }
}

.tt-article__media {
  margin: 0 0 2rem 0 !important;
}

.tt-article__media img {
  border-radius: 6px;
  width: 100%;
}

.tt-article__content {
  font-size: var(--tt-text-body, 1.0625rem);
  line-height: 1.75;
  max-width: 78ch;
  margin: 0 auto;
}

.tt-article__cta {
  margin-top: 2.5rem !important;
  padding: 2.25rem 2rem;
  background: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
}

.tt-article__cta h2 {
  margin: 0.25rem 0 0.625rem 0 !important;
}

.tt-article__nav {
  margin-top: 2rem !important;
  padding-top: 1.5rem;
  border-top: 1px solid #EBEBEF;
  gap: 1rem;
}

.tt-article__nav a {
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
  text-decoration: none;
}

.tt-article__nav a:hover {
  text-decoration: underline;
}

/* Recherche & 404 */
.tt-search__form {
  margin: 1.25rem 0 0 0 !important;
  max-width: 620px;
}

.tt-404__card {
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 3.5rem 2rem;
  text-align: center;
  width: 100%;
}

.tt-404__card .tt-lead {
  margin-left: auto;
  margin-right: auto;
}

.tt-404 .wp-block-search {
  margin: 1.5rem auto 2rem auto;
  max-width: 560px;
}

.tt-search__form .wp-block-search__inside-wrapper,
.tt-404 .wp-block-search__inside-wrapper {
  display: flex;
  gap: 0.5rem;
}

.tt-search__form .wp-block-search__input,
.tt-404 .wp-block-search__input {
  flex: 1;
  min-height: 48px;
  padding: 0.625rem 0.875rem;
  border: 1px solid #E4E4EA;
  border-radius: 4px;
  background: var(--wp--preset--color--base, #FFFFFF);
  color: var(--wp--preset--color--contrast, #000000);
}

.tt-search__form .wp-block-search__button,
.tt-404 .wp-block-search__button {
  min-height: 48px;
  padding: 0.625rem 1.25rem;
  border-radius: 4px;
  background: var(--wp--preset--color--primary, #272361);
  color: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid var(--wp--preset--color--primary, #272361);
  font-weight: 500;
  cursor: pointer;
}

.tt-search__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.tt-search__item {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.25rem;
  background-color: var(--wp--preset--color--base, #FFFFFF);
  border: 1px solid #EBEBEF;
  border-radius: 6px;
}

.tt-search__media {
  flex: 0 0 88px;
  width: 88px;
  margin: 0;
  border-radius: 4px;
  overflow: hidden;
  background-color: #F7F7F9;
  border: 1px solid #EFEFF3;
}

.tt-search__media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 0.25rem;
}

.tt-search__body {
  flex: 1;
  min-width: 0;
}

.tt-search__title {
  font-size: var(--wp--preset--font-size--lg, 1.1875rem);
  font-weight: 500;
  margin: 0 0 0.375rem;
}

.tt-search__title a {
  color: var(--wp--preset--color--primary, #272361);
  text-decoration: none;
}

.tt-search__title a:hover {
  text-decoration: underline;
}

.tt-404__code {
  font-size: var(--wp--preset--font-size--3xl, 3rem);
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  margin: 0 0 0.5rem 0;
  line-height: 1;
}

/* Caractéristiques de la montre : listes lisibles */
.tt-product-specs {
  font-size: var(--tt-text-body, clamp(1rem, 0.96rem + 0.2vw, 1.0625rem));
  line-height: var(--tt-leading-relaxed, 1.65);
  color: var(--wp--preset--color--contrast, #000000);
}
.tt-product-specs ul { margin: 0 0 1rem; padding-left: 1.25rem; }
.tt-product-specs li { margin-bottom: 0.375rem; line-height: var(--tt-leading-relaxed, 1.65); }
.tt-product-specs p { margin: 0 0 0.75rem; line-height: var(--tt-leading-relaxed, 1.65); }
.tt-product-specs__part + .tt-product-specs__part {
  border-top: 1px solid var(--wp--preset--color--border, #E9E9E9);
  padding-top: 1rem;
  margin-top: 1rem;
}

/* WooCommerce masque la galerie (opacity: 0 en ligne) jusqu'à l'exécution de son JavaScript.
   L'hébergeur retardant le JS jusqu'au premier geste, la photo resterait invisible : on l'affiche
   tout de suite ; zoom et miniatures s'activent dès que le JS est chargé. */
.tt-single-product__gallery-col .woocommerce-product-gallery {
  opacity: 1 !important;
}
.tt-single-product__gallery-col .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background-color: #F7F7F9;
  border: 1px solid #EBEBEF;
  border-radius: 6px;
  padding: 1rem;
}
.tt-single-product__gallery-col .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
}
.tt-single-product__gallery-col .flex-control-thumbs li {
  margin: 0;
}
.tt-single-product__gallery-col .flex-control-thumbs img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background-color: #F7F7F9;
  border: 1px solid #EBEBEF;
  border-radius: 4px;
  padding: 0.25rem;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}
.tt-single-product__gallery-col .flex-control-thumbs img.flex-active,
.tt-single-product__gallery-col .flex-control-thumbs img:hover {
  opacity: 1;
  border-color: var(--wp--preset--color--primary, #272361);
}

/* Pagination harmonisée (Boutique, Blog, Nouveautés, Promotions, Recherche) */
.wp-block-query-pagination,
.wc-block-components-pagination,
.woocommerce-pagination {
  margin-top: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.wp-block-query-pagination-numbers {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers,
.wc-block-components-pagination__page,
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
  min-width: 44px;
  min-height: 44px;
  padding: 0 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E4E4EA;
  border-radius: 4px;
  background-color: var(--wp--preset--color--base, #FFFFFF);
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
  font-size: 0.875rem;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.wp-block-query-pagination .page-numbers.current,
.wc-block-components-pagination__page--active,
.woocommerce-pagination .page-numbers li span.current {
  background-color: var(--wp--preset--color--primary, #272361);
  border-color: var(--wp--preset--color--primary, #272361);
  color: var(--wp--preset--color--base, #FFFFFF);
  font-weight: 500;
}
.wp-block-query-pagination a:hover,
.wc-block-components-pagination__page:hover,
.woocommerce-pagination .page-numbers li a:hover {
  border-color: var(--wp--preset--color--primary, #272361);
  background-color: #FAFAFC;
}

/* Pages WooCommerce natives (panier, caisse, compte) : simple respiration, aucun habillage (ADR-004) */
.tt-wc-native { padding-top: var(--wp--preset--spacing--60, 2rem); }

/* ==========================================================================
   BLOC SEO DYNAMIQUE DE BAS DE PAGE (MARQUES & BOUTIQUE — FEATURED SNIPPETS)
   ========================================================================== */

.tt-brand-seo-box {
  margin-top: 2.5rem;
  padding: 2rem 1.375rem;
  background-color: #FAFAFC;
  border: 1px solid #EBEBEF;
  border-top: 2px solid var(--wp--preset--color--accent, #E7B088);
  border-radius: 6px;
}

@media (min-width: 768px) {
  .tt-brand-seo-box {
    margin-top: 3rem;
    padding: 2.5rem 2.75rem;
  }
}

.tt-brand-seo-box__header {
  max-width: 820px;
  margin-bottom: 1.75rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #EBEBEF;
}

.tt-brand-seo-box__title {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: clamp(1.25rem, 1.1rem + 0.75vw, 1.625rem);
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  line-height: 1.25;
  margin: 0.375rem 0 0.875rem 0 !important;
}

.tt-brand-seo-box__lead {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--wp--preset--color--contrast, #1E1E1E);
  margin: 0 !important;
}

.tt-brand-seo-box__lead strong {
  color: var(--wp--preset--color--primary, #272361);
  font-weight: 500;
}

.tt-brand-seo-box__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .tt-brand-seo-box__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
  }
}

.tt-brand-seo-box__subtitle {
  font-family: var(--tt-font-heading, "Inter Tight", sans-serif);
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--wp--preset--color--primary, #272361);
  margin: 0 0 0.875rem 0 !important;
}

.tt-brand-seo-box__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.tt-brand-seo-box__list li {
  position: relative;
  padding-left: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--wp--preset--color--contrast-2, #555B62);
  margin: 0 !important;
}

@media (min-width: 768px) {
  .tt-brand-seo-box__list li {
    font-size: 0.96875rem;
  }
}

.tt-brand-seo-box__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 2px;
  background-color: var(--wp--preset--color--accent, #E7B088);
}

.tt-brand-seo-box__list li strong {
  color: var(--wp--preset--color--contrast, #1E1E1E);
  font-weight: 500;
}

.tt-brand-seo-box__list li a {
  color: var(--wp--preset--color--primary, #272361);
  text-decoration: underline;
  text-underline-offset: 3px;
}

