/* Exclusivo da página de compra do produto. */
.product-detail-page { padding-top: 32px; }
.product-detail-page .product-breadcrumb { margin-bottom: 24px; font-size: 13px; }
.product-detail-page .product-showcase { grid-template-columns: minmax(0,1.18fr) minmax(0,1fr); gap: 32px; }
.product-detail-page .product-media-column { min-width: 0; }
.product-detail-page .product-main-media { isolation: isolate; background: #111114; border-radius: 18px; }
.product-detail-page .product-main-media > img.product-media-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(24px) brightness(.65) saturate(.85); transform: scale(1.15); opacity: .8; z-index: -1; pointer-events: none; }
.product-detail-page .product-main-media > .product-picture > img { object-fit: contain; transform: none; }
.product-detail-page .product-thumb-strip { gap: 10px; padding: 14px 2px 4px; }
.product-detail-page .product-thumb { position: relative; isolation: isolate; flex: 0 0 90px; width: 90px; height: 62px; border-radius: 10px; background: #17171b; }
.product-detail-page .product-thumb .product-picture > img { position: relative; z-index: 1; object-fit: contain; transform: none; }
.product-detail-page .product-thumb > img.product-thumb-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(9px) brightness(.65); transform: scale(1.2); z-index: -1; }
.product-detail-page .product-thumb.active { border-color: var(--brand2); box-shadow: 0 0 0 1px var(--brand2); }
.product-detail-page .product-buy-panel { position: sticky; top: 104px; min-width: 0; padding: 28px; border-color: #443238; border-radius: 18px; background: linear-gradient(150deg,#1e1b1e 0%,#17181c 42%); box-shadow: 0 16px 48px #00000020; }
.product-detail-page .product-buy-head { padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.product-detail-page .product-buy-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.product-detail-page .product-buy-meta .badge { max-width: 100%; font-size: 12px; font-weight: 500; padding: 4px 11px; overflow-wrap: anywhere; }
.product-detail-page .product-buy-meta .status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; font-weight: 500; }
.product-detail-page .product-buy-meta i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.product-detail-page .product-buy-head h1 { margin: 20px 0 12px; font-size: clamp(28px,3vw,38px); letter-spacing: -.04em; overflow-wrap: anywhere; }
.product-detail-page .product-short-description { font-size: 14px; line-height: 1.75; }
.product-detail-page .product-description-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: #de9a9f; font-size: 12px; }
.product-detail-page .product-description-link:hover { color: #f2c6c9; }
.product-detail-page .product-plan-area { min-width: 0; margin: 24px 0 0; padding: 0; border: 0; }
.product-detail-page .product-plan-area legend { padding: 0; font-size: 17px; font-weight: 600; letter-spacing: -.02em; color: var(--text); }
.product-detail-page .product-plan-hint { margin: 5px 0 16px; color: var(--muted); font-size: 12px; }
.product-detail-page .product-plan-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; margin: 0; border: 0; border-radius: 0; background: none; overflow: visible; }
.product-detail-page .product-plan-row { position: relative; display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; align-content: center; gap: 2px 12px; min-width: 0; min-height: 66px; margin: 0; padding: 12px 16px; border: 1px solid #363238; border-radius: 11px; background: #151619; box-shadow: none; transition: border-color .16s,background .16s; }
.product-detail-page .product-plan-row:hover:not(.is-out) { border-color: #85515a; background: #211a1e; }
.product-detail-page .product-plan-name { grid-area: 1/2; align-self: end; }
.product-detail-page .product-plan-name strong { display: block; font-size: 13px; font-weight: 650; letter-spacing: .02em; text-transform: uppercase; color: #e7e2e6; overflow-wrap: anywhere; }
.product-detail-page .product-plan-radio { grid-area: 1/1/3/2; width: 16px; height: 16px; align-self: center; border-color: #55515a; }
.product-detail-page .product-plan-price { grid-area: 1/3/3/4; min-width: 0; font-size: 17px; font-weight: 650; letter-spacing: -.025em; line-height: 1.25; color: #e5e1e4; white-space: nowrap; text-align: right; }
.product-detail-page .product-plan-caption { grid-area: 2/2; align-self: start; font-size: 11px; line-height: 1.4; color: #939098; }
.product-detail-page .product-plan-selected { display: none; }
.product-detail-page .product-plan-row:has(input:checked) { border-color: #b83e45; background: linear-gradient(100deg,#382026,#21191d 75%); box-shadow: inset 3px 0 0 #dc4654; }
.product-detail-page .product-plan-row:has(input:checked) .product-plan-name strong { color: #fff; }
.product-detail-page .product-plan-row:has(input:checked) .product-plan-price { color: #fff; }
.product-detail-page .product-plan-row:has(input:checked) .product-plan-unselected { display: none; }
.product-detail-page .product-plan-row:has(input:checked) .product-plan-selected { display: inline; color: #ecaab1; }
.product-detail-page .product-plan-row:has(input:checked) .product-plan-radio { background: transparent; border-color: #e65d6a; }
.product-detail-page .product-plan-row:has(input:checked) .product-plan-radio::after { content: ''; inset: 3px; border-radius: 50%; background: #e65d6a; }
.product-detail-page .product-plan-row.is-out { opacity: .5; }
.product-detail-page .product-plan-row:focus-within { outline: none; }
.product-detail-page .product-plan-row:has(input:focus-visible) { outline: 2px solid var(--brand2); outline-offset: 3px; }
.product-detail-page .product-total-box { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin: 22px 0 16px; padding: 20px 0 0; border-top: 1px solid var(--line); }
.product-detail-page .product-total-label > span { color: #b8aeb7; font-size: 12px; font-weight: 500; letter-spacing: 0; }
.product-detail-page .product-total-label small { display: block; margin-top: 3px; color: #eee2e6; font-size: 13px; }
.product-detail-page .product-total-box > strong { margin: 0; font-size: clamp(27px,2.7vw,34px); color: var(--text); }
.product-detail-page .product-buy-now { width: 100%; min-height: 52px; border-radius: 10px; }
.product-detail-page .product-payment-note { margin: 13px 0 0; font-size: 11px; line-height: 1.75; }
.product-detail-page .product-description-panel { margin-top: 24px; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #16171a; scroll-margin-top: 108px; }
.product-detail-page .product-description-head { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.product-detail-page .product-detail-icon { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border: 1px solid #67404a; border-radius: 10px; background: #b83e4510; color: #dc8c96; }
.product-detail-page .product-detail-icon svg { width: 20px; height: 20px; }
.product-detail-page .product-description-head h2 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.product-detail-page .product-full-description { margin-top: 22px; white-space: normal; font-size: 14px; line-height: 1.8; color: #bcb6c0; overflow-wrap: anywhere; }
.product-detail-page .product-full-description > :first-child { margin-top: 0; }
.product-detail-page .product-full-description h3 { margin: 28px 0 12px; color: #f0e5ea; font-size: 12px; font-weight: 650; letter-spacing: .06em; }
.product-detail-page .product-full-description p { margin: 0 0 16px; white-space: pre-line; font-size: 14px; }
.product-detail-page .product-full-description ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 20px; margin: 0 0 22px; padding: 0; list-style: none; }
.product-detail-page .product-full-description li { position: relative; min-width: 0; padding-left: 15px; font-size: 13px; line-height: 1.7; break-inside: avoid; }
.product-detail-page .product-full-description li::before { content: ''; position: absolute; top: .7em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #d47580; }
@media(min-width:901px) and (max-height:850px) { .product-detail-page .product-buy-panel { position: static; } }
@media(max-width:1000px) and (min-width:901px) { .product-detail-page .product-showcase { gap: 22px; } .product-detail-page .product-buy-panel { padding: 22px; } .product-detail-page .product-plan-row { padding: 13px; } }
@media(max-width:900px) {
  .product-detail-page .product-showcase { display: flex; flex-direction: column; gap: 20px; }
  .product-detail-page .product-media-column { display: contents; }
  .product-detail-page .product-main-media { order: 1; width: 100%; flex: none; }
  .product-detail-page .product-thumb-strip { order: 2; width: 100%; margin-top: -6px; padding-top: 0; }
  .product-detail-page .product-buy-panel { order: 3; position: static; width: 100%; }
  .product-detail-page .product-description-panel { order: 4; width: 100%; margin-top: 0; }
}
@media(max-width:600px) {
  .product-detail-page { padding-top: 22px; }
  .product-detail-page .product-breadcrumb { margin-bottom: 18px; font-size: 12px; }
  .product-detail-page .product-buy-panel,.product-detail-page .product-description-panel { padding: 20px; border-radius: 14px; }
  .product-detail-page .product-plan-row { padding: 12px; min-height: 64px; gap: 2px 10px; }
  .product-detail-page .product-plan-price { font-size: 16px; }
  .product-detail-page .product-full-description ul { grid-template-columns: 1fr; }
  .product-detail-page .product-gallery-arrow { width: 32px; height: 38px; }
}
@media(prefers-reduced-motion:reduce) { .product-detail-page .product-plan-row { transition: none; } }
