/* Public Royal Ice layout contract. One shell, type scale and media treatment.
   Important declarations neutralize Bootstrap utilities and legacy CMS inline
   styling only inside public content; dashboard and brand marks are excluded. */
html.nsstars-royal {
  --royal-page-title:clamp(32px,3.6vw,44px);
  --royal-section-title:clamp(24px,2.4vw,28px);
  --royal-page-gutter:48px;
  --royal-media-radius:0px;
}
.nsstars-royal .royal-page-shell {
  width:calc(100% - 2 * var(--royal-page-gutter)); max-width:1240px;
  margin-inline:auto; padding-block:32px 72px;
}
html.nsstars-royal .ri-content.ri-page { font:400 16px/1.8 var(--body); padding-bottom:0; }
html.nsstars-royal .ri-page .royal-page-shell :is(.container,.wrap) { width:100%; max-width:none; padding-inline:0; }
html.nsstars-royal .ri-page .royal-page-shell > .container,
html.nsstars-royal .ri-page .royal-page-shell > .container > section.py-5,
html.nsstars-royal .ri-page .royal-page-shell > .container > section#faq,
html.nsstars-royal .ri-page .royal-page-shell .royal-contact-page > .container,
html.nsstars-royal .ri-page .royal-page-shell .royal-training-intro,
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__hero > .container {
  padding-block:0!important; margin-top:0!important;
}
html.nsstars-royal .ri-content.ri-page .royal-page-shell h1 {
  font-family:var(--display)!important; font-size:var(--royal-page-title)!important;
  font-weight:700!important; line-height:1.15!important; letter-spacing:-.035em!important;
  text-align:left!important; text-transform:none!important; margin:0 0 24px!important;
  overflow-wrap:break-word;
}
html.nsstars-royal .ri-content.ri-page .royal-page-shell :where(h2) {
  font-family:var(--display); font-size:var(--royal-section-title);
  font-weight:700; line-height:1.25; letter-spacing:-.025em; text-transform:none;
}
html.nsstars-royal .ri-content.ri-page .royal-page-shell :where(h3) {
  font-family:var(--display); font-size:22px; font-weight:700; line-height:1.35; text-transform:none;
}
html.nsstars-royal .ri-content.ri-page .royal-page-shell :is(h1,h2,h3) :is(span,strong,b,em) {
  font-family:inherit!important; font-size:inherit!important; line-height:inherit!important;
}
html.nsstars-royal .ri-page .royal-page-shell :is(p,li,label,input,textarea,select,button) { font-family:var(--body); }
html.nsstars-royal .ri-page .royal-page-shell :is(p,ul,ol) { margin-bottom:24px; }
html.nsstars-royal .ri-page .royal-page-shell .ri-cms { max-width:900px; padding-block:0; margin-inline:0 auto; }
html.nsstars-royal .ri-page .royal-page-shell .ri-cms :is(p,li,span) { font-family:var(--body)!important; }
html.nsstars-royal .ri-page .royal-page-shell .ri-cms :is(p,li) { font-size:16px!important; line-height:1.8!important; text-align:left!important; }
html.nsstars-royal .ri-page .royal-page-shell .ri-cms p span { font-size:inherit!important; }
html.nsstars-royal .ri-page .royal-page-shell :is(.lead,.play-hero__description) { font-size:17px; line-height:1.8; color:var(--muted); }
html.nsstars-royal .ri-page .royal-page-shell .royal-contact-page > .container > .row { margin-inline:0; }
html.nsstars-royal .ri-page .royal-page-shell .royal-contact-page :is(p,li) { font-size:16px; line-height:1.8; }
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__content { font-size:16px; margin-inline:0 auto!important; }
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__hero .row { align-items:start!important; }
.nsstars-royal .royal-breadcrumbs { margin:0 0 32px; color:var(--muted); font:400 13px/1.6 var(--body); }
html.nsstars-royal .ri-page .royal-page-shell .royal-breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; list-style:none; padding:0; margin:0; }
.nsstars-royal .royal-breadcrumbs li { display:flex; align-items:baseline; gap:10px; min-width:0; overflow-wrap:anywhere; }
.nsstars-royal .royal-breadcrumbs li + li::before { content:'/'; color:var(--muted); }
.nsstars-royal .royal-breadcrumbs a { color:var(--muted); text-decoration:none; }
.nsstars-royal .royal-breadcrumbs a:hover { color:var(--blue); text-decoration:underline; }
.nsstars-royal .royal-breadcrumbs [aria-current] { color:var(--ink); }
/* Old per-template breadcrumb slots no longer reserve a second blank row. */
.nsstars-royal .royal-page-shell :is(section,div):has(> .royal-breadcrumb-placeholder:only-child),
.nsstars-royal .royal-page-shell .play-breadcrumbs { display:none; }
/* Editorial images follow the square v15 reference. Footer stamp stays round. */
html.nsstars-royal .ri-content img { border-radius:var(--royal-media-radius)!important; box-shadow:none!important; max-width:100%; }
html.nsstars-royal .ri-content :is(.product-card,.product-card__header,.category-card,.brand-card,.collection-card,.coupon-card,.subscription-card,.product-thumbnail-slider__item,
  .journal-article-figure,.news-image,[data-cs-product-image-slider-images]) { border-radius:var(--royal-media-radius)!important; }
html.nsstars-royal :is(form,.form-control,.form-select,.input-group) { box-shadow:none!important; }
html.nsstars-royal .ri-content :is(.box,.card,.shadow,.shadow-sm,.shadow-lg) { box-shadow:none!important; }
html.nsstars-royal form :is(input,textarea,select,button):focus { box-shadow:none!important; }
html.nsstars-royal :is(input,textarea,select):focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
html.nsstars-royal :is(.form-control,.form-select) { border-radius:3px; }
/* Use a theme-colored close mark instead of the legacy embedded SVG. */
html.nsstars-royal .btn-close {
  display:inline-grid; place-items:center; width:44px; height:44px; padding:0;
  color:var(--ink); background:none!important; border:1px solid var(--line);
  border-radius:3px; opacity:1; filter:none; box-shadow:none;
}
html.nsstars-royal .btn-close::before { content:'×'; font:400 28px/1 Arial,sans-serif; }
/* Replace the legacy children-page fixed light fills/shadows with live surfaces. */
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey { color:var(--ink); }
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__hero { background:var(--paper); color:var(--ink); border-color:var(--line); }
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__eyebrow { color:var(--blue); font:650 12px/1.6 var(--body); text-transform:uppercase; letter-spacing:.1em; }
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__benefits > div { background:var(--mist); border-color:var(--line); border-radius:4px; padding:24px; }
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__callout { background:var(--mist); color:var(--ink); border:1px solid var(--line); border-radius:4px; padding:32px; }
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__callout h2 { color:var(--ink); }
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__section { margin-bottom:48px; }
html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__faq-item { border-color:var(--line); }
html.nsstars-royal .ri-page .royal-page-shell .play-hero { background:var(--paper); color:var(--ink); }
html.nsstars-royal .ri-page .royal-page-shell .play-hero__layout { align-items:start; padding-block:0 48px; }
html.nsstars-royal .ri-page .royal-page-shell .play-hero h1 { color:var(--ink); }
html.nsstars-royal .ri-page .royal-page-shell .play-hero h1 span { color:var(--blue); }
html.nsstars-royal .ri-page .royal-page-shell .play-hero :is(.play-eyebrow,.play-button--outline) { color:var(--blue); }
html.nsstars-royal .ri-page .royal-page-shell .play-hero :is(.play-hero__note,figcaption) { color:var(--muted); }
html.nsstars-royal .ri-page .royal-page-shell .play-hero__description { color:var(--muted); }
html.nsstars-royal .ri-page .royal-page-shell .play-section-heading h2 { font-size:var(--royal-section-title); }
/* One reading width and top rhythm for editorial pages. */
html.nsstars-royal .ri-page .royal-page-shell .journal-article-header { padding-top:0; }
html.nsstars-royal .ri-page .royal-page-shell .ri-article-reading { max-width:820px; margin-inline:0 auto; }
html.nsstars-royal .ri-page .royal-page-shell .ri-breadcrumbs:has(.royal-breadcrumb-placeholder) { display:none; }
html.nsstars-royal .ri-page .royal-page-shell .journal-newsroom { padding-block:32px 0; }
/* Schedule metadata is factual copy, not a large promotional panel. */
html.nsstars-royal .ri-page .royal-page-shell .royal-training-intro .row { padding:0; border:0; background:transparent; }
html.nsstars-royal .ri-page .royal-page-shell .royal-training-intro .row > div { padding-left:0; }
html.nsstars-royal .ri-page .royal-page-shell .royal-training-intro .row :is(p,ul) { margin-bottom:8px!important; }
html.nsstars-royal .ri-page .royal-page-shell .royal-schedule-groups { margin:32px 0; padding:0!important; }
html.nsstars-royal .ri-page .royal-page-shell .royal-training-page > .container > .pt-4 { padding-top:0!important; }
html.nsstars-royal .ri-page .royal-page-shell :is(.royal-catalog-heading,.royal-product-heading) { margin-bottom:32px; }
html.nsstars-royal .ri-page .royal-page-shell :is(.product-card__title,.category-card__title,.brand-card__title,.collection-card__title,.coupon-card__title) { font-size:20px; line-height:1.35; }
/* Keep the full weekday, using the reference's simple clock rather than a box. */
html.royal-home .ri-content .today-clock { padding:0; border:0; border-radius:0; background:transparent; text-align:right; }
html.royal-home .ri-content #today-weekday { font:700 22px/1.35 var(--display); margin-bottom:4px; }
html.royal-home .ri-content .today-footer .text-link { margin-left:auto; }
/* Consent remains the original widget, using the same quiet surface as forms. */
html.nsstars-royal #CookielawBanner { background:var(--paper)!important; color:var(--ink); border-top:1px solid var(--line); box-shadow:none; font:400 13px/1.7 var(--body); }
html.nsstars-royal #CookielawBanner .text-white { color:var(--ink)!important; }
html.nsstars-royal #CookielawBanner .h4 { font:700 16px/1.4 var(--display); margin-bottom:8px; }
html.nsstars-royal #CookielawBanner > .container { padding-block:16px!important; }
html.nsstars-royal #CookielawBanner .btn { min-height:44px; padding:10px 20px; color:var(--ink); background:var(--mist); border:1px solid var(--line); box-shadow:none; font:650 14px/1.5 var(--body); }
@media(max-width:960px) { html.nsstars-royal { --royal-page-gutter:32px; } }
@media(max-width:700px) {
  html.nsstars-royal { --royal-page-gutter:20px; --royal-page-title:32px; }
  .nsstars-royal .royal-page-shell { padding-block:24px 48px; }
  .nsstars-royal .royal-breadcrumbs { margin-bottom:24px; font-size:12px; }
  html.royal-home .ri-content .today-clock { text-align:left; width:auto; }
  html.nsstars-royal .ri-page .royal-page-shell .nsstars-kids-hockey__callout { padding:24px; }
  html.nsstars-royal .ri-page .royal-page-shell :is(.product-card__title,.category-card__title,.brand-card__title,.collection-card__title,.coupon-card__title) { font-size:16px; }
}
@media(max-width:370px) { html.nsstars-royal { --royal-page-gutter:16px; } }

/* Inner media panels own padding; the outer page shell owns page gutters. */
html.nsstars-royal .ri-page .royal-page-shell .journal-masthead .journal-masthead-content {
  width:100%; padding:clamp(24px,4vw,48px); margin:0; max-width:820px;
}
html.nsstars-royal .ri-page .royal-page-shell .journal-masthead { padding:0; min-height:300px; }
html.nsstars-royal .ri-page .royal-page-shell .journal-masthead h1 { color:#fff; }
html.nsstars-royal .ri-page .royal-page-shell .journal-categories { display:flex; flex-wrap:wrap; overflow:visible; gap:8px; }
html.nsstars-royal .ri-page .royal-page-shell .journal-category-button { min-height:44px; }
html.nsstars-royal .ri-page .royal-page-shell .ri-cms > :first-child { margin-top:0; }
html.nsstars-royal .ri-page .royal-page-shell :is(.ri-cms,.journal-article-copy) :is(h2,h3) { margin-top:32px; margin-bottom:16px; text-align:left!important; }
html.nsstars-royal .ri-page .royal-page-shell .journal-article-copy :is(p,li) { font:400 16px/1.8 var(--body); text-align:left!important; }
.nsstars-royal .royal-video-frame { position:relative; width:100%; aspect-ratio:16/9; min-height:200px; margin-block:24px 12px; background:#000; }
.nsstars-royal .royal-video-frame iframe { position:absolute; inset:0; display:block; width:100%!important; height:100%!important; border:0; }
.nsstars-royal .royal-video-link { display:inline-block; margin-bottom:24px; font-size:14px; }
.nsstars-royal .royal-reading-copy { max-width:820px; }
.nsstars-royal .royal-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.nsstars-royal .royal-topic-card { display:block; padding:28px; border:1px solid var(--line); background:var(--mist); color:var(--ink); text-decoration:none; }
.nsstars-royal .royal-topic-card:hover { border-color:var(--blue); }
.nsstars-royal .royal-topic-card h3 { display:flex; justify-content:space-between; gap:16px; margin:0 0 12px; }
.nsstars-royal .royal-topic-card p { color:var(--muted); margin:0!important; }
.nsstars-royal .royal-hub-next { margin-top:48px; padding-top:32px; border-top:1px solid var(--line); }
@media(max-width:700px) {
  .nsstars-royal .royal-topic-grid { grid-template-columns:1fr; gap:16px; }
  .nsstars-royal .royal-topic-card { padding:24px; }
}
