/* Disketc Promotion: front-end and editor styles */
.dp-promotion-content { --dp-navy:#2d2c79; --dp-orange:#f58220; --dp-lilac:#e8e7ff; color:#17172b; }
.dp-promotion-content > * { max-width:100%; }
.dp-promotion-content .wp-block { max-width:100%; }
.dp-block { box-sizing:border-box; margin:0 auto 28px; padding:clamp(24px,5vw,64px); overflow:hidden; border-radius:22px; font-family:inherit; }
.dp-block * { box-sizing:border-box; }
.dp-eyebrow { margin:0 0 12px; color:var(--dp-orange); text-transform:uppercase; letter-spacing:.09em; font-size:.82rem; font-weight:800; }
.dp-hero { position:relative; background:linear-gradient(135deg,#fff 0%,#fff 60%,#f0efff 100%); color:#2d2c79; }
.dp-hero__decor { position:absolute; width:36%; height:180px; pointer-events:none; opacity:.8; }
.dp-hero__decor--one { top:-110px; left:-5%; background:#f9d7c7; transform:rotate(-18deg); }
.dp-hero__decor--two { right:-8%; bottom:-130px; background:#dcdcff; transform:rotate(18deg); }
.dp-hero__brands { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:42px; }
.dp-hero__brands img { max-width:190px; max-height:58px; object-fit:contain; }
.dp-hero__brands strong { color:#222; font-size:clamp(1.5rem,3vw,2.5rem); letter-spacing:-.05em; }
.dp-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:36px; align-items:center; }
.dp-hero h1 { color:var(--dp-navy); font-size:clamp(2.8rem,7vw,6.3rem); line-height:.94; letter-spacing:-.055em; margin:0 0 20px; font-weight:900; overflow-wrap:anywhere; }
.dp-hero__description { max-width:560px; font-size:1.05rem; line-height:1.65; }
.dp-hero__visual { text-align:center; min-width:0; }
.dp-hero__image { display:block; max-width:100%; max-height:330px; object-fit:contain; margin:0 auto 12px; }
.dp-discount { color:var(--dp-orange); font-size:clamp(4rem,10vw,8.5rem); font-weight:900; line-height:.9; letter-spacing:-.08em; }
.dp-extra-offer { color:#b97800; font-size:clamp(1.1rem,2.5vw,2rem); font-weight:900; margin:16px 0 0; }
.dp-hero__buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.dp-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; padding:13px 20px; border-radius:12px; text-decoration:none!important; font-weight:750; transition:transform .2s ease, box-shadow .2s ease; }
.dp-button:hover { transform:translateY(-2px); box-shadow:0 8px 22px #17172b18; }
.dp-button--primary { color:#fff!important; background:var(--dp-orange); }
.dp-button--outline { color:var(--dp-navy)!important; border:1.5px solid var(--dp-navy); background:#fff; }
.dp-categories { padding-top:40px; padding-bottom:40px; }
.dp-categories__intro { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:end; margin-bottom:28px; }
.dp-categories h2,.dp-offer h2,.dp-gift h2,.dp-cta h2 { color:var(--dp-navy); font-size:clamp(1.8rem,4vw,3rem); line-height:1.08; margin:0 0 14px; letter-spacing:-.035em; }
.dp-categories__intro > p { line-height:1.7; }
.dp-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.dp-category-card { min-height:150px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:16px; padding:22px; border-radius:18px; background:linear-gradient(145deg,#f5f5ff,#e9edff); }
.dp-category-card__dot { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:#fff; background:#7776c0; }
.dp-category-card h3 { margin:0; color:#2d2c79; font-size:1rem; line-height:1.35; }
.dp-offer { display:grid; grid-template-columns:1fr minmax(240px,.8fr); gap:36px; align-items:center; background:#f8f8fc; }
.dp-offer__copy > p:not(.dp-eyebrow) { line-height:1.7; }
.dp-offer__card { padding:clamp(24px,4vw,48px); border-radius:22px; background:#fff; box-shadow:0 12px 45px #2d2c7910; }
.dp-offer__card span { display:block; color:var(--dp-navy); font-weight:700; }
.dp-offer__card strong { display:block; color:var(--dp-orange); font-size:clamp(3.5rem,8vw,6.8rem); line-height:1; letter-spacing:-.07em; }
.dp-offer__card b { display:block; margin-top:12px; color:#b97800; font-size:clamp(1rem,2vw,1.5rem); }
.dp-validity { color:#2d2c79; }
.dp-gift { display:grid; grid-template-columns:1fr minmax(180px,.8fr); gap:28px; align-items:center; background:#e9e8ff; }
.dp-gift__copy p { line-height:1.65; }
.dp-gift__minimum { margin-bottom:4px; }
.dp-gift__name { font-weight:800; color:var(--dp-navy); }
.dp-gift small { color:var(--dp-orange); font-style:italic; font-size:1rem; }
.dp-gift__image-wrap { text-align:center; }
.dp-gift__image-wrap img { max-width:100%; max-height:300px; object-fit:contain; }
.dp-cta { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; padding:0; background:#f7f6fb; }
.dp-cta__expiry { padding:clamp(24px,4vw,42px); }
.dp-cta__expiry h3 { margin:0 0 20px; font-size:clamp(1.2rem,2vw,1.8rem); }
.dp-cta__qr { display:block; width:140px; height:auto; margin:20px 0 12px; }
.dp-text-link { color:var(--dp-navy); font-weight:700; }
.dp-cta__panel { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(28px,5vw,56px); background:linear-gradient(135deg,#2d2c79,#4846a4); color:#fff; }
.dp-cta__panel h2 { color:#fff; }
.dp-cta__panel p { line-height:1.7; }
.dp-cta__panel .dp-button { margin-top:12px; }
@media (max-width:800px) {
 .dp-hero__grid,.dp-offer,.dp-gift,.dp-cta { grid-template-columns:1fr; }
 .dp-hero__brands { margin-bottom:28px; }
 .dp-hero__visual { padding-top:12px; }
 .dp-categories__intro { grid-template-columns:1fr; gap:8px; }
 .dp-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dp-cta__panel { min-height:250px; }
}
@media (max-width:480px) {
 .dp-block { padding:24px 18px; border-radius:16px; margin-bottom:18px; }
 .dp-hero__brands img { max-width:42%; max-height:42px; }
 .dp-hero__brands strong { font-size:1.4rem; }
 .dp-hero h1 { font-size:clamp(2.5rem,15vw,4rem); }
 .dp-hero__buttons { flex-direction:column; align-items:stretch; }
 .dp-button { width:100%; }
 .dp-category-grid { grid-template-columns:1fr 1fr; gap:10px; }
 .dp-category-card { min-height:120px; padding:15px; }
 .dp-discount { font-size:clamp(3.5rem,20vw,5rem); }
}

/* Editor previews */
.dp-editor-preview { border:1px solid #dcdcde; border-radius:12px; padding:24px; background:#f8f8fc; color:#2d2c79; }
.dp-editor-preview__label { font-size:11px; font-weight:700; letter-spacing:.08em; color:#7776c0; margin-bottom:12px; }
.dp-editor-preview h2 { margin:0 0 10px; font-size:28px; line-height:1.1; }
.dp-editor-preview__discount { display:block; color:#f58220; font-size:26px; margin-top:14px; }
.dp-editor-media { margin-bottom:16px; }

/* Single Promotion page layout */
.dp-single-page{--dp-purple:#55449a;--dp-orange:#f59a29;--dp-ink:#211b3b;padding:24px 20px 64px;color:var(--dp-ink)}
.dp-single-container{width:min(1360px,100%);margin:0 auto}.dp-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;margin:0 0 16px;color:#6f6a7f}.dp-breadcrumb a{color:inherit;text-decoration:none}.dp-breadcrumb a:hover{color:var(--dp-purple)}
.dp-single-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.72fr);gap:32px;align-items:center;padding:clamp(24px,4vw,48px);border-radius:14px;background:#eeebf7;margin-bottom:44px}.dp-single-hero h1{font-size:clamp(28px,4vw,44px);line-height:1.12;color:var(--dp-purple);margin:0 0 14px}.dp-single-hero__description{font-size:16px;line-height:1.65;margin:0 0 22px}.dp-single-hero__media{min-width:0}.dp-single-hero__media img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover;border-radius:16px}.dp-single-image-placeholder{min-height:180px;border-radius:16px;background:#efd0b2;color:#8a674c;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:13px}.dp-single-hero__actions{display:flex;flex-wrap:wrap;gap:10px}.dp-single-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border-radius:999px;font-size:13px;font-weight:700;text-decoration:none!important}.dp-single-button--primary{background:var(--dp-orange);color:#fff!important}.dp-single-button--secondary{background:transparent;border:1px solid #c9c2df;color:var(--dp-purple)!important}
.dp-single-details{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:48px;align-items:start;margin-bottom:44px}.dp-single-body h2,.dp-related-promotions h2{color:var(--dp-purple);font-size:25px;line-height:1.2;margin:0 0 20px}.dp-single-body__content{font-size:15px;line-height:1.75}.dp-single-body__content>:first-child{margin-top:0}.dp-single-sidebar{display:grid;gap:18px}.dp-countdown-card,.dp-promotion-form-card{background:#eeebf7;border-radius:14px;padding:22px}.dp-countdown-card h3,.dp-promotion-form-card h3{font-size:16px;color:var(--dp-purple);margin:0 0 16px}.dp-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dp-countdown>div{background:var(--dp-orange);color:#fff;text-align:center;border-radius:7px;padding:8px 3px;display:flex;flex-direction:column;gap:2px}.dp-countdown strong{font-size:22px;line-height:1.1}.dp-countdown span{font-size:10px}.dp-countdown-status{font-size:12px;margin:10px 0 0;color:#a34228}.dp-promotion-form-card{scroll-margin-top:30px}.dp-promotion-form-card input:not([type=submit]),.dp-promotion-form-card textarea,.dp-promotion-form-card select{width:100%;max-width:100%;border:1px solid #e0dced;border-radius:8px;padding:10px;background:#fff}.dp-promotion-form-card input[type=submit],.dp-promotion-form-card button{border:0;border-radius:8px;background:var(--dp-purple);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer}.dp-promotion-form-card .wpcf7-form p{margin:0 0 12px}.dp-form-notice{font-size:13px;color:#6f6a7f}.dp-related-promotions h2{margin-bottom:16px}.dp-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dp-related-card{border:1px solid #c9c6ce;border-radius:14px;padding:7px;overflow:hidden}.dp-related-card__link{display:block;color:var(--dp-purple);text-decoration:none!important}.dp-related-card img,.dp-related-card__placeholder{display:block;width:100%;height:110px;object-fit:cover;border-radius:9px;background:#efd0b2}.dp-related-card h3{font-size:14px;line-height:1.35;margin:10px 4px 6px;color:var(--dp-purple)}
@media(max-width:760px){.dp-single-hero{grid-template-columns:1fr;gap:22px}.dp-single-hero__media{grid-row:1}.dp-single-details{grid-template-columns:1fr;gap:28px}.dp-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.dp-single-page{padding:18px 14px 42px}.dp-single-hero{padding:20px}.dp-related-grid{grid-template-columns:1fr 1fr}.dp-related-card img,.dp-related-card__placeholder{height:90px}.dp-countdown-card,.dp-promotion-form-card{padding:16px}}

/* v0.2.1 refinements: wider single layout and safer media sizing */
.dp-single-page{width:100%;max-width:none;box-sizing:border-box}
.dp-single-container{box-sizing:border-box}
.dp-single-hero__media img{object-fit:contain;max-width:100%}
@media(min-width:1500px){
  .dp-single-container{width:min(1400px,calc(100% - 80px))}
}
@media(max-width:760px){
  .dp-single-container{width:100%}
}

/* v0.2.2: align Promotion content to the site's normal content width */
.dp-single-container{
  width:min(1240px, calc(100% - 40px)) !important;
  max-width:1240px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}
@media (min-width: 1400px){
  .dp-single-container{
    width:min(1240px, calc(100% - 80px)) !important;
  }
}
@media (max-width: 760px){
  .dp-single-container{
    width:calc(100% - 32px) !important;
  }
}

/* v0.2.3: match Disketc Page Brand single-template container width */
.dp-single-container{
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0;
  padding-right:0;
  box-sizing:border-box;
}
@media(max-width:1239px){
  .dp-single-container{
    width:calc(100% - 40px) !important;
  }
}
@media(max-width:767px){
  .dp-single-container{
    width:calc(100% - 32px) !important;
  }
}

/* v0.2.4: slimmer pill buttons inspired by the supplied reference */
.dp-single-page .dp-button,
.dp-single-page a.dp-button,
.dp-single-page .dp-hero__buttons a,
.dp-single-page .dp-cta__panel a.dp-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:9px 22px;
  border-radius:999px;
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:0;
  box-shadow:none;
  text-decoration:none;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.dp-single-page .dp-button--primary,
.dp-single-page a.dp-button--primary{
  background:#f58220;
  color:#fff !important;
  border:1px solid #6556a6;
}
.dp-single-page .dp-button--outline,
.dp-single-page a.dp-button--outline{
  background:#fff;
  color:#4e4590 !important;
  border:1px solid #8278bd;
}
.dp-single-page .dp-button:hover,
.dp-single-page a.dp-button:hover{
  transform:translateY(-1px);
  box-shadow:none;
}
.dp-single-page .dp-button--primary:hover,
.dp-single-page a.dp-button--primary:hover{
  background:#e97512;
  border-color:#6556a6;
  color:#fff !important;
}
.dp-single-page .dp-button--outline:hover,
.dp-single-page a.dp-button--outline:hover{
  background:#f7f5ff;
  border-color:#6556a6;
  color:#342a79 !important;
}
@media(max-width:480px){
  .dp-single-page .dp-button,
  .dp-single-page a.dp-button,
  .dp-single-page .dp-hero__buttons a,
  .dp-single-page .dp-cta__panel a.dp-button{
    min-height:40px;
    padding:10px 18px;
  }
}

/* v0.2.5: typography and button alignment with Disketc Page Brand */
.dp-single-page{
  font-family:inherit;
  font-size:14px;
  line-height:1.75;
}
.dp-single-page h1,
.dp-single-page .dp-hero__title{
  font-family:inherit;
  font-size:34px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:normal;
}
.dp-single-page h2,
.dp-single-page .dp-section-title,
.dp-single-page .dp-detail-title{
  font-family:inherit;
  font-size:22px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:normal;
}
.dp-single-page h3{
  font-family:inherit;
  font-size:18px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:normal;
}
.dp-single-page p,
.dp-single-page li{
  font-family:inherit;
  font-size:14px;
  line-height:1.75;
}
.dp-single-page .dp-hero__description,
.dp-single-page .dp-hero p{
  font-size:16px;
  line-height:1.55;
}
.dp-single-page .dp-button,
.dp-single-page a.dp-button,
.dp-single-page .dp-hero__buttons a,
.dp-single-page .dp-cta__panel a.dp-button{
  font-family:inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:10px 22px;
  border-radius:50px;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:normal;
  box-shadow:none;
  text-decoration:none;
  box-sizing:border-box;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.dp-single-page .dp-button--primary,
.dp-single-page a.dp-button--primary{
  background:#f58220;
  color:#fff !important;
  border:1px solid #f58220;
}
.dp-single-page .dp-button--outline,
.dp-single-page a.dp-button--outline{
  background:#fff;
  color:#2d2c79 !important;
  border:1px solid #7772b5;
}
.dp-single-page .dp-button:hover,
.dp-single-page a.dp-button:hover{
  transform:translateY(-1px);
  box-shadow:none;
}
.dp-single-page .dp-button--primary:hover,
.dp-single-page a.dp-button--primary:hover{
  background:#e97512;
  border-color:#e97512;
  color:#fff !important;
}
.dp-single-page .dp-button--outline:hover,
.dp-single-page a.dp-button--outline:hover{
  background:#f7f5ff;
  border-color:#2d2c79;
  color:#2d2c79 !important;
}
@media(max-width:767px){
  .dp-single-page h1,
  .dp-single-page .dp-hero__title{font-size:30px}
  .dp-single-page h2,
  .dp-single-page .dp-section-title,
  .dp-single-page .dp-detail-title{font-size:21px}
}
@media(max-width:480px){
  .dp-single-page .dp-button,
  .dp-single-page a.dp-button,
  .dp-single-page .dp-hero__buttons a,
  .dp-single-page .dp-cta__panel a.dp-button{
    min-height:42px;
    padding:10px 18px;
  }
}

/* v0.2.6: official Disketc Promotion palette */
.dp-single-page{
  --dp-orange:#F58420;
  --dp-blue:#2d2c79;
  --dp-navy:#2d2c79;
  --dp-primary:#F58420;
  --dp-secondary:#2d2c79;
}
.dp-single-page .dp-hero,
.dp-single-page .dp-promotion-hero{
  color:#2d2c79;
}
.dp-single-page .dp-hero h1,
.dp-single-page .dp-hero__title,
.dp-single-page .dp-section-title,
.dp-single-page .dp-detail-title,
.dp-single-page .dp-countdown-title,
.dp-single-page .dp-promotion-related h2,
.dp-single-page .dp-promotion-related__title{
  color:#2d2c79;
}
.dp-single-page .dp-eyebrow,
.dp-single-page .dp-discount,
.dp-single-page .dp-extra-offer,
.dp-single-page .dp-countdown__value,
.dp-single-page .dp-promotion-highlight{
  color:#F58420;
}
.dp-single-page .dp-button--primary,
.dp-single-page a.dp-button--primary,
.dp-single-page .dp-hero__buttons .dp-button--primary{
  background-color:#F58420;
  border-color:#F58420;
  color:#fff !important;
}
.dp-single-page .dp-button--primary:hover,
.dp-single-page a.dp-button--primary:hover{
  background-color:#e87512;
  border-color:#e87512;
}
.dp-single-page .dp-button--outline,
.dp-single-page a.dp-button--outline{
  color:#2d2c79 !important;
  border-color:#2d2c79;
  background-color:transparent;
}
.dp-single-page .dp-button--outline:hover,
.dp-single-page a.dp-button--outline:hover{
  color:#2d2c79 !important;
  border-color:#2d2c79;
  background-color:rgba(45,44,121,.06);
}
.dp-single-page .dp-countdown__box,
.dp-single-page .dp-countdown-box,
.dp-single-page .dp-countdown-item{
  background-color:#F58420;
}
.dp-single-page .dp-cta__panel,
.dp-single-page .dp-related-card__title,
.dp-single-page .dp-promotion-related__card-title{
  color:#2d2c79;
}
.dp-single-page a,
.dp-single-page .dp-text-link{
  color:#2d2c79;
}
.dp-single-page a:hover{
  color:#F58420;
}

/* v0.2.7: explicit hover states and consistent 1px borders */
.dp-single-page .dp-button,
.dp-single-page a.dp-button,
.dp-single-page .dp-hero__buttons a,
.dp-single-page .dp-cta__panel a.dp-button {
  border-width: 1px !important;
  border-style: solid;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.dp-single-page .dp-button--primary,
.dp-single-page a.dp-button--primary {
  background-color: #F58420;
  border: 1px solid #F58420 !important;
  color: #fff !important;
}
.dp-single-page .dp-button--primary:hover,
.dp-single-page a.dp-button--primary:hover {
  background-color: #2d2c79 !important;
  border: 1px solid #2d2c79 !important;
  color: #fff !important;
}
.dp-single-page .dp-button--outline,
.dp-single-page a.dp-button--outline {
  background-color: transparent;
  border: 1px solid #2d2c79 !important;
  color: #2d2c79 !important;
}
.dp-single-page .dp-button--outline:hover,
.dp-single-page a.dp-button--outline:hover {
  background-color: #2d2c79 !important;
  border: 1px solid #2d2c79 !important;
  color: #fff !important;
}
.dp-single-page .dp-button:hover,
.dp-single-page a.dp-button:hover {
  transform: translateY(-1px);
  box-shadow: none !important;
}

/* v0.2.8: enforce requested indigo headings and CTA button states */
.dp-single-page h1,
.dp-single-page h2,
.dp-single-page h3,
.dp-single-page h4,
.dp-single-page .dp-hero__title,
.dp-single-page .dp-hero h1,
.dp-single-page .dp-hero h2,
.dp-single-page .dp-section-title,
.dp-single-page .dp-detail-title,
.dp-single-page .dp-countdown-title,
.dp-single-page .dp-promotion-related h2,
.dp-single-page .dp-promotion-related h3,
.dp-single-page .dp-related-title {
  color: #2d2c79 !important;
}

/* Primary CTA: orange at rest, indigo on hover */
.dp-single-page a.dp-button--primary,
.dp-single-page .dp-button--primary,
.dp-single-page .dp-hero__buttons a.dp-button--primary {
  background: #F58420 !important;
  color: #ffffff !important;
  border: 1px solid #F58420 !important;
  opacity: 1 !important;
}
.dp-single-page a.dp-button--primary:hover,
.dp-single-page .dp-button--primary:hover,
.dp-single-page .dp-hero__buttons a.dp-button--primary:hover,
.dp-single-page a.dp-button--primary:focus-visible,
.dp-single-page .dp-button--primary:focus-visible {
  background: #2d2c79 !important;
  color: #ffffff !important;
  border: 1px solid #2d2c79 !important;
  opacity: 1 !important;
}

/* Custom/secondary CTA: transparent with clearly visible 1px indigo border */
.dp-single-page a.dp-button--outline,
.dp-single-page .dp-button--outline,
.dp-single-page .dp-hero__buttons a.dp-button--outline {
  background: transparent !important;
  color: #2d2c79 !important;
  border: 1px solid #2d2c79 !important;
  outline: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
.dp-single-page a.dp-button--outline:hover,
.dp-single-page .dp-button--outline:hover,
.dp-single-page .dp-hero__buttons a.dp-button--outline:hover,
.dp-single-page a.dp-button--outline:focus-visible,
.dp-single-page .dp-button--outline:focus-visible {
  background: #2d2c79 !important;
  color: #ffffff !important;
  border: 1px solid #2d2c79 !important;
  outline: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
.dp-single-page a.dp-button--primary,
.dp-single-page a.dp-button--outline {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}


/* v0.2.10: pill-shaped compact frontend buttons and brand typography */
.dp-single-page {
  --dp-brand-blue: #2d2c79;
  --dp-brand-orange: #F58420;
  --dp-purple: var(--dp-brand-blue);
  --dp-orange: var(--dp-brand-orange);
}

/* Single Promotion hero title and subtitle */
.dp-single-page .dp-single-hero h1,
.dp-single-page .dp-single-body h2,
.dp-single-page .dp-related-promotions h2,
.dp-single-page .dp-related-card h3,
.dp-single-page .dp-promotion-form-card h3,
.dp-single-page .dp-countdown-card h3 {
  color: var(--dp-brand-blue) !important;
}
.dp-single-page .dp-single-hero__description {
  color: var(--dp-brand-blue);
}

/* Slim, consistent CTAs — the single template uses dp-single-button classes */
.dp-single-page .dp-single-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 9px 15px;
  border: 1px solid transparent;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none !important;
  box-shadow: none;
  transform: translateY(0);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.dp-single-page .dp-single-button--primary {
  color: #fff !important;
  background: var(--dp-brand-orange) !important;
  border-color: var(--dp-brand-orange) !important;
}
.dp-single-page .dp-single-button--primary:hover,
.dp-single-page .dp-single-button--primary:focus-visible {
  color: #fff !important;
  background: var(--dp-brand-blue) !important;
  border-color: var(--dp-brand-blue) !important;
  transform: translateY(-1px);
}
.dp-single-page .dp-single-button--secondary {
  color: var(--dp-brand-blue) !important;
  background: #fff !important;
  border-color: var(--dp-brand-blue) !important;
}
.dp-single-page .dp-single-button--secondary:hover,
.dp-single-page .dp-single-button--secondary:focus-visible {
  color: #fff !important;
  background: var(--dp-brand-blue) !important;
  border-color: var(--dp-brand-blue) !important;
  transform: translateY(-1px);
}
.dp-single-page .dp-single-button:focus-visible {
  outline: 2px solid var(--dp-brand-orange);
  outline-offset: 3px;
}
.dp-single-page .dp-single-button:active {
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .dp-single-page .dp-single-button {
    transition: none;
  }
}
