/*
Theme Name: Photography Child — Oneshot CR
Description: Child theme de « Photography » (ThemeGoods) — couche de modernisation Oneshot-CR : typographie éditoriale, respirations, survols soignés. Aucune modification du thème parent.
Author: Ludovic Fauchet
Version: 1.0.2
Template: photography
Text Domain: photography
*/

/* =====================================================================
   Modernisation Oneshot-CR — surcouche CSS sur le thème Photography.
   Cible les vraies classes du thème (.ppb_title, .ppb_text, .gallery3,
   .testimonial_slider_wrapper). Additif et réversible : désactiver le
   child theme rétablit l'état d'origine à l'identique.
   ===================================================================== */

:root {
  --mod-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --mod-accent: #7A2E2A;   /* bordeaux sobre (darkroom) */
  --mod-ink:    #1A1815;
  --mod-muted:  #8a857d;
}

/* 1) TITRES DE SECTION & HERO ----------------------------------------
   Sortir des capitales étirées → serif éditorial, casse mixte, plus grand. */
.ppb_title {
  font-family: var(--mod-serif) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
  font-size: clamp(30px, 4.2vw, 54px) !important;
  line-height: 1.08 !important;
}
.ppb_title .ppb_title_first {
  text-transform: none !important;
  letter-spacing: .01em !important;
  font-weight: 400 !important;
}

/* Le conteneur de titre est bridé en width:50% en dur → on l'élargit
   pour que l'accroche respire au lieu d'être compressée. */
.ppb_header .inner > div[style*="width:50%"],
.ppb_header .inner > div[style*="width: 50%"] {
  width: auto !important;
  max-width: 820px;
}

/* 2) RESPIRATIONS ----------------------------------------------------- */
.one.withsmallpadding,
.ppb_header.withsmallpadding {
  padding-top: 62px !important;
  padding-bottom: 62px !important;
}

/* 3) BLOCS SERVICES (.ppb_text) --------------------------------------
   Titres serif casse mixte, un peu plus d'air. Typo uniquement (sûr). */
.ppb_text h1, .ppb_text h2, .ppb_text h3, .ppb_text h4, .ppb_text h5 {
  font-family: var(--mod-serif) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}
.ppb_text p { line-height: 1.7; }

/* 4) GALERIE « MES RÉALISATIONS » (.gallery3) ------------------------
   Structure connue : .one_third.gallery3 > a > img.preview + overlay.
   Zoom doux au survol, clip propre, plus d'espace entre les rangées. */
.portfolio-content .one_third.gallery3 > a {
  display: block;
  position: relative;
  overflow: hidden;
}
.portfolio-content .one_third.gallery3 > a img.preview {
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}
.portfolio-content .one_third.gallery3:hover > a img.preview {
  transform: scale(1.05);
}
.portfolio_title h5 {
  font-family: var(--mod-serif) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 20px;
}

/* 5) TÉMOIGNAGES (.testimonial_slider_wrapper) -----------------------
   Citation éditoriale calme au lieu d'un texte plat. */
.testimonial_slider_wrapper {
  font-family: var(--mod-serif) !important;
  font-size: 23px !important;
  line-height: 1.5 !important;
  font-style: normal !important;
}
.testimonial_slider_meta {
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 11px;
  opacity: .8;
}

/* 6) FILET DE SÉCURITÉ VISIBILITÉ ------------------------------------
   Force l'affichage des vignettes même si un JS de révélation au scroll
   ne se déclenche pas (items qui resteraient en opacity:0 / hidden). */
.portfolio-content .one_third.gallery3,
.portfolio-content .one_third.gallery3 .preview,
.portfolio-content .gallery_img,
.ppb_text img {
  opacity: 1 !important;
  visibility: visible !important;
}
.portfolio-content .one_third.gallery3 { transform: none !important; }

/* 7) BARRE DE FILTRES « MES RÉALISATIONS » ---------------------------
   .portfolio_wall_filters > li > a (+ .active, .separator). */
.portfolio_wall_filters {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: 2px 4px; margin-bottom: 34px; padding: 0;
}
.portfolio_wall_filters li { list-style: none; display: inline-flex; align-items: center; float: none !important; }
.portfolio_wall_filters li a {
  text-transform: uppercase; letter-spacing: .17em; font-size: 11px; font-weight: 600;
  color: var(--mod-muted); padding: 4px 4px 6px; transition: color .25s, border-color .25s;
  border-bottom: 1px solid transparent;
}
.portfolio_wall_filters li a:hover { color: var(--mod-ink); }
.portfolio_wall_filters li.active > a,
.portfolio_wall_filters li a.active {
  color: var(--mod-accent) !important; border-bottom-color: var(--mod-accent);
}
.portfolio_wall_filters .separator { color: #d8d3ca; margin: 0 12px; font-size: 11px; }

/* 8) OVERLAY DE SURVOL GALERIE (center_display) ----------------------
   Voile plus doux + titre serif lisible. */
.one_third.gallery3 .mask {
  background: rgba(22,20,18,.42) !important;
  transition: opacity .45s ease !important;
}
.one_third.gallery3 .portfolio_title h5 { letter-spacing: 0; font-weight: 500; }
.one_third.gallery3 .post_detail { letter-spacing: .12em; text-transform: uppercase; font-size: 10px; opacity: .85; }

/* 9) BLOCS SERVICES : titres plus présents + trait d'accent ----------- */
.ppb_text h3, .ppb_text h4 { font-size: 22px; margin-bottom: 12px; position: relative; }
.ppb_text p { color: #6f6a62; }

/* 10) FINITIONS ------------------------------------------------------- */
.portfolio-content img.preview { backface-visibility: hidden; }

@media (prefers-reduced-motion: reduce) {
  .portfolio-content .one_third.gallery3 > a img.preview { transition: none !important; }
}
