/* Shared, scoped enhancement for every WhatsApp store product template. */
.store-detail-page { --detail-accent: var(--primary-color, #c49a74); --detail-ink: #30251d; --detail-muted: #655a51; --detail-line: #e6ded7; --detail-soft: #faf6f2; padding-bottom: 0; }
.store-detail-page footer { margin-block-start: 0 !important; padding-block-end: max(24px, var(--detail-bar-space, 0px)) !important; }
.store-detail-page .detail-recommendations-section { margin-block-end: 24px !important; padding-block-end: 0 !important; }
.store-detail-page .detail-recommendations-section .product-main-cards { margin-block-end: 0 !important; }
.store-detail-page .detail-layout { display: grid !important; grid-template-columns: minmax(0,1fr); gap: 24px; margin-inline: 0; }
.store-detail-page .detail-layout > .detail-media, .store-detail-page .detail-layout > .detail-information { width: 100% !important; max-width: 100%; min-width: 0; padding-inline: 0 !important; }
.store-detail-page .detail-media .details-img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; max-height: 640px; border-radius: 16px; overflow: hidden; }
.store-detail-page .detail-media img { border-radius: 16px; }
.store-detail-page .detail-information > div { min-width: 0; }
.store-detail-page .detail-information.details { display: block !important; }
.store-detail-page .detail-options-stack { flex-direction: column !important; align-items: stretch !important; width: 100%; }
.store-detail-page .product-attributes-section { width: 100%; }
.store-detail-page :is(.detail-information, .detail-information .product-name, .detail-group, .detail-purchase) { font-family: inherit !important; }
.store-detail-page .detail-information .product-name { font-size: 28px !important; line-height: 1.2; overflow-wrap: anywhere; }
.store-detail-page .detail-information .selling_price { font-size: 22px !important; font-variant-numeric: tabular-nums; }
.store-detail-page .detail-group { background: #fff !important; color: var(--detail-ink) !important; border: 1px solid var(--detail-line) !important; border-radius: 16px !important; box-shadow: 0 3px 14px #30251d08; margin-block: 16px !important; padding: 0 !important; scroll-margin-block: 24px; overflow: hidden; }
.store-detail-page .detail-group .text-white, .store-detail-page .detail-group .text-dark { color: var(--detail-ink) !important; }
.store-detail-page .detail-group-header { width: 100%; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; text-align: start; border: 0; background: transparent; color: var(--detail-ink); padding: 16px; min-height: 64px; cursor: pointer; }
.detail-group-title { font-size: 17px; font-weight: 700; flex: 1 1 110px; overflow-wrap: anywhere; }
.detail-group-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.detail-badge, .detail-price-pill { border-radius: 99px; background: #f1ebe5; color: var(--detail-muted); padding: 3px 9px; font-size: 12px; line-height: 1.5; font-weight: 500; }
.detail-count { background: #f1ebe5; color: #493b2e; }
.detail-hint { display: block; flex-basis: 100%; color: var(--detail-muted); font-size: 12px; }
.detail-chevron { transition: transform .18s; }
[aria-expanded="true"] .detail-chevron { transform: rotate(180deg); }
.detail-group-body { padding: 0 16px 16px; }
.detail-group-body[hidden] { display: none !important; }
.store-detail-page .detail-option { display: flex !important; align-items: center; gap: 12px; padding: 12px !important; margin: 0 !important; background: #fff; border: 1px solid var(--detail-line); border-radius: 12px; min-height: 66px; transition: background .18s, border-color .18s; }
.store-detail-page .detail-option + .detail-option { margin-block-start: 12px !important; }
.store-detail-page .detail-option.is-selected { background: var(--detail-soft); border-color: var(--detail-accent); }
.detail-option-name { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.detail-price-pill { display: table; margin-block-start: 5px; white-space: nowrap; }
.store-detail-page .detail-option .input-group { width: auto !important; flex-shrink: 0; flex-wrap: nowrap; direction: ltr; }
.store-detail-page .detail-option .input-group button { width: 40px !important; height: 40px !important; padding: 0 !important; border-radius: 50% !important; background: #fff; border: 1px solid #a39180; color: #493b2e !important; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; }
.store-detail-page .detail-option .attribute-counter-input { width: 26px !important; flex: 0 0 26px; border: 0 !important; background: transparent !important; color: var(--detail-ink) !important; font-size: 14px; }
.store-detail-page .detail-option.is-zero .btn-attr-counter-minus, .store-detail-page .detail-option.is-zero .attribute-counter-input { display: none !important; }
.store-detail-page .detail-option .form-check-input { float: none !important; margin: 0 !important; flex: 0 0 20px; width: 20px; height: 20px; accent-color: var(--detail-accent); }
.store-detail-page .detail-option .form-check-input:checked { background-color: #745336; background-color: color-mix(in srgb, var(--detail-accent) 65%, #000); border-color: #75604d; }
.store-detail-page .detail-option .form-check-label { flex: 1; cursor: pointer; padding-block: 8px; }
.detail-sauce-list { display: grid !important; grid-template-columns: minmax(0,1fr); gap: 12px !important; }
.store-detail-page .detail-sauce-list .detail-option { margin: 0 !important; }
.detail-group-error { display: block; margin: 0; padding: 0 16px 16px; color: #a32323; font-size: 13px; }
.detail-group-error[hidden] { display: none; }
.store-detail-page .detail-group.is-invalid { border: 2px solid #b52e2e !important; }
.detail-purchase { background: #fff; color: var(--detail-ink); border: 1px solid var(--detail-line); border-radius: 16px; padding: 16px; margin-block-start: 20px; }
.detail-summary { display: flex; flex-wrap: wrap; gap: 6px; max-height: 72px; overflow-y: auto; margin-block-end: 10px; }
.detail-summary:empty { display: none; }
.detail-summary button { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; border: 1px solid var(--detail-line); border-radius: 99px; background: var(--detail-soft); color: var(--detail-ink); padding: 6px 12px; font-size: 12px; }
.detail-total-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 10px; }
.detail-total { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.store-detail-page .detail-purchase .addToCartBtn { width: 100% !important; min-height: 48px; border-radius: 12px !important; background: var(--detail-accent) !important; border-color: var(--detail-accent) !important; color: var(--detail-button-ink, #30251d) !important; padding: 12px !important; font: inherit; font-weight: 700; }
.store-detail-page .detail-purchase .addToCartBtn.is-added { background: #21633c !important; color: #fff !important; }
.store-detail-page .detail-purchase .addToCartBtn.d-none { display: none !important; }
.detail-review-toggle { border: 1px solid #a39180; border-radius: 12px; min-height: 48px; padding: 10px 16px; background: #fff; color: #30251d; font: inherit; }
.store-detail-page .detail-recommendations { display: flex !important; flex-wrap: nowrap !important; align-items: stretch; gap: 16px; width: 100%; min-width: 0; max-width: 100%; margin-inline: 0 !important; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 0 16px; box-sizing: border-box; }
.store-detail-page .detail-recommendations > * { flex: 0 0 240px !important; width: 240px !important; min-width: 240px !important; max-width: 240px !important; scroll-snap-align: start; position: relative; }
.store-detail-page .detail-recommendation-item { display: flex !important; flex-direction: column; position: relative; padding: 0 !important; background: #fff !important; color: var(--detail-ink); border: 1px solid var(--detail-line) !important; border-radius: 16px; box-shadow: 0 3px 14px #30251d08 !important; overflow: hidden; }
.store-detail-page .detail-recommendation-item > a { display: flex !important; flex-direction: column; width: 100%; min-width: 0; height: 100%; color: inherit !important; text-decoration: none; }
.store-detail-page .detail-recommendation-item .product-card { display: flex !important; flex-direction: column; width: 100% !important; min-width: 0 !important; max-width: none !important; height: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; overflow: hidden; }
.store-detail-page .detail-recommendation-item .product-img { width: 100% !important; min-width: 0 !important; height: auto !important; max-height: none !important; aspect-ratio: 4 / 3; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; overflow: hidden; }
.store-detail-page .detail-recommendation-item .product-img img { display: block; width: 100% !important; height: 100% !important; max-width: 100% !important; aspect-ratio: auto !important; object-fit: cover; border-radius: 0 !important; }
.store-detail-page .detail-recommendation-item :is(.product-details, .product-desc) { flex: 1; width: 100% !important; min-width: 0; height: auto !important; padding: 12px !important; box-sizing: border-box; }
.store-detail-page .detail-recommendation-item :is(.product-details, .product-desc) > div { width: 100%; min-width: 0; }
.store-detail-page .detail-recommendation-item :is(.product-name, .product-details p, .product-desc p, .selling_price) { color: var(--detail-ink) !important; overflow-wrap: anywhere; }
.store-detail-page .detail-recommendation-item .product-name { width: 100% !important; max-width: 100% !important; font-size: 16px !important; line-height: 1.4; white-space: normal; margin-block-end: 6px !important; }
.store-detail-page .detail-recommendation-item .detail-quick-add { position: absolute !important; inset: auto !important; inset-inline-end: 12px !important; inset-block-start: 12px !important; width: 44px !important; min-width: 44px !important; max-width: 44px !important; height: 44px !important; min-height: 44px !important; max-height: 44px !important; margin: 0 !important; padding: 0 !important; border-radius: 50% !important; border: 1px solid #a39180 !important; background: #fff !important; color: #30251d !important; font-size: 24px !important; line-height: 1; display: flex; align-items: center; justify-content: center; transform: none !important; z-index: 2; }
.store-detail-page :is(button, input, a):focus-visible { outline: 3px solid #745336 !important; outline-offset: 3px; }
.detail-skeleton { height: 68px; border-radius: 12px; background: linear-gradient(90deg,#eee7e0,#faf7f4,#eee7e0); background-size: 200% 100%; animation: detail-shimmer 1.2s infinite; }
.product-attributes-section { position: relative; }
.detail-options-loading { display: none; }
.detail-ui-pending .detail-options-loading { display: grid; gap: 16px; position: absolute; inset: 0; background: #fff; padding: 16px; z-index: 1; pointer-events: none; align-content: start; border-radius: 16px; }
.store-detail-page #write-review-form-card[hidden], [data-detail-description][hidden] { display: none !important; }
.store-detail-page .product-reviews-section { padding-block: 24px !important; }
.store-detail-page .product-reviews-section .review-score.display-3 { font-size: 32px; }
.store-detail-page .product-reviews-section .review-card { padding: 16px !important; }
.store-detail-page .product-reviews-section .row.mb-5 { margin-bottom: 20px !important; }
.store-detail-page .product-reviews-section .review-section-title.fs-28 { font-size: 22px !important; }
.detail-quick-add:focus-visible { outline-offset: 3px; }
.detail-price-changed { animation: detail-pop .25s ease-out; }
@keyframes detail-pop { 50% { transform: scale(1.07); } }
@keyframes detail-shimmer { to { background-position: -200% 0; } }
@media (min-width: 992px) {
  .store-detail-page .detail-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 40px; align-items: start; }
  .store-detail-page .detail-media { position: sticky; top: 24px; align-self: start; }
  .detail-chevron { display: none; }
  .detail-sauce-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991.98px) {
  .store-detail-page.detail-has-purchase .atocard-floating-cart-bar { display: none !important; }
  .store-detail-page .detail-purchase { position: fixed; inset-inline: 0; bottom: 0; border-radius: 16px 16px 0 0; margin: 0; z-index: 1035; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); box-shadow: 0 -4px 20px #30251d18; }
  .store-detail-page.detail-modal-open .detail-purchase { visibility: hidden; }
  .store-detail-page .detail-sauce-list { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(190px,70%); overflow-x: auto; scroll-snap-type: x mandatory; padding: 3px; }
  .detail-sauce-list > * { scroll-snap-align: start; }
  .store-detail-page .item-details-section { padding-inline: 16px !important; }
  .store-detail-page .item-details-card { padding: 16px !important; overflow: visible !important; }
}
@media (prefers-reduced-motion: reduce) { .store-detail-page *, .store-detail-page *::before { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
