.product-page{min-height:100vh;background:var(--color-background);padding:var(--spacing-xl) 0}.product-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.product-main{display:flex;flex-direction:column;gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}@media (min-width:1024px){.product-main{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-2xl);align-items:flex-start}}.product-gallery{flex:1 1;min-width:0}.product-gallery-main{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (min-width:1024px){.product-gallery-main{flex-direction:row;gap:var(--spacing-lg);align-items:flex-start}}.product-main-image-wrapper{position:relative;width:100%;aspect-ratio:1;background:var(--color-background-light);border-radius:var(--border-radius-lg);overflow:hidden;flex:1 1;order:1}@media (min-width:1024px){.product-main-image-wrapper{order:2}}.product-main-image{width:100%;height:100%;object-fit:cover}.product-main-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;font-size:4rem;font-weight:700}.product-title-overlay{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:10;padding:var(--spacing-sm) var(--spacing-md);background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--border-radius)}.product-title-overlay-text{font-size:1.25rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media (min-width:768px){.product-title-overlay-text{font-size:1.5rem}}.product-badge-overlay{bottom:var(--spacing-md);right:var(--spacing-md);z-index:10;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary);color:#fff;border-radius:var(--border-radius);font-size:.75rem;font-weight:600;text-transform:uppercase}.product-badge-overlay,.product-nav-button{position:absolute;box-shadow:var(--shadow-md)}.product-nav-button{top:50%;transform:translateY(-50%);z-index:20;width:48px;height:48px;background:hsla(0,0%,100%,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:var(--transition)}.product-nav-button:hover{background:#fff;box-shadow:var(--shadow-lg);transform:translateY(-50%) scale(1.05)}.product-nav-button-left{left:var(--spacing-md)}.product-nav-button-right{right:var(--spacing-md)}.product-image-counter{position:absolute;bottom:var(--spacing-md);left:var(--spacing-md);z-index:10;padding:var(--spacing-xs) var(--spacing-sm);background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:var(--border-radius);font-size:.875rem}.product-thumbnails{display:flex;flex-direction:row;gap:var(--spacing-sm);overflow-x:auto;padding:var(--spacing-xs) 0;scrollbar-width:thin;order:2}@media (min-width:1024px){.product-thumbnails{flex-direction:column;width:80px;max-height:500px;overflow-y:auto;overflow-x:hidden;order:1;flex-shrink:0}}.product-thumbnail{flex-shrink:0;width:80px;height:80px;border-radius:var(--border-radius);overflow:hidden;border:2px solid transparent;background:var(--color-background-light);cursor:pointer;transition:var(--transition);padding:0}.product-thumbnail:hover{border-color:var(--color-primary);transform:scale(1.05)}.product-thumbnail.active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}.product-thumbnail img{width:100%;height:100%;object-fit:cover}.product-thumbnail-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-background-light);color:var(--color-text-light);font-size:.875rem;font-weight:600}.product-details{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (min-width:1024px){.product-details{order:2}}.product-details-title{font-size:2rem;font-weight:700;color:var(--color-text);margin:0;line-height:1.2}@media (min-width:768px){.product-details-title{font-size:2.5rem}}.product-stats{flex-wrap:wrap;gap:var(--spacing-md)}.product-stat,.product-stats{display:flex;align-items:center}.product-stat{gap:var(--spacing-xs);font-size:.9375rem;color:var(--color-text-light)}.product-stat svg{flex-shrink:0}.product-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.product-tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-background-light);color:var(--color-primary);border-radius:var(--border-radius);font-size:.875rem;font-weight:500;text-transform:capitalize}.product-actions{display:flex;gap:var(--spacing-md);align-items:center}.product-action-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-light);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:.9375rem;font-weight:500;transition:var(--transition)}.product-action-button:hover{background:var(--color-hover);border-color:var(--color-primary)}.product-action-button.liked{color:var(--color-badge-red);border-color:var(--color-badge-red)}.product-action-button.saved{color:var(--color-primary);border-color:var(--color-primary)}.product-creator{justify-content:space-between;padding:var(--spacing-md);background:var(--color-background-light);border-radius:var(--border-radius)}.product-creator,.product-creator-info{display:flex;align-items:center;gap:var(--spacing-md)}.product-creator-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.product-creator-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center}.product-creator-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.product-creator-name{font-weight:600;color:var(--color-text);font-size:1rem}.product-creator-followers{font-size:.875rem;color:var(--color-text-light)}.product-follow-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:#fff;border-radius:var(--border-radius);font-weight:500;font-size:.9375rem;transition:var(--transition)}.product-follow-button:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.product-follow-button.following{background:var(--color-background-light);color:var(--color-text);border:1px solid var(--color-border)}.product-follow-button.following:hover{background:var(--color-hover)}.product-download{display:flex;flex-direction:column;gap:var(--spacing-sm)}.product-download-button{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary),var(--color-purple));color:#fff;border-radius:var(--border-radius);font-weight:600;font-size:1rem;transition:var(--transition);box-shadow:var(--shadow-md)}.product-download-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.product-download-button-member{background:linear-gradient(135deg,#06c,#9333ea)}.product-download-note{font-size:.875rem;color:var(--color-text-light);margin:0;line-height:1.5}.product-instructions{border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.product-instructions-toggle{width:100%;padding:var(--spacing-md);background:var(--color-background-light);display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--color-text);font-size:1rem;text-align:left}.product-instructions-toggle:hover{background:var(--color-hover)}.product-instructions-content{padding:var(--spacing-md);background:var(--color-background)}.product-printing-settings{margin-bottom:var(--spacing-md)}.product-printing-settings:last-child{margin-bottom:0}.product-printing-title{font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-md) 0}.product-printing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--spacing-md);gap:var(--spacing-md)}.product-printing-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.product-printing-label{font-size:.875rem;color:var(--color-text-light);font-weight:500}.product-printing-value{font-size:.9375rem;color:var(--color-text);font-weight:600}.product-related{margin-top:var(--spacing-lg)}.product-related-full-width{width:100%;margin-top:var(--spacing-xl)}@media (min-width:1024px){.product-related-full-width{flex:1 1 100%;flex-basis:100%;width:100%;max-width:100%;order:3}}.product-related-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-lg) 0}.product-related .carousel-section{margin-bottom:0}.product-related .carousel-wrapper{margin:0}.product-related .carousel-container>*{flex:0 0 auto;scroll-snap-align:start}@media (min-width:640px){.product-related .carousel-container>*{min-width:calc(50% - var(--spacing-md) / 2);max-width:calc(50% - var(--spacing-md) / 2)}}@media (min-width:768px){.product-related .carousel-container>*{min-width:calc(33.333% - var(--spacing-md) * 2 / 3);max-width:calc(33.333% - var(--spacing-md) * 2 / 3)}}@media (min-width:1024px){.product-related .carousel-container>*{min-width:calc(25% - var(--spacing-md) * 3 / 4);max-width:calc(25% - var(--spacing-md) * 3 / 4)}}@media (max-width:639px){.product-related .carousel-container>*{min-width:calc(85% - var(--spacing-md));max-width:calc(85% - var(--spacing-md))}}.product-lower{display:flex;flex-direction:column;gap:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.product-creator-message,.product-description{font-size:1rem;line-height:1.8;color:var(--color-text)}.product-copyright{padding:var(--spacing-md);background:var(--color-background-light);border-radius:var(--border-radius);font-size:.9375rem;line-height:1.6;color:var(--color-text)}.product-copyright strong{color:var(--color-text);font-weight:600}.product-printing-details{display:flex;flex-direction:column;gap:var(--spacing-lg)}.product-section-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0;text-transform:uppercase}.product-printing-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.product-printing-subtitle{font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0}.product-printing-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.product-printing-list li{padding-left:var(--spacing-md);position:relative;font-size:.9375rem;line-height:1.6;color:var(--color-text)}.product-printing-list li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700}.product-tags-full{display:flex;flex-direction:column;gap:var(--spacing-md)}.product-tags-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.product-tag-full{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-background-light);color:var(--color-primary);border-radius:var(--border-radius);font-size:.9375rem;font-weight:500;text-transform:capitalize}.product-discussions,.product-discussions-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.product-discussions-message{padding:var(--spacing-md);background:var(--color-background-light);border-radius:var(--border-radius);color:var(--color-text-light);text-align:center;margin:0}.product-discussions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.product-discussion-item{padding:var(--spacing-md);background:var(--color-background-light);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:var(--spacing-xs)}.product-discussion-author{font-weight:600;color:var(--color-primary);font-size:.9375rem}.product-discussion-text{color:var(--color-text);font-size:.9375rem;line-height:1.6}.product-discussions-input{display:flex;flex-direction:column;gap:var(--spacing-sm)}.product-discussions-textarea{width:100%;min-height:120px;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius);font-family:inherit;font-size:.9375rem;resize:vertical;background:var(--color-background);color:var(--color-text)}.product-discussions-textarea:disabled{background:var(--color-background-light);color:var(--color-text-light);cursor:not-allowed}.product-discussions-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(0,102,204,.1)}.product-discussions-submit{align-self:flex-end;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:#fff;border-radius:var(--border-radius);font-weight:500;font-size:.9375rem;transition:var(--transition)}.product-discussions-submit:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}