/* v2.0.4 keeps the approved v2.0.2 visual language and adds refined components. */
.aps-spec-table{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--aps-line);background:var(--aps-line)}
.aps-spec-table>div{position:relative;display:grid;grid-template-columns:minmax(125px,.85fr) 1.15fr;align-items:center;min-height:74px;padding:17px 22px;border:0;background:var(--aps-panel);transition:background .28s ease}
.aps-spec-table>div:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:2px;background:var(--aps-accent);transform:scaleY(0);transition:transform .28s ease}
.aps-spec-table>div:hover{background:var(--aps-panel2)}.aps-spec-table>div:hover:before{transform:scaleY(1)}
.aps-spec-table span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.aps-spec-table b{font-size:14px}
.aps-downloads{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.aps-downloads a{display:grid;grid-template-columns:54px 1fr auto;gap:16px;min-height:106px;padding:20px 22px;background:var(--aps-panel);transition:transform .3s ease,border-color .3s ease,background .3s ease}
.aps-downloads a:hover{transform:translateY(-4px);background:var(--aps-panel2);border-color:var(--aps-accent)}
.aps-download-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(241,164,146,.55);color:var(--aps-accent);font:700 10px/1 Poppins,sans-serif;letter-spacing:.1em}
.aps-downloads strong{display:block;margin:4px 0 6px;color:#fff;font-size:15px}.aps-downloads em{color:var(--aps-muted);font-size:10px;font-style:normal}
.aps-downloads>a>b{display:flex;align-items:center;gap:8px;color:#fff;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.aps-downloads>a>b span{color:var(--aps-accent);font-size:17px}
.aps-modular-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.aps-modular-image{position:relative;overflow:hidden;min-height:300px;border:1px solid var(--aps-line);background:var(--aps-panel)}
.aps-modular-image img{width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .55s ease,filter .35s ease}
.aps-modular-image:after{content:"View composition ↗";position:absolute;right:16px;bottom:16px;padding:9px 12px;background:rgba(17,23,33,.82);color:#fff;font:500 9px/1 Poppins,sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:translateY(7px);transition:.3s ease}
.aps-modular-image:hover img{transform:scale(1.035);filter:brightness(.82)}.aps-modular-image:hover:after{opacity:1;transform:none}
.aps-tabs button,.aps-zoom,.aps-filters button,.aps-filters>a,.aps-card-cta{transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease}
.aps-tabs button:hover{color:#fff}.aps-filters button:hover,.aps-zoom:hover{transform:translateY(-2px)}
.aps-reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}.aps-reveal.is-visible{opacity:1;transform:none}
.aps-reviews-panel #reviews{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:48px;align-items:start}
.aps-reviews-panel #comments,.aps-reviews-panel #review_form_wrapper{padding:30px;border:1px solid var(--aps-line);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:0 20px 55px rgba(0,0,0,.18)}
.aps-reviews-panel .woocommerce-Reviews-title,.aps-reviews-panel .comment-reply-title{display:block;margin:0 0 22px;color:#fff;font:500 clamp(22px,3vw,34px)/1.2 Poppins,sans-serif;letter-spacing:-.02em}
.aps-reviews-panel .woocommerce-noreviews{margin:0;padding:22px;border-inline-start:2px solid var(--aps-accent);background:rgba(241,164,146,.06);color:#c7cfd7}
.aps-reviews-panel .commentlist{display:grid;gap:14px;margin:0!important;padding:0!important}.aps-reviews-panel .commentlist li{padding:22px!important;border:1px solid var(--aps-line)!important;background:rgba(255,255,255,.025)}
.aps-reviews-panel .comment_container{display:grid;grid-template-columns:48px 1fr;gap:16px}.aps-reviews-panel .avatar{position:static!important;width:48px!important;height:48px!important;border:1px solid var(--aps-line)!important;border-radius:50%}
.aps-reviews-panel .star-rating,.aps-reviews-panel .stars a{color:var(--aps-accent)!important}.aps-reviews-panel .meta{margin:0 0 8px!important;color:#fff!important}.aps-reviews-panel .description{color:var(--aps-muted)}
.aps-reviews-panel .comment-form{display:grid;gap:14px}.aps-reviews-panel .comment-form>p{margin:0}.aps-reviews-panel .comment-form label{display:block;margin-bottom:7px;color:#b8c1ca;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.aps-reviews-panel .comment-form input,.aps-reviews-panel .comment-form textarea,.aps-reviews-panel .comment-form select{min-height:48px;border:1px solid var(--aps-line);border-radius:0;background:#121923;color:#fff;transition:border-color .25s ease,box-shadow .25s ease}
.aps-reviews-panel .comment-form textarea{min-height:150px;resize:vertical}.aps-reviews-panel .comment-form input:focus,.aps-reviews-panel .comment-form textarea:focus,.aps-reviews-panel .comment-form select:focus{outline:0;border-color:var(--aps-accent);box-shadow:0 0 0 3px rgba(241,164,146,.12)}
.aps-reviews-panel .form-submit input{min-width:170px!important;padding:14px 22px!important;border:1px solid var(--aps-accent)!important;background:var(--aps-accent)!important;color:#111721!important;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:transform .25s ease,box-shadow .25s ease!important}.aps-reviews-panel .form-submit input:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(241,164,146,.2)}
.aps-price .woocommerce-Price-currencySymbol,.aps-card-price .woocommerce-Price-currencySymbol{font-size:0!important}.aps-price .woocommerce-Price-currencySymbol:after{content:"Toman";font-size:24px}.aps-card-price .woocommerce-Price-currencySymbol:after{content:"Toman";font-size:inherit}
@media(max-width:900px){.aps-spec-table,.aps-downloads,.aps-modular-grid{grid-template-columns:1fr}}
@media(max-width:900px){.aps-reviews-panel #reviews{grid-template-columns:1fr;gap:22px}}
@media(max-width:640px){.aps-spec-table>div{grid-template-columns:1fr;gap:6px}.aps-downloads a{grid-template-columns:50px 1fr}.aps-downloads>a>b{grid-column:2}.aps-modular-image{min-height:230px}}
@media(prefers-reduced-motion:reduce){.aps-reveal{opacity:1;transform:none}.aps-spec-table>div,.aps-downloads a,.aps-modular-image img,.aps-modular-image:after{transition:none!important}}
