/* 1.8.340 — reusable promo strip (template-parts/promo-welcome.php). Brand: navy #0f143a, red #8f1c2c, yellow #f3c91a. */
.idx-promo{position:relative;isolation:isolate;overflow:hidden;background:#fff;color:#0f143a;padding:clamp(1.1rem,2.4vw,1.6rem) var(--svx-g,40px)}
.idx-promo::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(15,20,58,.09) 1px,transparent 1.4px);background-size:14px 14px;-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000);mask-image:linear-gradient(90deg,transparent 35%,#000)}
.idx-promo::after{content:"";position:absolute;right:-60px;top:0;bottom:0;width:180px;z-index:-1;background:linear-gradient(90deg,#8f1c2c 0 14px,transparent 14px 26px,#0f143a 26px);transform:skewX(-18deg)}
.idx-promo__inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:clamp(1rem,2.6vw,2.25rem);padding-right:clamp(0px,9vw,120px)}
.idx-promo p{margin:0}
.idx-promo__badge{display:inline-flex;align-items:baseline;gap:.4rem;flex:none;background:#0f143a;color:#fff;padding:.45rem 2.4rem .55rem 1.5rem;clip-path:polygon(0 0,100% 0,calc(100% - 24px) 100%,0 100%);box-shadow:inset 7px 0 0 #8f1c2c;font-family:var(--font-display,"Montserrat",sans-serif);font-weight:800;line-height:1;text-transform:uppercase}
.idx-promo__pct{font-size:clamp(2.6rem,5vw,4rem);color:#f3c91a;letter-spacing:-.02em}
.idx-promo__off{font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:.04em}
.idx-promo__copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.idx-promo__eyebrow{color:#8f1c2c;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}
.idx-promo__sub{font-family:var(--font-display,"Montserrat",sans-serif);font-weight:800;font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.05;text-transform:uppercase;white-space:nowrap}
.idx-promo__code{display:inline-flex;align-items:center;gap:.55rem;flex:none;margin-left:auto!important;padding:.55rem 1rem;border:2px dashed rgba(15,20,58,.55);border-radius:10px;background:#fff;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(15,20,58,.75)}
.idx-promo__code strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.1rem;letter-spacing:.14em;color:#0f143a}
.idx-promo__cta{display:inline-flex;align-items:center;gap:.5rem;flex:none;padding:.95rem 1.6rem;border-radius:999px;background:#f3c91a;color:#0f143a;font-weight:800;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;box-shadow:0 8px 22px -10px rgba(15,20,58,.55);transition:transform .2s,background .2s,color .2s}
.idx-promo__cta:hover,.idx-promo__cta:focus-visible{background:#0f143a;color:#f3c91a;transform:translateY(-2px);text-decoration:none}
.idx-promo__cta svg{transition:transform .2s}.idx-promo__cta:hover svg{transform:translateX(3px)}
@media (max-width:980px){.idx-promo::after{display:none}.idx-promo__inner{padding-right:0;flex-wrap:wrap;justify-content:center;text-align:center}.idx-promo__code{margin-left:0!important}.idx-promo__copy{align-items:center}}
@media (max-width:560px){.idx-promo{padding-top:1.4rem;padding-bottom:1.5rem}.idx-promo__inner{flex-direction:column;gap:.85rem}.idx-promo__sub{white-space:normal}.idx-promo__cta{width:100%;max-width:20rem;justify-content:center}}
@media (prefers-reduced-motion:reduce){.idx-promo__cta,.idx-promo__cta svg{transition:none}}
