/* O'Vestiaire — pages internes : composants communs.
   Chargé avec home.css (qui porte les composants de l'accueil : .sec-head, .card, .poster, .menu-card, .map…). */
[hidden] { display: none !important; }

/* ---------- En-tête de page ---------- */
.page-head {
  position: relative; isolation: isolate; overflow: hidden;
  padding: calc(var(--alv-header-h) + clamp(36px, 5vw, 72px)) 0 clamp(44px, 5vw, 72px);
  border-bottom: 1px solid var(--alv-hair);
}
.page-head::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url("../img/marque/trame-courbes.jpg") right center / cover no-repeat; mix-blend-mode: screen; opacity: .4;
  -webkit-mask-image: linear-gradient(90deg, transparent 5%, #000 65%); mask-image: linear-gradient(90deg, transparent 5%, #000 65%);
}
.page-head__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.page-head h1 { margin-bottom: 0; }
.page-head .lead { margin: 28px 0 32px; max-width: 46ch; font-size: 18px; color: rgba(247, 243, 234, .92); }
.page-head__actions { display: flex; flex-wrap: wrap; gap: 14px; }

.pg-shots { display: flex; justify-content: center; align-items: flex-start; gap: clamp(16px, 3vw, 44px); }
.pg-shot { width: 47%; max-width: 260px; }
.pg-shot--b { margin-top: 44px; }

/* Champ de recherche */
.search {
  display: flex; align-items: center; gap: 12px; max-width: 480px; height: 54px; margin-top: 36px; padding: 0 18px;
  border: 1px solid var(--alv-line); border-radius: 12px; background: rgba(10, 9, 4, .5); backdrop-filter: blur(6px);
  transition: border-color var(--alv-dur-s), box-shadow var(--alv-dur-s);
}
.search:focus-within { border-color: var(--alv-gold-solid); box-shadow: var(--alv-glow-gold); }
.search svg { width: 18px; height: 18px; flex: none; color: var(--alv-gold-solid); }
.search input { flex: 1; min-width: 0; height: 100%; background: none; border: 0; outline: 0; color: var(--alv-ink); font: 500 16px/1 var(--alv-font-body); }
.search input::placeholder { color: var(--alv-ink-faint); }
.search input::-webkit-search-cancel-button { filter: invert(1) opacity(.6); }

.no-result { max-width: 56ch; margin: 0 auto; padding: 72px 20px; text-align: center; font-size: 18px; color: var(--alv-ink-soft); }

@media (max-width: 900px) {
  .page-head__grid { grid-template-columns: 1fr; }
  .pg-shots { justify-content: flex-start; max-width: 420px; }
  .page-head::before { opacity: .3; -webkit-mask-image: none; mask-image: none; }
}
@media (max-width: 640px) {
  .page-head .lead { font-size: 17px; margin: 22px 0 26px; }
  .page-head__actions .btn { flex: 1 1 auto; }
  .search { max-width: none; }
  .pg-shot { width: 44%; }
  .pg-shot--b { margin-top: 28px; }
}
