@font-face{font-family:"Mundo Retail";src:url("/assets/fonts/poppins-bold-latin.ttf") format("truetype");font-style:normal;font-weight:600 900;font-display:swap;}
/*
 * Mundo de Brincar — final reference pass.
 * Loaded last, after the shared store, fidelity and stability styles.
 * This file fixes the collection/search layout, product cards and media fit.
 */
@font-face{
  font-family:"Mundo Retail";
  src:url("/assets/fonts/poppins-regular-latin.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

html[data-store-theme="mundo-de-brincar"]{
  --hamleys-red:#cf0f2c;
  --hamleys-cream:#fcf3eb;
  --hamleys-ink:#111111;
  --hamleys-copy:#454545;
  --hamleys-line:#dfdfdf;
  --hamleys-font:"Mundo Retail","Montserrat","Avenir Next",Arial,sans-serif;
}
html[data-store-theme="mundo-de-brincar"] :is(
  body,button,input,select,textarea,
  h1,h2,h3,h4,h5,h6,strong,small,a,p,span,label,summary
){
  font-family:var(--hamleys-font)!important;
}

/* Full children must remain visible in theme/category tiles. */
html[data-store-theme="mundo-de-brincar"] .toyWorldGrid>a>span,
html[data-store-theme="mundo-de-brincar"] .toyPartyRail figure>picture{
  background:#fff!important;
}
html[data-store-theme="mundo-de-brincar"] .toyWorldGrid>a>span{
  padding:8px!important;
}
html[data-store-theme="mundo-de-brincar"] .toyWorldGrid>a>span img,
html[data-store-theme="mundo-de-brincar"] .toyPartyRail figure>picture>img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}

/* -----------------------------------------------------------------------
   Collection and search: remove the inherited desktop columns that squeezed
   the mobile catalogue into the right side of the viewport.
   ----------------------------------------------------------------------- */
html[data-store-theme="mundo-de-brincar"]
.toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search){
  min-width:0!important;
}
html[data-store-theme="mundo-de-brincar"]
.toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.grid{
  width:100%!important;
  min-width:0!important;
  align-items:stretch!important;
}
html[data-store-theme="mundo-de-brincar"]
.toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.grid>.productCard{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}

/* -----------------------------------------------------------------------
   Hamleys product card: image, brand/category, title, price, red CTA + heart.
   The card remains one native link, so all visible controls resolve to the
   product page where size, personalisation and event date are selected.
   ----------------------------------------------------------------------- */
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 52px!important;
  grid-template-rows:auto auto minmax(3.2em,auto) auto 48px!important;
  column-gap:10px!important;
  row-gap:0!important;
  align-content:start!important;
  width:100%!important;
  min-width:0!important;
  padding:0 12px 14px!important;
  overflow:hidden!important;
  border:1px solid var(--hamleys-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  color:var(--hamleys-ink)!important;
  box-shadow:none!important;
  text-align:left!important;
  text-decoration:none!important;
}
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>img:first-child,
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>.productCardMedia{
  grid-column:1/-1!important;
  grid-row:1!important;
  display:block!important;
  width:calc(100% + 24px)!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:1/1.06!important;
  margin:0 -12px!important;
  padding:12px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  object-fit:contain!important;
  object-position:center!important;
}
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>.productCardMedia img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>.cardMeta{
  grid-column:1/-1!important;
  grid-row:2!important;
  min-width:0!important;
  margin:12px 8px 0!important;
  color:#090909!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>strong{
  grid-column:1/-1!important;
  grid-row:3!important;
  min-width:0!important;
  min-height:0!important;
  margin:5px 8px 0!important;
  color:var(--hamleys-copy)!important;
  font-size:16px!important;
  font-weight:450!important;
  line-height:1.32!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere!important;
}
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>span:not(.cardMeta):not(.productCardMedia){
  grid-column:1/-1!important;
  grid-row:4!important;
  min-width:0!important;
  margin:12px 8px 14px!important;
  color:#000!important;
  font-size:21px!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:0!important;
}
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard::after{
  content:"Adicionar à sacola";
  grid-column:1!important;
  grid-row:5!important;
  position:static!important;
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--hamleys-red)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1!important;
  text-align:center!important;
  pointer-events:none;
}
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard::before{
  content:"♡";
  grid-column:2!important;
  grid-row:5!important;
  position:static!important;
  inset:auto!important;
  align-self:center!important;
  justify-self:center!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--hamleys-red)!important;
  box-shadow:none!important;
  font-family:Arial,sans-serif!important;
  font-size:38px!important;
  font-weight:400!important;
  line-height:1!important;
  pointer-events:none;
}

/* Empty state and normal catalogue controls. */
html[data-store-theme="mundo-de-brincar"] .toyCommercial .noResults{
  grid-column:1/-1!important;
}
html[data-store-theme="mundo-de-brincar"] .toyCommercial .chips button{
  font-family:var(--hamleys-font)!important;
}

/* Desktop reference proportions. */
@media(min-width:901px){
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:26px 18px!important;
  }
}

/* -----------------------------------------------------------------------
   Mobile filter/sort bar and two-column product catalogue.
   ----------------------------------------------------------------------- */
@media(max-width:900px){
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:auto auto 58px auto!important;
    column-gap:0!important;
    row-gap:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:24px 14px 72px!important;
    overflow:visible!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.breadcrumb{
    grid-column:1/-1!important;
    grid-row:1!important;
    min-width:0!important;
    margin:0 0 28px!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.pageHead{
    grid-column:1/-1!important;
    grid-row:2!important;
    min-width:0!important;
    margin:0 0 30px!important;
    padding:0!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.pageHead h1{
    max-width:12ch!important;
    margin:0!important;
    font-size:clamp(34px,10vw,44px)!important;
    font-weight:750!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.pageHead p{
    margin-top:16px!important;
    font-size:17px!important;
    line-height:1.45!important;
  }

  /* Filter half of the reference toolbar. */
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>
  :is(.catalogFilterDisclosure,.catalogFilterFields){
    grid-column:1!important;
    grid-row:3!important;
    align-self:stretch!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    height:58px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:1px solid var(--hamleys-red)!important;
    border-right:0!important;
    border-radius:0!important;
    background:var(--hamleys-cream)!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial .catalogFilterDisclosure>summary{
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    padding:0 38px 0 48px!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    font-size:0!important;
    font-weight:500!important;
    list-style:none!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial .catalogFilterDisclosure>summary::before{
    content:"☷  Filtros";
    position:absolute;
    left:16px;
    color:#111;
    font-size:17px;
    font-weight:500;
    line-height:1;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial .catalogFilterDisclosure>summary::after{
    content:"⌄"!important;
    position:absolute!important;
    right:16px!important;
    top:50%!important;
    transform:translateY(-55%)!important;
    color:#111!important;
    font-size:24px!important;
    font-weight:400!important;
    line-height:1!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial .catalogFilterDisclosure[open]>summary::after{
    content:"⌃"!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial .catalogFilterDisclosure>.catalogFilterFields{
    position:absolute!important;
    z-index:25!important;
    top:57px!important;
    left:0!important;
    width:200%!important;
    margin:0!important;
    padding:16px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    border:1px solid var(--hamleys-line)!important;
    border-radius:0 0 12px 12px!important;
    background:#fff!important;
    box-shadow:0 18px 34px rgb(0 0 0 / 14%)!important;
  }

  /* Sort half of the reference toolbar. */
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.collectionToolbar{
    grid-column:2!important;
    grid-row:3!important;
    align-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    margin:0!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    gap:0!important;
    border:1px solid var(--hamleys-red)!important;
    border-radius:0!important;
    background:var(--hamleys-cream)!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .collectionToolbar>span{
    display:none!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .collectionToolbar>label{
    position:relative;
    width:100%;
    min-width:0;
    min-height:56px;
    display:flex!important;
    align-items:center!important;
    gap:8px;
    color:#111!important;
    font-size:0!important;
    font-weight:500!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .collectionToolbar>label::before{
    content:"☰";
    flex:0 0 auto;
    color:var(--hamleys-red);
    font-size:22px;
    line-height:1;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .collectionToolbar select{
    flex:1 1 auto;
    width:100%!important;
    min-width:0!important;
    min-height:56px!important;
    margin:0!important;
    padding:0 26px 0 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#111!important;
    font-size:16px!important;
    font-weight:500!important;
    line-height:1!important;
  }

  /* Hamleys mobile catalogue has only the filter/sort bar above the cards. */
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.chips{
    display:none!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.grid{
    grid-column:1/-1!important;
    grid-row:4!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    margin:18px 0 0!important;
    gap:18px 10px!important;
    overflow:visible!important;
  }

  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard{
    grid-template-columns:minmax(0,1fr) 44px!important;
    grid-template-rows:auto auto minmax(3.4em,auto) auto 44px!important;
    column-gap:6px!important;
    padding:0 10px 11px!important;
    border-radius:18px!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>img:first-child,
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>.productCardMedia{
    width:calc(100% + 20px)!important;
    aspect-ratio:1/1.12!important;
    margin:0 -10px!important;
    padding:9px!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>.cardMeta{
    margin:10px 8px 0!important;
    font-size:13px!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>strong{
    margin:5px 8px 0!important;
    font-size:14px!important;
    line-height:1.3!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>span:not(.cardMeta):not(.productCardMedia){
    margin:10px 8px 12px!important;
    font-size:19px!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard::after{
    min-height:44px!important;
    padding:0 6px!important;
    border-radius:9px!important;
    font-size:12px!important;
    line-height:1.08!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard::before{
    width:40px!important;
    height:40px!important;
    font-size:34px!important;
  }
}

@media(max-width:390px){
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search){
    padding-left:10px!important;
    padding-right:10px!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.grid{
    gap:14px 8px!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard{
    grid-template-columns:minmax(0,1fr) 38px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>img:first-child,
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard>.productCardMedia{
    width:calc(100% + 16px)!important;
    margin-left:-8px!important;
    margin-right:-8px!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard::after{
    font-size:11px!important;
  }
}

/* Final mobile optical alignment against the supplied Hamleys reference. */
html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard::after{
  content:"Escolher"!important;
}
@media(max-width:900px){
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search){
    padding-left:0!important;
    padding-right:0!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>
  :is(.breadcrumb,.pageHead){
    margin-left:14px!important;
    margin-right:14px!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.grid{
    box-sizing:border-box!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial .catalogFilterDisclosure>summary::before{
    content:"Filtros";
    min-height:26px;
    display:flex;
    align-items:center;
    padding-left:32px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cf0f2c' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3Ccircle cx='8' cy='6' r='2' fill='%23fcf3eb'/%3E%3Ccircle cx='16' cy='12' r='2' fill='%23fcf3eb'/%3E%3Ccircle cx='10' cy='18' r='2' fill='%23fcf3eb'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:left center;
    background-size:25px 25px;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial .collectionToolbar>label::before{
    content:"";
    width:27px;
    height:24px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24' fill='none' stroke='%23cf0f2c' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M3 5h22M3 12h15M3 19h9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center;
    background-size:27px 24px;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard::after{
    font-size:15px!important;
  }
}
@media(max-width:390px){
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search){
    padding-left:0!important;
    padding-right:0!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>
  :is(.breadcrumb,.pageHead){
    margin-left:10px!important;
    margin-right:10px!important;
  }
  html[data-store-theme="mundo-de-brincar"]
  .toyCommercial:is(.waveCommercialView--collection,.waveCommercialView--search)>.grid{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  html[data-store-theme="mundo-de-brincar"] .toyCommercial .productCard::after{
    font-size:14px!important;
  }
}

/* Use the same reference product-card language on home merchandising rails. */
html[data-store-theme="mundo-de-brincar"] .toyProductRail>.waveProduct{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(3.1em,auto) auto 44px!important;
  column-gap:8px!important;
  row-gap:0!important;
  align-content:start!important;
  min-width:0!important;
  padding:0 10px 11px!important;
  overflow:hidden!important;
  border:1px solid var(--hamleys-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:var(--hamleys-ink)!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
html[data-store-theme="mundo-de-brincar"] .toyProductRail .waveProductMedia{
  grid-column:1/-1!important;
  grid-row:1!important;
  width:calc(100% + 20px)!important;
  max-width:none!important;
  aspect-ratio:1/1.08!important;
  margin:0 -10px!important;
  padding:10px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
}
html[data-store-theme="mundo-de-brincar"] .toyProductRail .waveProductMedia img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
html[data-store-theme="mundo-de-brincar"] .toyProductRail .waveProductMedia::after{
  display:none!important;
}
html[data-store-theme="mundo-de-brincar"] .toyProductRail .waveProductInfo{
  display:contents!important;
}
html[data-store-theme="mundo-de-brincar"] .toyProductRail .waveProductInfo strong{
  grid-column:1/-1!important;
  grid-row:2!important;
  min-width:0!important;
  min-height:0!important;
  margin:11px 7px 0!important;
  color:var(--hamleys-copy)!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere!important;
}
html[data-store-theme="mundo-de-brincar"] .toyProductRail .waveProductInfo>span{
  grid-column:1/-1!important;
  grid-row:3!important;
  min-width:0!important;
  margin:10px 7px 12px!important;
  color:#000!important;
  font-size:19px!important;
  font-weight:800!important;
  line-height:1.1!important;
}
html[data-store-theme="mundo-de-brincar"] .toyProductRail .waveProductInfo small{
  grid-column:1!important;
  grid-row:4!important;
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 6px!important;
  border:0!important;
  border-radius:9px!important;
  background:var(--hamleys-red)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1!important;
  text-transform:none!important;
}
/* Cards link to the product. Do not draw non-functional favourite controls. */
html[data-store-theme="mundo-de-brincar"] .toyProductRail .waveProductInfo small::after,
html[data-store-theme="mundo-de-brincar"] .toyProductRail>.waveProduct::after{content:none!important;display:none!important}

html[data-store-theme="mundo-de-brincar"] body:has(.waveCommercialView--collection) #storeHeader .tools,
html[data-store-theme="mundo-de-brincar"] body:has(.waveCommercialView--search) #storeHeader .tools{grid-template-columns:44px 44px 44px}
html[data-store-theme="mundo-de-brincar"] body:has(:is(.waveCommercialView--collection,.waveCommercialView--search)) #storeHeader .tools button:first-child{width:44px!important;padding:0!important;justify-content:center!important;background:transparent!important;color:white!important}
html[data-store-theme="mundo-de-brincar"] body:has(:is(.waveCommercialView--collection,.waveCommercialView--search)) #storeHeader .tools button:first-child span{display:none!important}
@media(min-width:901px){
  html[data-store-theme="mundo-de-brincar"] .toyCommercial>.catalogFilterDisclosure>summary{display:none!important}
  html[data-store-theme="mundo-de-brincar"] .toyCommercial>.chips button{height:38px;flex:0 0 auto}
}
