﻿.product-page{max-width:var(--container-max);margin-inline:auto;padding:var(--space-6) var(--container-pad) var(--space-16)}@media (min-width: 768px){.product-page{padding:var(--space-8) var(--container-pad-desktop) var(--space-20)}}.product-breadcrumb{margin-bottom:var(--space-4);font-size:var(--text-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.product-breadcrumb ol{display:flex;flex-wrap:nowrap;align-items:center;gap:0;margin:0;padding:0;list-style:none}.product-breadcrumb li{display:inline-flex;align-items:center;white-space:nowrap;min-width:0}.product-breadcrumb li:not(:last-child)::after{content:"›";color:var(--color-text-muted);padding:0 var(--space-1);line-height:1;user-select:none}.product-breadcrumb li[aria-current=page] span{color:var(--color-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis}.product-breadcrumb a{color:var(--color-text-secondary);text-decoration:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.product-breadcrumb a:hover{color:var(--color-text-accent);background:var(--color-bg-section)}.product-top{display:grid;grid-template-columns:1fr;gap:var(--space-8)}@media (min-width: 1024px){.product-top{grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr);gap:var(--space-12);align-items:start}}.product-gallery{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.gallery-main{aspect-ratio:1/1;background:var(--color-bg-section);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center}.gallery-main img{width:100%;height:100%;object-fit:contain;display:block}.main-image--placeholder{color:var(--color-text-muted);display:flex;align-items:center;justify-content:center}.gallery-thumbnails{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.gallery-thumbnails::-webkit-scrollbar{display:none}.gallery-thumbnails img,.gallery-thumbnails button{flex-shrink:0;width:80px;aspect-ratio:1/1;background:var(--color-bg-section);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden;padding:0;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.gallery-thumbnails img img,.gallery-thumbnails button img{width:100%;height:100%;object-fit:cover;display:block}.gallery-thumbnails img:hover,.gallery-thumbnails img:focus-visible,.gallery-thumbnails button:hover,.gallery-thumbnails button:focus-visible{border-color:var(--color-border-accent);outline:none}.gallery-image-count{font-size:var(--text-xs);color:var(--color-text-tertiary);align-self:flex-end}.product-info-panel{display:flex;flex-direction:column;gap:var(--space-4)}.product-title{margin:0;font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;line-height:var(--leading-tight);color:var(--color-text-primary)}@media (min-width: 768px){.product-title{font-size:var(--text-3xl)}}.product-short-description{margin:0;font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.product-rating{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.product-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm)}.product-sku{display:inline-flex;align-items:center;gap:var(--space-1)}.product-sku__label{font-weight:500;color:var(--color-text-secondary)}.product-sku__value{color:var(--color-text-tertiary)}.product-status{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:500}.product-status--in-stock{background:var(--color-success-bg-subtle);color:var(--color-text-success);border:1px solid var(--color-border-success)}.product-price-section{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle)}.current-price,.discount-price,.price-discounted{font-size:var(--text-3xl);font-weight:700;color:var(--color-price);letter-spacing:-.02em}.original-price{font-size:var(--text-lg);color:var(--color-text-tertiary);text-decoration:line-through}.price-regular{font-size:var(--text-3xl);font-weight:700;color:var(--color-price);letter-spacing:-.02em}.discount-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);background:var(--color-accent-tint);color:var(--color-text-accent);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.product-actions{display:flex;flex-direction:column;gap:var(--space-3)}.action-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.action-group--primary .btn{flex:1;min-width:0}.back-button{align-self:flex-start}.product-middle{display:grid;grid-template-columns:1fr;gap:var(--space-8);margin-top:var(--space-12)}@media (min-width: 1024px){.product-middle{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:var(--space-12)}}.product-content-column,.product-reviews-column{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.product-description-section,.product-specs-section,.product-tags-section,.similar-products-section,.product-page-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.product-description-section h2,.product-description-section h3,.product-specs-section h2,.product-specs-section h3,.product-tags-section h2,.product-tags-section h3,.similar-products-section h2,.similar-products-section h3,.product-page-section h2,.product-page-section h3{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;color:var(--color-text-primary)}.product-description{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.product-specs{display:flex;flex-direction:column;gap:0}.spec-row{display:grid;grid-template-columns:minmax(8rem, 1fr) 2fr;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-subtle)}.spec-row:last-child{border-bottom:0}.spec-label{color:var(--color-text-tertiary);font-size:var(--text-sm);font-weight:500}.spec-value{color:var(--color-text-primary);font-size:var(--text-sm)}.product-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.product-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--color-bg-section);color:var(--color-text-secondary);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:500;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.product-tag:hover{background:var(--color-accent-tint);color:var(--color-text-accent)}.product-tag__name{color:inherit}.product-source-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-section);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);text-decoration:none;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.product-source-link:hover{border-color:var(--color-border-accent);background:var(--color-accent-tint);color:var(--color-text-accent)}.product-source-link__icon,.product-source-link__arrow{display:inline-flex}.product-recommendations{max-width:var(--container-max);margin-inline:auto;padding:0 var(--container-pad) var(--space-16);display:flex;flex-direction:column;gap:var(--space-6)}@media (min-width: 768px){.product-recommendations{padding:0 var(--container-pad-desktop) var(--space-20)}}.product-recommendations:empty{padding:0}.similar-products-view-more{margin-top:var(--space-3);text-align:center}.product-grid--similar{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--space-3)}@media (min-width: 640px){.product-grid--similar{grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--space-4)}}@media (min-width: 1280px){.product-grid--similar{grid-template-columns:repeat(4, minmax(0, 1fr))}}.product-not-found{max-width:32rem;margin:var(--space-12) auto;padding:var(--space-8);text-align:center;background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.product-not-found .not-found-icon{color:var(--color-text-muted);margin-bottom:var(--space-4)}.product-not-found h1{margin:0 0 var(--space-2);font-size:var(--text-2xl)}.product-not-found p{color:var(--color-text-secondary);margin-bottom:var(--space-6)}.lightbox-overlay{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:lightbox-fade-in var(--duration-base) var(--ease-out)}.lightbox-overlay:focus{outline:none}.lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer}.lightbox-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-4);flex-shrink:0}.lightbox-counter{color:rgba(255,255,255,.8);font-size:var(--text-sm);font-weight:500;user-select:none;background:rgba(255,255,255,.1);padding:var(--space-1) var(--space-3);border-radius:999px}.lightbox-toolbar__actions{display:flex;align-items:center;gap:var(--space-2)}.lightbox-zoom-level{color:rgba(255,255,255,.6);font-size:var(--text-xs);font-weight:500;font-variant-numeric:tabular-nums;user-select:none;padding:var(--space-1) var(--space-2);background:rgba(255,255,255,.08);border-radius:var(--radius-md)}.lightbox-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-lg);background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.lightbox-btn:hover{background:rgba(255,255,255,.2);color:#fff}.lightbox-btn--active{background:var(--color-accent);color:var(--color-text-on-accent)}.lightbox-btn--active:hover{background:var(--color-accent-hover)}.lightbox-btn--close:hover{background:rgba(239,68,68,.6);color:#fff}.lightbox-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex:1;width:100%;min-height:0;padding:0 var(--space-16);touch-action:none}@media (max-width: 768px){.lightbox-content{padding:0 var(--space-2)}}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:999px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.lightbox-nav:hover{background:rgba(255,255,255,.25);color:#fff;transform:translateY(-50%) scale(1.1)}.lightbox-nav:active{transform:translateY(-50%) scale(.95)}.lightbox-nav--prev{left:var(--space-4)}@media (max-width: 768px){.lightbox-nav--prev{left:var(--space-1);width:40px;height:40px}}.lightbox-nav--next{right:var(--space-4)}@media (max-width: 768px){.lightbox-nav--next{right:var(--space-1);width:40px;height:40px}}.lightbox-image-wrapper{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;overflow:hidden;transform-origin:center center;transition:transform var(--duration-base) var(--ease-out)}.lightbox-image-wrapper--zoomed{cursor:grab;overflow:visible;transition:none}.lightbox-image-wrapper--zoomed .lightbox-image{max-width:none;max-height:none;width:auto;height:auto;cursor:grab}.lightbox-image-wrapper--dragging{cursor:grabbing;transition:none}.lightbox-image-wrapper--dragging .lightbox-image{cursor:grabbing}.lightbox-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:1;pointer-events:none}.lightbox-spinner__ring{width:40px;height:40px;border:3px solid rgba(255,255,255,.15);border-top-color:rgba(255,255,255,.8);border-radius:50%;animation:lightbox-spin .8s linear infinite}.lightbox-wrap-indicator{position:absolute;inset:0;z-index:2;pointer-events:none;border:3px solid rgba(255,255,255,.3);border-radius:var(--radius-lg);animation:lightbox-wrap-flash .4s var(--ease-out)}.lightbox-image{max-width:90vw;max-height:calc(100vh - 120px);object-fit:contain;border-radius:var(--radius-md);opacity:0;transition:opacity var(--duration-slow) var(--ease-out);user-select:none;-webkit-user-drag:none;will-change:transform,opacity}.lightbox-image--loaded{opacity:1}.lightbox-image--slide-left{animation:lightbox-slide-in-left var(--duration-slow) cubic-bezier(.25, .1, .25, 1)}.lightbox-image--slide-right{animation:lightbox-slide-in-right var(--duration-slow) cubic-bezier(.25, .1, .25, 1)}@media (max-width: 768px){.lightbox-image{max-width:98vw;max-height:calc(100vh - 100px)}}.lightbox-image-placeholder{display:flex;align-items:center;justify-content:center;width:300px;height:300px;color:rgba(255,255,255,.4)}.lightbox-image-placeholder p{font-size:var(--text-lg)}.lightbox-caption{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:var(--space-3) var(--space-4);background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.7));pointer-events:none}.lightbox-caption p{color:rgba(255,255,255,.9);font-size:var(--text-sm);line-height:var(--leading-snug);text-align:center;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.5)}.lightbox-thumbnails{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);overflow-x:auto;max-width:100%;flex-shrink:0;scroll-behavior:smooth}.lightbox-thumbnails::-webkit-scrollbar{height:4px}.lightbox-thumbnails::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.lightbox-thumbnails::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:2px}.lightbox-thumb{flex-shrink:0;width:56px;height:56px;border:2px solid rgba(0,0,0,0);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;opacity:.5;background:rgba(255,255,255,.05);padding:2px;transition:opacity var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.lightbox-thumb:hover{opacity:.8;border-color:rgba(255,255,255,.3)}.lightbox-thumb--active{opacity:1;border-color:var(--color-accent)}.lightbox-thumb--active:hover{border-color:var(--color-accent-hover)}.lightbox-thumb img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;border-radius:var(--radius-sm)}@media (max-width: 768px){.lightbox-thumb{width:48px;height:48px}}.lightbox-hints{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;animation:lightbox-hints-fade 4s var(--ease-out) forwards;pointer-events:none}@media (max-width: 768px){.lightbox-hints{display:none}}.lightbox-hint{color:rgba(255,255,255,.6);font-size:var(--text-xs);white-space:nowrap;user-select:none}.gallery-clickable{position:relative;cursor:pointer;overflow:hidden;border-radius:var(--radius-lg);touch-action:pan-y}.gallery-clickable--main{width:100%;height:100%;min-height:300px;aspect-ratio:1}@media (max-width: 768px){.gallery-clickable--main{min-height:240px}}.gallery-clickable__img{width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%;opacity:1;will-change:transform,opacity;transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.gallery-clickable__img--loaded{opacity:1}.gallery-clickable:hover .gallery-clickable__img{transform:scale(1.02)}.gallery-clickable:hover .gallery-clickable__zoom-hint{opacity:1;transform:translate(-50%, -50%) scale(1)}.gallery-clickable__zoom-hint{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(.8);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;opacity:0;pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.gallery-clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.gallery-image-count{display:inline-flex;align-items:center;gap:6px;padding:var(--space-1) var(--space-3);background:var(--color-bg-section);border-radius:999px;font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);margin-top:var(--space-2)}@keyframes lightbox-fade-in{from{opacity:0}to{opacity:1}}@keyframes lightbox-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes lightbox-slide-in-left{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes lightbox-slide-in-right{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes lightbox-wrap-flash{0%{border-color:rgba(255,255,255,.5);box-shadow:inset 0 0 30px rgba(255,255,255,.15)}100%{border-color:rgba(0,0,0,0);box-shadow:inset 0 0 0 rgba(0,0,0,0)}}@keyframes lightbox-hints-fade{0%, 60%{opacity:1}100%{opacity:0}}@media (prefers-reduced-motion: reduce){.lightbox-overlay,.lightbox-image,.lightbox-image--slide-left,.lightbox-image--slide-right,.lightbox-spinner__ring,.lightbox-wrap-indicator,.lightbox-hints,.gallery-clickable__img,.gallery-clickable__zoom-hint{animation:none;transition:none}.lightbox-hints{opacity:0}.lightbox-nav:hover{transform:translateY(-50%)}}.product-reviews{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border-subtle)}.product-reviews__title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-6)}.reviews-loading,.reviews-empty{text-align:center;padding:var(--space-8);color:var(--color-text-secondary)}.reviews-list{display:flex;flex-direction:column;gap:var(--space-6)}.review-item{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);min-width:0}.review-item__header{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0}.review-item__avatar{flex:0 0 auto;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--color-accent-tint);color:var(--color-text-accent);font-weight:600;font-size:var(--text-sm);user-select:none}.review-item__identity{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.review-item__author{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-item__rating-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary)}.review-item__stars{display:inline-flex;gap:1px;line-height:1}.review-star{color:var(--color-border-default);font-size:var(--text-sm);line-height:1}.review-star--filled{color:var(--color-accent)}.review-item__date{color:var(--color-text-tertiary);font-size:var(--text-xs)}.review-item__content{display:flex;flex-direction:column;gap:var(--space-2);padding-left:calc(2.25rem + var(--space-3));min-width:0}@media (max-width: 479px){.review-item__content{padding-left:0}}.review-item__title{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin:0}.review-item__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0;overflow-wrap:anywhere}.review-item__photos{display:flex;gap:var(--space-2);flex-wrap:wrap}.review-item__photo{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.review-item__footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding-left:calc(2.25rem + var(--space-3));margin-top:var(--space-1)}@media (max-width: 479px){.review-item__footer{padding-left:0}}.review-item__votes{display:inline-flex;gap:var(--space-2)}.vote-btn,.review-item__report{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:rgba(0,0,0,0);color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:500;line-height:1;cursor:pointer;border:1px solid rgba(0,0,0,0);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.vote-btn:hover:not(:disabled),.review-item__report:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-section);border-color:var(--color-border-subtle)}.vote-btn:disabled,.review-item__report:disabled{cursor:not-allowed;opacity:.55}.vote-btn__count{font-variant-numeric:tabular-nums}.vote-btn--up.vote-btn--active,.vote-btn--up:hover:not(:disabled){color:var(--color-text-success)}.vote-btn--up.vote-btn--active{background:var(--color-success-bg-subtle);border-color:var(--color-border-success)}.vote-btn--down.vote-btn--active,.vote-btn--down:hover:not(:disabled){color:var(--color-text-danger)}.vote-btn--down.vote-btn--active{background:var(--color-danger-bg-subtle);border-color:var(--color-border-danger)}.review-item__report:hover:not(:disabled){color:var(--color-text-danger)}.reviews-sorting{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.reviews-sorting__label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.reviews-sorting__buttons{display:flex;gap:var(--space-2)}.reviews-sorting__button{padding:var(--space-1) var(--space-3);background:var(--color-surface-card);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.reviews-sorting__button:hover{background:var(--color-bg-section);border-color:var(--color-border-strong);color:var(--color-text-primary)}.reviews-sorting__button--active{background:var(--color-accent-tint);border-color:var(--color-border-accent);color:var(--color-text-accent)}.review-submission-login-prompt{padding:var(--space-6);text-align:center;background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.review-submission-login-prompt p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}.review-submission-success{padding:var(--space-6);text-align:center;background:var(--color-success-bg-subtle);color:var(--color-text-success);border:1px solid var(--color-border-success);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.review-submission-form{padding:var(--space-6);background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.review-submission-form__title{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-4)}.rating-select{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.rating-select-star{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);color:var(--color-border-default);font-size:var(--text-2xl);cursor:pointer;border:none;border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.rating-select-star:hover{color:var(--color-accent-soft);background:var(--color-accent-tint)}.rating-select-star--filled{color:var(--color-accent)}.photo-url-input{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.photo-preview-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.photo-preview{position:relative;width:80px;height:80px}.photo-preview__image{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.photo-preview__remove{position:absolute;top:calc(-1*var(--space-1));right:calc(-1*var(--space-1));width:var(--space-5);height:var(--space-5);background:var(--color-danger-fg-strong);color:var(--color-action-danger-fg);font-size:var(--text-sm);font-weight:700;cursor:pointer;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.photo-preview__remove:hover{filter:brightness(.9)}