.product-body { background: #f6f8fb; }
.product-body main { display: block; }
.breadcrumb { display: flex; align-items: center; gap: 8px; min-height: 58px; color: #8b95a5; font-size: 11px; }
.breadcrumb a:hover { color: var(--primary); }
.breadcrumb strong { max-width: 420px; overflow: hidden; color: #4a566a; text-overflow: ellipsis; white-space: nowrap; }
.product-overview { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); gap: 24px; align-items: start; }
.product-gallery,.product-summary { border: 1px solid #e2e7ee; background: #fff; border-radius: 20px; box-shadow: 0 5px 18px rgba(30,48,78,.05); }
.product-gallery { padding: 16px; }
.main-product-media { position: relative; height: 500px; overflow: hidden; background: #e8edf4; border-radius: 15px; }
.main-product-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: object-position .25s ease; }
.main-product-media .resource-preview-art { position: absolute; inset: 0; }
.thumbnail-row { display: grid; grid-template-columns: repeat(4,82px); gap: 9px; margin-top: 12px; }
.gallery-thumbnail { position: relative; height: 66px; padding: 0; overflow: hidden; border: 2px solid transparent; background: #edf1f6; border-radius: 10px; cursor: pointer; }
.gallery-thumbnail.active { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(36,107,253,.1); }
.gallery-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.gallery-thumbnail span { display: grid; place-items: center; height: 100%; color: #5a6b84; background: linear-gradient(145deg,#eef4ff,#e2e9f5); font-size: 10px; font-weight: 800; }
.gallery-note { display: flex; align-items: center; gap: 7px; margin-top: 12px; color: #929cab; font-size: 9px; }
.gallery-note .icon { width: 14px; transform: rotate(45deg); }
.product-summary { padding: 28px; }
.product-labels { display: flex; align-items: center; gap: 8px; }
.product-kind,.quality-badge { display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 7px; font-size: 9px; font-weight: 800; }
.product-kind { color: #fff; background: var(--ink); }
.quality-badge { gap: 4px; color: #13704d; background: #e9f8f1; }
.quality-badge svg { width: 14px; fill: none; stroke: currentColor; stroke-width: 2.2; }
.product-summary h1 { margin: 16px 0 10px; font-size: 27px; line-height: 1.38; letter-spacing: -.7px; }
.rating-row { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #8a94a4; font-size: 10px; }
.stars { color: #f1a229; letter-spacing: 1px; }
.rating-row strong { color: #4b5668; }
.product-lead { margin: 15px 0 17px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.seller-card { display: flex; align-items: center; gap: 10px; padding: 12px; background: #f7f9fc; border-radius: 12px; }
.seller-avatar { display: grid; place-items: center; width: 36px; height: 36px; color: #fff; background: var(--seller-color,#586fc7); border-radius: 50%; font-size: 10px; font-weight: 800; }
.seller-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 3px; }
.seller-copy strong { font-size: 10px; }.seller-copy small { color: #8d97a6; font-size: 8px; }
.seller-card a { display: inline-flex; align-items: center; gap: 4px; color: var(--primary); font-size: 9px; font-weight: 700; }.seller-card a .icon { width: 14px; }
.price-panel { display: flex; align-items: center; justify-content: space-between; margin-top: 17px; padding: 15px 17px; background: linear-gradient(100deg,#edf3ff,#f7f9ff); border: 1px solid #dfe8fb; border-radius: 13px; }
.price-panel > div > span { color: #75829a; font-size: 9px; }.price-panel p { display: flex; align-items: baseline; gap: 3px; margin: 2px 0 0; color: var(--primary); }.price-panel p small { font-size: 14px; font-weight: 800; }.price-panel p strong { font-size: 30px; letter-spacing: -1px; }.price-panel del { margin-left: 7px; color: #9aa3b0; font-size: 10px; font-weight: 500; }
.discount-chip { padding: 5px 8px; color: #ba5522; background: #ffebdc; border-radius: 7px; font-size: 9px; font-weight: 800; }
.license-block { margin-top: 17px; }.option-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }.option-heading strong { font-size: 11px; }.option-heading a { color: var(--primary); font-size: 9px; }
.license-options { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.license-option { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 10px 11px; text-align: left; border: 1px solid #dce2ea; background: #fff; border-radius: 11px; cursor: pointer; }.license-option.active { border-color: var(--primary); background: #f7faff; box-shadow: 0 0 0 2px rgba(36,107,253,.08); }.license-option span { display: flex; flex-direction: column; gap: 4px; }.license-option b { font-size: 10px; }.license-option small { color: #8c96a5; font-size: 8px; }.license-option i { width: 14px; height: 14px; border: 1px solid #bfc8d5; border-radius: 50%; }.license-option.active i { border: 4px solid var(--primary); }
.delivery-chips { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; margin-top: 16px; }.delivery-chips > span { display: flex; align-items: center; justify-content: center; gap: 4px; color: #5f6d82; font-size: 8px; }.delivery-chips .icon { width: 14px; color: var(--green); }
.purchase-actions { display: grid; grid-template-columns: 1fr 105px; gap: 9px; margin-top: 17px; }.purchase-actions .btn { height: 50px; }.buy-button { font-size: 14px; }.favorite-product { color: #566377; border-color: #dce2ea; background: #fff; }.favorite-product .icon { width: 18px; fill: none; }.favorite-product.active { color: #e24f62; border-color: #f0bdc5; background: #fff7f8; }.favorite-product.active .icon { fill: currentColor; }
.secure-note { display: flex; justify-content: center; align-items: center; gap: 6px; margin: 12px 0 0; color: #929baa; font-size: 8px; }.secure-note .icon { width: 13px; }
.detail-section { margin-top: 28px; overflow: hidden; border: 1px solid #e2e7ee; background: #fff; border-radius: 20px; box-shadow: 0 5px 18px rgba(30,48,78,.04); }
.detail-tabs { display: flex; gap: 6px; padding: 0 26px; border-bottom: 1px solid var(--line); }.detail-tabs button { position: relative; height: 58px; padding: 0 17px; color: #718096; border: 0; background: transparent; font-size: 11px; font-weight: 700; cursor: pointer; }.detail-tabs button.active { color: var(--ink); }.detail-tabs button.active::after { content: ""; position: absolute; left: 17px; right: 17px; bottom: -1px; height: 2px; background: var(--primary); border-radius: 2px 2px 0 0; }
.detail-panels { padding: 36px; }.detail-panel { display: none; }.detail-panel.active { display: block; }.content-heading { max-width: 680px; }.content-heading > span { color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: .7px; }.content-heading h2,.files-layout h2,.license-copy h2 { margin: 8px 0 9px; font-size: 26px; letter-spacing: -.7px; }.content-heading p,.files-layout > div > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.feature-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 28px 0; }.feature-list > div { padding: 19px; border: 1px solid var(--line); border-radius: 14px; }.feature-icon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 13px; border-radius: 11px; }.feature-icon svg { width: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }.feature-icon.blue { color: #316fea; background: #eaf1ff; }.feature-icon.purple { color: #7459da; background: #f0ecff; }.feature-icon.green { color: #218967; background: #e9f7f1; }.feature-list strong { font-size: 11px; }.feature-list p { margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.7; }
.detail-banner { height: 330px; overflow: hidden; background-position: center; background-size: cover; border-radius: 15px; }
.files-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; align-items: start; }.file-tree { padding: 18px; background: #f7f9fc; border-radius: 14px; font-size: 10px; }.tree-folder,.tree-file { display: flex; align-items: center; gap: 8px; min-height: 30px; padding: 0 8px; border-bottom: 1px solid #e8ecf2; }.tree-folder { color: #33425b; font-weight: 700; }.tree-folder::before { content: ""; width: 15px; height: 11px; background: #f5b946; border-radius: 3px; }.tree-file { padding-left: 35px; color: #7c8797; }.tree-file span { margin-left: auto; color: #a1a9b5; }
.license-copy { max-width: 850px; }.license-table { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 22px; }.license-table > div { padding: 22px; border: 1px solid var(--line); border-radius: 14px; }.license-table strong { font-size: 13px; }.license-table p { margin: 9px 0 0; color: var(--muted); font-size: 10px; line-height: 1.8; }
.related-section { padding: 68px 0 82px; }.related-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 22px; }.related-heading h2 { margin: 0; font-size: 27px; }.related-heading a { display: flex; align-items: center; gap: 6px; color: var(--primary); font-size: 10px; font-weight: 700; }.related-heading .icon { width: 15px; }.related-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }.related-card { overflow: hidden; border: 1px solid #e1e6ed; background: #fff; border-radius: 15px; transition: .2s ease; }.related-card:hover { transform: translateY(-3px); box-shadow: 0 13px 28px rgba(32,49,79,.1); }.related-image { position: relative; height: 155px; overflow: hidden; background: #e8edf4; }.related-image .resource-preview-art { position: absolute; inset: 0; }.related-image img { width: 100%; height: 100%; object-fit: cover; transition: .3s ease; }.related-card:hover img { transform: scale(1.04); }.related-card-body { padding: 13px; }.related-card-body span { color: var(--primary); font-size: 8px; font-weight: 800; }.related-card-body h3 { min-height: 38px; margin: 6px 0; font-size: 12px; line-height: 1.5; }.related-card-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 9px; border-top: 1px solid var(--line); }.related-card-bottom strong { color: var(--primary); font-size: 15px; }.related-card-bottom small { color: #8d97a6; font-size: 8px; }
.product-footer { background: #fff; }.product-footer .footer-bottom { border-top: 0; }
@media (max-width: 1000px) { .product-overview { grid-template-columns: 1fr; }.main-product-media { height: 470px; }.related-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 700px) { .breadcrumb { min-height: 48px; }.breadcrumb strong { max-width: 170px; }.product-gallery { padding: 10px; }.main-product-media { height: 320px; }.thumbnail-row { grid-template-columns: repeat(4,1fr); }.product-summary { padding: 21px 17px; }.product-summary h1 { font-size: 23px; }.license-options,.license-table,.feature-list,.files-layout { grid-template-columns: 1fr; }.delivery-chips { gap: 2px; }.detail-tabs { padding-inline: 10px; }.detail-tabs button { padding-inline: 10px; }.detail-tabs button.active::after { left: 10px; right: 10px; }.detail-panels { padding: 25px 17px; }.detail-banner { height: 220px; }.files-layout { gap: 24px; }.related-section { padding: 50px 0 60px; }.related-grid { grid-template-columns: 1fr; }.related-image { height: 215px; } }
@media (max-width: 430px) { .main-product-media { height: 270px; }.purchase-actions { grid-template-columns: 1fr; }.favorite-product { height: 44px!important; }.price-panel p strong { font-size: 27px; } }
.detail-not-found{min-height:560px;display:grid;place-items:center;align-content:center;text-align:center;gap:12px}.detail-not-found>span{font-size:13px;font-weight:800;color:#246bfd}.detail-not-found h1{margin:0;font-size:38px}.detail-not-found p{margin:0 0 10px;color:#718096}
.source-product-mode .price-panel{border-color:#ffd58c;background:linear-gradient(135deg,#fff9ec,#fff)}.source-product-mode .price-panel strong{color:#ef7814}.source-product-mode .buy-button{background:linear-gradient(135deg,#f59b23,#ef6f17);box-shadow:0 12px 28px rgba(239,111,23,.22)}.source-product-mode .product-kind{background:#fff1c8;color:#875600}.source-product-mode .secure-note{padding:11px 14px;border:1px solid #ffe0ad;border-radius:12px;background:#fffaf0;color:#8a642c}
[hidden]{display:none!important}#sourceOffers{margin:20px 0}#sourceOfferOptions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}#sourceOffersTitle,#sourceOfferOptions .license-option b,#sourceOfferOptions .license-option small{font-size:.875rem}#sourceOfferNote{font-size:.875rem;line-height:1.6}.buy-button:disabled,#sourceOfferOptions button:disabled{opacity:.6;cursor:not-allowed}
.source-contact-notice{margin-top:20px;padding:18px;border:1px solid #bcd1ff;border-radius:14px;background:linear-gradient(135deg,#edf4ff,#f8faff);color:#183c7b}.source-contact-notice strong{font-size:18px;line-height:1.5}.source-contact-notice p{margin:8px 0 0;font-size:14px;line-height:1.8;color:#516884}#sourceContactButton{text-align:center;min-width:0}#sourceContactButton:focus-visible{outline:3px solid #315dff;outline-offset:3px}#sourceContactButton[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
