@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";:root{--color-red: #ff3b3b;--color-red-hover: #e63535;--color-bg: #ffffff;--color-bg-alt: #f5f5f5;--color-text: #1a1a1a;--color-text-muted: #666;--shadow-soft: 0 2px 12px rgba(0, 0, 0, .08);--shadow-card: 0 4px 20px rgba(0, 0, 0, .06);--radius: 12px;--radius-lg: 16px;--spacing: 1rem;--spacing-lg: 2rem;--font: "Poppins", "Inter", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer;border:none;transition:transform .2s ease,box-shadow .2s ease}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}input,textarea{font-family:var(--font)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.section{padding:var(--spacing-lg) 0}.btn-primary{background:var(--color-red);color:#fff;padding:12px 24px;border-radius:var(--radius);font-weight:600;font-size:1rem;box-shadow:var(--shadow-soft)}.btn-primary:hover{background:var(--color-red-hover);box-shadow:0 4px 16px #ff3b3b59}.btn-secondary{background:#fff;color:var(--color-red);padding:12px 24px;border-radius:var(--radius);font-weight:600;border:2px solid var(--color-red)}.btn-secondary:hover{background:var(--color-bg-alt)}.app-icon{flex-shrink:0;display:block}.navbar{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 1px #0000000f}.navbar-top{background:#fff;border-bottom:1px solid #f0f0f0}.navbar-top-inner{display:flex;align-items:center;justify-content:space-between;padding:.5rem var(--spacing-lg);gap:1rem}.navbar-social{display:flex;align-items:center;gap:1rem}.navbar-social a{color:#888;transition:color .2s ease}.navbar-social a:hover{color:var(--color-red)}.navbar-top-right{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.navbar-contact-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:#666;transition:color .2s ease}.navbar-contact-item svg{flex-shrink:0;color:var(--color-red)}.navbar-contact-item:hover{color:var(--color-red)}.navbar-lang{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:#666}.navbar-lang-current{font-weight:600;color:var(--color-text)}.navbar-lang-sep{opacity:.5}.navbar-lang-other{cursor:pointer;transition:color .2s ease}.navbar-lang-other:hover{color:var(--color-red)}.navbar-main{background:#fff;padding:.75rem 0}.navbar-main-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.navbar-logo{font-weight:700;font-size:1.65rem;letter-spacing:-.03em;color:var(--color-red);transition:opacity .2s ease}.navbar-logo:hover{opacity:.85;color:var(--color-red)}.navbar-search{flex:1;max-width:480px;display:flex;align-items:center;gap:.5rem;background:#f5f5f5;border-radius:10px;padding:0 1rem;border:1px solid transparent;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.navbar-search-icon{display:flex;align-items:center;color:#888;flex-shrink:0}.navbar-search:focus-within{background:#fff;border-color:#00000014;box-shadow:0 2px 8px #0000000f}.navbar-search:focus-within .navbar-search-icon{color:#444}.navbar-search-category{padding:.65rem .85rem;color:#666;background:transparent;display:flex;align-items:center;justify-content:center;transition:color .2s ease,background .2s ease}.navbar-search-category:hover{color:var(--color-red);background:#ff3b3b0f}.navbar-search-input{flex:1;border:none;background:transparent;padding:.75rem 0;font-size:.95rem;color:var(--color-text);min-width:0}.navbar-search-input::placeholder{color:#999}.navbar-search-input:focus{outline:none}.navbar-actions{display:flex;align-items:center;gap:.35rem}.navbar-action-item{position:relative;display:inline-flex;align-items:center;gap:.45rem;color:#333;padding:.45rem .65rem;border-radius:8px;font-size:.9rem;font-weight:500;border:none;background:transparent;font-family:inherit;cursor:pointer;transition:color .2s ease,background .2s ease;text-decoration:none}.navbar-action-item:hover{color:var(--color-text);background:#0000000a}.navbar-action-label{white-space:nowrap}.navbar-user-item{cursor:default}.navbar-user-item:hover{background:transparent}.navbar-user-avatar{width:32px;height:32px;border-radius:50%;background:#f0f0f0;color:#444;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600}.navbar-logout-btn{padding:.45rem;color:#666}.navbar-cart-badge{position:absolute;top:0;right:0;background:var(--color-red);color:#fff;font-size:.7rem;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center}.navbar-text-link{font-size:.95rem;font-weight:500;color:#444;padding:.4rem .5rem;transition:color .2s ease}.navbar-text-link:hover{color:var(--color-red)}.navbar-btn-signup{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-red);color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem;border-radius:8px;transition:background .2s ease,box-shadow .2s ease}.navbar-btn-signup:hover{background:var(--color-red-hover);box-shadow:0 4px 14px #ff3b3b59}.navbar-categories{background:#fff;border-bottom:1px solid #f0f0f0}.navbar-categories-inner{display:flex;align-items:center;gap:.25rem;padding:.5rem var(--spacing-lg);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.navbar-categories-inner::-webkit-scrollbar{display:none}.navbar-cat-link{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;color:#555;padding:.5rem .9rem;border-radius:6px;transition:color .2s ease,background .2s ease}.navbar-cat-link:hover{color:var(--color-red);background:#ff3b3b0f}@media(max-width:1024px){.navbar-search{max-width:320px}}@media(max-width:768px){.navbar-top{display:none}.navbar-main-inner{flex-wrap:wrap}.navbar-search{order:3;max-width:100%;width:100%}.navbar-actions{gap:.5rem}.navbar-action-label,.navbar-text-link{display:none}.navbar-categories-inner{padding:.4rem var(--spacing)}.navbar-cat-link{font-size:.85rem;padding:.4rem .7rem}}.footer{margin-top:auto;background:#1a1a1a;color:#e5e5e5}.footer-inner{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing)}.footer-top{display:grid;grid-template-columns:1.2fr 1.8fr;gap:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand{max-width:280px}.footer-logo{display:inline-block;font-weight:700;font-size:1.5rem;letter-spacing:-.02em;color:#fff;margin-bottom:.5rem;transition:color .2s ease}.footer-logo:hover{color:var(--color-red)}.footer-tagline{margin:0 0 1rem;font-size:.9rem;color:#999;line-height:1.5}.footer-social{display:flex;gap:.75rem}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#ffffff14;color:#ccc;transition:background .2s ease,color .2s ease}.footer-social a:hover{background:var(--color-red);color:#fff}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.footer-col h4.footer-heading{margin:0 0 1rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#fff}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin-bottom:.5rem}.footer-col a{font-size:.95rem;color:#999;transition:color .2s ease}.footer-col a:hover{color:var(--color-red)}.footer-bottom{padding-top:var(--spacing);text-align:center}.footer-copy{margin:0;font-size:.85rem;color:#666}@media(max-width:768px){.footer-top{grid-template-columns:1fr;gap:var(--spacing)}.footer-brand{max-width:none}.footer-links{grid-template-columns:repeat(2,1fr);gap:var(--spacing)}}@media(max-width:480px){.footer-links{grid-template-columns:1fr}}.admin-shell{display:flex;min-height:100vh;background:#f0f2f5}.admin-sidebar{width:260px;flex-shrink:0;background:linear-gradient(180deg,#1a1d29,#12141c);color:#fff;display:flex;flex-direction:column;padding:1.5rem 1rem;position:sticky;top:0;height:100vh}.admin-brand{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1rem}.admin-brand-icon{display:flex;align-items:center;justify-content:center;color:#ff6b6b}.admin-brand strong{display:block;font-size:1.1rem}.admin-brand small{color:#ffffff8c;font-size:.75rem}.admin-nav{display:flex;flex-direction:column;gap:.35rem;flex:1}.admin-nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;color:#ffffffbf;font-weight:500;transition:background .2s,color .2s}.admin-nav-link:hover{background:#ffffff0f;color:#fff}.admin-nav-link.active{background:#ff3b3b2e;color:#ff6b6b}.admin-sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding-top:1rem;display:flex;flex-direction:column;gap:.5rem}.admin-user-chip{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;margin-bottom:.5rem}.admin-user-avatar{width:36px;height:36px;border-radius:50%;background:#ff3b3b;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.admin-user-chip strong{display:block;font-size:.9rem}.admin-user-chip small{color:#ffffff80;font-size:.75rem}.admin-btn-ghost,.admin-btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:8px;padding:.6rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.admin-btn-ghost{background:#ffffff14;color:#fff}.admin-btn-ghost:hover{background:#ffffff24}.admin-btn-danger{background:#ff3b3b33;color:#ff8a8a}.admin-btn-danger:hover{background:#ff3b3b59}.admin-main{flex:1;padding:2rem;overflow-x:auto}.admin-page-header{margin-bottom:1.75rem}.admin-page-header h1{margin:0 0 .35rem;font-size:1.75rem;font-weight:700}.admin-page-header p{margin:0;color:#666}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.admin-stat-card{background:#fff;border-radius:14px;padding:1.25rem 1.5rem;box-shadow:0 2px 12px #0000000f;border-left:4px solid #ff3b3b}.admin-stat-card.blue{border-left-color:#3b82f6}.admin-stat-card.green{border-left-color:#22c55e}.admin-stat-card.orange{border-left-color:#f59e0b}.admin-stat-card.purple{border-left-color:#8b5cf6}.admin-stat-label{font-size:.8rem;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.admin-stat-value{font-size:1.75rem;font-weight:700;color:#1a1a1a}.admin-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px #0000000f;overflow:hidden}.admin-card-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #eee}.admin-card-header h2{margin:0;font-size:1.1rem}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:.85rem 1.25rem;text-align:left;border-bottom:1px solid #f0f0f0}.admin-table th{background:#fafafa;font-weight:600;color:#555;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.admin-table tr:hover td{background:#fafbff}.admin-badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600}.admin-badge.client{background:#dbeafe;color:#1d4ed8}.admin-badge.admin{background:#fce7f3;color:#be185d}.admin-badge.unread{background:#fef3c7;color:#b45309}.admin-badge.read{background:#dcfce7;color:#15803d}.admin-badge.low-stock{background:#fee2e2;color:#b91c1c}.admin-btn-primary{background:#ff3b3b;color:#fff;border:none;border-radius:8px;padding:.6rem 1.25rem;font-family:inherit;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s}.admin-btn-primary:hover{background:#e63535}.admin-btn-sm{display:inline-flex;align-items:center;gap:.3rem;border:none;border-radius:6px;padding:.35rem .75rem;font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;margin-right:.35rem}.admin-btn-sm.edit{background:#eff6ff;color:#2563eb}.admin-btn-sm.delete{background:#fef2f2;color:#dc2626}.admin-btn-sm.read{background:#f0fdf4;color:#16a34a}.admin-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #eee}.admin-modal-header h3{margin:0;font-size:1.15rem}.admin-modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#888}.admin-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.admin-form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:#444}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{width:100%;padding:.65rem .85rem;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:.9rem}.admin-form-group textarea{min-height:100px;resize:vertical}.admin-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #eee}.admin-btn-cancel{background:#f3f4f6;color:#444;border:none;border-radius:8px;padding:.6rem 1.25rem;font-family:inherit;font-weight:500;cursor:pointer}.admin-alert{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.admin-alert.error{background:#fef2f2;color:#b91c1c}.admin-alert.success{background:#f0fdf4;color:#15803d}.admin-loading,.admin-empty{text-align:center;padding:3rem;color:#888}.admin-message-detail{padding:1.25rem 1.5rem;border-top:1px solid #eee;background:#fafafa}.admin-message-detail p{margin:.5rem 0 0;white-space:pre-wrap;line-height:1.6}@media(max-width:768px){.admin-shell{flex-direction:column}.admin-sidebar{width:100%;height:auto;position:static}.admin-main{padding:1rem}}.product-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease;display:flex;flex-direction:column}.product-card:hover{box-shadow:0 8px 28px #0000001a;transform:translateY(-2px)}.product-card-link{flex:1;display:flex;flex-direction:column}.product-card-image{aspect-ratio:4/3;background:var(--color-bg-alt);overflow:hidden;position:relative}.product-fav-btn{position:absolute;top:.75rem;right:.75rem;z-index:2;width:36px;height:36px;border-radius:50%;background:#fffffff2;color:#9ca3af;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft)}.product-fav-btn.active{color:var(--color-red)}.product-card-rating{display:flex;align-items:center;gap:.35rem;margin:0 0 .35rem;font-size:.85rem;color:#f59e0b}.product-card-image img{width:100%;height:100%;object-fit:cover}.product-card-body{padding:var(--spacing);flex:1}.product-card-category{font-size:.8rem;color:var(--color-red);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.product-card-name{margin:.25rem 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--color-text)}.product-card-price{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text)}.product-card-btn{margin:var(--spacing);width:calc(100% - var(--spacing) * 2);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.category-card{display:flex;align-items:center;gap:var(--spacing);padding:1.25rem 1.5rem;border-radius:999px;background:linear-gradient(135deg,#fff,#f4f4f4);box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease,background .2s ease,border-color .2s ease;border:1px solid transparent}.category-card:hover{box-shadow:0 10px 30px #0000001a;transform:translateY(-2px);border-color:#ff3b3b40}.category-card-icon{width:52px;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#ffe5e5;color:var(--color-red);flex-shrink:0}.category-card-body{display:flex;flex-direction:column;gap:.15rem}.category-card-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text)}.category-card-desc{margin:0;font-size:.9rem;color:var(--color-text-muted)}.category-card--tablet .category-card-icon{background:#e3f2ff;color:#1565c0}.category-card--iphone .category-card-icon{background:#ffe5f0;color:#c51162}.category-card--mac .category-card-icon{background:#e8f5e9;color:#1b5e20}@media(max-width:768px){.category-card{border-radius:var(--radius-lg)}}.hero-section{background:var(--color-bg-alt);padding:var(--spacing-lg) 0}.hero-container{max-width:1100px;margin:0 auto}.hero-card{position:relative;background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014,0 1px 3px #0000000a;overflow:hidden;transition:box-shadow .3s ease}.hero-card:hover{box-shadow:0 8px 40px #0000001a,0 2px 6px #0000000d}.hero-card-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:center;padding:2.5rem 3rem;min-height:340px}.hero-content{max-width:420px}.hero-title{margin:0 0 .75rem;font-size:2rem;font-weight:700;letter-spacing:-.03em;color:var(--color-text);line-height:1.2}.hero-subtitle{margin:0 0 1.5rem;font-size:1.05rem;color:var(--color-text-muted);line-height:1.5}.hero-cta{display:inline-block;padding:12px 28px;border-radius:10px;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff3b3b59}.hero-image-wrap{display:flex;align-items:center;justify-content:center;padding:1rem;background:#fafafa;border-radius:14px}.hero-image{width:100%;max-width:320px;height:auto;object-fit:contain;border-radius:8px}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--color-red);color:var(--color-red);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #00000014;transition:background .2s ease,color .2s ease,transform .2s ease;z-index:2}.hero-arrow:hover{background:var(--color-red);color:#fff;transform:translateY(-50%) scale(1.05)}.hero-arrow-prev{left:16px}.hero-arrow-next{right:16px}.hero-dots{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:8px;z-index:2}.hero-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--color-red);background:transparent;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease}.hero-dot:hover{background:#ff3b3b4d}.hero-dot--active{background:var(--color-red)}.section-alt{background:var(--color-bg)}.section-title{margin:0 0 var(--spacing-lg);font-size:1.75rem;font-weight:600;text-align:center}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}@media(max-width:768px){.hero-card-inner{grid-template-columns:1fr;padding:1.75rem 1.5rem;min-height:auto;text-align:center}.hero-content{max-width:none}.hero-title{font-size:1.6rem}.hero-subtitle{font-size:1rem}.hero-arrow{width:38px;height:38px;left:10px}.hero-arrow-next{right:10px}.hero-dots{bottom:14px}}.products-page{padding:var(--spacing-lg) 0;min-height:60vh}.products-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--spacing-lg);align-items:start}.products-sidebar{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:sticky;top:100px}.sidebar-title{margin:0 0 var(--spacing);font-size:1.1rem;font-weight:600}.filter-group{margin-bottom:var(--spacing)}.filter-label{display:block;font-size:.85rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.25rem}.filter-select{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:var(--radius);font-size:.95rem;background:#fff}.products-main .product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-lg)}.products-heading{margin:0 0 var(--spacing-lg);font-size:1.75rem;font-weight:600}.products-empty{color:var(--color-text-muted);text-align:center;padding:3rem}@media(max-width:768px){.products-layout{grid-template-columns:1fr}.products-sidebar{position:static}}.product-reviews{margin-top:3rem;padding-top:2rem;border-top:1px solid #eee}.product-reviews-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.product-reviews-header h2{margin:0}.product-reviews-header p{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--color-text-muted)}.star-rating{display:inline-flex;gap:.15rem}.star-rating button{background:transparent;color:#d1d5db;padding:0}.star-rating button.active{color:#f59e0b}.star-rating.readonly button{cursor:default}.review-form{background:var(--color-bg-alt);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.review-form h3{margin:0 0 1rem}.review-form label{display:block;margin:.75rem 0 .35rem;font-weight:600;font-size:.9rem}.review-form textarea{width:100%;min-height:100px;padding:.75rem;border:1px solid #ddd;border-radius:var(--radius);resize:vertical}.review-error{color:#b91c1c;margin:.75rem 0 0}.review-success{color:#166534;margin:.75rem 0 0}.reviews-empty{color:var(--color-text-muted)}.reviews-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.review-item{background:#fff;border:1px solid #eee;border-radius:var(--radius);padding:1rem 1.25rem}.review-item-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.review-item p{margin:0 0 .5rem}.review-date{font-size:.85rem;color:var(--color-text-muted)}.product-details-page{padding:var(--spacing-lg) 0;min-height:60vh}.product-details-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:start}.product-details-image{background:var(--color-bg-alt);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.product-details-image img{width:100%;height:auto;display:block}.product-details-info{padding:0 var(--spacing)}.product-details-category{font-size:.85rem;color:var(--color-red);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.product-details-name{margin:.5rem 0 .25rem;font-size:2rem;font-weight:700}.product-details-price{margin:0 0 var(--spacing);font-size:1.75rem;font-weight:700;color:var(--color-text)}.product-details-desc{margin:0 0 var(--spacing-lg);color:var(--color-text-muted);line-height:1.6}.product-details-rating{display:flex;align-items:center;gap:.35rem;margin:0 0 .75rem;color:#f59e0b;font-weight:600}.product-details-actions{display:flex;flex-wrap:wrap;gap:.75rem}.product-details-btn{padding:14px 32px;font-size:1rem}.product-fav-detail-btn{display:inline-flex;align-items:center;gap:.5rem;padding:14px 24px;border-radius:var(--radius);border:1px solid #ddd;background:#fff;font-weight:600}.product-fav-detail-btn.active{border-color:var(--color-red);color:var(--color-red)}@media(max-width:768px){.product-details-layout{grid-template-columns:1fr}}.cart-page{padding:var(--spacing-lg) 0;min-height:60vh}.cart-title{margin:0 0 var(--spacing-lg);font-size:1.75rem;font-weight:600}.cart-empty{color:var(--color-text-muted);margin-bottom:var(--spacing)}.cart-list{display:flex;flex-direction:column;gap:var(--spacing);margin-bottom:var(--spacing-lg)}.cart-item{display:grid;grid-template-columns:100px 1fr auto;gap:var(--spacing);align-items:center;background:#fff;padding:var(--spacing);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.cart-item-image{width:100px;height:75px;border-radius:var(--radius);overflow:hidden;background:var(--color-bg-alt)}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-name{margin:0 0 .25rem;font-size:1rem;font-weight:600}.cart-item-price{margin:0;font-size:.9rem;color:var(--color-text-muted)}.cart-item-actions{display:flex;align-items:center;gap:var(--spacing);margin-top:.5rem}.quantity-control{display:flex;align-items:center;gap:.5rem;border:1px solid #e0e0e0;border-radius:var(--radius);overflow:hidden}.quantity-control button{width:36px;height:36px;background:var(--color-bg-alt);font-size:1.2rem;display:flex;align-items:center;justify-content:center}.quantity-control button:hover{background:#e8e8e8}.quantity-control span{min-width:32px;text-align:center;font-weight:600}.cart-item-remove{background:none;color:var(--color-red);font-size:.9rem;padding:0}.cart-item-remove:hover{text-decoration:underline;transform:none}.cart-item-total{margin:0;font-size:1.1rem;font-weight:700}.cart-footer{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing)}.cart-total{margin:0;font-size:1.25rem}.cart-checkout-btn{padding:14px 28px}@media(max-width:768px){.cart-item{grid-template-columns:80px 1fr}.cart-item-total{grid-column:2;text-align:right}}.checkout-page{padding:var(--spacing-lg) 0;min-height:60vh}.checkout-title{margin:0 0 var(--spacing-lg);font-size:1.75rem;font-weight:600}.checkout-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--spacing-lg);align-items:start}.checkout-form{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.form-section-title{margin:0 0 var(--spacing);font-size:1.1rem;font-weight:600}.form-group{margin-bottom:var(--spacing)}.form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.25rem}.form-group input,.form-group textarea{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:var(--radius);font-size:1rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-red)}.checkout-summary{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:sticky;top:100px}.summary-list{list-style:none;margin:0 0 var(--spacing);padding:0}.summary-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #eee;font-size:.95rem}.summary-total{margin:var(--spacing) 0;font-size:1.25rem}.checkout-btn{width:100%;padding:14px;margin-top:var(--spacing)}.checkout-stripe-info{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;border-radius:var(--radius);background:#f0f9ff;color:#0f172a;margin-bottom:var(--spacing)}.checkout-stripe-info p{margin:0;font-size:.95rem;line-height:1.5}.checkout-alert.cancelled{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;margin-bottom:var(--spacing);border-radius:var(--radius);background:#fef3c7;color:#92400e}.checkout-back-link{width:100%;margin-top:.75rem;padding:12px;border:none;background:transparent;color:#64748b;font-weight:600;cursor:pointer}.checkout-back-link:hover:not(:disabled){color:#0f172a}.checkout-back-link:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static}}.order-confirmation-page{min-height:60vh;display:flex;align-items:center}.order-confirmation-card{max-width:560px;margin:0 auto;padding:2.5rem 2rem;border-radius:16px;background:#fff;box-shadow:0 8px 32px #0f172a14;text-align:center}.order-confirmation-card.success{border-top:4px solid #16a34a}.order-confirmation-card.error{border-top:4px solid #dc2626}.order-confirmation-card.loading{border-top:4px solid #2563eb}.order-confirmation-icon{color:#16a34a;margin-bottom:1rem}.order-confirmation-card h1{font-size:1.75rem;margin-bottom:.75rem}.order-confirmation-card p{color:#64748b;margin-bottom:1.5rem}.order-confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0 0 2rem;text-align:left}.order-confirmation-details div{padding:.75rem 1rem;background:#f8fafc;border-radius:10px}.order-confirmation-details dt{font-size:.8rem;color:#64748b;margin-bottom:.25rem}.order-confirmation-details dd{font-weight:600;color:#0f172a}.order-confirmation-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;text-decoration:none;font-weight:600;cursor:pointer}.btn-secondary:hover{background:#f8fafc}@media(max-width:640px){.order-confirmation-details{grid-template-columns:1fr}.order-confirmation-actions{flex-direction:column}.order-confirmation-actions .btn-primary,.order-confirmation-actions .btn-secondary{width:100%}}.contact-page{padding:var(--spacing-lg) 0;min-height:60vh}.contact-title{margin:0 0 var(--spacing-lg);font-size:1.75rem;font-weight:600;text-align:center}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);max-width:900px;margin:0 auto}.contact-form-wrap{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.contact-form .form-group{margin-bottom:var(--spacing)}.contact-form .form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.25rem}.contact-form .form-group input,.contact-form .form-group textarea{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:var(--radius);font-size:1rem}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{outline:none;border-color:var(--color-red)}.contact-submit{margin-top:var(--spacing);width:100%;padding:14px}.contact-info{background:var(--color-bg-alt);padding:var(--spacing-lg);border-radius:var(--radius-lg)}.contact-info-title{margin:0 0 var(--spacing);font-size:1.25rem;font-weight:600}.contact-info-item{margin-bottom:var(--spacing)}.contact-info-item strong{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-red);margin-bottom:.25rem}.contact-info-item p{margin:0;color:var(--color-text)}@media(max-width:768px){.contact-layout{grid-template-columns:1fr}}.auth-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:var(--color-bg-alt)}.auth-card{width:100%;max-width:420px;background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.auth-card.signup-card{max-width:440px}.auth-title{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;text-align:center;color:var(--color-text)}.auth-subtitle{margin:0 0 1.5rem;font-size:.95rem;color:var(--color-text-muted);text-align:center}.auth-form .form-group{margin-bottom:1rem}.auth-form .form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem;color:var(--color-text)}.auth-form .form-group input{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:var(--radius);font-size:1rem;transition:border-color .2s ease}.auth-form .form-group input:focus{outline:none;border-color:var(--color-red)}.auth-error{margin:0 0 1rem;padding:.6rem .8rem;background:#ffebee;color:#c62828;font-size:.9rem;border-radius:var(--radius)}.auth-submit{width:100%;padding:14px;margin-top:.5rem;font-size:1rem}.auth-footer{margin:1.5rem 0 0;font-size:.95rem;color:var(--color-text-muted);text-align:center}.auth-footer a{color:var(--color-red);font-weight:600}.auth-footer a:hover{text-decoration:underline}.my-orders-page{flex:1;background:var(--color-bg-alt)}.my-orders-header h1{display:flex;align-items:center;gap:.75rem;margin:0 0 .5rem;font-size:1.75rem}.my-orders-header p{margin:0 0 1.5rem;color:var(--color-text-muted)}.my-orders-alert{padding:.85rem 1rem;border-radius:var(--radius);margin-bottom:1rem}.my-orders-alert.error{background:#fee2e2;color:#991b1b}.my-orders-empty{text-align:center;padding:3rem 1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.my-orders-empty p{margin:1rem 0 1.5rem;color:var(--color-text-muted)}.my-orders-list{display:flex;flex-direction:column;gap:1rem}.order-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.order-card-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:transparent;border:none;text-align:left}.order-card-header h2{margin:0;font-size:1.1rem}.order-card-meta{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.9rem}.order-card-summary{display:flex;align-items:center;gap:1rem}.order-status{padding:.25rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600}.order-status.status-en_attente{background:#fef3c7;color:#92400e}.order-status.status-confirmee{background:#dbeafe;color:#1e40af}.order-status.status-expediee{background:#e0e7ff;color:#3730a3}.order-status.status-livree{background:#dcfce7;color:#166534}.order-status.status-annulee{background:#fee2e2;color:#991b1b}.order-card-body{padding:0 1.5rem 1.5rem;border-top:1px solid #eee}.order-payment{margin:1rem 0;color:var(--color-text-muted);font-size:.95rem}.order-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.order-line{display:grid;grid-template-columns:56px 1fr auto;gap:.75rem;align-items:center}.order-line img{width:56px;height:56px;object-fit:cover;border-radius:8px;background:#f3f4f6}.order-line-info{display:flex;flex-direction:column;gap:.15rem}.order-line-info a:hover{color:var(--color-red)}@media(max-width:640px){.order-card-header{flex-direction:column;align-items:flex-start}.order-card-summary{width:100%;justify-content:space-between}}.wishlist-page{flex:1;background:var(--color-bg-alt)}.wishlist-header h1{display:flex;align-items:center;gap:.75rem;margin:0 0 .5rem;font-size:1.75rem}.wishlist-header p{margin:0 0 1.5rem;color:var(--color-text-muted)}.wishlist-empty{text-align:center;padding:3rem 1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.wishlist-empty p{margin:1rem 0 1.5rem;color:var(--color-text-muted)}.wishlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.notifications-page{min-height:60vh;padding:var(--spacing-lg) 0;background:var(--color-bg-alt)}.notifications-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:var(--spacing-lg)}.notifications-title{margin:0;font-size:1.75rem;font-weight:600;color:var(--color-text)}.notifications-mark-all{background:none;color:var(--color-red);font-size:.95rem;font-weight:600;padding:.4rem .8rem;border-radius:var(--radius);transition:background .2s ease}.notifications-mark-all:hover{background:#ff3b3b14;transform:none}.notifications-empty{text-align:center;padding:3rem 1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.notifications-empty p{margin:0 0 1rem;color:var(--color-text-muted)}.notifications-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.notification-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;transition:box-shadow .2s ease,background .2s ease;position:relative}.notification-item:hover{box-shadow:0 6px 24px #00000014}.notification-item--read{opacity:.85}.notification-item--read .notification-title{font-weight:500}.notification-icon{width:44px;height:44px;border-radius:12px;background:#ff3b3b1a;color:var(--color-red);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-body{flex:1;min-width:0}.notification-title{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--color-text)}.notification-message{margin:0 0 .35rem;font-size:.9rem;color:var(--color-text-muted);line-height:1.4}.notification-time{font-size:.8rem;color:#999}.notification-dot{position:absolute;top:1.25rem;right:1.25rem;width:8px;height:8px;border-radius:50%;background:var(--color-red);flex-shrink:0}@media(max-width:768px){.notification-item{padding:1rem}.notification-dot{top:1rem;right:1rem}}
