/*
 Theme Name:   GeneratePerf Child Theme
 Theme URI:    https://agencewebperformance.fr/prestations/creation-site-performant/
 Author:       Agence Web Performance
 Author URI:   https://agencewebperformance.fr/
 Template:     generatepress
 Text Domain:  generateperf_child
 Version:      1.1.7
 License: GPLv3
 License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/**
 * Components spacing based on root 10px (1 rem).
 */

:root {
  --spacing-100: .5rem; /* 8px */
  --spacing-200: 1rem; /* 16px */
  --spacing-300: 1.5rem; /* 24px */
  --spacing-400: 2rem; /* 32px */
  --spacing-500: 2.5rem; /* 40px */
  --spacing-600: 3rem; /* 48px */
  --spacing-700: 3.5rem; /* 56px */
  --spacing-800: 4rem; /* 64px */
  --spacing-900: 5rem; /* 80px */
  --spacing-1000: 7rem; /* 112px */
}

/**
 * Scrollbar color.
 */

:root {
  scrollbar-color: var(--primary) var(--lightest);
}

/**
 * Beautiful lists.
 */

li::marker {
  color: var(--primary);
}

/**
 * Beautiful inputs.
 */

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--primary);
}

/**
 * Beautiful Blockquotes.
 */

 blockquote cite {
  display: block;
  font-style: normal;
  font-size: 1rem;
  margin-top: var(--spacing-200);
  color: var(--dark);
}

/**
 * Add missing space.
 */

.wp-block-image,
.wp-block-embed {
  margin-bottom: var(--spacing-300);
}

/**
 * Prevent footer rendering on initial rendering.
 */

.site-footer {
  content-visibility: auto;
  contain-intrinsic-height: 400px;
}

@media(min-width: 768px) {
  .site-footer {
    contain-intrinsic-height: 300px;
  }
}

/**
 * Add external icons to _blank links.
 */

.entry-content p a[target="_blank"]::after,
.entry-content li a[target="_blank"]::after {
   display: inline-block;
   content: "";
   margin-left: .25em;
   width: .8em;
   height: .8em;
   mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M320 0a32 32 0 1 0 0 64h82.7L201.4 265.4a32 32 0 0 0 45.3 45.3L448 109.3V192a32 32 0 1 0 64 0V32a32 32 0 0 0-32-32H320zM80 32a80 80 0 0 0-80 80v320a80 80 0 0 0 80 80h320a80 80 0 0 0 80-80V320a32 32 0 1 0-64 0v112a16 16 0 0 1-16 16H80a16 16 0 0 1-16-16V112a16 16 0 0 1 16-16h112a32 32 0 1 0 0-64H80z"/></svg>') no-repeat 50% 50%;
   mask-size: cover;
   -webkit-mask-size: cover;
   vertical-align: -.075em;
   background-color: currentColor;
 }

/**
 * Improve default links style
 */

 .entry-content a:not(.simple):not(.wp-block-latest-posts__post-title) {
  color: var(--darkest);
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--secondary);
  text-underline-offset: .25em;
}

.entry-content a:not(.simple):not(.wp-block-latest-posts__post-title):hover {
  color: var(--primary);
  text-decoration-color: var(--darkest);
}

/**
 * Separator.
 */

.separator {
  background-color: var(--medium);
}

/**
 * Simple lists in footer.
 */

.site-footer ul {
	list-style-type: none;
	margin-left: 0;
}

/**
 * Beautiful SVGs in menus.
 */

.menu-item-icon {
  width: 22px;
  height: 22px;
  margin-right: var(--spacing-100);
  fill: currentColor;
  vertical-align: sub;
}

/**
 * Featured images full width.
 */

.featured-image img {
	width: 100%;
}

/**
 * Custom design for main images captions.
 */

.featured-image figcaption::before {
  content: "";
  display: block;
  position: absolute;
  top: -24px;
  left: 25px;
  height: 0px;
  width: 0px;
  border-right: solid 25px transparent;
  border-left: solid 25px transparent;
  border-bottom: solid 25px var(--light);
}

/**
 * Custom subtitles styling.
 */

p[role="doc-subtitle"] {
  padding-left: var(--spacing-200);
  border-left: 4px solid var(--primary);
}

/**
 * Reduce titles size for mobile.
 */

@media(max-width: 768px) {
  h1 {
    font-size: 2.125rem;
  }

  h2 {
    font-size: 1.813rem;
  }

  h3 {
    font-size: 1.5rem;
  }

  h4 {
    font-size: 1.25rem;
  }

  h5 {
    font-size: 1.125rem;
  }
}

/**
 * Transitions.
 */

@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
  }

  /*
  .featured-image {
    view-transition-name: featured-image;
  }
  */
}

/**
 * Custom code.
 */
/* Grille responsive */
.kdrama-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
@media (min-width:600px){
  .kdrama-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1024px){
  .kdrama-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Carte */
.kdrama-article{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:#0e0e0e; /* fallback si pas d'image */
  box-shadow:0 10px 20px rgba(0,0,0,.15);
  transition:transform .25s ease, box-shadow .25s ease;
}
.kdrama-article:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 28px rgba(0,0,0,.2);
}

/* Vignette image */
.kdrama-thumb{
  position:relative;
  width:100%;
  aspect-ratio:16/10;              /* format proche de ta capture */
  overflow:hidden;
}
.kdrama-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.02);
  transition:transform .6s ease, filter .3s ease;
  filter:brightness(.92);
}
.kdrama-article:hover .kdrama-thumb img{
  transform:scale(1.06);
  filter:brightness(.98);
}

/* Dégradé sombre par-dessus l'image */
.kdrama-thumb::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0) 35%,
    rgba(0,0,0,.35) 60%,
    rgba(0,0,0,.78) 100%
  );
  pointer-events:none;
}

/* Contenu superposé en bas */
.kdrama-content{
  position:absolute;
  left:16px; right:16px; bottom:16px;
  z-index:2;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.6);
  padding:0;               /* annule le padding précédent si besoin */
}
.kdrama-content h3{
  margin:0 0 8px;
  line-height:1.3;
  font-weight:800;
  font-size:clamp(1rem, 1.2vw + .65rem, 1.35rem); /* par défaut */
}

/* Ajustement desktop : réduire un peu la typo */
@media (min-width:1024px){
  .kdrama-content h3{
    font-size:1rem; /* plus petit pour tenir sur 3 colonnes */
    line-height:1.2;
  }
}
.kdrama-content h3 a{
  color:#fff; text-decoration:none;
}
.kdrama-content h3 a:hover{
  text-decoration:underline;
}

/* Date */
.kdrama-date{
  margin:0;
  font-size:.92rem;
  opacity:.95;
}

/* Cache le petit paragraphe "…" si tu le gardes dans le markup */
.kdrama-content p:not(.kdrama-date){ display:none; }

/* Optionnel : petit liseré interne très léger */
.kdrama-article::before{
  content:"";
  position:absolute; inset:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  border-radius:16px;
  pointer-events:none;
}

.actor-hero {
  position: relative;
  padding: 48px 0 24px;
  color: var(--gp-contrast, #111);
}
.actor-hero__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: blur(8px) brightness(0.7);
  transform: scale(1.05);
}
.actor-hero__inner {
  position: relative; z-index: 1;
  max-width: 1100px; margin: 0 auto; padding: 0 20px;
  display: grid; grid-template-columns: 160px 1fr; gap: 24px; align-items: end;
}
.actor-hero__photo {
  width: 160px; height: 220px; object-fit: cover; border-radius: 16px; box-shadow: 0 8px 30px rgba(0,0,0,.25);
}
.actor-hero__name { margin: 0 0 8px; font-size: clamp(28px, 4vw, 40px); }
.actor-hero__chips .chip {
  display: inline-block; padding: 6px 10px; border-radius: 999px;
  background: black; backdrop-filter: blur(6px); font-size: 13px;
}
.actor-hero__excerpt { margin-top: 8px; opacity: .9; }

.actor-nav {
  max-width: 1100px; margin: 12px auto 0; padding: 0 20px 12px; gap: 12px;
  display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--gp-border,#e6e6e6);
}
.actor-nav a {
  padding: 8px 12px; border-radius: 999px; text-decoration: none;
  background: var(--gp-soft,#f5f5f7);
}

.actor-section { max-width: 1100px; margin: 28px auto; padding: 0 20px; }
.actor-section h2 { margin: 0 0 14px; }

/* Force le texte du hero en blanc + ombre douce */
.actor-hero,
.actor-hero .actor-hero__name,
.actor-hero .actor-hero__excerpt { color: #fff; }
.actor-hero .actor-hero__name { text-shadow: 0 2px 12px rgba(0,0,0,.45); }

/* Ajoute un voile sombre par-dessus le fond flou pour augmenter le contraste */
.actor-hero { position: relative; }
.actor-hero::after {
  content: "";
  position: absolute; inset: 0;
  /* gradient léger homogène, ajuste l’opacité si tu veux +/− sombre */
  background: linear-gradient(0deg, rgba(0,0,0,.42), rgba(0,0,0,.42));
  pointer-events: none;
  z-index: 0;     /* sous le contenu, au-dessus de l’image floue */
}
/* Assure-toi que le contenu est au-dessus du voile */
.actor-hero__inner { position: relative; z-index: 1; }


.actor-grid .cards {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 16px;
}
@media(min-width:700px){ .actor-grid .cards{ grid-template-columns: repeat(4,1fr);} }
.card {
  background: #fff; border: 1px solid var(--gp-border,#eee); border-radius: 14px; overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.card__img { width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block; }
.card__title { font-size: 15px; padding: 10px 12px; margin: 0; }
.card__link { text-decoration: none; color: inherit; display: block; }

/* Conteneur global */
.related-acteur-posts-grid {
  margin: 2em 0;
}


/* Grille responsive */
.acteur-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 600px) {
  .acteur-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .acteur-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* Article */
.acteur-article {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.acteur-article:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

/* Image */
.acteur-thumb img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Contenu */
.acteur-content {
  padding: 1rem;
}

.acteur-content h3 {
  font-size: 1.1rem;
  margin: 0 0 0.5rem 0;
  line-height: 1.4;
}

.acteur-content h3 a {
  text-decoration: none;
  color: #222;
}

.acteur-content h3 a:hover {
  color: #cc0000; /* couleur accent */
}

.acteur-date {
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 0.5rem;
}

.acteur-content p {
  font-size: 0.95rem;
  color: #444;
  line-height: 1.5;
}



.meta-separator {opacity: .5;margin-inline: .15rem;}

/* SECTION */
body .kp-anniv{margin-block:36px}
body .kp-anniv__inner.container{max-width:var(--content-width,1200px);margin-inline:auto}
body .kp-anniv__header{display:flex;align-items:center;gap:.6rem;margin:0 0 .8rem}
body .kp-anniv__icon{font-size:1.4rem;line-height:1}
body .kp-anniv__title{font-size:clamp(1.15rem,2.2vw,1.35rem);font-weight:700;margin:0}

/* LISTE : reset total (puces/marges/markers) + layout */
body .kp-anniv__list{list-style:none !important;margin:0 !important;padding:0 !important}
body .kp-anniv__list li{list-style:none !important;margin:0 !important;padding:0 !important}
body .kp-anniv__list li::marker{content:"" !important}
body .kp-anniv__list li::before{content:none !important}

body .kp-anniv__list.kp-single{
  display:flex;justify-content:center;max-width:540px;margin-inline:auto
}
body .kp-anniv__list.kp-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px
}

/* CARTE */
body .kp-anniv__card{
  display:grid;grid-template-columns:96px 1fr;grid-template-rows:auto auto;align-items:center;gap:10px 14px;
  padding:12px 14px;text-decoration:none;color:inherit;
  border:1px solid var(--gp-border-color,rgba(0,0,0,.08));border-radius:12px;background:var(--gp-card-bg,#fff);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease
}
body .kp-anniv__card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.08);border-color:rgba(0,0,0,.12)}

/* IMAGE */
body .kp-anniv__media{grid-column:1/2;grid-row:1/3}
body .kp-anniv__thumb{
  width:96px;height:96px;display:block;object-fit:cover;border-radius:10px;background:#f3f3f3
}

/* TEXTES */
body .kp-anniv__meta{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:6px}
body .kp-anniv__name{margin:0;font-weight:700;font-size:1rem;line-height:1.25}
body .kp-anniv__age{margin:0;font-size:.92rem;opacity:.7}

/* Mobile */
@media (max-width:480px){
  body .kp-anniv__list.kp-single{max-width:100%}
  body .kp-anniv__card{grid-template-columns:80px 1fr}
  body .kp-anniv__thumb{width:80px;height:80px}
}


