.product-page{min-height:100vh;padding-top:120px;padding-bottom:80px}.product-layout{grid-template-columns:1.5fr 1fr;gap:60px;display:grid}.product-gallery{flex-direction:column;gap:20px;display:flex;position:relative}.main-image-container{cursor:zoom-in;border-radius:var(--radius-md);background-color:#f5f5f5;justify-content:center;align-items:center;width:100%;height:65vh;display:flex;position:relative;overflow:hidden}.main-image{object-fit:contain;width:100%;height:100%;transition:transform .15s ease-out}.gallery-nav{border:1px solid var(--color-border);cursor:pointer;opacity:0;z-index:5;width:40px;height:40px;color:var(--color-text);background:#fffffff2;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.main-image-container:hover .gallery-nav{opacity:1}.gallery-nav:hover{background-color:var(--color-primary);color:var(--color-primary-inverse);border-color:var(--color-primary);transform:translateY(-50%)scale(1.1)}.gallery-nav.prev{left:16px}.gallery-nav.next{right:16px}.expand-btn{border:1px solid var(--color-border);cursor:pointer;opacity:0;z-index:10;width:40px;height:40px;color:var(--color-text);background-color:#fffffff2;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:16px;right:16px;transform:translateY(10px);box-shadow:0 4px 12px #0000001a}.main-image-container:hover .expand-btn{opacity:1;transform:translateY(0)}.expand-btn:hover{background-color:var(--color-primary);color:var(--color-primary-inverse);transform:translateY(0)scale(1.1)}.thumbnail-gallery{scrollbar-width:thin;gap:12px;padding:4px;display:flex;overflow-x:auto}.thumbnail-gallery::-webkit-scrollbar{height:6px}.thumbnail-gallery::-webkit-scrollbar-track{background:var(--color-bg);border-radius:3px}.thumbnail-gallery::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.thumbnail-gallery::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.thumbnail-card{border-radius:var(--radius-sm);cursor:pointer;opacity:.6;background:0 0;border:2px solid #0000;flex-shrink:0;width:80px;height:80px;padding:0;transition:all .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.thumbnail-card:hover{opacity:1;border-color:var(--color-text-light);transform:translateY(-2px)}.thumbnail-card.active{opacity:1;border-color:var(--color-primary);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.thumbnail-card img{object-fit:cover;width:100%;height:100%}.product-header{border-bottom:1px solid var(--color-border);margin-bottom:24px;padding-bottom:24px;animation:.6s cubic-bezier(.16,1,.3,1) fadeIn}.product-title-large{margin-bottom:16px;font-size:32px;font-weight:700;line-height:1.2}.product-price-large{color:var(--color-primary);font-size:28px;font-weight:700}.product-short-desc{color:var(--color-text-light);margin-bottom:32px;font-size:16px;line-height:1.6;animation:.6s cubic-bezier(.16,1,.3,1) .1s backwards fadeIn}.product-actions{align-items:center;gap:12px;margin-bottom:40px;animation:.6s cubic-bezier(.16,1,.3,1) .2s backwards fadeIn;display:flex}.add-to-cart-btn{border-radius:var(--radius-sm);flex:1;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-size:16px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.add-to-cart-btn:hover{box-shadow:0 8px 20px rgba(var(--color-primary-rgb),.3);transform:translateY(-2px)}.action-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:52px;height:52px;color:var(--color-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.action-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:rgba(var(--color-primary-rgb),.05);transform:translateY(-2px)}.product-accordions{border-top:1px solid var(--color-border);animation:.6s cubic-bezier(.16,1,.3,1) .3s backwards fadeIn}.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-header{cursor:pointer;width:100%;color:var(--color-text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:20px 0;font-size:16px;font-weight:600;transition:color .2s;display:flex}.accordion-header:hover{color:var(--color-primary)}.accordion-icon{transition:transform .3s cubic-bezier(.16,1,.3,1)}.accordion-icon.rotate{transform:rotate(90deg)}.accordion-content{opacity:0;max-height:0;transition:max-height .4s cubic-bezier(.16,1,.3,1),opacity .3s;overflow:hidden}.accordion-content.open{opacity:1;max-height:600px;padding-bottom:20px}.accordion-content p{color:var(--color-text-light);line-height:1.7}.product-features-list{flex-direction:column;gap:12px;display:flex}.feature-row{border-bottom:1px dashed var(--color-border);justify-content:space-between;padding:12px 0;transition:padding .2s;display:flex}.feature-row:last-child{border-bottom:none}.feature-row:hover{padding-left:8px}.feature-label{color:var(--color-text);font-weight:500}.feature-value{color:var(--color-text-light)}.lightbox-overlay{z-index:3000;background-color:#000000f2;flex-direction:column;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.lightbox-close{color:#fff;cursor:pointer;z-index:3002;background:0 0;border:none;border-radius:50%;padding:8px;transition:all .2s;position:absolute;top:24px;right:24px}.lightbox-close:hover{background-color:#ffffff1a;transform:scale(1.1)}.lightbox-content{flex:1;justify-content:center;align-items:center;width:100%;padding:20px;display:flex;position:relative}.lightbox-image-wrapper{justify-content:center;align-items:center;max-width:100%;max-height:80vh;display:flex;overflow:hidden}.lightbox-image{object-fit:contain;cursor:grab;max-width:100%;max-height:80vh;transition:transform .3s cubic-bezier(.16,1,.3,1)}.lightbox-image:active{cursor:grabbing}.lightbox-nav{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:none;border-radius:50%;padding:12px;transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background-color:#fff3;transform:translateY(-50%)scale(1.1)}.lightbox-nav.prev{left:24px}.lightbox-nav.next{right:24px}.lightbox-thumbnails{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scrollbar-width:none;background:#00000080;border-radius:20px;justify-content:center;gap:12px;max-width:100%;height:80px;margin-bottom:24px;padding:16px;display:flex;overflow-x:auto}.lightbox-thumbnails::-webkit-scrollbar{display:none}.lightbox-thumb{aspect-ratio:1;cursor:pointer;opacity:.6;background:0 0;border:2px solid #0000;border-radius:8px;height:100%;padding:0;transition:all .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.lightbox-thumb:hover{opacity:.9;transform:scale(1.05)}.lightbox-thumb.active{border-color:var(--color-primary);opacity:1;transform:scale(1.05)}.lightbox-thumb img{object-fit:cover;width:100%;height:100%}.related-products-section{border-top:1px solid var(--color-border);margin-top:80px;padding-top:60px}.slide-up{animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUp}.fade-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}.delay-200{animation-delay:.2s}@media (max-width:768px){.product-page{padding-top:100px}.product-layout{grid-template-columns:1fr;gap:32px}.main-image-container{cursor:default;height:50vh}.expand-btn,.gallery-nav{opacity:1;transform:translateY(0)}.expand-btn{width:36px;height:36px;bottom:12px;right:12px}.gallery-nav{width:32px;height:32px}.thumbnail-card{width:70px;height:70px}.product-title-large{font-size:24px}.product-price-large{font-size:22px}.lightbox-nav{display:none}.lightbox-thumbnails{height:60px;margin-bottom:16px}}@media (max-width:480px){.product-page{padding-top:90px;padding-bottom:60px}.main-image-container{border-radius:12px;height:45vh}.thumbnail-gallery{gap:8px}.thumbnail-card{width:56px;height:56px}.product-title-large{margin-bottom:12px;font-size:20px}.product-price-large{font-size:20px}.product-short-desc{margin-bottom:24px;font-size:14px}.product-actions{flex-direction:column;gap:10px}.add-to-cart-btn{width:100%;padding:14px 20px;font-size:15px}.action-btn{width:100%;height:48px}.accordion-header{padding:16px 0;font-size:14px}.feature-row{flex-direction:column;align-items:flex-start;gap:4px}.lightbox-thumbnails{gap:8px;height:50px;padding:12px}.related-products-section{margin-top:48px;padding-top:40px}}@media (max-width:360px){.product-page{padding-top:80px}.main-image-container{height:40vh}.thumbnail-card{width:48px;height:48px}.product-title-large,.product-price-large{font-size:18px}.add-to-cart-btn{padding:12px 16px;font-size:14px}}
.categories-page{padding-top:60px;padding-bottom:100px}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;margin-top:40px;display:grid}.category-tile{aspect-ratio:4/3;background-color:var(--color-bg-secondary);border-radius:16px;transition:transform .3s cubic-bezier(.16,1,.3,1);display:block;position:relative;overflow:hidden}.category-tile:hover{transform:translateY(-8px)}.category-tile-image-wrapper{width:100%;height:100%;position:relative}.category-tile-image{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.category-tile:hover .category-tile-image{transform:scale(1.08)}.category-tile-overlay{background:linear-gradient(#0000 40%,#000000b3 100%);transition:opacity .3s;position:absolute;inset:0}.category-tile-content{z-index:2;width:100%;padding:24px;position:absolute;bottom:0;left:0}.category-tile-title{color:#fff;text-shadow:0 2px 4px #0000004d;margin-bottom:4px;font-size:1.5rem;font-weight:600}.category-tile-count{color:#fffc;font-size:.9rem;font-weight:500}@media (max-width:768px){.categories-grid{grid-template-columns:repeat(2,1fr);gap:20px}.category-tile-title{font-size:1.2rem}}@media (max-width:480px){.categories-grid{grid-template-columns:1fr}}
.checkout-page{padding-top:40px;padding-bottom:80px}.checkout-title{margin-bottom:40px}.checkout-grid{grid-template-columns:1.5fr 1fr;gap:60px;display:grid}.form-group{margin-bottom:20px}.form-group label{color:var(--color-text);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;transition:border-color var(--transition-fast);background-color:var(--color-bg);color:var(--color-text);padding:12px;font-family:inherit}.form-group input:focus{border-color:var(--color-primary);outline:none}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.payment-methods{flex-direction:column;gap:16px;display:flex}.payment-option{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background-color:var(--color-bg);align-items:flex-start;gap:12px;padding:16px;display:flex}.payment-option.selected{border-color:var(--color-primary);background-color:var(--color-bg-secondary)}.payment-details{flex-direction:column;display:flex}.payment-title{color:var(--color-text);font-size:14px;font-weight:500}.payment-desc{color:var(--color-text-light);font-size:12px}.order-summary-card{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:24px;position:sticky;top:100px}.summary-items{border-bottom:1px solid var(--color-border);margin-bottom:24px;padding-bottom:24px}.summary-item{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.summary-item-left{flex:1;align-items:center;gap:12px;display:flex}.summary-item-image{object-fit:cover;border-radius:var(--radius-sm);background-color:var(--color-bg-tertiary);width:60px;height:60px}.summary-item-info{flex-direction:column;gap:4px;display:flex}.summary-item-name{color:var(--color-text);font-size:14px;font-weight:500}.summary-item-variant{color:var(--color-text-light);font-size:12px}.summary-item-price{color:var(--color-text);white-space:nowrap;font-size:14px;font-weight:500}.summary-totals{flex-direction:column;gap:12px;display:flex}.summary-row{color:var(--color-text);justify-content:space-between;font-size:14px;display:flex}.summary-row.total{border-top:1px solid var(--color-border);margin-top:12px;padding-top:12px;font-size:18px;font-weight:600}.mb-4{margin-bottom:16px}.mt-8{margin-top:32px}.mt-4{margin-top:16px}@media (max-width:768px){.checkout-grid{grid-template-columns:1fr}.summary-item-image{width:50px;height:50px}.summary-item{margin-bottom:12px}}
.search-results-page{min-height:100vh;padding:calc(var(--header-height) + 40px)0 60px}.search-page-header{margin-bottom:40px}.search-page-header h1{text-align:center;margin-bottom:24px}.search-page-form{gap:12px;max-width:700px;margin:0 auto;display:flex}.search-page-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.search-page-icon{color:var(--color-text-light);pointer-events:none;position:absolute;left:16px}.search-page-input{border:2px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);border-radius:12px;padding:14px 48px;font-size:1rem;transition:all .2s}.search-page-input:focus{border-color:var(--color-primary);outline:none}.search-page-clear{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex;position:absolute;right:12px}.search-page-clear:hover{background:var(--color-bg-secondary);color:var(--color-text)}.search-results-info{text-align:center;margin-bottom:32px}.search-results-info p{color:var(--color-text);font-size:1.1rem;font-weight:500}.search-hints-page{text-align:center;padding:60px 20px}.search-hints-page .text-muted{margin-bottom:16px;font-size:1.1rem}.search-suggestions{background:var(--color-bg-secondary);color:var(--color-text-light);border-radius:8px;padding:12px 24px;font-size:.95rem;display:inline-block}@media (max-width:768px){.search-results-page{padding:calc(var(--header-height) + 20px)0 80px}.search-page-header h1{margin-bottom:20px;font-size:1.75rem}.search-page-form{flex-direction:column}.search-page-form .btn{width:100%}.search-page-input{padding:12px 40px 12px 44px}.search-results-info p{font-size:1rem}.search-hints-page{padding:40px 20px}}
