

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('../fonts/material-icons.woff2') format('woff2');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}


.fa-solid,.fas,.fa-regular,.far{
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
  display:var(--fa-display,inline-block);
  font-style:normal;
  font-variant:normal;
  line-height:1;
  text-rendering:auto;
}
.fa-solid,.fas{
  font-family:"Font Awesome 6 Free";
  font-weight:900;
}
.fa-regular,.far{
  font-family:"Font Awesome 6 Free";
  font-weight:400;
}

@font-face{
  font-family:"Font Awesome 6 Free";
  font-style:normal;
  font-weight:900;
  font-display:block;
  src:url(../fonts/fa-solid-900.woff2) format("woff2");
}
@font-face{
  font-family:"Font Awesome 6 Free";
  font-style:normal;
  font-weight:400;
  font-display:block;
  src:url(../fonts/fa-regular-400.woff2) format("woff2");
}

.fa-child:before   { content:"\f1ae"; }
.fa-clock:before   { content:"\f017"; }
.fa-location-dot:before,
.fa-map-marker-alt:before { content:"\f3c5"; }
.fa-shirt:before   { content:"\f553"; }
.fa-stethoscope:before { content:"\f0f1"; }
.fa-store:before   { content:"\f54e"; }
.fa-user-doctor:before,
.fa-user-md:before { content:"\f0f0"; }
.fa-user-nurse:before  { content:"\f82f"; }

.elementor-widget-html,
.elementor-widget-container,
.elementor-widget-wrap,
.elementor-column-wrap,
.e-con, .e-con-inner {
  padding: 0 !important;
}

html, body {
  margin: 0;
  padding: 0;
}

#sp-simulador *, #sp-simulador *::before, #sp-simulador *::after {
  box-sizing: border-box;
}


  :root {
    --rosa: #F5B6B0;
    --rosa-escuro: #e89a93;
    --rosa-claro: #fde8e6;
    --rosa-fundo: #fff5f4;
    --cinza: #6b7280;
    --cinza-claro: #f3f4f6;
    --cinza-medio: #d1d5db;
    --preto: #111827;
    --branco: #ffffff;
    --sombra: 0 4px 24px rgba(245,182,176,0.18);
    --sombra-forte: 0 8px 40px rgba(245,182,176,0.28);
  }

  

  #sp-simulador {
    font-family: 'Open Sans', sans-serif;
    background: linear-gradient(180deg,#f5b8b4 0,#f9cac8 10%,#fde0de 20%,#fef0ef 35%,#fff 50%) top/100% 650px no-repeat,#fff;
    color: var(--preto);
  }

  #sp-simulador button,
  #sp-simulador input,
  #sp-simulador textarea,
  #sp-simulador select {
    font-family: 'Open Sans', sans-serif;
  }

  @keyframes sp-floatBlob {
    0%,100% { transform: translateY(0) scale(1); }
    50%      { transform: translateY(-18px) scale(1.04); }
  }
  #sp-simulador::before {
    content: '';
    position: fixed;
    top: -60px; right: -60px;
    width: 420px; height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, #f5b6b018 0%, #f5b6b038 60%, transparent 100%);
    pointer-events: none;
    z-index: 0;
    animation: sp-floatBlob 7s ease-in-out infinite;
  }
  #sp-simulador::after {
    content: '';
    position: fixed;
    bottom: -80px; left: -60px;
    width: 380px; height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, #f5b6b018 0%, #f5b6b032 60%, transparent 100%);
    pointer-events: none;
    z-index: 0;
    animation: sp-floatBlob 8s ease-in-out infinite reverse;
    animation-delay: -3.5s;
  }



  #app-bg-stitches {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: repeating-linear-gradient(90deg, #f5b6b0 0, #f5b6b0 8px, transparent 8px, transparent 14px);
    opacity: 0.7;
    z-index: 200;
    pointer-events: none;
  }

  .header, .steps-nav, .main { position: relative; z-index: 1; }



  .steps-nav {
    background: transparent;
    padding: 0;
    border-bottom: none;
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow-x: visible;
    scrollbar-width: none;
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
  }
  .steps-nav::-webkit-scrollbar { display: none; }
  .btn-voltar-intro {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #374151;
    flex-shrink: 0;
    margin: 20px 0px 4px 16px;
    align-self: flex-start;
    box-shadow: 0 1px 6px rgba(0,0,0,0.13);
    transition: background 0.2s, box-shadow 0.2s;
  }
  .btn-voltar-intro:hover {
    background: #f3f4f6;
  }
  .btn-back {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #374151;
    flex: 0 0 auto;
    box-shadow: 0 1px 6px rgba(0,0,0,0.13);
    transition: background 0.2s, box-shadow 0.2s;
  }
  .btn-back:hover {
    background: #f3f4f6;
  }
  .step-tab {
    padding: 10px 22px;
    font-size: 1rem;
    font-weight: 500;
    color: var(--cinza);
    border-bottom: 3px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.25s;
    display: flex;
    align-items: center;
    gap: 7px;
  }
  .step-tab.active {
    color: var(--preto);
    border-bottom-color: var(--rosa-escuro);
    font-weight: 600;
  }
  .step-tab.done { color: var(--rosa-escuro); }
  .step-tab .step-num {
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--cinza-claro);
    color: var(--cinza);
    font-size: 0.72rem;
    display: flex; align-items: center; justify-content: center;
    font-weight: 600;
    transition: all 0.25s;
  }
  .step-tab.active .step-num {
    background: var(--rosa-escuro);
    color: var(--branco);
  }
  .step-tab.done .step-num {
    background: var(--rosa);
    color: var(--branco);
  }

  .main {
    display: block;
    min-height: calc(100vh - 110px);
  }

  .slides-area {
    padding: 32px 0 180px 0;
    overflow: hidden;
    transition: padding-right 0.35s ease;
  }
  .slides-area.sidebar-open {
    padding-right: 0;
  }
  #slide-0, #slide-1 {
    padding: 0 32px;
  }
  @media (max-width: 1000px) {
    #slide-0, #slide-1 { padding: 0 16px; }
  }
  .slide {
    display: none;
    animation: slideIn 0.4s ease;
  }
  .slide.active { display: block; }
  @keyframes slideIn {
    from { opacity: 0; transform: translateX(18px); }
    to   { opacity: 1; transform: translateX(0); }
  }

  .slide-title {
    font-family: 'Open Sans', serif;
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--preto);
    margin-bottom: 6px;
  }
  .slide-desc {
    font-size: 0.9rem;
    color: var(--cinza);
    margin-bottom: 28px;
  }

  .spb-gal-card {
    border-radius: 14px;
    border: 2px solid var(--cinza-medio);
    background: var(--branco);
    cursor: pointer;
    transition: border-color .2s, box-shadow .2s, transform .2s, background .2s;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
  }
  .spb-gal-card:hover {
    border-color: var(--rosa);
    box-shadow: 0 6px 20px rgba(245,182,176,.35);
    transform: translateY(-2px);
  }
  .spb-gal-card:active { transform: scale(.97); }
  .spb-gal-card.sel {
    border-color: var(--rosa-escuro);
    background: #fff8f7;
    box-shadow: 0 0 0 3px rgba(232,154,147,.3), 0 8px 24px rgba(232,154,147,.25);
    transform: translateY(-2px);
  }
  .spb-gal-cimg {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    display: block;
    background: var(--cinza-claro);
  }
  .spb-gal-cph {
    width: 100%;
    aspect-ratio: 1/1;
    background: linear-gradient(135deg, var(--rosa-claro), var(--cinza-claro));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
  }
  .spb-gal-cname {
    font-size: 13px;
    font-weight: 600;
    color: var(--preto);
    padding: 8px 8px 10px;
    text-align: center;
    line-height: 1.3;
  }
  .spb-gal-card.sel .spb-gal-cname { color: var(--rosa-escuro); }
  .spb-gal-check-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rosa-escuro);
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(0,0,0,.2);
    z-index: 2;
  }
  .spb-gal-card.sel .spb-gal-check-badge { display: flex; }

  .gender-toggle {
    display: flex;
    background: var(--cinza-claro);
    border-radius: 12px;
    padding: 4px;
    width: 100%;
    margin-bottom: 28px;
    gap: 4px;
  }
  .gender-btn {
    padding: 9px 12px;
    border-radius: 9px;
    border: none;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.22s;
    background: transparent;
    color: var(--cinza);
    flex: 1;
    white-space: nowrap;
    text-align: center;
  }
  .gender-btn.active {
    background: var(--branco);
    color: var(--preto);
    box-shadow: 0 2px 8px rgba(0,0,0,0.09);
    font-weight: 600;
  }

  .gender-select-screen {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 22px;
  }
  .gender-select-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .collar-select-images {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .collar-select-img-btn {
    aspect-ratio: 3/4;
  }
  .gender-select-images.has-infantil #gender-select-img-btn-I {
    grid-column: 1 / -1;
    justify-self: center;
    width: 50%;
    margin-top: 4px;
  }
  @media (max-width: 480px) {
    .gender-select-images {
      grid-template-columns: repeat(2, 160px);
      justify-content: center;
    }
    .gender-select-img-btn {
      width: 160px;
    }
    .collar-select-images {
      grid-template-columns: repeat(2, 115px);
      justify-content: center;
      gap: 20px;
    }
    .collar-select-img-btn {
      width: 115px;
    }
    .gender-select-images.has-infantil #gender-select-img-btn-I {
      width: 160px;
    }
  }
  @keyframes spEntranceDown {
    from { opacity: 0; transform: translateY(-16px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes spEntranceUp {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .gender-select-img-btn {
    border: none;
    padding: 0;
    margin: 0;
    background: var(--cinza-claro);
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    aspect-ratio: 3/4;
    box-shadow: 0 2px 6px rgba(245,182,176,.35), 0 8px 20px rgba(245,182,176,.4);
    transition: transform 0.3s cubic-bezier(.34,1.2,.64,1), box-shadow 0.3s cubic-bezier(.34,1.2,.64,1);
    opacity: 0;
    animation: spEntranceUp 0.55s cubic-bezier(.34,1.1,.64,1) forwards;
  }
  .gender-select-img-btn:nth-child(1) { animation-delay: .1s; }
  .gender-select-img-btn:nth-child(2) { animation-delay: .18s; }
  .gender-select-img-btn:hover {
    transform: translateY(-5px) scale(1.025);
    box-shadow: 0 4px 10px rgba(245,182,176,.45), 0 14px 32px rgba(245,182,176,.5);
  }
  .gender-select-img-btn:active {
    transform: translateY(-1px) scale(0.96);
    box-shadow: 0 2px 6px rgba(245,182,176,.35), 0 8px 20px rgba(245,182,176,.4);
  }
  .gender-select-img-btn img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform 0.35s ease;
  }
  .gender-select-img-btn:hover img {
    transform: scale(1.05);
  }
  .gender-img-label {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 24px 10px 12px;
    background: linear-gradient(to top, rgba(0,0,0,.42), rgba(0,0,0,.16) 60%, transparent);
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.88rem;
    font-weight: 500;
    text-align: center;
    text-shadow: 0 1px 3px rgba(0,0,0,.3);
    pointer-events: none;
  }
  .gender-select-labels {
    display: flex;
    gap: 16px;
  }
  .gender-select-label-btn {
    flex: 1;
    padding: 11px 10px;
    border-radius: 50px;
    border: none;
    background: var(--rosa);
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(0,0,0,.12);
    transition: background 0.2s, color 0.2s, box-shadow 0.25s cubic-bezier(.34,1.2,.64,1), transform 0.25s cubic-bezier(.34,1.2,.64,1);
    opacity: 0;
    animation: spEntranceUp 0.5s cubic-bezier(.34,1.1,.64,1) forwards;
  }
  .gender-select-label-btn:nth-child(1) { animation-delay: .26s; }
  .gender-select-label-btn:nth-child(2) { animation-delay: .32s; }
  .gender-select-label-btn:nth-child(3) { animation-delay: .38s; }
  .gender-select-label-btn:hover {
    background: var(--rosa-claro);
    color: var(--preto);
    box-shadow: 0 6px 16px rgba(245,182,176,.5);
    transform: translateY(-2px) scale(1.03);
  }
  .gender-select-label-btn:active { background: var(--rosa-claro); color: var(--preto); transform: translateY(0) scale(.95); box-shadow: 0 2px 6px rgba(0,0,0,.1); }


  .products-carousel-wrap {
    position: relative;
  }
  .carousel-arrow {
    position: absolute;
    top: 38%;
    transform: translateY(-50%);
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--branco);
    border: 1.5px solid var(--cinza-medio);
    box-shadow: 0 2px 10px rgba(0,0,0,0.12);
    cursor: pointer;
    font-size: 1rem;
    display: flex; align-items: center; justify-content: center;
    z-index: 10;
    transition: all 0.2s;
  }
  .carousel-arrow:hover { background: var(--rosa-claro); border-color: var(--rosa-escuro); }
  .carousel-arrow.left  { left: -18px; }
  .carousel-arrow.right { right: -18px; }

  .products-grid {
    display: flex;
    flex-direction: row;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 10px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--rosa) transparent;
  }
  .products-grid::-webkit-scrollbar { height: 5px; }
  .products-grid::-webkit-scrollbar-thumb { background: var(--rosa); border-radius: 4px; }

  .product-card {
    background: var(--branco);
    border-radius: 14px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.25s;
    box-shadow: var(--sombra);
    position: relative;
    flex: 0 0 160px;
    width: 160px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
  }
  .product-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--sombra-forte);
  }
  .product-card.selected {
    border-color: var(--rosa-escuro);
    background: var(--rosa-fundo);
  }
  .product-card .check {
    position: absolute;
    top: 10px; right: 10px;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: var(--rosa-escuro);
    color: white;
    font-size: 0.8rem;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(232,154,147,0.4);
  }
  .product-card.selected .check { display: flex; }
  .product-img-wrap {
    width: 100%;
    aspect-ratio: 3/4;
    background: var(--cinza-claro);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
  }
  .product-img-wrap img {
    width: 100%; height: 100%;
    object-fit: contain;
    transition: transform 0.4s ease;
  }
  .product-card:hover .product-img-wrap img { transform: scale(1.05); }
  .product-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--cinza);
    font-size: 2.5rem;
  }
  .view-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--rosa-claro);
    border: 1px solid var(--rosa);
    color: var(--preto);
    font-size: 0.7rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
    margin-top: 6px;
    width: fit-content;
  }
  .view-btn:hover { background: var(--rosa); }
  .product-info {
    padding: 8px 8px 10px;
    display: flex;
    flex-direction: column;
    flex: 1;
    align-items: center;
    text-align: center;
  }
  .product-name {
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--preto);
    margin-bottom: 3px;
    line-height: 1.2;
  }
  .product-price {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--rosa-escuro);
  }
  .product-price small {
    font-size: 0.65rem;
    color: var(--cinza);
    font-weight: 400;
  }

  .pcard-qa-overlay {
    position: absolute;
    left: 8px; right: 8px; bottom: 8px;
    background: var(--branco);
    border-radius: 14px;
    box-shadow: 0 8px 26px rgba(0,0,0,.22);
    padding: 8px 8px 10px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    opacity: 0;
    transform: translateY(10px) scale(.96);
    pointer-events: none;
    transition: opacity .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1);
    z-index: 6;
  }
  @media (hover: hover) {
    .product-card:hover .pcard-qa-overlay {
      opacity: 1;
      transform: translateY(0) scale(1);
      pointer-events: auto;
    }
  }
  .pcard-qa-sizes { display: flex; flex-wrap: wrap; gap: 5px; justify-content: center; }
  .pcard-qa-size {
    min-width: 28px; height: 26px; padding: 0 6px;
    border: 1.5px solid var(--cinza-medio); border-radius: 8px;
    background: var(--branco); color: var(--preto);
    font-size: 0.68rem; font-weight: 700;
    cursor: pointer; transition: border-color .18s, background .18s, color .18s;
    font-family: inherit;
  }
  .pcard-qa-size:hover { border-color: var(--rosa-escuro); color: var(--rosa-escuro); }
  .pcard-qa-size.active {
    background: var(--rosa-escuro); border-color: var(--rosa-escuro); color: var(--branco);
  }
  .pcard-qa-size.size-unavailable {
    color: #bbb; border-color: #eee; background-color: #f7f7f7;
    cursor: not-allowed; pointer-events: none;
    background-image: linear-gradient(to top right,
      transparent calc(50% - 1px), #cc4444 calc(50% - 1px),
      #cc4444 calc(50% + 1px), transparent calc(50% + 1px));
  }
  .pcard-qa-sizes.shake { animation: bordadoOpcShake 0.42s ease; }
  .pcard-qa-btn {
    padding: 6px 8px;
    background: var(--rosa-claro); color: var(--rosa-escuro);
    border: 1.5px solid var(--rosa); border-radius: 50px;
    font-size: 0.7rem; font-weight: 700;
    cursor: pointer; transition: background .2s, color .2s, transform .15s;
    font-family: inherit;
  }
  .pcard-qa-btn:hover { background: var(--rosa-escuro); color: var(--branco); transform: translateY(-1px); }
  .pcard-qa-btn-outline {
    padding: 6px 8px;
    background: var(--cinza-claro); color: var(--preto);
    border: 1.5px solid var(--cinza-medio); border-radius: 50px;
    font-size: 0.7rem; font-weight: 700;
    cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .15s;
    font-family: inherit;
  }
  .pcard-qa-btn-outline:hover { border-color: var(--rosa-escuro); color: var(--rosa-escuro); transform: translateY(-1px); }

  .cat-tab-btn {
    padding: 8px 14px;
    font-size: 0.82rem;
    white-space: nowrap;
    flex-shrink: 0;
    border-radius: 50px !important;
  }
  .cat-tab-back-btn {
    display: none;
  }
  @media (max-width: 480px) {
    .btn-voltar-intro {
      display: none !important;
    }
    .cat-tab-back-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      flex: 0 0 32px;
      align-self: center;
      margin-right: 6px;
      background: rgba(255,255,255,.55);
      border: none;
      color: #1a1a1a;
      cursor: pointer;
      border-radius: 50%;
      transition: color 0.2s ease, background 0.25s ease;
    }
    .cat-tab-back-btn:hover,
    .cat-tab-back-btn:active {
      color: #1a1a1a;
      background: rgba(255,255,255,.8);
    }
    .cat-tab-back-btn .material-icons {
      font-size: 18px;
    }
    .cat-tab-grid {
      grid-template-columns: auto repeat(4, minmax(0, 1fr)) !important;
      grid-auto-rows: 44px;
      gap: 6px !important;
      position: fixed;
      top: 20px;
      left: 50%;
      right: auto;
      transform: translateX(-50%);
      width: 78%;
      max-width: 360px;
      height: 54px;
      box-sizing: border-box;
      margin: 0 !important;
      padding: 5px !important;
      background: linear-gradient(160deg, #f8c8c2 0%, #f5b6b0 45%, #e39a90 100%);
      border-radius: 32px;
      overflow: hidden;
      box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 10px rgba(0,0,0,.06), 0 14px 28px rgba(0,0,0,.09), 0 8px 20px rgba(245,182,176,.3);
      z-index: 99;
    }
    #slide-0 {
      padding-top: 42px;
    }
    #gender-select-screen {
      margin-top: 45px;
    }
    #gender-select-screen.is-polo {
      margin-top: 15px;
    }
    .gender-toggle {
      margin-top: 16px;
    }
    #collar-toggle {
      margin-top: -28px;
    }
    .cat-tab-btn {
      padding: 3px 4px !important;
      font-size: 0.66rem !important;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      border-radius: 20px !important;
      background: transparent !important;
      color: rgba(255,255,255,.85) !important;
      box-shadow: none !important;
      transition: color 0.2s ease, background 0.25s cubic-bezier(.4,0,.2,1), box-shadow 0.25s ease !important;
      position: relative;
      min-width: 0;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: clip;
    }
    .cat-tab-btn:hover,
    .cat-tab-btn.btn-primary {
      color: #1a1a1a !important;
      background: rgba(255,255,255,.55) !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 2px 6px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06) !important;
    }
    .cat-tab-btn.btn-primary::after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: 2px;
      width: 4px; height: 4px;
      border-radius: 50%;
      background: #f5b6b0;
      transform: translateX(-50%);
    }
    .cat-tab-btn i {
      font-size: 0.8rem;
    }
    #category-tabs {
      gap: 4px;
    }
    .gender-btn {
      font-size: 0.76rem;
      padding: 8px 6px;
    }
    .gender-toggle {
      width: 78%;
      max-width: 360px;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 44px;
      border-radius: 32px;
      background: linear-gradient(160deg, #f8c8c2 0%, #f5b6b0 45%, #e39a90 100%);
      box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 6px 14px rgba(0,0,0,.08), 0 20px 40px rgba(0,0,0,.12), 0 10px 30px rgba(245,182,176,.4);
    }
    .gender-btn {
      background: transparent !important;
      color: rgba(255,255,255,.85) !important;
      box-shadow: none !important;
    }
    .gender-btn.active {
      background: rgba(255,255,255,.55) !important;
      color: #1a1a1a !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 2px 6px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06) !important;
    }
    .gender-btn {
      border-radius: 26px;
    }
  }
  @media (max-width: 360px) {
    .gender-btn {
      font-size: 0.68rem;
      padding: 7px 4px;
    }
  }
  .bm-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--branco);
    border: 1.5px solid var(--cinza-medio);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.18s;
    width: 100%;
    text-align: left;
    font-family: 'Open Sans', sans-serif;
  }
  .bm-card:hover { border-color: var(--rosa); background: var(--rosa-claro); }
  .bm-card.filled { border-color: var(--rosa); background: var(--rosa-claro); }
  .bm-card-icon { font-size: 1.4rem; flex-shrink: 0; }
  .bm-card-label { font-size: 0.78rem; color: var(--cinza); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
  .bm-card-value { font-size: 0.88rem; color: var(--preto); font-weight: 700; margin-top: 2px; }
  .bm-card-empty { font-size: 0.85rem; color: var(--cinza); }
  .bm-card-check { margin-left: auto; color: var(--rosa-escuro); font-size: 1.1rem; }
    background: var(--branco);
    border: 1.5px solid var(--cinza-medio);
    border-radius: 10px;
    padding: 14px;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--preto);
    cursor: pointer;
    transition: all 0.15s;
    font-family: 'Open Sans', sans-serif;
  }
  .qty-pick-btn:hover { background: var(--rosa-claro); border-color: var(--rosa); color: var(--rosa-escuro); }

  .manga-toggle-wrap { display:flex; flex-direction:column; gap:6px; }
  .manga-toggle {
    display: flex;
    background: var(--cinza-claro);
    border-radius: 10px;
    padding: 3px;
    gap: 3px;
    width: fit-content;
  }
  .manga-btn {
    padding: 7px 18px;
    border-radius: 8px;
    border: none;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    background: transparent;
    color: var(--cinza);
  }
  .manga-btn.active {
    background: var(--branco);
    color: var(--preto);
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  }

  .bordado-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
  .form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .form-group.full { grid-column: 1 / -1; }
  .form-label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--preto);
    letter-spacing: 0.3px;
  }
  .form-label span {
    font-weight: 400;
    color: var(--cinza);
    font-size: 0.76rem;
  }
  .form-input {
    padding: 11px 14px;
    border: 1.5px solid var(--cinza-medio);
    border-radius: 10px;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.9rem;
    color: var(--preto);
    background: var(--branco);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
  }
  .form-input::-webkit-search-decoration,
  .form-input::-webkit-search-cancel-button,
  .form-input::-webkit-search-results-button,
  .form-input::-webkit-search-results-decoration {
    display: none;
    -webkit-appearance: none;
  }
  #b-nome, #b-especialidade { padding-right: 36px; }
  .form-input:focus {
    border-color: var(--rosa-escuro);
    box-shadow: 0 0 0 3px rgba(245,182,176,0.22);
  }

  .search-wrap { position: relative; }
  .search-results {
    position: absolute;
    bottom: calc(100% + 4px);
    top: auto;
    left: 0; right: 0;
    background: var(--branco);
    border: 1.5px solid var(--rosa);
    border-radius: 10px;
    max-height: 260px;
    overflow-y: auto;
    z-index: 50;
    box-shadow: var(--sombra-forte);
    display: none;
    padding: 8px;
  }
  .search-results.open { display: flex; flex-direction: column; gap: 6px; }
  .search-item {
    padding: 8px 10px;
    cursor: pointer;
    font-size: 0.82rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    transition: background 0.15s;
    border-radius: 8px;
    border: 1px solid var(--cinza-medio);
    text-align: center;
  }
  .search-item:hover { background: var(--rosa-claro); border-color: var(--rosa); }
  .search-item img {
    width: 80px; height: 80px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--cinza-medio);
  }
  .search-item-name { font-weight: 600; font-size: 0.78rem; color: var(--preto); }

  .upload-area {
    border: 2px dashed var(--cinza-medio);
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    cursor: pointer;
    transition: all 0.22s;
    background: var(--cinza-claro);
    position: relative;
  }
  .upload-area:hover {
    border-color: var(--rosa-escuro);
    background: var(--rosa-claro);
  }
  .upload-area input[type="file"] { display: none; }
  .upload-icon { font-size: 2rem; margin-bottom: 6px; }
  .upload-text { font-size: 0.82rem; color: var(--cinza); }
  .upload-preview {
    max-width: 100%;
    max-height: 80px;
    border-radius: 6px;
    margin-top: 8px;
    display: none;
  }

  .bordado-opts {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 6px;
  }
  .bordado-opt {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: 1.5px solid var(--cinza-medio);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
    background: var(--branco);
  }
  .bordado-opt.selected {
    border-color: var(--rosa-escuro);
    background: var(--rosa-claro);
  }
  .bordado-opt input[type="checkbox"] {
    width: 17px; height: 17px;
    accent-color: var(--rosa-escuro);
  }
  .bordado-opt-label { font-size: 0.88rem; font-weight: 500; flex: 1; }
  .bordado-opt-price { font-size: 0.85rem; font-weight: 700; color: var(--rosa-escuro); }

  .nav-buttons {
    display: flex;
    gap: 12px;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--cinza-medio);
  }
  .btn {
    padding: 12px 28px;
    border-radius: 10px;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.22s;
  }
  .btn-primary {
    background: var(--rosa-escuro);
    color: white;
    box-shadow: 0 4px 14px rgba(232,154,147,0.35);
  }
  .btn-primary:hover {
    background: #d4837c;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(232,154,147,0.4);
  }
  .btn-primary:disabled,
  .btn-primary[disabled] {
    background: var(--cinza-medio);
    color: var(--cinza);
    box-shadow: none;
    transform: none;
    cursor: not-allowed;
    opacity: 0.6;
  }
  .btn-secondary {
    background: var(--cinza-claro);
    color: var(--cinza);
  }
  .btn-secondary:hover { background: var(--cinza-medio); color: var(--preto); }
  .btn-whatsapp {
    background: #25D366;
    color: white;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 50px;
    box-shadow: 0 4px 14px rgba(37,211,102,0.3);
  }
  .btn-whatsapp:hover { background: #1ebe5a; transform: translateY(-1px); }

  .sidebar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: 10dvh;
    width: 100%;
    height: 90dvh;
    background: var(--branco);
    border-radius: 20px 20px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    z-index: 400;
    box-shadow: 0 -8px 40px rgba(0,0,0,0.18);
    transition: transform 0.52s cubic-bezier(.32,1.12,.46,1), opacity 0.35s cubic-bezier(.4,0,.2,1), box-shadow 0.52s ease;
    transform: translateY(100%);
    opacity: 0;
    will-change: transform, opacity;
  }
  .sidebar.hidden  { transform: translateY(100%); opacity: 0; }
  .sidebar.peek    { transform: translateY(80%); opacity: 0.92; }
  .sidebar.open    { transform: translateY(0); opacity: 1; box-shadow: 0 -24px 80px rgba(245,182,176,0.45), 0 -2px 0 rgba(245,182,176,0.2); }
  #sidebar-whatsapp-block { padding-bottom: 84px !important; }

@media (min-width: 769px) {
  .sidebar {
    left: calc(50vw - 240px);
    right: calc(50vw - 240px);
    width: auto;
    border-radius: 36px;
    overflow: hidden;
    transform: translateY(100%);
  }
  .sidebar.hidden { transform: translateY(100%); opacity: 0; }
  .sidebar.peek   { transform: translateY(80%); opacity: 0.92; }
  .sidebar.open   { transform: translateY(0); opacity: 1; box-shadow: 0 -24px 80px rgba(245,182,176,0.45), 0 -2px 0 rgba(245,182,176,0.2); }
  .slides-area.sidebar-open { padding-right: 0; }
}

  .sidebar-handle-area {
    flex-shrink: 0;
    padding: 14px 20px 10px;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
  }
  .sidebar-handle-area:active { cursor: grabbing; }

  .sidebar-handle-pill {
    width: 44px;
    height: 5px;
    background: var(--cinza-medio);
    border-radius: 4px;
    margin: 0 auto 12px;
    transition: background 0.2s;
  }
  .sidebar-handle-area:hover .sidebar-handle-pill { background: var(--rosa); }

  .sidebar-scroll {
    flex: 1 1 0;
    overflow-y: auto;
    padding: 4px 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .sidebar-scroll::-webkit-scrollbar { width: 4px; }
  .sidebar-scroll::-webkit-scrollbar-thumb { background: var(--rosa); border-radius: 4px; }
  .sidebar-title {
    font-family: 'Open Sans', serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--preto);
    padding-bottom: 10px;
    border-bottom: 2px solid var(--rosa-claro);
    letter-spacing: -0.2px;
  }

  .uniform-preview {
    background: var(--rosa-claro);
    border-radius: 14px;
    padding: 16px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
  }
  .uniform-preview img {
    max-width: 100%;
    max-height: 220px;
    object-fit: contain;
    border-radius: 8px;
  }
  .preview-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--cinza);
  }
  .preview-placeholder .icon { font-size: 3rem; }
  .preview-placeholder p { font-size: 0.82rem; text-align: center; }

  .bordado-badge {
    background: var(--branco);
    border: 1.5px solid var(--rosa);
    border-radius: 10px;
    padding: 10px 14px;
    margin-top: 10px;
    width: 100%;
  }
  .bordado-badge-line {
    font-size: 0.8rem;
    color: var(--preto);
    font-weight: 500;
    line-height: 1.6;
    font-style: italic;
  }
  .bordado-badge-line.curso { color: var(--rosa-escuro); font-weight: 700; font-size: 0.75rem; }

  .price-breakdown { display: flex; flex-direction: column; gap: 8px; }
  .price-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
  }
  .price-line .label { color: var(--cinza); }
  .price-line .val { font-weight: 600; color: var(--preto); }
  .price-line.total {
    padding-top: 10px;
    border-top: 2px solid var(--rosa-claro);
    font-size: 1rem;
  }
  .price-line.total .label { color: var(--preto); font-weight: 700; }
  .price-line.total .val { color: var(--rosa-escuro); font-size: 1.2rem; font-weight: 700; }

  .modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.65);
  z-index: 500;
  align-items: flex-start;
  justify-content: center;
  padding: 10px;
}

.modal-overlay.open { 
  display: flex; 
}

@keyframes modalIn {
  from { opacity: 0; transform: scale(0.95) translateY(10px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}

.modal {
  background: var(--branco);
  border-radius: 20px;
  max-width: 680px;
  width: 100%;
  height: auto;
  max-height: calc(100dvh - 20px);
  overflow: hidden;
  position: relative;
  animation: modalIn 0.3s ease;
  display: flex;
  flex-direction: column;
  margin-top: 10px;
}

#modal-overlay,
#bordado-opcoes-overlay,
#bordado-modal-overlay {
  padding: 0;
  align-items: stretch;
  inset: 0;
}
#modal-overlay .modal,
#bordado-opcoes-overlay .modal,
#bordado-modal-overlay .modal {
  max-width: 100%;
  width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  border-radius: 0;
  margin-top: 0;
}
@media (max-width: 768px) {
  #bordado-opcoes-overlay #bordado-opcoes-footer,
  #modal-overlay .modal .modal-footer,
  #bordado-modal-overlay .modal .modal-footer {
    padding-bottom: 84px !important;
  }
}

.modal-content-row {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--rosa) var(--rosa-claro);
}
.modal-left {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
.modal-right {
  display: flex;
  flex-direction: column;
  padding: 18px;
  gap: 14px;
}
.modal-right::-webkit-scrollbar { width: 5px; }
.modal-right::-webkit-scrollbar-track { background: var(--rosa-claro); border-radius: 4px; }
.modal-right::-webkit-scrollbar-thumb { background: var(--rosa); border-radius: 4px; }
.modal-desc { font-size: 0.85rem; color: var(--cinza); line-height: 1.7; white-space: pre-line; }
.modal-desc-title { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--cinza); margin-bottom: 8px; }
.modal-price-tag { font-family: 'Open Sans', sans-serif; font-size: 1.05rem; font-weight: 700; color: var(--rosa-escuro); background: rgba(255,255,255,0.92); padding: 5px 13px; border-radius: 12px 0 0 0; border-left: 2px solid var(--rosa); border-top: 2px solid var(--rosa); flex-shrink: 0; position: absolute; bottom: 0; right: 0; top: auto; left: auto; z-index: 6; backdrop-filter: blur(4px); }
.modal-price-tag:empty { display: none; }

.modal-overlay.bottom-sheet {
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 !important;
  background: rgba(0,0,0,0.5) !important;
}
.modal-overlay.bottom-sheet > .modal {
  border-radius: 20px 20px 0 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  max-height: 85dvh !important;
  margin: 0 !important;
  animation: sheetIn 0.3s cubic-bezier(.32,1.2,.64,1) !important;
}
@keyframes sheetIn {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}

#bm-mini-overlay,
#bm-mini-overlay * {
  font-family: 'Open Sans', sans-serif;
}

#bm-mini-overlay.galeria-topo {
  position: fixed !important;
  inset: 0 !important;
  overflow: hidden !important;
  align-items: flex-start !important;
  padding: 0 !important;
  z-index: 9500 !important;
}
#bm-mini-overlay.galeria-topo > .modal {
  border-radius: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
#bm-mini-overlay.galeria-topo #bm-mini-body {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
#bm-mini-overlay.galeria-topo .modal-header,
#bm-mini-overlay.galeria-topo #bm-mini-footer {
  transition: max-height 0.25s ease, opacity 0.18s ease, padding 0.25s ease;
  max-height: 200px;
  overflow: hidden;
}
#bm-mini-overlay.galeria-topo.gal-hdr-hidden:not(.gal-search-typing) .modal-header,
#bm-mini-overlay.galeria-topo.gal-hdr-hidden #bm-mini-footer {
  max-height: 0 !important;
  opacity: 0;
  padding: 0 !important;
}
#bm-mini-overlay.gal-search-active #bm-mini-title {
  opacity: 0;
  transition: opacity 0.12s ease;
}
.spb-gal-search-wrap {
  display: none;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
#bm-mini-overlay.galeria-topo .spb-gal-search-wrap {
  display: flex;
}
#bm-mini-overlay.gal-search-active .spb-gal-search-wrap {
  flex: 1;
  min-width: 0;
}
.spb-gal-search-inputbox {
  max-width: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  transition: max-width 0.28s cubic-bezier(.32,.72,0,1), background 0.15s ease;
  border-radius: 20px;
}
#bm-mini-overlay.gal-search-active .spb-gal-search-inputbox {
  max-width: 600px;
  flex: 1;
  min-width: 0;
  background: #f3f4f6;
}
.spb-gal-search-input {
  flex: 1;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  opacity: 0;
  padding: 8px 4px 8px 14px;
  border: none;
  background: transparent;
  font-size: 14px;
  font-family: 'Open Sans', sans-serif;
  color: var(--preto);
  outline: none;
  transition: opacity 0.15s ease;
  resize: none;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  line-height: 1.2;
}
#bm-mini-overlay.gal-search-active .spb-gal-search-input {
  opacity: 1;
}
.spb-gal-search-clear {
  display: none;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-right: 8px;
  border: none;
  border-radius: 50%;
  background: var(--cinza-medio);
  color: #fff;
  cursor: pointer;
  padding: 0;
}
.spb-gal-search-clear.vis {
  display: flex;
}
.spb-gal-search-clear .material-icons {
  font-size: 14px;
}
.spb-gal-search-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid #e5e7eb;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cinza);
  box-shadow: 0 1px 4px rgba(0,0,0,0.07);
  transition: background 0.2s;
  flex-shrink: 0;
  padding: 0;
}
.spb-gal-search-btn:hover {
  background: #f5f5f5;
}
.spb-gal-search-btn .material-icons {
  font-size: 18px;
}
#bm-mini-overlay.gal-search-active .spb-gal-search-btn {
  display: none;
}
#sp-bottom-nav {
  transition: transform 0.25s ease;
}
#sp-bottom-nav.gal-nav-hidden {
  animation: none !important;
  transform: translate(-50%, 140%) !important;
}
.gal-cat-dropdown {
  position: fixed;
  top: 5dvh;
  bottom: 144px;
  left: 14px;
  right: 14px;
  background: #fff;
  border: 1.5px solid #f3f4f6;
  border-radius: 14px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.18);
  overflow: hidden;
  z-index: 9600;
  display: none;
  flex-direction: column;
}
.gal-cat-dropdown.open { display: flex; }
.gal-cat-scroll { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
@media (min-width: 641px) {
  .gal-cat-dropdown {
    position: absolute;
    top: auto;
    bottom: calc(100% + 8px);
    left: 0;
    right: auto;
    width: 260px;
    max-height: 320px;
  }
}
.gal-cat-todas {
  flex-shrink: 0;
  border-top: 1.5px solid #f3f4f6 !important;
  border-bottom: none !important;
}
.gal-cat-item {
  padding: 10px 14px;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  color: #1a1a1a;
  border-bottom: 1px solid #f3f4f6;
  font-family: 'Open Sans', sans-serif;
}
.gal-cat-item:last-child { border-bottom: none; }
.gal-cat-item:hover { background: var(--rosa-claro); color: var(--rosa-escuro); }
.gal-cat-item.active { background: var(--rosa-claro); color: var(--rosa-escuro); font-weight: 800; }

@media (max-width: 640px) {
  .modal-overlay:not(.bottom-sheet) {
    padding: 0 0 86px;
    align-items: flex-end;
  }
  #bm-mini-overlay {
    align-items: center !important;
    padding: 16px !important;
  }
  #bm-mini-overlay > .modal {
    border-radius: 20px !important;
    width: calc(100% - 32px) !important;
    max-width: 400px !important;
    height: auto !important;
    max-height: calc(100dvh - 100px) !important;
  }
  #bm-wizard-q-overlay,
  #bm-sair-confirm-overlay {
    align-items: center !important;
    padding: 16px !important;
  }
  #bm-wizard-q-overlay > .modal,
  #bm-sair-confirm-overlay > .modal {
    border-radius: 16px !important;
    width: 100% !important;
    max-width: 400px !important;
  }
  #spb-img-ov {
    align-items: center !important;
    padding: 16px !important;
  }
  #spb-img-ov > .modal {
    border-radius: 20px !important;
    height: auto !important;
    max-height: calc(100dvh - 32px) !important;
  }
  #bm-mini-overlay.galeria-topo {
    align-items: flex-start !important;
    padding: 0 !important;
  }
  #bm-mini-overlay.galeria-topo > .modal {
    border-radius: 0 !important;
    max-width: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
  }
  #bm-mini-overlay.galeria-topo .modal-header {
    flex-shrink: 0 !important;
  }
  #bm-mini-overlay.galeria-topo #bm-mini-footer {
    padding-bottom: 86px !important;
  }
  #bm-mini-overlay.galeria-topo #bm-mini-body > div > div:first-child {
    position: sticky !important;
    top: 0 !important;
    background: var(--branco) !important;
    z-index: 2 !important;
  }
  .modal {
    margin-top: 0;
    height: auto;
    max-height: calc(100dvh - 86px);
    border-radius: 20px 20px 0 0;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .modal-content-row {
    grid-template-columns: 1fr;
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
    -webkit-overflow-scrolling: touch;
  }
  .modal-left {
    border-right: none;
    border-bottom: 1px solid var(--cinza-medio);
    overflow: visible;
  }
  .modal-right {
    padding: 12px 14px;
    gap: 10px;
    overflow-y: visible;
    max-height: none;
  }
  .modal-photo-viewer { aspect-ratio: 4/3; max-height: 35dvh; }
  .modal-photo-viewer img { object-fit: contain; }
  .modal-thumbs { padding: 6px 12px; gap: 6px; }
  .modal-thumb { flex: 0 0 48px; height: 48px; }
  .modal-footer { flex-wrap: wrap; gap: 8px; padding: 10px 14px; }
  .modal-footer .btn { font-size: 0.82rem; padding: 11px 10px; flex: 1; }
  .modal-price-tag { font-size: 0.92rem; padding: 4px 11px; }
  .modal-section-label { font-size: 0.7rem; margin-bottom: 6px; text-align: center; }
  .modal-desc-title { text-align: center; }
  .modal-desc { text-align: justify; }
  .size-btn { padding: 7px 12px; font-size: 0.78rem; min-width: 42px; }
  .size-grid { gap: 7px; justify-content: center; }
  #qty-display-btn { padding: 9px 14px; font-size: 0.85rem; }
  .modal-header { padding: 8px 14px; }
  .modal-title { font-size: 0.85rem; }
}

  @media (min-width: 481px) {
    .gender-select-images,
    .collar-select-images {
      max-width: 500px;
      margin-left: auto;
      margin-right: auto;
    }
    .gender-select-images.has-infantil {
      max-width: 760px;
      grid-template-columns: repeat(3, 1fr);
    }
    .gender-select-images.has-infantil #gender-select-img-btn-I {
      grid-column: auto;
      justify-self: stretch;
      width: 100%;
      margin-top: 0;
    }
  }
  @media (min-width: 800px) {
    .product-card { flex: 0 0 240px; width: 240px; }
    .product-img-wrap { aspect-ratio: 3/4; }
    .collar-select-images {
      max-width: 900px;
      grid-template-columns: repeat(4, 1fr);
    }
  }

  .modal-header {
    padding: 18px 22px;
    border-bottom: 1px solid var(--cinza-medio);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    background: var(--branco);
    z-index: 10;
    border-radius: 20px 20px 0 0;
    flex-shrink: 0;
  }
  .modal-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
  }
  .modal-close {
    width: 32px; height: 32px;
    border-radius: 50%;
    border: none;
    background: #fff;
    cursor: pointer;
    font-size: 0.9rem;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
    box-shadow: 0 1px 6px rgba(0,0,0,0.13);
    color: #374151;
  }
  .modal-close:hover { background: #f3f4f6; }

  #modal-overlay .modal-header {
    justify-content: flex-start;
    gap: 12px;
  }
  #modal-overlay .modal-title {
    flex: 1;
    font-family: 'Open Sans', sans-serif;
  }

  .modal-photo-viewer {
    position: relative;
    background: var(--cinza-claro);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    aspect-ratio: 4/3;
    max-height: 38dvh;
    width: 100%;
  }
  .modal-photo-viewer img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: opacity 0.25s ease;
  }
  .photo-nav {
    position: absolute;
    top: 50%; transform: translateY(-50%);
    width: 38px; height: 38px;
    border-radius: 50%;
    border: none;
    background: #f5b6b0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.18);
    cursor: pointer;
    font-size: 1.1rem;
    color: #ffffff;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.2s;
    z-index: 5;
  }
  .photo-nav:hover { background: var(--rosa-escuro); }
  .photo-nav.prev { left: 12px; }
  .photo-nav.next { right: 12px; }
  .photo-counter {
    position: absolute;
    bottom: 10px; left: 50%; transform: translateX(-50%);
    background: rgba(0,0,0,0.45);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 12px;
    border-radius: 20px;
    letter-spacing: 0.5px;
  }
  .modal-thumbs {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    overflow-x: auto;
    border-bottom: 1px solid var(--cinza-medio);
    scrollbar-width: thin;
    scrollbar-color: var(--rosa) transparent;
    flex-shrink: 0;
  }
  .modal-thumbs::-webkit-scrollbar { height: 3px; }
  .modal-thumbs::-webkit-scrollbar-thumb { background: var(--rosa); border-radius: 2px; }
  .modal-thumb {
    flex: 0 0 54px;
    height: 54px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.18s;
    background: var(--cinza-claro);
  }
  .modal-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
  .modal-thumb.active { border-color: var(--rosa-escuro); box-shadow: 0 2px 8px rgba(232,154,147,0.35); }

  .modal-#sp-simulador { padding: 20px 22px 8px; }
  .modal-section-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--cinza);
    margin-bottom: 10px;
  }
  .modal-footer {
    padding: 14px 22px 20px;
    display: flex;
    gap: 10px;
    border-top: 1px solid var(--cinza-medio);
    flex-shrink: 0;
    align-items: center;
  }
  @media (max-width: 600px) {
    .modal-photo-viewer { aspect-ratio: 3/4; }
    .modal-footer { flex-wrap: wrap; }
  }

  .touca-card {
    background: var(--branco);
    border-radius: 16px;
    padding: 28px;
    max-width: 380px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.25s;
    box-shadow: var(--sombra);
    text-align: center;
  }
  .touca-card:hover { transform: translateY(-4px); box-shadow: var(--sombra-forte); }
  .touca-card.selected { border-color: var(--rosa-escuro); background: var(--rosa-claro); }
  .touca-icon { font-size: 3.5rem; margin-bottom: 12px; }
  .touca-name { font-size: 1.1rem; font-weight: 700; margin-bottom: 6px; }
  .touca-price { font-size: 1.2rem; font-weight: 700; color: var(--rosa-escuro); }


  .lightbox {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.92);
    z-index: 1000;
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
    animation: fadeIn 0.2s ease;
  }
  .lightbox.open { display: flex; }
  @keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
  .lightbox img {
    max-width: 92vw;
    max-height: 92vh;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 8px 48px rgba(0,0,0,0.6);
    animation: zoomIn 0.22s ease;
    pointer-events: none;
  }
  @keyframes zoomIn {
    from { transform: scale(0.88); opacity: 0; }
    to   { transform: scale(1);    opacity: 1; }
  }
  .lightbox-close {
    position: absolute;
    top: 18px; right: 22px;
    width: 38px; height: 38px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.2s;
  }
  .lightbox-close:hover { background: rgba(255,255,255,0.28); }
  .lightbox-nav {
    position: absolute;
    top: 50%; transform: translateY(-50%);
    width: 44px; height: 44px;
    border-radius: 50%;
    border: none;
    background: #f5b6b0;
    color: #fff;
    font-size: 1.3rem;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.2s;
  }
  .lightbox-nav:hover { background: var(--rosa-escuro); }
  .lightbox-nav.prev { left: 18px; }
  .lightbox-nav.next { right: 18px; }
  .lightbox-counter {
    position: absolute;
    bottom: 18px; left: 50%; transform: translateX(-50%);
    color: rgba(255,255,255,0.7);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.5px;
  }
  .modal-photo-viewer img { cursor: zoom-in; }

  .color-swatch {
    width: 22px; height: 22px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.18s;
    padding: 0;
    position: relative;
    box-shadow: 0 1px 4px rgba(0,0,0,0.18);
  }
  .color-swatch:hover { transform: scale(1.15); box-shadow: 0 2px 8px rgba(0,0,0,0.25); }
  .color-swatch.active {
    border-color: var(--rosa-escuro);
    transform: scale(1.18);
    box-shadow: 0 0 0 3px rgba(232,154,147,0.4);
  }
  .color-swatch.active::after {
    content: '✓';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6rem;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  }

  .size-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
  }
  .size-btn {
    padding: 10px 18px;
    border-radius: 10px;
    border: 2px solid var(--cinza-medio);
    background: var(--branco);
    font-family: 'Open Sans', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    color: var(--preto);
    min-width: 56px;
    text-align: center;
  }
  .size-btn:hover { border-color: var(--rosa-escuro); background: var(--rosa-claro); }
  .size-btn.active {
    border-color: var(--rosa-escuro);
    background: var(--rosa-escuro);
    color: var(--branco);
    box-shadow: 0 3px 10px rgba(232,154,147,0.35);
  }
  .size-btn.has-qty-btn {
    border-color: var(--rosa);
    background: var(--rosa-claro);
    color: var(--rosa-escuro);
  }
  .size-btn.size-unavailable {
    color: #bbb;
    border-color: #eee;
    background-color: #f7f7f7;
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
    background-image: linear-gradient(to top right,
      transparent calc(50% - 1px), #cc4444 calc(50% - 1px),
      #cc4444 calc(50% + 1px), transparent calc(50% + 1px));
  }
  .size-btn.size-unavailable:hover { border-color: #eee; background: #f7f7f7; }
  @media (max-width: 640px) {
    .size-btn {
      padding: 7px 12px;
      font-size: 0.78rem;
      min-width: 42px;
    }
    .size-grid { gap: 7px; }
  }

  .size-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
  }
  .size-inline-qty {
    display: none;
    align-items: center;
    gap: 4px;
  }
  .size-item.selected .size-inline-qty,
  .size-item.has-qty .size-inline-qty { display: flex; }
  .size-inline-btn {
    width: 24px; height: 24px;
    border-radius: 50%;
    border: 1.5px solid var(--rosa-escuro);
    background: var(--branco);
    color: var(--rosa-escuro);
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    line-height: 1;
    transition: all 0.15s;
  }
  .size-inline-btn:hover { background: var(--rosa-escuro); color: #fff; }
  @keyframes sizeMiniShake {
    0%,100% { transform: translateX(0); }
    15%,45%,75% { transform: translateX(-5px); }
    30%,60%,90% { transform: translateX(5px); }
  }
  .size-mini-qty-row.shake { animation: sizeMiniShake 0.4s ease; }
  .size-inline-val {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--preto);
    min-width: 18px;
    text-align: center;
  }
  .size-btn-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }
  .size-qty-mini {
    display: none;
    align-items: center;
    gap: 4px;
  }
  .size-btn-wrap.active .size-qty-mini { display: flex; }
  .size-qty-mini-btn {
    width: 22px; height: 22px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.6);
    background: transparent;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    line-height: 1;
    transition: background 0.15s;
  }
  .size-qty-mini-btn:hover { background: rgba(255,255,255,0.2); }
  .size-qty-mini-val {
    font-size: 0.82rem;
    font-weight: 700;
    color: #fff;
    min-width: 16px;
    text-align: center;
  }
  .size-qty-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
  }
  .qty-label { font-size: 0.85rem; font-weight: 600; color: var(--preto); }
  .qty-controls { display: flex; align-items: center; gap: 10px; }
  .qty-btn {
    width: 34px; height: 34px;
    border-radius: 50%;
    border: 2px solid var(--cinza-medio);
    background: var(--branco);
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.2s;
    color: var(--preto);
    line-height: 1;
  }
  .qty-btn:hover { border-color: var(--rosa-escuro); background: var(--rosa-claro); }
  .qty-val { font-size: 1rem; font-weight: 700; min-width: 24px; text-align: center; }

  .selected-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
  }
  .selected-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--rosa-claro);
    border: 1.5px solid var(--rosa);
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 0.82rem;
  }
  .selected-chip-img {
    width: 36px; height: 36px;
    object-fit: cover;
    border-radius: 6px;
    background: var(--cinza-claro);
    flex-shrink: 0;
  }
  .selected-chip-info { flex: 1; }
  .selected-chip-name { font-weight: 700; font-size: 0.82rem; }
  .selected-chip-detail { font-size: 0.74rem; color: var(--cinza); margin-top: 1px; }
  .selected-chip-price { font-weight: 700; color: var(--rosa-escuro); font-size: 0.85rem; flex-shrink: 0; }
  .selected-chip-remove {
    width: 22px; height: 22px;
    border-radius: 50%;
    border: none;
    background: var(--rosa-escuro);
    color: white;
    cursor: pointer;
    font-size: 0.7rem;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s;
  }
  .selected-chip-remove:hover { background: #c97269; }

  .product-card .count-badge {
    position: absolute;
    top: 8px; left: 8px;
    min-width: 22px; height: 22px;
    border-radius: 11px;
    background: var(--rosa-escuro);
    color: white;
    font-size: 0.72rem;
    font-weight: 700;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 3;
    padding: 0 5px;
  }
  .product-card.selected .count-badge { display: flex; }

  .form-group.nome-fixo {
}


  @media (min-width: 601px) {
    .btn.cat-tab-btn {
      padding: 6px 14px !important;
      font-size: 0.78rem !important;
      flex: 0 0 auto !important;
    }
    .gender-btn {
      padding: 5px 10px;
      font-size: 0.78rem;
    }
    .gender-toggle {
      width: fit-content;
    }
    #bm-mini-overlay.galeria-topo {
      justify-content: center !important;
    }
    #bm-mini-overlay.galeria-topo > .modal {
      max-width: 600px !important;
    }
  }
  @media (max-width: 1000px) {
    .header { padding: 12px 16px; }
    .steps-nav { padding: 0 16px; }
    .carousel-arrow.left  { left: 4px; }
    .carousel-arrow.right { right: 4px; }
  }
  @media (max-width: 600px) {
    .products-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .bordado-grid { grid-template-columns: 1fr; }
    .slide-title { font-size: 1.3rem; }
    .modal-imgs { grid-template-columns: repeat(2, 1fr); }
    .nav-buttons { flex-wrap: wrap; }
    .btn { flex: 1; }
  }

#sp-simulador {
  width: 100%;
  position: relative;
  overflow-x: hidden;
}
@keyframes bm-upload-progress {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(300%); }
}
@keyframes spb-prog-fill {
  0%   { width: 0%; }
  60%  { width: 72%; }
  85%  { width: 88%; }
  100% { width: 95%; }
}

@keyframes introOut {
  from { opacity:1; transform:scale(1); }
  to   { opacity:0; transform:scale(1.04); }
}
@keyframes introLogoIn {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes introFadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}

#intro-screen * { margin:0; padding:0; box-sizing:border-box; }
#intro-screen .sp-bnav-btn { padding: 6px 4px; margin: 0 1px; }

#intro-screen {
  position: relative;
  position: fixed;
  inset: 0;
  z-index: 10001;
  background: linear-gradient(180deg,#f5b8b4 0,#f9cac8 10%,#fde0de 20%,#fef0ef 35%,#fff 50%) top/100% 650px no-repeat,#fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-family: 'Open Sans', system-ui, sans-serif;
}

#intro-inner {
  width: 100%;
  max-width: 480px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 24px 96px;
  position: relative;
  z-index: 1;
}

#intro-screen::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 260px; height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle,#f5b6b010 0%,#f5b6b030 60%,transparent 100%);
  animation: sp-floatBg 6s ease-in-out infinite;
  pointer-events: none;
}
#intro-screen::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -60px;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle,#f5b6b015 0%,#f5b6b025 60%,transparent 100%);
  animation: sp-floatBg 8s ease-in-out infinite reverse;
  pointer-events: none;
}
@keyframes sp-floatBg {
  0%,100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-20px) scale(1.05); }
}

#intro-stitches {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: repeating-linear-gradient(90deg,#f5b6b0 0px,#f5b6b0 8px,transparent 8px,transparent 14px);
  opacity: .7;
}

#intro-logo-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 36px;
  opacity: 0;
  transform: translateY(-30px);
  animation: sp-slideDown .7s cubic-bezier(.34,1.56,.64,1) .1s forwards;
  z-index: 2;
  position: relative;
}
@keyframes sp-slideDown {
  to { opacity:1; transform:translateY(0); }
}

#intro-logo-area img {
  width: 90px; height: 90px;
  object-fit: contain;
  border-radius: 30px;
  filter: drop-shadow(0 8px 18px #f5b6b055);
  display: block;
}
.intro-brand-name {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -.5px;
  color: #2a2a2a;
  line-height: 1.2;
}
.intro-brand-name span { color: #e08880; }
.intro-brand-tagline {
  font-size: 12px;
  color: #aaa;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: -4px;
}

#intro-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-bottom: 28px;
  opacity: 0;
  animation: sp-fadeIn .5s ease .5s forwards;
  z-index: 2;
  position: relative;
}
@keyframes sp-fadeIn { to { opacity:1; } }
.intro-divider-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg,transparent,#f5b6b060,transparent);
}
.intro-divider-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #f5b6b0;
}

#intro-headline {
  text-align: center;
  margin-bottom: 32px;
  opacity: 0;
  animation: sp-fadeUp .6s ease .4s forwards;
  z-index: 2;
  position: relative;
}
@keyframes sp-fadeUp {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}
#intro-headline h1 {
  font-size: 22px;
  font-weight: 700;
  color: #1e1e1e;
  line-height: 1.3;
  letter-spacing: -.3px;
  margin: 0;
}
#intro-headline h1 em {
  font-style: normal;
  color: #e08880;
}
#intro-headline p {
  font-size: 14px;
  color: #999;
  margin-top: 6px;
}

#intro-cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  z-index: 2;
  position: relative;
}
.intro-card {
  background: #fff;
  border: 1.5px solid #f0f0f0;
  border-radius: 18px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s ease, border-color .22s ease;
  opacity: 0;
  transform: translateX(40px);
  text-decoration: none !important;
  font-family: 'Open Sans', sans-serif;
  -webkit-tap-highlight-color: transparent;
}
.intro-card:nth-child(1) { animation: sp-slideIn .55s cubic-bezier(.34,1.56,.64,1) .6s forwards; }
.intro-card:nth-child(2) { animation: sp-slideIn .55s cubic-bezier(.34,1.56,.64,1) .75s forwards; }
.intro-card:nth-child(3) { animation: sp-slideIn .55s cubic-bezier(.34,1.56,.64,1) .9s forwards; }
@keyframes sp-slideIn { to { opacity:1; transform:translateX(0); } }

.intro-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,#f5b6b008 0%,transparent 60%);
  opacity: 0;
  transition: opacity .3s ease;
}
.intro-card:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 12px 36px #f5b6b030;
  border-color: #f5b6b0;
}
.intro-card:hover::before { opacity: 1; }
.intro-card:active { transform: scale(.98); }

.intro-card-icon {
  width: 52px; height: 52px;
  background: linear-gradient(135deg,#f5b6b020,#f5b6b040);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .3s ease;
  overflow: hidden;
}
.intro-card:hover .intro-card-icon {
  background: linear-gradient(135deg,#f5b6b0,#e08880);
}
.intro-card:hover .intro-card-icon svg path,
.intro-card:hover .intro-card-icon svg circle,
.intro-card:hover .intro-card-icon svg rect { stroke: #fff !important; }
.intro-card-icon svg { width: 26px; height: 26px; }
.intro-card-icon img {
  width: 36px; height: 36px;
  object-fit: contain;
  transition: filter .3s ease;
  display: block;
}
.intro-card:hover .intro-card-icon img { filter: brightness(0) invert(1); }

.intro-card-text { flex: 1; min-width: 0; }
.intro-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #1e1e1e;
  margin-bottom: 3px;
  display: block;
  text-align: justify;
}
.intro-card-sub {
  font-size: 12.5px;
  color: #999;
  line-height: 1.4;
  display: block;
  text-align: justify;
}

.intro-card-arrow {
  width: 30px; height: 30px;
  background: #f9f9f9;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .2s ease, transform .2s ease;
}
.intro-card:hover .intro-card-arrow { background: #f5b6b0; transform: translateX(3px); }
.intro-card:hover .intro-card-arrow svg path { stroke: #fff; }

@media (max-width: 480px) {
  #intro-inner { padding: 40px 16px 36px; max-width: 100%; }
  .intro-brand-name { font-size: 24px; }
  #intro-headline h1 { font-size: 20px; }
}
@media (min-width: 769px) {
  .cat-tab-grid {
    max-width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
  .gender-toggle {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 769px) {
  #intro-inner {
    background: var(--branco);
    border-radius: 28px;
    box-shadow: 0 20px 60px rgba(0,0,0,.08);
    padding: 56px 36px 48px;
  }
}

@keyframes spBnavEnter {
  0%{ opacity:0; transform:translate(-50%, 28px) scale(.92); }
  60%{ opacity:1; transform:translate(-50%, -5px) scale(1.02); }
  100%{ opacity:1; transform:translate(-50%, 0) scale(1); }
}
@keyframes spBnavIconPop {
  0%{ transform:scale(1) rotate(0); }
  40%{ transform:scale(1.32) rotate(-6deg); }
  70%{ transform:scale(.92) rotate(3deg); }
  100%{ transform:scale(1) rotate(0); }
}
@keyframes spBnavDotPop {
  from{ transform:translateX(-50%) scale(0); }
  to{ transform:translateX(-50%) scale(1); }
}
#sp-bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: 78%;
  max-width: 360px;
  background: linear-gradient(160deg, #f8c8c2 0%, #f5b6b0 45%, #e39a90 100%);
  border-radius: 32px;
  padding: 5px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  z-index: 300;
  box-shadow:
    0 1px 2px rgba(0,0,0,.05),
    0 6px 14px rgba(0,0,0,.08),
    0 20px 40px rgba(0,0,0,.12),
    0 10px 30px rgba(245,182,176,.4);
  overflow: hidden;
  animation: spBnavEnter .6s cubic-bezier(.34,1.56,.64,1) both;
}
.sp-bnav-btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  background: transparent;
  border: none;
  border-radius: 22px;
  cursor: pointer;
  font-family: 'Open Sans', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: rgba(255,255,255,.85);
  letter-spacing: .1px;
  text-transform: none;
  transition: color 0.2s ease, background 0.25s cubic-bezier(.4,0,.2,1), transform 0.15s cubic-bezier(.4,0,.2,1), box-shadow 0.25s ease;
  padding: 6px 4px;
  margin: 0 1px;
  position: relative;
}
.sp-bnav-btn:hover, .sp-bnav-btn:active, .sp-bnav-btn.active {
  color: #1a1a1a;
  background: rgba(255,255,255,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 2px 6px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);
}
.sp-bnav-btn:active { transform: scale(.94); }
.sp-bnav-btn.active:active { transform: scale(.96); }
.sp-bnav-btn.active::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: #f5b6b0;
  transform: translateX(-50%);
  animation: spBnavDotPop .35s cubic-bezier(.34,1.56,.64,1) .05s both;
}
.sp-bnav-icon {
  width: 18px; height: 18px;
  border-radius: 0;
  background: none;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem;
  transition: transform 0.2s;
}
.sp-bnav-icon svg { stroke: currentColor; transition: stroke 0.2s ease; }
.sp-bnav-icon svg.pop { animation: spBnavIconPop .45s cubic-bezier(.34,1.56,.64,1); }
.sp-bnav-btn:hover .sp-bnav-icon,
.sp-bnav-btn:active .sp-bnav-icon {
  background: none;
  transform: translateY(0);
}

.sp-bnav-sheet-ov {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0);
  z-index: 10100;
  pointer-events: none;
  transition: background 0.3s;
}
.sp-bnav-sheet-ov.open {
  background: rgba(0,0,0,0.45);
  pointer-events: all;
}
.sp-bnav-sheet {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%) scale(0.92) translateY(12px);
  opacity: 0;
  width: calc(100% - 48px);
  max-width: 380px;
  background: var(--branco);
  border-radius: 24px;
  padding: 0 0 8px;
  font-family: 'Open Sans', sans-serif;
  transition: transform 0.28s cubic-bezier(.34,1.56,.64,1), opacity 0.2s;
  box-shadow: 0 16px 48px rgba(0,0,0,0.2), 0 4px 12px rgba(0,0,0,0.08);
  max-height: calc(100dvh - 110px);
  overflow-y: auto;
}
.sp-bnav-sheet-ov.open .sp-bnav-sheet {
  transform: translateX(-50%) scale(1) translateY(0);
  opacity: 1;
}
.sp-bnav-sheet-handle {
  display: none;
}
.sp-bnav-sheet-head {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--cinza-claro);
  position: relative;
}
.sp-bnav-sheet-head button[aria-label="Fechar"] {
  position: absolute !important;
  right: 12px !important;
  margin-left: 0 !important;
}
.sp-bnav-sheet-head-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  background: var(--rosa-claro);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.95rem;
  flex-shrink: 0;
}
.sp-bnav-sheet-title {
  font-family: 'Open Sans', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--preto);
}
.sp-bnav-sheet-body {
  padding: 12px 14px 4px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sp-bnav-row {
  display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 10px;
  background: var(--branco);
  border: 1.5px solid var(--cinza-medio);
  border-radius: 12px;
  padding: 12px 14px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.sp-bnav-row::after {
  content: '';
  position: absolute;
  top: 8px; bottom: 8px; left: 0;
  width: 3px; border-radius: 0 2px 2px 0;
  background: repeating-linear-gradient(180deg, #f5b6b0 0, #f5b6b0 5px, transparent 5px, transparent 10px);
  opacity: .55;
}
.sp-bnav-row-icon {
  font-size: 1.2rem;
  flex-shrink: 0;
}
.sp-bnav-row-label {
  font-size: 0.62rem;
  font-weight: 800;
  color: var(--rosa-escuro);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 2px;
}
.sp-bnav-row-value {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--preto);
  line-height: 1.5;
}
.sp-bnav-row-value small {
  font-size: 0.8rem;
  font-weight: 400;
  color: var(--cinza);
}
.sp-bnav-badge {
  display: inline-block;
  background: var(--rosa-claro);
  color: var(--rosa-escuro);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  margin-top: 4px;
}

@keyframes spCartPulse {
  0%,100% { box-shadow: 0 6px 24px rgba(232,154,147,0.5), 0 0 0 0 rgba(245,182,176,0.5); }
  50%      { box-shadow: 0 6px 24px rgba(232,154,147,0.5), 0 0 0 8px rgba(245,182,176,0); }
}
#sp-cart-btn {
  display: none !important;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #fef0ee 0%, #f9ccc8 45%, #f5b6b0 100%);
  color: var(--preto);
  border: none;
  border-radius: 999px;
  padding: 11px 18px 11px 14px;
  cursor: pointer;
  font-family: 'Open Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  box-shadow: 0 6px 24px rgba(232,154,147,0.5), 0 2px 8px rgba(0,0,0,0.08);
  z-index: 290;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s, opacity 0.25s;
  white-space: nowrap;
}
#sp-cart-btn:hover {
  background: linear-gradient(135deg, #fde8e6 0%, #f5b6b0 50%, #e89a93 100%);
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(232,154,147,0.6), 0 2px 8px rgba(0,0,0,0.10);
}
#sp-cart-btn:active { transform: scale(0.97); }
#sp-cart-icon {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  background: #fff;
  border-radius: 50%;
  flex-shrink: 0;
}
#sp-cart-icon svg { width: 15px; height: 15px; fill: none; stroke: var(--cinza); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#sp-cart-count {
  position: absolute;
  top: -5px; right: -5px;
  background: var(--preto);
  color: #fff;
  font-size: 0.6rem;
  font-weight: 800;
  width: 16px; height: 16px;
  border-radius: 50%;
  display: none;
  align-items: center; justify-content: center;
  border: 1.5px solid #f5b6b0;
}
#sp-cart-value {
  color: var(--preto);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: -0.3px;
}
#sp-cart-label {
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--cinza);
}
@keyframes spCartPop {
  0%   { transform: scale(0.5) translateY(20px); opacity: 0; }
  60%  { transform: scale(1.1) translateY(-4px);  opacity: 1; }
  80%  { transform: scale(0.96) translateY(1px);  opacity: 1; }
  100% { transform: scale(1) translateY(0);        opacity: 1; }
}
@keyframes spCartShow {
  0%   { opacity: 0; transform: scale(0.6) translateY(28px); }
  55%  { opacity: 1; transform: scale(1.08) translateY(-4px); }
  80%  { opacity: 1; transform: scale(0.97) translateY(1px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes spCartHide {
  0%   { opacity: 1; transform: scale(1) translateY(0); }
  30%  { opacity: 0.6; transform: scale(1.04) translateY(-3px); }
  100% { opacity: 0; transform: scale(0.7) translateY(28px); }
}
#sp-cart-btn.pop       { animation: spCartPop 0.55s cubic-bezier(.34,1.56,.64,1) forwards, spCartPulse 1.2s ease 0.55s 2; }
#sp-cart-btn.cart-show { animation: spCartShow 0.55s cubic-bezier(.34,1.56,.64,1) forwards; }
#sp-cart-btn.cart-hide { animation: spCartHide 0.30s cubic-bezier(.4,0,1,1) forwards; }

.bordado-opcao-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 10px;
  border-radius: 14px;
  cursor: pointer;
  user-select: none;
  transition: background 0.15s;
}
.bordado-opcao-item:hover { background: var(--cinza-claro); }
.bordado-opcao-item.selecionado { background: var(--rosa-claro); }
.bordado-opcao-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #f8f9fa;
  border: 1px solid rgba(0,0,0,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bordado-opcao-item.selecionado .bordado-opcao-icon {
  border-color: var(--rosa);
}
.bordado-opcao-text { flex: 1; min-width: 0; }
.bordado-opcao-title {
  display: block;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--preto);
  line-height: 1.3;
}
.bordado-opcao-sub {
  display: block;
  font-size: 0.74rem;
  color: var(--cinza);
  margin-top: 2px;
}
.bordado-opcao-check {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 2px solid var(--cinza-medio);
  background: #fff;
  flex-shrink: 0;
  transition: all 0.15s;
}
.bordado-opcao-item.selecionado .bordado-opcao-check {
  background: var(--rosa-escuro);
  border-color: var(--rosa-escuro);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: 13px;
  background-position: center;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  #modal-overlay,
  #bordado-opcoes-overlay,
  #bordado-modal-overlay {
    align-items: center;
    padding: 20px 24px 84px;
  }
  #modal-overlay .modal,
  #bordado-opcoes-overlay .modal,
  #bordado-modal-overlay .modal {
    max-width: 480px;
    width: 100%;
    height: calc(100dvh - 86px - 40px);
    max-height: calc(100dvh - 86px - 40px);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  #modal-overlay .modal-photo-viewer {
    aspect-ratio: 3/4;
    max-height: 55dvh;
  }
  #modal-overlay,
  #bordado-opcoes-overlay,
  #bordado-modal-overlay {
    background: linear-gradient(160deg, #f5e8e5 0%, #ede0dc 50%, #e4d3cf 100%);
  }
  #bm-mini-overlay {
    align-items: center;
    justify-content: center;
    padding: 20px;
  }
  #bm-mini-overlay .modal {
    max-width: 360px;
    width: calc(100% - 48px);
    margin-top: 0;
  }
  #bm-mini-overlay.galeria-topo {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 20px 20px 96px !important;
  }
  #bm-mini-overlay.galeria-topo > .modal {
    border-radius: 20px !important;
    max-width: 520px !important;
    width: 100% !important;
    height: calc(100dvh - 40px - 96px) !important;
    max-height: calc(100dvh - 40px - 96px) !important;
  }
}

#sp-bottom-nav,
#sp-cart-btn {
  z-index: 10000;
}

#bordado-opcoes-continuar {
  width: auto !important;
  align-self: flex-end;
  border-radius: 50px !important;
}
@keyframes bordadoOpcShake {
  0%,100% { transform: translateX(0); }
  15%,45%,75% { transform: translateX(-6px); }
  30%,60%,90% { transform: translateX(6px); }
}
#bordado-opcoes-list.shake { animation: bordadoOpcShake 0.42s ease; }
#size-grid.shake { animation: bordadoOpcShake 0.42s ease; }
#btn-adicionar-bordado.shake { animation: bordadoOpcShake 0.42s ease; }

#size-mini-overlay .modal-section-label {
  text-align: center;
}
#size-mini-overlay .size-btn {
  padding: 6px 10px;
  min-width: 38px;
  font-size: 0.8rem;
  border-radius: 8px;
}
#size-mini-overlay .btn {
  padding: 10px 14px;
  font-size: 0.83rem;
}

#bm-mini-modal .modal-header {
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 16px 12px;
}
#bm-mini-modal .modal-title {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  text-align: center;
}
#bm-mini-body {
  text-align: center;
}
#bm-mini-body input,
#bm-mini-body textarea,
#bm-mini-body .form-input {
  text-align: left;
}
.bmw-txt-input {
  width: 100%;
  padding: 12px 40px 12px 14px;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  font-size: 15px;
  color: #1a1a1a;
  background: #f3f4f6;
  outline: none;
  font-family: inherit;
  display: block;
  transition: border-color .2s, background .2s;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.bmw-txt-input:focus {
  border-color: #F5B6B0;
  background: #fff;
}
.bmw-txt-input::placeholder {
  color: #b0b7c3;
}
textarea.form-input,
textarea.bmw-txt-input {
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  line-height: 1.2;
}
.bmw-txt-hint {
  font-size: 12px;
  color: #6b7280;
  margin-top: 5px;
}
.bmw-txt-actbar {
  display: flex;
  gap: 8px;
  padding: 6px 0 10px;
  border-top: 1px solid #e5e7eb;
  margin-top: 4px;
}
.bmw-txt-ok {
  flex: 1;
  padding: 12px;
  border-radius: 30px;
  border: none;
  background: #F5B6B0;
  font-size: 14px;
  font-weight: 700;
  color: #7a2e28;
  cursor: pointer;
  font-family: inherit;
  text-align: center;
  transition: opacity .2s, background .2s;
}
.bmw-txt-ok:disabled {
  opacity: .45;
  cursor: default;
  pointer-events: none;
}
.bmw-txt-ok:not(:disabled):hover {
  background: #e89a93;
}

@media (min-width: 769px) {
  .slides-area {
    overflow: visible;
  }
  .products-carousel-wrap {
    margin-left: -16px;
    margin-right: -16px;
  }
  .products-grid {
    padding-left: 16px;
    padding-right: 16px;
    justify-content: safe center;
  }
  .btn-voltar-intro {
    margin-left: 76px;
  }
}
@media (min-width: 1001px) {
  .products-carousel-wrap {
    margin-left: -32px;
    margin-right: -32px;
  }
  .products-grid {
    padding-left: 32px;
    padding-right: 32px;
  }
  .carousel-arrow.left  { left: 8px; }
  .carousel-arrow.right { right: 8px; }
  .carousel-arrow {
    opacity: 0;
    pointer-events: none;
  }
  .products-carousel-wrap:hover .carousel-arrow {
    opacity: 1;
    pointer-events: auto;
  }
}

#spb-img-ov {
  background: rgba(0,0,0,0.92);
}

#size-mini-overlay .btn-primary,
#proxima-peca-overlay .btn-primary,
#edit-produto-overlay .btn-primary,
#bordado-opcoes-overlay .btn-primary,
#spb-img-ov .btn-primary,
#bm-mini-body .btn-primary,
#bm-mini-footer .btn-primary,
#bordado-modal-overlay .btn-primary,
#wizard-overlay .btn-primary {
  background: #F5B6B0 !important;
  color: #7a2e28 !important;
  border: none !important;
  border-radius: 30px !important;
  padding: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  box-shadow: none !important;
  transform: none !important;
}
#size-mini-overlay .btn-primary:hover,
#proxima-peca-overlay .btn-primary:hover,
#edit-produto-overlay .btn-primary:hover,
#bordado-opcoes-overlay .btn-primary:hover,
#spb-img-ov .btn-primary:hover,
#bm-mini-body .btn-primary:hover,
#bm-mini-footer .btn-primary:hover,
#bordado-modal-overlay .btn-primary:hover,
#wizard-overlay .btn-primary:hover {
  background: #e89a93 !important;
  transform: none !important;
  box-shadow: none !important;
}
