/* ROBERTA's shared styles and coupon-page.js own the shell and coupon behavior. */
.roberta-custom-coupon .coupon-hero > * { min-width:0; }
.roberta-custom-coupon .detail-logo-line > div { min-width:0; }
.roberta-custom-coupon .detail-logo-line h2 { overflow-wrap:break-word; }
.roberta-custom-coupon .coupon-hero .brand-logo { object-fit:contain; }
.roberta-custom-coupon > :is(.kw-main,.ph-main) {
  margin-top:28px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.coupon-kidiwatch .kw-main { color:var(--kw-ink); }
.coupon-palphot .ph-main { color:var(--ph-ink); }
:is(.coupon-kidiwatch,.coupon-palphot) :is(.site-header,.coupon-hero,.mobile-coupon-sticky) :is(a,button):focus-visible {
  outline-color:var(--rose);
}
@media (min-width:1241px) and (max-width:1600px) {
  .roberta-custom-coupon .coupon-hero {
    grid-template-columns:minmax(0,1fr) minmax(240px,.7fr) minmax(310px,.75fr);
  }
  .roberta-custom-coupon .coupon-hero h1 { font-size:clamp(38px,3.2vw,52px); }
  .roberta-custom-coupon .coupon-hero-topline { flex-wrap:wrap; }
  .roberta-custom-coupon .detail-logo-line { grid-template-columns:90px minmax(0,1fr); gap:14px; }
  .roberta-custom-coupon .detail-logo-line .brand-logo { width:90px; height:90px; }
  .roberta-custom-coupon .detail-logo-line h2 { font-size:25px; }
  .roberta-custom-coupon .detail-logo-line p { font-size:21px; }
  .roberta-custom-coupon .brand-stage-card strong { font-size:27px; line-height:1.25; }
}
@media (max-width:600px) {
  .roberta-custom-coupon .detail-logo-line h2 { font-size:26px; line-height:1.3; }
  .roberta-custom-coupon .detail-logo-line p { font-size:21px; line-height:1.4; }
}
