/* ════════════════════════════════════════════════════
   EDD ENTRY DOORS  ·  Fine & Elegant
   ════════════════════════════════════════════════════ */

:root {
  --ink:      #1b2d4e;
  --ink-2:    #4a6282;
  --ink-3:    #8295b0;
  --gold:     #b89a5e;
  --gold-lt:  #d4bc8a;
  --bg:       #f9f7f3;
  --line:     #e4e0d8;
  --white:    #ffffff;

  --ease:     cubic-bezier(.25,.46,.45,.94);
  --ease-out: cubic-bezier(.16,1,.3,1);

  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Jost', 'Helvetica Neue', sans-serif;
}

/* ────────────────────────────────────────────────────
   CONTAINER
──────────────────────────────────────────────────── */

.edd-doors-container {
  font-family: var(--font-sans);
  color: var(--ink);
}

.edd-doors-empty {
  text-align: center;
  padding: 64px 24px;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-3);
}

/* ────────────────────────────────────────────────────
   DOORS GRID
──────────────────────────────────────────────────── */

.edd-doors-grid {
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), 1fr);
  gap: 28px 24px;
}

.edd-door-item {
  cursor: pointer;
  opacity: 0;
  animation: fadeUp .6s var(--ease-out) forwards;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Image ── */

.edd-door-visual {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: var(--line);
}

.edd-door-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .7s var(--ease), opacity .4s var(--ease);
}

.edd-door-placeholder {
  width: 100%;
  height: 100%;
  background: var(--line);
}

.edd-door-item:hover .edd-door-visual img {
  transform: scale(1.035);
}

/* Active: thin gold outline on the visual */
.edd-door-item.is-active .edd-door-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1.5px var(--gold);
  pointer-events: none;
  z-index: 1;
}

/* ── Caption ── */

.edd-door-caption {
  padding: 13px 2px 0;
}

.edd-door-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: 1.15rem;
  letter-spacing: .01em;
  color: var(--ink);
  margin: 0 0 9px;
  line-height: 1.25;
  transition: color .25s;
}

.edd-door-item:hover .edd-door-title {
  color: var(--gold);
}

.edd-door-item.is-active .edd-door-title {
  color: var(--gold);
}

/* Fine animated rule under title */
.edd-door-rule {
  display: block;
  height: 1px;
  background: var(--gold);
  transform-origin: left;
  transform: scaleX(0);
  transition: transform .45s var(--ease-out);
}

.edd-door-item:hover .edd-door-rule,
.edd-door-item.is-active .edd-door-rule {
  transform: scaleX(1);
}

/* ────────────────────────────────────────────────────
   ACCORDION
──────────────────────────────────────────────────── */

.edd-door-accordion {
  margin-top: 36px;
  border-top: 1px solid var(--line);
}

.edd-door-accordion-inner {
  padding: 36px 0 40px;
}

/* ── Categories ── */

.edd-door-categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 20px 16px;
}

.edd-door-category {
  cursor: pointer;
  opacity: 0;
  animation: fadeUp .45s var(--ease-out) forwards;
}

.edd-door-cat-visual {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--line);
  transition: box-shadow .3s var(--ease);
}

.edd-door-cat-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .55s var(--ease);
}

.edd-door-cat-placeholder {
  width: 100%;
  height: 100%;
  background: var(--line);
}

.edd-door-category:hover .edd-door-cat-visual img {
  transform: scale(1.04);
}

/* Thin gold border on hover */
.edd-door-category:hover .edd-door-cat-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px var(--gold);
  pointer-events: none;
}

.edd-door-cat-name {
  display: block;
  margin-top: 9px;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .08em;
  color: var(--ink-2);
  transition: color .2s;
}

.edd-door-category:hover .edd-door-cat-name {
  color: var(--ink);
}

/* ────────────────────────────────────────────────────
   STEP CATÉGORIES dans le popup
──────────────────────────────────────────────────── */

.edd-doors-cats-body {
  padding: 24px 28px 32px;
}

/* Grille clonée depuis l'accordion : on réinitialise les animations */
.edd-doors-cats-body .edd-door-categories-grid {
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 18px 14px;
}

.edd-doors-cats-body .edd-door-category {
  opacity: 1 !important;
  animation: none !important;
}

/* ────────────────────────────────────────────────────
   POPUP OVERLAY
──────────────────────────────────────────────────── */

#edd-doors-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(27, 45, 78, .45);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  z-index: 99998;
}

/* ────────────────────────────────────────────────────
   POPUP — Downloads list
──────────────────────────────────────────────────── */

#edd-doors-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--white);
  width: min(660px, 94vw);
  max-height: 80vh;
  overflow-y: auto;
  z-index: 99999;
  box-shadow:
    0 1px 3px rgba(27,45,78,.06),
    0 12px 40px rgba(27,45,78,.12),
    0 32px 80px rgba(27,45,78,.08);
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
}

#edd-doors-popup::-webkit-scrollbar { width: 3px; }
#edd-doors-popup::-webkit-scrollbar-thumb { background: var(--line); }

/* Header injected by AJAX */
.edd-doors-popup-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 28px 32px 22px;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  background: var(--white);
  z-index: 1;
}

.edd-doors-popup-title {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  font-weight: 300;
  font-style: italic;
  color: var(--ink);
  margin: 0;
  letter-spacing: .01em;
  line-height: 1;
}

.edd-doors-popup-close {
  background: none;
  border: none;
  color: var(--ink-3);
  font-size: 20px;
  cursor: pointer;
  padding: 2px 0 2px 16px;
  line-height: 1;
  transition: color .2s;
  font-weight: 300;
}

.edd-doors-popup-close:hover { color: var(--ink); }

/* Download list */
.edd-doors-download-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.edd-doors-download-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 32px;
  border-bottom: 1px solid var(--line);
  transition: background .15s;
  cursor: default;
}

.edd-doors-download-item:last-child { border-bottom: none; }
.edd-doors-download-item:hover { background: var(--bg); }

.edd-doors-download-name {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 400;
  color: var(--ink);
  line-height: 1.3;
}

/* Second row: price left, actions right */
.edd-doors-download-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.edd-doors-download-price {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .06em;
  color: var(--gold);
}

/* Actions */
.edd-doors-download-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* Preview button — ghost */
.edd-doors-btn-preview {
  background: none;
  border: 1px solid var(--line);
  color: var(--ink-2);
  padding: 6px 14px;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color .2s, color .2s;
  white-space: nowrap;
}

.edd-doors-btn-preview:hover {
  border-color: var(--gold);
  color: var(--gold);
}

/* Add to cart — solid */
.edd-doors-download-cart .edd-add-to-cart {
  background: var(--ink) !important;
  color: var(--white) !important;
  border: 1px solid var(--ink) !important;
  border-radius: 0 !important;
  padding: 6px 14px !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s, border-color .2s !important;
  white-space: nowrap;
  box-shadow: none !important;
}

.edd-doors-download-cart .edd-add-to-cart:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
}

/* EDD cache ce lien via style="display:none;" quand l'item n'est pas dans le panier.
   Si le thème a un display:block/inline-block !important sur .button, ça casse ça.
   On renforce le masquage par attribut pour neutraliser tout conflit externe. */
.edd-doors-download-cart .edd_go_to_checkout[style*="display:none"],
.edd-doors-download-cart .edd_go_to_checkout[style*="display: none"] {
  display: none !important;
}

/* Go to checkout — item déjà dans le panier (visibilité gérée par EDD) */
.edd-doors-download-cart .edd_go_to_checkout {
  background: var(--gold) !important;
  color: var(--white) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  padding: 6px 14px !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s, border-color .2s !important;
  white-space: nowrap;
  box-shadow: none !important;
}

.edd-doors-download-cart .edd_go_to_checkout:hover {
  background: var(--ink) !important;
  border-color: var(--ink) !important;
  color: var(--white) !important;
}

.edd-doors-download-cart .edd-loading { display: none !important; }
.edd-doors-download-cart input.edd-add-to-cart.edd-no-js { display: none !important; }
.edd-doors-download-cart .edd-cart-ajax-alert { display: none !important; }
.edd-doors-download-item span.edd_purchase_tax_rate { display: none !important; }

.edd-doors-no-items {
  padding: 44px 32px;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-3);
  text-align: center;
}

.edd-doors-error {
  padding: 28px 32px;
  font-size: 12px;
  color: #c0392b;
  text-align: center;
}

/* ────────────────────────────────────────────────────
   CONFIRMATION STEP
──────────────────────────────────────────────────── */

.edd-doors-confirm-content {
  padding: 60px 40px 52px;
  text-align: center;
}

/* Tiny checkmark circle */
.edd-doors-confirm-mark {
  width: 44px;
  height: 44px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  color: var(--gold);
  animation: markIn .5s var(--ease-out) both;
}

@keyframes markIn {
  from { transform: scale(.7); opacity: 0; }
  to   { transform: scale(1);  opacity: 1; }
}

.edd-doors-confirm-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 10px;
}

.edd-doors-confirm-title {
  font-family: var(--font-serif);
  font-size: 1.85rem;
  font-weight: 300;
  color: var(--ink);
  margin: 0 0 36px;
  letter-spacing: .01em;
}

.edd-doors-confirm-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.edd-doors-btn {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 11px 24px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: all .25s var(--ease);
  border: 1px solid transparent;
  border-radius: 0;
  box-sizing: border-box;
}

.edd-doors-btn-continue {
  background: none;
  color: var(--ink-2);
  border-color: var(--line);
}

.edd-doors-btn-continue:hover {
  border-color: var(--ink-2);
  color: var(--ink);
}

.edd-doors-btn-checkout {
  background: var(--ink);
  color: var(--white) !important;
  border-color: var(--ink);
}

.edd-doors-btn-checkout:hover {
  background: var(--gold);
  border-color: var(--gold);
}

/* ────────────────────────────────────────────────────
   SPINNER
──────────────────────────────────────────────────── */

.edd-doors-loading {
  display: flex;
  justify-content: center;
  padding: 56px 24px;
}

.edd-doors-spinner {
  width: 22px;
  height: 22px;
  border: 1px solid var(--line);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: edd-doors-spin .8s linear infinite;
}

@keyframes edd-doors-spin { to { transform: rotate(360deg); } }

/* ────────────────────────────────────────────────────
   PREVIEW MODAL — PDF.js Canvas Viewer
──────────────────────────────────────────────────── */

#edd-doors-preview-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 8, .9);
  z-index: 100000;
  display: none;
}

#edd-doors-preview-modal {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: none;
  flex-direction: column;
}

#edd-doors-preview-modal[style*="display: block"],
#edd-doors-preview-modal[style*="display:block"] {
  display: flex !important;
}

/* Minimal top bar */
.edd-doors-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 48px;
  padding: 0 24px;
  flex-shrink: 0;
  gap: 20px;
  /* barely-there separator */
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.edd-doors-preview-title {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
}

.edd-doors-preview-nav {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 auto;
}

.edd-doors-preview-prev,
.edd-doors-preview-next {
  background: none;
  border: none;
  color: #fff;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  transition: color .2s;
  padding: 0;
}

.edd-doors-preview-prev:hover,
.edd-doors-preview-next:hover {
  color: rgba(255,255,255,.6);
}

.edd-doors-preview-pageinfo {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 300;
  letter-spacing: .12em;
  color: #fff;
  min-width: 60px;
  text-align: center;
}

.edd-doors-preview-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 28px;
  font-weight: 300;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color .2s;
  flex-shrink: 0;
}

.edd-doors-preview-close:hover { color: rgba(255,255,255,.6); }

/* Viewer body */
.edd-doors-preview-body {
  flex: 1;
  overflow: hidden;
  position: relative;
  isolation: isolate; /* stacking context so ::before/::after z-index works */
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.edd-doors-preview-scroll {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  background: #111;
  padding: 32px 20px;
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.1) transparent;
  /* Promote to its own compositing layer so content rasterises at native DPR */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.edd-doors-preview-scroll::-webkit-scrollbar { width: 3px; }
.edd-doors-preview-scroll::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.1);
}

.edd-doors-preview-canvas {
  display: block;
  max-width: 100%;
  box-shadow: 0 16px 64px rgba(0,0,0,.7);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  /* Force GPU compositing layer at native DPR on iOS/Android.
     Without this, Safari rasterises canvas inside overflow:scroll at 1× DPR. */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}

.edd-doors-preview-watermark {
  display: none;
}

/* Loading — ::before covers the canvas, ::after shows spinner on top */
.edd-doors-preview-body.is-loading::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #111;
  z-index: 1;
}

.edd-doors-preview-body.is-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
  border: 1px solid rgba(255,255,255,.1);
  border-top-color: rgba(255,255,255,.5);
  border-radius: 50%;
  animation: edd-doors-spin .8s linear infinite;
  z-index: 2;
}

/* ── Body lock ── */
body.edd-doors-popup-open,
body.edd-doors-preview-open { overflow: hidden; }

/* ── Print block ── */
@media print {
  #edd-doors-preview-modal,
  #edd-doors-preview-overlay { display: none !important; }
}

/* ────────────────────────────────────────────────────
   RESULT ZONE  [edd_doors_result]
──────────────────────────────────────────────────── */

.edd-doors-result-zone {
  width: 100%;
}

.edd-doors-result-inner {
  width: 100%;
}

@media (max-width: 768px) {
  .edd-doors-result-inner {
    max-height: 65vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.edd-doors-result-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-style: italic;
  font-size: 1.6rem;
  color: var(--ink);
  margin: 0;
  padding-top: 30px;
  padding-bottom: 30px;
  letter-spacing: .01em;
  line-height: 1;
  border-top: 1px solid var(--line);
}

/* La grille clonée depuis l'accordion : reset des animations */
.edd-doors-result-inner .edd-door-categories-grid {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 20px 16px;
}

.edd-doors-result-inner .edd-door-category {
  opacity: 1 !important;
  animation: none !important;
}

/* ────────────────────────────────────────────────────
   SELECT2 SEARCH  [edd_doors_search]
   Styles scopés à .edd-doors-search-wrap pour ne pas
   interférer avec les autres Select2 du site.
──────────────────────────────────────────────────── */

.edd-doors-search-block {
  width: 100%;
}

.edd-doors-search-wrap {
  font-family: Arial, sans-serif;
  color: var(--ink);
}

/* Zone de résultat inline sous la recherche */
.edd-doors-search-result {
  display: none;
  margin-top: 24px;
  border-top: 1px solid var(--line);
}

/* Adapter l'HTML popup-themed au contexte inline */
.edd-doors-search-result .edd-doors-popup-header {
  position: static;
  padding: 20px 0 16px;
  background: transparent;
  border-bottom: 1px solid var(--line);
}

.edd-doors-search-result .edd-doors-popup-close {
  display: none !important;
}

.edd-doors-search-result .edd-doors-download-list {
  padding: 0;
}

.edd-doors-search-result .edd-doors-download-item {
  padding: 16px 0;
}

.edd-doors-search-result .edd-doors-download-item:last-child {
  border-bottom: none;
}

/* Boutons uniformes dans la zone search result */
/* NOTE: pas de display !important sur edd-add-to-cart — ça écraserait
   le style="display:none" que jQuery et EDD posent dessus */
.edd-doors-search-result .edd-doors-btn-preview {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  padding: 0 10px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

.edd-doors-search-result .edd-doors-download-cart .edd-add-to-cart {
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  padding: 0 10px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

/* `:has()` — masquer Add to Cart dès que EDD rend Go to Checkout visible.
   Réactif aux changements du DOM sans dépendre d'un timeout JS. */
.edd-doors-download-cart:has(.edd_go_to_checkout:not([style*="display:none"]):not([style*="display: none"])) .edd-add-to-cart {
  display: none !important;
}

/* Go to Checkout : EDD contrôle la visibilité via style="display:none;"
   — on ne touche PAS à display pour ne pas écraser ça */
.edd-doors-search-result .edd-doors-download-cart .edd_go_to_checkout {
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  padding: 0 10px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

/* Masquer les éléments EDD superflus dans la zone search result */
.edd-doors-search-result .edd-loading,
.edd-doors-search-result input.edd-add-to-cart.edd-no-js,
.edd-doors-search-result .edd-cart-ajax-alert {
  display: none !important;
}

/* Empêcher le label de disparaître pendant le traitement AJAX d'EDD */
.edd-doors-search-result .edd-add-to-cart-label:empty::before {
  content: 'Add to Cart';
}

.edd-doors-download-cart .edd-add-to-cart-label:empty::before {
  content: 'Add to Cart';
}

/* ── Bouton de sélection ── */

.edd-doors-search-wrap .select2-container--default .select2-selection--single {
  height: 48px;
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  display: flex;
  align-items: center;
  transition: border-color .25s var(--ease);
}

.edd-doors-search-wrap .select2-container--default.select2-container--open .select2-selection--single,
.edd-doors-search-wrap .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--gold);
  outline: none;
  box-shadow: none;
}

.edd-doors-search-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
  font-family: Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--ink);
  padding-left: 0;
  line-height: 48px;
}

.edd-doors-search-wrap .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--ink-3);
}

.edd-doors-search-wrap .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px;
  width: 20px;
}

.edd-doors-search-wrap .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-top-color: var(--ink-3);
  border-width: 4px 4px 0;
}

.edd-doors-search-wrap .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-bottom-color: var(--gold);
  border-top-color: transparent;
  border-width: 0 4px 4px;
}

/* Bouton clear (×) */
.edd-doors-search-wrap .select2-container--default .select2-selection--single .select2-selection__clear {
  color: var(--ink-3);
  font-size: 18px;
  font-weight: 200;
  margin-right: 6px;
  transition: color .2s;
}

.edd-doors-search-wrap .select2-container--default .select2-selection--single .select2-selection__clear:hover {
  color: var(--ink);
}

/* ── Dropdown ── */

/* Le dropdown est injecté dans .edd-doors-search-wrap (dropdownParent) */
.edd-doors-search-wrap .select2-dropdown {
  border: 1px solid var(--line);
  border-top: none;
  border-radius: 0;
  background: var(--white);
  box-shadow:
    0 4px 16px rgba(27,45,78,.06),
    0 16px 48px rgba(27,45,78,.08);
  font-family: Arial, sans-serif;
}

/* Champ de recherche interne */
.edd-doors-search-wrap .select2-search--dropdown {
  padding: 10px 14px;
  border-bottom: 1px solid var(--line);
}

.edd-doors-search-wrap .select2-search--dropdown .select2-search__field {
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 7px 0;
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--ink);
  background: transparent;
  width: 100%;
  outline: none;
  transition: border-color .2s;
}

.edd-doors-search-wrap .select2-search--dropdown .select2-search__field:focus {
  border-color: var(--gold);
}

/* ── Résultats ── */

.edd-doors-search-wrap .select2-results {
  max-height: 380px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
}

.edd-doors-search-wrap .select2-results::-webkit-scrollbar { width: 3px; }
.edd-doors-search-wrap .select2-results::-webkit-scrollbar-thumb { background: var(--line); }

/* Label de groupe (nom de catégorie en optgroup) */
.edd-doors-search-wrap .select2-results__group {
  font-family: Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0;
  color: var(--ink-3);
  padding: 12px 14px 6px;
  cursor: default;
}

/* Option générique */
.edd-doors-search-wrap .select2-results__option {
  padding: 0;
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
}

.edd-doors-search-wrap .select2-results__option--highlighted {
  background: var(--bg) !important;
  color: var(--ink) !important;
}

/* Option vide (no results, searching…) */
.edd-doors-search-wrap .select2-results__option.select2-results__message,
.edd-doors-search-wrap .select2-results__option.loading-results {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-3);
  padding: 28px 20px;
  text-align: center;
}

/* Pulse animation — only on the active "Searching…" item */
@keyframes edd-searching-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .3; }
}
.edd-doors-search-wrap .select2-results__option.loading-results {
  animation: edd-searching-pulse 1.2s ease-in-out infinite;
}

/* ── Templates custom (templateResult) ── */

/* Ligne catégorie (item sélectionnable, type=category) */
.edd-s2-cat-item {
  display: block;
  padding: 9px 14px;
  font-family: Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 13px;
  color: var(--ink);
  letter-spacing: 0;
}

/* Ligne node de téléchargement */
.edd-s2-dl-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px 7px 24px;
}

.edd-s2-dl-dash {
  color: var(--gold-lt);
  font-size: 10px;
  flex-shrink: 0;
  font-weight: 300;
}

.edd-s2-dl-name {
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--ink-2);
}

.edd-doors-search-wrap .select2-results__option--highlighted .edd-s2-cat-item,
.edd-doors-search-wrap .select2-results__option--highlighted .edd-s2-dl-name {
  color: var(--ink);
}

.edd-doors-search-wrap .select2-results__option--highlighted .edd-s2-dl-dash {
  color: var(--gold);
}

/* ────────────────────────────────────────────────────
   RESPONSIVE
──────────────────────────────────────────────────── */

@media (max-width: 860px) {
  .edd-doors-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px 16px;
  }
}

@media (max-width: 560px) {
  .edd-doors-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 12px;
  }
  .edd-door-categories-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 12px;
  }
  .edd-doors-popup-header { padding: 22px 22px 18px; }
  .edd-doors-download-item { padding: 14px 22px; }
  .edd-doors-download-meta { flex-wrap: wrap; gap: 8px; }
  .edd-doors-download-actions { justify-content: flex-end; }
  .edd-doors-confirm-content { padding: 44px 24px 40px; }
  .edd-doors-confirm-buttons { flex-direction: column; align-items: stretch; }
  .edd-doors-btn { text-align: center; }
  .edd-doors-preview-header { padding: 0 16px; }
}
