/* Product page refinement from the approved photo + purchase-panel composition. */
.approved-product-page { padding-block:24px 46px; }
.approved-product-page .breadcrumb { margin-bottom:24px; font-size:12px; }
.approved-product-page .product-detail { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:32px; }
.approved-product-page .product-media { grid-template-columns:72px minmax(0,1fr); gap:12px; align-items:start; }
.approved-product-page .thumbnail-row { grid-row:1/3; gap:10px; max-height:550px; }
.approved-product-page .thumbnail { width:72px; height:86px; flex-basis:86px; padding:3px; border-radius:9px; background:#fffcf7; border:1px solid var(--line); }
.approved-product-page .thumbnail.selected { border:2px solid var(--pink); padding:2px; box-shadow:none; }
.approved-product-page .thumbnail img { width:100%; height:100%; object-fit:cover; border-radius:5px; }
.approved-product-page .main-product-photo { grid-column:2; border-radius:14px; aspect-ratio:1; overflow:hidden; border:1px solid var(--line); }
.approved-product-page .main-product-photo>img { width:100%; height:100%; object-fit:cover; }
.approved-product-page .main-product-photo>span { opacity:1; width:42px; height:42px; right:14px; bottom:14px; background:#fffcf7e8; color:var(--pink-dark); border:1px solid #e2c9b2; }
.product-media-caption { grid-column:2; margin:0; font-size:11px; line-height:1.6; color:var(--muted); }
.approved-product-page .product-description>.eyebrow { display:inline-block; margin:0 0 10px; font-size:10px; letter-spacing:.12em; }
.approved-product-page .product-description h1 { font-size:44px; line-height:1.06; margin:0 0 10px; letter-spacing:-.045em; overflow-wrap:anywhere; }
.product-tagline { font:500 23px/1.25 var(--serif); color:var(--pink-dark); letter-spacing:-.025em; margin:0 0 14px; }
.approved-product-page .product-description .description { font-size:14px; line-height:1.65; color:var(--muted); margin:0 0 16px; }
.product-context { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-bottom:16px; }
.approved-product-page .stock-badge { margin:0; font-size:11px; background:#edf1e6; color:#43603d; border:1px solid #d6dfc9; padding:5px 9px; }
.approved-product-page .stock-badge.out { background:#f3e7df; color:#8c421f; border-color:#e3c4b0; }
.approved-product-page .product-occasion { display:flex; align-items:center; gap:7px; margin:0; font-size:11px; color:var(--muted); }
.approved-product-page .product-occasion svg { width:16px; height:16px; color:var(--pink); flex-shrink:0; }
.approved-product-page .approved-price-panel { background:#fffaf2; border:1px solid #e2c9ae; border-radius:12px; padding:22px; margin:0; }
.approved-product-page .approved-price-panel>span { font-size:11px; letter-spacing:.04em; color:var(--muted); }
.approved-product-page .detail-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin:2px 0 18px; }
.approved-product-page .detail-price strong { font-size:40px; font-weight:600; line-height:1.15; color:var(--pink-dark); }
.approved-product-page .detail-price s { font-size:14px; color:var(--muted); }
.approved-product-page .quantity-line { justify-content:space-between; border-top:1px solid var(--line); padding-top:16px; margin-bottom:16px; font-size:12px; gap:16px; }
.approved-product-page .quantity-control { min-width:136px; height:44px; border-radius:7px; background:#fffcf7; }
.approved-product-page .quantity-control button { width:44px; height:42px; }
.approved-product-page .quantity-control output { font-size:14px; }
.approved-product-page .min-qty-hint { margin:0 0 13px; color:var(--muted); font-size:12px; line-height:1.5; }
.approved-product-page .approved-price-panel .button { min-height:46px; margin-bottom:9px; padding:11px 14px; font-size:13px; border-radius:7px; }
.approved-product-page .approved-price-panel .button:last-child { margin-bottom:0; }
.approved-product-page .approved-price-panel .button svg { width:19px; height:19px; }
.approved-product-page .wishlist-line,.approved-product-page .wishlist-line.active { color:var(--pink-dark); border-color:#d6b394; background:transparent; }
.approved-product-page .wishlist-line.active { background:#f3e4d4; }
.approved-product-page .wishlist-line.active svg,.approved-product-page .wishlist-button.active svg { color:var(--pink-dark); fill:currentColor; stroke:currentColor; }
.approved-product-page>.product-payments { margin:24px 0 0; padding:20px 24px; border:1px solid var(--line); border-radius:12px; background:#fffcf7; }
.approved-product-page .product-payments>summary { align-items:center; font-size:13px; gap:16px; }
.approved-product-page .product-payments>summary>span:last-child { color:var(--muted); font-size:12px; }
.approved-product-page .product-payments>summary>span:last-child svg:last-child { width:14px; height:14px; transition:transform .15s; }
.approved-product-page .product-payments[open]>summary>span:last-child svg:last-child { transform:rotate(180deg); }
.approved-product-page .payment-box { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); gap:16px 24px; border:0; border-radius:0; background:transparent; box-shadow:none; padding:0; margin:18px 0 0; }
.approved-product-page .payment-box-header,.approved-product-page .payment-box>h3 { display:none; }
.approved-product-page .payment-box>.muted { grid-column:1/-1; font-size:14px; margin:0; }
.approved-product-page .pay-card-pix { margin:0; padding:18px; border:1px solid #d9dfcd; border-radius:9px; background:#f0f3e9; gap:14px; align-self:stretch; }
.approved-product-page .pay-pix-title { font-size:11px; letter-spacing:.035em; color:#43603d; }
.approved-product-page .pay-pix-price { font-size:14px; }
.approved-product-page .pay-pix-price strong { display:block; font-size:23px; color:#43603d; margin-top:4px; }
.approved-product-page .pay-card-pix .old-price { font-size:12px; }
.approved-product-page .pay-cards-section { margin:0; padding:0; border:0; }
.approved-product-page .payment-box:not(:has(.pay-card-pix)) .pay-cards-section { grid-column:1/-1; }
.approved-product-page .pay-cards-header { margin:0 0 8px; font-size:12px; }
.approved-product-page .pay-cards-header strong { font-size:13px; }
.approved-product-page .pay-brands-logos { margin:0 0 12px; gap:8px !important; }
.approved-product-page .pay-installments-list { grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; gap:8px; }
.approved-product-page .pay-inst-item { border:1px solid var(--line); border-radius:6px; background:#fffaf2; padding:8px 10px; font-size:11px; gap:4px; box-shadow:none; }
.approved-product-page .pay-inst-item:hover { border-color:#d6b394; box-shadow:none; }
.approved-product-page .pay-notice { grid-column:1/-1; margin:0; padding:11px 14px; background:#f6eadc; color:#75533e; border:1px solid #e7d1b9; border-radius:7px; font-size:12px; font-weight:400; }
.approved-product-page .pay-notice svg { color:var(--pink-dark); stroke:currentColor; }
.approved-product-page .product-payments>.summary-note { margin:12px 0 0; font-size:11px; }
.approved-product-page .product-lower-info { grid-template-columns:1fr 1fr; margin-top:20px; gap:18px; }
.approved-product-page .product-lower-info>section { padding:24px; border:1px solid var(--line); border-radius:12px; background:#fffaf2; }
.approved-product-page .product-lower-info h2 { font-size:27px; line-height:1.2; margin-bottom:14px; }
.approved-product-page .product-lower-info .rich-text,.approved-product-page .product-lower-info p { font-size:13px; line-height:1.7; }
.approved-product-page .contains-grid { gap:9px; }
.approved-product-page .contains-grid>div { padding:9px 0; border-bottom:1px solid var(--line); }
.approved-product-page .product-notice { margin-top:18px; padding-top:15px; }
.approved-product-page .product-notice h3 { font-size:12px; margin-bottom:6px; }
.approved-product-page .related-section { margin-top:32px; }
.approved-product-page .related-section .section-heading { margin-bottom:18px; gap:16px; }
.approved-product-page .related-section h2 { font-size:32px; }
.approved-product-page .related-section .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.approved-product-page .related-card { border:1px solid var(--line); border-radius:12px; background:#fffcf7; padding:8px; min-height:205px; grid-template-columns:42% 58%; }
.approved-product-page .related-card .product-photo { overflow:hidden; border-radius:7px; }
.approved-product-page .related-card .product-info { padding:12px 14px; }
.approved-product-page .related-card .product-info h3 { font-size:23px; line-height:1.1; padding-right:22px; }
.approved-product-page .related-card .product-card-description { font-size:12px; }
.approved-product-page .related-card .wishlist-button { display:flex; width:36px; height:36px; right:8px; top:8px; }
.approved-product-page .related-card .product-bottom strong { font-size:19px; }
.approved-product-page .related-card .button { min-height:40px; padding:9px 12px; font-size:12px; }
@media(max-width:1000px) {
  .approved-product-page .product-detail { gap:24px; grid-template-columns:1fr 1fr; }
  .approved-product-page .product-media { grid-template-columns:58px minmax(0,1fr); gap:10px; }
  .approved-product-page .thumbnail { width:58px; height:72px; flex-basis:72px; }
  .approved-product-page .product-description h1 { font-size:37px; }
  .product-tagline { font-size:21px; }
  .approved-product-page .approved-price-panel { padding:18px; }
  .approved-product-page .payment-box { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:16px; }
  .approved-product-page .pay-card-pix { padding:14px; }
  .approved-product-page .related-card .product-info h3 { font-size:21px; }
}
@media(max-width:800px) {
  .approved-product-page .product-detail { grid-template-columns:1fr; gap:24px; }
  .approved-product-page .product-media { grid-template-columns:72px minmax(0,1fr); }
  .approved-product-page .thumbnail { width:72px; height:86px; flex-basis:86px; }
  .approved-product-page .main-product-photo { max-height:600px; }
  .approved-product-page .product-description h1 { font-size:40px; }
  .approved-product-page .product-lower-info { grid-template-columns:1fr; }
  .approved-product-page .related-section .product-grid { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .approved-product-page { padding-block:18px 32px; }
  .approved-product-page .breadcrumb { margin-bottom:18px; font-size:11px; flex-wrap:wrap; }
  .approved-product-page .product-media { display:flex; flex-direction:column; gap:10px; }
  .approved-product-page .main-product-photo { width:100%; order:0; aspect-ratio:1; max-height:none; border-radius:12px; }
  .approved-product-page .thumbnail-row { order:1; flex-direction:row; width:100%; overflow:auto; gap:8px; padding:2px 0 4px; max-height:none; }
  .approved-product-page .thumbnail { width:62px; height:72px; flex:0 0 62px; }
  .product-media-caption { order:2; font-size:10px; }
  .approved-product-page .product-description h1 { font-size:35px; }
  .product-tagline { font-size:22px; margin-bottom:12px; }
  .approved-product-page .product-description .description { font-size:14px; }
  .product-context { gap:10px; }
  .approved-product-page .product-occasion { line-height:1.5; }
  .approved-product-page .detail-price strong { font-size:35px; }
  .approved-product-page .approved-price-panel .button { min-height:48px; font-size:13px; }
  .approved-product-page>.product-payments { padding:18px; margin-top:20px; }
  .approved-product-page .product-payments>summary { align-items:flex-start; gap:10px; }
  .approved-product-page .product-payments>summary>span { width:100%; }
  .approved-product-page .product-payments>summary>span:last-child { justify-content:space-between; }
  .approved-product-page .payment-box { grid-template-columns:1fr; gap:18px; margin-top:18px; }
  .approved-product-page .pay-card-pix { padding:15px; }
  .approved-product-page .pay-installments-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .approved-product-page .pay-inst-item { font-size:12px; padding:10px; }
  .approved-product-page .pay-notice { font-size:11px; }
  .approved-product-page .product-lower-info>section { padding:20px; }
  .approved-product-page .product-lower-info h2 { font-size:25px; }
  .approved-product-page .related-section .section-heading { flex-direction:column; align-items:flex-start; gap:10px; }
  .approved-product-page .related-section h2 { font-size:28px; }
  .approved-product-page .related-card { min-height:205px; grid-template-columns:40% 60%; }
  .approved-product-page .related-card .product-info { padding:11px; }
  .approved-product-page .related-card .product-info h3 { font-size:21px; }
  .approved-product-page .related-card .product-bottom strong { font-size:17px; }
}
