.dpd-app{--navy:#000633;--pink:#de02ff;--red:#e0243f;--muted:#c8c6d8;--gold:#f1c870;color:#fff;font-family:var(--dpd-font);max-width:760px;margin:0 auto;padding:22px 18px 42px;box-sizing:border-box}.dpd-app *{box-sizing:border-box}.dpd-screen{display:none}.dpd-screen.is-active{display:block}.dpd-topbar{max-width:570px;margin:0 auto 38px}.dpd-back-link{appearance:none;border:0;background:none;padding:0;color:var(--muted);font-family:"One Night Sans Extended",var(--dpd-font);font-size:14px;line-height:1.3;text-decoration:none;cursor:pointer}.dpd-step-label{margin-top:26px;font:400 11px/1.2 "DM Sans",var(--dpd-font);color:#c8c6d8}.dpd-progress{height:2px;background:rgba(241,200,112,.22);margin-top:10px;overflow:hidden}.dpd-progress span{display:block;height:100%;background:#ed174c}.dpd-title{margin:0 auto 4px;text-align:center;font-family:"One Night Sans Extended",var(--dpd-font);font-size:36px;font-weight:700;line-height:1.05;color:#fff}.dpd-title span,.dpd-invite-heading span,.dpd-subtitle span{color:var(--pink)}.dpd-subtitle{margin:0 0 22px;text-align:center;font-size:18px;line-height:1.25}.dpd-fields,.dpd-textarea-wrap,.dpd-screen[data-screen=answer]>.dpd-inline-message,.dpd-screen[data-screen=answer]>.dpd-gold-button{max-width:569px;margin-left:auto;margin-right:auto}.dpd-field{margin-bottom:18px}.dpd-field>label,.dpd-mini-label{display:block;padding-bottom:6px;font-family:"DM Sans",var(--dpd-font);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:1.2px;color:#fff}.dpd-required>label:after{content:" *";color:var(--red)}.dpd-field input[type=text],.dpd-field input[type=email],.dpd-field input[type=tel],.dpd-field input[type=date],.dpd-field input[type=file],.dpd-name-grid input,.dpd-textarea-wrap textarea{width:100%;min-height:47px;padding:6px 16px;border:0;border-radius:16px;background:#fff;color:#000633;font-family:"DM Sans",var(--dpd-font);font-size:16px;font-weight:400;outline:none}.dpd-field input:focus,.dpd-name-grid input:focus,.dpd-textarea-wrap textarea:focus{box-shadow:0 0 0 2px rgba(222,2,255,.35)}.dpd-field small{display:block;margin-top:5px;color:rgba(255,255,255,.62);font:400 11px/1.4 "DM Sans",var(--dpd-font)}.dpd-field input[type=file]{height:47px;padding:0 12px 0 0;line-height:47px;overflow:hidden}.dpd-field input[type=file]::file-selector-button{height:47px;min-height:47px;margin:0 14px 0 0;padding:0 18px;border:0;border-right:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.06);font-family:"DM Sans",var(--dpd-font);font-size:14px;cursor:pointer}.dpd-acceptance{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;margin:0 0 10px}.dpd-acceptance input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;padding:0;border:2px solid rgba(255,255,255,.18);border-radius:50%;background:transparent;cursor:pointer}.dpd-acceptance input:checked{border-color:#fff;background:radial-gradient(circle,#fff 0,#fff 4px,transparent 4.5px)}.dpd-acceptance label{font:500 12px/1.4 "DM Sans",var(--dpd-font);color:#fff}.dpd-acceptance.dpd-required label:after{content:" *";color:var(--red)}.dpd-acceptance a{color:#ed174c;text-decoration:underline}.dpd-required-note{margin:14px 0 16px;font:400 12px/1.4 "DM Sans",var(--dpd-font)}.dpd-required-note span{color:var(--red)}.dpd-gold-button,.dpd-secondary-button,.dpd-small-button{appearance:none;border:0;cursor:pointer}.dpd-gold-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 20px;border-radius:999px;background:#f1c870 url('/wp-content/uploads/2026/07/gold_tlo.png') center/cover;color:#000633;font-family:"One Night Sans Extended",var(--dpd-font);font-size:14px;font-weight:700;text-decoration:none}.dpd-gold-button:disabled{opacity:.45;cursor:not-allowed}.dpd-link-button{margin-top:20px}.dpd-inline-message{min-height:0;margin:10px 0;color:#ff8797;font:600 12px/1.4 "DM Sans",var(--dpd-font)}.dpd-submit-button{margin-top:22px}.dpd-spinner{display:none;width:14px;height:14px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dpdspin .7s linear infinite}.dpd-submit-button.is-loading .dpd-spinner{display:block}@keyframes dpdspin{to{transform:rotate(360deg)}}.dpd-title-answer{margin-top:4px}.dpd-kicker{max-width:569px;margin:24px auto 14px;color:#c8c6d8;font:500 12px/1.55 "DM Sans",var(--dpd-font)}.dpd-center{text-align:center}.dpd-textarea-wrap{position:relative}.dpd-textarea-wrap textarea{min-height:180px;padding:22px 20px 40px;resize:vertical}.dpd-counter{position:absolute;right:18px;bottom:14px;color:#c8c6d8;font:400 14px/1 "DM Sans",var(--dpd-font)}.dpd-counter b{font-weight:400}.dpd-invite-screen{max-width:760px;margin:auto}.dpd-invite-heading{margin:26px auto 30px;text-align:center;font-family:"One Night Sans Extended",var(--dpd-font);font-size:30px;line-height:1.02;color:#fff}.dpd-mini-label{max-width:640px;margin:26px auto 4px}.dpd-template-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:640px;margin:0 auto 16px}.dpd-template-card{position:relative;appearance:none;overflow:hidden;padding:0;border:2px solid transparent;border-radius:10px;background:#111;color:#fff;cursor:pointer}.dpd-template-card.is-selected{border-color:#ed174c}.dpd-template-card img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}.dpd-template-card span{display:block;padding:5px 3px;font:600 9px/1.1 "DM Sans",var(--dpd-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dpd-editor-shell{max-width:520px;margin:0 auto}.dpd-stage{position:relative;width:min(100%,420px);aspect-ratio:9/16;margin:0 auto;overflow:hidden;border-radius:14px;background:#151515;touch-action:pan-y}.dpd-stage-bg{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.dpd-face-mask{position:absolute;overflow:hidden;border-radius:50%;outline:1px solid rgba(255,255,255,.5);touch-action:none;cursor:grab;background:#111}.dpd-face-mask:active{cursor:grabbing}.dpd-face-photo{position:absolute;left:50%;top:50%;max-width:none;max-height:none;transform-origin:center center;user-select:none;-webkit-user-drag:none;pointer-events:none}.dpd-photo-empty{text-align:center;margin:12px 0 0;color:#fff}.dpd-photo-empty strong,.dpd-photo-empty span{display:block}.dpd-photo-empty span{margin-top:4px;color:#c8c6d8;font-size:12px}.dpd-photo-actions,.dpd-control-buttons,.dpd-bottom-actions,.dpd-final-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.dpd-photo-actions{margin-top:12px}.dpd-secondary-button,.dpd-small-button{min-height:36px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-family:var(--dpd-font);font-weight:700}.dpd-edit-controls{margin-top:16px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px}.dpd-slider-label{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;margin:0 0 12px;font-size:12px}.dpd-slider-label input{width:100%}.dpd-editor-help{margin:10px 0 0;text-align:center;color:#c8c6d8;font-size:11px;line-height:1.4}.dpd-bottom-actions{margin-top:16px}.dpd-skip-link,.dpd-text-button{appearance:none;border:0;background:none;color:#fff;text-decoration:underline;font-family:"One Night Sans Extended",var(--dpd-font);font-weight:700;cursor:pointer;padding:12px}.dpd-final-preview-wrap{max-width:300px;margin:20px auto 12px}.dpd-final-canvas,.dpd-final-image{display:block;width:100%;height:auto;border-radius:14px}.dpd-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:570px;margin:14px auto 0}.dpd-name-grid .dpd-field{margin:0}.dpd-home-link{display:block;margin:16px auto 0;text-align:center;color:#c8c6d8;font-size:12px;text-decoration:none}.dpd-final-buttons{margin-top:14px}.dpd-optional-note,.dpd-success-copy{text-align:center;color:#c8c6d8;font-size:11px;line-height:1.45}.dpd-success-copy{max-width:520px;margin:28px auto 0;font-size:15px}.dpd-screen[data-screen=skipped]{text-align:center}
@media(max-width:1024px){.dpd-title{font-size:36px}}
@media(max-width:767px){.dpd-app{padding:18px 16px 34px}.dpd-topbar{margin-bottom:30px}.dpd-title{font-size:24px}.dpd-subtitle{font-size:16px}.dpd-invite-heading{font-size:22px}.dpd-kicker{font-size:10px}.dpd-template-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.dpd-template-card{flex:0 0 84px;scroll-snap-align:start}.dpd-stage{width:min(100%,360px)}.dpd-name-grid{grid-template-columns:1fr;gap:12px}.dpd-field input[type=text],.dpd-field input[type=email],.dpd-field input[type=tel],.dpd-field input[type=date],.dpd-field input[type=file],.dpd-name-grid input,.dpd-textarea-wrap textarea{font-size:16px}.dpd-bottom-actions .dpd-gold-button{min-width:96px}}

/* v1.2 - invitation photo/camera overlay */
.dpd-app [hidden]{display:none!important}
.dpd-stage-bg{position:relative;z-index:0}
.dpd-face-mask{z-index:2;background:transparent}
.dpd-face-mask.has-photo,.dpd-face-mask.is-camera{background:#111}
.dpd-face-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);user-select:none;pointer-events:none}
.dpd-face-photo{z-index:1}
.dpd-stage-photo-overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,6,51,.16);pointer-events:none}
.dpd-stage-photo-panel{width:min(92%,330px);padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(0,6,51,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:center;box-shadow:0 8px 30px rgba(0,0,0,.18);pointer-events:auto}
.dpd-stage-photo-panel strong{display:block;font-family:"One Night Sans Extended",var(--dpd-font);font-size:16px;line-height:1.2;color:#fff}
.dpd-stage-photo-panel>span{display:block;margin-top:5px;color:#c8c6d8;font:400 11px/1.4 "DM Sans",var(--dpd-font)}
.dpd-stage-photo-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}
.dpd-stage-photo-buttons .dpd-secondary-button,.dpd-stage-photo-buttons .dpd-gold-button{min-height:40px}
.dpd-camera-controls{position:absolute;left:12px;right:12px;bottom:14px;z-index:6;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;padding:8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(0,6,51,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.dpd-camera-controls .dpd-gold-button,.dpd-camera-controls .dpd-secondary-button{min-height:40px;padding-left:18px;padding-right:18px}
.dpd-photo-replace-actions{margin:0 0 14px}
.dpd-edit-controls .dpd-slider-label{grid-template-columns:82px 1fr}

@media(max-width:767px){
  .dpd-stage-photo-overlay{padding:12px}
  .dpd-stage-photo-panel{width:min(94%,300px);padding:14px}
  .dpd-stage-photo-buttons{display:grid;grid-template-columns:1fr 1fr}
  .dpd-stage-photo-buttons .dpd-secondary-button,.dpd-stage-photo-buttons .dpd-gold-button{width:100%;padding-left:10px;padding-right:10px;font-size:12px}
  .dpd-camera-controls{left:8px;right:8px;bottom:10px;border-radius:16px}
  .dpd-camera-controls .dpd-gold-button,.dpd-camera-controls .dpd-secondary-button{flex:1 1 0;min-width:0;padding-left:10px;padding-right:10px}
}

/* v1.2.6 visual refinements */
.dpd-app .dpd-subtitle.dpd-subtitle-tight{
  font-family:"One Night Sans Extended",var(--dpd-font);
  font-size:20px;
  font-weight:400;
}

.dpd-app .dpd-field>label,
.dpd-app .dpd-mini-label,
.dpd-app .dpd-slider-label{
  color:#C8C6D8;
}

.dpd-app .dpd-acceptance label{
  color:#C8C6D8;
}
.dpd-app .dpd-acceptance input{
  border-color:#C8C6D8;
}
.dpd-app .dpd-acceptance input:checked{
  border-color:#C8C6D8;
  background:radial-gradient(circle,#C8C6D8 0,#C8C6D8 4px,transparent 4.5px);
}

.dpd-app .dpd-submit-row{
  width:100%;
  max-width:569px;
  margin:22px auto 0;
  text-align:left;
}
.dpd-app .dpd-submit-row .dpd-submit-button{
  margin:0 !important;
}

.dpd-app .dpd-invite-heading{
  font-weight:700;
}

/* Keep gold-image button text unchanged when Elementor/global hover CSS fires. */
.dpd-app .dpd-gold-button,
.dpd-app .dpd-gold-button:hover,
.dpd-app .dpd-gold-button:focus,
.dpd-app .dpd-gold-button:focus-visible,
.dpd-app .dpd-gold-button:active,
.dpd-app .dpd-gold-button:visited{
  color:#000633 !important;
  fill:#000633 !important;
}
.dpd-app .dpd-gold-button span,
.dpd-app .dpd-gold-button:hover span,
.dpd-app .dpd-gold-button:focus span,
.dpd-app .dpd-gold-button:active span{
  color:inherit !important;
}

/* Final screen actions: download above share, never side-by-side. */
.dpd-app .dpd-final-buttons{
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:22px;
}
.dpd-app .dpd-final-buttons [data-download]{
  order:1;
}
.dpd-app .dpd-final-buttons [data-share]{
  order:2;
}

/* Download is intentionally a transparent text action, including hover. */
.dpd-app button[data-download],
.dpd-app button[data-download]:hover,
.dpd-app button[data-download]:focus,
.dpd-app button[data-download]:focus-visible,
.dpd-app button[data-download]:active{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  color:#fff !important;
  box-shadow:none !important;
}

.dpd-app .dpd-optional-note{
  max-width:620px;
  margin:26px auto 0;
  font-family:"DM Sans",var(--dpd-font);
}
.dpd-app .dpd-home-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:12px auto 0;
  font-family:"DM Sans",var(--dpd-font);
  color:#C8C6D8 !important;
}
.dpd-app .dpd-home-link:hover,
.dpd-app .dpd-home-link:focus{
  color:#C8C6D8 !important;
}
.dpd-app .dpd-home-link svg{
  display:block;
  width:16px;
  height:16px;
  flex:0 0 16px;
}

@media(max-width:767px){
  .dpd-app .dpd-subtitle.dpd-subtitle-tight{font-size:16px}
  .dpd-app .dpd-submit-row{margin-top:22px}
  .dpd-app .dpd-optional-note{margin-top:24px}
}

/* Keep the supplied gold texture on all interactive states as well. */
.dpd-app .dpd-gold-button:hover,
.dpd-app .dpd-gold-button:focus,
.dpd-app .dpd-gold-button:focus-visible,
.dpd-app .dpd-gold-button:active{
  background-color:#F1C870 !important;
  background-image:url('/wp-content/uploads/2026/07/gold_tlo.png') !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.dpd-app .dpd-final-buttons [data-share]{
  width:min(100%,350px);
}

/* v1.2.7 media geometry / camera-control placement */
.dpd-app .dpd-face-photo{
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
}
.dpd-app .dpd-face-video{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scaleX(-1) !important;
}
.dpd-app .dpd-camera-controls{
  bottom:auto;
}


/* v1.2.8 back-link SVG */
.dpd-app .dpd-back-link{display:inline-flex;align-items:center;gap:6px}
.dpd-app .dpd-back-link svg{display:block;width:16px;height:16px;min-width:16px;flex:0 0 16px}
.dpd-app .dpd-back-link span{display:inline-block}

/* v1.3.1 registration validation, Polish receipt picker, camera-only invitation flow */
.dpd-app{
  --dpd-input-color:#000633;
  --dpd-placeholder-color:#777d88;
}

/* Keep normal placeholders, an empty date and an unselected file name visually consistent. */
.dpd-app .dpd-field input::placeholder,
.dpd-app .dpd-textarea-wrap textarea::placeholder,
.dpd-app .dpd-name-grid input::placeholder{
  color:var(--dpd-placeholder-color) !important;
  -webkit-text-fill-color:var(--dpd-placeholder-color) !important;
  opacity:1 !important;
}

.dpd-app .dpd-field input[type="date"]{
  color-scheme:light;
}

/* Empty required date = placeholder colour. */
.dpd-app .dpd-field input[type="date"]:invalid{
  color:var(--dpd-placeholder-color) !important;
  -webkit-text-fill-color:var(--dpd-placeholder-color) !important;
}
.dpd-app .dpd-field input[type="date"]:invalid::-webkit-datetime-edit,
.dpd-app .dpd-field input[type="date"]:invalid::-webkit-datetime-edit-fields-wrapper,
.dpd-app .dpd-field input[type="date"]:invalid::-webkit-datetime-edit-text,
.dpd-app .dpd-field input[type="date"]:invalid::-webkit-datetime-edit-month-field,
.dpd-app .dpd-field input[type="date"]:invalid::-webkit-datetime-edit-day-field,
.dpd-app .dpd-field input[type="date"]:invalid::-webkit-datetime-edit-year-field{
  color:var(--dpd-placeholder-color) !important;
  -webkit-text-fill-color:var(--dpd-placeholder-color) !important;
}

/* Selected date = same dark colour as name/email values. */
.dpd-app .dpd-field input[type="date"]:valid{
  color:var(--dpd-input-color) !important;
  -webkit-text-fill-color:var(--dpd-input-color) !important;
}
.dpd-app .dpd-field input[type="date"]:valid::-webkit-datetime-edit,
.dpd-app .dpd-field input[type="date"]:valid::-webkit-datetime-edit-fields-wrapper,
.dpd-app .dpd-field input[type="date"]:valid::-webkit-datetime-edit-text,
.dpd-app .dpd-field input[type="date"]:valid::-webkit-datetime-edit-month-field,
.dpd-app .dpd-field input[type="date"]:valid::-webkit-datetime-edit-day-field,
.dpd-app .dpd-field input[type="date"]:valid::-webkit-datetime-edit-year-field{
  color:var(--dpd-input-color) !important;
  -webkit-text-fill-color:var(--dpd-input-color) !important;
}

/* The browser owns native file-control text, so use a custom Polish control. */
.dpd-app .dpd-file-picker{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  min-height:47px;
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  color:#000633;
  font-family:"DM Sans",var(--dpd-font);
}
.dpd-app .dpd-file-native{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  opacity:0 !important;
  overflow:hidden !important;
}
.dpd-app .dpd-file-button{
  appearance:none;
  flex:0 0 auto;
  align-self:stretch;
  min-height:47px;
  padding:0 18px;
  border:0;
  border-right:1px solid rgba(0,0,0,.12);
  background:rgba(0,0,0,.06);
  color:#000633;
  font:500 14px/1 "DM Sans",var(--dpd-font);
  cursor:pointer;
}
.dpd-app .dpd-file-button:hover,
.dpd-app .dpd-file-button:focus,
.dpd-app .dpd-file-button:active{
  background:rgba(0,0,0,.09) !important;
  color:#000633 !important;
}
.dpd-app .dpd-file-name{
  min-width:0;
  padding:0 14px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:var(--dpd-placeholder-color) !important;
  -webkit-text-fill-color:var(--dpd-placeholder-color) !important;
  opacity:1 !important;
  font:400 14px/1.3 "DM Sans",var(--dpd-font);
}
/* Once a receipt is selected, use exactly the same dark colour as entered form values. */
.dpd-app .dpd-file-name.has-file{
  color:var(--dpd-input-color) !important;
  -webkit-text-fill-color:var(--dpd-input-color) !important;
  opacity:1 !important;
}

.dpd-app .dpd-field-error{
  display:block;
  margin-top:6px;
  color:#E0243F;
  font:500 12px/1.35 "DM Sans",var(--dpd-font);
}
.dpd-app .dpd-acceptance .dpd-field-error{
  grid-column:2;
  margin-top:-4px;
}
.dpd-app .dpd-answer-field-error{
  width:100%;
  max-width:569px;
  margin:6px auto 0;
}
.dpd-app .dpd-field.has-error input:not(.dpd-file-native),
.dpd-app .dpd-textarea-wrap.has-error textarea,
.dpd-app .dpd-field.has-error .dpd-file-picker{
  box-shadow:0 0 0 2px rgba(224,36,63,.8) !important;
}
.dpd-app .dpd-acceptance.has-error input{
  border-color:#E0243F !important;
}

/* Camera-only: one primary action in the invitation overlay. */
.dpd-app .dpd-stage-photo-buttons{
  display:flex;
  justify-content:center;
}
.dpd-app .dpd-stage-photo-buttons .dpd-gold-button{
  width:auto;
  min-width:130px;
}

@media(max-width:767px){
  .dpd-app .dpd-stage-photo-buttons{
    display:flex;
  }
  .dpd-app .dpd-stage-photo-buttons .dpd-gold-button{
    width:auto;
    min-width:130px;
  }
  .dpd-app .dpd-file-button{
    padding:0 14px;
    font-size:13px;
  }
  .dpd-app .dpd-file-name{
    padding:0 10px;
    font-size:13px;
  }
}

/* =========================================================
   v1.3.3 — isolate DPD button states from Elementor/theme
   global button:hover / button:focus rules.
   ========================================================= */

/* Primary gold actions: Take selfie, Capture, Dalej, Submit, Share, etc. */
.dpd-app .dpd-gold-button,
.dpd-app .dpd-gold-button:hover,
.dpd-app .dpd-gold-button:focus,
.dpd-app .dpd-gold-button:focus-visible,
.dpd-app .dpd-gold-button:active,
.dpd-app a.dpd-gold-button:visited{
  background:#F1C870 url('/wp-content/uploads/2026/07/gold_tlo.png') center/cover no-repeat !important;
  background-color:#F1C870 !important;
  color:#000633 !important;
  -webkit-text-fill-color:#000633 !important;
  fill:#000633 !important;
  text-decoration:none !important;
}

/* Camera cancel and the controls shown after a selfie has been captured. */
.dpd-app .dpd-secondary-button,
.dpd-app .dpd-small-button{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
}
.dpd-app .dpd-secondary-button:hover,
.dpd-app .dpd-secondary-button:focus,
.dpd-app .dpd-secondary-button:focus-visible,
.dpd-app .dpd-secondary-button:active,
.dpd-app .dpd-small-button:hover,
.dpd-app .dpd-small-button:focus,
.dpd-app .dpd-small-button:focus-visible,
.dpd-app .dpd-small-button:active{
  background:rgba(255,255,255,.20) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
}

/* Underlined text actions must remain transparent AND underlined on hover. */
.dpd-app .dpd-skip-link,
.dpd-app .dpd-text-button,
.dpd-app .dpd-skip-link:hover,
.dpd-app .dpd-skip-link:focus,
.dpd-app .dpd-skip-link:focus-visible,
.dpd-app .dpd-skip-link:active,
.dpd-app .dpd-text-button:hover,
.dpd-app .dpd-text-button:focus,
.dpd-app .dpd-text-button:focus-visible,
.dpd-app .dpd-text-button:active{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:underline !important;
  box-shadow:none !important;
}

/* Download is one of the underlined text actions. Keep its exact state. */
.dpd-app button[data-download],
.dpd-app button[data-download]:hover,
.dpd-app button[data-download]:focus,
.dpd-app button[data-download]:focus-visible,
.dpd-app button[data-download]:active{
  background:transparent !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:underline !important;
}

/* Back links are transparent but intentionally NOT underlined. */
.dpd-app .dpd-back-link,
.dpd-app .dpd-back-link:hover,
.dpd-app .dpd-back-link:focus,
.dpd-app .dpd-back-link:focus-visible,
.dpd-app .dpd-back-link:active,
.dpd-app .dpd-back-link:visited{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  color:#C8C6D8 !important;
  -webkit-text-fill-color:#C8C6D8 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

/* Receipt picker button should keep its own light-grey treatment. */
.dpd-app .dpd-file-button,
.dpd-app .dpd-file-button:hover,
.dpd-app .dpd-file-button:focus,
.dpd-app .dpd-file-button:focus-visible,
.dpd-app .dpd-file-button:active{
  background:rgba(0,0,0,.06) !important;
  color:#000633 !important;
  -webkit-text-fill-color:#000633 !important;
  text-decoration:none !important;
}
.dpd-app .dpd-file-button:hover,
.dpd-app .dpd-file-button:focus-visible{
  background:rgba(0,0,0,.09) !important;
}

/* Template-selector buttons must not inherit the global pink button hover. */
.dpd-app .dpd-template-card,
.dpd-app .dpd-template-card:hover,
.dpd-app .dpd-template-card:focus,
.dpd-app .dpd-template-card:focus-visible,
.dpd-app .dpd-template-card:active{
  background:#111 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
}
.dpd-app .dpd-template-card.is-selected{
  border-color:#ed174c !important;
}

/* =========================================================
   v1.4.0 — purchase-date calendar (Flatpickr)
   Keeps the same Durex field language while forcing one
   consistent picker on iOS, Android and desktop.
   ========================================================= */
.dpd-app .dpd-field input.dpd-purchase-date-display{
  width:100%;
  min-height:47px;
  padding:6px 16px;
  border:0 !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#000633 !important;
  -webkit-text-fill-color:#000633 !important;
  font-family:"DM Sans",var(--dpd-font) !important;
  font-size:16px !important;
  font-weight:400 !important;
  outline:none !important;
  cursor:pointer;
  box-shadow:none !important;
}
.dpd-app .dpd-field input.dpd-purchase-date-display::placeholder{
  color:#8A8C9E !important;
  -webkit-text-fill-color:#8A8C9E !important;
  opacity:1 !important;
}
.dpd-app .dpd-field input.dpd-purchase-date-display:focus{
  box-shadow:0 0 0 2px rgba(222,2,255,.35) !important;
}

.dpd-flatpickr-calendar.flatpickr-calendar{
  z-index:1000001 !important;
  width:320px !important;
  padding:10px !important;
  border:0 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 16px 44px rgba(0,6,51,.28) !important;
  font-family:"DM Sans",Arial,sans-serif !important;
  color:#000633 !important;
}
.dpd-flatpickr-calendar.flatpickr-calendar:before,
.dpd-flatpickr-calendar.flatpickr-calendar:after{
  display:none !important;
}
.dpd-flatpickr-calendar .flatpickr-months{
  align-items:center;
  min-height:42px;
  margin-bottom:5px;
}
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-month{
  height:42px !important;
  color:#000633 !important;
  fill:#000633 !important;
}
.dpd-flatpickr-calendar .flatpickr-current-month{
  height:42px !important;
  padding-top:9px !important;
  font-size:15px !important;
  font-weight:700 !important;
  color:#000633 !important;
}
.dpd-flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.dpd-flatpickr-calendar .flatpickr-current-month input.cur-year{
  color:#000633 !important;
  -webkit-text-fill-color:#000633 !important;
  font-family:"DM Sans",Arial,sans-serif !important;
  font-weight:700 !important;
}
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-next-month{
  top:10px !important;
  width:38px !important;
  height:38px !important;
  padding:10px !important;
  border-radius:50% !important;
  color:#000633 !important;
  fill:#000633 !important;
  background:transparent !important;
}
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover,
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover{
  background:rgba(0,6,51,.06) !important;
  color:#000633 !important;
  fill:#000633 !important;
}
.dpd-flatpickr-calendar .flatpickr-weekdays{
  height:32px !important;
}
.dpd-flatpickr-calendar span.flatpickr-weekday{
  color:#8A8C9E !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.dpd-flatpickr-calendar .flatpickr-days,
.dpd-flatpickr-calendar .dayContainer{
  width:300px !important;
  min-width:300px !important;
  max-width:300px !important;
}
.dpd-flatpickr-calendar .flatpickr-day{
  width:40px !important;
  max-width:40px !important;
  height:40px !important;
  line-height:40px !important;
  margin:1px !important;
  border:0 !important;
  border-radius:50% !important;
  color:#000633 !important;
  font-size:13px !important;
  font-weight:600 !important;
}
.dpd-flatpickr-calendar .flatpickr-day:hover,
.dpd-flatpickr-calendar .flatpickr-day:focus{
  background:#000633 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.dpd-flatpickr-calendar .flatpickr-day.today{
  box-shadow:inset 0 0 0 1.5px #F1C870 !important;
  background:transparent !important;
  color:#000633 !important;
}
.dpd-flatpickr-calendar .flatpickr-day.selected,
.dpd-flatpickr-calendar .flatpickr-day.selected:hover,
.dpd-flatpickr-calendar .flatpickr-day.selected:focus{
  background:#000633 !important;
  border-color:#000633 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:none !important;
}
.dpd-flatpickr-calendar .flatpickr-day.prevMonthDay,
.dpd-flatpickr-calendar .flatpickr-day.nextMonthDay{
  color:#B8BAC5 !important;
}
.dpd-flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.dpd-flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover,
.dpd-flatpickr-calendar .flatpickr-day.notAllowed,
.dpd-flatpickr-calendar .flatpickr-day.notAllowed:hover{
  background:transparent !important;
  color:#D1D2D9 !important;
  -webkit-text-fill-color:#D1D2D9 !important;
  cursor:not-allowed !important;
  opacity:.7 !important;
}
@media(max-width:380px){
  .dpd-flatpickr-calendar.flatpickr-calendar{
    width:292px !important;
    padding:6px !important;
  }
  .dpd-flatpickr-calendar .flatpickr-days,
  .dpd-flatpickr-calendar .dayContainer{
    width:280px !important;
    min-width:280px !important;
    max-width:280px !important;
  }
  .dpd-flatpickr-calendar .flatpickr-day{
    width:38px !important;
    max-width:38px !important;
    height:38px !important;
    line-height:38px !important;
  }
}


/* =========================================================
   v1.4.1 — Flatpickr header isolation + Durex palette
   Elementor/theme form rules can target Flatpickr's internal
   SELECT and number INPUT. Reset only those picker controls so
   month + year stay on one line on desktop/iOS/Android.
   ========================================================= */
.dpd-flatpickr-calendar .flatpickr-months{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:52px !important;
  min-height:52px !important;
  margin:0 0 4px !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-month{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:52px !important;
  min-height:52px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  color:#000633 !important;
}
.dpd-flatpickr-calendar .flatpickr-current-month{
  position:absolute !important;
  top:9px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  flex-flow:row nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  width:auto !important;
  max-width:calc(100% - 88px) !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:34px !important;
  white-space:nowrap !important;
  overflow:visible !important;
  color:#000633 !important;
  font-family:"DM Sans",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  text-align:center !important;
}

/* Month dropdown: neutralise Elementor/theme select styling. */
.dpd-flatpickr-calendar .flatpickr-current-month select.flatpickr-monthDropdown-months{
  -webkit-appearance:auto !important;
  -moz-appearance:auto !important;
  appearance:auto !important;
  position:static !important;
  inset:auto !important;
  float:none !important;
  display:inline-block !important;
  flex:0 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  max-width:132px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  margin:0 !important;
  padding:0 2px !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background-color:transparent !important;
  background-image:none !important;
  color:#000633 !important;
  -webkit-text-fill-color:#000633 !important;
  font-family:"DM Sans",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:34px !important;
  text-align:left !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  vertical-align:middle !important;
  cursor:pointer !important;
}
.dpd-flatpickr-calendar .flatpickr-current-month select.flatpickr-monthDropdown-months:focus{
  outline:0 !important;
  box-shadow:none !important;
}
.dpd-flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-month{
  background:#fff !important;
  color:#000633 !important;
  font-family:"DM Sans",Arial,sans-serif !important;
  font-size:16px !important;
}

/* Year wrapper + field: neutralise normal site input styling. */
.dpd-flatpickr-calendar .flatpickr-current-month .numInputWrapper{
  position:relative !important;
  inset:auto !important;
  display:inline-flex !important;
  flex:0 0 64px !important;
  align-items:center !important;
  width:64px !important;
  min-width:64px !important;
  max-width:64px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.dpd-flatpickr-calendar .flatpickr-current-month .numInputWrapper input.cur-year{
  -webkit-appearance:textfield !important;
  -moz-appearance:textfield !important;
  appearance:textfield !important;
  position:static !important;
  inset:auto !important;
  float:none !important;
  display:block !important;
  width:64px !important;
  min-width:64px !important;
  max-width:64px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  background-image:none !important;
  color:#000633 !important;
  -webkit-text-fill-color:#000633 !important;
  font-family:"DM Sans",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:34px !important;
  text-align:left !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  vertical-align:middle !important;
}
.dpd-flatpickr-calendar .flatpickr-current-month .numInputWrapper input.cur-year::-webkit-inner-spin-button,
.dpd-flatpickr-calendar .flatpickr-current-month .numInputWrapper input.cur-year::-webkit-outer-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}
.dpd-flatpickr-calendar .flatpickr-current-month .numInputWrapper > span{
  display:none !important;
}

/* Navigation — keep global link/button hover rules away from the picker. */
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-next-month,
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover,
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover,
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-prev-month:focus,
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-next-month:focus{
  top:9px !important;
  width:36px !important;
  height:36px !important;
  padding:9px !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#000633 !important;
  fill:#000633 !important;
  text-decoration:none !important;
}
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover,
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover{
  background:rgba(0,6,51,.06) !important;
}
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg,
.dpd-flatpickr-calendar .flatpickr-months .flatpickr-next-month svg{
  fill:#000633 !important;
}

/* Match the existing Durex campaign palette. */
.dpd-flatpickr-calendar span.flatpickr-weekday{
  color:#8A8C9E !important;
  -webkit-text-fill-color:#8A8C9E !important;
}
.dpd-flatpickr-calendar .flatpickr-day{
  color:#000633 !important;
  -webkit-text-fill-color:#000633 !important;
}
.dpd-flatpickr-calendar .flatpickr-day:hover,
.dpd-flatpickr-calendar .flatpickr-day:focus{
  background:#000633 !important;
  border-color:#000633 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.dpd-flatpickr-calendar .flatpickr-day.today{
  border-color:#F1C870 !important;
  box-shadow:inset 0 0 0 1.5px #F1C870 !important;
  background:transparent !important;
  color:#000633 !important;
  -webkit-text-fill-color:#000633 !important;
}
.dpd-flatpickr-calendar .flatpickr-day.selected,
.dpd-flatpickr-calendar .flatpickr-day.selected:hover,
.dpd-flatpickr-calendar .flatpickr-day.selected:focus{
  background:#000633 !important;
  border-color:#000633 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:none !important;
}
.dpd-flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.dpd-flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover,
.dpd-flatpickr-calendar .flatpickr-day.notAllowed,
.dpd-flatpickr-calendar .flatpickr-day.notAllowed:hover{
  color:#D1D2D9 !important;
  -webkit-text-fill-color:#D1D2D9 !important;
  background:transparent !important;
  border-color:transparent !important;
}
/* v1.4.3 - native-style purchase date field + definitive Durex calendar states */
.dpd-app .dpd-field .dpd-purchase-date-display{
  width:100% !important;
  min-height:47px !important;
  padding:6px 52px 6px 16px !important;
  border:0 !important;
  border-radius:16px !important;
  background-color:#fff !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000633' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 17px center !important;
  background-size:20px 20px !important;
  color:#000633 !important;
  -webkit-text-fill-color:#000633 !important;
  font-family:"DM Sans",var(--dpd-font) !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  box-shadow:none;
  cursor:pointer;
}
.dpd-app .dpd-field .dpd-purchase-date-display::placeholder{
  color:#777d88 !important;
  -webkit-text-fill-color:#777d88 !important;
  opacity:1 !important;
}
.dpd-app .dpd-field .dpd-purchase-date-display:focus{
  box-shadow:0 0 0 2px rgba(222,2,255,.35) !important;
  outline:none !important;
}

/* Flatpickr's own stylesheet/theme must never recolor selectable days. */
.dpd-flatpickr-calendar .flatpickr-day:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):hover,
.dpd-flatpickr-calendar .flatpickr-day:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):focus,
.dpd-flatpickr-calendar .flatpickr-day.today:not(.flatpickr-disabled):hover,
.dpd-flatpickr-calendar .flatpickr-day.today:not(.flatpickr-disabled):focus{
  background:#000633 !important;
  border-color:#000633 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.dpd-flatpickr-calendar .flatpickr-day.selected,
.dpd-flatpickr-calendar .flatpickr-day.selected:hover,
.dpd-flatpickr-calendar .flatpickr-day.selected:focus,
.dpd-flatpickr-calendar .flatpickr-day.startRange,
.dpd-flatpickr-calendar .flatpickr-day.startRange:hover,
.dpd-flatpickr-calendar .flatpickr-day.startRange:focus,
.dpd-flatpickr-calendar .flatpickr-day.endRange,
.dpd-flatpickr-calendar .flatpickr-day.endRange:hover,
.dpd-flatpickr-calendar .flatpickr-day.endRange:focus,
.dpd-flatpickr-calendar .flatpickr-day.selected.startRange,
.dpd-flatpickr-calendar .flatpickr-day.selected.endRange,
.dpd-flatpickr-calendar .flatpickr-day.selected.inRange{
  background:#000633 !important;
  border-color:#000633 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:none !important;
}

/* v1.4.4 - invitation-step kicker width only */
.dpd-app .dpd-invite-kicker{
  max-width:460px;
}

