:root {
  --auth-bg-1: #050b18;
  --auth-bg-2: #0a1630;
  --auth-card: rgba(9, 17, 34, 0.74);
  --auth-border: rgba(255, 255, 255, 0.12);
  --auth-text: #f4f8ff;
  --auth-warning: #ffcc00;
  --auth-radius-lg: 22px;
  --auth-radius-md: 14px;
  --auth-shadow: 0 20px 55px rgba(3, 8, 20, 0.55);
}

html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  color: var(--auth-text);
  background:
    radial-gradient(1200px 700px at 15% 10%, rgba(80, 223, 219, 0.12), transparent 65%),
    radial-gradient(1000px 600px at 90% 20%, rgba(192, 67, 229, 0.16), transparent 70%),
    linear-gradient(145deg, var(--auth-bg-1), var(--auth-bg-2));
  background-attachment: fixed;
  background-size: 140% 140%;
  animation: ambientGradient 18s ease-in-out infinite;
  overflow-x: hidden;
  font-family: "Bahnschrift", "Segoe UI", sans-serif;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.main-content {
  margin: 0;
  padding: 18px 0 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
}

@supports (padding: env(safe-area-inset-bottom)) {
  .main-content {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
  }
}

.conteneur1 {
  width: min(1100px, 92vw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 22px;
  align-items: stretch;
}

.cadre {
  position: relative;
  overflow: hidden;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  border-radius: var(--auth-radius-lg);
  border: 1px solid var(--auth-border);
  background: var(--auth-card);
  box-shadow: var(--auth-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 14px;
  min-height: 0;
  text-decoration: none;
  color: inherit;
  touch-action: manipulation;
  will-change: transform;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.cadre::before {
  content: "";
  position: absolute;
  top: -120px;
  left: -100px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(80, 223, 219, 0.22), transparent 70%);
  pointer-events: none;
}

.cadre::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 32%, rgba(255, 255, 255, 0.18) 50%, transparent 68%);
  transform: translateX(-130%);
  transition: transform 0.65s ease;
  pointer-events: none;
}

.cadre:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 255, 255, 0.24);
  box-shadow: 0 26px 64px rgba(3, 8, 20, 0.62), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.cadre:hover::after {
  transform: translateX(130%);
}

.image-container {
  width: 100%;
  height: clamp(190px, 28vh, 280px);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 12px;
}

.image-container img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.25));
}

.rectangle-container {
  position: relative;
  z-index: 2;
}

.rectangle {
  border-radius: var(--auth-radius-md);
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: linear-gradient(100deg, rgba(74, 122, 255, 0.24), rgba(192, 67, 229, 0.24));
  min-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 10px;
}

.rectangle h1 {
  margin: 0;
  color: var(--auth-text);
  font-size: clamp(0.95rem, 1.2vw, 1.15rem);
  letter-spacing: 0.3px;
  font-weight: 700;
}

.cadre.disabled {
  opacity: 0.7;
  pointer-events: none;
}

.cadre .coming-soon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  background: rgba(3, 8, 20, 0.82);
  border: 1px solid rgba(255, 204, 0, 0.5);
  color: var(--auth-warning);
  border-radius: 10px;
  padding: 10px 14px;
  font-size: clamp(0.85rem, 1vw, 1rem);
  font-family: "Agency FB", "Bahnschrift", sans-serif;
  text-transform: uppercase;
  box-shadow: 0 0 14px rgba(255, 204, 0, 0.28);
  animation: pulseSoon 2s infinite;
  white-space: nowrap;
}

@font-face {
  font-family: "Bahnschrift";
  src: url("https://db.onlinewebfonts.com/t/0a6ee448d1bd65c56f6cf256a7c6f20a.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Agency FB";
  src: url("../style/polices/AgencyFB.ttf") format("truetype");
  font-display: swap;
}

@media (max-width: 980px) {
  body {
    background-attachment: scroll;
    animation: none;
  }

  .main-content {
    padding: 72px 0 8px;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .conteneur1 {
    width: min(760px, 92vw);
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .cadre {
    width: 75%;
    max-width: 100%;
    border-radius: 16px;
  }

  .cadre::before,
  .cadre::after {
    display: none;
  }

  .cadre:hover {
    transform: none;
  }

  .image-container {
    height: clamp(170px, 24vh, 220px);
  }
}

@media (hover: none) {
  .cadre:hover {
    transform: none;
    border-color: var(--auth-border);
    box-shadow: var(--auth-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  }
}

@media (max-width: 700px) {
  .main-content {
    padding: 70px 0 8px;
  }

  .conteneur1 {
    width: min(620px, 94vw);
    gap: 14px;
  }

  .cadre {
    padding: 11px;
    border-radius: 14px;
  }

  .image-container {
    height: 170px;
    margin-bottom: 10px;
  }

  .rectangle {
    min-height: 54px;
  }

  .rectangle h1 {
    font-size: 0.92rem;
  }
}

@media (max-width: 560px) {
  .main-content {
    padding: 68px 0 10px;
  }

  .conteneur1 {
    width: 94vw;
    gap: 12px;
  }

  .cadre {
    padding: 10px;
  }

  .image-container {
    height: 155px;
  }

  .rectangle {
    min-height: 50px;
    padding: 8px;
  }

  .rectangle h1 {
    font-size: 0.88rem;
  }

  .cadre .coming-soon {
    font-size: 0.78rem;
    padding: 8px 10px;
  }
}

@media (max-width: 420px) {
  .conteneur1 {
    width: 95vw;
    gap: 10px;
  }

  .cadre {
    border-radius: 13px;
    padding: 9px;
  }

  .image-container {
    height: 138px;
  }

  .rectangle {
    min-height: 46px;
  }

  .rectangle h1 {
    font-size: 0.82rem;
  }

  .cadre .coming-soon {
    white-space: normal;
    text-align: center;
    width: min(86%, 260px);
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

@keyframes pulseSoon {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.06);
    opacity: 0.86;
  }
}

@keyframes ambientGradient {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

.shop-hero {
  width: min(1200px, 96vw);
  margin: 0 auto 20px;
  padding: 20px 24px;
  border-radius: var(--auth-radius-lg);
  background: rgba(9, 17, 34, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: var(--auth-shadow);
}
.shop-kicker {
  margin: 0 0 12px;
  color: #72e1ff;
  font-size: 0.86rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.shop-hero h1 {
  margin: 0 0 10px;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
}
.shop-hero p {
  margin: 0;
  max-width: 780px;
  color: rgba(244, 248, 255, 0.86);
}

.shop-section {
  width: min(1200px, 96vw);
  margin: 0 auto 18px;
  padding: 24px;
  border-radius: var(--auth-radius-lg);
  background: rgba(9, 17, 34, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: var(--auth-shadow);
}
.shop-section-head h2 {
  margin: 0 0 10px;
  font-size: clamp(1.5rem, 2vw, 2.3rem);
}
.shop-section--influenceurs {
  border-top: 3px solid rgba(78, 221, 255, 0.7);
}
.shop-section--influenceurs .shop-section-head h2 {
  color: #9feeff;
}
.shop-section--mediatiques {
  border-top: 3px solid rgba(255, 198, 123, 0.82);
}
.shop-section--mediatiques .shop-section-head h2 {
  color: #ffd79f;
}
.shop-section-head p {
  margin: 0;
  color: rgba(244, 248, 255, 0.82);
  max-width: 760px;
}

.packs-grid {
  display: grid;
  gap: 20px;
  align-items: stretch;
}
.packs-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.packs-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pack-card {
  padding: 22px;
  border-radius: var(--auth-radius-lg);
  background: rgba(12, 21, 40, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
}
.pack-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.2);
}
.pack-card--clickable {
  cursor: pointer;
}
.pack-image {
  position: relative;
  border-radius: var(--auth-radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  margin-bottom: 16px;
}
.pack-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pack-price-overlay {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 6px 12px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 0.9rem;
  backdrop-filter: blur(4px);
}
.pack-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pack-badge {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(48, 118, 202, 0.18);
  color: #b7e2ff;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  width: fit-content;
}

.pack-card[role="button"] {
  cursor: pointer;
}

.pack-card[role="button"]:hover {
  transform: translateY(-2px);
}

.shop-section--influenceurs .pack-badge {
  background: rgba(71, 172, 235, 0.22);
  color: #b6eaff;
}
.shop-section--mediatiques .pack-badge {
  background: rgba(245, 178, 92, 0.22);
  color: #ffd9a4;
}
.pack-card h3 {
  margin: 0;
  font-size: 1.2rem;
}
.pack-price {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: #f4f8ff;
}
.pack-summary {
  margin: 0;
  color: rgba(244, 248, 255, 0.82);
  min-height: 3rem;
}
.pack-preview-list {
  margin: 0;
  padding-left: 18px;
  color: rgba(244, 248, 255, 0.9);
  list-style: disc;
}
.pack-preview-list li {
  margin-bottom: 10px;
}
.pack-open-btn,
.pack-submit-btn {
  width: 100%;
  border: 0;
  border-radius: 999px;
  padding: 14px 18px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  background: linear-gradient(135deg, #3cd6ff, #7b4cff);
  color: #ffffff;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.pack-open-btn {
  margin-top: auto;
}
.pack-open-btn:hover,
.pack-submit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 35px rgba(24, 80, 130, 0.25);
}

.pack-modal-notice {
  margin: 0 0 16px;
  color: rgba(244, 248, 255, 0.86);
  font-size: 0.96rem;
  line-height: 1.5;
}

.shop-modal,
.feedback-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 1200;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.shop-modal.is-open,
.feedback-modal.is-open {
  display: flex;
}
.shop-modal__backdrop,
.feedback-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 8, 20, 0.9);
  backdrop-filter: blur(8px);
}
.shop-modal__panel,
.feedback-modal__panel {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(90vh, 840px);
  overflow-y: auto;
  background: rgba(6, 12, 24, 0.96);
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: var(--auth-shadow);
  padding: 34px;
}
.shop-modal__close,
.feedback-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 1.8rem;
  cursor: pointer;
}
.pack-modal-badge {
  margin: 0 0 10px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #7ce0ff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.pack-modal-price {
  margin: 0 0 12px;
  font-size: 1.25rem;
  font-weight: 700;
}
.pack-modal-summary {
  margin: 0 0 18px;
  color: rgba(244, 248, 255, 0.86);
}
.pack-modal-list {
  margin: 0 0 22px;
  padding-left: 20px;
  color: rgba(244, 248, 255, 0.9);
  list-style: disc;
}
.pack-modal-list li {
  margin-bottom: 10px;
}
.pack-modal-form {
  margin: 0;
}
.feedback-modal__panel {
  width: min(520px, 100%);
  padding: 28px 26px;
  text-align: center;
}
.feedback-message.success {
  color: #9cf0b7;
}
.feedback-message.error {
  color: #ffb3b3;
}

@media (max-width: 980px) {
  .shop-section,
  .shop-hero {
    padding: 18px;
  }
}

@media (max-width: 1180px) {
  .packs-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .packs-grid--two {
    grid-template-columns: 1fr;
  }

  .pack-card {
    padding: 20px;
  }
}

@media (max-width: 760px) {
  .packs-grid--four {
    grid-template-columns: 1fr;
  }

  .shop-hero {
    margin-bottom: 16px;
  }

  .shop-section {
    margin-bottom: 14px;
  }
}

@media (max-width: 700px) {
  .shop-modal__panel {
    padding: 24px;
  }
}
/* Media Checkbox Items */
.media-checkbox-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
  padding: 10px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s;
}

.media-checkbox-item:hover {
  background: rgba(255, 255, 255, 0.1);
}

.media-checkbox-item input[type="checkbox"] {
  cursor: pointer;
  width: 18px;
  height: 18px;
}

.media-checkbox-item label {
  cursor: pointer;
  flex: 1;
}

/* Media Profile Display */
.media-profile {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 20px 0;
  padding: 15px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 12px;
}

.media-profile.active {
  display: flex;
}

.media-profile-image {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.2);
  color: rgba(244, 248, 255, 0.7);
}

/* Custom Content Textarea */
.media-custom-textarea {
  display: none;
  width: 100%;
  margin-top: 15px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: #f4f8ff;
  font-family: inherit;
  font-size: 0.95rem;
  resize: vertical;
  min-height: 100px;
}

.media-custom-textarea:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
}

/* Media Modal Sections */
.media-devis-section {
  margin: 20px 0;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.media-devis-section:last-child {
  border-bottom: none;
}

.media-devis-section-title {
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 15px;
  color: #7ce0ff;
}
/* Refonte Boutique 2026 */
.main-content {
  width: min(1280px, 92vw);
  margin: 0 auto;
  padding: 72px 0 90px;
  gap: 28px;
}

.shop-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 40px;
  width: 100%;
  min-height: 520px;
  margin: 0;
  padding: clamp(34px, 6vw, 82px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 32px;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(125deg,rgba(5,11,24,.97),rgba(11,20,43,.86) 58%,rgba(33,15,50,.88));
  background-size: 36px 36px,36px 36px,auto;
  box-shadow: 0 30px 80px rgba(1,5,14,.58);
  animation: shopHeroIn .85s cubic-bezier(.2,.75,.25,1) both;
}

.shop-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:radial-gradient(circle at 75% 22%,rgba(192,67,229,.24),transparent 34%),radial-gradient(circle at 10% 92%,rgba(80,223,219,.2),transparent 34%);
}

.shop-hero__glow { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.shop-hero__glow span { position:absolute; width:240px; height:240px; border:1px solid rgba(80,223,219,.14); border-radius:50%; animation:shopOrbit 12s ease-in-out infinite alternate; }
.shop-hero__glow span:nth-child(1){right:7%;top:-80px;box-shadow:inset 0 0 55px rgba(80,223,219,.06)}
.shop-hero__glow span:nth-child(2){right:-80px;bottom:-110px;width:360px;height:360px;border-color:rgba(192,67,229,.18);animation-delay:-4s}
.shop-hero__glow span:nth-child(3){left:44%;bottom:-180px;width:300px;height:300px;border-color:rgba(74,122,255,.16);animation-delay:-7s}

.shop-hero__content { max-width:840px; }
.shop-kicker { display:flex; align-items:center; gap:9px; margin:0 0 20px; color:#7ce7e3; font-size:.74rem; font-weight:850; letter-spacing:.2em; text-transform:uppercase; }
.shop-kicker > span { width:28px; height:1px; background:#7ce7e3; box-shadow:0 0 8px rgba(80,223,219,.7); }
.shop-hero h1 { margin:0; color:#fff; font-size:clamp(3rem,7vw,7rem); font-weight:900; line-height:.9; letter-spacing:-.065em; text-wrap:balance; }
.shop-hero h1 em { color:transparent; background:linear-gradient(95deg,#50dfdb,#7ca7ff 48%,#d56eff); background-clip:text; -webkit-background-clip:text; font-style:normal; filter:drop-shadow(0 8px 26px rgba(74,122,255,.2)); }
.shop-hero .shop-subtitle { max-width:650px; margin:28px 0 0; color:rgba(227,236,255,.72); font-size:clamp(1rem,1.5vw,1.15rem); line-height:1.7; }
.shop-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:32px; }
.shop-primary-link,.shop-secondary-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:0 20px; border-radius:13px; font-size:.9rem; font-weight:800; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.shop-primary-link { color:#07111f; background:linear-gradient(100deg,#50dfdb,#8bbdff); box-shadow:0 12px 30px rgba(80,223,219,.2); }
.shop-primary-link span { font-size:1.2rem; }
.shop-secondary-link { border:1px solid rgba(255,255,255,.14); color:#fff; background:rgba(255,255,255,.04); }
.shop-primary-link:hover,.shop-secondary-link:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(3,8,20,.42); }

.shop-hero__metrics { display:grid; gap:1px; width:190px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.08); backdrop-filter:blur(12px); }
.shop-hero__metrics div { display:grid; gap:3px; padding:18px; background:rgba(5,11,24,.7); }
.shop-hero__metrics strong { color:#fff; font-size:1.18rem; }
.shop-hero__metrics span { color:rgba(227,236,255,.55); font-size:.67rem; letter-spacing:.12em; text-transform:uppercase; }

.shop-tabs { position:sticky; top:82px; z-index:20; display:flex; justify-content:center; gap:6px; width:fit-content; margin:0 auto; padding:6px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(5,11,24,.78); box-shadow:0 12px 35px rgba(1,5,14,.35); backdrop-filter:blur(18px); }
.shop-tabs a { display:flex; gap:8px; padding:11px 17px; border-radius:999px; color:rgba(227,236,255,.76); font-size:.82rem; font-weight:750; text-decoration:none; transition:background .2s,color .2s; }
.shop-tabs a span { color:#50dfdb; }
.shop-tabs a:hover { color:#fff; background:rgba(255,255,255,.08); }

.shop-section { width:100%; margin:0; padding:clamp(26px,4vw,48px); scroll-margin-top:155px; border:1px solid rgba(255,255,255,.1); border-radius:28px; background:linear-gradient(145deg,rgba(9,17,34,.78),rgba(9,17,34,.55)); box-shadow:0 24px 65px rgba(3,8,20,.4); }
.shop-section--influenceurs,.shop-section--mediatiques { border-top:1px solid rgba(255,255,255,.1); }
.shop-section-head { display:grid; grid-template-columns:1fr minmax(260px,480px); align-items:end; gap:30px; margin-bottom:34px; }
.shop-section-head > div { display:flex; align-items:center; gap:16px; }
.shop-section-index { color:#50dfdb; font-size:.72rem; font-weight:900; letter-spacing:.12em; }
.shop-section-head h2,.shop-section--influenceurs .shop-section-head h2,.shop-section--mediatiques .shop-section-head h2 { margin:0; color:#fff; font-size:clamp(2rem,4vw,4rem); line-height:1; letter-spacing:-.045em; }
.shop-section-head p { margin:0; color:rgba(227,236,255,.62); line-height:1.65; }

.packs-grid { gap:14px; }
.packs-grid--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.packs-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pack-card { position:relative; isolation:isolate; gap:0; min-height:480px; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:22px; background:rgba(5,11,24,.65); box-shadow:none; opacity:0; transform:translateY(24px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.25,1),border-color .25s ease,box-shadow .25s ease; }
.pack-card.is-visible { opacity:1; transform:translateY(0); }
.pack-card::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 85% 8%,rgba(80,223,219,.12),transparent 32%); }
.shop-section--mediatiques .pack-card::before { background:radial-gradient(circle at 85% 8%,rgba(192,67,229,.16),transparent 34%); }
.pack-card::after { content:""; position:absolute; inset:0; z-index:3; background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.1) 48%,transparent 66%); transform:translateX(-140%); transition:transform .75s ease; pointer-events:none; }
.pack-card:hover,.pack-card[role="button"]:hover { transform:translateY(-8px); border-color:rgba(80,223,219,.34); box-shadow:0 26px 58px rgba(1,5,14,.48); }
.pack-card:hover::after { transform:translateX(140%); }
.pack-card--featured { border-color:rgba(80,223,219,.28); }
.pack-card--featured::before { background:radial-gradient(circle at 75% 5%,rgba(80,223,219,.22),transparent 38%); }
.pack-card:focus-visible { outline:2px solid #50dfdb; outline-offset:3px; }

.pack-visual { position:relative; display:flex; align-items:flex-start; justify-content:space-between; height:145px; padding:22px; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.08); background:linear-gradient(135deg,rgba(74,122,255,.12),rgba(192,67,229,.1)); }
.pack-visual::after { content:""; position:absolute; width:160px; height:160px; right:-55px; bottom:-100px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 24px rgba(255,255,255,.025),0 0 0 48px rgba(255,255,255,.018); transition:transform .45s ease; }
.pack-card:hover .pack-visual::after { transform:scale(1.18) rotate(18deg); }
.pack-number { color:rgba(255,255,255,.34); font-size:.7rem; font-weight:850; letter-spacing:.12em; }
.pack-symbol { position:absolute; left:22px; bottom:17px; color:#50dfdb; font-size:2.1rem; filter:drop-shadow(0 0 12px rgba(80,223,219,.5)); transition:transform .4s ease; }
.pack-card:hover .pack-symbol { transform:rotate(22deg) scale(1.2); }
.pack-price-display { z-index:1; color:#fff; font-size:1rem; font-weight:900; }
.pack-content { gap:14px; padding:24px; }
.pack-badge { padding:6px 9px; color:#7ce7e3!important; background:rgba(80,223,219,.08)!important; border:1px solid rgba(80,223,219,.16); font-size:.64rem; font-weight:850; letter-spacing:.12em; }
.pack-card h3 { font-size:clamp(1.25rem,1.7vw,1.6rem); line-height:1.15; letter-spacing:-.025em; }
.pack-summary { min-height:0; color:rgba(227,236,255,.62); font-size:.88rem; line-height:1.55; }
.pack-preview-list { display:grid; gap:9px; padding:0; color:rgba(227,236,255,.82); font-size:.8rem; line-height:1.4; list-style:none; }
.pack-preview-list li { position:relative; margin:0; padding-left:18px; }
.pack-preview-list li::before { content:"✓"; position:absolute; left:0; color:#50dfdb; font-weight:900; }
.pack-card-action { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); color:#fff; font-size:.84rem; font-weight:800; }
.pack-card-action b { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#07111f; background:#50dfdb; transition:transform .3s ease; }
.pack-card:hover .pack-card-action b { transform:rotate(45deg) scale(1.08); }

.shop-process { display:grid; grid-template-columns:minmax(260px,.8fr) 2fr; gap:50px; width:100%; padding:clamp(30px,5vw,62px); border:1px solid rgba(255,255,255,.1); border-radius:28px; background:linear-gradient(125deg,rgba(9,17,34,.8),rgba(25,14,42,.72)); }
.shop-process__intro h2 { margin:10px 0 0; font-size:clamp(2rem,3.5vw,3.6rem); line-height:1; letter-spacing:-.045em; }
.shop-process__steps { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.shop-process__steps article { padding:22px; border:1px solid rgba(255,255,255,.09); border-radius:17px; background:rgba(255,255,255,.03); transition:transform .25s ease,border-color .25s ease; }
.shop-process__steps article:hover { transform:translateY(-5px); border-color:rgba(80,223,219,.25); }
.shop-process__steps article > span { color:#50dfdb; font-size:.7rem; font-weight:900; }
.shop-process__steps h3 { margin:30px 0 8px; font-size:1.1rem; }
.shop-process__steps p { margin:0; color:rgba(227,236,255,.6); font-size:.82rem; line-height:1.55; }

.shop-modal__panel,.feedback-modal__panel { border:1px solid rgba(255,255,255,.15); background:linear-gradient(145deg,rgba(6,12,24,.98),rgba(17,18,39,.98)); box-shadow:0 35px 90px rgba(0,0,0,.7); animation:modalReveal .35s cubic-bezier(.2,.8,.25,1) both; }
.shop-modal__close,.feedback-modal__close { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.12); border-radius:50%; background:rgba(255,255,255,.04); }

@keyframes shopHeroIn { from{opacity:0;transform:translateY(22px) scale(.985)} to{opacity:1;transform:none} }
@keyframes shopOrbit { from{transform:translate3d(-25px,-15px,0) rotate(0)} to{transform:translate3d(35px,28px,0) rotate(28deg)} }
@keyframes modalReveal { from{opacity:0;transform:translateY(18px) scale(.97)} to{opacity:1;transform:none} }

@media(max-width:1100px){.packs-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-process{grid-template-columns:1fr}.shop-hero{grid-template-columns:1fr}.shop-hero__metrics{grid-template-columns:repeat(3,1fr);width:100%}.shop-hero__metrics div{text-align:center}}
@media(max-width:760px){.main-content{width:min(94vw,680px);padding:22px 0 55px}.shop-hero{min-height:0;padding:30px 22px;border-radius:23px}.shop-hero h1{font-size:clamp(2.8rem,15vw,5rem)}.shop-hero__metrics{grid-template-columns:1fr}.shop-tabs{top:48px;max-width:100%}.shop-tabs a{padding:10px 12px}.shop-section{padding:24px 16px;border-radius:22px}.shop-section-head{grid-template-columns:1fr;gap:12px}.packs-grid--four,.packs-grid--two{grid-template-columns:1fr}.pack-card{min-height:440px}.shop-process{padding:28px 18px}.shop-process__steps{grid-template-columns:1fr}.shop-process__steps h3{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.shop-hero,.shop-hero__glow span,.pack-card,.shop-modal__panel,.feedback-modal__panel{animation:none!important}.pack-card{opacity:1;transform:none}}

/* Configurateur du pack médiatique */
.pack-price-promo { display:flex!important; flex-direction:column; align-items:flex-end; gap:2px; }
.pack-price-promo del { color:rgba(255,255,255,.48); font-size:.56em; font-weight:600; }
.pack-price-promo strong { color:#fff; font:800 1em 'Space Grotesk',sans-serif; }
.pack-price-promo small { color:#7ef0dc; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.pack-modal-price--promo { display:flex; align-items:center; gap:12px; }.pack-modal-price--promo del{color:#7f8a9d;font-size:.62em}.pack-modal-price--promo strong{color:#7ef0dc}.pack-promo-deadline{margin:-10px 0 22px;color:#9eabc0;font-size:12px}

.media-devis-panel { width:min(1040px,94vw)!important; max-width:1040px!important; max-height:calc(100dvh - 24px)!important; padding:clamp(24px,3.2vw,40px)!important; overflow:hidden!important; }
.media-devis-panel::before { content:""; position:absolute; width:520px; height:520px; top:-380px; right:-140px; border-radius:50%; background:radial-gradient(circle,rgba(80,223,219,.22),rgba(86,119,255,.08) 48%,transparent 70%); filter:blur(8px); animation:mediaConfigGlow 8s ease-in-out infinite alternate; pointer-events:none; }
@keyframes mediaConfigGlow{to{transform:translate(-420px,170px) scale(1.16)}}
.media-config-kicker { color:#50dfdb; font-size:11px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.media-devis-panel>h2 { margin:8px 0 22px; font:700 clamp(30px,4vw,52px)/1 'Space Grotesk',sans-serif; letter-spacing:-.045em; }
.media-config-progress { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:12px; margin-bottom:28px; }
.media-config-progress button{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid transparent;border-radius:11px;background:transparent;color:#68778d;font-size:12px;font-weight:800;transition:.25s}.media-config-progress button b{font-weight:800}.media-config-progress button.is-active{color:#f4f8ff;cursor:pointer}.media-config-progress button.is-active:hover{border-color:rgba(80,223,219,.24);background:rgba(80,223,219,.07);transform:translateY(-1px)}.media-config-progress button.is-current{border-color:rgba(80,223,219,.28);background:rgba(80,223,219,.1);color:#50dfdb;box-shadow:0 0 18px rgba(80,223,219,.08)}.media-config-progress button:disabled{cursor:not-allowed;opacity:.5}.media-config-progress i{height:1px;background:linear-gradient(90deg,rgba(80,223,219,.5),rgba(255,255,255,.08))}
.media-config-step { display:none; min-height:315px; }.media-config-step.is-active{display:block;animation:mediaStepIn .38s cubic-bezier(.2,.8,.2,1) both}@keyframes mediaStepIn{from{opacity:0;transform:translateX(18px)}}
.media-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.media-service-card { position:relative; min-height:280px; padding:20px; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:22px; background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); color:#f4f8ff; text-align:left; cursor:pointer; transition:transform .28s,border-color .28s,box-shadow .28s,background .28s; }
.media-service-card::before { content:""; position:absolute; inset:auto -30% -55% 20%; height:65%; border-radius:50%; background:radial-gradient(circle,rgba(86,119,255,.22),transparent 68%); transition:.35s; }
.media-service-card:hover { transform:translateY(-7px); border-color:rgba(80,223,219,.38); box-shadow:0 22px 42px rgba(0,0,0,.3); }.media-service-card:hover::before{transform:scale(1.35)}
.media-service-card.is-selected { border-color:#50dfdb; background:linear-gradient(145deg,rgba(80,223,219,.14),rgba(86,119,255,.08)); box-shadow:0 0 0 3px rgba(80,223,219,.08),0 22px 45px rgba(0,0,0,.32); }
.posts-artist-photo-field[hidden]{display:none!important}.posts-visuals-grid.has-shared-artist-photo{grid-template-columns:1fr}
.media-service-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:25px; border-radius:15px; background:linear-gradient(135deg,rgba(80,223,219,.24),rgba(86,119,255,.2)); color:#79f2e8; font-size:19px; box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
.media-service-card small { display:block; color:#50dfdb; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }.media-service-card>strong{display:block;margin:6px 0 9px;font:700 19px 'Space Grotesk',sans-serif}.media-service-card p{min-height:57px;margin:0;color:#8e9bb0;font-size:12px;line-height:1.55}.media-service-card>b{display:block;margin-top:17px;color:#fff;font-size:20px}.media-service-card>i{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.13);border-radius:50%;color:transparent;font-style:normal;transition:.22s}.media-service-card.is-selected>i{color:#06121b;background:#50dfdb;border-color:#50dfdb;transform:scale(1.08)}
.media-bundle-hint { margin:15px 0 0; padding:12px 15px; border:1px solid rgba(80,223,219,.18); border-radius:13px; background:rgba(80,223,219,.055); color:#9cabbf; font-size:12px }.media-bundle-hint strong{color:#50dfdb;font-size:15px}.media-bundle-hint del{color:#77849a}
.media-config-summary { display:grid; gap:10px; max-width:660px; margin:20px auto; }.media-config-summary div{display:flex;justify-content:space-between;gap:20px;padding:17px 19px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.035);animation:mediaSummaryIn .35s both}@keyframes mediaSummaryIn{from{opacity:0;transform:translateY(9px)}}.media-config-summary div span{font-weight:700}.media-config-summary div b{color:#50dfdb}.media-config-summary>p{display:flex;justify-content:space-between;padding:12px 19px;color:#a9b6c8}.media-config-summary>p strong{color:#75eadf}
.media-config-final{text-align:center;padding:30px}.media-config-final>span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 15px;border-radius:50%;background:linear-gradient(135deg,#50dfdb,#5677ff);color:#07101d;font-size:28px;box-shadow:0 0 35px rgba(80,223,219,.28)}.media-config-final h3{margin:0;font:700 28px 'Space Grotesk'}.media-config-final p{color:#8e9bb0}.media-config-final>strong{display:block;margin-top:14px;color:#50dfdb;font-size:34px}
.media-config-total { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:18px; padding:15px 18px; border-top:1px solid rgba(255,255,255,.1); color:#9ba9bd; }.media-config-total strong{color:#fff;font-size:25px}
.media-config-nav { display:flex; justify-content:flex-end; gap:10px; }.media-config-nav button{min-width:130px;padding:13px 18px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.05);color:#fff;font-weight:800;cursor:pointer;transition:.2s}.media-config-nav #mediaConfigNext{border:0;background:linear-gradient(110deg,#5677ff,#50dfdb);color:#06121b}.media-config-nav button:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(0,0,0,.22)}.media-config-nav button:disabled{opacity:.35;pointer-events:none}
#mediaDevisForm{margin-top:10px}#mediaConfigSubmit[hidden]{display:none}#mediaConfigSubmit{width:100%;min-height:52px}
.media-auth-gate{max-width:620px;margin:34px auto;padding:34px;text-align:center;border:1px solid rgba(80,223,219,.22);border-radius:22px;background:linear-gradient(145deg,rgba(80,223,219,.09),rgba(86,119,255,.07))}.media-auth-gate[hidden]{display:none}.media-auth-gate h3{margin:0 0 8px;font:700 25px 'Space Grotesk',sans-serif}.media-auth-gate p{color:#9aa8bb}.media-auth-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.media-auth-actions a{padding:12px 18px;border-radius:12px;background:linear-gradient(110deg,#5677ff,#50dfdb);color:#07101d;font-weight:900;text-decoration:none}.media-auth-actions a+ a{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff}
.media-info-panel{display:none;max-width:760px;margin:4px auto 0}.media-info-panel.is-active{display:block;animation:mediaStepIn .32s ease both}.media-info-page{display:none;min-height:235px;align-content:center;gap:13px}.media-info-page.is-active{display:grid;animation:mediaQuestionIn .3s cubic-bezier(.2,.8,.2,1) both}@keyframes mediaQuestionIn{from{opacity:0;transform:translateX(22px) scale(.985)}}.media-info-page>p{margin:0 0 4px;color:#8795aa;font-size:12px}.media-info-panel h3{margin:0 0 3px;font:700 28px 'Space Grotesk',sans-serif}.media-info-index{color:#50dfdb;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.media-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.media-info-panel label{display:grid;gap:8px;color:#dfe7f2;font-size:12px;font-weight:800}.media-info-panel input,.media-info-panel textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(3,8,18,.62);color:#fff;padding:13px 14px;outline:none;transition:.2s}.media-info-panel textarea{resize:none;height:168px;line-height:1.55}.media-info-panel input:focus,.media-info-panel textarea:focus{border-color:#50dfdb;box-shadow:0 0 0 3px rgba(80,223,219,.1)}.media-file-field{padding:14px;border:1px dashed rgba(80,223,219,.25);border-radius:15px;background:rgba(80,223,219,.035)}.media-file-field--hero{min-height:100px;align-content:center}.media-file-field input[type=file]::file-selector-button{margin-right:12px;padding:10px 14px;border:0;border-radius:10px;background:linear-gradient(110deg,#5677ff,#50dfdb);color:#07101d;font-weight:900;cursor:pointer}.media-file-field small,.media-file-field span{color:#8190a6;font-weight:600}.media-info-counter{text-align:center;color:#7dece2;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.media-payment-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:#9eacc0}.media-payment-head strong{color:#50dfdb;font-size:29px}.media-payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.media-payment-card{position:relative;display:grid;gap:10px;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.035);cursor:pointer;transition:.25s}.media-payment-card:hover,.media-payment-card.is-selected{transform:translateY(-3px);border-color:#50dfdb;box-shadow:0 18px 35px rgba(0,0,0,.25),0 0 0 3px rgba(80,223,219,.07)}.media-payment-card input{position:absolute;top:18px;right:18px;accent-color:#50dfdb}.media-payment-logo{color:#70a7ff;font-size:13px;font-weight:900;text-transform:uppercase}.media-payment-logo--revolut{color:#fff}.media-payment-qr{display:grid;place-items:center;min-height:105px;border:1px dashed rgba(255,255,255,.16);border-radius:13px;color:#66758c;font-size:12px}.media-payment-card a{color:#77869b;font-size:11px;text-decoration:none}.media-payment-note{color:#8391a6;font-size:11px;text-align:center}
.media-schedule-head{text-align:center;margin-bottom:10px}.media-schedule-head>span{color:#50dfdb;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.media-schedule-head h3{margin:3px 0;font:700 23px 'Space Grotesk',sans-serif}.media-schedule-head p{margin:0;color:#8f9db1;font-size:11px}.media-calendar{max-width:510px;margin:auto;padding:11px 14px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(80,223,219,.025));box-shadow:0 20px 45px rgba(0,0,0,.22)}.media-calendar-nav{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:10px;margin-bottom:7px;text-align:center}.media-calendar-nav strong{text-transform:capitalize}.media-calendar-nav button{height:31px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.05);color:#fff;font-size:20px;cursor:pointer}.media-calendar-nav button:disabled{opacity:.2;cursor:not-allowed}.media-calendar-week,.media-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.media-calendar-week span{text-align:center;color:#69778c;font-size:8px;font-weight:900;text-transform:uppercase}.media-calendar-days>span,.media-calendar-days button{height:31px;border:0;border-radius:9px;background:transparent;color:#586579;font-size:11px;font-weight:800}.media-calendar-days button.is-available{border:1px solid rgba(80,223,219,.2);background:rgba(80,223,219,.075);color:#eafdfa;cursor:pointer;transition:.2s}.media-calendar-days button.is-available:hover{transform:translateY(-2px);background:rgba(80,223,219,.18);box-shadow:0 8px 18px rgba(0,0,0,.2)}.media-calendar-days button.is-selected{background:linear-gradient(135deg,#5677ff,#50dfdb);color:#06121b;box-shadow:0 0 22px rgba(80,223,219,.3)}.media-calendar-selection{margin:8px 0 0;text-align:center;color:#72eadf;font-size:11px;font-weight:800}.media-devis-panel[data-current-step="3"] .media-config-step{min-height:270px}.media-payment-warning{margin:16px 0 10px;padding:15px 17px;border:1px solid rgba(255,184,77,.24);border-radius:14px;background:rgba(255,184,77,.07)}.media-payment-warning strong{color:#ffc56e}.media-payment-warning p{margin:5px 0 0;color:#b9a98f;font-size:11px;line-height:1.55}
@media(max-width:760px){.media-devis-panel{padding:16px 12px!important}.media-devis-panel>h2{margin:5px 0 10px;font-size:27px}.media-service-grid{grid-template-columns:1fr}.media-service-card{min-height:0}.media-service-card p{min-height:0}.media-config-step{min-height:0;max-height:49vh;overflow-y:auto;padding:3px}.media-config-step[data-media-step="2"],.media-config-step[data-media-step="3"]{overflow:hidden}.media-config-progress button b{display:none}.media-config-progress button{justify-content:center;min-width:32px;padding:5px}.media-config-progress{gap:4px;margin-bottom:9px}.media-config-total{margin-top:5px;padding:7px 4px}.media-config-total strong{font-size:18px}.media-config-nav button{flex:1;min-width:0;padding:9px}.media-form-grid,.media-payment-grid{grid-template-columns:1fr}.media-info-page{min-height:245px;align-content:center}.media-info-panel h3{font-size:23px}.media-info-panel textarea{height:155px}.media-file-field--hero{min-height:115px}.media-devis-panel[data-current-step="3"] .media-config-kicker{display:none}.media-devis-panel[data-current-step="3"]>h2{font-size:22px}.media-devis-panel[data-current-step="3"] .media-config-step{max-height:none;min-height:255px}.media-devis-panel[data-current-step="3"] .media-calendar-days>span,.media-devis-panel[data-current-step="3"] .media-calendar-days button{height:27px}.media-auth-gate{padding:25px 16px}.media-auth-actions{flex-direction:column}.media-payment-head strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.media-devis-panel::before,.media-config-step,.media-service-card,.media-config-summary div{animation:none!important}}

/* Offres temporairement fermées */
.pack-card--unavailable{
  cursor:not-allowed!important;
  filter:grayscale(1) saturate(.15);
  opacity:.55;
  transform:none!important;
  box-shadow:none!important;
  user-select:none;
}
.pack-card--unavailable::after{
  content:"Bientôt disponible";
  position:absolute;
  inset:14px 14px auto auto;
  z-index:4;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(8,12,20,.82);
  color:#d6dbe4;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.pack-card--unavailable:hover{filter:grayscale(1) saturate(.15);opacity:.55;transform:none!important}

/* Le pack média fixe commence directement aux informations. */
.media-devis-panel[data-pack-mode="fixed"] .media-config-progress [data-go-step="1"],
.media-devis-panel[data-pack-mode="fixed"] .media-config-progress [data-go-step="1"] + i{
  display:none!important;
}
.media-devis-panel[data-pack-mode="fixed"] .media-config-progress{
  grid-template-columns:auto 1fr auto 1fr auto;
}

/* Calendrier média agrandi après simplification de son en-tête */
.media-schedule-head h3{margin:2px 0 8px;font-size:27px}
.media-calendar-days>span,.media-calendar-days button{height:35px}
@media(max-width:760px){.media-devis-panel[data-current-step="3"] .media-calendar-days>span,.media-devis-panel[data-current-step="3"] .media-calendar-days button{height:31px}}
.media-config-progress button.is-reached{color:#f4f8ff;cursor:pointer}
.media-config-progress button.is-reached:hover{border-color:rgba(80,223,219,.24);background:rgba(80,223,219,.07);transform:translateY(-1px)}
.media-payment-qr{overflow:hidden;background:#fff}.media-payment-qr img{display:block;width:100%;height:150px;object-fit:contain}.media-payment-link{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid rgba(80,223,219,.24);border-radius:10px;background:rgba(80,223,219,.07);color:#75eadf!important;font-size:12px!important;font-weight:900;text-decoration:none!important;transition:.2s}.media-payment-link:hover{background:rgba(80,223,219,.16);transform:translateY(-1px)}
.media-form-error{position:absolute;z-index:20;top:14px;left:50%;width:min(520px,calc(100% - 100px));margin:0;padding:11px 13px;transform:translateX(-50%);border:1px solid rgba(255,91,112,.4);border-radius:11px;background:#351521;color:#ffc0ca;font-size:12px;font-weight:800;text-align:center;box-shadow:0 14px 35px rgba(0,0,0,.4)}.media-form-error[hidden]{display:none}
.media-form-grid:has(.posts-artist-photo-field[hidden]){grid-template-columns:1fr}
body.modal-open{position:fixed!important;left:0;right:0;width:100%;overflow:hidden!important;touch-action:none;overscroll-behavior:none}
.media-submit-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;background:rgba(3,7,16,.92);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:.25s}.media-submit-loader.is-visible{opacity:1;visibility:visible}.media-submit-loader__card{width:min(430px,92vw);padding:38px 30px;border:1px solid rgba(80,223,219,.25);border-radius:24px;background:linear-gradient(145deg,#0d1528,#151d35);color:#fff;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.65)}.media-submit-loader__spinner{display:block;width:58px;height:58px;margin:0 auto 20px;border:4px solid rgba(255,255,255,.1);border-top-color:#50dfdb;border-right-color:#5677ff;border-radius:50%;animation:mediaSubmitSpin .8s linear infinite}.media-submit-loader__card strong{display:block;font:700 25px 'Space Grotesk',sans-serif}.media-submit-loader__card p{margin:10px 0;color:#aab7ca;line-height:1.55}.media-submit-loader__card small{color:#69e4da;font-weight:800}@keyframes mediaSubmitSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.media-payment-qr img{height:120px}}
.media-upload-progress{height:9px;margin:22px 0 10px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.09)}.media-upload-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5677ff,#50dfdb);box-shadow:0 0 18px rgba(80,223,219,.45);transition:width .18s linear}.media-submit-loader__card>b{display:block;color:#fff;font-size:22px}.media-submit-loader__card #mediaUploadStatus{margin:8px 0}.media-submit-loader__card #mediaUploadEta{display:block}
@media(max-width:760px){.media-devis-panel[data-current-step="4"] .media-config-step{max-height:none;overflow:hidden}.media-devis-panel[data-current-step="4"] .media-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-devis-panel[data-current-step="4"] .media-payment-card{gap:5px;padding:10px;border-radius:14px}.media-devis-panel[data-current-step="4"] .media-payment-card>strong{font-size:11px}.media-devis-panel[data-current-step="4"] .media-payment-qr img{height:82px}.media-devis-panel[data-current-step="4"] .media-payment-link{min-height:30px;font-size:9px!important}.media-devis-panel[data-current-step="4"] .media-payment-warning{margin:8px 0 5px;padding:8px 10px}.media-devis-panel[data-current-step="4"] .media-payment-warning p{margin-top:2px;font-size:9px;line-height:1.35}.media-devis-panel[data-current-step="4"] .media-payment-note{margin:5px 0;font-size:9px}.media-devis-panel[data-current-step="4"] .media-payment-head{margin-bottom:8px}.media-form-error{top:8px;width:calc(100% - 70px);padding:8px 10px;font-size:10px}}

/* Configurateur mobile plein écran, sans défilement */
@media(max-width:760px){
  body.modal-open #chatbot-container,body.modal-open #chatbot-backdrop{display:none!important}
  #mediaModalDevis{padding:0;align-items:stretch;overflow:hidden}
  .media-devis-panel{display:flex;flex-direction:column;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;padding:max(12px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;overflow:hidden!important}
  .media-devis-panel::before{width:360px;height:360px;top:-270px;right:-110px;opacity:.75}
  .media-devis-panel .shop-modal__close{top:max(8px,env(safe-area-inset-top));right:9px;width:34px;height:34px;background:rgba(255,255,255,.07);font-size:24px}
  .media-config-kicker{font-size:8px;letter-spacing:.15em}
  .media-devis-panel>h2{flex:none;margin:3px 40px 7px 0;font-size:24px;line-height:1}
  .media-config-progress{flex:none;margin:0 0 7px;gap:3px}
  .media-config-progress button{min-width:29px;height:29px;padding:0;justify-content:center;border-radius:9px;font-size:10px}
  .media-config-progress i{min-width:8px}
  .media-config-step{display:none!important;flex:1;min-height:0!important;max-height:none!important;overflow:hidden!important;padding:2px}
  .media-config-step.is-active{display:block!important}
  .media-config-total{flex:none;margin:5px 0 0;padding:7px 5px;border-radius:10px;background:rgba(255,255,255,.035);font-size:11px}
  .media-config-total strong{font-size:18px}
  .media-config-nav{flex:none;gap:7px;margin-top:5px}
  .media-config-nav button{min-height:38px;padding:8px 12px;border-radius:11px;font-size:11px}
  #mediaDevisForm{flex:none;margin-top:5px}
  #mediaConfigSubmit{min-height:41px;border-radius:12px;font-size:12px}
  .media-service-grid{height:calc(100% - 39px);grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:7px}
  .media-service-card{display:grid;grid-template-columns:42px 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;min-height:0;padding:10px 38px 10px 10px;border-radius:15px}
  .media-service-grid{min-width:0;padding:4px 5px}.media-service-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.media-service-card.is-selected{transform:none;box-shadow:inset 0 0 0 2px rgba(80,223,219,.16),0 8px 18px rgba(0,0,0,.22)}
  .media-service-icon{grid-row:1/3;width:38px;height:38px;margin:0;border-radius:11px;font-size:14px}
  .media-service-card small,.media-service-card p{display:none}
  .media-service-card>strong{grid-column:2;margin:0;font-size:15px}
  .media-service-card>b{grid-column:3;grid-row:1/3;margin:0;font-size:16px;white-space:nowrap}
  .media-service-card>i{top:50%;right:8px;width:21px;height:21px;transform:translateY(-50%)}
  .media-service-card.is-selected>i{transform:translateY(-50%) scale(1.05)}
  .media-bundle-hint{height:32px;box-sizing:border-box;margin:6px 0 0;padding:7px 10px;border-radius:10px;font-size:9px;text-align:center}.media-bundle-hint strong{font-size:12px}
  #mediaInfoFlow,.media-info-panel,.media-info-page{height:100%}
  .media-info-page{min-height:0!important;align-content:center;gap:9px;padding:0 2px}
  .media-info-index{font-size:8px}
  .media-info-panel h3{font-size:21px;line-height:1.05}
  .media-info-page>p{font-size:10px;line-height:1.35}
  .media-form-grid{grid-template-columns:1fr;gap:8px}
  .media-info-panel label{gap:5px;font-size:10px}
  .media-info-panel input:not([type="file"]),.media-info-panel textarea,.media-info-panel select{padding:10px 11px;border-radius:11px;font-size:16px}
  .media-info-panel textarea{height:min(32vh,210px)}
  .media-file-field,.media-file-field--hero{min-height:0;padding:11px}
  .media-file-field input[type=file]{font-size:9px;min-width:0}
  .media-file-field input[type=file]::file-selector-button{margin-right:7px;padding:8px 9px;font-size:9px}
  .media-info-counter{position:absolute;right:13px;bottom:102px;margin:0;padding:5px 8px;border-radius:8px;background:#121c30;font-size:8px}
  .media-auth-gate{margin:auto;padding:22px 15px}.media-auth-gate h3{font-size:21px}.media-auth-gate p{font-size:11px}.media-auth-actions{gap:7px;margin-top:12px}.media-auth-actions a{padding:10px;font-size:11px}
  .media-schedule-head{margin:0 0 5px}.media-schedule-head h3{margin:0;font-size:21px}
  .media-calendar{max-width:100%;padding:8px 10px;border-radius:15px}
  .media-calendar-nav{grid-template-columns:31px 1fr 31px;margin-bottom:4px}.media-calendar-nav button{height:29px}
  .media-calendar-days>span,.media-calendar-days button,.media-devis-panel[data-current-step="3"] .media-calendar-days>span,.media-devis-panel[data-current-step="3"] .media-calendar-days button{height:min(5.1vh,34px)}
  .media-calendar-selection{margin:5px 0 0;font-size:9px}
  .media-payment-head{margin:0 0 5px}.media-payment-head span{font-size:10px}.media-payment-head strong{font-size:20px}
  .media-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}
  .media-payment-card{gap:4px!important;padding:8px!important;border-radius:13px!important}.media-payment-card input{top:8px;right:8px}.media-payment-logo{font-size:9px}.media-payment-card>strong{font-size:10px!important}
  .media-payment-qr img{height:min(15vh,105px)!important}.media-payment-link{min-height:28px!important;font-size:8px!important}
  .media-payment-warning{margin:6px 0 4px!important;padding:7px 9px!important}.media-payment-warning strong{font-size:10px}.media-payment-warning p{font-size:8px!important;line-height:1.25!important}
  .media-payment-note{margin:3px 0!important;font-size:8px!important}
  .media-form-error{position:fixed;top:max(8px,env(safe-area-inset-top));width:calc(100% - 70px);padding:9px 10px;font-size:10px}

  /* Paiement mobile : une solution par ligne, toute la largeur utile. */
  .media-devis-panel[data-current-step="4"] .media-payment-grid{
    display:grid;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(2,minmax(0,1fr));
    flex:1;
    min-height:0;
    gap:7px;
  }
  .media-devis-panel[data-current-step="4"] .media-config-step.is-active{
    display:flex!important;
    flex-direction:column;
    min-height:0!important;
  }
  .media-devis-panel[data-current-step="4"] .media-payment-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(98px,29vw,124px);
    grid-template-rows:auto auto minmax(36px,auto);
    align-items:center;
    column-gap:10px!important;
    row-gap:2px!important;
    min-width:0;
    min-height:0;
    padding:10px 11px!important;
    overflow:hidden;
  }
  .media-devis-panel[data-current-step="4"] .media-payment-logo,
  .media-devis-panel[data-current-step="4"] .media-payment-card>strong,
  .media-devis-panel[data-current-step="4"] .media-payment-link{grid-column:1}
  .media-devis-panel[data-current-step="4"] .media-payment-logo{grid-row:1;padding-right:22px}
  .media-devis-panel[data-current-step="4"] .media-payment-card>strong{grid-row:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .media-devis-panel[data-current-step="4"] .media-payment-link{grid-row:3;width:100%;box-sizing:border-box}
  .media-devis-panel[data-current-step="4"] .media-payment-qr{
    grid-column:2;
    grid-row:1/4;
    width:clamp(98px,29vw,124px);
    min-height:clamp(98px,29vw,124px);
    border-radius:10px;
  }
  .media-devis-panel[data-current-step="4"] .media-payment-qr img{width:clamp(98px,29vw,124px)!important;height:clamp(98px,29vw,124px)!important}
  .media-devis-panel[data-current-step="4"] .media-payment-card input{top:10px;right:calc(clamp(98px,29vw,124px) + 22px)}
  .media-devis-panel[data-current-step="4"] .media-payment-link{min-height:36px!important;font-size:10px!important;border-radius:11px}
  .media-devis-panel[data-current-step="4"] .media-payment-logo{font-size:10px}
  .media-devis-panel[data-current-step="4"] .media-payment-card>strong{font-size:12px!important}
  .media-devis-panel[data-current-step="4"] .media-payment-warning{flex:none}
}
@media(max-width:380px) and (max-height:700px){
  .media-config-kicker{display:none}.media-devis-panel>h2{font-size:20px}.media-config-progress{margin-bottom:4px}.media-config-progress button{height:25px;min-width:25px}.media-service-card{padding-top:7px;padding-bottom:7px}.media-bundle-hint{height:28px;padding:5px}.media-payment-qr img{height:70px!important}.media-payment-warning p{display:none}.media-info-panel textarea{height:25vh}
}
