/* drs-core: disclosure, Sponsored labels, offer boxes, bridge pages, footer statement, signup form.
   Colors come from the theme's --drs-* tokens (docs/design/design-spec.md), with the
   approved values as fallbacks so everything stays readable under any theme.
   Size rule (docs/compliance.md section 2): the disclosure, labels, footer statement and signup consent
   use max(1em, 1.125rem), never smaller than the text around them or 18px. Themes may
   restyle but must never shrink, hide or fade them; tests/phpunit/test-css-guard.php checks. */

/* Disclosure line */
.drs-disclosure{font-size:max(1em,1.125rem);line-height:1.5;margin:0 0 1.5em;padding:12px 16px;border:1px solid var(--drs-border,#D9E2EC);border-radius:14px;background:var(--drs-surface,#F4F7FB);color:var(--drs-text,#1F2933)}
.drs-disclosure a{color:var(--drs-link,#1D4ED8);text-decoration:underline}

/* Sponsored / Advertisement label */
.drs-sponsored-label{display:inline-block;font-size:max(1em,1.125rem);font-weight:700;line-height:1.4;padding:2px 12px;border:1px solid var(--drs-sponsor-border,#E8C989);border-radius:999px;background:var(--drs-sponsor-pill,#FDF0D5);color:var(--drs-sponsor-text,#7A4B00)}

/* Offer box */
.drs-offer-box{margin:2em 0;padding:22px 24px;border:1px solid var(--drs-sponsor-border,#E8C989);border-radius:22px;background:var(--drs-sponsor-bg,#FFFBF2);color:var(--drs-text,#1F2933);font-size:1rem;line-height:1.55}
.drs-offer-box>p{margin:0}
.drs-offer-box>p+p{margin-top:12px}
.drs-offer-box__labels{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.drs-offer-box__partner{color:var(--drs-muted,#52606D)}
.drs-offer-box__headline{font-family:var(--drs-font-heading,inherit);font-size:1.4375rem;line-height:1.3;font-weight:700;letter-spacing:-.025em;color:var(--drs-ink,#0B1B33)}
.drs-offer-box__eligibility{color:var(--drs-text-2,#3E4C59)}
.drs-offer-box__button{display:inline-flex;align-items:center;gap:.4em;min-height:46px;padding:0 20px;border-radius:999px;background:var(--drs-accent,#0F766E);color:#fff!important;font-weight:700;text-decoration:none;box-sizing:border-box}
.drs-offer-box__button::after{content:"\2192";content:"\2192"/""}
.drs-offer-box__button:hover,.drs-offer-box__button:focus{background:var(--drs-ink,#0B1B33);text-decoration:underline}
.drs-offer-box__button:focus-visible{outline:3px solid var(--drs-link,#1D4ED8);outline-offset:3px}
.drs-offer-box-empty{padding:1em;border:1px dashed #999;color:#555}

/* Bridge page */
.drs-bridge{display:flex;flex-direction:column;gap:26px}
.drs-bridge h1,.drs-bridge h2{margin:0;font-family:var(--drs-font-heading,inherit);letter-spacing:-.025em;color:var(--drs-ink,#0B1B33)}
.drs-bridge h2{font-size:1.75rem;line-height:1.2;font-weight:700}
.drs-bridge ul,.drs-bridge ol{margin:0}
.drs-bridge__notice{display:flex;flex-direction:column;gap:12px}
.drs-bridge__notice .drs-disclosure{margin:0}
.drs-bridge__label{margin:0}
.drs-bridge__label .drs-sponsored-label{padding:4px 14px}
.drs-bridge__intro{display:flex;flex-direction:column;gap:14px}
.drs-bridge__intro p{margin:0}
.drs-bridge__partner{color:var(--drs-muted,#52606D);font-size:1rem}
.drs-bridge__headline{font-size:clamp(2.125rem,1.5rem + 2.5vw,2.875rem);line-height:1.1;font-weight:800}
.drs-bridge__description{font-size:1.25rem;color:var(--drs-text-2,#3E4C59)}
.drs-bridge__box{display:flex;flex-direction:column;gap:12px;padding:24px 26px;border:1px solid var(--drs-border,#D9E2EC);border-radius:22px}
.drs-bridge__box--tinted{background:var(--drs-surface,#F4F7FB)}
.drs-bridge__box h2{font-size:1.5rem}
.drs-bridge__box ul{padding-left:22px;display:flex;flex-direction:column;gap:8px}
.drs-bridge__excluded{margin:0;font-size:1rem;color:var(--drs-muted,#52606D)}
.drs-bridge__steps{display:flex;flex-direction:column;gap:14px;counter-reset:drs-step}
.drs-bridge__steps ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.drs-bridge__steps li{counter-increment:drs-step;display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:18px;background:var(--drs-surface,#F4F7FB);font-size:1rem}
.drs-bridge__steps li::before{content:counter(drs-step);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--drs-ink,#0B1B33);color:#fff;font-weight:700}
.drs-bridge__action{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.drs-bridge__action p{margin:0}
.drs-bridge__action--repeat{padding-top:24px;border-top:1px solid var(--drs-border,#D9E2EC)}
.drs-bridge__button{min-height:54px;padding:0 28px;border-radius:14px;font-size:1.1875rem}
.drs-bridge__leaving{font-size:1rem;color:var(--drs-muted,#52606D)}
.drs-bridge__compare{display:flex;flex-direction:column;gap:14px}
.drs-bridge__compare ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.drs-bridge__compare-card{display:flex;flex-direction:column;gap:6px;height:100%;box-sizing:border-box;padding:20px;border:1px solid var(--drs-border,#D9E2EC);border-radius:18px;text-decoration:none}
.drs-bridge__compare-title{font-weight:700;color:var(--drs-ink,#0B1B33)}
.drs-bridge__compare-text{font-size:1rem;line-height:1.5;color:var(--drs-text-2,#3E4C59)}
.drs-bridge__compare-card:hover .drs-bridge__compare-title,.drs-bridge__compare-card:focus .drs-bridge__compare-title{text-decoration:underline}

/* Author initials (local replacement for Gravatar) */
.drs-avatar-initials{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:var(--drs-chip-bg,#E3F2EF);color:var(--drs-chip-text,#0F5E57);font-family:var(--drs-font-heading,inherit);font-weight:700;line-height:1;letter-spacing:0}

/* Footer statement */
.drs-site-disclaimer{font-size:max(1em,1.125rem);line-height:1.6}
.drs-site-disclaimer p{margin:0}
.drs-site-disclaimer--standalone{max-width:72rem;margin:0 auto;padding:1em;text-align:center;color:#333;background:#fff}

/* Newsletter signup (box text 18px so the consent line is never larger than it must be) */
.drs-signup{border-radius:22px}
.drs-signup--dark{padding:30px;background:var(--drs-ink,#0B1B33);color:var(--drs-on-dark,#FFFFFF)}
.drs-signup--light{padding:32px;background:#FFFFFF;color:var(--drs-text,#1F2933)}
.drs-signup--block{margin:2em 0}
.drs-signup-form{position:relative;display:flex;flex-direction:column;gap:14px;font-size:1.125rem;line-height:1.55}
.drs-signup-form>*{margin:0}
.drs-signup-form__title{font-family:var(--drs-font-heading,inherit);font-size:1.625rem;line-height:1.2;font-weight:700;letter-spacing:-.025em;color:inherit}
.drs-signup-form--light .drs-signup-form__title{color:var(--drs-ink,#0B1B33)}
.drs-signup-form__text{color:var(--drs-text-2,#3E4C59)}
.drs-signup-form--dark .drs-signup-form__text{color:var(--drs-on-dark-2,#D9E2EC)}
.drs-signup-form__field{display:flex;flex-direction:column;gap:6px}
.drs-signup-form__label{font-size:1rem;font-weight:600}
.drs-signup-form--light .drs-signup-form__label{color:var(--drs-ink,#0B1B33)}
.drs-signup-form__row{display:flex;flex-wrap:wrap;gap:10px}
.drs-signup-form__input{flex:1 1 220px;min-width:0;min-height:48px;padding:0 16px;border:1px solid var(--drs-input-border,#9AA5B1);border-radius:999px;background:#FFFFFF;color:#1F2933;font:inherit;font-size:1rem;box-sizing:border-box}
.drs-signup-form__button{flex:0 0 auto;min-height:48px;padding:0 22px;border:0;border-radius:999px;background:var(--drs-accent,#0F766E);color:#FFFFFF;font:inherit;font-size:1rem;font-weight:700;cursor:pointer}
.drs-signup-form--dark .drs-signup-form__button{background:#FFFFFF;color:var(--drs-ink,#0B1B33)}
.drs-signup-form__button:hover,.drs-signup-form__button:focus{text-decoration:underline}
.drs-signup-form__button:focus-visible,.drs-signup-form__input:focus-visible{outline:3px solid var(--drs-link,#1D4ED8);outline-offset:2px}
.drs-signup-form--dark .drs-signup-form__button:focus-visible,.drs-signup-form--dark .drs-signup-form__input:focus-visible{outline-color:var(--drs-on-dark-accent,#9FD8D0)}
.drs-signup-form__button:disabled{cursor:progress}
.drs-signup-form__status{font-weight:600}
.drs-signup-form__status:empty{display:none}
.drs-signup-form__status[data-state="ok"]{color:var(--drs-chip-text,#0F5E57)}
.drs-signup-form__status[data-state="error"]{color:#B42318}
.drs-signup-form--dark .drs-signup-form__status[data-state="ok"]{color:var(--drs-on-dark-accent,#9FD8D0)}
.drs-signup-form--dark .drs-signup-form__status[data-state="error"]{color:#FFC9C2}
.drs-signup-form__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.drs-signup-consent{margin:0;font-size:max(1em,1.125rem);line-height:1.5;color:var(--drs-text-2,#3E4C59)}
.drs-signup-form--dark .drs-signup-consent{color:var(--drs-on-dark-2,#D9E2EC)}
.drs-signup-consent a{color:inherit;text-decoration:underline}
.drs-signup-confirm{margin:0}
.drs-signup-confirm__button{min-height:54px;padding:0 28px;font-size:1.1875rem}
