/* Storefront reference: body .875×Body, section headings .56×H2, card titles .62×H3.
   Product grids consume the existing independent homepage columns and image-ratio tokens. */
.az-child-shop { background: var(--az-color-page, #f0f0f0); padding-bottom: 26px; }
.az-child-shop__body { padding-top: 26px; }
.az-child-shop__section { margin-bottom: 28px; scroll-margin-top: 100px; }
.az-child-shop .az-child-panda__heading { margin: 0 0 20px; font-size: calc(var(--az-h2-size, 34px) * .56); font-weight: var(--az-heading-weight, 600); }
.az-child-shop__surface { padding: 14px; background: var(--az-color-surface, #fff); }
.az-child-shop__products { display: grid; grid-template-columns: repeat(min(var(--az-child-home-columns-desktop, 5), var(--az-child-shop-count, 30)), minmax(0, 1fr)); gap: 22px 16px; min-width: 0; }
#page.az-site .az-child-shop .az-product-card__body { gap: 8px; padding: 12px 0 0; }
#page.az-site .az-child-shop .az-product-card__title { font-size: calc(var(--az-body-size, 16px) * .84); }
#page.az-site .az-child-shop .az-product-card__price { font-size: calc(var(--az-body-size, 16px) * .8); }
#page.az-site .az-child-shop .az-product-card__actions > .button { border-radius: 0; min-height: 32px; padding-block: 6px; font-size: calc(var(--az-body-size, 16px) * .67); }
#page.az-site .az-child-shop .az-product-card__actions > .button::before { border-radius: 0; }
.az-child-shop__tabs { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: thin; border-bottom: 2px solid var(--az-child-blue); padding-bottom: 7px; }
.az-child-shop__tabs button { flex: 1 0 160px; text-align: left; border: 0; padding: 14px 10px; background: var(--az-color-surface, #fff); color: var(--az-color-muted, #777); cursor: pointer; font: inherit; font-size: .8em; }
.az-child-shop__tabs button[aria-selected=true] { color: var(--az-child-blue); box-shadow: inset 0 -3px var(--az-child-blue); }
.az-child-shop__tab-panel { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 16px; padding: 14px; margin-top: 25px; background: var(--az-color-surface, #fff); }
.az-child-shop__side-label { display: flex; align-items: center; justify-content: center; padding-inline: 6px; border-right: 1px solid var(--az-color-border, #ddd); color: var(--az-child-blue); font-size: .8em; line-height: 2.8; text-transform: uppercase; overflow-wrap: anywhere; }
.az-child-shop__empty { margin: 12px 0; padding: 0 10px; color: var(--az-color-muted, #777); font-size: .8em; }
.az-child-shop__offers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 26px; }
.az-child-shop__offer, .az-child-shop__recent { display: flex; flex-direction: column; padding: 12px; min-width: 0; background: var(--az-color-surface, #fff); }
.az-child-shop :is(.az-child-shop__offer, .az-child-shop__recent) > h2 { margin: 0 0 12px; color: var(--az-child-blue); font-size: calc(var(--az-h3-size, 26px) * .57); font-weight: var(--az-heading-weight, 600); line-height: var(--az-heading-line-height, 1.2); }
.az-child-shop__offer > h2, .az-child-shop__recent > h2 { text-align: center; }
.az-child-shop__offer > img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.az-child-shop__offer ul { list-style: none; padding: 12px 0; margin: 0; font-size: .78em; color: var(--az-color-muted, #777); }
.az-child-shop__offer li { position: relative; padding-left: 22px; margin-bottom: 4px; }
.az-child-shop__offer li::before { content: '✦'; position: absolute; left: 1px; color: #f5a623; }
.az-child-shop a.az-child-shop__button { display: flex; align-items: center; justify-content: center; min-height: 38px; margin-top: auto; padding: 8px 12px; background: var(--az-child-blue); color: #fff; font-size: .8em; text-align: center; }
.az-child-shop a.az-child-shop__button:hover { background: var(--az-child-navy); color: #fff; }
.az-child-shop__recent .az-child-shop__products { grid-template-columns: 1fr; gap: 10px; align-content: start; }
#page.az-site .az-child-shop__recent .az-child-shop__product { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
#page.az-site .az-child-shop__recent .az-product-card__body { padding: 0; }
.az-child-shop__news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.az-child-shop__article { padding: 8px; min-width: 0; border-bottom: 1px solid var(--az-color-border, #ddd); background: var(--az-color-surface, #fff); }
.az-child-shop__article img { width: 100%; aspect-ratio: 1.75; object-fit: cover; }
.az-child-shop__article h3 { margin: 15px 0 10px; font-size: calc(var(--az-h3-size, 26px) * .52); font-weight: var(--az-heading-weight, 600); line-height: var(--az-heading-line-height, 1.2); text-transform: uppercase; color: var(--az-child-blue); }
.az-child-shop__article p { margin: 0 0 8px; color: var(--az-color-muted, #777); font-size: .78em; }
.az-child-shop__more { display: flex; justify-content: center; padding-top: 24px; }
.az-child-shop__more a.az-child-shop__button { background: none; color: var(--az-child-blue); border-bottom: 1px solid var(--az-color-border, #ddd); }
.az-child-shop__category-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 20px; }
.az-child-shop__category-heading .az-child-panda__heading { margin: 0; }
.az-child-shop__category-heading > a { display: inline-flex; align-items: center; padding-block: 10px; margin-block: -10px; color: var(--az-child-blue); font-size: .8em; }
.az-child-shop__category-heading > a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 960px) {
  .az-child-shop__products { grid-template-columns: repeat(min(var(--az-child-home-columns-tablet, 3), var(--az-child-shop-count, 30)), minmax(0, 1fr)); }
  .az-child-shop__offers { gap: 12px; }
  .az-child-shop__tab-panel { grid-template-columns: 50px minmax(0, 1fr); gap: 10px; }
}
@media (max-width: 782px) {
  .az-child-shop__body { padding-top: 22px; }
  .az-child-shop__products { grid-template-columns: repeat(min(var(--az-child-home-columns-mobile, 2), var(--az-child-shop-count, 30)), minmax(0, 1fr)); gap: 18px 12px; }
  .az-child-shop__tab-panel { display: block; padding: 12px; margin-top: 16px; }
  .az-child-shop__side-label { display: block; padding: 0 0 10px; line-height: 1.5; border: 0; }
  .az-child-shop__offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .az-child-shop__recent { grid-column: 1 / -1; }
  .az-child-shop__recent .az-child-shop__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .az-child-shop__news { grid-template-columns: 1fr; }
  .az-child-shop__article { display: grid; grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .az-child-shop__offers { grid-template-columns: 1fr; }
  .az-child-shop__recent { grid-column: auto; }
  .az-child-shop__recent .az-child-shop__products { grid-template-columns: 1fr; }
}

.az-child-shop__anchor { display: block; height: 0; scroll-margin-top: 100px; }

/* News uses the site's fonts and color tokens with one lead story and a compact reading list. */
.az-home-newsroom { padding: 30px 0 8px; }
.az-home-newsroom__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.az-home-newsroom__intro { min-width: 0; max-width: 680px; }
.az-home-newsroom__eyebrow { display: block; margin-bottom: 8px; color: var(--az-child-blue); font-size: .7em; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.az-child-shop .az-home-newsroom .az-child-panda__heading { margin: 0; color: var(--az-color-heading, var(--az-child-navy)); font-size: clamp(24px, 2.2vw, 32px); line-height: 1.25; }
.az-home-newsroom__intro > p { margin: 12px 0 0; color: var(--az-color-muted, #64748b); font-size: .875em; line-height: 1.65; }
.az-home-newsroom__all { display: inline-flex; align-items: center; justify-content: center; gap: 20px; flex-shrink: 0; min-height: 44px; padding: 10px 16px; border: 1px solid var(--az-color-border, #dce5eb); border-radius: 8px; background: var(--az-color-surface, #fff); color: var(--az-child-navy); font-size: .8em; font-weight: 600; }
.az-home-newsroom__all > span { color: var(--az-child-blue); font-size: 1.3em; }
.az-home-newsroom__layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: stretch; gap: 24px; }
.az-home-newsroom__layout--single { grid-template-columns: 1fr; }
.az-home-newsroom__list { display: grid; align-content: start; gap: 16px; min-width: 0; }
.az-home-newsroom__card { min-width: 0; overflow: hidden; border: 1px solid var(--az-color-border, #e1e7ed); border-radius: 14px; background: var(--az-color-surface, #fff); transition: box-shadow .2s ease, border-color .2s ease; }
.az-home-newsroom__card:hover { border-color: var(--az-child-blue); box-shadow: 0 10px 24px #12324b0d; }
.az-home-newsroom__story { display: grid; grid-template-columns: 140px minmax(0, 1fr); align-items: start; gap: 18px; height: 100%; padding: 16px; color: inherit; text-decoration: none; }
.az-home-newsroom__media { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; background: var(--az-color-page, #eef3f7); }
.az-home-newsroom__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.az-home-newsroom__story:hover .az-home-newsroom__media img { transform: scale(1.035); }
.az-home-newsroom__placeholder { display: grid; place-items: center; width: 100%; height: 100%; background: linear-gradient(135deg, #eaf5fa, #dae7ee); color: var(--az-child-blue); }
.az-home-newsroom__placeholder svg { width: 52px; height: 52px; opacity: .6; }
.az-home-newsroom__body { min-width: 0; }
.az-home-newsroom__date { display: block; margin-bottom: 8px; color: var(--az-color-muted, #64748b); font-size: .7em; font-variant-numeric: tabular-nums; }
.az-home-newsroom__body h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin: 0; color: var(--az-color-heading, var(--az-child-navy)); font-size: 1em; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.az-home-newsroom__body p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 8px 0 0; color: var(--az-color-muted, #64748b); font-size: .78em; line-height: 1.65; }
.az-home-newsroom__card--featured .az-home-newsroom__story { display: flex; flex-direction: column; gap: 0; padding: 0; }
.az-home-newsroom__card--featured .az-home-newsroom__media { aspect-ratio: 16 / 9; border-radius: 0; }
.az-home-newsroom__card--featured .az-home-newsroom__body { padding: 22px 24px 24px; }
.az-home-newsroom__card--featured h3 { font-size: 1.35em; line-height: 1.4; }
.az-home-newsroom__card--featured .az-home-newsroom__body p { font-size: .85em; }
.az-home-newsroom__badge { position: absolute; left: 18px; bottom: 18px; padding: 6px 11px; border-radius: 5px; background: var(--az-child-blue); color: #fff; font-size: .65em; font-weight: 600; }
.az-home-newsroom__read { display: inline-flex; align-items: center; gap: 18px; margin-top: 18px; color: var(--az-child-blue); font-size: .8em; font-weight: 600; }
.az-home-newsroom__more { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 20px; }
.az-home-newsroom__more .az-home-newsroom__story { display: flex; flex-direction: column; }
.az-home-newsroom__all:focus-visible, .az-home-newsroom__story:focus-visible { outline: 3px solid var(--az-child-blue); outline-offset: -3px; }
@media (max-width: 960px) {
  .az-home-newsroom__layout { gap: 18px; }
  .az-home-newsroom__story { grid-template-columns: 100px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .az-home-newsroom__more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
  .az-home-newsroom { padding-top: 18px; }
  .az-home-newsroom__header { align-items: flex-start; flex-direction: column; gap: 16px; }
  .az-home-newsroom__layout { grid-template-columns: 1fr; }
  .az-home-newsroom__card--featured .az-home-newsroom__body { padding: 18px; }
  .az-home-newsroom__more { grid-template-columns: 1fr; }
  .az-home-newsroom__more .az-home-newsroom__story { display: grid; }
}
@media (prefers-reduced-motion: reduce) {
  .az-home-newsroom__card, .az-home-newsroom__media img { transition: none; }
}
@media (max-width: 782px) {
  #page.az-site .az-child-shop .az-product-card__actions > .button { min-height: 44px; font-size: calc(var(--az-body-size, 16px) * .75); }
  .az-child-shop a.az-child-shop__button { min-height: 44px; }
}
