/*
Theme Name: Paris Predator Fishing
Author: Walid
Description: Thème sur mesure pour Paris Predator Fishing.
Version: 0.2.0
Text Domain: paris-predator-fishing
*/
:root  {
  --background: #06110d;
  --text: #f5f2e8;
  --muted: #b6bfb5;
}

*, *::before, *::after  {
  box-sizing: border-box;
}

body  {
  margin: 0;
  background: var(--background);
  color: var(--text);
  font-family: 'PPF Sans', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

a  {
  color: inherit;
}

.skip-link  {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 100;
  padding: 12px 18px;
  background: var(--text);
  color: var(--background);
  transform: translateY(-200%);
}

.skip-link:focus  {
  transform: translateY(0);
}

:focus-visible  {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}

/* Composition de l’accueil. */
.ppf-home  {
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  padding: clamp(24px, 2.31vw, 37px);
  container-type: inline-size;
  padding-right: clamp(24px, 5.87vw, 94px);
}

.ppf-intro  {
  display: grid;
  grid-template-columns: 60% 1fr;
  gap: 2%;
  align-items: end;
  min-height: clamp(184px, 14.5vw, 232px);
  padding-bottom: clamp(32px, 3.4vw, 54px);
}

.ppf-intro__title  {
  margin: 0;
  font-size: clamp(48px, 5.125vw, 82px);
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}

.ppf-intro__title span  {
  display: block;
  overflow-wrap: break-word;
}

.ppf-intro__description  {
  margin: 0;
  font-size: clamp(14px, 1.157vw, 18.5px);
  line-height: 1.72;
  color: var(--muted);
}

.ppf-content  {
  max-width: 1100px;
  margin: auto;
  padding: 48px 24px;
  line-height: 1.65;
}

.ppf-content img  {
  max-width: 100%;
  height: auto;
}

@media (max-width: 700px)  {
  .ppf-intro  {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .ppf-intro__title  {
    font-size: clamp(38px, 10.5vw, 64px);
  }

  .ppf-intro__description  {
    font-size: 16px;
  }

}

/* Police hébergée localement pour éviter les requêtes externes. */
@font-face  {
  font-family: 'PPF Sans';
  src: url('assets/fonts/LiberationSans-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face  {
  font-family: 'PPF Sans';
  src: url('assets/fonts/LiberationSans-Bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

.ppf-session  {
  display: grid;
  grid-template-columns: 494fr 603fr;
  gap: 1.26%;
  align-items: stretch;
}

.ppf-session__panel  {
  border: 1px solid #52683b;
  border-radius: clamp(20px, 1.82vw, 29px);
  background: linear-gradient(40.4deg, #07120e, #123128 62%, #2d421d);
  padding: 3.5cqw 2.7cqw 2cqw;
  display: flex;
  flex-direction: column;
}

.ppf-session__location  {
  margin: 0 0 3.8cqw;
  color: #c7ff48;
  font-size: .9cqw;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
}

.ppf-session h2  {
  margin: 0 0 2.7cqw;
  font-size: 3.78cqw;
  line-height: 1.12;
  font-weight: 700;
}

.ppf-session__text  {
  margin: 0;
  font-size: 1.53cqw;
  line-height: 1.59;
  color: var(--muted);
}

.ppf-session__actions  {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.35cqw;
  margin-top: auto;
  padding-top: 6.8cqw;
}

.ppf-button  {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 1.25cqw 1.6cqw;
  border: 1px solid #2a3830;
  border-radius: 100px;
  text-decoration: none;
  font-size: 1.17cqw;
  line-height: 1.2;
  font-weight: 700;
}

.ppf-button--booking  {
  background: #c7ff48;
  color: #06110d;
  border-color: #c7ff48;
  min-width: 19.7cqw;
}

.ppf-button--domain  {
  background: #0d1b16;
  min-width: 16.75cqw;
}

.ppf-button:hover  {
  filter: brightness(1.08);
}

.ppf-session__stats  {
  padding: 0;
  margin: 2.45cqw 0 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .9cqw;
}

.ppf-session__stats li  {
  background: #0d1b16;
  border: 1px solid #2a3830;
  border-radius: 1.17cqw;
  padding: 1.45cqw 1cqw;
  min-width: 0;
}

.ppf-session__stats strong  {
  display: block;
  font-size: 2.79cqw;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.ppf-session__stats span  {
  display: block;
  margin-top: .7cqw;
  color: var(--muted);
  font-size: 1.08cqw;
  line-height: 1.3;
}

.ppf-session__photo  {
  min-width: 0;
  position: relative;
  overflow: hidden;
  border-radius: clamp(20px, 1.98vw, 32px);
}

.ppf-session__photo img  {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 900px) and (min-width: 701px)  {
  .ppf-session__location  {
    font-size: 11px;
  }

  .ppf-session__text  {
    font-size: 14px;
  }

  .ppf-button  {
    font-size: 13px;
  }

  .ppf-session__stats span  {
    font-size: 12px;
  }

}

@media (max-width: 700px)  {
  .ppf-home  {
    padding: 24px;
  }

  .ppf-intro  {
    grid-template-columns: minmax(0,1fr);
    gap: 24px;
    min-height: auto;
    padding-bottom: 32px;
  }

  .ppf-session  {
    grid-template-columns: minmax(0,1fr);
    gap: 18px;
  }

  .ppf-session__panel  {
    padding: 28px 22px 22px;
    border-radius: 22px;
  }

  .ppf-session__location  {
    margin-bottom: 32px;
    font-size: 11px;
  }

  .ppf-session h2  {
    margin-bottom: 24px;
    font-size: clamp(27px,7.4vw,42px);
  }

  .ppf-session__text  {
    font-size: 16px;
  }

  .ppf-session__actions  {
    padding-top: 32px;
    gap: 14px;
  }

  .ppf-button  {
    padding: 15px 20px;
    font-size: 14px;
  }

  .ppf-button--booking  {
    min-width: 220px;
  }

  .ppf-button--domain  {
    min-width: 190px;
  }

  .ppf-session__stats  {
    margin-top: 26px;
    gap: 8px;
  }

  .ppf-session__stats li  {
    border-radius: 13px;
    padding: 14px 8px;
  }

  .ppf-session__stats strong  {
    font-size: clamp(18px,5.5vw,30px);
  }

  .ppf-session__stats span  {
    font-size: 12px;
    margin-top: 8px;
  }

  .ppf-session__photo  {
    aspect-ratio: 603/581;
    border-radius: 24px;
  }

}

@media (min-width: 701px)  {
  .ppf-intro__title  {
    transform: translateY(-1.1vw);
  }

}

@media (max-width: 360px)  {
  .ppf-session__stats  {
    gap: 6px;
  }

  .ppf-session__stats li  {
    padding: 14px 5px;
  }

  .ppf-session__stats strong  {
    font-size: 16px;
  }

  .ppf-session__stats span  {
    font-size: 11px;
  }

}

/* Les précisions restent associées à leur bouton. */
.ppf-session__action .ppf-external-note {
  margin-top: 8px;
}
.ppf-session__action + .ppf-session__action {
  margin-top: 4px;
}

/* Évite le zoom automatique des champs sur les petits écrans iOS. */
@media(max-width:760px) {
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size:16px !important; }
}
.ppf-error-page { min-height:45vh; padding-block:64px; }
.ppf-error-page p { max-width:48ch; line-height:1.6; }
.ppf-error-page a { display:inline-flex; align-items:center; min-height:44px; color:#c7ff48; }

:root{--ppf-arrow-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%2012h14m-6-6%206%206-6%206%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}

/* Directional icons: one vector stroke, inherited brand colour, no emoji. */
.ppf-icon-arrow{display:inline-block!important;width:1.1em!important;height:1.1em!important;min-width:1.1em;flex:0 0 1.1em;vertical-align:-.16em;background-color:currentColor!important;-webkit-mask:var(--ppf-arrow-mask) center/contain no-repeat;mask:var(--ppf-arrow-mask) center/contain no-repeat;font-style:normal;pointer-events:none}
.ppf-icon-arrow--diagonal{transform:rotate(-45deg)}
.ppf-icon-arrow--left{transform:rotate(180deg)}
.ppf-icon-arrow--down{transform:rotate(90deg)}
/* Replace native grey disclosure triangles with a discreet line chevron. */
.ppf-nav-group>summary,.ppf-info-rules summary,.ppf-info-complements summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.65em}
.ppf-nav-group>summary::-webkit-details-marker,.ppf-info-rules summary::-webkit-details-marker,.ppf-info-complements summary::-webkit-details-marker{display:none}
.ppf-nav-group>summary::after,.ppf-info-rules summary::after,.ppf-info-complements summary::after{content:'';display:inline-block;width:.4em;height:.4em;flex:0 0 .4em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 .2em .2em .15em}
.ppf-nav-group[open]>summary::after,.ppf-info-rules details[open]>summary::after,.ppf-info-complements details[open]>summary::after{transform:rotate(225deg);margin-top:.3em}
