/* destoiles_passeport — styles de l'outil « Passeport du lutin ».
   Port fidèle de la maquette (.vPass) + ajouts (consentement, honeypot,
   aperçu photo, bandeau, masquage du thème à l'impression). */

.vPass{
  --ink:#0e1a14; --night:#13261c; --green:#2f6b48; --green-d:#1d4a30; --houx:#5a9e74;
  --gold:#e8c061; --gold-soft:#f3d98c; --rouge:#c0392b;
  --paper:#f5edd8; --paper2:#ece0c0; --sepia:#43361f; --sepia-soft:#6c5a38; --line-c:rgba(232,192,97,.26);
  --text:#eaf1ea; --muted:#a9bcae;
  font-family:'Mulish',system-ui,sans-serif; color:var(--text); min-height:100vh; position:relative; overflow-x:hidden;
  background:radial-gradient(120% 80% at 50% -10%,var(--green-d),var(--night) 50%,var(--ink) 100%);
}
.vPass *{box-sizing:border-box;}
.vPass .wm{font-family:'Pinyon Script',cursive;}
.vPass .serif{font-family:'Cormorant Garamond',Georgia,serif;}
.vPass .bg{position:absolute;top:0;left:0;right:0;height:100%;z-index:0;pointer-events:none;overflow:hidden;}
.vPass .bg i{position:absolute;border-radius:50%;background:#fff;opacity:.7;animation:dhlpp-tw 4s ease-in-out infinite;}
.vPass .bg .sn{background:rgba(255,255,255,.85);border-radius:50%;animation:dhlpp-fall linear infinite;opacity:.55;}
@keyframes dhlpp-tw{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.9;transform:scale(1.15)}}
@keyframes dhlpp-fall{0%{transform:translateY(-10px)}100%{transform:translateY(105vh)}}
.vPass .topbar{display:flex;align-items:center;justify-content:center;gap:13px;padding:26px 20px 0;position:relative;z-index:5;}
.vPass .topbar .bm{border-radius:50%;filter:drop-shadow(0 0 14px rgba(159,228,230,.35));}
.vPass .topbar .wm{font-size:26px;color:#fff;}
/* form */
.vPass .stage{position:relative;z-index:4;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px 70px;}
.vPass .card{width:100%;max-width:680px;background:linear-gradient(180deg,rgba(31,74,48,.55),rgba(14,26,20,.6));border:1px solid var(--line-c);border-radius:26px;padding:42px;box-shadow:0 50px 100px -50px rgba(0,0,0,.85);backdrop-filter:blur(4px);}
.vPass .eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--houx);margin-bottom:14px;}
.vPass .card h1{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:600;color:#fff;text-align:center;line-height:1.02;margin:0 0 6px;}
.vPass .card h1 em{font-style:italic;color:var(--gold-soft);}
.vPass .card .lede{text-align:center;color:var(--muted);font-size:15px;line-height:1.6;margin:0 auto 28px;max-width:460px;}
.vPass .grid{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:start;}
.vPass .field{margin-bottom:16px;}
.vPass .field > label{display:block;font-size:13px;font-weight:700;color:#eef5ee;margin-bottom:7px;}
.vPass .field .hint{font-weight:400;color:var(--muted);font-size:11.5px;}
.vPass .inp,.vPass select{width:100%;background:rgba(14,26,20,.55);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:13px 14px;color:#fff;font-size:15px;font-family:inherit;outline:none;transition:border-color .18s;}
.vPass .inp:focus,.vPass select:focus{border-color:var(--gold);}
.vPass .inp::placeholder{color:var(--muted);}
.vPass select option{color:#111;}
.vPass .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
/* dropzone */
.vPass .drop{aspect-ratio:35/45;border-radius:14px;border:2px dashed rgba(232,192,97,.45);background:rgba(14,26,20,.5);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;text-align:center;padding:16px;transition:.18s;overflow:hidden;position:relative;}
.vPass .drop:hover,.vPass .drop.drag{border-color:var(--gold);background:rgba(232,192,97,.08);}
.vPass .drop .ph-ic{width:44px;height:44px;border-radius:50%;background:rgba(232,192,97,.14);display:grid;place-items:center;}
.vPass .drop p{font-size:12.5px;color:var(--muted);line-height:1.4;margin:0;}
.vPass .drop .drop-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.vPass .drop .change{position:absolute;left:0;right:0;bottom:0;background:rgba(14,26,20,.78);color:var(--gold-soft);font-size:12px;font-weight:700;padding:8px;}
.vPass .malice{display:flex;gap:6px;align-items:center;}
.vPass .malice button{background:none;border:0;cursor:pointer;padding:2px;line-height:0;}
.vPass .btn{font-family:inherit;font-weight:800;border:0;border-radius:999px;cursor:pointer;transition:transform .18s,box-shadow .18s;font-size:16px;}
.vPass .btn-gold{background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:#3a2a08;padding:17px 30px;box-shadow:0 14px 34px -12px rgba(232,192,97,.7);width:100%;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:10px;}
.vPass .btn-gold:hover{transform:translateY(-2px);box-shadow:0 20px 46px -12px rgba(232,192,97,.85);}
.vPass .btn-gold:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.vPass .formfoot{text-align:center;margin-top:14px;font-size:12.5px;color:var(--muted);}
/* result */
.vPass .resStage{position:relative;z-index:4;padding:40px 20px 90px;display:flex;flex-direction:column;align-items:center;}
.vPass .toolbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:24px;}
.vPass .tbtn{display:inline-flex;align-items:center;gap:9px;font-family:inherit;font-size:14px;font-weight:700;border-radius:999px;padding:12px 20px;cursor:pointer;transition:.18s;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);color:var(--text);text-decoration:none;}
.vPass .tbtn:hover{border-color:var(--gold);color:var(--gold-soft);}
.vPass .tbtn.primary{background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:#3a2a08;border-color:transparent;}
/* email panel */
.vPass .emailpanel{width:100%;max-width:540px;margin:0 auto 22px;background:linear-gradient(180deg,rgba(31,74,48,.6),rgba(14,26,20,.7));border:1px solid var(--line-c);border-radius:18px;padding:22px 24px;box-shadow:0 26px 60px -36px rgba(0,0,0,.85);}
.vPass .ep-title{display:flex;align-items:center;gap:9px;font-family:'Cormorant Garamond',serif;font-size:21px;color:#fff;margin:0 0 14px;line-height:1.2;}
.vPass .ep-row{display:flex;gap:10px;}
/* min-width:0 obligatoire : sans lui l'input garde sa largeur intrinsèque et
   pousse le bouton hors de l'écran en mobile (min-width:auto par défaut). */
.vPass .ep-row input{flex:1 1 auto;min-width:0;background:rgba(14,26,20,.6);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px 16px;color:#fff;font-size:15px;font-family:inherit;outline:none;}
.vPass .ep-row .ep-send{flex:0 0 auto;width:auto;margin:0;padding:14px 22px;}
.vPass .ep-row input:focus{border-color:var(--gold);}
.vPass .ep-hint{font-size:12.5px;color:var(--muted);margin:12px 0 0;line-height:1.5;}
.vPass .ep-consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45;cursor:pointer;}
.vPass .ep-consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--gold);flex:0 0 auto;}
.vPass .ep-err{color:#f3b0ab;font-size:13px;margin:10px 0 0;}
.vPass .dhlpp-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;}
.vPass .ep-ok{text-align:center;}
.vPass .ep-check{width:48px;height:48px;border-radius:50%;background:rgba(90,158,116,.18);border:1px solid rgba(90,158,116,.6);display:grid;place-items:center;margin:0 auto 12px;}
/* PASSEPORT */
.vPass .passWrap{width:100%;max-width:880px;}
.vPass .passport{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(180deg,var(--paper),var(--paper2));border-radius:10px;overflow:hidden;color:var(--sepia);
  box-shadow:0 50px 100px -40px rgba(0,0,0,.85),inset 0 0 0 2px rgba(67,54,31,.18),inset 0 0 0 8px var(--paper),inset 0 0 0 10px rgba(47,107,72,.4);position:relative;}
.vPass .passport::after{content:'';position:absolute;left:50%;top:24px;bottom:24px;width:1px;background:repeating-linear-gradient(180deg,rgba(67,54,31,.3) 0 6px,transparent 6px 12px);}
.vPass .pp-side{padding:34px 32px;}
.vPass .pp-left{text-align:center;}
.vPass .pp-emblem{width:58px;height:58px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;background:radial-gradient(circle at 38% 32%,#fbe9b6,#d8a93f 65%,#b8882e);box-shadow:inset 0 2px 4px rgba(255,255,255,.5);}
.vPass .pp-country{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--green-d);line-height:1.2;}
.vPass .pp-sub{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#9a6f30;margin-top:2px;}
.vPass .pp-photo{width:170px;aspect-ratio:35/45;margin:18px auto 12px;border-radius:6px;overflow:hidden;border:2px solid rgba(67,54,31,.4);background:#e3d6b6;position:relative;box-shadow:0 6px 14px -8px rgba(0,0,0,.5);}
.vPass .pp-photo img{width:100%;height:100%;object-fit:cover;}
.vPass .pp-photo .noimg{position:absolute;inset:0;display:grid;place-items:center;color:#a8895a;font-size:12px;text-align:center;padding:10px;}
.vPass .pp-photo .holo{position:absolute;right:6px;bottom:6px;width:30px;height:30px;border-radius:50%;background:conic-gradient(from 0deg,rgba(232,192,97,.6),rgba(90,158,116,.5),rgba(192,57,43,.5),rgba(232,192,97,.6));mix-blend-mode:overlay;}
.vPass .pp-num{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:12px;letter-spacing:.1em;color:var(--sepia-soft);}
.vPass .pp-stamp{position:absolute;width:118px;height:118px;border-radius:50%;border:3px double var(--rouge);color:var(--rouge);
  display:grid;place-items:center;text-align:center;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:13px;line-height:1.15;
  transform:rotate(-16deg);opacity:.82;left:18px;bottom:14px;text-transform:uppercase;letter-spacing:.06em;}
.vPass .pp-right .pp-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--green-d);margin:0 0 2px;}
.vPass .pp-right .pp-titsub{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:#9a6f30;margin-bottom:18px;}
.vPass .pp-rows{display:flex;flex-direction:column;gap:11px;}
.vPass .pp-row{display:grid;grid-template-columns:128px 1fr;gap:10px;align-items:baseline;border-bottom:1px dotted rgba(67,54,31,.25);padding-bottom:9px;}
.vPass .pp-row .k{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9a6f30;font-weight:700;}
.vPass .pp-row .v{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--sepia);font-weight:600;line-height:1.1;}
.vPass .pp-stars{color:var(--gold);font-size:15px;letter-spacing:2px;}
.vPass .pp-sign{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px;}
.vPass .pp-sign .lbl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9a6f30;}
.vPass .pp-sign .sig{font-family:'Pinyon Script',cursive;font-size:34px;color:#7a1f1a;line-height:.8;}
.vPass .pp-mrz{grid-column:1 / -1;background:rgba(255,255,255,.4);border-top:1px solid rgba(67,54,31,.25);padding:12px 32px;
  font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:13px;letter-spacing:.18em;color:var(--sepia);line-height:1.7;word-break:break-all;}
.vPass .editnote{color:var(--muted);font-size:12.5px;margin-top:18px;text-align:center;max-width:540px;}
/* couverture (recto) */
.vPass .pp-cover{width:300px;aspect-ratio:1 / 1.38;border-radius:10px;position:relative;padding:24px 0;text-align:left;transform:rotate(180deg);
  background:linear-gradient(145deg,#357a52,#1b3f2a);color:var(--gold-soft);display:flex;align-items:stretch;
  box-shadow:0 40px 80px -36px rgba(0,0,0,.85),inset 0 0 0 2px rgba(232,192,97,.5),inset 0 0 0 9px #2a6043,inset 0 0 0 10px rgba(232,192,97,.32);}
.vPass .pp-cover .cv-inner{width:50%;margin-left:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;text-align:center;padding:6px 20px;border-left:1px dashed rgba(232,192,97,.3);}
.vPass .pp-cover .cv-top{font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:18px;line-height:1.3;color:var(--gold-soft);margin-top:6px;}
.vPass .pp-cover .cv-sub{font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:rgba(243,217,160,.7);}
.vPass .pp-cover .cv-snow{margin:6px 0 2px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3));}
.vPass .pp-cover .cv-plate{margin-top:auto;border:1.5px solid rgba(232,192,97,.6);border-radius:6px;padding:8px 22px;font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:.24em;font-size:16px;}
.vPass .pp-cover .cv-name{font-family:'Pinyon Script',cursive;font-size:26px;color:#fff;line-height:.9;margin-top:12px;}
/* vue livret à l'écran — couverture et intérieur À LA MÊME TAILLE */
.vPass .panel{width:560px;max-width:92vw;}
.vPass .pp-cover.panel{height:412px;aspect-ratio:auto;}
.vPass .passport.panel{height:412px;grid-template-rows:1fr auto;}
.vPass .passport.panel .pp-side{padding:16px 20px;overflow:hidden;}
.vPass .passport.panel .pp-rows{gap:4px;}
.vPass .passport.panel .pp-row{padding-bottom:4px;}
.vPass .passport.panel .pp-row .v{font-size:16px;}
.vPass .passport.panel .pp-row .k{font-size:9px;}
.vPass .passport.panel .pp-photo{width:108px;margin:10px auto 6px;}
.vPass .passport.panel .pp-title{font-size:21px;}
.vPass .passport.panel .pp-titsub{margin-bottom:10px;}
.vPass .passport.panel .pp-stamp{width:88px;height:88px;font-size:10.5px;bottom:40px;}
.vPass .passport.panel .pp-sign{margin-top:10px;}
.vPass .passport.panel .pp-sign .sig{font-size:26px;}
.vPass .passport.panel .pp-mrz{padding:8px 20px;font-size:11.5px;line-height:1.5;}
.vPass .bookview{display:flex;flex-direction:column;align-items:center;gap:8px;}
.vPass .bookview .bvcol{display:flex;flex-direction:column;align-items:center;gap:8px;}
.vPass .bvlabel{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.vPass .bvnote{font-size:11.5px;color:var(--muted);text-align:center;max-width:520px;margin:2px 0 0;}
/* feuille à imprimer (cachée à l'écran) */
.vPass .printsheet{display:none;}
.vPass .foldline{display:flex;align-items:center;gap:12px;color:#888;font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:0;width:170mm;}
.vPass .foldline::before,.vPass .foldline::after{content:'';flex:1;border-top:2px dashed #aaa;}
@media print{
  @page{size:A4 portrait;margin:8mm;}
  /* Masquer tout le chrome du site → seule la feuille à plier s'imprime.
     .dhl-nv-banner (module destoiles_nouveautes) est rendu par
     displayAfterBodyOpeningTag : il s'imprimait en tête de page et poussait
     la feuille sur une 2e page. */
  #header,#footer,header#header,footer#footer,.l-header,.l-footer,.header-top,.header-nav,
  #search_widget,.breadcrumb,#js-product-list-header,.block-newsletter,#notifications,
  .dhl-nv-banner,.jbar,.dhlpp-banner,.dhlpn-banner{display:none !important;}
  html,body{background:#fff !important;width:auto !important;margin:0 !important;}
  /* Conteneurs du thème neutralisés : la feuille dispose de toute la hauteur utile. */
  #wrapper,#content-wrapper,#content,#main,#columns,.container,.l-wrapper,.page-content,
  main,.l-content,#left-column,#right-column{max-width:none !important;width:auto !important;float:none !important;padding:0 !important;margin:0 !important;}
  /* .row du thème : margin:0 -15px (30px hors page) et les clearfix ::after
     (display:table) qui ajoutait 25px sous la colonne — de quoi basculer sur
     une 2e page. Les colonnes ne flottent plus ici, le clearfix est inutile. */
  .row{margin-left:0 !important;margin-right:0 !important;}
  .container::before,.container::after,.row::before,.row::after,
  #wrapper::before,#wrapper::after,#content-wrapper::before,#content-wrapper::after{display:none !important;}
  .vPass{background:#fff !important;min-height:0 !important;width:100% !important;}
  .vPass .bg,.vPass .topbar,.vPass .toolbar,.vPass .emailpanel,.vPass .editnote,.vPass .resStage > .passWrap{display:none !important;}
  .vPass .resStage{padding:0 !important;}
  .vPass .printsheet{display:flex !important;flex-direction:column;align-items:center;gap:0;break-inside:avoid;page-break-inside:avoid;}
  .vPass .printsheet .print-title{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:15px;color:#2a6043;text-align:center;margin:0 0 6px;line-height:1.2;}
  .vPass .printsheet .cutbox{border:2px dashed #b0b0b0;border-radius:8px;padding:5px;display:flex;flex-direction:column;align-items:center;gap:0;break-inside:avoid;page-break-inside:avoid;}
  .vPass .printsheet .print-cover{line-height:0;font-size:0;margin:0;}
  .vPass .printsheet .foldline{margin:0;height:0;font-size:0;line-height:0;overflow:visible;border-top:1px dashed #b0b0b0;width:170mm;}
  .vPass .printsheet .foldline::before,.vPass .printsheet .foldline::after{display:none;}
  /* 2 × 130mm + titre + liseré de découpe ≈ 272mm, sous les 281mm utiles
     d'une A4 à marges de 8mm : la feuille tient sur UNE page. */
  .vPass .printsheet .pp-cover,.vPass .printsheet .passport{width:170mm !important;height:130mm !important;aspect-ratio:auto !important;border-radius:6px;}
  /* grid-template-rows:1fr auto → la bande MRZ reste collée en bas et c'est
     la colonne trop longue (prénoms à rallonge) qui se rogne, pas la MRZ. */
  .vPass .printsheet .passport{grid-template-rows:1fr auto !important;}
  .vPass .printsheet .passport .pp-side{padding:11px 16px !important;overflow:hidden;}
  .vPass .printsheet .passport .pp-rows{gap:3px !important;}
  .vPass .printsheet .passport .pp-row .v{font-size:17px !important;}
  .vPass .printsheet .passport .pp-row{padding-bottom:3px !important;}
  .vPass .printsheet .passport .pp-photo{width:100px !important;margin:8px auto 6px !important;}
  .vPass .printsheet .passport .pp-stamp{bottom:34px !important;}
  .vPass .printsheet .passport .pp-mrz{padding:7px 16px !important;font-size:11px !important;}
  *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;}
}
@media screen and (max-width:720px){
  .vPass .card{padding:28px 20px;}
  .vPass .grid{grid-template-columns:1fr;}
  .vPass .drop{max-width:200px;margin:0 auto;}
  .vPass .passport{grid-template-columns:1fr;}
  .vPass .passport::after{display:none;}
  .vPass .pp-mrz{grid-column:auto;}
  .vPass .panel{width:100%;}
  .vPass .pp-cover.panel,.vPass .passport.panel{height:auto;}
  /* En une colonne la hauteur n'est plus contrainte : on rend la grille et les
     colonnes à leur comportement normal, sinon la moitié photo se retrouve
     écrasée par la rangée 1fr et rognée par overflow:hidden. */
  .vPass .passport.panel{grid-template-rows:auto;}
  .vPass .passport.panel .pp-side{overflow:visible;}
  /* Rien ne doit imposer une largeur mini au-delà de la colonne du thème. */
  .vPass .card,.vPass .emailpanel,.vPass .passWrap,.vPass .resStage,.vPass .bookview{min-width:0;max-width:100%;}
  /* En une colonne, le tampon « Approuvé » se retrouvait par-dessus la
     signature et la bande MRZ : on le repositionne dans la moitié photo. */
  .vPass .passport.panel .pp-stamp{position:static;transform:rotate(-8deg);margin:6px auto 0;left:auto;bottom:auto;}
  .vPass .pp-mrz{font-size:10.5px;letter-spacing:.08em;}
  /* La couverture garde ses proportions au lieu de s'aplatir. */
  .vPass .pp-cover.panel{padding:18px 0;}
  .vPass .pp-cover .cv-inner{width:62%;padding:6px 12px;}
  .vPass .pp-cover .cv-top{font-size:16px;}
  .vPass .pp-cover .cv-plate{padding:7px 12px;font-size:14px;letter-spacing:.18em;}
  .vPass .pp-cover .cv-name{font-size:22px;}
}
@media screen and (max-width:480px){
  .vPass .card h1{font-size:34px;}
  .vPass .row2{grid-template-columns:1fr;}
  .vPass .ep-row{flex-wrap:wrap;}
  .vPass .ep-row input{flex:1 1 100%;}
  .vPass .ep-row .ep-send{flex:1 1 100%;justify-content:center;}
}
@media (prefers-reduced-motion:reduce){
  .vPass .bg i,.vPass .bg .sn{animation:none !important;}
}

/* ===== Bandeau d'accueil « Passeport » ===== */
.dhlpp-banner{padding:6px 20px 14px;}
.dhlpp-banner-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:40px;
  background:linear-gradient(135deg,rgba(31,74,48,.6),rgba(14,26,20,.75));border:1px solid rgba(232,192,97,.24);
  border-radius:26px;padding:40px 48px;box-shadow:0 40px 90px -50px rgba(0,0,0,.85);}
.dhlpp-banner-txt{flex:1;}
.dhlpp-banner-eyebrow{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#5a9e74;margin-bottom:12px;}
.dhlpp-banner h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;font-weight:600;color:#fff;margin:0 0 10px;line-height:1.03;}
.dhlpp-banner h2 em{font-style:italic;color:#f3d98c;}
.dhlpp-banner p{color:#a9bcae;font-size:15.5px;line-height:1.6;margin:0 0 18px;max-width:580px;}
.dhlpp-pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;}
.dhlpp-pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#eaf1ea;background:rgba(255,255,255,.05);border:1px solid rgba(232,192,97,.28);border-radius:999px;padding:8px 15px;}
.dhlpp-banner-btn{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(180deg,#f3d98c,#e8c061);color:#3a2a08;font-weight:800;text-decoration:none;border-radius:999px;padding:15px 28px;box-shadow:0 14px 34px -14px rgba(232,192,97,.7);transition:transform .18s;}
.dhlpp-banner-btn:hover{transform:translateY(-2px);}
.dhlpp-banner-art{flex:0 0 auto;}
.dhlpp-pass-mini{width:150px;height:200px;border-radius:10px;transform:rotate(-4deg);display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 14px;text-align:center;
  background:linear-gradient(145deg,#357a52,#1b3f2a);color:#f3d98c;
  box-shadow:0 30px 60px -28px rgba(0,0,0,.7),inset 0 0 0 2px rgba(232,192,97,.5),inset 0 0 0 7px #2a6043,inset 0 0 0 8px rgba(232,192,97,.3);}
.dhlpp-pm-top{font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px;line-height:1.3;}
.dhlpp-pm-sub{font-size:8.5px;letter-spacing:.3em;text-transform:uppercase;color:rgba(243,217,160,.7);}
.dhlpp-pm-emblem{font-size:34px;margin:6px 0;}
.dhlpp-pm-plate{margin-top:auto;border:1.5px solid rgba(232,192,97,.6);border-radius:6px;padding:6px 16px;font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:.2em;font-size:13px;}
@media screen and (max-width:760px){
  .dhlpp-banner-in{flex-direction:column-reverse;text-align:center;padding:30px 24px;gap:24px;}
  .dhlpp-banner p{margin-left:auto;margin-right:auto;}
  .dhlpp-pills{justify-content:center;}
  .dhlpp-banner h2{font-size:32px;}
}
