.product-detail-page{padding-bottom:5rem;animation:.5s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.product-detail-layout{grid-template-columns:2fr 3fr;align-items:center;gap:4rem;display:grid}.product-image-column{background-color:var(--surface);border:1px solid var(--border-color);border-radius:24px;padding:1rem;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 30px #0000001a}.product-image-column:hover{transform:translateY(-5px);box-shadow:0 15px 35px #00000026}.product-image-column img{object-fit:contain;border-radius:16px;width:100%;height:auto;transition:transform .4s}.product-image-column:hover img{transform:scale(1.03)}.product-info-column{text-align:right}.product-category-breadcrumb{color:var(--text-secondary);margin-bottom:1rem;font-family:Vazirmatn,sans-serif;font-size:.9rem}.product-category-breadcrumb a{color:var(--text-secondary);transition:color .2s}.product-category-breadcrumb a:hover{color:var(--text-primary)}.product-category-breadcrumb span{margin:0 .5rem}.product-info-column h1{margin:0 0 1.5rem;font-family:Vazirmatn,sans-serif;font-size:3rem;font-weight:800;line-height:1.3}.product-description{color:var(--text-secondary);max-width:90%;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.9}.price-box{background-color:var(--surface);border:1px solid var(--border-color);border-right:4px solid var(--accent-color);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding:1rem 1.5rem;display:flex}.price-display{flex-direction:column;justify-content:center;align-items:flex-end;gap:.2rem;display:flex}.current-price{color:var(--text-primary);font-family:Vazirmatn,sans-serif;font-size:2.2rem;font-weight:700}.old-price{color:var(--text-secondary);font-family:Vazirmatn,sans-serif;font-size:1.1rem;text-decoration:line-through}.discount-badge{color:#fff;background-color:#e53e3e;border-radius:9999px;padding:.3rem .8rem;font-size:.9rem;font-weight:700}.add-to-cart-btn-large{color:#fff;background:var(--accent-gradient);cursor:pointer;background-size:200%;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:1.25rem;font-family:inherit;font-size:1.2rem;font-weight:700;transition:all .3s;display:flex}.add-to-cart-btn-large:hover{background-position:100%;transform:translateY(-4px);box-shadow:0 10px 20px #00000040}.page-loading,.page-error{text-align:center;padding:6rem 0;font-size:1.5rem}.product-reviews-section{border-top:1px solid var(--border-color);margin-top:5rem;padding-top:3rem}.product-reviews-section h2{text-align:center;margin-bottom:3rem;font-size:2rem;font-weight:700}.reviews-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;display:grid}.review-card{background-color:var(--surface);border:1px solid var(--border-color);border-radius:12px;width:80%;padding:1.5rem;transition:transform .3s,box-shadow .3s}.review-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.review-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.review-author-info{align-items:center;gap:.75rem;display:flex}.review-avatar{object-fit:cover;border-radius:50%;width:48px;height:48px}.review-avatar-placeholder{background-color:var(--accent-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;font-weight:700;display:flex}.author-details{flex-direction:column;display:flex}.review-author{color:var(--text-primary);font-weight:700}.review-date{color:var(--text-secondary);font-size:.8rem}.star-rating{color:var(--text-secondary);font-size:1rem}.star-rating .star-on{color:gold}.review-comment{color:var(--text-secondary);margin:0;line-height:1.7}@media (max-width:900px){.product-detail-layout{grid-template-columns:1fr}.product-info-column h1{font-size:2.2rem}.product-description{max-width:100%}}.purchase-controls{width:100%}.quantity-controller{background-color:var(--surface);border:1px solid var(--border-color);box-sizing:border-box;border-radius:12px;align-items:center;width:100%;height:70px;padding:.5rem;display:flex}.quantity-btn{color:var(--text-primary);cursor:pointer;background-color:#0000;border:none;border-radius:8px;justify-content:center;align-items:center;width:60px;height:100%;font-size:2rem;font-weight:300;transition:background-color .2s,color .2s;display:flex}.quantity-btn.increase:hover{color:#2cbb63;background-color:#2cbb631a}.quantity-btn.decrease:hover{color:#ff4b4b;background-color:#ff4b4b1a}.quantity-display{text-align:center;flex-grow:1;font-family:Vazirmatn,sans-serif;font-size:1.5rem;font-weight:700}.remove-item-btn{cursor:pointer;color:var(--text-secondary);border:none;border-right:1px solid var(--border-color);background:0 0;justify-content:center;align-items:center;height:60%;margin-right:.5rem;padding:0 1.25rem;font-size:1.2rem;transition:color .2s;display:flex}.remove-item-btn:hover{color:var(--error,#ff4b4b)}.loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:60vh;padding:6rem 2rem;display:flex}.loading-spinner{border:4px solid var(--border-color);border-top:4px solid var(--accent-color);border-radius:50%;width:60px;height:60px;animation:1s linear infinite spin;position:relative}.loading-spinner:before{content:"";border:4px solid var(--surface);border-top:4px solid var(--accent-color);border-radius:50%;animation:1s linear infinite reverse spin;position:absolute;inset:5px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.product-loading{color:var(--text-secondary);font-size:1.5rem;font-weight:500}.loading-text{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.plan-selector-container{margin-bottom:2.5rem}.plan-label{text-align:right;color:var(--text-primary);margin-bottom:1rem;font-size:1rem;font-weight:500;display:block}.plan-card:hover{border-color:var(--accent-color-light);transform:translateY(-4px);box-shadow:0 8px 15px #00000012}.plan-card.selected{border-color:var(--accent-color);background-color:hsla(var(--accent-color-hsl),.05);box-shadow:0 4px 12px rgba(var(--accent-color-rgb),.15)}.plan-name{color:var(--text-primary);margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.plan-price-wrapper{flex-direction:column;align-items:center;gap:.1rem;display:flex}.plan-old-price{color:var(--text-secondary);font-size:.8rem;text-decoration:line-through}.plan-price{color:var(--text-primary);font-family:Vazirmatn,sans-serif;font-size:1.5rem;font-weight:700}.plan-currency{color:var(--text-secondary);font-size:.8rem;font-weight:500}.add-to-cart-btn-large:disabled{background:var(--border-color);color:var(--text-secondary);cursor:not-allowed;opacity:.7}.add-to-cart-btn-large:disabled:hover{box-shadow:none;background-position:0;transform:none}.plan-dropdown-selector{width:100%;color:var(--text-primary);background-color:var(--surface);border:2px solid var(--border-color);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:1rem 50%;background-repeat:no-repeat;background-size:1em;border-radius:12px;padding:.8rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s ease-out}.plan-dropdown-selector:hover{border-color:var(--accent-color-light)}.plan-dropdown-selector:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.2);outline:none}.plan-price-display{background-color:var(--surface);border:1px solid var(--border-color);border-radius:12px;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1rem 1.5rem;display:flex}.plan-price-display .plan-price{color:var(--text-primary);font-family:Vazirmatn,sans-serif;font-size:2rem;font-weight:700}.plan-price-display .plan-old-price{color:var(--text-secondary);font-size:1.1rem;text-decoration:line-through}.plan-price-display .plan-currency{color:var(--text-secondary);font-size:1rem}.plan-price-display .plan-discount-badge{color:#fff;background-color:#e53e3e;border-radius:9999px;margin-left:auto;padding:.3rem .8rem;font-size:.9rem;font-weight:700}.custom-dropdown-wrapper{width:100%;position:relative}.dropdown-header{width:100%;color:var(--text-primary);background-color:var(--surface);border:2px solid var(--border-color);cursor:pointer;text-align:right;border-radius:12px;justify-content:space-between;align-items:center;padding:.8rem 1.25rem;font-family:inherit;font-size:1.1rem;transition:all .2s ease-out;display:flex}.dropdown-header:hover{border-color:var(--accent-color-light)}.dropdown-header:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.2);outline:none}.dropdown-header-plan-name{font-weight:600}.dropdown-header-plan-price{color:var(--text-secondary);font-size:1rem;font-weight:500}.dropdown-arrow{width:1.25em;height:1.25em;filter:var(--svg-icon-filter);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:1em;transition:transform .3s}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-list{background-color:var(--surface);border:1px solid var(--border-color);z-index:10;border-radius:12px;flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:.5rem;list-style-type:none;animation:.2s ease-out fadeInDown;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 25px #0000001a}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{cursor:pointer;border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;padding:.6rem 1rem;transition:background-color .2s,border-color .2s;display:flex}.dropdown-item:hover{background-color:var(--card-bg-alt);border-color:var(--accent-color)}.dropdown-item.selected{background-color:hsla(var(--accent-color-hsl),.1);color:var(--accent-color)}.dropdown-item-plan-name{font-size:1rem;font-weight:500}.dropdown-item-price-wrapper{flex-direction:row;align-items:baseline;gap:.5rem;display:flex}.dropdown-item-old-price{color:var(--text-secondary);font-size:.8rem;text-decoration:line-through}.dropdown-item-price{font-size:.9rem;font-weight:600}
