/* One continuous product surface: image, context and request. */
.pd-page-wrapper { background: #fff; }
.pd-page-wrapper .pd-main-container { gap: 30px; }
.pd-page-wrapper .pd-breadcrumbs { flex-wrap: wrap; line-height: 1.8; }
.pd-page-wrapper .pd-hero-grid { gap: 48px; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); }
.pd-gallery-wrap, .pd-product-info { min-width: 0; }
.pd-gallery-wrap { position: sticky; top: 120px; }
.pd-page-wrapper .pd-main-image-box { height: auto; aspect-ratio: 1; border: 0; border-radius: 16px; background: #f8f7f7; }
.pd-page-wrapper .pd-main-image-box img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
.pd-page-wrapper .pd-thumbs-strip { gap: 10px; padding-block: 8px; }
.pd-page-wrapper .pd-thumb-btn { width: 76px; height: 76px; border-radius: 8px; }
.pd-product-info { padding-block: 8px; }
.pd-retail-price { display: flex; flex-wrap: wrap; gap: 6px 14px; padding-block: 16px; margin-bottom: 8px; align-items: center; }
.pd-retail-price > span { font-size: 12px; color: #64748b; width: 100%; }
.pd-retail-price strong { font-size: 30px; font-weight: 800; color: #672340; }
.pd-retail-price small { font-size: 10px; color: #64748b; }
.pd-business-entry { border: 1px solid #dcc7d0; border-radius: 14px; background: #fcf9fa; margin: 12px 0 24px; scroll-margin-top: 110px; }
.pd-business-entry summary { cursor: pointer; list-style: none; padding: 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #672340; }
.pd-business-entry summary::-webkit-details-marker { display: none; }
.pd-business-entry summary strong, .pd-business-entry summary small { display: block; }
.pd-business-entry summary strong { font-size: 14px; line-height: 1.7; }
.pd-business-entry summary small { font-size: 10px; line-height: 1.9; color: #70616a; margin-top: 4px; }
.pd-business-chevron { font-size: 24px; }
.pd-business-entry[open] .pd-business-chevron { transform: rotate(180deg); }
.pd-business-content { padding: 0 20px 20px; border-top: 1px solid #eadfe4; }
.pd-business-content p { font-size: 12px; line-height: 1.9; color: #64748b; margin: 14px 0; }
.pd-business-content h2 { font-size: 15px; font-weight: 700; color: #321020; margin: 18px 0 12px; }
.pd-business-content ul { list-style: none; padding: 0; margin: 0 0 20px; }
.pd-business-content li { padding-block: 9px; border-bottom: 1px solid #eadfe4; }
.pd-business-content li strong { display: block; font-size: 12px; font-weight: 600; }
.pd-business-content li span { display: block; font-size: 11px; color: #64748b; line-height: 1.8; margin-top: 5px; }
.pd-business-content label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 10px; }
.pd-business-actions { display: flex; gap: 10px; }
.pd-business-actions input { width: 80px; min-width: 0; text-align: center; border: 1px solid #dcc7d0; border-radius: 8px; background: #fff; font: inherit; }
.pd-business-actions button { flex: 1; min-height: 48px; border: 1px solid #672340; background: #fff; color: #672340; border-radius: 8px; padding: 10px; font: inherit; font-size: 12px; font-weight: 700; }
.pd-business-actions button:disabled { opacity: .5; cursor: not-allowed; }
.pd-business-content [data-supply-feedback] { color: #166b50; }
.pd-included-section[hidden] { display: none !important; }
.pd-page-wrapper .pd-title { font-size: clamp(25px, 2.6vw, 36px); line-height: 1.5; }
.pd-page-wrapper .pd-subtitle { line-height: 1.9; }
.pd-supply-intro { padding-block: 20px; margin-block: 18px; border-block: 1px solid #e9e2e5; }
.pd-supply-label { color: #672340; font-size: 12px; font-weight: 600; }
.pd-supply-intro h2 { font-size: 19px; line-height: 1.7; margin: 7px 0; font-weight: 700; }
.pd-supply-intro p, .pd-order-note { font-size: 12px; line-height: 1.9; color: #64748b; margin: 0; }
.pd-supply-intro .pd-pack-info { margin-top: 10px; color: #334155; }
.pd-purchase-title { margin: 0 0 12px; font-size: 14px; font-weight: 600; }
.pd-page-wrapper .pd-purchase-row { margin-bottom: 12px; flex-wrap: nowrap; }
.pd-page-wrapper .pd-qty-stepper { border-radius: 999px; height: 52px; direction: ltr; }
.pd-page-wrapper .pd-btn-add-cart { height: 52px; border-radius: 999px; box-shadow: none; padding-inline: 16px; }
.pd-review-request { display: inline-flex; gap: 12px; align-items: center; color: #672340; font-size: 12px; font-weight: 600; margin-block: 14px; }
.pd-description-panel { border-block: 1px solid #e9e2e5; margin-bottom: 20px; padding-block: 16px; }
.pd-description-panel summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.pd-description-panel p { white-space: pre-line; font-size: 13px; line-height: 1.9; color: #64748b; margin-top: 12px; }
.pd-order-steps { display: flex; gap: 12px; padding: 16px 0; margin: 0 0 20px; list-style: none; border-top: 1px solid #e9e2e5; }
.pd-order-steps li { flex: 1; color: #475569; font-size: 10px; line-height: 1.8; }
.pd-order-steps span { display: block; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #f5eef1; color: #672340; text-align: center; font-weight: 700; margin-bottom: 8px; }
.pd-page-wrapper .pd-mini-features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pd-sticky-request { display: none; }
.pd-page-wrapper button:focus-visible, .pd-page-wrapper a:focus-visible { outline: 2px solid #672340; outline-offset: 4px; }
@media (max-width: 1024px) {
    .pd-page-wrapper .pd-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .pd-gallery-wrap { position: static; }
    .pd-page-wrapper .pd-main-image-box { max-height: 600px; }
}
@media (max-width: 640px) {
    .pd-page-wrapper { padding-top: 108px; padding-bottom: 130px; }
    .pd-page-wrapper .pd-main-container { padding-inline: 16px; gap: 18px; }
    .pd-page-wrapper .pd-breadcrumbs { font-size: 10px; gap: 5px; }
    .pd-page-wrapper .pd-main-image-box { min-height: 280px; border-radius: 10px; }
    .pd-page-wrapper .pd-title { font-size: 25px; line-height: 1.5; }
    .pd-page-wrapper .pd-info-header { gap: 10px; flex-wrap: wrap; }
    .pd-page-wrapper .pd-category-pill { font-size: 10px; }
    .pd-page-wrapper .pd-btn-add-cart { font-size: 11px; gap: 5px; padding-inline: 10px; }
    .pd-page-wrapper .pd-qty-btn { width: 30px; }
    .pd-page-wrapper .pd-qty-input { width: 34px; }
    .pd-page-wrapper .pd-mini-feature-box { padding-inline: 5px; }
    .pd-sticky-request { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: fixed; bottom: 0; inset-inline: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid #e9e2e5; background: #fff; z-index: 45; box-shadow: 0 -4px 20px #32102008; }
    .pd-sticky-request strong, .pd-sticky-request small { display: block; }
    .pd-sticky-request strong { color: #321020; font-size: 12px; }
    .pd-sticky-request small { color: #64748b; font-size: 9px; margin-top: 5px; }
    .pd-sticky-request button { border: 0; border-radius: 999px; min-height: 46px; padding: 10px 18px; color: #fff; background: #672340; font: inherit; font-size: 11px; font-weight: 600; }
    .pd-sticky-options { display: flex; gap: 6px; }
    .pd-sticky-request .pd-sticky-business { background: #fff; border: 1px solid #dcc7d0; color: #672340; }
    .pd-sticky-request button { padding-inline: 10px; font-size: 10px; }
    .pd-business-entry summary { padding: 16px; }
    .pd-business-content { padding-inline: 16px; }
    #product-order { scroll-margin-top: 120px; }
    body:has([data-supply-product]) .whatsapp-float { bottom: 100px; }
}
