/* Cores de fundo da loja — mantém as áreas escuras existentes. */
#categorias {
  background: linear-gradient(125deg, #682260 0%, #913782 55%, #b3489d 100%);
}

#categorias h2,
#categorias .section-heading > p,
#categorias .category,
#categorias .category small {
  color: #fff;
}

#categorias .eyebrow { color: #f8cce9; }

#categorias .category {
  background: rgba(54, 12, 49, .24);
  border-color: rgba(255, 255, 255, .28);
}

#categorias .category:hover { background: rgba(54, 12, 49, .45); }
#categorias .category-icon { color: #ffd9f1; }

/* Substitui os fundos claros restantes por gradientes da mesma paleta. */
.featured { background: linear-gradient(120deg, #f0c9e3 0%, #e4b2d8 100%); }
.how { background: linear-gradient(120deg, #cf79b6 0%, #e7afd4 100%); }
footer { background: #eac0dc; }

footer p,
footer a { color: #42113d; }

footer .instagram-link { color: #8d1e75; background: #ffd7ef; border: 1px solid #d85ab8; border-radius: 999px; padding: 10px 16px; font-size: 16px; font-weight: 700; }
footer .instagram-link:hover { color: #fff; background: #8d1e75; }

.product-photo { background: #fff; padding: 12px; }
.product-photo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.product-photo { border: 0; cursor: zoom-in; }
.product-card.is-hidden { display: none; }
.catalog-tools { display: flex; align-items: center; gap: 10px; }
.show-all { border: 1px solid #792c70; border-radius: 99px; background: transparent; color: #5e2158; padding: 9px 14px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.show-all:hover { background: #792c70; color: #fff; }
.empty-category { grid-column: 1 / -1; margin: 0; padding: 30px; text-align: center; color: #5e2158; background: rgba(255,255,255,.42); border-radius: 8px; }
.product-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.product-info .product-description { margin: 10px 0; color: #593452; font-size: 13px; line-height: 1.45; text-transform: none; letter-spacing: normal; }
.details-button { color: #42113d; background: transparent; border: 1px solid #7a2c70; padding: 10px 13px; border-radius: 99px; font-size: 12px; font-weight: 600; }
.details-button:hover { background: #7a2c70; color: #fff; }
.image-modal { position: fixed; inset: 0; z-index: 20; display: none; place-items: center; padding: 32px; background: rgba(25, 5, 22, .92); }
.image-modal.open { display: grid; }
.image-modal img { max-width: min(92vw, 680px); max-height: 82vh; object-fit: contain; background: #fff; border-radius: 8px; }
.image-modal button { position: absolute; top: 20px; right: 26px; border: 0; background: transparent; color: #fff; font-size: 38px; line-height: 1; }
.details-modal { position: fixed; inset: 0; z-index: 21; display: none; overflow-y: auto; padding: 24px; background: rgba(25, 5, 22, .88); }
.details-modal.open { display: grid; place-items: start center; }
.details-modal article { width: min(100%, 720px); position: relative; margin: 30px 0; padding: 34px; border-radius: 12px; background: #fff8fc; color: #3b1838; line-height: 1.58; }
.details-modal h2 { font-size: 32px; line-height: 1.1; margin: 0 34px 6px 0; }
.details-modal h3 { margin: 27px 0 8px; font-family: 'Playfair Display', serif; font-size: 23px; color: #6f2769; }
.details-modal p { margin: 10px 0; }
.details-modal .details-price { color: #862d7f; font-weight: 700; font-size: 19px; }
.details-modal .detail-actions { display: flex; align-items: center; gap: 10px; margin: 12px 0 18px; }
.details-modal .share-product { position: static; border: 1px solid #7b2b73; border-radius: 999px; background: transparent; color: #671e61; padding: 9px 14px; font-size: 13px; font-weight: 700; }
.details-modal .share-product:hover { color: #fff; background: #7b2b73; }
.details-modal .share-feedback { color: #6e526a; font-size: 12px; }
.details-modal dl { display: grid; grid-template-columns: minmax(120px, .8fr) 1.4fr; gap: 8px 18px; margin: 0; }
.details-modal dt { font-weight: 700; color: #6f2769; }
.details-modal dd { margin: 0; }
.details-modal article > button[aria-label="Fechar detalhes"] { position: sticky; z-index: 2; top: 0; display: block; margin: -19px -15px 0 auto; border: 0; background: #fff8fc; color: #4a1845; font-size: 32px; line-height: 1; }
.details-modal .product-actions { display: flex; gap: 8px; margin-top: 20px; }
.details-modal .product-actions .add-button { position: static; border: 1px solid #7a2c70; background: #fff; color: #42113d; font-size: 12px; line-height: normal; }
.product-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 18px 0; }
.product-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; background: #fff; border: 1px solid #ead1e5; border-radius: 7px; cursor: zoom-in; }
.color-picker { margin: 18px 0; }
.color-picker > p { margin-bottom: 9px; }
.color-picker strong, #selectedPigColor { color: #7a2c70; }
.color-options { display: flex; gap: 9px; flex-wrap: wrap; }
.details-modal .color-option { position: relative; top: auto; right: auto; display: flex; flex-direction: column; align-items: center; width: 112px; padding: 5px 5px 8px; border: 1px solid #ddc4d8; border-radius: 7px; background: #fff; color: #5a1c54; font-size: 12px; font-weight: 700; line-height: 1.25; }
.details-modal .color-option img { width: 100%; aspect-ratio: 1.25; object-fit: contain; display: block; margin-bottom: 4px; }
.details-modal .ursula-color-option { position: relative; top: auto; right: auto; display: flex; flex-direction: column; align-items: center; width: 112px; padding: 5px 5px 8px; border: 1px solid #ddc4d8; border-radius: 7px; background: #fff; color: #5a1c54; font-size: 12px; font-weight: 700; line-height: 1.25; }
.details-modal .ursula-color-option img { width: 100%; aspect-ratio: 1.25; object-fit: contain; display: block; margin-bottom: 4px; }
.ursula-color-option.selected { border: 2px solid #6d2466; box-shadow: 0 0 0 2px #f2c5e6; }
.ursula-color-option.selected::after { content: '✓'; position: absolute; top: -9px; right: -9px; display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: #5a9c75; color: #fff; font-size: 13px; }
.color-option.selected { border: 2px solid #6d2466; box-shadow: 0 0 0 2px #f2c5e6; }
.color-option.selected::after { content: '✓'; position: absolute; top: -9px; right: -9px; display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: #5a9c75; color: #fff; font-size: 13px; }
@media (max-width: 560px) { .details-modal { padding: 12px; } .details-modal article { padding: 27px 21px; } .details-modal dl { grid-template-columns: 1fr; gap: 1px; } .details-modal dd { margin-bottom: 8px; } }
@media (max-width: 700px) { .catalog-tools { align-items: flex-start; flex-wrap: wrap; } }
