/* SoldDolls v9.4.4 — stable top-level category layout, rendered before first paint. */
body.tax-product_cat .sd-main-category-page-container{padding-top:24px!important}
body.tax-product_cat .sd-main-category-page-container .sd-archive-heading{text-align:center;max-width:900px;margin:0 auto 24px!important}
body.tax-product_cat .sd-main-category-page-container .sd-archive-heading .section-label{justify-content:center!important}
body.tax-product_cat .sd-main-category-page-container .sd-archive-heading p{max-width:780px!important;margin:0 auto!important}

/* Exact category icons — no JavaScript replacement after load. */
body.tax-product_cat .sd-cat-image-nav{width:100%!important;max-width:1225px!important;margin:0 auto 28px!important;padding:0!important;overflow:visible!important}
body.tax-product_cat .sd-cat-image-nav__title{display:none!important}
body.tax-product_cat .sd-cat-image-nav__rail{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;justify-content:center!important;justify-items:stretch!important;align-items:start!important;gap:10px 0!important;width:100%!important;margin:0 auto!important;padding:0!important;overflow:visible!important}
body.tax-product_cat .sd-cat-image-nav__item{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-width:0!important;max-width:none!important;height:105px!important;gap:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center!important;text-decoration:none!important;color:#fff!important}
body.term-sextoys-pour-femmes .sd-cat-image-nav__item:nth-child(7),
body.term-sextoys-pour-hommes .sd-cat-image-nav__item:nth-child(7){grid-column:3!important}
body.term-sextoys-pour-femmes .sd-cat-image-nav__item:nth-child(8),
body.term-sextoys-pour-hommes .sd-cat-image-nav__item:nth-child(8){grid-column:4!important}
body.term-sextoys-anaux .sd-cat-image-nav__item:first-child{grid-column:2!important}
body.tax-product_cat .sd-cat-image-nav__img{display:block!important;flex:0 0 56px!important;width:56px!important;min-width:56px!important;max-width:56px!important;height:56px!important;min-height:56px!important;max-height:56px!important;margin:7px 0 0!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;box-shadow:0 8px 20px rgba(0,0,0,.18)!important;aspect-ratio:1/1!important}
body.tax-product_cat .sd-cat-image-nav__img img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:inherit!important;opacity:1!important;filter:none!important}
body.term-sextoys-pour-hommes .sd-cat-image-nav__item:not(:last-child) .sd-cat-image-nav__img{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
body.term-sextoys-pour-hommes .sd-cat-image-nav__item:not(:last-child) .sd-cat-image-nav__img img{object-fit:contain!important;border-radius:0!important}
body.tax-product_cat .sd-cat-image-nav__name{display:block!important;width:100%!important;min-height:38px!important;padding:7px 4px 0!important;color:#fff!important;font-size:13px!important;line-height:1.18!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important;overflow-wrap:anywhere!important;text-shadow:0 1px 2px rgba(0,0,0,.42)!important}

/* Editorial product sections, visible on desktop and mobile. */
.sd-main-cat-sections{display:block!important;width:100%;margin:8px auto 32px;color:#fff}
.sd-main-cat-sections .sd-product-structure-section{padding:34px 0 40px;border-top:1px solid rgba(255,255,255,.11)}
.sd-main-cat-sections .sd-product-structure-section:first-child{border-top:0;padding-top:20px}
.sd-main-cat-sections .sd-product-structure-heading{max-width:900px;margin:0 auto 15px;text-align:center}
.sd-main-cat-sections .sd-product-structure-heading h2{margin:0;color:#fff;font-size:clamp(26px,2.5vw,36px);line-height:1.08;font-weight:800;letter-spacing:-.02em;text-transform:none}
.sd-main-cat-sections .sd-product-structure-heading p{margin:7px auto 0;max-width:720px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.5}
.sd-main-cat-sections .sd-product-structure-tabs-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:34px;margin:0 12px 22px;gap:14px}
.sd-main-cat-sections .sd-product-structure-tabs{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.sd-main-cat-sections .sd-product-structure-tabs:empty{display:none}
.sd-main-cat-sections .sd-product-structure-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 15px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;text-decoration:none;font-size:13px;font-weight:700;line-height:1;background:linear-gradient(135deg,rgba(147,51,234,.28),rgba(236,72,153,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.sd-main-cat-sections .sd-product-structure-tabs a:nth-child(3n+2){background:linear-gradient(135deg,rgba(219,39,119,.26),rgba(239,68,68,.16))}
.sd-main-cat-sections .sd-product-structure-tabs a:nth-child(3n){background:linear-gradient(135deg,rgba(245,158,11,.23),rgba(236,72,153,.14))}
.sd-main-cat-sections .sd-product-structure-more{position:absolute;right:0;top:50%;transform:translateY(-50%);color:#fff;text-decoration:none;font-size:14px;font-weight:750;opacity:.9;white-space:nowrap}
.sd-main-cat-sections .sd-product-structure-products.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important}
.sd-main-cat-sections .sd-product-structure-products.products > li.product{float:none!important;width:auto!important;min-width:0!important;margin:0!important}

/* Full-bleed category hero, matching the home banner on mobile. */
.sd-category-hero-shell{width:100%;margin:0;padding:0;line-height:0}
@media (max-width:899px){
  body.tax-product_cat main.site-content{padding-top:0!important}
  body.tax-product_cat .container{padding-left:12px!important;padding-right:12px!important}
  body.tax-product_cat .sd-category-hero-shell{width:100vw!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important}
  body.tax-product_cat .sd-category-hero-shell .sd-category-top-banner,
  body.tax-product_cat .sd-category-hero-shell .sd-category-banner-track,
  body.tax-product_cat .sd-category-hero-shell .sd-category-banner-slide,
  body.tax-product_cat .sd-category-hero-shell picture,
  body.tax-product_cat .sd-category-hero-shell img{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  body.tax-product_cat .sd-main-category-page-container{padding-top:16px!important}
  body.tax-product_cat .sd-main-category-page-container .sd-archive-heading{margin-bottom:18px!important}
  body.tax-product_cat .sd-cat-image-nav{margin:4px auto 18px!important}
  body.tax-product_cat .sd-cat-image-nav__rail{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px 4px!important}
  body.tax-product_cat .sd-cat-image-nav__item{height:92px!important;grid-column:auto!important}
  body.tax-product_cat .sd-cat-image-nav__img{width:58px!important;min-width:58px!important;max-width:58px!important;height:58px!important;min-height:58px!important;max-height:58px!important;margin-top:3px!important}
  body.tax-product_cat .sd-cat-image-nav__name{min-height:29px!important;padding:6px 2px 0!important;font-size:12px!important;line-height:1.14!important}
  .sd-main-cat-sections{margin:0 0 26px}
  .sd-main-cat-sections .sd-product-structure-section{padding:26px 0 30px}
  .sd-main-cat-sections .sd-product-structure-section:first-child{padding-top:14px}
  .sd-main-cat-sections .sd-product-structure-heading{margin-bottom:12px;padding:0 5px}
  .sd-main-cat-sections .sd-product-structure-heading h2{font-size:24px;line-height:1.1}
  .sd-main-cat-sections .sd-product-structure-heading p{font-size:13px;line-height:1.4}
  .sd-main-cat-sections .sd-product-structure-tabs-wrap{align-items:flex-start;justify-content:space-between;margin:0 2px 16px;gap:8px}
  .sd-main-cat-sections .sd-product-structure-tabs{justify-content:flex-start;gap:6px;flex:1}
  .sd-main-cat-sections .sd-product-structure-tabs a{min-height:28px;padding:0 10px;font-size:11.5px}
  .sd-main-cat-sections .sd-product-structure-more{position:static;flex:0 0 auto;margin-top:6px;transform:none;font-size:12px}
  .sd-main-cat-sections .sd-product-structure-products.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
}

/* Reserve geometry and remove repaint animation only from the category rails. */
body.tax-product_cat .sd-cat-image-nav,
body.tax-product_cat .sd-cat-image-nav *{animation:none!important;transition:none!important}


/* v9.4.4 — restore the original compact MOBILE category intro.
   Desktop remains governed by the existing desktop rules above. */
body.tax-product_cat .sd-main-category-heading .sd-category-title-mobile{display:none}
@media (max-width:899px){
  body.tax-product_cat .sd-main-category-page-container{padding-top:0!important}
  body.tax-product_cat .sd-main-category-heading{
    max-width:none!important;
    margin:0 auto!important;
    padding:22px 0 0!important;
    text-align:center!important;
  }
  body.tax-product_cat .sd-main-category-heading .section-label,
  body.tax-product_cat .sd-main-category-heading > p{
    display:none!important;
  }
  body.tax-product_cat .sd-main-category-heading h1{
    margin:0!important;
    padding:0 4px!important;
    color:#fff!important;
    font-family:var(--font,'DM Sans','Helvetica Neue',Arial,sans-serif)!important;
    font-size:26px!important;
    line-height:34px!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-align:center!important;
    text-transform:none!important;
  }
  body.tax-product_cat .sd-main-category-heading .sd-category-title-desktop{display:none!important}
  body.tax-product_cat .sd-main-category-heading .sd-category-title-mobile{display:inline!important}

  /* Match the former mobile icon rail without affecting desktop. */
  body.tax-product_cat .sd-main-category-page-container .sd-cat-image-nav{
    margin:14px auto 18px!important;
  }
  body.tax-product_cat .sd-main-category-page-container .sd-cat-image-nav__rail{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:16px 8px!important;
  }
  body.tax-product_cat .sd-main-category-page-container .sd-cat-image-nav__item{
    height:94px!important;
    gap:7px!important;
  }
  body.tax-product_cat .sd-main-category-page-container .sd-cat-image-nav__img{
    width:62px!important;
    min-width:62px!important;
    max-width:62px!important;
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
    flex:0 0 62px!important;
    margin-top:0!important;
  }
  body.tax-product_cat .sd-main-category-page-container .sd-cat-image-nav__name{
    min-height:28px!important;
    padding:0 2px!important;
    font-size:12px!important;
    line-height:1.15!important;
  }
}


/* v9.6.0 — complete top-level category contract for every SoldDolls universe. */
@media (max-width:899px){
  body.term-poupees-sexuelles .sd-cat-image-nav__rail{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  body.term-poupees-sexuelles .sd-cat-image-nav__item:nth-child(5){grid-column:2!important}
  body.term-poupees-sexuelles .sd-cat-image-nav__item:nth-child(6){grid-column:3!important}

  body.term-sextoys-anaux .sd-cat-image-nav__rail{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  body.term-sextoys-anaux .sd-cat-image-nav__item{grid-column:span 2!important}
  body.term-sextoys-anaux .sd-cat-image-nav__item:nth-child(4){grid-column:2 / span 2!important}
  body.term-sextoys-anaux .sd-cat-image-nav__item:nth-child(5){grid-column:4 / span 2!important}

  body.term-pour-couple .sd-cat-image-nav__rail,
  body.term-lubrifiant .sd-cat-image-nav__rail{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    max-width:340px!important;
  }
}

/* v9.6.3 — mobile main-category disclosure cloned structurally: title, three-dot control, description. */
body.tax-product_cat .sd-main-category-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:12px;
  width:100%;
}
body.tax-product_cat .sd-main-category-title-row h1{margin:0!important}
body.tax-product_cat .sd-main-description-toggle{display:none}
body.tax-product_cat .sd-main-category-description{max-width:780px;margin:12px auto 0;text-align:center}
body.tax-product_cat .sd-main-category-description p{margin:0!important;color:var(--c-text-lt);font-size:.9rem;line-height:1.65}

@media (max-width:899px){
  body.tax-product_cat .sd-main-category-heading{
    padding:24px 18px 0!important;
    text-align:left!important;
  }
  body.tax-product_cat .sd-main-category-title-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px!important;
    align-items:start!important;
    gap:12px!important;
    width:100%!important;
  }
  body.tax-product_cat .sd-main-category-heading h1{
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    font-family:var(--font,'DM Sans','Helvetica Neue',Arial,sans-serif)!important;
    font-size:28px!important;
    line-height:1.16!important;
    font-weight:700!important;
    letter-spacing:-.02em!important;
    text-align:left!important;
  }
  body.tax-product_cat .sd-main-description-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    margin:-2px 0 0!important;
    padding:0!important;
    color:rgba(255,255,255,.46)!important;
    background:transparent!important;
    border:0!important;
    border-radius:50%!important;
    box-shadow:none!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  body.tax-product_cat .sd-main-description-toggle__dots{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    width:24px!important;
    height:12px!important;
  }
  body.tax-product_cat .sd-main-description-toggle__dots i{
    display:block!important;
    flex:0 0 4px!important;
    width:4px!important;
    height:4px!important;
    margin:0!important;
    padding:0!important;
    background:currentColor!important;
    border:0!important;
    border-radius:50%!important;
    box-shadow:none!important;
  }
  body.tax-product_cat .sd-main-description-toggle:hover,
  body.tax-product_cat .sd-main-description-toggle[aria-expanded="false"]{
    color:rgba(255,255,255,.78)!important;
  }
  body.tax-product_cat .sd-main-description-toggle:focus-visible{
    outline:2px solid var(--c-brand-lt,#d7192a)!important;
    outline-offset:2px!important;
  }
  body.tax-product_cat .sd-main-category-description{
    display:block;
    width:100%;
    max-width:none!important;
    margin:18px 0 0!important;
    text-align:left!important;
  }
  body.tax-product_cat .sd-main-category-description[hidden]{display:none!important}
  body.tax-product_cat .sd-main-category-description p{
    margin:0!important;
    color:rgba(255,255,255,.66)!important;
    font-family:var(--font,'DM Sans','Helvetica Neue',Arial,sans-serif)!important;
    font-size:15.5px!important;
    line-height:1.68!important;
    font-weight:400!important;
    letter-spacing:0!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    display:block!important;
    -webkit-line-clamp:unset!important;
  }
  body.tax-product_cat .sd-main-category-page-container .sd-cat-image-nav{
    margin:22px auto 20px!important;
  }
  body.term-poupees-sexuelles .sd-cat-image-nav__item:nth-child(5),
  body.term-poupees-sexuelles .sd-cat-image-nav__item:nth-child(6){grid-column:auto!important}
}
