:root{--background-color:#faf8f6;--background-light:#fff;--card-background:#fff;--text-dark:#2d2d2d;--text-gray:#6b6b6b;--text-light:#95a5a6;--primary-color:#e67e22;--primary-hover:#d35400;--primary-light:#f39c12;--border-color:#e8e4df;--border-light:#f0ece7;--font-family:"Century Gothic","CenturyGothic","AppleGothic",sans-serif;--font-weight-light:300;--font-weight-normal:400;--font-weight-bold:700;--card-shadow:0 4px 12px #00000014;--nav-shadow:0 2px 16px #0000001a;--dropdown-shadow:0 8px 24px #0000001f;--button-shadow:0 2px 8px #e67e2233;--hover-shadow:0 6px 20px #e67e224d;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:50px;--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}html{font-size:16px}body{background-color:var(--background-color);font-weight:400;font-weight:var(--font-weight-normal);text-rendering:optimizeSpeed}body,h1,h2,h3,h4,h5,h6{color:var(--text-dark);font-family:Century Gothic,CenturyGothic,AppleGothic,sans-serif}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-weight:300;letter-spacing:-.02em;margin:0 0 1rem}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-light)}h2{font-weight:300;font-weight:var(--font-weight-light)}h3{font-weight:var(--font-weight-medium)}h4{font-size:1.25rem}h4,h5{font-weight:500;font-weight:var(--font-weight-medium)}h5{font-size:1.1rem}h6{font-size:1rem;font-weight:600;font-weight:var(--font-weight-semibold)}p{color:var(--text-gray);font-weight:400;font-weight:var(--font-weight-normal);margin:0 0 1rem}a{color:#e67e22;color:var(--primary-color);text-decoration:none;transition:.3s ease;transition:var(--transition-normal)}a:hover{color:#d35400;color:var(--primary-hover);text-decoration:underline}code{background:#fff;background:var(--background-light);border:1px solid #e8e4df;border:1px solid var(--border-color);border-radius:4px;border-radius:var(--radius-sm);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Consolas,Courier New,monospace;font-size:.9em;padding:.2em .4em}ol,ul{margin:0 0 1rem;padding-left:1.5rem}li{color:#6b6b6b;color:var(--text-gray);margin-bottom:.5rem}button,input,select,textarea{font-family:Century Gothic,CenturyGothic,AppleGothic,sans-serif;font-family:var(--font-family);font-size:1rem}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #e67e22;outline:2px solid var(--primary-color);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}::-webkit-scrollbar-track{background:#faf8f6;background:var(--background-color)}::-webkit-scrollbar-thumb{background:#e8e4df;background:var(--border-color);border-radius:50px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#95a5a6;background:var(--text-light)}::selection{background:#e67e22;background:var(--primary-color);color:#fff}img{display:block;max-width:100%}.img-responsive{height:auto;width:100%}.loading{opacity:.7;pointer-events:none}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.w-100{width:100%}.h-100{height:100%}.m-0{margin:0}.p-0{padding:0}.mt-1{margin-top:var(--spacing-sm)}.mb-1{margin-bottom:var(--spacing-sm)}.ml-1{margin-left:8px;margin-left:var(--spacing-sm)}.mr-1{margin-right:8px;margin-right:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mb-2{margin-bottom:var(--spacing-md)}.ml-2{margin-left:16px;margin-left:var(--spacing-md)}.mr-2{margin-right:16px;margin-right:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mb-3{margin-bottom:var(--spacing-lg)}.ml-3{margin-left:24px;margin-left:var(--spacing-lg)}.mr-3{margin-right:24px;margin-right:var(--spacing-lg)}.container{max-width:1200px;padding:0 20px}@media (max-width:768px){html{font-size:14px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.container{padding:0 16px}}@media (max-width:480px){html{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.appwrite-error-overlay{align-items:center;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:99999}.appwrite-error-modal{animation:slideUp .4s ease-out;background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #f59e0b4d;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:500px;padding:40px;text-align:center;width:90%}.appwrite-error-icon{animation:pulse 2s ease-in-out infinite;margin-bottom:24px}.appwrite-error-icon svg{filter:drop-shadow(0 0 10px rgba(245,158,11,.3))}.appwrite-error-title{color:#f59e0b;font-size:28px;font-weight:700;margin-bottom:16px;text-shadow:0 2px 4px #0000004d}.appwrite-error-message{color:#e5e7eb;font-size:16px;font-weight:400;line-height:1.6;margin-bottom:20px}.appwrite-error-details{background-color:#f59e0b1a;border-left:3px solid #f59e0b;border-radius:4px;margin:20px 0;padding:12px 16px}.appwrite-error-details p{color:#d1d5db;font-size:14px;margin:0}.appwrite-error-retry-button{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;box-shadow:0 4px 12px #f59e0b4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 32px;transition:all .3s ease}.appwrite-error-retry-button:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 6px 20px #f59e0b66;transform:translateY(-2px)}.appwrite-error-retry-button:active{box-shadow:0 2px 8px #f59e0b4d;transform:translateY(0)}@media (max-width:768px){.appwrite-error-modal{margin:20px;padding:30px 20px}.appwrite-error-title{font-size:24px}.appwrite-error-message{font-size:15px}.appwrite-error-retry-button{padding:12px 24px;width:100%}}:root{--color-bg:#fff;--color-surface:#fff;--color-surface-alt:#fff;--color-border:#e1e5e9;--color-border-strong:#c8ced4;--color-text:#1f2429;--color-text-soft:#5a636d;--color-primary:#4480aa;--color-primary-hover:#37698d;--color-primary-alt:#5c94ba;--color-primary-soft:#e3eef5;--color-accent:#ff9f43;--color-danger:#dc3d41;--color-success:#2e9d58;--radius-xs:3px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 28px #0000001f;--font-family:"Roboto",sans-serif;--font-size-base:15px;--line-height-base:1.5;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--transition-fast:120ms cubic-bezier(.4,0,.2,1);--transition:200ms cubic-bezier(.4,0,.2,1);--container-max:1680px;--container-wide:1840px;--container-narrow:1100px;--bp-xs:420px;--bp-sm:520px;--bp-md:760px;--bp-lg:900px;--bp-xl:1100px;--bp-2xl:1400px}body.modern-minimal{-webkit-font-smoothing:antialiased;background:#fff;background:var(--color-bg);color:#1f2429;color:var(--color-text);font-family:Roboto,sans-serif;font-family:var(--font-family);font-size:15px;font-size:var(--font-size-base);line-height:1.5;line-height:var(--line-height-base)}.mobile-only{display:none!important}@media (max-width:760px){.mobile-only{display:inline!important;display:initial!important}}.desktop-only{display:inline!important;display:initial!important}@media (max-width:760px){.desktop-only{display:none!important}}.tap-target{min-height:44px;min-width:44px}.mm-card,.mm-surface{background:#fff;background:var(--color-surface);border:1px solid #e1e5e9;border:1px solid var(--color-border)}.mm-card{transition:opacity .2s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition)}.mm-card:hover{opacity:.95}.mm-btn{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #e1e5e9;border:1px solid var(--color-border);color:#5a636d;color:var(--color-text-soft);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;font-weight:var(--font-weight-medium);gap:8px;gap:var(--space-2);justify-content:center;line-height:1.2;padding:8px 16px;padding:var(--space-2) var(--space-4);text-decoration:none;transition:background .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);transition:background var(--transition),color var(--transition),border-color var(--transition)}.mm-btn:hover{background:#fff;background:var(--color-surface-alt);color:#1f2429;color:var(--color-text)}.mm-btn:focus-visible{outline:2px solid #4480aa;outline:2px solid var(--color-primary);outline-offset:2px}.mm-btn.primary{background:#4480aa;background:var(--color-primary);border-color:#4480aa;border-color:var(--color-primary);color:#fff}.mm-btn.primary:hover{background:#37698d;background:var(--color-primary-hover)}.mm-btn.danger{background:#dc3d41;background:var(--color-danger);border-color:#dc3d41;border-color:var(--color-danger);color:#fff}.mm-btn.subtle{background:#0000;border-color:#e1e5e9;border-color:var(--color-border);color:#5a636d;color:var(--color-text-soft)}.mm-btn.subtle:hover{background:#fff;background:var(--color-surface-alt);color:#1f2429;color:var(--color-text)}.mm-btn.lg{font-size:15px;padding:12px 24px;padding:var(--space-3) var(--space-6)}.mm-btn.full{width:100%}.mm-btn.ghost{background:#0000;border-color:#0000;color:#5a636d;color:var(--color-text-soft)}.mm-btn.ghost:hover{background:#fff;background:var(--color-surface-alt);color:#1f2429;color:var(--color-text)}.mm-btn:disabled{cursor:not-allowed;opacity:.55}.mm-badge{background:#4480aa;background:var(--color-primary);color:#fff;display:inline-block;font-size:11px;line-height:18px;min-width:18px;padding:0 6px;text-align:center}.mm-flex{display:flex}.mm-flex.center{align-items:center}.mm-gap-2{gap:8px;gap:var(--space-2)}.mm-gap-3{gap:12px;gap:var(--space-3)}.mm-gap-4{gap:16px;gap:var(--space-4)}.mm-text-soft{color:#5a636d;color:var(--color-text-soft)}.mm-divider{background:#e1e5e9;background:var(--color-border);border:0;height:1px;margin:24px 0;margin:var(--space-6) 0}.container{margin:0 auto;max-width:1680px;padding:0 16px;padding:0 var(--space-4)}@media (min-width:1600px){.container{padding:0 24px;padding:0 var(--space-6)}}.py-section{padding-bottom:80px;padding-top:80px}@media (max-width:900px){.py-section{padding-bottom:56px;padding-top:56px}}@media (max-width:600px){.py-section{padding-bottom:40px;padding-top:40px}}h1{font-size:clamp(2.2rem,4vw,3.1rem);line-height:1.15}h1,h2{font-weight:500;letter-spacing:-.5px}h2{font-size:clamp(1.8rem,3.2vw,2.4rem);line-height:1.2}h3{font-size:clamp(1.25rem,2vw,1.6rem);letter-spacing:-.3px}.mm-active-underline:after{background:#4480aa;left:8px;opacity:0;right:8px;transform:scaleX(.4);transition:transform .12s cubic-bezier(.4,0,.2,1),opacity .12s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-fast),opacity var(--transition-fast)}.mm-active-underline.active:after{opacity:1;transform:scaleX(1)}body.modern-minimal ::-webkit-scrollbar{height:8px;width:8px}body.modern-minimal ::-webkit-scrollbar-track{background:#0000}body.modern-minimal ::-webkit-scrollbar-thumb{background:#c9d0d6}body.modern-minimal ::-webkit-scrollbar-thumb:hover{background:#b2bcc4}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);min-height:100dvh}audio,canvas,iframe,img,svg,video{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit}button{background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:500;letter-spacing:-.5px;line-height:1.15;text-decoration:none}:where(h1){font-size:clamp(2.2rem,4vw,3.1rem)}:where(h2){font-size:clamp(1.8rem,3vw,2.4rem)}:where(h3){font-size:clamp(1.3rem,2.2vw,1.7rem)}:where(p){margin-block:0}.container{max-width:var(--container-max)}.container,.container-wide{margin-inline:auto;padding-inline:var(--space-4)}.container-wide{max-width:var(--container-wide)}.container-narrow{margin-inline:auto;max-width:var(--container-narrow);padding-inline:var(--space-4)}.section{padding-block:72px}.section-tight{padding-block:48px}.section-compact{padding-block:32px}@media (max-width:900px){.section{padding-block:56px}}@media (max-width:600px){.section{padding-block:40px}.section-tight{padding-block:36px}.section-compact{padding-block:28px}}.stack{display:flex;flex-direction:column;gap:var(--space-6)}.stack-tight{gap:var(--space-4)}.inline{display:inline-flex;gap:var(--space-2)}.cluster,.inline{align-items:center}.cluster{display:flex;flex-wrap:wrap;gap:var(--space-3)}.center{box-sizing:initial;margin-inline:auto;max-width:var(--container-max);padding-inline:var(--space-4)}.grid-auto{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}:root{--space-12:48px;--space-14:56px;--space-16:64px}.pt-0{padding-top:0}.pb-0{padding-bottom:0}.mt-2{margin-top:var(--space-2)}.mb-2{margin-bottom:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-6{margin-bottom:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.mt-10{margin-top:var(--space-10)}.mb-10{margin-bottom:var(--space-10)}.text-soft{color:var(--color-text-soft)}.nowrap{white-space:nowrap}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.surface-alt{background:var(--color-surface-alt)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.round-sm{border-radius:var(--radius-sm)}.round-md{border-radius:var(--radius-md)}.round-lg{border-radius:var(--radius-lg)}.btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-soft);font-size:14px;font-weight:var(--font-weight-medium);gap:var(--space-2);justify-content:center;line-height:1.2;padding:var(--space-2) var(--space-4);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover{background:var(--color-surface-alt);color:var(--color-text)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover{filter:brightness(.95)}.btn-lg{font-size:15px;padding:var(--space-3) var(--space-6)}.btn-full{width:100%}.btn:disabled{cursor:not-allowed;opacity:.55}.input,.select,.textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;padding:12px 14px;transition:border-color var(--transition-fast),background var(--transition-fast);width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d84d926;outline:none}.field{display:flex;flex-direction:column;gap:6px}.field label{color:var(--color-text-soft);font-size:13px;font-weight:500}.fade-in{animation:fadeIn .4s ease}.hr{background:var(--color-border);border:0;height:1px;margin:var(--space-6) 0}.badge{background:var(--color-primary);border-radius:10px;color:#fff;display:inline-block;font-size:11px;line-height:18px;min-width:18px;padding:0 6px;text-align:center}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#c9d0d6;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b2bcc4}@media (max-width:760px){.btn,a.btn,button:not(.icon-only):not(.remove-btn):not(.drag-handle):not(.toolbar-btn),input[type=button],input[type=submit]{min-height:44px;min-width:44px;padding:.75rem 1rem}.btn-lg{min-height:48px;padding:.875rem 1.5rem}.tap-target{min-height:44px;min-width:44px;padding:var(--space-3)}.input,.select,.textarea,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{font-size:16px;min-height:44px;padding:.75rem 1rem}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{font-size:16px}.mobile-only{display:block}.desktop-only{display:none}}body,html{overflow-x:hidden;width:100%}*{-webkit-tap-highlight-color:rgba(13,132,217,.1)}body{text-rendering:optimizeLegibility}html{scroll-behavior:smooth}@media (max-width:768px){.container,.container-wide{padding-left:1rem;padding-right:1rem}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{word-wrap:break-word;overflow-wrap:break-word}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}input,select,textarea{max-width:100%}.modal-overlay,.overlay{padding:1rem}}@media (max-width:480px){.container,.container-wide{padding-left:.75rem;padding-right:.75rem}html{font-size:14px}.action-buttons,.button-group{flex-direction:column;gap:.5rem}.action-buttons>*,.button-group>*{width:100%}}@media (max-height:500px) and (orientation:landscape){.section{padding-block:2rem}.dialog,.modal{max-height:90vh;overflow-y:auto}}@supports (-webkit-touch-callout:none){body{min-height:-webkit-fill-available}.fixed-footer,.fixed-header{position:sticky}}@supports (padding:max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.fixed-header{padding-top:max(0px,env(safe-area-inset-top))}.fixed-footer{padding-bottom:max(0px,env(safe-area-inset-bottom))}}@media (max-width:768px){[onclick],[role=button],[tabindex]:not([tabindex="-1"]),a,button,label,select,summary{align-items:center;display:inline-flex;justify-content:center;min-height:44px;min-width:44px}li a,p a,span a{display:inline;min-height:auto;min-width:auto}.gallery-grid,.image-grid,.product-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.gallery-grid,.image-grid,.product-grid{gap:.375rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dialog,.modal,.popup{margin:1rem;max-width:100%;width:calc(100vw - 2rem)}.dialog-content,.modal-content{max-height:calc(100vh - 4rem);overflow-y:auto}nav ul{flex-direction:column}nav a,nav li{width:100%}nav a{padding:.75rem 1rem}.card,.product-card{margin-bottom:1rem}.card-grid{gap:1rem;grid-template-columns:1fr}form{width:100%}.form-row{flex-direction:column}.form-group{margin-bottom:1rem;width:100%}.form-actions{flex-direction:column;gap:.5rem}.form-actions a,.form-actions button{width:100%}.btn,[role=button],button{-webkit-user-select:none;user-select:none}.loading,.spinner{align-items:center;display:flex;justify-content:center;min-height:200px}}@media (max-width:768px){:focus-visible{outline:3px solid #4480aa;outline:3px solid var(--color-primary,#4480aa);outline-offset:2px}}@media (max-width:768px){.horizontal-scroll,.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto;scrollbar-width:none}.horizontal-scroll::-webkit-scrollbar,.scroll-x::-webkit-scrollbar{display:none}}@media (max-width:768px){img,picture,video{height:auto;max-width:100%}img[height],img[width]{height:auto}}:root{--cream-bg:#faf8f6;--warm-white:#fff;--soft-gray:#6b6b6b;--dark-charcoal:#2d2d2d;--warm-orange:#e67e22;--soft-tan:#d4c4b0;--border-light:#e8e4df;--shadow-soft:0 4px 12px #00000014;--shadow-warm:0 2px 8px #e67e2226}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#faf8f6;background-color:var(--cream-bg);color:#2d2d2d;color:var(--dark-charcoal);font-family:Roboto,sans-serif;font-size:16px;line-height:1.6;margin:0;padding:0}.app-container{min-height:100dvh}@supports not (height:100dvh){.app-container{min-height:100vh}}.admin-container,.cart-container,.dashboard-container,.gallery-container,.order-container{background-color:#faf8f6;background-color:var(--cream-bg);margin:0 auto;max-width:1840px;max-width:var(--container-wide,1840px);padding:60px 20px}h1,h2,h3,h4,h5,h6{color:#2d2d2d;color:var(--dark-charcoal);font-weight:400;letter-spacing:-.01em;line-height:1.3;margin:0 0 24px}h1{font-size:2.5rem;font-weight:300;letter-spacing:-.02em}h2{font-size:2rem;font-weight:400}h3{font-size:1.5rem;font-weight:500}p{color:#6b6b6b;color:var(--soft-gray);line-height:1.7;margin:0 0 20px}.form-group{margin-bottom:24px}.form-label{color:#2d2d2d;color:var(--dark-charcoal);display:block;font-size:15px;font-weight:500;margin-bottom:8px}.form-control{background-color:#fff;background-color:var(--warm-white);border:2px solid #e8e4df;border:2px solid var(--border-light);border-radius:8px;font-family:inherit;font-size:15px;padding:14px 18px;transition:all .2s ease;width:100%}.form-control:focus{border-color:#e67e22;border-color:var(--warm-orange);box-shadow:0 0 0 3px #e67e221a;outline:none}.card{background:#fff;background:var(--warm-white);border:1px solid #e8e4df;border:1px solid var(--border-light);border-radius:12px;overflow:hidden}.card-body{padding:24px}.card-header{background-color:#fafafa;border-bottom:1px solid #f0f0f0;padding:16px 24px}.loading{font-size:14px}.loading-spinner{border:2px solid #f0f0f0;border-top-color:#1a1a1a;height:20px;margin-right:12px;width:20px}.error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#dc3545}.error,.success{font-size:14px;margin:16px 0;padding:12px 16px}.success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.grid{grid-gap:24px;display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:#666}.text-small{font-size:14px}.login-container{align-items:center;background-color:#faf8f6;background-color:var(--cream-bg);display:flex;justify-content:center;margin:0 auto;max-width:1840px;max-width:var(--container-wide,1840px);min-height:calc(100vh - 140px);padding:60px 20px}.login-content{max-width:500px;width:100%}.login-card{background:#fff;background:var(--warm-white);border:1px solid #e8e4df;border:1px solid var(--border-light);border-radius:16px;box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-soft);padding:48px}.login-header{margin-bottom:32px;text-align:center}.login-back-button{align-items:center;background:none;border:none;color:#6b6b6b;color:var(--soft-gray);cursor:pointer;display:inline-flex;font-size:14px;margin-bottom:24px;padding:8px 0;transition:color .2s ease}.login-back-button:hover{color:#2d2d2d;color:var(--dark-charcoal)}.login-brand{align-items:center;display:flex;justify-content:center;margin-bottom:24px}.login-brand-icon{color:#e67e22;color:var(--warm-orange);height:32px;margin-right:12px;width:32px}.login-brand-title{font-size:24px;margin:0}.login-brand-title,.login-main-title{color:#2d2d2d;color:var(--dark-charcoal);font-weight:600}.login-main-title{font-size:28px;line-height:1.3;margin:0 0 12px}.login-subtitle{color:#6b6b6b;color:var(--soft-gray);font-size:16px;line-height:1.5;margin:0}.login-tabs{background:#fff;border-radius:12px;display:flex;margin-bottom:32px;padding:4px}.login-tab{background:none;border:none;border-radius:8px;color:#6b6b6b;color:var(--soft-gray);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s ease}.login-tab.active{background:#fff;background:var(--warm-white);box-shadow:0 1px 3px #0000001a}.login-tab.active,.login-tab:hover:not(.active){color:#2d2d2d;color:var(--dark-charcoal)}.login-alert{align-items:flex-start;border-radius:12px;display:flex;font-size:14px;margin-bottom:24px;padding:16px}.login-alert-error{background:#fff;border:1px solid #fecaca;color:#dc2626}.login-alert-success{background:#dcfce7;border:1px solid #bbf7d0;color:#16a34a}.login-alert-icon{flex-shrink:0;height:20px;margin-right:12px;margin-top:1px;width:20px}.login-alert-text{line-height:1.4;margin:0}.login-form{margin-bottom:32px}.login-form-group{margin-bottom:24px}.login-form-label{color:#2d2d2d;color:var(--dark-charcoal);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.login-input-wrapper{position:relative}.login-input-icon{color:#6b6b6b;color:var(--soft-gray);height:20px;left:16px;position:absolute;top:50%;transform:translateY(-50%);width:20px;z-index:1}.login-form-input{background:#fff;background:var(--warm-white);border:1px solid #e8e4df;border:1px solid var(--border-light);border-radius:12px;font-family:inherit;font-size:16px;padding:16px 16px 16px 48px;transition:all .2s ease;width:100%}.login-form-input:focus{border-color:#e67e22;border-color:var(--warm-orange);box-shadow:0 0 0 3px #e67e221a;outline:none}.login-password-input{padding-right:48px}.login-password-toggle{background:none;border:none;border-radius:4px;color:#6b6b6b;color:var(--soft-gray);cursor:pointer;padding:4px;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:color .2s ease}.login-password-toggle:hover{color:#2d2d2d;color:var(--dark-charcoal)}.login-password-toggle svg{height:20px;width:20px}.login-submit-button{align-items:center;background:#e67e22;background:var(--warm-orange);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:16px;transition:all .2s ease;width:100%}.login-submit-button:hover:not(:disabled){background:#d35400;box-shadow:0 4px 12px #e67e224d;transform:translateY(-1px)}.login-submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-loading-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:20px;width:20px}.login-divider{margin:32px 0;position:relative;text-align:center}.login-divider:before{background:#e8e4df;background:var(--border-light);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.login-divider-text{color:#6b6b6b;color:var(--soft-gray);font-size:14px;padding:0 16px;position:relative}.login-divider-text,.login-google-button{background:#fff;background:var(--warm-white)}.login-google-button{align-items:center;border:1px solid #e8e4df;border:1px solid var(--border-light);border-radius:12px;color:#2d2d2d;color:var(--dark-charcoal);cursor:pointer;display:flex;font-family:inherit;font-size:16px;font-weight:500;gap:12px;justify-content:center;margin-bottom:24px;padding:16px;transition:all .2s ease;width:100%}.login-google-button:hover:not(:disabled){background:#fff;border-color:#d4c4b0;border-color:var(--soft-tan);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-soft);transform:translateY(-1px)}.login-google-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-google-icon{height:20px;width:20px}.login-footer-links{color:#6b6b6b;color:var(--soft-gray);font-size:12px;line-height:1.5;text-align:center}.login-footer-links p{margin:0}.login-footer-links a{color:#e67e22;color:var(--warm-orange);text-decoration:none;transition:color .2s ease}.login-footer-links a:hover{color:#d35400;text-decoration:underline}@media (max-width:768px){.login-container{min-height:calc(100vh - 120px);padding:20px 16px}.login-card{padding:32px 24px}.login-main-title{font-size:24px}.login-subtitle{font-size:14px}.login-back-button{font-size:13px}}.navigation{background:#fff;border-bottom:1px solid #f0f0f0;padding:0;position:sticky;top:0;z-index:100}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1840px;max-width:var(--container-wide,1840px);min-height:64px;padding:0 20px}.nav-brand{color:#1a1a1a;font-size:18px;font-weight:600;text-decoration:none}.nav-menu{gap:32px;list-style:none;margin:0;padding:0}.nav-item,.nav-menu{align-items:center;display:flex}.nav-item{background:none;border:none;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:12px 0;text-decoration:none;transition:color .2s ease}.nav-item.active,.nav-item:hover{color:#1a1a1a}.nav-item .nav-icon{font-size:16px;margin-right:8px}.nav-dropdown{position:relative}.dropdown-menu{background:#fff;border:1px solid #f0f0f0;border-radius:6px;box-shadow:0 4px 12px #0000001a;left:0;min-width:200px;padding:8px 0;position:absolute;top:100%;z-index:1000}.dropdown-item{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:14px;padding:12px 16px;text-decoration:none;transition:background-color .2s ease;width:100%}.dropdown-item:hover{background-color:#f5f5f5;color:#1a1a1a}.dropdown-icon{font-size:16px;margin-right:12px}.cart-badge{position:relative}.cart-count{align-items:center;background:#dc3545;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:600;height:18px;justify-content:center;position:absolute;right:-8px;top:-8px;width:18px}@media (max-width:768px){.nav-container{padding:0 16px}.nav-menu{gap:16px}.nav-item .nav-text{display:none}.nav-item .nav-icon{margin-right:0}}.home-container{margin:80px auto;max-width:800px;padding:40px 20px;text-align:center}.home-header h1{font-size:3rem;font-weight:600;margin-bottom:16px}.home-header p{color:#666;font-size:18px;margin-bottom:40px}.home-features{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:60px 0}.feature-card{padding:32px 24px;text-align:center}.feature-icon{display:block;font-size:3rem;margin-bottom:16px}.feature-card h3{font-size:18px;margin-bottom:8px}.feature-card p{color:#666;font-size:14px;margin:0}@media (max-width:768px){.admin-container,.cart-container,.dashboard-container,.gallery-container,.order-container{padding:20px 16px}.home-header h1{font-size:2rem}.home-header p{font-size:16px}.home-features{gap:24px;margin:40px 0}.feature-card{padding:24px 16px}}.loading-container{align-items:center;color:#5e72e4;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{border:4px solid #0000001a;border-left-color:#5e72e4;height:36px;margin-bottom:10px;width:36px}.loading-text{animation:fadeInOut 1.5s ease-in-out infinite;font-size:18px;font-weight:500}@keyframes fadeInOut{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.app-container{transition:opacity .3s ease-out}.nav-item.loading{overflow:hidden;position:relative}.nav-item.loading:after{animation:loading-animation 1s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes loading-animation{0%{left:-100%}to{left:100%}}.main-nav-wrapper{-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);background:var(--color-surface);border-bottom:1px solid var(--color-border);font-family:var(--font-family);position:sticky;top:0;width:100%;z-index:1000}.main-top-bar{gap:32px;justify-content:space-between;margin:0 auto;max-width:1840px;max-width:var(--container-wide,1840px);min-height:68px;padding:14px 48px}.main-left-group,.main-top-bar{align-items:center;display:flex}.main-left-group{gap:24px}.main-left{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:4px 8px;transition:background var(--transition-fast)}.main-left:hover{background:#00000005}.main-logo-icon{font-size:26px;line-height:1}.main-logo-text{align-items:center;color:var(--color-primary);display:inline-flex;font-size:28px;gap:10px;letter-spacing:-.5px;line-height:1.2}.main-beta-badge,.main-logo-text{font-weight:700;position:relative}.main-beta-badge{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border-radius:4px;box-shadow:0 2px 4px #ee5a6f4d;color:#fff;font-size:11px;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase;top:-8px}.main-logo-img{display:block;height:40px;object-fit:contain;transition:transform var(--transition-fast);width:auto}.main-left:hover .main-logo-img{transform:scale(1.02)}@media (max-width:520px){.main-logo-img{height:32px}}.main-right{align-items:center;display:flex;gap:12px}.main-cart-btn,.main-contact-btn,.main-icon-btn,.main-link-btn,.main-primary-btn{background:none;border:1px solid #0000;border-radius:8px;color:var(--color-text-soft);cursor:pointer;font-size:16px;font-weight:500;padding:9px 16px;position:relative;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform .1s ease;white-space:nowrap}.main-cart-btn:hover,.main-contact-btn:hover,.main-icon-btn:hover,.main-link-btn:hover{background:#fffc;color:var(--color-text);transform:translateY(-1px)}.main-cart-btn:focus-visible,.main-contact-btn:focus-visible,.main-icon-btn:focus-visible,.main-link-btn:focus-visible,.main-primary-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.main-primary-btn{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 4px #0000001a;color:#fff;font-weight:600;padding:10px 20px}.main-primary-btn:hover{background:var(--color-primary-hover);box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.main-cart-btn{font-size:20px;line-height:1}.main-cart-badge{background:var(--color-accent);border-radius:12px;box-shadow:0 0 0 1px var(--color-surface);color:#fff;font-size:11px;min-width:18px;padding:2px 5px;position:absolute;right:-4px;text-align:center;top:-4px}.main-user{background:#00000008;border-radius:8px;color:var(--color-text);font-weight:500;padding:8px 12px}.main-loading{color:#687076;font-size:12px}.main-hamburger{background:none;border:none;border-radius:6px;cursor:pointer;display:none;font-size:22px;padding:4px 8px}.main-category-bar,.main-hamburger:hover{background:#fff}.main-cat-list{display:flex;gap:4px;list-style:none;margin:0 auto;max-width:1840px;max-width:var(--container-wide,1840px);padding:0 42px}.main-cat-item{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-soft);cursor:pointer;font-size:13px;font-weight:500;padding:10px 16px;transition:background var(--transition-fast),color var(--transition-fast)}.main-cat-item:hover{background:var(--color-surface);color:var(--color-text)}.main-cat-item.active{background:var(--color-primary);color:#fff;font-weight:600}.main-cat-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.main-mobile-menu{animation:fadeSlide .25s ease;background:#fff;border-bottom:1px solid #e2e6ea;box-shadow:0 4px 16px #00000014;left:0;padding:20px 20px 24px;position:absolute;top:100%;width:100%}.main-mobile-cat-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));list-style:none;margin:16px 0 0;padding:0}.main-mobile-cat-item{background:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 10px;text-align:left;width:100%}.main-mobile-cat-item.active,.main-mobile-cat-item:hover{background:#d9eef3;background:var(--color-primary-soft,#d9eef3)}.main-mobile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.main-mobile-actions button{background:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1 45%;font-size:14px;font-weight:600;padding:10px 12px;transition:background var(--transition-fast),filter var(--transition-fast)}.main-mobile-actions button:hover,.main-mobile-actions button:nth-child(odd){background:var(--color-primary-hover)}.main-mobile-actions button:hover{filter:brightness(.97)}.mm-active-underline{position:relative}.mm-active-underline:after{background:var(--color-primary);bottom:0;content:"";height:2px;left:50%;position:absolute;transition:width .3s ease,left .3s ease;width:0}.mm-active-underline.active:after,.mm-active-underline:hover:after{left:10%;width:80%}@media (max-width:880px){.main-hamburger{display:block}.main-category-bar{display:none}.main-products-dropdown-wrapper{display:none!important}}@media (min-width:881px){.main-products-dropdown-wrapper{display:block!important}.main-category-bar{display:flex!important}}@media (max-width:520px){.main-top-bar{gap:16px;padding:12px 16px}.main-left-group{gap:12px}.main-logo-icon,.main-logo-text{font-size:20px}.main-cart-btn,.main-icon-btn,.main-link-btn{font-size:13px;padding:6px 10px}.main-primary-btn{font-size:13px;padding:8px 14px}.main-right{gap:8px}}.main-products-dropdown-wrapper{position:relative}.main-products-btn{align-items:center;background:#ffffff80;border:1px solid #00000014;border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;gap:8px;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.main-products-btn:hover{background:#ffffffe6;border-color:var(--color-primary);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.main-products-dropdown{animation:fadeSlideDown .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;left:0;margin-top:8px;min-width:350px;padding:12px;position:absolute;top:100%;z-index:1100}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.main-product-dropdown-item{align-items:center;background:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;gap:16px;padding:12px;text-align:left;transition:all .2s ease;width:100%}.main-product-dropdown-item:hover{background:#f8fafc;transform:translateX(4px)}.main-account-dropdown-wrapper{position:relative}.main-account-btn{align-items:center;background:none;border:1px solid #00000014;border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:9px 16px;transition:all .2s ease;white-space:nowrap}.main-account-btn:hover{background:#fffc;border-color:var(--color-primary);transform:translateY(-1px)}.main-account-btn svg{stroke:var(--color-text-soft);transition:stroke .2s ease}.main-account-btn:hover svg{stroke:var(--color-primary)}.main-account-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-account-arrow{font-size:12px;opacity:.6;transition:transform .2s ease}.main-account-dropdown-wrapper:hover .main-account-arrow{transform:rotate(180deg)}.main-account-dropdown{animation:fadeSlideDown .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;min-width:240px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:1100}.main-account-dropdown-header{padding:12px 12px 8px}.main-account-user-name{color:var(--color-text);font-size:15px;font-weight:600;margin-bottom:2px}.main-account-user-email{color:var(--color-text-soft);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-account-dropdown-divider{background:#00000014;height:1px;margin:8px 0}.main-account-dropdown-item{align-items:center;background:#fff;border:none;border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 12px;text-align:left;transition:all .2s ease;width:100%}.main-account-dropdown-item:hover{background:#f8fafc;transform:translateX(4px)}.main-account-dropdown-item svg{stroke:var(--color-text-soft);flex-shrink:0;transition:stroke .2s ease}.main-account-dropdown-item:hover svg{stroke:var(--color-primary)}.main-logout-item:hover{background:#fef2f2;color:#dc2626}.main-logout-item:hover svg{stroke:#dc2626}.main-register-item{background:var(--color-primary);color:#fff}.main-register-item svg{stroke:#fff}.main-register-item:hover{background:var(--color-primary-hover);transform:translateX(4px)}.main-register-item:hover svg{stroke:#fff}@media (max-width:880px){.main-account-label{display:none}.main-account-btn{padding:9px 12px}}.main-product-image{background:#f1f5f9;border-radius:8px;flex-shrink:0;height:60px;overflow:hidden;width:60px}.main-product-image img{height:100%;object-fit:cover;width:100%}.main-product-info{flex:1 1}.main-product-name{color:#1e293b;font-size:15px;font-weight:600;margin-bottom:4px}.main-product-desc{color:#64748b;font-size:15px;line-height:1.4}@media (max-width:880px){.main-products-dropdown{display:none}.main-mobile-products-title{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:12px;padding:0 4px}.main-mobile-cat-list{display:flex;flex-direction:column;gap:8px}.main-mobile-product-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .2s ease;width:100%}.main-mobile-product-item.active,.main-mobile-product-item:hover{background:#f8fafc;border-color:var(--color-primary)}.main-mobile-product-image{background:#f1f5f9;border-radius:6px;flex-shrink:0;height:50px;overflow:hidden;width:50px}.main-mobile-product-image img{height:100%;object-fit:cover;width:100%}.main-mobile-product-info{flex:1 1}.main-mobile-product-name{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:2px}.main-mobile-product-desc{color:#64748b;font-size:12px;line-height:1.3}}.home-minimal{background:var(--color-bg);display:flex;flex-direction:column;min-height:calc(100dvh - 160px)}@supports not (height:100dvh){.home-minimal{min-height:calc(100vh - 160px)}}.home-hero-wide{align-items:center;box-sizing:border-box;display:flex;justify-content:center;margin:0 auto;max-width:var(--container-wide);padding:clamp(64px,1vh,140px) clamp(24px,1px,120px) 34px;position:relative;width:100%}.home-hero-wide:before{background:radial-gradient(circle at 28% 32%,#4480aa2e,#0000 60%),linear-gradient(180deg,var(--color-surface),var(--color-bg));content:"";inset:0;position:absolute;z-index:0}.home-hero-inner{max-width:1100px;position:relative;width:100%;z-index:1}.home-hero-inner h1{font-size:clamp(3rem,6vw,5.2rem);font-weight:500;letter-spacing:-2px;line-height:1.02;margin:0 0 24px}.home-hero-inner .tagline{color:var(--color-text-soft);font-size:clamp(1.05rem,1.5vw,1.4rem);line-height:1.4;margin:0 0 40px;max-width:760px}.welcome-copy{color:var(--color-text-soft);font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.55;margin:0 0 46px;max-width:800px}.welcome-copy p{margin:0 0 14px}.welcome-copy p strong{color:var(--color-text)}.welcome-copy .welcome-list{list-style:disc;margin:0 0 18px;padding-left:22px}.welcome-copy .welcome-list li{margin:4px 0}.home-actions{display:flex;flex-wrap:wrap;gap:16px}.home-actions .mm-btn{font-size:15px}.home-links-row{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:32px;justify-content:flex-start;margin-top:auto;margin-inline:auto;max-width:var(--container-wide);padding:32px clamp(24px,5vw,120px) 56px;width:100%}.home-links-row a{color:var(--color-text-soft);font-weight:500;padding:8px 0;position:relative;text-decoration:none}.home-links-row a:after{background:var(--color-primary);border-radius:2px;bottom:0;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-fast);width:0}.home-links-row a:hover{color:var(--color-text)}.home-links-row a:hover:after{width:100%}.home-product-strip{margin:0 auto;max-width:var(--container-wide);padding:16px clamp(24px,5vw,120px) 40px}.home-product-strip h2{font-size:clamp(1.2rem,2vw,1.6rem);font-weight:500;letter-spacing:-.5px;margin:0 0 20px}.mini-products{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));list-style:none;margin:0;padding:0}.mini-product a{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;padding:14px 16px 18px;text-decoration:none;transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast)}.mini-product a:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.mini-product .thumb{align-items:center;aspect-ratio:4/3;background:var(--color-surface-alt);border-radius:var(--radius-sm);display:flex;justify-content:center;overflow:hidden;width:100%}.mini-product img{animation:fadeIn .4s ease-in;display:block;height:100%;object-fit:cover;width:100%}.mini-product .name{color:var(--color-text);font-size:.8rem;font-weight:500;letter-spacing:.2px;line-height:1.2}.home-final-cta{margin:0 auto;max-width:var(--container-wide);padding:64px clamp(24px,5vw,120px) 96px}.home-final-cta .final-inner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:56px clamp(24px,4vw,72px)}.home-final-cta h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:500;letter-spacing:-1px;margin:0 0 16px}.home-final-cta p{color:var(--color-text-soft);font-size:1rem;line-height:1.5;margin:0 0 32px;max-width:780px}.home-actions.cta{gap:20px}.visually-hidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}@media (max-width:760px){.home-product-strip{padding:12px 32px 40px}.home-final-cta{padding:56px 32px 80px}.home-final-cta .final-inner{padding:48px 36px}}@media (max-width:480px){.mini-products{gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.home-final-cta{padding:48px 24px 72px}.home-final-cta .final-inner{padding:40px 28px}}@media (max-width:760px){.home-hero-wide{padding:80px 32px 48px}.home-links-row{gap:20px;padding:40px 32px 64px}.home-hero-inner h1{font-size:clamp(2.4rem,8vw,3.4rem)}}@media (max-width:480px){.home-hero-wide{padding:72px 24px 40px}.home-links-row{padding:36px 24px 56px}.home-actions{align-items:stretch;flex-direction:column}.home-actions .mm-btn{justify-content:center;width:100%}}.photo-delete-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.photo-delete-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:85vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px 24px}.modal-header h3{color:#1f2937;font-size:20px;font-weight:600;margin:0}.close-btn{border-radius:6px;color:#9ca3af;font-size:28px;height:32px;padding:0;transition:all .2s;width:32px}.close-btn:hover{background:#fff;color:#4b5563}.modal-body{padding:24px}.modal-loading{padding:40px;text-align:center}.spinner{border:3px solid #f3f4f6;margin:0 auto 16px}.photo-info{margin-bottom:20px}.photo-name{border-radius:8px;color:#6b7280;font-size:14px;margin:0;padding:12px;word-break:break-word}.action-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.action-option{border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:block;padding:16px;transition:all .2s}.action-option.selected,.action-option:hover{background:#fff;border-color:#3b82f6}.action-option.selected{box-shadow:0 0 0 3px #3b82f61a}.action-option.danger{border-color:#fca5a5}.action-option.danger.selected,.action-option.danger:hover{background:#fff;border-color:#ef4444}.action-option.danger.selected{box-shadow:0 0 0 3px #ef44441a}.action-option input[type=radio]{opacity:0;pointer-events:none;position:absolute}.option-content{align-items:center;display:flex;gap:16px}.option-icon{flex-shrink:0;font-size:32px}.option-text{flex:1 1}.option-title{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:4px}.option-description{color:#6b7280;font-size:14px;line-height:1.4}.warning-message{background:#fff;border:2px solid #fbbf24;border-radius:8px;color:#92400e;font-weight:500;margin-bottom:20px;padding:16px}.usage-info{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.usage-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.usage-badge.cart{background:#dbeafe;color:#1e40af}.usage-badge.active-order{background:#fff;color:#9a3412}.usage-badge.recent-order{background:#fff;color:#92400e}.help-text{color:#4b5563;font-size:14px;font-weight:500;margin-bottom:8px}.requirements-list{list-style:none;margin:0;padding:0}.requirements-list li{background:#fff;border-left:3px solid #3b82f6;border-radius:4px;color:#374151;font-size:14px;margin-bottom:6px;padding:8px 12px}.warning-box{background:#fff;border:2px solid #ef4444;margin-top:16px}.warning-box p{color:#991b1b;line-height:1.5;margin:0}.modal-footer{border-top:1px solid #e5e7eb;gap:12px;padding:16px 24px}.btn-primary,.btn-secondary{border-radius:8px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-primary:hover{transform:translateY(-1px)}.btn-primary.btn-danger{background:#fff}.btn-primary.btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}@media (max-width:640px){.photo-delete-modal{margin:10px;max-width:95%}.modal-header h3{font-size:18px}.option-icon{font-size:28px}.option-title{font-size:15px}.option-description{font-size:13px}}:root{--gallery-accent:#4480aa;--gallery-accent-dark:#2f5b79;--gallery-danger:#dc2626;--gallery-danger-soft:#ef4444;--gallery-bg:#f5f5f7;--gallery-radius:14px;--gallery-thumb-height:180px}.gallery-wrapper-new{font-family:system-ui,sans-serif;margin:0 auto;max-width:auto;min-height:100vh;padding:140px 32px 40px}.gallery-wrapper-new:has(.error),.gallery-wrapper-new:has(.loading){align-items:center;display:flex;justify-content:center}.gallery-topbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #eee;display:flex;gap:16px;justify-content:space-between;left:0;padding:12px 32px;position:fixed;right:0;top:110px;transform:translateY(0);transition:top .3s ease-in-out,transform .3s ease-in-out;z-index:900}.gallery-topbar.sticky{top:0;z-index:1050}.gallery-topbar.sticky~* .photos-grid,.gallery-wrapper-new:has(.gallery-topbar.sticky) .photos-grid{margin-top:100px}.gallery-topbar.hidden{transform:translateY(-100%)}.gallery-topbar.visible{transform:translateY(0)}.gallery-topbar .left{align-items:center;display:flex;gap:8px}.gallery-topbar .tab{background:#fff;border:1px solid #4480aa;border:1px solid var(--gallery-accent);border-radius:24px;color:#1f3f52;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:.2s}.gallery-topbar .tab:hover{background:#d2ecf9}.gallery-topbar .tab.active{border-color:#4480aa;border-color:var(--gallery-accent);box-shadow:0 4px 12px -2px #4480aa73}.gallery-topbar .album-chip,.gallery-topbar .tab.active{background:#4480aa;background:var(--gallery-accent);color:#fff}.gallery-topbar .album-chip{border:1px solid #4480aa;border:1px solid var(--gallery-accent);border-radius:20px;box-shadow:0 2px 6px -2px #00000040;cursor:pointer;font-size:12px;padding:6px 12px}.gallery-topbar .album-chip:hover{background:#3a6e93}.gallery-topbar .center{display:flex;flex:1 1;justify-content:center}.gallery-topbar .album-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:240px;padding:8px 12px}.gallery-topbar .right{display:flex;gap:8px}.gallery-topbar .right button{background:#4480aa;background:var(--gallery-accent);border:1px solid #4480aa;border:1px solid var(--gallery-accent);border-radius:8px;box-shadow:0 2px 6px -2px #00000040;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:.2s}.gallery-topbar .right button:hover{background:#3a6e93;border-color:#3a6e93}.gallery-topbar .right button.active{background:#2f5b79;border-color:#2f5b79}.gallery-topbar .right button:disabled{cursor:not-allowed;opacity:.5}.bar-content{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-top:1px solid #4480aa33;bottom:0;box-shadow:0 -2px 12px -2px #0003;color:#1f3f52;display:flex;font-size:15px;gap:16px;left:0;padding:16px 32px;position:fixed;right:0;z-index:799}.bar-content button{background:#4480aa;background:var(--gallery-accent);border:1px solid #4480aa;border:1px solid var(--gallery-accent);border-radius:8px;box-shadow:0 2px 6px -2px #00000040;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:.2s}.bar-content button:hover{background:#3a6e93;border-color:#3a6e93}.bar-content button.danger{background:#dc2626;border-color:#dc2626}.bar-content button.danger:hover{background:#b91c1c;border-color:#b91c1c}.photos-grid{align-items:start;width:100%}.photos-grid,.photos-grid.reset-grid{grid-gap:22px 20px;gap:22px 20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.photos-grid.reset-grid{display:grid;overflow:visible}.photo-card{background:#f5f5f7;background:var(--gallery-bg);border:1px solid #e6e7ea;border-radius:14px;border-radius:var(--gallery-radius);box-sizing:border-box;display:flex;flex-direction:column;margin:0;padding:6px;transition:.2s;width:100%;z-index:1}.photo-card:hover{z-index:2}.photo-card.menu-open{z-index:5000}.photo-card:hover{box-shadow:0 6px 18px -4px #00000026}.photo-card .photo-box{background:#fff;border-radius:10px;overflow:hidden;position:relative;width:100%}.photo-card img{background:#fff;display:block;height:auto;max-height:180px;max-height:var(--gallery-thumb-height);object-fit:contain;width:100%}.photo-card:hover{box-shadow:0 8px 20px -4px #0000002e}.photo-card.selected{outline:4px solid #4480aa;outline:4px solid var(--gallery-accent);outline-offset:0}.photo-card.locked{opacity:1}.photo-card .overlay{bottom:6px;display:flex;flex-direction:column;justify-content:space-between;left:6px;pointer-events:none;position:absolute;right:6px;top:6px}.photo-card .overlay .check{align-items:center;background:#4480aa;background:var(--gallery-accent);border:1px solid #2f5b79;border:1px solid var(--gallery-accent-dark);border-radius:8px;box-shadow:0 2px 6px #00000040;color:#fff;display:flex;font-size:14px;font-weight:600;height:26px;justify-content:center;width:26px}.photo-card .overlay button{pointer-events:auto}.photo-card .remove-btn{background:#6b7280;border:none;border-radius:8px;box-shadow:0 3px 10px -2px #0000004d;color:#fff;font-size:16px;height:32px;width:32px}.photo-card .photo-action-delete,.photo-card .remove-btn{align-items:center;cursor:pointer;display:flex;justify-content:center}.photo-card .photo-action-delete{background:#0000;border:none;border-radius:12px;color:#ef4444;color:var(--gallery-danger-soft);font-size:20px;height:40px;opacity:0;pointer-events:none;position:absolute;right:6px;top:6px;transform:translateY(-6px) scale(.85);transition:.35s cubic-bezier(.4,.14,.3,1);width:40px}.photo-card:hover .photo-action-delete{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.photo-menu-wrapper{position:absolute;right:6px;top:6px}.photo-menu-btn{align-items:center;background:#0000008c;border:none;border-radius:10px;box-shadow:0 4px 14px -4px #0006;color:#fff;cursor:pointer;display:flex;font-size:22px;height:34px;justify-content:center;line-height:0;transition:.25s;width:34px}.photo-menu-btn:hover{background:#000000bf}.photo-action-menu{animation:fadeSlide .18s ease;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 14px 42px -12px #00000059;display:flex;flex-direction:column;gap:4px;left:100%;margin-left:10px;min-width:190px;padding:8px;position:absolute;top:6px;z-index:1300}.photo-action-menu:before{background:#fff;border:1px solid #e5e7eb;border-bottom:none;border-left:none;box-shadow:2px -2px 5px -2px #0000002e;content:"";height:10px;left:-5px;position:absolute;top:14px;transform:rotate(45deg);width:10px}.photo-menu-wrapper{z-index:10}.photo-action-menu button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 10px;text-align:left}.photo-action-menu button:hover{background:#fff}.photo-action-menu button:first-child{color:#b91c1c}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.photo-card .photo-action-delete:hover{background:#ef4444;background:var(--gallery-danger-soft);box-shadow:0 6px 18px -4px #00000059;color:#fff}.photo-card .photo-action-delete:active{transform:translateY(1px) scale(.92)}.photo-card .photo-action-delete .icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.lock-badge{align-items:center;background:#111827cc;bottom:6px;box-shadow:0 4px 10px -3px #00000059;cursor:default;display:flex;font-size:18px;height:32px;justify-content:center;right:6px;width:32px}.lock-badge,.lock-badge .lock-info{border-radius:10px;color:#fff;position:absolute}.lock-badge .lock-info{background:#111827;bottom:40px;box-shadow:0 8px 28px -6px #0006;font-size:12px;line-height:1.35;opacity:0;padding:8px 10px;pointer-events:none;right:0;transform:translateY(6px);transition:.22s;width:210px}.lock-badge .lock-info:before{background:#111827;bottom:-5px;content:"";height:10px;position:absolute;right:10px;transform:rotate(45deg);width:10px}.lock-badge:hover .lock-info{opacity:1;transform:translateY(0)}.raw-badge{align-items:center;background:#d97706dd;border-radius:8px;box-shadow:0 3px 8px -2px #0000004d;color:#fff;cursor:default;display:flex;font-size:11px;font-weight:600;gap:4px;height:28px;left:6px;padding:0 8px;position:absolute;top:6px;z-index:10}.raw-badge .raw-icon{font-size:14px;line-height:1}.raw-badge .raw-text{letter-spacing:.3px}.photo-viewer-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:50000}.photo-viewer{flex-direction:column;gap:14px;height:100%;position:relative;width:100%}.photo-viewer .close-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff44;border:none;border-radius:50%;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;position:fixed;right:20px;top:20px;transition:.25s;width:48px;z-index:50001}.photo-viewer .close-btn:hover{background:#fff6;transform:scale(1.1)}.photo-viewer .viewer-image{border-radius:14px;box-shadow:0 20px 60px -10px #0009;max-height:85vh;max-width:85vw;object-fit:contain}.photo-viewer .viewer-meta{bottom:20px;color:#fff;font-size:14px;max-width:90vw;opacity:.9;position:absolute;text-align:center;word-break:break-word}.photo-viewer .nav-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff44;border:none;border-radius:12px;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:36px;height:80px;justify-content:center;line-height:0;position:fixed;top:50%;transform:translateY(-50%);transition:.25s;width:56px;z-index:50001}.photo-viewer .nav-btn:hover{background:#fff6;transform:translateY(-50%) scale(1.05)}.photo-viewer .nav-btn.prev{left:20px}.photo-viewer .nav-btn.next{right:20px}.viewer-action{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;transition:.25s;width:40px}.viewer-action:hover:not(:disabled){background:#fff3}.viewer-action.danger{border-color:#dc2626aa}.viewer-action.danger:hover{background:#dc262633}.viewer-action:disabled{cursor:not-allowed;opacity:.5}.albums-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));width:100%}.album-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:.25s}.album-card:hover{box-shadow:0 8px 24px -6px #00000026;transform:translateY(-3px)}.album-card .thumb{align-items:center;aspect-ratio:4/3;background:#fff;display:flex;justify-content:center;overflow:hidden}.album-card .thumb img{height:100%;object-fit:cover;width:100%}.album-card .thumb .placeholder{font-size:48px;opacity:.4}.album-card .meta{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px}.album-card .name{color:#111827;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-card .count{color:#6b7280;font-size:12px}.error,.loading{display:flex}.error{color:#dc2626}.modal-overlay{background:#11182780}.modal{border-radius:20px;box-shadow:0 20px 60px -10px #00000040;gap:16px;max-width:420px;padding:28px 28px 24px}.modal h3{font-size:20px;font-weight:600;margin:0}.modal form input{border:1px solid #d1d5db;border-radius:10px;font-size:14px;padding:12px 14px;width:100%}.modal form input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f140;outline:none}.modal .actions{display:flex;gap:10px;justify-content:flex-end}.modal .actions button{background:#111827;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px}.modal .actions button:hover{background:#374151}.modal .actions .btn-secondary{background:#4480aa;background:var(--gallery-accent);border:1px solid #4480aa;border:1px solid var(--gallery-accent)}.modal .actions .btn-secondary:hover{background:#3a6e93;border-color:#3a6e93}.modal .actions .btn-danger{background:#dc2626;border:1px solid #dc2626}.modal .actions .btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.vertical-gap{display:flex;flex-direction:column;gap:14px}.empty{color:#6b7280;grid-column:1/-1;padding:40px 0;text-align:center}.album-group{display:flex;flex-direction:column;gap:18px}.album-group-header{align-items:center;color:#1f3f52;display:flex;font-size:18px;font-weight:600;gap:10px;position:relative}.album-group-header .count{background:#fff;border:1px solid #4480aa44;border-radius:14px;color:#1f3f52;font-size:12px;padding:4px 8px}.album-group-header:after{background:#4480aa;background:var(--gallery-accent);border-radius:3px;bottom:-6px;content:"";height:3px;left:0;position:absolute;width:60px}.quality-badge{align-items:center;background:#fff;border:1px solid #e55a2b;border-radius:8px;box-shadow:0 2px 6px #ff6b354d;color:#fff;display:flex;font-size:12px;height:26px;justify-content:center;left:6px;pointer-events:none;position:absolute;top:6px;width:26px;z-index:10}@media (max-width:900px){.gallery-wrapper-new{padding:160px 16px 40px}.gallery-topbar{flex-wrap:wrap;gap:10px;padding:10px 16px;top:100px}.gallery-topbar .center{order:3;width:100%}.gallery-topbar .right{flex-wrap:wrap;order:2}.selection-bar{top:200px}.photos-grid{gap:12px 10px}.photo-card img{height:150px}}@media (max-width:560px){.gallery-topbar{top:96px}.gallery-wrapper-new{padding:180px 12px 32px}.gallery-topbar .right button,.gallery-topbar .tab{font-size:12px;padding:6px 10px}.selection-bar{top:210px}}.modern-gallery{display:flex;gap:2rem;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.modern-gallery__sidebar{flex-shrink:0;width:280px}.modern-gallery__main{flex:1 1;min-width:0}.modern-gallery__header{margin-bottom:2rem}.modern-gallery__title{color:#1a1a1a;font-size:2rem;font-weight:600;margin:0 0 .5rem}.modern-gallery__subtitle{color:#666;font-size:1rem;margin:0}.gallery-toolbar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.gallery-toolbar__center,.gallery-toolbar__left,.gallery-toolbar__right{align-items:center;display:flex;gap:.75rem}.gallery-toolbar__search{min-width:280px;position:relative}.gallery-toolbar__search-input{border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;padding:.6rem 2.5rem .6rem 1rem;transition:border-color .2s;width:100%}.gallery-toolbar__search-input:focus{border-color:#4285f4;outline:none}.gallery-toolbar__search-icon{opacity:.5;pointer-events:none;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.gallery-toolbar__filter{align-items:center;display:flex;gap:.5rem}.gallery-toolbar__filter label{color:#666;font-size:.9rem}.gallery-toolbar__select{background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem;padding:.5rem .75rem;transition:border-color .2s}.gallery-toolbar__select:focus{border-color:#4285f4;outline:none}.gallery-toolbar__btn{background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem;padding:.6rem 1rem;transition:all .2s}.gallery-toolbar__btn:hover{background:#f5f5f5;border-color:#d0d0d0}.gallery-toolbar__btn--icon{font-size:1.1rem;padding:.6rem .8rem}.gallery-toolbar__btn--text{border-color:#0000;color:#4285f4}.gallery-toolbar__btn--text:hover{background:#e8f0fe}.gallery-toolbar__btn--primary,.gallery-toolbar__btn.active{background:#4285f4;border-color:#4285f4;color:#fff}.gallery-toolbar__btn--primary:hover{background:#357ae8;border-color:#357ae8}.gallery-toolbar__btn--danger{background:#dc3545;border-color:#dc3545;color:#fff}.gallery-toolbar__btn--danger:hover{background:#c82333;border-color:#c82333}.gallery-toolbar__count,.gallery-toolbar__selection{align-items:center;color:#666;display:flex;font-size:.95rem;gap:.5rem}.gallery-toolbar__view-mode{border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:.25rem;overflow:hidden}.gallery-toolbar__view-mode .gallery-toolbar__btn{border:none;border-radius:0;border-right:1px solid #e0e0e0}.gallery-toolbar__view-mode .gallery-toolbar__btn:last-child{border-right:none}.photo-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:1rem 0}.justified-photo-grid{padding:0;width:100%}.justified-photo-grid__row{align-items:flex-start;display:flex;width:100%}.justified-photo-grid__photo{flex-shrink:0;transition:opacity .15s}.justified-photo-grid__photo:hover{opacity:.85}.masonry-photo-grid{align-items:flex-start;display:flex;justify-content:flex-start;min-width:0;padding:0;width:100%}.masonry-photo-grid__column{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0}.masonry-photo-grid__photo{border-radius:0;box-shadow:none;transition:opacity .15s}.masonry-photo-grid__photo:hover{opacity:.95}.masonry-photo-grid__photo img{border-radius:0}.photo-grid-empty{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.photo-grid-empty__icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.photo-grid-empty__title{color:#666;font-size:1.5rem;font-weight:500;margin-bottom:.5rem}.photo-grid-empty__subtitle{color:#999;font-size:1rem}.photo-card{aspect-ratio:1;background:#f5f5f5;border-radius:0;box-shadow:none;cursor:pointer;transition:transform .15s,opacity .15s}.justified-photo-grid__item .photo-card{aspect-ratio:auto!important}.photo-card:hover{opacity:.85}.photo-card:focus{outline:2px solid #4285f4;outline-offset:2px}.photo-card.selected{outline:3px solid #4285f4;outline-offset:-3px}.photo-card__checkbox{left:.75rem;position:absolute;top:.75rem;z-index:2}.photo-card__checkbox input[type=checkbox]{accent-color:#4285f4;cursor:pointer;height:20px;width:20px}.photo-card__image-wrapper{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.photo-card__image{height:100%;object-fit:cover;transition:opacity .3s;width:100%}.justified-photo-grid__item .photo-card__image{display:block;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.photo-card__loader{align-items:center;background:#f5f5f5;display:flex;inset:0;justify-content:center;position:absolute}.photo-card__info{background:linear-gradient(0deg,#000000b3,#0000);bottom:0;color:#fff;left:0;opacity:0;padding:1rem;position:absolute;right:0;transition:opacity .2s}.photo-card:hover .photo-card__info{opacity:1}.photo-card__name{font-size:.9rem;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-card__meta{font-size:.8rem;opacity:.9}.photo-card__menu-wrapper{position:absolute;right:.5rem;top:.5rem;z-index:3}.photo-card__menu-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;color:#333;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;transition:all .2s;width:32px}.photo-card__menu-btn:hover{background:#fff;box-shadow:0 4px 12px #0003}.photo-card__menu{background:#fff;border-radius:8px;box-shadow:0 4px 16px #0003;margin-top:.25rem;min-width:150px;overflow:hidden;position:absolute;right:0;top:100%}.photo-card__menu button{background:#fff;border:none;color:#333;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:background .2s;width:100%}.photo-card__menu button:hover{background:#f5f5f5}.photo-card__placeholder{align-items:center;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:center;padding:1rem;text-align:center}.photo-card__icon{font-size:3rem;opacity:.5}.photo-card__text{color:#999;font-size:.9rem}.photo-card__filename{color:#bbb;font-size:.75rem;max-width:90%;word-break:break-all}.photo-viewer{align-items:center;animation:fadeIn .2s ease-out;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.photo-viewer__backdrop{background:#000000f2;inset:0;position:absolute}.photo-viewer__content{display:flex;flex-direction:column;height:100%;position:relative;width:100%;z-index:1}.photo-viewer__header{align-items:center;background:linear-gradient(180deg,#00000080,#0000);display:flex;justify-content:space-between;padding:1.5rem 2rem}.photo-viewer__info{color:#fff}.photo-viewer__title{font-size:1.25rem;font-weight:500;margin:0 0 .25rem}.photo-viewer__meta{font-size:.9rem;margin:0;opacity:.8}.photo-viewer__close{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;height:40px;transition:background .2s;width:40px}.photo-viewer__close:hover{background:#fff3}.photo-viewer__image-container{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:2rem}.photo-viewer__image{border-radius:8px;box-shadow:0 8px 32px #0000004d;max-height:100%;max-width:100%;object-fit:contain}.photo-viewer__placeholder{align-items:center;color:#fff;display:flex;flex-direction:column;gap:1rem}.photo-viewer__icon{font-size:4rem}.photo-viewer__text{font-size:1.1rem}.photo-viewer__nav{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s;width:50px}.photo-viewer__nav:hover:not(:disabled){background:#fff3}.photo-viewer__nav:disabled{cursor:not-allowed;opacity:.3}.photo-viewer__nav--prev{left:2rem}.photo-viewer__nav--next{right:2rem}.photo-viewer__footer{background:linear-gradient(0deg,#00000080,#0000);padding:1.5rem 2rem}.photo-viewer__details{color:#fff;display:flex;font-size:.9rem;gap:1rem;justify-content:center;opacity:.9}.modern-gallery__error,.modern-gallery__loader{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem}.spinner-large{border:4px solid #e0e0e0;border-radius:50%;border-top-color:#4285f4;height:50px;width:50px}.spinner,.spinner-large{animation:spin .8s linear infinite}.spinner{border:3px solid #e0e0e0;height:30px;width:30px}.modern-gallery__error-icon{font-size:4rem;opacity:.5}.modern-gallery__error h3{color:#666;font-size:1.5rem;margin:0}.modern-gallery__error p{color:#999;margin:0}.modern-gallery__error-btn{background:#4285f4;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem;transition:background .2s}.modern-gallery__error-btn:hover{background:#357ae8}@media (max-width:768px){.modern-gallery{padding:1rem}.photo-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.gallery-toolbar{align-items:stretch;flex-direction:column}.gallery-toolbar__center,.gallery-toolbar__left,.gallery-toolbar__right{justify-content:space-between;width:100%}.gallery-toolbar__search{flex:1 1;min-width:auto}.photo-viewer__nav{font-size:1.5rem;height:40px;width:40px}.photo-viewer__nav--prev{left:1rem}.photo-viewer__nav--next{right:1rem}}.upload-modal{align-items:center;animation:fadeIn .2s ease-out;background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.upload-modal__content{background:#fff;border-radius:16px;box-shadow:0 16px 48px #0000004d;max-width:600px;padding:2rem;width:90%}.upload-modal__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.upload-modal__header h2{color:#1a1a1a;font-size:1.5rem;margin:0}.upload-modal__close{background:#f5f5f5;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:1.5rem;height:36px;transition:background .2s;width:36px}.upload-modal__close:hover{background:#e0e0e0}.upload-modal__dropzone{border:2px dashed #d0d0d0;border-radius:12px;padding:3rem 2rem;position:relative;text-align:center;transition:all .2s}.upload-modal__dropzone.dragging{background:#e8f0fe;border-color:#4285f4}.upload-modal__icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.upload-modal__text{color:#666;font-size:1.1rem;margin-bottom:1.5rem}.upload-modal__input{opacity:0;pointer-events:none;position:absolute}.upload-modal__browse{background:#4285f4;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .2s}.upload-modal__browse:hover{background:#357ae8}.upload-modal__progress{display:flex;flex-direction:column;gap:.75rem}.upload-modal__file{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem 1rem}.upload-modal__status{font-size:1.2rem}.upload-modal__status.success{color:#28a745}.upload-modal__status.error{color:#dc3545}.modern-gallery__overlay{align-items:center;background:#000c;color:#fff;display:flex;flex-direction:column;font-size:1.1rem;gap:1rem;inset:0;justify-content:center;position:fixed;z-index:9998}.albums-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;max-height:calc(100vh - 4rem);overflow-y:auto;padding:1.5rem;position:sticky;top:2rem}.albums-sidebar__header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.albums-sidebar__header h3{color:#1a1a1a;font-size:1.1rem;font-weight:600;margin:0}.albums-sidebar__create-btn{align-items:center;background:#4285f4;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:background .2s;width:32px}.albums-sidebar__create-btn:hover{background:#357ae8}.albums-sidebar__list{display:flex;flex-direction:column;gap:.5rem}.albums-sidebar__item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;position:relative;transition:background .2s}.albums-sidebar__item:hover{background:#f5f5f5}.albums-sidebar__item.active{background:#e8f0fe;color:#4285f4;font-weight:500}.albums-sidebar__icon{flex-shrink:0;font-size:1.2rem}.albums-sidebar__name{flex:1 1;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.albums-sidebar__count{background:#f0f0f0;border-radius:12px;color:#999;font-size:.85rem;min-width:24px;padding:.2rem .5rem;text-align:center}.albums-sidebar__item.active .albums-sidebar__count{background:#d0e4ff;color:#4285f4}.albums-sidebar__actions{display:none;gap:.25rem;margin-left:.5rem}.albums-sidebar__item:hover .albums-sidebar__actions{display:flex}.albums-sidebar__actions button{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;height:28px;transition:background .2s;width:28px}.albums-sidebar__actions button:hover{background:#0000001a}.albums-sidebar__input{border:1px solid #4285f4;border-radius:4px;flex:1 1;font-size:.95rem;outline:none;padding:.25rem .5rem}.albums-sidebar__modal{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:10001}.albums-sidebar__modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;min-width:400px;padding:2rem}.albums-sidebar__modal-content h4{color:#1a1a1a;font-size:1.25rem;margin:0 0 1rem}.albums-sidebar__modal-content input{border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:1.5rem;padding:.75rem;width:100%}.albums-sidebar__modal-content input:focus{border-color:#4285f4;outline:none}.albums-sidebar__modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.albums-sidebar__modal-actions button{background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.95rem;padding:.75rem 1.5rem;transition:all .2s}.albums-sidebar__modal-actions button:hover{background:#f5f5f5}.albums-sidebar__modal-actions button.primary{background:#4285f4;border-color:#4285f4;color:#fff}.albums-sidebar__modal-actions button.primary:hover{background:#357ae8}.albums-sidebar__modal-actions button:disabled{cursor:not-allowed;opacity:.5}.album-picker-modal{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:10002}.album-picker-modal__content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:500px;min-width:400px}.album-picker-modal__header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.album-picker-modal__header h3{color:#1a1a1a;font-size:1.25rem;margin:0}.album-picker-modal__close{background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.5rem;height:32px;transition:background .2s;width:32px}.album-picker-modal__close:hover{background:#f5f5f5}.album-picker-modal__body{flex:1 1;overflow-y:auto;padding:1.5rem}.album-picker-modal__create-btn{background:#4285f4;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;margin-bottom:1rem;padding:.75rem;transition:background .2s;width:100%}.album-picker-modal__create-btn:hover{background:#357ae8}.album-picker-modal__list{display:flex;flex-direction:column;gap:.5rem}.album-picker-modal__empty{color:#999;padding:2rem;text-align:center}.album-picker-modal__album{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s;width:100%}.album-picker-modal__album:hover{background:#f5f5f5;border-color:#4285f4}.album-picker-modal__album-icon{font-size:1.2rem}.album-picker-modal__album-name{color:#333;flex:1 1;font-size:.95rem}.album-picker-modal__create-form{display:flex;flex-direction:column;gap:1rem}.album-picker-modal__create-form input{border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;width:100%}.album-picker-modal__create-form input:focus{border-color:#4285f4;outline:none}.album-picker-modal__create-actions{display:flex;gap:.75rem;justify-content:flex-end}.album-picker-modal__create-actions button{background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.95rem;padding:.75rem 1.5rem;transition:all .2s}.album-picker-modal__create-actions button:hover{background:#f5f5f5}.album-picker-modal__create-actions button.primary{background:#4285f4;border-color:#4285f4;color:#fff}.album-picker-modal__create-actions button.primary:hover{background:#357ae8}.album-picker-modal__create-actions button:disabled{cursor:not-allowed;opacity:.5}.gallery-new{margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.gallery-new__loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh}.gallery-new__header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}.gallery-new__header h1{color:#1a1a1a;font-size:2rem;font-weight:600;margin:0 0 .5rem}.gallery-new__header p{color:#666;font-size:1rem;margin:.25rem 0}.gallery-new__actions{align-items:center;display:flex;gap:1rem}.gallery-new__selected{color:#4285f4;font-size:.95rem;font-weight:500}.gallery-new__grid{align-items:flex-start;display:flex;gap:2px;min-width:0;width:100%}.gallery-new__column{display:flex;flex-direction:column;gap:2px}.gallery-new__photo{background:#f5f5f5;overflow:hidden;position:relative;width:100%}.gallery-new__photo img{background:#f5f5f5;cursor:pointer;display:block;height:auto;object-fit:contain;transition:opacity .15s;width:100%}.gallery-new__photo img:hover{opacity:.95}.gallery-new__photo-delete{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .2s,background .2s,transform .15s;width:32px;z-index:3}.gallery-new__photo:hover .gallery-new__photo-delete{opacity:1}.gallery-new__photo-delete:hover{background:#dc2626e6;transform:scale(1.1)}.gallery-new__photo-overlay{background:#0006;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.gallery-new__photo-checkbox{align-items:center;background:#ffffffe6;border:2px solid #fff;border-radius:50%;bottom:12px;box-shadow:0 2px 8px #0003;display:flex;height:32px;justify-content:center;position:absolute;right:12px;transition:transform .15s;width:32px;z-index:2}.gallery-new__photo-checkbox:hover{transform:scale(1.1)}.gallery-new__photo.selected .gallery-new__photo-checkbox{background:#fff}.gallery-new__photo-check{color:#4285f4;font-size:20px;font-weight:700}.gallery-new__photo-circle{border:2px solid #999;border-radius:50%;height:20px;width:20px}.spinner{border-top-color:#4285f4}.btn-secondary{border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-danger{background:#dc2626;border:1px solid #dc2626;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.gallery-new__viewer{background:#000000f2;inset:0;padding:2rem;z-index:10000}.gallery-new__viewer,.viewer-close{align-items:center;display:flex;justify-content:center;position:fixed}.viewer-close{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:24px;height:48px;right:1rem;top:1rem;transition:background .2s,transform .15s;width:48px;z-index:10001}.viewer-close:hover{background:#ffffff4d;transform:scale(1.1)}.viewer-nav{align-items:center;background:#fff3;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:36px;height:80px;justify-content:center;position:fixed;top:50%;transform:translateY(-50%);transition:background .2s,transform .15s;width:56px;z-index:10001}.viewer-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.05)}.viewer-prev{left:1rem}.viewer-next{right:1rem}.gallery-new__viewer img{border-radius:8px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:90vw;object-fit:contain}.viewer-info{background:#0009;border-radius:20px;bottom:2rem;color:#fff;font-size:.875rem;left:50%;padding:.5rem 1rem;position:fixed;transform:translateX(-50%);z-index:10001}.my-projects-container{margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:40px 20px}.my-projects-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:16px}.my-projects-header h1{color:#1f2937;font-size:32px;font-weight:700;margin:0}.btn-back{background:#fff;border:1px solid #d1d5db;font-size:14px;padding:10px 20px;transition:all .2s}.btn-back:hover{background:#f9fafb;border-color:#9ca3af}.loading{padding:60px 20px}.spinner{border-top-color:#3b82f6;height:50px;width:50px}.error-message{color:#ef4444;padding:60px 20px}.error-message h2{font-size:24px;margin-bottom:12px}.btn-retry{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;margin-top:20px;padding:12px 24px;transition:all .2s}.btn-retry:hover{background:#2563eb}.empty-state{padding:80px 20px}.empty-icon{font-size:80px;margin-bottom:24px}.empty-state h2{color:#374151;font-size:24px;margin-bottom:12px}.empty-state p{color:#6b7280;font-size:16px;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:500px}.btn-primary{border-radius:8px;font-size:16px;font-weight:600;padding:14px 28px;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 12px #3b82f64d}.projects-list{background:#e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:1px;overflow:hidden}.project-item{align-items:center;background:#fff;display:flex;gap:20px;justify-content:space-between;padding:16px 20px;transition:background .15s}.project-item:hover{background:#f9fafb}.project-main{align-items:center;display:flex;flex:1 1;gap:16px;min-width:0}.project-thumbnail-small{align-items:center;background:#f3f4f6;border-radius:6px;display:flex;flex-shrink:0;height:60px;justify-content:center;overflow:hidden;width:60px}.project-thumbnail-small img{height:100%;object-fit:cover;width:100%}.placeholder-icon-small{font-size:24px;opacity:.3}.project-details{flex:1 1;min-width:0}.project-title-row{align-items:center;display:flex;gap:12px;margin-bottom:6px}.project-name{color:#1f2937;font-size:16px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-badges{align-items:center;display:flex;flex-shrink:0;gap:6px}.status-badge{border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase;white-space:nowrap}.status-ready{background:#d1fae5;color:#065f46}.status-draft{background:#fef3c7;color:#92400e}.badge-icon{font-size:14px}.project-meta-row{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:8px;margin-bottom:4px}.meta-item.category{color:#4b5563;font-weight:500}.meta-item.price{color:#059669;font-weight:600}.meta-item.date{color:#9ca3af}.meta-separator{color:#d1d5db;font-weight:300}.project-description-compact{color:#9ca3af;font-size:13px;margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-actions-compact{display:flex;flex-shrink:0;gap:8px}.btn-action{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .15s}.btn-action:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.btn-action:disabled{cursor:not-allowed;opacity:.5}.btn-edit:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.btn-cart:hover:not(:disabled){border-color:#10b981;color:#10b981}.btn-delete-compact{background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .15s}.btn-delete-compact:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.btn-delete-compact:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.my-projects-container{padding:20px 16px}.my-projects-header{align-items:flex-start;flex-direction:column;gap:16px}.my-projects-header h1{font-size:24px}.project-item{align-items:stretch;flex-direction:column;gap:12px;padding:12px 16px}.project-main{width:100%}.project-title-row{flex-wrap:wrap}.project-meta-row{flex-wrap:wrap;font-size:12px}.project-actions-compact{gap:6px;width:100%}.btn-action{flex:1 1;font-size:13px;padding:10px 12px}.btn-delete-compact{padding:10px}}.enhanced-cart-page{background:#0000;background:var(--color-bg,#0000);box-sizing:border-box;margin:0 auto;max-width:var(--container-wide);padding:var(--space-12) var(--space-8) var(--space-14);width:100%}.enhanced-cart-page .enhanced-cart{grid-gap:var(--space-10);align-items:start;background:#0000;border-radius:var(--radius-lg);box-shadow:none;display:grid;gap:var(--space-10);grid-template-columns:minmax(0,1fr) 420px;max-height:none;max-width:100%;overflow:visible;padding:0}.enhanced-cart-page .cart-header{background:#0000;border:0;display:block;grid-column:1/-1;margin:0 0 var(--space-6);padding:0}.enhanced-cart-page .cart-header h2{font-size:clamp(2rem,3.4vw,2.6rem);font-weight:500;letter-spacing:-.5px;margin:0 0 var(--space-2);text-align:center}.enhanced-cart-page .cart-items{max-height:none;overflow:visible;padding:0}.enhanced-cart-page .cart-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;padding:var(--space-5) var(--space-6)}.enhanced-cart-page .cart-item:hover{background:var(--color-surface-alt)}.enhanced-cart-page .cart-footer{align-self:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:fit-content;margin:0;padding:var(--space-6) var(--space-6) var(--space-8);position:sticky;top:96px}.enhanced-cart-page .total-section{border-radius:var(--radius-md);box-shadow:none;margin:0 0 var(--space-6)}.enhanced-cart-page .cart-actions{flex-direction:column;padding:0}.enhanced-cart-page .cart-actions .btn-primary{width:100%}.enhanced-cart-page .incomplete-warning{margin-bottom:var(--space-5)}@media (min-width:1900px){.enhanced-cart-page{padding-left:var(--space-14);padding-right:var(--space-14)}}@media (max-width:1100px){.enhanced-cart-page .enhanced-cart{grid-template-columns:1fr}.enhanced-cart-page .cart-footer{margin-top:var(--space-6);position:static;top:auto}}@media (max-width:900px){.enhanced-cart-page{padding:var(--space-10) var(--space-6) var(--space-12)}}@media (max-width:760px){.enhanced-cart-page{padding-top:var(--space-8)}.enhanced-cart-page .cart-footer{border-radius:var(--radius-md)}.enhanced-cart-page .cart-item{flex-direction:column}}@media (max-width:520px){.enhanced-cart-page .cart-header h2{margin-bottom:var(--space-4)}.enhanced-cart-page{padding:var(--space-8) var(--space-5) var(--space-12)}}@media (max-width:420px){.enhanced-cart-page{padding:var(--space-6) var(--space-4) var(--space-10)}.enhanced-cart-page .cart-item{padding:var(--space-4) var(--space-4)}.enhanced-cart-page .cart-actions{flex-direction:column}.enhanced-cart-page .cart-actions .btn{width:100%}.enhanced-cart-page .item-image{border-radius:16px;height:72px;width:72px}.enhanced-cart-page .cart-footer{padding:var(--space-5) var(--space-5) var(--space-6)}}.enhanced-cart-page .error-message,.enhanced-cart-page .success-message{animation:fadeIn .24s ease;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-column:1/-1;margin:0 0 var(--space-6);padding:var(--space-4) var(--space-5)}.enhanced-cart-page .success-message{background:linear-gradient(135deg,var(--color-primary-soft),#fff);border-color:var(--color-border-strong);color:var(--color-text)}.enhanced-cart-page .success-message span{font-weight:500}.enhanced-cart-page .error-message{background:linear-gradient(135deg,#ffe9e9,#fff);border-color:#dc3d4159;color:var(--color-danger)}.enhanced-cart-page .close-message{color:inherit;opacity:.6;transition:opacity var(--transition-fast)}.enhanced-cart-page .close-message:hover{opacity:1}.enhanced-cart-overlay{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0006;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.enhanced-cart{background:var(--color-surface);border:none;border-radius:28px;box-shadow:0 4px 18px #0000000d;display:flex;flex-direction:column;max-height:90vh;max-width:880px;overflow:hidden;width:100%}.cart-header{align-items:flex-start;background:linear-gradient(180deg,var(--color-surface-alt),var(--color-surface) 90%);border-bottom:1px solid #00000008;color:var(--color-text);display:flex;gap:32px;justify-content:space-between;padding:28px 36px 22px;position:relative}.cart-header:before{display:none}.cart-header h2{color:var(--color-text);font-size:1.5rem;font-weight:500;letter-spacing:-.6px;line-height:1.15;margin:2px 0 0;position:relative;z-index:1}.close-btn{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:12px;box-shadow:inset 0 0 0 1px #fff9;color:var(--color-text-soft);display:inline-flex;font-size:16px;height:36px;position:static;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);width:36px}.close-btn:hover{background:var(--color-surface);box-shadow:0 2px 6px #0000000f;color:var(--color-text)}.cart-items{flex:1 1 auto;overflow-y:auto;padding:0 0 4px}.cart-items::-webkit-scrollbar{width:8px}.cart-items::-webkit-scrollbar-track{background:var(--color-surface-alt)}.cart-items::-webkit-scrollbar-thumb{background:var(--color-accent)}.cart-items::-webkit-scrollbar-thumb:hover{background:var(--color-accent);background:var(--color-accent-strong,var(--color-accent))}.cart-items::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4480aa,#356890);border-radius:4px}.cart-items::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#356890,#2a5470)}.cart-item{align-items:flex-start;animation:slideInUp .3s ease-out;border-bottom:1px solid #0000000d;display:flex;gap:20px;padding:20px 28px;position:relative;transition:all var(--transition-fast)}.cart-item:first-child{animation-delay:.1s}.cart-item:nth-child(2){animation-delay:.2s}.cart-item:nth-child(3){animation-delay:.3s}.cart-item:last-child{border-bottom:none}.cart-item:hover{background:var(--color-surface-alt);box-shadow:0 2px 8px #0000000d;transform:translateX(4px)}.cart-item.updating{opacity:.7;transform:scale(.98)}.item-image{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:22px;box-shadow:0 2px 6px #0000000a;flex-shrink:0;height:96px;overflow:hidden;position:relative;width:96px}.product-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.cart-item:hover .product-image{transform:scale(1.05)}.photo-count-badge{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-radius:12px;box-shadow:0 4px 12px #ff6b6b66;color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px;position:absolute;right:-8px;top:-8px;z-index:10}.item-details{flex:1 1;min-width:0}.item-details h3{color:var(--color-text);font-size:1.1rem;font-weight:500;letter-spacing:-.3px;line-height:1.25;margin:0 0 6px}.item-category{font-size:.65rem;font-weight:600;letter-spacing:.55px;margin:0 0 8px;opacity:.9}.item-options{gap:6px;margin-bottom:10px}.item-photo-count{background:#f5f5f5;background:var(--color-surface-alt,#f5f5f5);border-radius:6px;color:var(--color-text);display:inline-block;font-size:.85rem;font-weight:500;margin:6px 0 8px;padding:5px 8px}.option{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-sm);cursor:pointer;font-size:.68rem;font-weight:500;padding:3px 8px;transition:all var(--transition-fast)}.option:hover{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-primary)}.option:after{content:" ✏️";opacity:0;transition:opacity var(--transition-fast)}.option:hover:after{opacity:1}.item-actions{align-items:center;display:flex;gap:8px;margin-bottom:10px}.draft-badge{background:#fff;border:1px solid #ffc107;border-radius:12px;color:#856404;padding:4px 10px}.add-photo-btn,.draft-badge,.edit-photo-btn,.remove-photo-btn{align-items:center;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px}.add-photo-btn,.edit-photo-btn,.remove-photo-btn{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.add-photo-btn:hover,.edit-photo-btn:hover,.remove-photo-btn:hover{background:var(--color-surface)}.remove-photo-btn{border-color:var(--color-danger);color:var(--color-danger)}.item-actions .btn-secondary{background:linear-gradient(135deg,#48bb78,#38a169);border:2px solid #2f855a;box-shadow:0 4px 12px #48bb784d;color:#fff;font-size:.8rem;font-weight:700;padding:8px 16px}.item-actions .btn-secondary:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 6px 16px #48bb7866;transform:translateY(-1px)}.item-controls{gap:10px}.item-controls,.quantity-section{align-items:flex-end;display:flex;flex-direction:column}.quantity-section{gap:6px}.quantity-label{color:var(--color-text-soft);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.item-price{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.item-price .unit-price{color:var(--color-text-soft);font-size:.75rem;font-weight:500}.item-price .total-price{color:var(--color-primary);font-size:1.25rem;font-weight:700;letter-spacing:-.3px}.quantity-controls{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff80;gap:2px;padding:4px 6px}.quantity{font-size:.85rem;min-width:26px;text-align:center}.qty-btn,.quantity{color:var(--color-text);font-weight:600}.qty-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;padding:0;transition:background var(--transition-fast),color var(--transition-fast);width:32px}.qty-btn:hover:not(:disabled){background:var(--color-surface-alt)}.qty-btn:disabled{cursor:not-allowed;opacity:.4}.remove-btn{align-items:center;background:linear-gradient(135deg,#fc8181,#e53e3e);border:none;border-radius:10px;box-shadow:0 4px 12px #fc81814d;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:6px;height:auto;justify-content:center;min-width:120px;padding:10px 16px;transition:all .3s ease;white-space:nowrap}.remove-btn:hover:not(:disabled){background:linear-gradient(135deg,#e53e3e,#c53030);box-shadow:0 6px 16px #fc818166;transform:translateY(-1px)}.remove-btn:disabled{background:#e2e8f0;box-shadow:none;color:#a0aec0;cursor:not-allowed}.cart-footer{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-top:1px solid #0000000f;padding:30px}.incomplete-warning{background:linear-gradient(135deg,#fed7d7,#feb2b2);border:1px solid #c5303033;border-radius:12px;color:#c53030;font-size:.9rem;font-weight:500;margin-bottom:20px;padding:12px 16px}.delivery-info{background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 4px 12px #00000014;margin-bottom:20px;padding:20px}.delivery-estimate{align-items:center;color:#4a5568;display:flex;font-size:.95rem;font-weight:500;margin-bottom:8px}.free-shipping{align-items:center;color:#38a169;display:flex;font-size:.9rem;font-weight:600}.total-section{background:var(--color-surface);border:2px solid var(--color-border-strong);border-radius:20px;box-shadow:0 4px 12px #00000014;margin:0 0 26px;padding:22px 26px 24px}.items-count{color:var(--color-text-soft);font-size:.66rem;font-weight:600;letter-spacing:.6px;margin-bottom:10px;text-transform:uppercase}.total-section .total-price{color:var(--color-primary);font-size:2rem;font-weight:700;letter-spacing:-.8px}.total-price.need-photo{color:var(--color-danger);font-size:.9rem;font-weight:500;letter-spacing:0}.cart-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:10px 0 0}.continue-shopping{background:#fff;border:2px solid #e2e8f0;border-radius:16px;color:#4a5568;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:16px 24px;transition:all .3s ease}.continue-shopping:hover{background:#fff;border-color:#cbd5e0;transform:translateY(-2px)}.checkout-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:16px;box-shadow:0 6px 20px #48bb7866;color:#fff;cursor:pointer;flex:2 1;font-size:1.1rem;font-weight:700;overflow:hidden;padding:18px 28px;position:relative;transition:all .3s ease}.checkout-btn:before{content:"→";font-size:1.3rem;position:absolute;right:20px;transition:transform .3s ease}.checkout-btn:hover:not(:disabled){background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 8px 24px #48bb7880;transform:translateY(-2px)}.checkout-btn:hover:not(:disabled):before{transform:translateX(4px)}.checkout-btn:disabled{background:#fff;box-shadow:none;color:#a0aec0;cursor:not-allowed}.checkout-btn:disabled:before{display:none}.gallery-wrapper-new{align-items:center;display:flex;grid-column:1/-1;justify-content:center;min-height:400px;width:100%}.loading{color:#718096;font-size:1.05rem;min-height:400px;padding:40px 20px;text-align:center;width:100%}.enhanced-cart-page .gallery-wrapper-new{grid-column:1/-1;min-height:500px}.loading-spinner{align-items:center;color:#718096;display:flex;flex:1 1 auto;flex-direction:column;font-size:1.05rem;gap:20px;justify-content:center;margin-bottom:auto;margin-top:auto;min-height:260px;padding:40px 20px}.cart-loading-skeleton{display:flex;flex-direction:column;gap:18px;padding:28px 36px 34px}.cart-loading-skeleton .skeleton-heading{animation:fadeIn .4s ease;color:var(--color-text-soft);font-size:.8rem;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.cart-loading-skeleton .skeleton-item{animation:shimmer 1.3s ease-in-out infinite,fadeInUp .5s ease;background:linear-gradient(110deg,var(--color-surface-alt) 25%,var(--color-surface) 38%,var(--color-surface-alt) 60%);background-size:200% 100%;border-radius:22px;height:92px}.loading-spinner.loading-spinner--small{font-size:.9rem;gap:12px;min-height:auto;padding:16px 10px}.spinner-icon{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#4480aa;height:40px;width:40px}.error-message,.success-message{animation:slideDown .3s ease-out;border-radius:12px;font-weight:500;justify-content:space-between;margin:0 20px 20px;padding:16px 20px}.error-message{background:linear-gradient(135deg,#fed7d7,#feb2b2);border:1px solid #c5303033;color:#c53030}.success-message{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);border:1px solid #2f855a33;color:#2f855a}.close-message{background:none;border:none;border-radius:4px;color:inherit;cursor:pointer;font-size:1.2rem;padding:4px;transition:all .2s ease}.close-message:hover{background:#0000001a}.empty-cart{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:20px;margin:20px;padding:80px 30px}.empty-cart-icon{font-size:4rem;margin-bottom:20px;opacity:.7}.empty-cart h3{font-size:1.8rem}.empty-cart p{line-height:1.6;margin-bottom:30px}.empty-cart-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}@media (max-width:768px){.enhanced-cart-overlay{padding:10px}.enhanced-cart{border-radius:16px;max-height:95vh}.cart-header{padding:20px 15px}.cart-header h2{font-size:1.6rem}.cart-item{align-items:stretch;flex-direction:column;gap:16px;padding:20px 15px}.item-image{align-self:center;height:80px;width:80px}.item-details h3{font-size:1.1rem;text-align:center}.item-options{justify-content:center}.item-actions{align-items:stretch;flex-direction:column}.item-controls{align-items:center;flex-direction:row;justify-content:space-between}.quantity-controls{order:1}.item-price{align-items:center;order:2;text-align:center}.item-price .total-price{font-size:1.4rem;font-weight:700}.item-price .unit-price,.remove-btn{font-size:.8rem}.remove-btn{min-width:100px;order:3;padding:8px 12px}.cart-actions{flex-direction:column}.cart-footer{padding:20px 15px}.delivery-info,.total-section{margin:0 0 16px}.empty-cart{padding:60px 20px}.empty-cart-actions{align-items:center;flex-direction:column}.empty-cart-actions .continue-shopping{max-width:250px;width:100%}}@media (max-width:480px){.cart-header h2{font-size:1.4rem}.cart-item{padding:15px 10px}.item-image{height:60px;width:60px}.item-details h3{font-size:1rem}.item-actions button{font-size:.8rem;padding:6px 12px}.qty-btn{align-items:center;display:flex;font-size:1rem;height:32px;justify-content:center;padding:0;width:32px}.quantity{color:var(--color-text);font-size:.85rem;font-weight:600;min-width:26px;text-align:center}.checkout-btn,.continue-shopping{font-size:1rem;padding:16px 24px}.checkout-btn{font-weight:700}.remove-btn{font-size:.85rem;min-width:110px;padding:10px 14px}}.empty-cart{padding:60px 30px;text-align:center}.empty-cart h3{color:#4a5568;font-size:1.5rem;font-weight:600;margin-bottom:12px}.empty-cart p{color:#718096;font-size:1.1rem;margin:0}.add-photo-btn:hover,.edit-photo-btn:hover{opacity:.9}.remove-photo-btn:hover{background:#c82333}.photo-gallery-container{background:#fff;border-radius:8px;height:100%;min-height:120px;overflow:hidden;position:relative;width:100%}.photo-gallery-container.multiple-photos{border:2px solid #4480aa}.photo-display{height:100%;object-fit:cover;width:100%}.photo-navigation{background:#00000080;border-radius:15px;bottom:10px;display:flex;gap:4px;left:50%;padding:4px 8px;position:absolute;transform:translateX(-50%)}.photo-dot{background:#ffffff80;border-radius:50%;cursor:pointer;height:8px;transition:background .2s;width:8px}.photo-dot.active{background:#fff}.photo-controls{background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:16px;opacity:0;padding:8px 12px;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s}.photo-gallery-container:hover .photo-controls{opacity:1}.photo-prev{left:10px}.photo-next{right:10px}.photo-controls:hover{background:#000000b3}.enhanced-cart .empty-cart{align-items:center;display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;margin:20px;min-height:340px}.enhanced-cart-page .empty-cart{grid-column:1/-1}@media (max-width:768px){.cart-item{flex-direction:column}.cart-item .item-image{flex:none;height:200px;width:100%}.cart-item .item-controls{align-items:center;flex-direction:row;justify-content:space-between}}.deletion-progress-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.deletion-progress-modal{animation:modalSlideIn .3s ease-out forwards;background:#fff;background:var(--color-surface,#fff);border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:0 20px 40px #00000026;box-shadow:var(--shadow-lg,0 20px 40px #00000026);max-width:400px;padding:32px;padding:var(--space-8,32px);transform:scale(.9);width:90%}.deletion-progress-content{text-align:center}.deletion-progress-icon{display:flex;justify-content:center;margin-bottom:16px;margin-bottom:var(--space-4,16px)}.spinner{border:4px solid #e5e5e5;border-top:4px solid #4480aa;border:4px solid var(--color-border,#e5e5e5);border-top-color:var(--color-primary,#4480aa)}.deletion-progress-content h3{color:#333;color:var(--color-text,#333);font-size:1.25rem;font-weight:600;margin:0 0 12px;margin:0 0 var(--space-3,12px)}.deletion-progress-content p{color:#666;color:var(--color-text-secondary,#666);font-size:.95rem;margin:0 0 20px;margin:0 0 var(--space-5,20px)}.progress-bar-container{align-items:center;display:flex;gap:12px;gap:var(--space-3,12px);margin-bottom:16px;margin-bottom:var(--space-4,16px)}.progress-bar{background:#e5e5e5;background:var(--color-border,#e5e5e5);flex:1 1;height:8px}.progress-bar,.progress-fill{border-radius:4px;position:relative}.progress-fill{background:linear-gradient(90deg,#4480aa,#356890);background:linear-gradient(90deg,var(--color-primary,#4480aa),var(--color-primary-dark,#356890));transition:width .3s ease-out}.progress-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.progress-text{color:#4480aa;color:var(--color-primary,#4480aa);font-size:.875rem;font-weight:600;min-width:40px;text-align:right}.completion-message{color:#28a745;color:var(--color-success,#28a745);font-size:.95rem;font-weight:500;margin:12px 0 0;margin:var(--space-3,12px) 0 0}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-color-scheme:dark){.deletion-progress-modal{background:#2a2a2a;background:var(--color-surface-dark,#2a2a2a);border:1px solid #404040;border:1px solid var(--color-border-dark,#404040)}.deletion-progress-content h3{color:#fff;color:var(--color-text-dark,#fff)}.deletion-progress-content p{color:#ccc;color:var(--color-text-secondary-dark,#ccc)}.spinner{border-color:#404040;border-color:var(--color-border-dark,#404040);border-top-color:#4480aa;border-top-color:var(--color-primary,#4480aa)}}@media (max-width:480px){.deletion-progress-modal{margin:16px;margin:var(--space-4,16px);padding:24px;padding:var(--space-6,24px)}.deletion-progress-content h3{font-size:1.125rem}.spinner{height:40px;width:40px}}@keyframes checkoutPulse{0%,to{box-shadow:0 6px 20px #48bb7866;transform:scale(1)}50%{box-shadow:0 8px 28px #48bb7899;transform:scale(1.02)}}.checkout-btn:not(:disabled):not(:hover){animation:checkoutPulse 2s ease-in-out infinite}.quantity-btn:active{transform:scale(.95)}.cart-item:focus-within{border-radius:8px;outline:2px solid var(--color-primary);outline-offset:4px}.item-image:hover{box-shadow:0 4px 12px #0000001a;transform:scale(1.03)}.add-photo-btn,.edit-photo-btn,.quantity-btn,.remove-btn,.remove-photo-btn{transition:all .2s cubic-bezier(.4,0,.2,1)}.total-section:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.cart-item.updating{filter:grayscale(.3);opacity:.6;pointer-events:none}@keyframes messageSlide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-message,.success-message{animation:messageSlide .3s ease-out}@media (max-width:768px){.cart-item{gap:16px;padding:20px 16px}.item-image{height:80px;width:80px}.item-details h3{font-size:1rem}.checkout-btn,.continue-shopping{font-size:.95rem;padding:14px 20px}.quantity-controls{padding:6px 8px}.qty-btn{align-items:center;display:flex;font-size:16px;height:36px;justify-content:center;padding:0;width:36px}.quantity{font-size:.95rem;min-width:32px}}@media (max-width:480px){.quantity-controls{padding:8px 10px}.qty-btn{align-items:center;display:flex;font-size:18px;height:40px;justify-content:center;padding:0;width:40px}.quantity{font-size:1rem;min-width:36px}}.cart-items{scroll-behavior:smooth}.cart-items:before{background:linear-gradient(to bottom,var(--color-surface),#0000);top:0}.cart-items:after,.cart-items:before{content:"";height:20px;left:0;pointer-events:none;position:sticky;right:0;z-index:1}.cart-items:after{background:linear-gradient(to top,var(--color-surface),#0000);bottom:0}.enhanced-checkout-container{margin:0 auto;max-width:1200px;padding:var(--space-8) var(--space-4) var(--space-10);position:relative}.checkout-header{margin-bottom:var(--space-8)}.checkout-header h2{font-size:clamp(1.8rem,3vw,2.2rem);font-weight:500;letter-spacing:-.5px;margin:0}.back-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--color-text-soft);cursor:pointer;display:inline-flex;font-size:14px;font-weight:var(--font-weight-medium);gap:var(--space-2);justify-content:center;padding:var(--space-2) var(--space-4);transition:background var(--transition),color var(--transition)}.back-btn:hover{background:var(--color-surface-alt);color:var(--color-text)}.progress-steps{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:var(--space-6);justify-content:center;margin-bottom:var(--space-8);overflow-x:auto;padding:var(--space-4)}.progress-steps,.step{align-items:center;display:flex}.step{flex-direction:column;min-width:110px;position:relative}.step-number{align-items:center;background:var(--color-surface-alt);border-radius:50%;color:var(--color-text-soft);display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;margin-bottom:var(--space-2);transition:all var(--transition);width:40px}.step.active .step-number{background:var(--color-primary);box-shadow:0 0 0 4px #0d84d92e;color:#fff}.step.completed .step-number{background:var(--color-success);color:#fff}.step-name{color:var(--color-text-soft);font-size:12px;font-weight:500;line-height:1.2;text-align:center}.step.active .step-name{color:var(--color-primary)}.step-line{background:var(--color-border);height:2px;left:60%;position:absolute;top:20px;width:80%;z-index:-1}.step.completed+.step .step-line{background:var(--color-success)}.error-message,.success-message{align-items:center;border:1px solid;border-radius:var(--radius-md);display:flex;font-size:14px;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.error-message{border-color:#f7c4c4;color:#b42318}.success-message{background:#fff;border-color:#b6e2c5;color:#1f6d3a}.error-close{background:none;border:0;color:inherit;cursor:pointer;font-size:20px;line-height:1}.loading-overlay{background:#0000008c;inset:0;z-index:1000}.loading-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8);text-align:center}.loading-spinner{border:4px solid var(--color-border);border-top-color:var(--color-primary);height:42px;margin:0 auto var(--space-4);width:42px}.loading-spinner.large{border-width:6px;height:60px;width:60px}.step-content{animation:fadeIn .3s ease;margin-bottom:var(--space-8)}.order-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-6)}.order-summary h3{font-size:1.1rem;letter-spacing:-.25px;margin:0 0 var(--space-4)}.items-list{margin-bottom:var(--space-5)}.checkout-item{border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-3) 0}.checkout-item:last-child{border-bottom:none}.item-info h4{font-size:15px;font-weight:500;margin:0 0 4px}.item-category{color:var(--color-text-soft);font-size:11px;letter-spacing:.5px;margin:0 0 6px;text-transform:uppercase}.item-options{gap:4px;margin-bottom:6px}.option{background:var(--color-surface-alt);border-radius:var(--radius-xs);color:var(--color-text-soft);font-size:11px;padding:2px 6px}.item-photo img{border-radius:var(--radius-sm);height:50px;object-fit:cover;width:50px}.item-pricing{text-align:right}.quantity{color:var(--color-text-soft);display:block;font-size:11px;margin-bottom:4px}.price{font-size:14px;font-weight:600}.total-section{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.total-line{display:flex;font-size:14px;justify-content:space-between;margin-bottom:6px}.total-line.final{border-top:1px solid var(--color-border);font-size:16px;font-weight:600;margin-top:var(--space-3);padding-top:var(--space-3)}.address-section,.confirmation-section,.delivery-selection,.payment-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-6)}.address-section h3,.confirmation-section h3,.delivery-selection h3,.payment-section h3{font-size:1.1rem;margin:0 0 var(--space-4)}.delivery-methods,.payment-methods{grid-gap:var(--space-3);display:grid;gap:var(--space-3)}.delivery-method,.payment-method{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-4);padding:var(--space-4);transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.delivery-method.active,.delivery-method:hover,.payment-method.active,.payment-method:hover{background:var(--color-surface-alt);border-color:var(--color-primary)}.delivery-method.active,.payment-method.active{box-shadow:0 0 0 3px #0d84d926}.delivery-method input[type=radio],.payment-method input[type=radio]{margin-right:var(--space-3);transform:scale(1.1)}.method-info h4{font-size:15px;font-weight:500;margin:0 0 4px}.method-info p{color:var(--color-text-soft);font-size:13px;margin:0}.address-form,.pickup-info{background:var(--color-surface-alt);border-radius:var(--radius-md);margin-top:var(--space-5);padding:var(--space-5)}.saved-addresses{margin-bottom:var(--space-5)}.address-list{grid-gap:var(--space-3);display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}.address-item{align-items:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-4);transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.address-item.active,.address-item:hover{background:var(--color-surface);border-color:var(--color-primary)}.address-item.active{box-shadow:0 0 0 3px #0d84d926}.address-name{margin-bottom:2px}.address-details{color:var(--color-text-soft);font-size:13px}.new-address-btn{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:var(--font-weight-medium);gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:background var(--transition)}.new-address-btn:hover{background:var(--color-primary-hover)}.form-row{grid-gap:var(--space-4);gap:var(--space-4)}.form-group{margin-bottom:var(--space-4)}.form-group label{font-size:13px;font-weight:500;margin-bottom:4px}.form-group input,.form-group textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:14px;padding:8px 12px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d84d92e;outline:none}.form-group input.error,.form-group textarea.error{background-color:#fffbfa;border-color:#f97066}.error-text,.field-error{color:#d92d20;display:block;font-size:12px;font-weight:400;margin-top:4px}.char-count{color:var(--color-text-soft);font-size:11px;margin-top:4px;text-align:right}.store-info{background:#fff;border-radius:var(--radius-md);font-size:13px;margin-top:var(--space-5);padding:var(--space-5)}.store-info h4{font-size:14px;margin:0 0 var(--space-2)}.store-info p{line-height:1.5;margin:0}.notes-section,.payment-info{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-5)}.info-box{background:var(--color-surface-alt);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-4)}.info-box h4{color:var(--color-primary);font-size:14px;margin:0 0 var(--space-2)}.info-box p{font-size:13px;line-height:1.4;margin:0}.confirmation-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:var(--space-6)}.delivery-review,.order-review,.payment-review{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-4)}.review-item{display:flex;font-size:13px;justify-content:space-between;margin-bottom:4px}.review-total{border-top:1px solid var(--color-border);font-size:15px;padding-top:var(--space-3)}.notes-review{border-radius:var(--radius-md);margin-bottom:var(--space-4)}.notes-review,.terms-acceptance{background:var(--color-surface-alt);padding:var(--space-4)}.terms-acceptance{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px}.terms-acceptance a{color:var(--color-primary);text-decoration:none}.terms-acceptance a:hover{text-decoration:underline}.step-actions{border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-6);padding-top:var(--space-4)}.cancel-btn,.prev-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--color-text-soft);cursor:pointer;display:inline-flex;font-size:14px;font-weight:var(--font-weight-medium);gap:var(--space-2);justify-content:center;padding:var(--space-2) var(--space-4);transition:background var(--transition),color var(--transition)}.cancel-btn:hover,.prev-btn:hover{background:var(--color-surface-alt);color:var(--color-text)}.next-btn{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:var(--font-weight-medium);gap:var(--space-2);justify-content:center;padding:var(--space-2) var(--space-4);transition:background var(--transition)}.next-btn:hover{background:var(--color-primary-hover)}.submit-btn{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:var(--font-weight-medium);gap:var(--space-2);justify-content:center;min-width:200px;padding:var(--space-3) var(--space-6);transition:background var(--transition)}.submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}@media (max-width:760px){.form-row{grid-template-columns:1fr}.progress-steps{gap:var(--space-4)}.step{min-width:95px}.enhanced-checkout-container{padding-top:var(--space-6)}.confirmation-grid{grid-template-columns:1fr}.step-actions{flex-direction:column}.cancel-btn,.next-btn,.prev-btn,.submit-btn{width:100%}}.checkout-container{margin:0 auto;max-width:800px;padding:var(--space-6) var(--space-4)}.checkout-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.checkout-header h1{font-size:clamp(1.5rem,3vw,2rem);font-weight:500;letter-spacing:-.5px;margin:0}.step-indicator{color:var(--color-text-soft);font-size:14px;font-weight:500}.checkout-content{margin-bottom:var(--space-6)}.checkout-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:space-between;padding-top:var(--space-4)}.btn-primary,.btn-secondary{align-items:center;border:1px solid;border-radius:var(--radius-sm);display:inline-flex;font-size:14px;font-weight:var(--font-weight-medium);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-5);transition:all var(--transition)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5}.btn-secondary{background:#0000;border-color:var(--color-border);color:var(--color-text-soft)}.btn-secondary:hover{background:var(--color-surface-alt);color:var(--color-text)}.payment-methods-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--space-6)}.payment-method-card{border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-5);text-align:center;transition:all var(--transition)}.payment-method-card.selected,.payment-method-card:hover{background:var(--color-surface-alt);border-color:var(--color-primary)}.payment-method-card.selected{box-shadow:0 0 0 3px #0d84d926}.method-icon{font-size:2.5rem}.payment-method-card h3{font-size:1rem;font-weight:600;margin:0 0 var(--space-2)}.payment-method-card p{color:var(--color-text-soft);font-size:13px;margin:0 0 var(--space-1)}.method-note{color:var(--color-text-muted);font-size:12px!important}.delivery-card{align-items:center;border:2px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-4);padding:var(--space-4)}.delivery-card.selected{background:var(--color-surface-alt);border-color:var(--color-primary)}.delivery-icon{font-size:2rem}.delivery-details h3{font-size:1rem;font-weight:600;margin:0 0 var(--space-1)}.delivery-details p{color:var(--color-text-soft);font-size:13px;margin:0}.delivery-cost{color:var(--color-primary);font-weight:600}.delivery-notes-section textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:14px;min-height:100px;padding:var(--space-3);resize:vertical;width:100%}.delivery-notes-section textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d84d926;outline:none}.summary-items{margin-bottom:var(--space-4)}.summary-item{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-3) 0}.summary-item:last-child{border-bottom:none}.item-details h4{font-size:15px;font-weight:500;margin:0 0 var(--space-1)}.item-options{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.item-options span{background:var(--color-surface-alt);border-radius:var(--radius-xs);font-size:11px;padding:2px 6px}.summary-totals{border-top:1px solid var(--color-border);margin-top:var(--space-4);padding-top:var(--space-4)}.total-row{display:flex;font-size:14px;justify-content:space-between;margin-bottom:var(--space-2)}.total-row.final{border-top:1px solid var(--color-border);font-size:16px;font-weight:600;margin-top:var(--space-3);padding-top:var(--space-3)}.address-display{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-4)}.address-display p{font-size:14px;margin:0 0 var(--space-1)}.payment-display{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-4)}.payment-display p{font-size:14px;margin:0}.terms-section{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-4)}.checkbox-label{align-items:flex-start;font-size:14px;gap:var(--space-2)}.checkbox-label input[type=checkbox]{margin-top:3px;transform:scale(1.1)}.checkbox-label a{color:var(--color-primary);text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.success-message{padding:var(--space-8);text-align:center}.success-message.error{background:#fff;border:1px solid #f7c4c4;border-radius:var(--radius-lg)}.success-icon{background:var(--color-success);font-size:3rem;font-weight:600;height:80px;margin:0 auto var(--space-4);width:80px}.order-number{color:var(--color-text-soft);font-size:14px;margin-bottom:var(--space-6)}.cod-instructions,.payment-instructions{background:var(--color-surface-alt);border-radius:var(--radius-md);margin-bottom:var(--space-6);padding:var(--space-5);text-align:left}.cod-instructions h2,.payment-instructions h2{font-size:1.1rem;margin:0 0 var(--space-3)}.cod-instructions ol,.payment-instructions ol{margin:0;padding-left:var(--space-5)}.cod-instructions li,.payment-instructions li{font-size:14px;margin-bottom:var(--space-2)}.success-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-6)}.contact-info{color:var(--color-text-soft);font-size:13px}.contact-info a{color:var(--color-primary);text-decoration:none}.contact-info a:hover{text-decoration:underline}.saved-addresses-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:var(--space-4)}.saved-address-card{border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-4);transition:all var(--transition)}.saved-address-card.selected,.saved-address-card:hover{background:var(--color-surface-alt);border-color:var(--color-primary)}.saved-address-card.selected{box-shadow:0 0 0 3px #0d84d926}.saved-address-card h3{font-size:1rem;font-weight:600;margin:0 0 var(--space-2)}.saved-address-card p{color:var(--color-text-soft);font-size:13px;margin:0 0 var(--space-1)}@media (max-width:760px){.checkout-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.payment-methods-grid{grid-template-columns:1fr}.success-actions{flex-direction:column}.success-actions button{width:100%}}.delivery-method-section{margin-bottom:var(--space-6)}.delivery-method-section h2{font-size:1.3rem;font-weight:600;margin:0 0 var(--space-4)}.delivery-methods-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--space-4)}.delivery-method-card{border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-5);position:relative;text-align:center;transition:all var(--transition)}.delivery-method-card:hover{background:var(--color-surface-alt);border-color:var(--color-primary);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.delivery-method-card.selected{background:#0d84d90d;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d84d926}.method-icon{font-size:3rem;margin-bottom:var(--space-3)}.delivery-method-card h3{color:var(--color-text);font-size:1.1rem;font-weight:600;margin:0 0 var(--space-2)}.delivery-method-card p{color:var(--color-text-soft);font-size:14px;line-height:1.5;margin:0 0 var(--space-2)}.method-price{color:var(--color-primary)!important;font-size:1rem!important;font-weight:600}.pickup-info{background:var(--color-surface-alt);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-4)}.pickup-info h4{color:var(--color-text);font-size:1rem;font-weight:600;margin:0 0 var(--space-3)}.pickup-info p{color:var(--color-text-soft);font-size:14px;margin:0 0 var(--space-2)}.pickup-info p:last-child{margin-bottom:0}.contact-info-section{margin-bottom:var(--space-6)}.contact-info-section h2{font-size:1.3rem;font-weight:600;margin:0 0 var(--space-4)}.pickup-note{color:var(--color-text-soft);font-size:13px;font-style:italic}@media (max-width:760px){.delivery-methods-grid{grid-template-columns:1fr}}.checkout-success-wrapper{align-items:center;background:linear-gradient(135deg,#f5f7fa,#e8eef5);display:flex;justify-content:center;min-height:100vh;padding:clamp(1rem,5vw,2rem)}.checkout-success-container{margin:0 auto;max-width:650px;width:100%}.success-card{animation:fadeInUp .5s ease-out;background:#fff;border-radius:clamp(12px,2vw,20px);box-shadow:0 10px 40px #00000014;padding:clamp(2rem,5vw,3rem);text-align:center}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.success-icon{align-items:center;animation:scaleIn .5s ease-out;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:50%;box-shadow:0 4px 20px #4caf504d;color:#fff;display:flex;font-size:clamp(2.5rem,8vw,3.5rem);height:clamp(80px,15vw,100px);justify-content:center;margin:0 auto clamp(1.5rem,4vw,2rem);width:clamp(80px,15vw,100px)}.success-title{color:#2e7d32;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700;line-height:1.3;margin-bottom:clamp(.75rem,2vw,1rem)}.order-number-badge{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:2px solid #e0e0e0;border-radius:10px;display:inline-block;font-size:clamp(.9375rem,2.5vw,1.0625rem);margin-bottom:clamp(1.5rem,4vw,2rem);max-width:100%;padding:clamp(.875rem,2vw,1.125rem) clamp(1.25rem,3vw,1.75rem);word-break:break-word}.order-number-badge strong{color:#1976d2;font-size:1.1em;font-weight:700}.next-steps-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:clamp(1.5rem,4vw,2rem);padding:clamp(1.5rem,4vw,2rem);text-align:left}.next-steps-header{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(.5rem,2vw,.75rem);margin-bottom:clamp(1rem,3vw,1.5rem)}.next-steps-icon{font-size:clamp(1.5rem,4vw,1.75rem)}.next-steps-title{color:#333;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600;margin:0}.next-steps-list{color:#555;font-size:clamp(.9375rem,2.5vw,1.0625rem);line-height:1.8;margin:0;padding-left:clamp(1.25rem,4vw,1.5rem)}.next-steps-list li{margin-bottom:clamp(.625rem,2vw,.875rem)}.next-steps-list li strong{color:#333;font-weight:600}.info-alert{background:#fff3cd;border-left:4px solid #ffc107;color:#856404}.info-alert,.success-alert{border-radius:8px;font-size:clamp(.875rem,2vw,.9375rem);line-height:1.6;margin-top:clamp(1rem,3vw,1.5rem);padding:clamp(.875rem,2.5vw,1.125rem)}.success-alert{background:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.info-alert strong,.success-alert strong{font-weight:600}.action-buttons{flex-direction:column;gap:clamp(.875rem,2.5vw,1rem);margin-top:clamp(1.5rem,4vw,2rem);width:100%}.btn-view-orders{background:linear-gradient(135deg,#1976d2,#2196f3);border:none;border-radius:10px;box-shadow:0 4px 12px #1976d24d;color:#fff;cursor:pointer;font-size:clamp(1rem,2.5vw,1.125rem);font-weight:600;padding:clamp(1rem,3vw,1.25rem);transition:all .3s ease;width:100%}.btn-view-orders:hover{box-shadow:0 6px 16px #1976d266;transform:translateY(-2px)}.btn-view-orders:active{transform:translateY(0)}.btn-return-home{background:#fff;border:2px solid #e0e0e0;border-radius:10px;color:#666;cursor:pointer;font-size:clamp(1rem,2.5vw,1.125rem);font-weight:500;padding:clamp(1rem,3vw,1.25rem);transition:all .3s ease;width:100%}.btn-return-home:hover{background:#f5f9ff;border-color:#1976d2;color:#1976d2}.contact-info{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:10px;color:#555;font-size:clamp(.9375rem,2.5vw,1rem);line-height:1.6;margin-top:clamp(1.5rem,4vw,2rem);padding:clamp(1rem,3vw,1.5rem)}.contact-info p{margin:0}.contact-email{color:#1976d2;font-weight:600;text-decoration:none;transition:color .2s ease;word-break:break-word}.contact-email:hover{color:#1565c0;text-decoration:underline}.error-card{background:#fff;border-radius:clamp(12px,2vw,20px);box-shadow:0 10px 40px #00000014;padding:clamp(2rem,5vw,3rem);text-align:center}.error-icon{font-size:clamp(3rem,8vw,4rem);margin-bottom:clamp(1rem,3vw,1.5rem)}.error-title{color:#d32f2f;font-size:clamp(1.5rem,5vw,2rem);margin-bottom:clamp(.75rem,2vw,1rem)}.error-message{color:#666;font-size:clamp(1rem,2.5vw,1.125rem);margin-bottom:clamp(1.5rem,4vw,2rem)}@media (max-width:480px){.checkout-success-wrapper{padding:1rem}.success-card{padding:1.5rem}.next-steps-card{padding:1.25rem}}.save-project-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.save-project-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.save-project-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 24px 16px}.save-project-modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0}.save-project-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.save-project-modal-close:hover:not(:disabled){background:#f3f4f6;color:#1f2937}.save-project-modal-close:disabled{cursor:not-allowed;opacity:.5}.save-project-modal-body{padding:24px}.save-project-modal-subtitle{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 24px}.save-project-form{display:flex;flex-direction:column;gap:20px}.save-project-field{display:flex;flex-direction:column;gap:8px}.save-project-field label{color:#374151;font-size:14px;font-weight:500}.save-project-field .required{color:#ef4444}.save-project-field input,.save-project-field textarea{border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:15px;padding:10px 12px;transition:all .2s}.save-project-field input:focus,.save-project-field textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.save-project-field input:disabled,.save-project-field textarea:disabled{background:#f9fafb;cursor:not-allowed;opacity:.6}.save-project-field textarea{min-height:80px;resize:vertical}.save-project-char-count{color:#9ca3af;font-size:12px;text-align:right}.save-project-error{align-items:center;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;font-size:14px;gap:8px;padding:12px}.save-project-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.save-project-btn-primary,.save-project-btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;min-width:100px;padding:10px 20px;transition:all .2s}.save-project-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.save-project-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.save-project-btn-primary{background:#3b82f6;color:#fff}.save-project-btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.save-project-btn-primary:disabled,.save-project-btn-secondary:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:640px){.save-project-modal{max-height:95vh;width:95%}.save-project-modal-header{padding:20px 16px 12px}.save-project-modal-header h2{font-size:18px}.save-project-modal-body{padding:20px 16px}.save-project-modal-footer{flex-direction:column-reverse;padding:12px 16px 20px}.save-project-btn-primary,.save-project-btn-secondary{width:100%}}.photo-upload-container{background:#fff;margin:0 auto;min-height:100vh;padding:100px 2rem 120px}.top-action-bar{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 8px #00000014;display:flex;gap:1rem;justify-content:space-between;left:0;padding:1rem 2rem;position:fixed;right:0;top:0;z-index:100}.top-product-details{align-items:center;display:flex;flex:1 1;gap:.5rem;justify-content:center}.top-product-details .product-name{color:#1e293b;font-size:1rem;font-weight:600}.top-product-details .product-size{color:#64748b;font-size:.875rem}.top-product-details .photo-count-badge{background:#dbeafe;border-radius:12px;color:#1e40af;display:inline-block;font-size:.875rem;font-weight:500;margin-left:.5rem;padding:.25rem .75rem}.top-action-bar .back-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.top-action-bar .back-btn:hover:not(:disabled){background:#e2e8f0;color:#334155}.top-action-bar .back-btn:disabled{cursor:not-allowed;opacity:.5}.top-action-bar .save-btn{align-items:center;background:#059669;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.top-action-bar .save-btn:hover:not(:disabled){background:#047857;box-shadow:0 4px 12px #0596694d;transform:translateY(-1px)}.top-action-bar .save-btn:disabled{background:#94a3b8;cursor:not-allowed;opacity:.5}.photo-upload-content{margin:0 auto;max-width:1840px}.header-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;justify-content:space-between;margin-bottom:20px;padding:20px}.header-info h1{margin:0 0 8px}.photo-count{color:#666;font-size:16px}.quick-selection{display:flex;gap:10px;justify-content:flex-end;margin-bottom:20px}.quick-btn{background:#fff;border:1px solid #4480aa;border-radius:6px;color:#4480aa;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.quick-btn:hover:not(:disabled){background:#4480aa;color:#fff}.quick-btn:disabled{cursor:not-allowed;opacity:.5}.selected-options{background:#fff;border:1px solid #2196f3;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:25px;padding:20px}.option{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 1px 3px #0000001a;font-size:14px;padding:8px 16px;transition:all .3s ease}.option:hover{box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.option-name{color:#666;font-weight:500;margin-right:8px}.option-value{color:#333;font-weight:700}.upload-gallery-container{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:280px 1fr;margin-top:30px}.gallery-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;height:fit-content;padding:20px;position:sticky;top:20px}.gallery-section h4{align-items:center;color:#333;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 15px}.gallery-hint{color:#666;font-size:14px;font-style:italic;margin-bottom:15px}.user-gallery-container{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.user-gallery-container::-webkit-scrollbar{width:8px}.user-gallery-container::-webkit-scrollbar-track{background:#fff;border-radius:4px}.user-gallery-container::-webkit-scrollbar-thumb{background:#2196f3;border-radius:4px}.user-gallery-container::-webkit-scrollbar-thumb:hover{background:#1976d2}.user-gallery-container .photos-grid{grid-gap:50px;display:grid;gap:50px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:20px 0}.user-gallery-container .photo-item{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000d;cursor:pointer;display:flex;flex-direction:column;min-height:320px;overflow:visible;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-gallery-container .photo-item:hover{background:#fff;border-color:#3b82f6;box-shadow:0 12px 24px #3b82f626;transform:translateY(-4px)}.user-gallery-container .photo-item.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f633,0 8px 16px #3b82f626;transform:translateY(-2px)}.user-gallery-container .photo-item img{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;height:auto;max-height:240px;max-width:200px;object-fit:contain;padding:.5rem;width:100%}.user-gallery-container .photo-item.selected:after{align-items:center;background:#4caf50;border-radius:50%;color:#fff;content:"✓";display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;left:5px;position:absolute;top:5px;width:20px}.add-from-gallery-btn{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:15px;padding:10px 16px;transition:background-color .3s ease;width:100%}.add-from-gallery-btn:hover{background:#1976d2}.add-from-gallery-btn:disabled{background:#ccc;cursor:not-allowed}.upload-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.upload-controls{background:#fff;border:2px dashed #ddd;border-radius:8px;margin-bottom:20px;padding:40px;text-align:center}.upload-btn{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:15px;padding:12px 24px;transition:background-color .3s ease}.upload-btn:hover:not(:disabled){background:#1976d2}.upload-btn:disabled{background:#ccc;cursor:not-allowed}.upload-hint{margin:0}.photos-grid h4{color:#333;font-size:16px;font-weight:700;margin:0 0 15px}.photos-container{grid-gap:50px;display:grid;gap:50px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:20px 0}.photo-item{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;min-height:250px;overflow:visible;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.photo-item:hover{background:#fff;border-color:#3b82f6;box-shadow:0 12px 24px #3b82f626;transform:translateY(-4px)}.photo-preview{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;height:auto;margin-bottom:1rem;max-height:240px;max-width:200px;object-fit:contain;padding:.5rem;width:100%}.photo-item.selected{background:#eff6ff;box-shadow:0 0 0 4px #3b82f633,0 8px 16px #3b82f626;transform:translateY(-2px)}.photo-item.gallery-photo{align-items:center;cursor:pointer;display:flex;justify-content:center}.photo-item.gallery-photo img{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;height:auto;max-height:240px;max-width:200px;object-fit:contain;padding:.5rem;width:100%}.photo-item.gallery-photo.selected:after{align-items:center;background:#3b82f6;border-radius:50%;box-shadow:0 2px 8px #3b82f666;color:#fff;content:"✓";display:flex;font-size:18px;font-weight:700;height:28px;justify-content:center;position:absolute;right:10px;top:10px;width:28px}.remove-photo-btn{background:#ef4444;border-radius:50%;box-shadow:0 2px 8px #ef44444d;font-size:16px;height:32px;opacity:0;position:absolute;right:10px;top:10px;transition:all .2s ease;width:32px}.photo-item:hover .remove-photo-btn{opacity:1}.remove-photo-btn:hover{background:#dc2626;transform:scale(1.1)}.upload-success{align-items:center;background:#10b981;border-radius:50%;bottom:10px;box-shadow:0 2px 8px #10b9814d;color:#fff;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;position:absolute;right:10px;width:28px}.upload-progress{background:#0000001a;height:4px;overflow:hidden}.progress-bar{background:#4caf50;height:100%;transition:width .3s ease}.empty-gallery{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:40px 20px;text-align:center}.empty-icon{margin-bottom:15px;opacity:.6}.empty-text{color:#333;font-size:16px;font-weight:600;margin-bottom:8px}.empty-subtext{font-size:14px;opacity:.8}.loading{color:#666;font-weight:500;padding:40px}.loading:after{animation:spin 1s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#2196f3;content:"";height:20px;margin-left:10px;width:20px}.modal-footer{border-top:2px solid #e0e0e0;flex-direction:column;gap:20px;margin-top:30px;padding-top:20px}.price-summary{background:#fff;border:1px solid #2196f3;border-radius:8px;padding:20px;text-align:center}.price-summary strong{color:#1976d2}.action-buttons{display:flex;gap:15px;justify-content:center}.add-to-cart-btn,.cancel-btn{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;padding:12px 30px;transition:all .3s ease}.cancel-btn{border:1px solid #ddd;color:#666}.cancel-btn:hover{background:#fff;color:#333}.add-to-cart-btn{background:#4caf50;color:#fff;min-width:200px}.add-to-cart-btn:hover:not(:disabled){background:#388e3c}.add-to-cart-btn:disabled{background:#ccc;cursor:not-allowed}@media (max-width:768px){.photo-upload-container{padding:15px}.photo-upload-content{padding:20px}.upload-gallery-container{gap:20px;grid-template-columns:1fr}.gallery-section{max-height:300px;position:static}.photos-container{gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:300px}.user-gallery-container .photos-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.upload-controls{padding:20px}.action-buttons{flex-direction:column;gap:10px}.add-to-cart-btn,.cancel-btn{width:100%}}.header-section{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;gap:20px;margin-bottom:30px;padding-bottom:20px}.header-info h1{color:#333;font-size:24px;margin:0 0 5px}.photo-count{background:#fff;border-radius:6px;color:#1976d2;display:inline-block;font-size:14px;padding:8px 12px}.tab-navigation{border-bottom:1px solid #e0e0e0;display:flex;gap:10px;margin-bottom:30px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:14px;padding:12px 20px;transition:all .3s ease}.tab-btn:hover{background:#fff;color:#333}.tab-btn.active{background:#fff;border-bottom-color:#2196f3;color:#2196f3}.tab-content{margin-bottom:30px;min-height:400px}.tab-content h3{color:#333;font-size:18px;margin:0 0 20px}.empty-message{border-radius:8px;font-style:italic}.empty-message,.upload-area{background:#fff;padding:40px}.upload-area{border:2px dashed #ddd;border-radius:8px;margin-bottom:20px;text-align:center}.file-input{display:none}.upload-label{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;margin-bottom:15px;padding:12px 24px;transition:background-color .3s ease}.upload-label:hover{background:#1976d2}.upload-hint{color:#666;font-size:14px;line-height:1.5;margin:15px 0 0}.gallery-photo{cursor:pointer;transition:all .3s ease}.gallery-photo:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.05)}.gallery-photo.selected{border-color:#4caf50;box-shadow:0 0 0 3px #4caf504d}.selection-indicator{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:25px;justify-content:center;left:5px;position:absolute;top:5px;width:25px}.price-summary strong{color:#333;display:block;font-size:18px;margin-bottom:10px}.price-summary small{color:#666;font-size:14px;line-height:1.4}.upload-progress{background:#000000b3;bottom:0;color:#fff;font-size:14px;left:0;padding:10px;position:absolute;right:0;text-align:center}.progress-bar{background:#ffffff4d;border-radius:2px;height:4px;margin-bottom:5px;overflow:hidden;width:100%}.progress-fill{background:#4caf50;height:100%;transition:width .3s ease}@media (max-width:768px){.tab-navigation{flex-direction:column;gap:0}.tab-btn{border-bottom:1px solid #e0e0e0;border-radius:0;text-align:left}.tab-btn.active{border-bottom-color:#2196f3;border-left:3px solid #2196f3}.action-section{flex-direction:column;gap:10px}.add-to-cart-btn,.cancel-btn{width:100%}.header-section{align-items:stretch;flex-direction:column;gap:15px}.quick-selection{justify-content:center}.floating-action-bar{bottom:10px;left:10px;right:10px}.fab-content{flex-direction:column;gap:10px}.fab-summary{align-items:center;flex-direction:column;gap:8px}.selected-photos-preview{gap:6px}.mini-preview{height:30px;width:30px}.fab-actions{gap:8px}.fab-btn{flex:1 1;font-size:14px;padding:12px 16px}}.loading-section{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{margin-bottom:16px}.spinner{border:4px solid #f3f3f3;height:40px;width:40px}.empty-message{color:#666;padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-message p{font-size:16px;line-height:1.5;margin:8px 0}.photo-print-editor{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:.75rem;height:auto;margin-bottom:1rem;padding:1rem}.photo-info{border-bottom:1px solid #e2e8f0;padding-bottom:1rem;text-align:center;width:100%}.photo-title{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 .5rem;text-align:center}.photo-dimensions{color:#64748b;font-size:.875rem;margin:0;text-align:center}.photo-preview-section{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;justify-content:center;padding:0;width:100%}.photo-preview-container{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;height:220px;overflow:hidden;position:relative;transition:all .3s ease;width:180px}.photo-preview-container:hover{border-color:#3b82f6}.photo-preview-container.landscape,.photo-preview-container.portrait{height:220px;width:180px}.print-frame{align-items:center;background:#fff;cursor:pointer;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.print-frame.crop-mode{cursor:crosshair}.print-frame.crop-mode:active{cursor:grabbing}.print-frame img{display:block;max-height:100%;max-width:100%;transition:all .3s ease;-webkit-user-select:none;user-select:none}.crop-indicator{animation:pulse-crop 2s infinite;background:#fff;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 12px #0006;height:24px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:24px;z-index:10}@keyframes pulse-crop{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.1)}}.print-size-label{background:#000000b3;border-radius:4px;font-size:.75rem;left:8px;padding:4px 8px;top:8px;z-index:5}.fit-mode-overlay,.print-size-label{color:#fff;font-weight:500;position:absolute}.fit-mode-overlay{background:#3b82f6e6;bottom:0;font-size:.875rem;left:0;padding:8px;right:0;text-align:center}.photo-controls-section{align-items:center;display:flex;flex-direction:row;gap:.75rem;justify-content:center;width:100%}.orientation-buttons{display:flex;gap:.5rem}.orientation-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease}.orientation-btn:hover{background:#fff;border-color:#3b82f6}.orientation-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.fit-mode-buttons{display:flex;gap:.5rem}.fit-mode-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease}.fit-mode-btn:hover{background:#fff;border-color:#059669}.fit-mode-btn.active{background:#059669;border-color:#059669;color:#fff}.fit-mode-description{color:#6b7280;font-size:.75rem;font-style:italic;margin:.5rem 0 0}.photo-preview-container.crop{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444433}.photo-preview-container.crop .print-frame{cursor:crosshair}.quantity-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-size:1.125rem;font-weight:600;height:36px;justify-content:center;transition:all .2s ease;width:36px}.quantity-btn:hover:not(:disabled){background:#fff;border-color:#3b82f6}.quantity-btn:disabled{cursor:not-allowed;opacity:.5}.quantity-input{background:#fff;border:2px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:.95rem;font-weight:600;height:36px;text-align:center;width:60px}.quantity-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.cost-display{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-width:240px;padding:1rem;text-align:center;width:100%}.unit-cost{color:#64748b;font-size:.875rem;margin-bottom:.5rem}.total-cost{color:#059669;font-size:1.25rem;font-weight:700}.cost-breakdown{color:#64748b;font-size:.875rem;font-weight:400;margin-left:.5rem}.remove-photo-btn{align-items:center;background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;height:36px;justify-content:center;padding:0;transition:background-color .2s ease;width:36px}.remove-photo-btn:hover{background:#b91c1c}@media (max-width:768px){.photo-print-editor{gap:.625rem;padding:.875rem}.photo-preview-section{width:100%}.photo-controls-section{flex-direction:row;gap:.625rem;width:100%}.photo-preview-container,.photo-preview-container.landscape,.photo-preview-container.portrait{height:220px;margin:0 auto;max-width:180px;width:100%}.quantity-controls{flex:1 1;justify-content:center}.quantity-btn{font-size:1.25rem;height:40px;width:40px}.quantity-input{font-size:1rem;height:40px;width:65px}.remove-photo-btn{font-size:1.25rem;height:40px;width:40px}}@media (max-width:480px){.photo-print-editor{gap:.5rem;margin-bottom:.75rem;padding:.75rem}.photo-preview-container,.photo-preview-container.landscape,.photo-preview-container.portrait{height:200px;max-width:100%;width:100%}.photo-controls-section{gap:.5rem}.quantity-btn{font-size:1.125rem;height:38px;width:38px}.quantity-input{font-size:.95rem;height:38px;width:55px}.remove-photo-btn{font-size:1.125rem;height:38px;width:38px}}@media (max-width:360px){.photo-print-editor{padding:.625rem}.photo-preview-container,.photo-preview-container.landscape,.photo-preview-container.portrait{height:180px}.quantity-btn,.remove-photo-btn{height:36px;width:36px}.quantity-input{height:36px;width:50px}}@media (max-width:768px) and (orientation:landscape){.photo-preview-container,.photo-preview-container.landscape,.photo-preview-container.portrait{height:180px;max-width:160px}}.photo-preview-container.loading{align-items:center;background:#fff;display:flex;justify-content:center}.photo-preview-container.loading:after{color:#64748b;content:"Φόρτωση...";font-size:.875rem}.photo-preview-container.crop:active{cursor:grabbing!important}.photo-print-editor *{transition:all .2s ease}.fit-mode-btn:focus,.orientation-btn:focus,.quantity-btn:focus,.quantity-input:focus,.remove-photo-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.photo-editor-advanced{background:#000000f2;bottom:0;color:#fff;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:1000}.photo-editor-advanced.loading{align-items:center;display:flex;justify-content:center}.loading-spinner{color:#4caf50;font-size:1.2rem}.editor-header{background:#000c;border-bottom:1px solid #333}.editor-header h2{color:#fff;font-size:1.4rem;margin:0}.header-actions{gap:1rem}.header-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.reset-btn{background:#666;color:#fff}.reset-btn:hover{background:#777}.cancel-btn{background:#fff;color:#fff}.cancel-btn:hover{background:#d32f2f}.save-btn:hover:not(:disabled){background:#45a049}.save-btn:disabled{background:#666}.editor-body{display:flex;flex:1 1;min-height:0}.preview-area{align-items:center;background:#1a1a1a;display:flex;flex:1 1;justify-content:center;padding:2rem}.canvas-container{border:2px solid #333;border-radius:8px;box-shadow:0 8px 32px #0009;max-height:100%;max-width:100%;overflow:hidden;position:relative}.preview-canvas{display:block;height:auto;max-height:100%;max-width:100%;width:auto}.controls-panel{background:#2d2d2d;border-left:1px solid #333;display:flex;flex-direction:column;overflow:hidden;width:350px}.tabs{background:#222;border-bottom:1px solid #333;display:flex}.tabs button{background:#0000;border:none;border-bottom:3px solid #0000;color:#ccc;cursor:pointer;flex:1 1;font-size:.9rem;padding:1rem .5rem;transition:all .2s ease}.tabs button:hover{background:#333;color:#fff}.tabs button.active{background:#2d2d2d;border-bottom-color:#4caf50;color:#4caf50}.tab-content{flex:1 1;padding:1.5rem}.control-group{margin-bottom:1.5rem}.control-group label{color:#fff;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.control-group input[type=range]{appearance:none;background:#444;border-radius:3px;height:6px;margin:.5rem 0;outline:none;width:100%}.control-group input[type=range]::-webkit-slider-thumb{appearance:none;background:#4caf50;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;height:18px;width:18px}.control-group input[type=range]::-moz-range-thumb{background:#4caf50;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;height:18px;width:18px}.control-group span{background:#333;border-radius:4px;color:#4caf50;display:inline-block;font-size:.8rem;margin-left:.5rem;min-width:40px;padding:.2rem .6rem;text-align:center}.color-controls .control-group:first-child input[type=range]::-webkit-slider-thumb,.color-controls .control-group:nth-child(2) input[type=range]::-webkit-slider-thumb{background:#fff}.color-controls .control-group:nth-child(3) input[type=range]::-webkit-slider-thumb{background:#fff}.color-controls .control-group:nth-child(4) input[type=range]::-webkit-slider-thumb{background:#9c27b0}.color-controls .control-group:nth-child(5) input[type=range]::-webkit-slider-thumb{background:#03a9f4}.filter-controls .control-group:first-child input[type=range]::-webkit-slider-thumb{background:#8d6e63}.filter-controls .control-group:nth-child(2) input[type=range]::-webkit-slider-thumb{background:#607d8b}.filter-controls .control-group:nth-child(3) input[type=range]::-webkit-slider-thumb{background:#424242}.transform-controls .control-group input[type=range]::-webkit-slider-thumb{background:#00bcd4}.flip-controls{display:flex;gap:.5rem;margin:1rem 0}.flip-controls button{background:#0000;border:2px solid #444;border-radius:6px;color:#ccc;cursor:pointer;flex:1 1;font-size:.85rem;padding:.8rem;transition:all .2s ease}.flip-controls button.active,.flip-controls button:hover{border-color:#4caf50;color:#fff}.flip-controls button.active{background:#4caf50}.rotation-presets{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr);margin-top:1rem}.rotation-presets button{background:#0000;border:2px solid #444;border-radius:6px;color:#ccc;cursor:pointer;font-weight:700;padding:.6rem;transition:all .2s ease}.rotation-presets button:hover{background:#4caf501a;border-color:#4caf50;color:#fff}.crop-controls .coming-soon{color:#999;padding:2rem 1rem;text-align:center}.crop-controls .coming-soon h3{color:#4caf50;font-size:1.2rem;margin-bottom:1rem}.crop-controls .coming-soon ul{list-style:none;margin:1rem 0;padding:0}.crop-controls .coming-soon li{color:#ccc;padding:.3rem 0}.crop-controls .coming-soon li:before{color:#4caf50;content:"✨ "}@media (max-width:1200px){.controls-panel{width:300px}.tab-content{padding:1rem}}@media (max-width:768px){.editor-body{flex-direction:column}.controls-panel{border-left:none;border-top:1px solid #333;height:50vh;width:100%}.editor-header,.preview-area{padding:1rem}.editor-header h2{font-size:1.1rem}.tabs button{font-size:.8rem;padding:.8rem .3rem}.header-actions{gap:.5rem}.header-actions button{font-size:.9rem;padding:.5rem .8rem}}.photo-editor-advanced{animation:fadeIn .3s ease-out}.tab-content::-webkit-scrollbar{width:8px}.tab-content::-webkit-scrollbar-track{background:#1a1a1a}.tab-content::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}.tab-content::-webkit-scrollbar-thumb:hover{background:#45a049}.photo-print-editor-enhanced{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;overflow:hidden;position:relative;transition:all .3s ease}.photo-print-editor-enhanced:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-2px)}.advanced-editor-controls{display:flex;flex-direction:column;gap:8px;position:absolute;right:12px;top:12px;z-index:5}.advanced-edit-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#4caf50f2;border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 8px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease}.advanced-edit-btn:hover:not(:disabled){background:#45a049f2;box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.advanced-edit-btn:disabled{background:#6c757dcc;box-shadow:0 1px 4px #0000001a;cursor:not-allowed;transform:none}.advanced-edit-btn .icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));font-size:1rem}.advanced-edit-btn .text{font-weight:600;letter-spacing:.3px;white-space:nowrap}.advanced-edit-btn .processing{align-items:center;animation:pulse 1.5s ease-in-out infinite;display:flex;gap:6px}.advanced-edits-indicator{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffc107f2;border:1px solid #fff3;border-radius:6px;box-shadow:0 1px 4px #ffc1074d;color:#000;display:flex;font-size:.75rem;font-weight:500;gap:4px;padding:4px 8px}.indicator-dot{animation:sparkle 2s ease-in-out infinite;font-size:.8rem}.indicator-text{font-weight:600;letter-spacing:.2px}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}@media (max-width:768px){.advanced-editor-controls{right:8px;top:8px}.advanced-edit-btn{font-size:.8rem;padding:6px 10px}.advanced-edit-btn .text{display:none}.advanced-edit-btn .icon{font-size:1.2rem}.advanced-edits-indicator{font-size:.7rem;padding:3px 6px}.indicator-text{display:none}}.photo-print-editor-enhanced .photo-print-editor{border-radius:12px;overflow:hidden}.photo-print-editor-enhanced:hover .advanced-edit-btn,.photo-print-editor-enhanced:hover .advanced-edits-indicator{transform:translateY(-1px)}.photo-print-editor-enhanced.processing:after{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;content:"";display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.photo-print-editor-enhanced.processing:before{animation:pulse 1.5s ease-in-out infinite;background:#4caf50f2;border-radius:8px;color:#fff;content:"⏳ Επεξεργασία...";font-weight:500;left:50%;padding:12px 20px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:11}.photo-selection-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.photo-selection-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:85vh;max-width:900px;overflow:hidden;width:100%}.photo-selection-modal-content .modal-header{align-items:center;background:linear-gradient(135deg,#4480aa,#356890);border-bottom:1px solid #e0e0e0;color:#fff;display:flex;justify-content:space-between;padding:24px}.photo-selection-modal-content .modal-header h3{font-size:22px;font-weight:600;margin:0}.photo-selection-modal-content .modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.photo-selection-modal-content .modal-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.photo-selection-modal-content .modal-tabs{background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;gap:8px;padding:16px 24px}.photo-selection-modal-content .tab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s ease}.photo-selection-modal-content .tab-btn:hover{background:#667eea1a;color:#4480aa}.photo-selection-modal-content .tab-btn.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#4480aa}.photo-selection-modal-content .modal-body{flex:1 1;overflow-y:auto;padding:24px}.photo-selection-modal-content .tab-panel{min-height:300px}.photo-selection-modal-content .empty-state{color:#666;padding:60px 20px;text-align:center}.photo-selection-modal-content .empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.photo-selection-modal-content .empty-state h3{color:#333;font-size:20px;margin:16px 0 8px}.photo-selection-modal-content .empty-state p{color:#666;font-size:14px;margin:8px 0 24px}.photo-selection-modal-content .photos-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.photo-selection-modal-content .photo-item{background:#f5f5f5;border-radius:12px;cursor:pointer;transition:all .3s ease}.photo-selection-modal-content .photo-item:hover{box-shadow:0 0 0 3px #4480aa,0 4px 12px #667eea4d}.photo-selection-modal-content .photo-item.selected{box-shadow:0 0 0 3px #4caf50,0 4px 12px #4caf504d}.photo-selection-modal-content .photo-preview{border-radius:9px;height:auto;width:100%}.photo-selection-modal-content .photo-preview img{display:block;height:auto;object-fit:contain;width:100%}.photo-selection-modal-content .selected-overlay{align-items:center;background:#4caf504d;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.photo-selection-modal-content .selected-badge{align-items:center;background:#4caf50;border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:24px;font-weight:700;height:40px;justify-content:center;width:40px}.photo-selection-modal-content .upload-panel{min-height:400px}.photo-selection-modal-content .upload-dropzone{background:#fafafa;border:2px dashed #ccc;border-radius:16px;cursor:pointer;padding:60px 40px;text-align:center;transition:all .3s ease}.photo-selection-modal-content .upload-dropzone:hover{background:#f0f4ff;border-color:#4480aa}.photo-selection-modal-content .dropzone-icon{font-size:48px;margin-bottom:16px}.photo-selection-modal-content .dropzone-content h4{color:#333;font-size:18px;margin:0 0 8px}.photo-selection-modal-content .dropzone-content p{color:#666;font-size:14px;margin:0 0 16px}.photo-selection-modal-content .dropzone-hint{color:#999;display:block;font-size:12px}.photo-selection-modal-content .upload-error{align-items:center;background:#fee;border-radius:8px;color:#c33;display:flex;font-size:14px;gap:8px;margin-top:16px;padding:12px 16px}.photo-selection-modal-content .upload-preview{border-top:1px solid #e0e0e0;margin-top:24px;padding-top:24px}.photo-selection-modal-content .upload-preview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.photo-selection-modal-content .upload-preview-header h4{color:#333;font-size:16px;margin:0}.photo-selection-modal-content .upload-preview-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-bottom:16px}.photo-selection-modal-content .upload-preview-item{background:#f5f5f5;border-radius:8px;overflow:hidden;position:relative}.photo-selection-modal-content .upload-preview-item img{display:block;height:auto;object-fit:contain;width:100%}.photo-selection-modal-content .remove-file-btn{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;position:absolute;right:4px;top:4px;transition:all .2s ease;width:24px}.photo-selection-modal-content .remove-file-btn:hover{background:#c33;transform:scale(1.1)}.photo-selection-modal-content .file-name{background:#000c;bottom:0;color:#fff;font-size:10px;left:0;overflow:hidden;padding:4px;position:absolute;right:0;text-overflow:ellipsis;white-space:nowrap}.photo-selection-modal-content .upload-progress{margin-bottom:16px}.photo-selection-modal-content .progress-bar{background:#e0e0e0;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.photo-selection-modal-content .progress-fill{background:linear-gradient(90deg,#4480aa,#356890);height:100%;transition:width .3s ease}.photo-selection-modal-content .progress-text{color:#4480aa;font-size:14px;font-weight:500;text-align:center}.photo-selection-modal-content .google-photos-panel{align-items:center;display:flex;justify-content:center;min-height:400px}.photo-selection-modal-content .google-photos-connect{max-width:400px;padding:40px;text-align:center}.photo-selection-modal-content .connect-icon{font-size:64px;margin-bottom:20px}.photo-selection-modal-content .google-photos-connect h4{color:#333;font-size:20px;margin:0 0 12px}.photo-selection-modal-content .google-photos-connect p{color:#666;font-size:14px;line-height:1.6;margin:0 0 24px}.photo-selection-modal-content .google-icon{background:#fff;border-radius:3px;color:#4285f4;display:inline-block;font-weight:700;height:20px;line-height:20px;margin-right:8px;width:20px}.photo-selection-modal-content .connect-hint{color:#999;font-size:12px;font-style:italic;margin-top:16px}.photo-selection-modal-content .modal-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.photo-selection-modal-content .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:10px 20px;transition:all .2s ease}.photo-selection-modal-content .btn-primary{background:linear-gradient(135deg,#4480aa,#356890);color:#fff}.photo-selection-modal-content .btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.photo-selection-modal-content .btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.photo-selection-modal-content .btn-secondary{background:#fff;border:1px solid #ddd;color:#666}.photo-selection-modal-content .btn-secondary:hover{background:#f5f5f5;border-color:#bbb}.photo-selection-modal-content .btn-link{background:#0000;color:#4480aa;padding:4px 8px}.photo-selection-modal-content .btn-link:hover{background:#667eea1a}.photo-selection-modal-content .btn-upload{font-size:15px;padding:14px;width:100%}@media (max-width:768px){.photo-selection-modal-overlay{padding:10px}.photo-selection-modal-content{border-radius:12px;max-height:90vh}.photo-selection-modal-content .modal-header{padding:16px}.photo-selection-modal-content .modal-header h3{font-size:18px}.photo-selection-modal-content .modal-tabs{gap:4px;overflow-x:auto;padding:12px 16px}.photo-selection-modal-content .tab-btn{font-size:12px;padding:8px 12px;white-space:nowrap}.photo-selection-modal-content .modal-body{padding:16px}.photo-selection-modal-content .photos-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.photo-selection-modal-content .upload-dropzone{padding:40px 20px}.photo-selection-modal-content .dropzone-icon{font-size:36px}.photo-selection-modal-content .dropzone-content h4{font-size:16px}.photo-selection-modal-content .upload-preview-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.photo-selection-modal-content .modal-footer{flex-direction:column-reverse;padding:16px}.photo-selection-modal-content .btn{width:100%}}.photo-selection-modal-content [data-keyboard-nav-item]:focus{outline:2px solid #4480aa;outline-offset:2px}.photo-selection-modal-content .modal-body::-webkit-scrollbar{width:8px}.photo-selection-modal-content .modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.photo-selection-modal-content .modal-body::-webkit-scrollbar-thumb{background:#4480aa;border-radius:4px}.photo-selection-modal-content .modal-body::-webkit-scrollbar-thumb:hover{background:#5568d3}.edit-photo-print-container{background:#f8f9fa;margin:0 auto;min-height:100dvh;overflow-x:hidden;padding:80px 0 65px;scroll-behavior:smooth}@supports not (height:100dvh){.edit-photo-print-container{min-height:100vh}}.desktop-only{display:block}.mobile-only{display:none}@media (max-width:768px){.desktop-only{display:none!important}.mobile-only{display:block}.edit-photo-print-container{padding-bottom:60px;padding-top:70px}}.static-top-bar{background:#fff;border-bottom:2px solid #e2e8f0;box-shadow:0 4px 12px #00000014;left:0;padding:.75rem 1.5rem;position:fixed;right:0;top:0;z-index:100}.top-bar-row{flex-wrap:wrap;justify-content:space-between}.product-info-inline,.top-bar-row{align-items:center;display:flex;gap:1.5rem}.product-info-inline{background:#f8f9fa;border-radius:8px;flex:1 1;justify-content:center;padding:.5rem 1rem}.product-info-inline .info-item{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.product-info-inline .info-item .label{color:#6c757d;font-weight:500}.product-info-inline .info-item .value{color:#212529;font-weight:600}.product-info-inline .info-item.total{border-left:2px solid #dee2e6;padding-left:1rem}.product-info-inline .info-item.total .value{color:#059669;font-size:1.1rem}.header-actions{gap:.75rem}.btn-back,.header-actions{align-items:center;display:flex}.btn-back{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.9rem;font-weight:500;gap:.5rem;padding:.65rem 1.25rem;transition:all .2s ease;white-space:nowrap}.btn-back:hover:not(:disabled){background:#e2e8f0;color:#334155}.btn-back:disabled{cursor:not-allowed;opacity:.5}.btn-add-photos{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.65rem 1.25rem;transition:all .2s ease;white-space:nowrap}.btn-add-photos:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-add-photos:disabled{cursor:not-allowed;opacity:.5}.btn-clear-all{align-items:center;background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.65rem 1.25rem;transition:all .2s ease;white-space:nowrap}.btn-clear-all:hover:not(:disabled){background:#bb2d3b;transform:translateY(-1px)}.btn-clear-all:disabled{cursor:not-allowed;opacity:.5}.btn-save-project{align-items:center;background:#6f42c1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.65rem 1.25rem;transition:all .2s ease;white-space:nowrap}.btn-save-project:hover:not(:disabled){background:#5a32a3;transform:translateY(-1px)}.btn-save-project:disabled{cursor:not-allowed;opacity:.5}.btn-add-cart{align-items:center;background:#059669;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.65rem 1.25rem;transition:all .2s ease;white-space:nowrap}.btn-add-cart:hover:not(:disabled){background:#047857;box-shadow:0 4px 12px #0596694d;transform:translateY(-1px)}.btn-add-cart:disabled{cursor:not-allowed;opacity:.5}.message-toast{animation:slideUp .3s ease-out;border-radius:8px;bottom:200px;box-shadow:0 4px 12px #00000026;font-weight:500;max-width:400px;padding:.75rem 1rem;position:fixed;right:1.5rem;text-align:center;z-index:1001}@media (max-width:768px){.message-toast{bottom:auto;max-width:calc(100vw - 2rem);right:1rem;top:4.5rem}}.message-toast.success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.message-toast.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.edit-photo-print-content{margin:0 auto;max-width:1600px;padding:2rem}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:3rem 2rem;text-align:center}.empty-state .empty-icon{font-size:5rem;margin-bottom:1.5rem;opacity:.4}.empty-state h2{color:#475569;font-size:1.75rem;font-weight:600;margin:0 0 1rem}.empty-state p{color:#64748b;font-size:1.125rem;margin:0}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50vh;padding:2rem;text-align:center}.error-state h2{color:#dc2626;font-size:1.5rem;margin:0 0 1rem}.error-details{color:#6b7280;font-size:1rem;margin:0 0 2rem;max-width:500px}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.loading-spinner,.spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:1rem;width:40px}.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.loading p{color:#6c757d;font-size:1rem;margin-top:1rem}.error-message{background:#fee2e2;border-radius:8px;margin:2rem;padding:1rem 1.5rem;text-align:center}.error-message h2{font-size:1.25rem;margin:0 0 .5rem}.error-message p{margin:0 0 1rem}.error-message button{margin-top:1rem}.bottom-info-bar{align-items:center;animation:slideUp .3s ease-out;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -4px 12px #00000014;display:flex;gap:2rem;justify-content:space-between;padding:1.5rem 2rem;z-index:100}.bottom-info-bar .product-details{align-items:center;display:flex;gap:.5rem}.bottom-info-bar .product-name{color:#475569;font-size:1rem;font-weight:600}.bottom-info-bar .product-size{color:#64748b;font-size:.875rem}.bottom-info-bar .cost-info{align-items:baseline;display:flex;flex:1 1;gap:.75rem;justify-content:center}.bottom-info-bar .total-cost{color:#059669;font-size:1.75rem;font-weight:700}.bottom-info-bar .cost-breakdown{color:#64748b;font-size:.875rem}.bottom-info-bar .save-status{font-size:.875rem;min-width:180px;text-align:right}.saving-indicator{animation:pulse 1.5s ease-in-out infinite;color:#3b82f6;font-weight:500}.saved-indicator{color:#059669;font-weight:500}.error-message{background:#fff;border:1px solid #fecaca;border-radius:6px;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.photos-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.section-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:2rem}.section-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin:0}.section-actions{display:flex;gap:1rem}.empty-selection{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;opacity:.5}.empty-selection p{color:#64748b;font-size:1.125rem;margin:0 0 2rem}.selected-photos-grid{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:1.5rem}.photo-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;position:relative;transition:all .2s ease}.photo-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.photo-image{aspect-ratio:4/3;overflow:hidden}.photo-image img{height:100%;object-fit:cover;transition:transform .2s ease;width:100%}.photo-card:hover .photo-image img{transform:scale(1.05)}.photo-info{padding:1rem}.photo-name{color:#374151;font-size:.875rem;font-weight:500}.photo-remove-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;opacity:0;position:absolute;right:.75rem;top:.75rem;transition:all .2s ease;width:32px}.photo-card:hover .photo-remove-btn{opacity:1}.photo-remove-btn:hover{background:#dc2626;transform:scale(1.1)}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn-primary{background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-secondary{color:#475569}.btn-secondary:hover{background:#fff}.btn-outline{background:#0000;border:1px solid #d1d5db;color:#6b7280}.btn-outline:hover{background:#fff;border-color:#9ca3af}.btn-success{background:#059669;border:1px solid #059669;color:#fff}.btn-success:hover{background:#047857;border-color:#047857}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);inset:0}.modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;display:flex;flex-direction:column;max-height:80vh;max-width:900px;width:100%}.modal-header{border-bottom:1px solid #e2e8f0;padding:2rem}.modal-header h2{color:#1e293b}.modal-info{color:#64748b;font-size:.875rem}.modal-close-btn{align-items:center;background:#fff;border:none;border-radius:50%;color:#475569;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:#fff}.modal-content{flex:1 1;padding:2rem}.modal-footer{border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:1.5rem 2rem}.photos-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.photo-item{border:2px solid #0000;transition:all .2s ease}.photo-item:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.photo-item.selected{border-color:#3b82f6;cursor:default}.photo-preview img{height:100%;object-fit:cover;width:100%}.selected-overlay{align-items:center;background:#3b82f6cc;display:flex;inset:0;justify-content:center;position:absolute}.selected-badge{background:#fff;color:#3b82f6;font-size:1.125rem;font-weight:600;height:32px;width:32px}.photo-item .photo-name{background:#fff;color:#374151;font-size:.75rem;padding:.5rem;text-align:center}.empty-photos{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.empty-photos .empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-photos h3{color:#374151;margin:0 0 .5rem}.empty-photos p{color:#6b7280;margin:0 0 2rem}.mobile-top-bar{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 8px #00000014;left:0;min-height:56px;position:fixed;right:0;top:0;z-index:100}.mobile-back-btn,.mobile-top-bar{align-items:center;display:flex;padding:.625rem 1rem}.mobile-back-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.95rem;font-weight:500;gap:.5rem;min-height:44px;transition:all .2s ease;white-space:nowrap}.mobile-back-btn:active{background:#e2e8f0;transform:scale(.98)}.bottom-info-bar{animation:slideUpBar .3s ease-out;background:linear-gradient(0deg,#fff 0,#fff 95%,#fffffffa);border-top:2px solid #e2e8f0;bottom:0;box-shadow:0 -4px 16px #0000001a;left:0;padding:.5rem 1.5rem;position:fixed;right:0;z-index:90}@keyframes slideUpBar{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.bottom-info-content{justify-content:space-between;margin:0 auto;max-width:1400px}.bottom-bar-actions,.bottom-info-content{align-items:center;display:flex;gap:.75rem}.bottom-bar-actions .btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease;white-space:nowrap}.bottom-bar-actions .btn:disabled{cursor:not-allowed;opacity:.5}.bottom-bar-actions .btn-add{background:#3b82f6;color:#fff}.bottom-bar-actions .btn-add:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.bottom-bar-actions .btn-save{background:#6f42c1;color:#fff}.bottom-bar-actions .btn-save:hover:not(:disabled){background:#5a32a3;transform:translateY(-1px)}.bottom-bar-actions .btn-cart{background:#059669;color:#fff}.bottom-bar-actions .btn-cart:hover:not(:disabled){background:#047857;box-shadow:0 4px 12px #0596694d;transform:translateY(-1px)}.info-section{display:flex;flex:1 1;gap:.75rem}.info-row{display:flex;flex-direction:column;gap:.125rem}.info-label{color:#6c757d;font-size:.7rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#1e293b;font-size:1rem;font-weight:700}.total-section{align-items:flex-end;border-left:2px solid #e2e8f0;display:flex;flex-direction:column;gap:.125rem;padding-left:.75rem}.total-label{color:#6c757d;font-size:.7rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.total-value{color:#059669;font-size:1.375rem;font-weight:800;line-height:1}.fab-container{display:none}.fab-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 4px 12px #3b82f666;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:56px;justify-content:center;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:56px;z-index:1002}.fab-button:active{transform:scale(.95)}.fab-button.active{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 16px #ef444480;transform:rotate(90deg)}.fab-button:disabled{cursor:not-allowed;opacity:.6}.fab-menu{animation:fabMenuSlideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border:1px solid #0000000d;border-radius:16px;bottom:90px;box-shadow:0 12px 32px #0003;max-height:calc(100dvh - 180px);min-width:220px;overflow:hidden;overflow-y:auto;position:fixed;right:1rem;z-index:1001}@keyframes fabMenuSlideUp{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.fab-menu-item{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:none;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;font-size:.95rem;gap:1rem;min-height:52px;padding:1rem 1.25rem;text-align:left;transition:all .15s ease;width:100%}.fab-menu-item:last-child{border-bottom:none}.fab-menu-item:active{background:#f1f5f9;transform:scale(.98)}.fab-menu-item:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.5}.fab-menu-item .icon{font-size:1.5rem;text-align:center;width:28px}.fab-menu-item .text{color:#1e293b;flex:1 1;font-weight:500}.fab-menu-item.add .text{color:#3b82f6}.fab-menu-item.clear .text{color:#dc3545}.fab-menu-item.save .text{color:#6f42c1}.fab-menu-item.cart .text{color:#059669}.fab-backdrop{animation:fadeIn .3s ease;background:#0000004d;inset:0;position:fixed;z-index:999}@media (max-width:1024px){.static-top-bar{padding:.65rem 1rem}.top-bar-row{gap:1rem}.product-info-inline{flex-wrap:wrap;gap:1rem}.product-info-inline .info-item{font-size:.85rem}.header-actions{gap:.5rem}}@media (max-width:768px){.edit-photo-print-content{margin-top:3.5rem;padding:1rem}.message-toast.mobile-only{bottom:auto;box-shadow:0 4px 12px #00000026;font-size:.95rem;left:auto;margin:0;max-width:320px;position:fixed;right:1rem;top:4.5rem;z-index:1001}.message-toast.success{background:#d1fae5;border:2px solid #10b981;color:#065f46}.message-toast.error{background:#fee2e2;border:2px solid #ef4444;color:#991b1b}}@media (max-width:480px){.fab-container{bottom:1rem;right:1rem}.fab-button{font-size:1.3rem;height:52px;width:52px}.fab-menu{bottom:70px;max-height:calc(100dvh - 140px);min-width:200px;right:1rem}.fab-menu-item{font-size:.9rem;min-height:48px;padding:.875rem 1rem}.fab-menu-item .icon{font-size:1.3rem;width:24px}.edit-photo-print-content{padding:.75rem}.modal{border-radius:12px;margin:.5rem;max-height:calc(100dvh - 1rem);max-width:calc(100vw - 1rem)}.modal-content,.modal-footer,.modal-header{padding:1rem}.modal-header h2{font-size:1.25rem}.photos-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.selected-photos-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:.75rem}}@supports not (height:100dvh){.modal{max-height:calc(100vh - 1rem)}}@media (max-width:768px){.edit-photo-print-container{padding:1rem}.edit-photo-print-header,.section-header{flex-direction:column;gap:1rem}.section-header{align-items:stretch}.section-actions{justify-content:center}.selected-photos-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));padding:1rem}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.modal{margin:1rem;max-height:calc(100vh - 2rem)}}@media (max-width:480px){.top-action-bar .back-btn,.top-action-bar .save-btn{font-size:.875rem;padding:.75rem 1rem}.photos-grid{grid-template-columns:repeat(2,1fr)}.selected-photos-grid{grid-template-columns:1fr}}.batch-operations{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:.5rem;padding:8px 12px;position:relative}.batch-operations:before{color:#6c757d;content:"Μαζικές ενέργειες:";font-size:12px;font-weight:500;margin-right:8px;white-space:nowrap}.batch-btn{background:#fff!important;border:1px solid #ced4da!important;color:#495057!important;font-size:12px!important;min-width:auto!important;padding:6px 12px!important;transition:all .2s ease;white-space:nowrap}.batch-btn:hover{background:#fff!important;border-color:#adb5bd!important;transform:translateY(-1px)}.batch-btn:active{transform:translateY(0)}.photo-editors-list{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:1rem;padding:0 .5rem;width:100%}@media (max-width:1024px){.photo-editors-list{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width:768px){.edit-photo-print-container{padding-bottom:100px}.photo-editors-list{gap:.875rem;grid-template-columns:repeat(2,1fr);padding:0 .25rem}.info-section .info-row:nth-child(n+3){display:none}.fab-container{bottom:55px;display:block;position:fixed;right:1.25rem;z-index:1000}.fab-button{box-shadow:0 6px 16px #3b82f680;font-size:1.5rem;height:60px;width:60px}.fab-menu{bottom:145px;min-width:240px;right:1.25rem}.fab-menu-item{min-height:56px;padding:1.125rem 1.5rem}.fab-menu-item .icon{font-size:1.75rem;width:32px}.fab-menu-item .text{font-size:1rem}}@media (max-width:480px){.photo-editors-list{gap:.75rem;grid-template-columns:1fr;padding:0}.edit-photo-print-content{padding:.5rem}.empty-state{min-height:50vh;padding:2rem 1rem}.empty-state .empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{font-size:1.5rem}.empty-state p{font-size:1rem}.mobile-back-btn{min-height:44px;padding:.625rem 1rem}.bottom-info-bar{padding:.5rem 1rem}.info-section{gap:1rem}.info-label{font-size:.7rem}.info-value{font-size:1rem}.total-value{font-size:1.375rem}.fab-container{bottom:50px;right:1rem}.fab-button{font-size:1.4rem;height:56px;width:56px}.fab-menu{bottom:135px;max-width:280px;min-width:calc(100vw - 2rem);right:1rem}}@media (max-width:360px){.bottom-info-bar{padding:.5rem .75rem}.info-section{gap:.875rem}.info-label{font-size:.65rem}.info-value{font-size:.95rem}.total-label{font-size:.65rem}.total-value{font-size:1.25rem}.fab-menu-item{min-height:52px;padding:1rem 1.25rem}.fab-menu-item .icon{font-size:1.5rem;width:28px}.fab-menu-item .text{font-size:.95rem}}@media (max-width:768px) and (orientation:landscape){.edit-photo-print-container{padding-bottom:60px}.photo-editors-list{gap:.75rem;grid-template-columns:repeat(3,1fr)}.bottom-info-bar{padding:.375rem 1rem}.info-label{font-size:.65rem}.info-value{font-size:.95rem}.total-label{font-size:.65rem}.total-value{font-size:1.25rem}.fab-container{bottom:48px;right:.75rem}.fab-button{height:52px;width:52px}.fab-menu{bottom:120px;max-height:calc(100vh - 140px)}}.advanced-editor-demo{color:#333;line-height:1.6;margin:0 auto;max-width:1400px;padding:2rem}.demo-header{background:linear-gradient(135deg,#4caf50,#45a049);border-radius:16px;box-shadow:0 8px 32px #4caf504d;color:#fff;margin-bottom:3rem;padding:2rem;text-align:center}.demo-header h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.demo-header p{font-size:1.2rem;margin:0 auto;max-width:600px;opacity:.9}.features-showcase{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:3rem}.feature-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 16px #0000001a;padding:1.5rem;transition:all .3s ease}.feature-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.feature-card h3{color:#4caf50;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.feature-card ul{list-style:none;margin:0;padding:0}.feature-card li{border-bottom:1px solid #f0f0f0;padding:.5rem 0 .5rem 1.5rem;position:relative}.feature-card li:last-child{border-bottom:none}.feature-card li:before{color:#4caf50;content:"✨";left:0;position:absolute}.photos-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:3rem}.implementation-guide{background:#fff;border:1px solid #e9ecef;border-radius:16px;margin-bottom:3rem;padding:2rem}.implementation-guide h2{color:#4caf50;font-size:2rem;margin-bottom:2rem;text-align:center}.implementation-step{background:#fff;border-left:4px solid #4caf50;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.implementation-step h3{color:#333;font-size:1.3rem;margin-bottom:1rem}.implementation-step pre{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin:1rem 0;overflow-x:auto;padding:1rem}.implementation-step code{color:#495057;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}.implementation-step ul{margin:1rem 0;padding-left:1.5rem}.implementation-step li{margin-bottom:.5rem}.implementation-step strong{color:#4caf50}.next-features{background:linear-gradient(135deg,#4480aa,#356890);border-radius:16px;color:#fff;margin-bottom:2rem;padding:2rem}.next-features h2{font-size:2rem;margin-bottom:2rem;text-align:center}.future-features{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.future-feature{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:1.5rem;transition:all .3s ease}.future-feature:hover{background:#fff3;transform:translateY(-2px)}.future-feature h4{color:#fff;font-size:1.2rem;margin-bottom:.5rem}.future-feature p{line-height:1.5;opacity:.9}@media (max-width:768px){.advanced-editor-demo{padding:1rem}.demo-header{padding:1.5rem}.demo-header h1{font-size:2rem}.demo-header p{font-size:1rem}.features-showcase,.photos-grid{gap:1rem;grid-template-columns:1fr}.implementation-guide{padding:1.5rem}.implementation-step{padding:1rem}.next-features{padding:1.5rem}.future-features{gap:1rem;grid-template-columns:1fr}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.feature-card,.future-feature,.implementation-step{animation:fadeInUp .6s ease-out}.feature-card:nth-child(2){animation-delay:.1s}.feature-card:nth-child(3){animation-delay:.2s}.feature-card:nth-child(4){animation-delay:.3s}.implementation-step pre code{display:block;white-space:pre-wrap}.implementation-step pre::-webkit-scrollbar{height:8px}.implementation-step pre::-webkit-scrollbar-track{background:#fff;border-radius:4px}.implementation-step pre::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}.implementation-step pre::-webkit-scrollbar-thumb:hover{background:#45a049}.photo-grid-maker.simple{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:100%;padding:15px}.photo-grid-maker.simple .header{margin-bottom:20px;text-align:center}.photo-grid-maker.simple .header h1{color:#333;font-size:2rem;margin:0 0 10px}.photo-grid-maker.simple .header p{color:#666;font-size:1rem;margin:0}.photo-grid-maker.simple .message{align-items:center;animation:slideInDown .3s ease-out;border-radius:8px;display:flex;font-weight:500;justify-content:space-between;margin-bottom:20px;padding:15px 20px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.photo-grid-maker.simple .message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.photo-grid-maker.simple .message.error{background:#fff;border:1px solid #f5c6cb;color:#721c24}.photo-grid-maker.simple .message button{background:none;border:none;cursor:pointer;font-size:24px;height:30px;opacity:.7;padding:0;width:30px}.photo-grid-maker.simple .message button:hover{opacity:1}.photo-grid-maker.simple .content{grid-gap:15px;display:grid;gap:15px;grid-template-columns:320px 1fr;margin:0 auto;max-width:1920px;padding-bottom:80px}.photo-grid-maker.simple .sidebar{display:flex;flex-direction:column;gap:15px;margin-top:60px}.photo-grid-maker.simple .section{background:#fff;border-radius:10px;box-shadow:0 2px 6px #00000014;padding:15px}.photo-grid-maker.simple .section h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 12px}.photo-grid-maker.simple .grid-selector{display:flex;flex-direction:column;gap:10px}.photo-grid-maker.simple .grid-option{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;padding:12px;text-align:left;transition:all .2s}.photo-grid-maker.simple .grid-option:hover{background:#fff;border-color:#4480aa}.photo-grid-maker.simple .grid-option.active{background:#fff;border-color:#4480aa;box-shadow:0 0 0 3px #007bff1a}.photo-grid-maker.simple .grid-name{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:5px}.photo-grid-maker.simple .grid-info{color:#666;font-size:.9rem;margin-bottom:8px}.photo-grid-maker.simple .grid-price{color:#4480aa;font-size:1.2rem;font-weight:700}.photo-grid-maker.simple .btn-action,.photo-grid-maker.simple .btn-upload{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:10px;padding:12px;transition:all .2s;width:100%}.photo-grid-maker.simple .btn-upload{background:#4480aa;color:#fff}.photo-grid-maker.simple .btn-upload:hover:not(:disabled){background:#356890;transform:translateY(-1px)}.photo-grid-maker.simple .btn-upload:disabled{cursor:not-allowed;opacity:.6}.photo-grid-maker.simple .btn-action{background:#28a745;color:#fff}.photo-grid-maker.simple .btn-action:hover:not(:disabled){background:#218838}.photo-grid-maker.simple .btn-action.danger{background:#dc3545}.photo-grid-maker.simple .btn-action.danger:hover:not(:disabled){background:#c82333}.photo-grid-maker.simple .btn-action:disabled{cursor:not-allowed;opacity:.5}.photo-grid-maker.simple .photo-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr;max-height:450px;overflow-y:auto}.photo-grid-maker.simple .setting-group{margin-bottom:20px}.photo-grid-maker.simple .setting-group label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.photo-grid-maker.simple .setting-group small{color:#666;display:block;font-size:.85rem;line-height:1.4;margin-top:6px}.photo-grid-maker.simple .slider{appearance:none;background:#fff;border-radius:3px;height:6px;outline:none;width:100%}.photo-grid-maker.simple .slider::-webkit-slider-thumb{appearance:none;background:#4480aa;border-radius:50%;cursor:pointer;height:18px;-webkit-transition:all .2s;transition:all .2s;width:18px}.photo-grid-maker.simple .slider::-webkit-slider-thumb:hover{background:#356890;transform:scale(1.2)}.photo-grid-maker.simple .slider::-moz-range-thumb{background:#4480aa;border:none;border-radius:50%;cursor:pointer;height:18px;-moz-transition:all .2s;transition:all .2s;width:18px}.photo-grid-maker.simple .slider::-moz-range-thumb:hover{background:#356890;transform:scale(1.2)}.photo-grid-maker.simple .cell-controls{border-top:2px solid #e9ecef;margin-top:20px;padding-top:20px}.photo-grid-maker.simple .cell-controls h4{color:#4480aa;font-size:1rem;margin:0 0 15px}.photo-grid-maker.simple .loading-state{color:#666;padding:40px 20px;text-align:center}.photo-grid-maker.simple .loading-state p{font-size:1rem;margin:0}.photo-grid-maker.simple .photo-item{aspect-ratio:1;border:3px solid #0000;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transform-origin:center;transition:all .25s cubic-bezier(.4,0,.2,1)}.photo-grid-maker.simple .photo-item img{height:100%;object-fit:cover;transition:transform .25s ease;width:100%}.photo-grid-maker.simple .photo-item:hover{border-color:#4480aa;box-shadow:0 4px 12px #007bff4d;transform:scale(1.05);z-index:10}.photo-grid-maker.simple .photo-item:hover img{transform:scale(1.05)}.photo-grid-maker.simple .photo-item.selected{animation:pulse-border 2s infinite;border-color:#4480aa;box-shadow:0 0 0 4px #007bff33}.photo-grid-maker.simple .photo-item.used{opacity:.6}.photo-grid-maker.simple .photo-item .badge{background:#28a745;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:3px 8px;position:absolute;right:5px;top:5px}.photo-grid-maker.simple .empty-state{color:#999;padding:40px 20px;text-align:center}.photo-grid-maker.simple .main-area{background:#fff;border-radius:10px;box-shadow:0 2px 6px #00000014;display:flex;flex-direction:column;gap:15px;min-height:calc(100dvh - 120px);padding:20px}@supports not (height:100dvh){.photo-grid-maker.simple .main-area{min-height:calc(100vh - 120px)}}.photo-grid-maker.simple .grid-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding-bottom:12px}.photo-grid-maker.simple .grid-header h2{color:#333;font-size:1.3rem;font-weight:600;margin:0}.photo-grid-maker.simple .progress-info{align-items:center;display:flex;gap:10px}.photo-grid-maker.simple .progress-info span{color:#4480aa;font-weight:600;min-width:60px}.photo-grid-maker.simple .grid-iframe{background:#fff;border:2px solid #e9ecef;border-radius:8px;box-shadow:inset 0 2px 6px #0000000d;display:block;flex:1 1;height:calc(100dvh - 200px);overflow:hidden;padding:0;position:relative;-webkit-user-select:none;user-select:none}@supports not (height:100dvh){.photo-grid-maker.simple .grid-iframe{height:calc(100vh - 200px)}}.photo-grid-maker.simple .grid-iframe.dragging-canvas{cursor:grabbing!important}.photo-grid-maker.simple .grid-iframe.dragging-canvas *{cursor:grabbing!important;pointer-events:none}.photo-grid-maker.simple .progress-bar{background:#fff;border-radius:4px;height:8px;overflow:hidden;width:150px}.photo-grid-maker.simple .progress-fill{background:linear-gradient(90deg,#4480aa,#356890);height:100%;transition:width .3s ease}.photo-grid-maker.simple .helper-message{align-items:center;background:#fff;border:1px solid #ffc107;border-radius:8px;color:#856404;display:flex;font-weight:500;justify-content:space-between;margin:20px;max-width:600px;padding:15px 20px;width:calc(100% - 40px)}.photo-grid-maker.simple .helper-message.edit{background:#fff;border-color:#4480aa;color:#004085}.photo-grid-maker.simple .helper-message button{background:#856404;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:6px 16px}.photo-grid-maker.simple .helper-message.edit button{background:#4480aa}.photo-grid-maker.simple .helper-message button:hover{opacity:.9}.photo-grid-maker.simple .poster-preview-wrapper{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:100%;padding:60px 40px;pointer-events:none;width:100%;will-change:transform}.photo-grid-maker.simple .poster-preview-wrapper *{pointer-events:auto}.photo-grid-maker.simple .poster-frame{align-items:center;aspect-ratio:5/7;background:#fff;border:12px solid #f5f5f5;box-shadow:0 8px 30px #0003;display:flex;justify-content:center;max-width:700px;overflow:hidden;position:relative;width:90%}.photo-grid-maker.simple .poster-frame:before{background:#1a73e8;border-radius:4px;color:#fff;content:"50×70 cm";font-size:12px;font-weight:600;left:50%;padding:4px 12px;position:absolute;top:-30px;transform:translateX(-50%);z-index:10}.photo-grid-maker.simple .poster-margin{background:#0000;box-sizing:border-box;display:block;height:100%;overflow:hidden;padding:0;position:relative;width:100%}.photo-grid-maker.simple .grid-container{grid-gap:8px;align-items:stretch;background:#0000;border-radius:4px;bottom:0;box-sizing:border-box;display:grid;gap:8px;grid-auto-columns:minmax(0,1fr);grid-auto-rows:minmax(0,1fr);grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(7,1fr);height:100%;justify-items:stretch;left:0;overflow:hidden;padding:3%;position:absolute;right:0;top:0;width:100%}.photo-grid-maker.simple .grid-cell{aspect-ratio:1/1;backface-visibility:hidden;border:none;border-radius:8px;box-sizing:border-box;cursor:default;height:100%;max-width:100%;min-height:0;min-width:0;outline:none;overflow:visible;position:relative;transform:translateZ(0);transition:all .2s;width:100%}.photo-grid-maker.simple .grid-cell.selected{z-index:100}.photo-grid-maker.simple .grid-cell.clickable{cursor:pointer}.photo-grid-maker.simple .grid-cell.clickable:hover{box-shadow:0 4px 12px #00000026;z-index:10}.photo-grid-maker.simple .grid-cell.filled{background:#0000;border:1px solid #e0e0e0;overscroll-behavior:contain}.photo-grid-maker.simple .grid-cell.empty.selected,.photo-grid-maker.simple .grid-cell.filled.selected{border:2px solid #4480aa;box-shadow:0 0 0 3px #007bff33}.photo-grid-maker.simple .grid-cell.drag-over{animation:dragPulse 1s infinite;background-color:#28a74526;border:3px dashed #28a745;box-shadow:0 0 0 4px #28a74540,inset 0 0 20px #28a7451a;transform:scale(1.08);transition:all .25s cubic-bezier(.4,0,.2,1)}@keyframes dragPulse{0%,to{box-shadow:0 0 0 4px #28a74540,inset 0 0 20px #28a7451a}50%{box-shadow:0 0 0 6px #28a74559,inset 0 0 30px #28a74533}}.photo-grid-maker.simple .grid-cell.filled{cursor:grab;transition:all .2s ease}.photo-grid-maker.simple .grid-cell.filled:active{cursor:grabbing;opacity:.8}.photo-grid-maker.simple .grid-cell.dragging{cursor:grabbing;opacity:.4;transform:scale(.95)}.photo-grid-maker.simple .photo-item{-webkit-user-drag:none;cursor:grab;-webkit-user-select:none;user-select:none}.photo-grid-maker.simple .photo-item:active{cursor:grabbing;opacity:.7;transform:scale(.98)}.photo-grid-maker.simple .photo-item.dragging{cursor:grabbing;opacity:.3;transform:scale(.95) rotate(5deg);transition:all .2s ease}.photo-grid-maker.simple .photo-content{background-position:50%;background-repeat:no-repeat;background-size:cover;border:none;border-radius:inherit;bottom:0;height:100%;left:0;outline:none;overflow:hidden;position:absolute;right:0;top:0;touch-action:none;transition:none;-webkit-user-select:none;user-select:none;width:100%}.photo-grid-maker.simple .photo-content:not([style*="background-image: url"]){animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.photo-grid-maker.simple .grid-cell img{height:100%;object-fit:cover;width:100%}.photo-grid-maker.simple .selected-indicator{align-items:center;background:#007bffe6;border-radius:50%;display:flex;font-size:20px;height:30px;justify-content:center;left:5px;position:absolute;top:5px;width:30px}.photo-grid-maker.simple .empty-cell .plus{color:#ccc;font-size:2rem;font-weight:300}.photo-grid-maker.simple .remove-btn{background:#dc3545e6;border:none;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;right:5px}.photo-grid-maker.simple .drag-handle,.photo-grid-maker.simple .remove-btn{align-items:center;color:#fff;display:flex;height:28px;justify-content:center;opacity:0;position:absolute;top:5px;transition:opacity .2s;width:28px;z-index:10}.photo-grid-maker.simple .drag-handle{background:#007bffe6;border-radius:4px;cursor:grab;font-size:14px;font-weight:700;left:5px;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.photo-grid-maker.simple .grid-cell:hover .drag-handle{opacity:1}.photo-grid-maker.simple .drag-handle:active{cursor:grabbing}.photo-grid-maker.simple .grid-cell:hover .remove-btn{opacity:1}.photo-grid-maker.simple .remove-btn:hover{background:#dc3545}.photo-grid-maker.simple .photo-toolbar{display:none}.floating-photo-toolbar{align-items:center;animation:slideUp .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#323232eb;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;gap:10px;padding:10px 14px;pointer-events:all;position:fixed;transform:translateX(-50%);white-space:nowrap;z-index:10000}.floating-photo-toolbar .toolbar-btn,.photo-grid-maker.simple .toolbar-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;justify-content:center;min-width:45px;padding:6px 12px;transition:all .2s}.floating-photo-toolbar .toolbar-btn:hover,.photo-grid-maker.simple .toolbar-btn:hover{background:#fff3;transform:scale(1.05)}.floating-photo-toolbar .toolbar-btn:active,.photo-grid-maker.simple .toolbar-btn:active{transform:scale(.95)}.floating-photo-toolbar .zoom-level,.photo-grid-maker.simple .zoom-level{color:#fff;font-size:13px;font-weight:600;min-width:45px;text-align:center}.hide-in-preview{visibility:visible}.photo-grid-maker.simple .preview-panel{background:#fff;border-radius:10px;box-shadow:0 2px 6px #00000014;display:flex;flex-direction:column;gap:15px;padding:15px}.photo-grid-maker.simple .preview-panel h3{color:#333;font-size:1rem;font-weight:600;margin:0}.photo-grid-maker.simple .preview-placeholder{background:#fff;border-radius:8px;color:#666;padding:30px 15px;text-align:center}.photo-grid-maker.simple .preview-placeholder p:first-child{font-size:3rem;margin:0 0 8px}.photo-grid-maker.simple .preview-placeholder p:nth-child(2){font-size:.9rem;margin:0 0 15px}.photo-grid-maker.simple .preview-placeholder small{color:#999;display:block;font-size:.85rem;margin-top:8px}.photo-grid-maker.simple .btn-preview{background:#4480aa;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px;transition:all .2s;width:100%}.photo-grid-maker.simple .btn-preview:hover:not(:disabled){background:#356890;transform:translateY(-1px)}.photo-grid-maker.simple .btn-preview:disabled{cursor:not-allowed;opacity:.6}.photo-grid-maker.simple .btn-preview.refresh{background:#6c757d;margin-bottom:15px}.photo-grid-maker.simple .btn-preview.refresh:hover:not(:disabled){background:#5a6268}.photo-grid-maker.simple .preview-wrapper{align-items:center;background:#fff;border-radius:8px;display:flex;justify-content:center;margin-bottom:15px;padding:15px}.photo-grid-maker.simple .preview-wrapper canvas{border-radius:4px;box-shadow:0 2px 8px #0000001a;height:auto;max-width:100%}.photo-grid-maker.simple .preview-info{display:flex;flex-direction:column;gap:12px}.photo-grid-maker.simple .info-row{background:#fff;border-radius:6px;display:flex;justify-content:space-between;padding:10px}.photo-grid-maker.simple .info-row span{color:#666}.photo-grid-maker.simple .info-row strong{color:#333}.photo-grid-maker.simple .btn-save{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:15px;transition:all .2s;width:100%}.photo-grid-maker.simple .btn-save:hover:not(:disabled){background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.photo-grid-maker.simple .btn-save:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.photo-grid-maker.simple .hint{color:#666;font-size:.9rem;margin:0;text-align:center}@media (min-width:1920px){.photo-grid-maker.simple .content{gap:20px;grid-template-columns:200px 1fr}}@media (max-width:1400px){.photo-grid-maker.simple .content{grid-template-columns:230px 1fr}}@media (max-width:1200px){.photo-grid-maker.simple .content{grid-template-columns:250px 1fr}.photo-grid-maker.simple .drag-handle,.photo-grid-maker.simple .remove-btn{font-size:16px;height:24px;width:24px}.photo-grid-maker.simple .drag-handle{font-size:12px}}@media (max-width:992px){.photo-grid-maker.simple .content{grid-template-columns:1fr;padding-bottom:120px}.photo-grid-maker.simple .sidebar{order:2}.photo-grid-maker.simple .main-area{order:1}.photo-grid-maker.simple .grid-iframe{height:60vh;min-height:400px}.photo-grid-maker.simple .poster-frame{border:8px solid #f5f5f5;width:95%}.photo-grid-maker.simple .poster-preview-wrapper{padding:30px 20px}.photo-grid-maker.simple .grid-container{gap:4px;padding:2%}.floating-bottom-bar .bar-content{flex-direction:column;gap:12px;padding:12px}.floating-bottom-bar .grid-stats{flex-wrap:wrap;gap:12px;justify-content:space-around;width:100%}.floating-bottom-bar .grid-zoom-controls{justify-content:center;width:100%}.floating-bottom-bar .bar-actions,.floating-bottom-bar .btn-save{width:100%}.photo-grid-maker.simple .photo-list{grid-template-columns:1fr 1fr 1fr}.photo-grid-maker.simple .grid-cell{min-height:0}.photo-grid-maker.simple .drag-handle,.photo-grid-maker.simple .remove-btn{font-size:14px;height:22px;opacity:.9;top:3px;width:22px}.photo-grid-maker.simple .remove-btn{right:3px}.photo-grid-maker.simple .drag-handle{font-size:10px;left:3px}.floating-photo-toolbar{font-size:18px;gap:12px;padding:12px 16px}.floating-photo-toolbar .toolbar-btn{font-size:18px;min-width:50px;padding:8px 14px}}@media (max-width:640px){.photo-grid-maker.simple .header h1{font-size:1.5rem}.photo-grid-maker.simple .grid-header h2{font-size:1.1rem}.photo-grid-maker.simple .photo-list{grid-template-columns:1fr 1fr}.photo-grid-maker.simple .grid-iframe{height:50vh;min-height:350px}.photo-grid-maker.simple .poster-frame{border:6px solid #f5f5f5;width:98%}.photo-grid-maker.simple .poster-preview-wrapper{padding:20px 10px}.photo-grid-maker.simple .grid-container{gap:3px;padding:1.5%}.photo-grid-maker.simple .drag-handle,.photo-grid-maker.simple .remove-btn{font-size:10px;height:16px;top:2px;width:16px}.photo-grid-maker.simple .remove-btn{right:2px}.photo-grid-maker.simple .drag-handle{font-size:7px;left:2px}.floating-bottom-bar .grid-zoom-controls{flex-wrap:wrap}}.floating-bottom-bar{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 10px #00000014;left:0;padding:15px 20px;position:fixed;right:0;z-index:1000}.floating-bottom-bar .bar-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1920px}.floating-bottom-bar .grid-stats{align-items:center;display:flex;gap:30px}.floating-bottom-bar .stat-item{align-items:center;color:#333;display:flex;font-size:14px;font-weight:500;gap:8px}.floating-bottom-bar .stat-item strong{color:#1a73e8;font-weight:600}.floating-bottom-bar .bar-actions{display:flex;gap:10px}.floating-bottom-bar .grid-zoom-controls{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:8px;padding:6px 12px}.floating-bottom-bar .zoom-btn{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:all .2s ease}.floating-bottom-bar .zoom-btn:hover:not(:disabled){background:#fff;border-color:#1a73e8;color:#1a73e8}.floating-bottom-bar .zoom-btn:active:not(:disabled){transform:scale(.95)}.floating-bottom-bar .zoom-btn:disabled{cursor:not-allowed;opacity:.4}.floating-bottom-bar .zoom-btn.reset-zoom{background:#fff;border-color:#1a73e8;color:#1a73e8;font-weight:600}.floating-bottom-bar .zoom-btn.reset-zoom:hover:not(:disabled){background:#1a73e8;color:#fff}.floating-bottom-bar .zoom-label{color:#1a73e8;font-size:13px;font-weight:600;min-width:45px;text-align:center}.floating-bottom-bar .btn-save{background:linear-gradient(135deg,#4480aa,#356890);border:none;border-radius:6px;box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .3s ease}.floating-bottom-bar .btn-save:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.floating-bottom-bar .btn-save:active{transform:translateY(0)}.floating-bottom-bar .btn-save:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}.edit-canvas-print{background:#fff;display:flex;flex-direction:column;min-height:100vh}.editor-header{align-items:center;background:#fff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:1rem 2rem}.editor-header h1{color:#333;font-size:1.5rem;margin:0}.back-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.back-btn{background:#f0f0f0;color:#333}.back-btn:hover{background:#e0e0e0}.save-btn{background:#4480aa}.save-btn:hover:not(:disabled){background:#3a6c96;box-shadow:0 4px 12px #4480aa66;transform:translateY(-2px)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.message{border-radius:8px;font-weight:500;margin:1rem 2rem;padding:1rem;text-align:center}.message-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.editor-content{grid-gap:2rem;display:grid;flex:1 1;gap:2rem;grid-template-columns:250px 1fr 300px;margin:0 auto;max-width:1800px;padding:2rem;width:100%}.sidebar{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:1.5rem}.sidebar h3{color:#333;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.orientation-controls{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.orientation-badge{background:#4480aa;border-radius:20px;box-shadow:0 2px 8px #4480aa4d;color:#fff;flex:1 1;font-size:.9rem;font-weight:600;padding:.5rem 1rem;text-align:center}.toggle-orientation-btn{background:#fff;border:2px solid #4480aa;border-radius:20px;color:#4480aa;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.toggle-orientation-btn:hover{background:#4480aa;box-shadow:0 4px 12px #4480aa66;color:#fff;transform:translateY(-2px)}.size-options{display:flex;flex-direction:column;gap:.75rem}.size-option{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .3s ease}.size-option:hover{background:#4480aa0d;border-color:#4480aa}.size-option.active{background:#4480aa1a;border-color:#4480aa;font-weight:600}.size-price{font-weight:600}.select-photo-btn,.upload-photo-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:1rem;transition:all .3s ease;width:100%}.select-photo-btn{background:#4480aa;color:#fff}.select-photo-btn:hover:not(:disabled){background:#3a6c96;box-shadow:0 4px 12px #4480aa66;transform:translateY(-2px)}.upload-photo-btn{background:#f0f0f0;color:#333}.upload-photo-btn:hover:not(:disabled){background:#e0e0e0}.select-photo-btn:disabled,.upload-photo-btn:disabled{cursor:not-allowed;opacity:.6}.canvas-container{gap:1.5rem;justify-content:center;min-height:600px}.canvas-container,.canvas-wrapper{align-items:center;display:flex;flex-direction:column}.canvas-wrapper{gap:1rem;width:100%}.bleed-indicator{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;box-shadow:0 2px 8px #ffc10733;color:#856404;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;text-align:center}.canvas-preview{background:#fff;border-radius:8px;box-shadow:0 8px 32px #00000026;max-width:600px;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.canvas-guides{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.safe-area-guide{animation:pulse-border 2s ease-in-out infinite;border:2px dashed #f44;box-shadow:inset 0 0 0 1px #ffffff80,0 0 0 1px #0000001a;position:absolute}@keyframes pulse-border{0%,to{opacity:.7}50%{opacity:1}}.canvas-photo{background-position:50%;background-repeat:no-repeat;height:100%;transition:background-size .1s ease-out;width:100%}.canvas-empty{color:#999;font-size:1.1rem;height:100%;justify-content:center;padding:3rem;text-align:center;width:100%}.canvas-empty,.zoom-controls{align-items:center;display:flex}.zoom-controls{background:#fff;border-radius:50px;box-shadow:0 4px 20px #0000001a;gap:1rem;padding:1rem 1.5rem}.zoom-controls button{align-items:center;background:#4480aa;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.zoom-controls button:hover:not(:disabled){background:#3a6c96;box-shadow:0 4px 12px #4480aa66;transform:scale(1.1)}.zoom-controls button:disabled{cursor:not-allowed;opacity:.4}.zoom-controls span{color:#333;font-weight:600;min-width:60px;text-align:center}.instructions{list-style:none;margin:0;padding:0}.instructions li{border-bottom:1px solid #f0f0f0;color:#666;font-size:.95rem;padding:.75rem 0}.instructions li:last-child{border-bottom:none}.photo-info{border-top:2px solid #f0f0f0;margin-top:2rem;padding-top:2rem}.photo-info h4{color:#333;font-size:1rem;margin-bottom:1rem;margin-top:0}.photo-info img{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:.75rem;width:100%}.photo-info p{color:#666;font-size:.9rem;margin:.5rem 0}.photo-dimensions{color:#999;font-size:.85rem!important}.loading-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:60px;width:60px}.loading-overlay p{color:#fff;font-size:1.2rem;margin-top:1.5rem}.photo-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:9999}.photo-modal-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:900px;width:100%}.photo-modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.5rem}.photo-modal-header h3{color:#333;font-size:1.3rem;margin:0}.close-btn{align-items:center;background:#f0f0f0;border-radius:50%;display:flex;font-size:1.5rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.close-btn:hover{background:#e0e0e0}.photo-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.photo-grid-modal{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.photo-item{aspect-ratio:1;border:3px solid #0000;border-radius:8px;position:relative}.photo-item:hover{border-color:#4480aa;transform:scale(1.05)}.photo-item.selected{border-color:#4480aa;box-shadow:0 0 0 4px #4480aa33}.photo-item img{height:100%}.selected-badge{align-items:center;background:#4480aa;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:30px;justify-content:center;position:absolute;right:8px;top:8px;width:30px}.empty-state,.loading-state{color:#666;padding:3rem;text-align:center}.empty-state button{background:#4480aa;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.empty-state button:hover{background:#3a6c96;box-shadow:0 4px 12px #4480aa66;transform:translateY(-2px)}@media (max-width:1200px){.editor-content{grid-template-columns:1fr;grid-template-rows:auto auto auto}.left-sidebar{order:1}.canvas-container{order:2}.right-sidebar{order:3}.sidebar{max-width:100%}.size-options{flex-direction:row;flex-wrap:wrap}.size-option{flex:1 1;min-width:150px}}@media (max-width:768px){.editor-header{padding:1rem}.editor-header h1{font-size:1.2rem}.back-btn,.save-btn{font-size:.9rem;padding:.5rem 1rem}.editor-content{gap:1rem;padding:1rem}.canvas-preview{max-width:100%}.zoom-controls{padding:.75rem 1rem}.zoom-controls button{font-size:1rem;height:36px;width:36px}.photo-grid-modal{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.orientation-controls{flex-direction:column}.toggle-orientation-btn{width:100%}}.site-footer{background:var(--color-surface);border-top:1px solid var(--color-border);color:var(--color-text-soft);font-size:16px;margin-top:64px;padding:40px 0 48px}.site-footer-inner{align-items:flex-start;display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}.site-footer a{color:var(--color-text);text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-heading{font-size:18px;margin:0 0 8px}.store-address,.store-phones{margin:0 0 4px}.store-extra{max-width:360px}.footer-links{margin:8px 0 12px}.footer-links a{color:var(--color-text-soft);font-size:16px}.footer-links a:hover{color:var(--color-text)}.site-links{min-width:160px}.site-links .footer-heading{font-size:16px;margin-bottom:6px}.footer-link-list{grid-gap:4px;display:grid;gap:4px;list-style:none;margin:0;padding:0}.footer-link-list a{color:var(--color-text-soft);font-size:16px;text-decoration:none}.footer-link-list a:hover{color:var(--color-text);text-decoration:underline}@media (max-width:700px){.site-footer-inner{flex-direction:column;gap:24px}}.product-page{background:#f5f5f5;min-height:100vh;padding:2rem 0;width:100%}.product-page-container{margin:0 auto;max-width:1200px;padding:0 1rem}.product-page.error,.product-page.loading,.product-page.no-variants{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50vh;text-align:center}.product-page .spinner{color:#666;font-size:1.2rem}.product-page.error h1,.product-page.no-variants h1{color:#333;font-size:2rem;margin-bottom:1rem}.product-page.error p,.product-page.no-variants p{color:#666;font-size:1.1rem;margin-bottom:2rem}.product-page.error button,.product-page.no-variants button{background:#4480aa;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem;transition:background .3s}.product-page.error button:hover,.product-page.no-variants button:hover{background:#356890}.product-header{grid-gap:3rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-bottom:3rem;padding:2rem}.product-hero-image{aspect-ratio:1;background:#f0f0f0;border-radius:8px;overflow:hidden;width:100%}.product-hero-image img{height:100%;object-fit:cover;width:100%}.product-info h1{color:#333;font-size:2rem;margin-bottom:1rem}.product-description{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.product-features{list-style:none;margin:1.5rem 0;padding:0}.product-features li{color:#555;padding:.5rem 0 .5rem 1.5rem;position:relative}.product-features li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.price-range{color:#4480aa;font-size:1.5rem;font-weight:700;margin-top:1.5rem}.variants-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.variants-section h2{color:#333;font-size:1.5rem;margin-bottom:1.5rem}.variants-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.variant-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:inherit;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:all .3s}.variant-card:hover{border-color:#4480aa;box-shadow:0 4px 12px #4480aa33;text-decoration:none;transform:translateY(-2px)}.variant-image{aspect-ratio:1;background:#f5f5f5;overflow:hidden;width:100%}.variant-image img{height:100%;object-fit:cover;width:100%}.variant-details{padding:1rem;text-align:center}.variant-details h3{color:#333;font-size:1.1rem;margin-bottom:.5rem;text-decoration:none}.variant-price{color:#4480aa;font-size:1.3rem;font-weight:700;margin:.5rem 0}.variant-compare-price{color:#999;font-size:.9rem;margin-top:.25rem}.variant-compare-price del{text-decoration:line-through}.out-of-stock{color:#dc3545;font-size:.9rem;margin-top:.5rem}@media (max-width:768px){.product-header{gap:2rem;grid-template-columns:1fr}.product-info h1{font-size:1.5rem}.variants-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.product-page-container{padding:0 .5rem}}@media (max-width:480px){.variants-grid{grid-template-columns:repeat(2,1fr)}}.variant-page{background:#f5f5f5;min-height:100vh;padding:2rem 0;width:100%}.variant-page-container{margin:0 auto;max-width:1200px;padding:0 1rem}.variant-page.error,.variant-page.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50vh;text-align:center}.variant-page .spinner{color:#666;font-size:1.2rem}.variant-page.error h1{color:#333;font-size:2rem;margin-bottom:1rem}.variant-page.error p{color:#666;font-size:1.1rem;margin-bottom:2rem}.variant-page.error button{background:#4480aa;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem;transition:background .3s}.variant-page.error button:hover{background:#356890}.breadcrumbs{color:#666;font-size:.9rem;line-height:1.8;margin-bottom:2rem}.breadcrumbs a,.breadcrumbs span{display:inline;white-space:nowrap}.breadcrumbs a{color:#4480aa;padding:0 .375rem;text-decoration:none;transition:color .2s}.breadcrumbs a:first-child{padding-left:0}.breadcrumbs a:hover{color:#356890;text-decoration:underline}.breadcrumbs .separator{color:#999;padding:0 .375rem;-webkit-user-select:none;user-select:none}.breadcrumbs .current{color:#333;font-weight:500;padding:0 .375rem}@media (max-width:768px){.breadcrumbs{font-size:.85rem}.breadcrumbs .current,.breadcrumbs .separator,.breadcrumbs a{padding:0 .3rem}.breadcrumbs a:first-child{padding-left:0}}@media (max-width:480px){.breadcrumbs{font-size:.8rem;margin-bottom:1.5rem}.breadcrumbs .current,.breadcrumbs .separator,.breadcrumbs a{padding:0 .25rem}.breadcrumbs a:first-child{padding-left:0}}.variant-content{grid-gap:3rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-bottom:2rem;padding:2rem}.variant-gallery{display:flex;flex-direction:column;gap:1rem}.main-image{aspect-ratio:1;background:#f0f0f0;border-radius:8px;overflow:hidden;width:100%}.main-image img{height:100%;object-fit:cover;width:100%}.thumbnail-gallery{display:flex;gap:.5rem;overflow-x:auto}.thumbnail-gallery img{border:2px solid #0000;border-radius:4px;cursor:pointer;height:80px;object-fit:cover;transition:border-color .2s;width:80px}.thumbnail-gallery img:hover{border-color:#4480aa}.variant-details h1{color:#333;font-size:1.8rem;margin-bottom:1rem}.price-section{margin-bottom:1rem}.price-section .price{color:#4480aa;font-size:2rem;font-weight:700}.price-section .compare-price{color:#999;font-size:1.2rem;margin-left:1rem}.price-section .compare-price del{text-decoration:line-through}.out-of-stock{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-weight:500;margin:1rem 0;padding:.75rem}.variant-description{color:#666;font-size:1rem;line-height:1.6;margin:1.5rem 0}.option-selector{margin:1.5rem 0}.option-selector label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.finish-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.finish-btn{background:#fff;border:2px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.finish-btn:hover{background:#e8f0f7;border-color:#4480aa;text-decoration:none}.finish-btn.active{background:#4480aa;border-color:#4480aa;color:#fff}.quantity-selector{margin:1.5rem 0}.quantity-selector label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.quantity-controls{align-items:center;display:flex;gap:.5rem}.quantity-controls button{background:#fff;border:1px solid #ccc;border-radius:0;cursor:pointer;font-size:1.11rem;height:50px}.quantity-controls button:hover:not(:disabled){background:#f0f0f0;border-color:#4480aa}.quantity-controls button:disabled{cursor:not-allowed;opacity:.5}.quantity-controls input{border:1px solid #ccc;border-radius:4px;font-size:1rem;height:40px;text-align:center;width:80px}.total-price{background:#f8f9fa;border-radius:4px;font-size:1.3rem;margin:1.5rem 0;padding:1rem}.total-price strong{color:#333;margin-right:1rem}.cta-buttons{display:flex;gap:1rem;margin:2rem 0}.btn-primary{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:1.1rem;font-weight:500;padding:1rem 2rem;transition:background .3s}.btn-primary:hover:not(:disabled){background:#356890}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.features-list{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:2rem}.features-list h3{color:#333;font-size:1.2rem;margin-bottom:1rem;text-decoration:none}.features-list ul{list-style:none;padding:0}.features-list li{color:#555;padding:.5rem 0 .5rem 1.5rem;position:relative}.features-list li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.other-sizes-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.other-sizes-section h2{color:#333;font-size:1.5rem;margin-bottom:1.5rem}.other-sizes-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.other-size-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:all .3s}.other-size-card:hover{border-color:#4480aa;box-shadow:0 4px 12px #007bff33;transform:translateY(-2px)}.other-size-card img{aspect-ratio:1;background:#f5f5f5;object-fit:cover;width:100%}.size-info{align-items:center;display:flex;justify-content:space-between;padding:.75rem}.size-name{color:#333;font-weight:500}.size-price{color:#4480aa;font-weight:700}.back-to-product{margin-top:2rem;text-align:center}.btn-secondary{border-radius:4px;display:inline-block;font-weight:500;padding:.75rem 2rem;text-decoration:none;transition:all .3s}.btn-secondary:hover{background:#e8f0f7;border-color:#356890;color:#356890}@media (max-width:768px){.variant-content{gap:2rem;grid-template-columns:1fr}.price-section .price,.variant-details h1{font-size:1.5rem}.other-sizes-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (max-width:480px){.other-sizes-grid{grid-template-columns:repeat(2,1fr)}.cta-buttons{flex-direction:column}}.category-page{margin:0 auto;max-width:1200px;padding:2rem 1rem}.category-page .breadcrumb{color:#666;font-size:.9rem;line-height:1.8;margin-bottom:2rem}.category-page .breadcrumb a,.category-page .breadcrumb span{display:inline;white-space:nowrap}.category-page .breadcrumb a{color:#4480aa;padding:0 .375rem;text-decoration:none;transition:color .2s}.category-page .breadcrumb a:first-child{padding-left:0}.category-page .breadcrumb a:hover{color:#356890;text-decoration:underline}.category-page .breadcrumb .separator{color:#999;padding:0 .375rem;-webkit-user-select:none;user-select:none}.category-page .breadcrumb .current{color:#333;font-weight:500;padding:0 .375rem}@media (max-width:768px){.category-page .breadcrumb{font-size:.85rem}.category-page .breadcrumb .current,.category-page .breadcrumb .separator,.category-page .breadcrumb a{padding:0 .3rem}.category-page .breadcrumb a:first-child{padding-left:0}}@media (max-width:480px){.category-page .breadcrumb{font-size:.8rem;margin-bottom:1.5rem}.category-page .breadcrumb .current,.category-page .breadcrumb .separator,.category-page .breadcrumb a{padding:0 .25rem}.category-page .breadcrumb a:first-child{padding-left:0}}.category-header{margin-bottom:3rem;text-align:center}.category-header h1{color:#222;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.category-header .category-description{color:#666;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px}.category-page .products-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:3rem}.category-page .product-card-link{color:inherit;display:block;text-decoration:none}.category-page .product-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.category-page .product-card-link:hover .product-card,.category-page .product-card:hover{border-color:#4480aa;box-shadow:0 4px 12px #0000001a;transform:translateY(-4px)}.category-page .product-image{align-items:center;aspect-ratio:1;background:#f8f9fa;display:flex;justify-content:center;overflow:hidden;width:100%}.category-page .product-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.category-page .product-card:hover .product-image img{transform:scale(1.05)}.category-page .product-info{display:flex;flex:1 1;flex-direction:column;gap:1rem;padding:1.5rem}.category-page .product-name{color:#222;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.category-page .product-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.9rem;line-height:1.5;margin-bottom:.75rem;overflow:hidden}.category-page .product-variants{color:#999;font-size:.85rem;margin-bottom:.5rem}.category-page .product-price{color:#4480aa;font-size:1.3rem;font-weight:700;margin-top:auto}.category-page .size-selector{margin:.5rem 0}.category-page .size-selector label{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.category-page .size-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.category-page .size-btn{background:#fff;border:2px solid #e5e5e5;border-radius:4px;color:#666;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.category-page .size-btn:hover{background:#f0f8ff;border-color:#4480aa;color:#4480aa}.category-page .size-btn.active{background:#4480aa;border-color:#4480aa;color:#fff}.category-page .upload-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.category-page .upload-btn:hover{background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.category-page .upload-btn:active{transform:translateY(0)}.category-page .upload-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.category-page .view-details-hint{background:#f8f9fa;border-radius:4px;color:#4480aa;font-size:.95rem;font-weight:600;margin-top:.5rem;padding:.75rem 1.5rem;text-align:center;transition:all .2s ease}.category-page .product-card-link:hover .view-details-hint{background:#4480aa;color:#fff}.category-page .loading-products{padding:4rem 2rem;text-align:center}.category-page .loading-products .loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4480aa;height:48px;margin:0 auto 1rem;width:48px}.category-page .loading-products p{color:#666;font-size:1rem}.category-page .error-message{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;padding:3rem 2rem;text-align:center}.category-page .empty-category{background:#f8f9fa;border-radius:8px;padding:4rem 2rem;text-align:center}.category-page .empty-category p{color:#666;font-size:1.1rem;margin-bottom:1.5rem}.category-page .empty-category .btn-primary{background:#4480aa;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem;transition:background .2s}.category-page .empty-category .btn-primary:hover{background:#356890}@media (max-width:768px){.category-page{padding:1rem .75rem}.category-header h1{font-size:1.8rem}.category-header .category-description{font-size:1rem}.category-page .products-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.category-page .product-info{padding:1rem}.category-page .product-name{font-size:1rem}.category-page .product-description{font-size:.85rem}}@media (max-width:480px){.category-page .products-grid{grid-template-columns:1fr 1fr}}.all-products-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:2rem 0}.products-container{margin:0 auto;max-width:1200px;padding:0 1rem}.products-header{margin-bottom:3rem;padding:2rem 0;text-align:center}.products-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.products-header .subtitle{color:#7f8c8d;font-size:1.1rem;margin:0 auto;max-width:600px}.categories-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:4rem}.category-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:all .3s ease}.category-card:hover{box-shadow:0 12px 24px #00000026;text-decoration:none;transform:translateY(-8px)}.category-image{background:#f8f9fa;height:240px;overflow:hidden;width:100%}.category-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.category-card:hover .category-image img{transform:scale(1.05)}.category-info{display:flex;flex-direction:column;flex-grow:1;padding:1.5rem}.category-name{color:#2c3e50;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.category-description{color:#7f8c8d;flex-grow:1;font-size:1rem;line-height:1.5;margin-bottom:1rem}.view-category-btn{color:#4480aa;display:inline-block;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s ease}.category-card:hover .view-category-btn{color:#356890;text-decoration:none;transform:translateX(4px)}.featured-info{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:3rem;padding:2rem 0}.info-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2rem;text-align:center}.info-card h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:.75rem}.info-card p{color:#7f8c8d;font-size:.95rem;line-height:1.5;margin:0}@media (max-width:768px){.products-header h1{font-size:2rem}.products-header .subtitle{font-size:1rem}.categories-grid{gap:1.5rem;grid-template-columns:1fr}.category-image{height:200px}.featured-info{gap:1rem;grid-template-columns:1fr}.info-card{padding:1.5rem}}@media (max-width:480px){.all-products-page{padding:1rem 0}.products-header{margin-bottom:2rem;padding:1rem 0}.products-header h1{font-size:1.75rem}.category-name{font-size:1.25rem}.category-info{padding:1.25rem}}.assets-gallery{margin:0 auto;max-width:1200px;padding:20px}.assets-gallery h2{color:#333;font-size:2rem;margin-bottom:30px;text-align:center}.assets-gallery-loading{color:#666;font-size:1.2rem;padding:40px;text-align:center}.no-photos{background:#fff;border-radius:8px;color:#999;font-style:italic;padding:40px;text-align:center}.photos-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:20px}.photo-item{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;cursor:pointer;overflow:hidden;transition:all .3s ease}.photo-item:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.photo-item img{display:block;height:200px;object-fit:cover;width:100%}.photo-name{background:#fff;color:#666;font-size:.9rem;padding:10px 15px;text-align:center}@media (max-width:768px){.assets-gallery{padding:15px}.photos-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.photo-item img{height:150px}.assets-gallery h2{font-size:1.5rem}}@media (max-width:480px){.photos-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.photo-item img{height:120px}}.pending-verification-container{align-items:center;background:linear-gradient(135deg,#4480aa,#356890);display:flex;justify-content:center;min-height:100vh;padding:20px}.pending-verification-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:40px;text-align:center;width:100%}.pending-verification-icon{margin-bottom:24px}.clock-icon{animation:pulse 2s infinite;color:#f59e0b}.pending-verification-title{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:16px}.pending-verification-message{color:#6b7280;font-size:16px;line-height:1.6;margin-bottom:32px}.pending-verification-info-box{background:#f3f4f6;border-radius:12px;margin-bottom:32px;padding:20px}.info-item{align-items:center;gap:12px;margin-bottom:12px;text-align:left}.info-item:last-child{margin-bottom:0}.info-item svg{color:#4480aa;flex-shrink:0}.info-item strong{color:#374151}.pending-verification-steps{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:32px;padding:20px 24px;text-align:left}.pending-verification-steps h3{color:#92400e;font-size:18px;font-weight:600;margin-bottom:12px}.pending-verification-steps ol{color:#78350f;margin:0;padding-left:20px}.pending-verification-steps li{line-height:1.5;margin-bottom:8px}.pending-verification-steps li:last-child{margin-bottom:0}.pending-verification-actions{margin-bottom:24px}.logout-button{background:#4480aa;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:all .3s ease}.logout-button:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.pending-verification-footer{color:#9ca3af;font-size:14px}.pending-verification-footer a{color:#4480aa;font-weight:600;text-decoration:none}.pending-verification-footer a:hover{text-decoration:underline}@media (max-width:640px){.pending-verification-card{padding:24px}.pending-verification-title{font-size:24px}.pending-verification-message{font-size:14px}}.verify-email-container{align-items:center;background:linear-gradient(135deg,#4480aa,#356890);display:flex;justify-content:center;min-height:100vh;padding:20px}.verify-email-card{animation:slideIn .4s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;padding:40px;text-align:center;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.verify-email-card h1{color:#1a1a1a;font-size:28px;margin:20px 0 15px}.verify-email-card p{color:#666;font-size:16px;line-height:1.6;margin:10px 0}.verify-email-card.loading{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.spinner{border:4px solid #e5e7eb;border-top-color:#4480aa;height:60px;margin:0 auto 20px;width:60px}.verify-email-card.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.success-icon{animation:bounceIn .6s ease-out;font-size:80px}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.success-message{color:#065f46;font-size:17px;font-weight:500;margin:20px 0}.success-features{background:#fff;border-radius:8px;margin:25px 0;padding:20px;text-align:left}.success-features h3{color:#059669;font-size:18px;margin:0 0 15px}.success-features ul{list-style:none;margin:0;padding:0}.success-features li{color:#047857;font-size:15px;padding:8px 0}.redirect-notice{color:#059669;font-size:14px;font-style:italic;margin:20px 0}.verify-email-card.error{background:linear-gradient(135deg,#fee2e2,#fecaca)}.error-icon{animation:shake .5s ease-out;font-size:80px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.error-message{color:#991b1b;font-size:17px;font-weight:500;margin:20px 0}.error-help{background:#fff;border-radius:8px;margin:25px 0;padding:20px;text-align:left}.error-help h3{color:#dc2626;font-size:18px;margin:0 0 15px}.error-help ul{list-style:none;margin:0;padding:0}.error-help li{color:#b91c1c;font-size:15px;padding:8px 0 8px 25px;position:relative}.error-help li:before{color:#dc2626;content:"•";font-weight:700;left:5px;position:absolute}.button-group{display:flex;gap:15px;justify-content:center;margin-top:25px}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:12px 30px;text-decoration:none;transition:all .3s ease}.btn-primary{background:#4480aa;color:#fff}.btn-primary:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #4480aa;color:#4480aa}.btn-secondary:hover{background:#f3f4f6;transform:translateY(-2px)}@media (max-width:600px){.verify-email-container{padding:10px}.verify-email-card{padding:30px 20px}.verify-email-card h1{font-size:24px}.error-icon,.success-icon{font-size:60px}.button-group{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.cookie-consent-overlay{align-items:flex-end;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:0;position:fixed;right:0;z-index:9999}.cookie-consent-banner{animation:slideUp .3s ease-out;background:#fff;box-shadow:0 -4px 20px #00000026;max-width:100%;width:100%}.cookie-consent-content{margin:0 auto;max-width:1200px;padding:24px}.cookie-consent-content h3{color:#1a1a1a;font-size:20px;font-weight:600;margin:0 0 12px}.cookie-consent-content p{color:#4a4a4a;font-size:14px;line-height:1.5;margin:0 0 20px}.cookie-consent-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.cookie-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.cookie-btn.primary{background:#2563eb;color:#fff}.cookie-btn.primary:hover{background:#1d4ed8}.cookie-btn.secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#1f2937}.cookie-btn.secondary:hover{background:#e5e7eb}.cookie-btn.tertiary{background:#0000;border:1px solid #2563eb;color:#2563eb}.cookie-btn.tertiary:hover{background:#eff6ff}.cookie-consent-links{color:#6b7280;font-size:13px}.cookie-consent-links a{color:#2563eb;text-decoration:none}.cookie-consent-links a:hover{text-decoration:underline}.cookie-settings-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #00000026;display:flex;flex-direction:column;margin:auto;max-height:90vh;max-width:600px;width:100%}.cookie-settings-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.cookie-settings-header h3{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.cookie-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.cookie-close-btn:hover{background:#f3f4f6;color:#1f2937}.cookie-settings-content{flex:1 1;overflow-y:auto;padding:24px}.cookie-settings-intro{color:#4a4a4a;font-size:14px;line-height:1.5;margin:0 0 24px}.cookie-category{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding-bottom:24px}.cookie-category:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.cookie-category-header{align-items:flex-start;display:flex;gap:16px}.cookie-toggle{display:inline-block;flex-shrink:0;height:24px;margin-top:4px;position:relative;width:48px}.cookie-toggle input{height:0;opacity:0;width:0}.toggle-slider{background-color:#d1d5db;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}input:checked+.toggle-slider{background-color:#2563eb}input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-slider.disabled{background-color:#9ca3af;cursor:not-allowed}.cookie-category-info h4{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 8px}.cookie-category-info p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.cookie-settings-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}@media (max-width:768px){.cookie-consent-overlay{align-items:flex-end}.cookie-consent-content{padding:20px}.cookie-consent-actions{flex-direction:column}.cookie-btn{text-align:center;width:100%}.cookie-settings-modal{border-radius:12px 12px 0 0;max-width:100%}.cookie-settings-footer{flex-direction:column-reverse}.cookie-settings-footer .cookie-btn{width:100%}}@media (max-width:480px){.cookie-consent-content h3{font-size:18px}.cookie-btn,.cookie-category-info p,.cookie-consent-content p,.cookie-settings-intro{font-size:13px}.cookie-btn{padding:10px 20px}}.account-settings-container{background:#f9fafb;min-height:100vh;padding:80px 20px 40px}.account-settings-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:0 auto;max-width:900px;padding:32px}.account-settings-title{align-items:center;color:#1a1a1a;display:flex;font-size:28px;font-weight:700;gap:12px;margin:0 0 32px}.title-icon{color:#2563eb;height:32px;width:32px}.message-banner{font-size:14px;font-weight:500;gap:12px;margin-bottom:24px;padding:16px}.message-banner.success{background:#d1fae5;border:1px solid #10b981;color:#065f46}.message-banner.error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.message-icon{height:20px;width:20px}.settings-section{border-bottom:1px solid #e5e7eb;margin-bottom:40px;padding-bottom:40px}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0 0 16px}.section-description{color:#6b7280;line-height:1.6;margin-bottom:24px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{gap:4px}.info-item label{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#1a1a1a;font-size:16px}.user-id{color:#6b7280;font-family:Courier New,monospace;font-size:13px;word-break:break-all}.gdpr-action-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:24px;transition:all .2s ease}.gdpr-action-card:hover{border-color:#2563eb}.gdpr-action-card.danger{background:#fef2f2;border-color:#fecaca}.gdpr-action-card.danger:hover{border-color:#ef4444}.action-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.action-icon{color:#2563eb;flex-shrink:0;height:32px;width:32px}.gdpr-action-card.danger .action-icon{color:#ef4444}.action-header h3{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 4px}.action-header p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.action-details{margin-left:48px}.action-details p{color:#4b5563;font-size:14px;margin-bottom:8px}.action-details ul{margin:8px 0 16px 20px;padding:0}.action-details ul li{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:4px}.warning-box{background:#fffbeb;border:2px solid #fbbf24;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px}.warning-icon{color:#f59e0b;flex-shrink:0;height:24px;width:24px}.warning-box strong{color:#92400e;display:block;margin-bottom:8px}.warning-box p{color:#78350f;font-size:14px;margin:8px 0}.warning-box ul{margin:8px 0 8px 20px}.warning-box ul li{color:#78350f;font-size:13px;margin-bottom:4px}.warning-box small{color:#92400e;font-size:12px}.action-button{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.action-button:disabled{cursor:not-allowed;opacity:.5}.action-button.primary{background:#2563eb;color:#fff}.action-button.primary:hover:not(:disabled){background:#1d4ed8}.action-button.secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#1f2937}.action-button.secondary:hover:not(:disabled){background:#e5e7eb}.action-button.danger{background:#ef4444;color:#fff}.action-button.danger:hover:not(:disabled){background:#dc2626}.delete-confirm{margin-top:20px}.delete-confirm p{color:#1f2937;font-size:14px;margin-bottom:12px}.confirm-input{border:2px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:14px;margin-bottom:16px;padding:12px;width:100%}.confirm-input:focus{border-color:#ef4444;outline:none}.confirm-actions{display:flex;gap:12px}.rights-list{display:flex;flex-direction:column;gap:16px}.right-item{background:#f9fafb;border-left:4px solid #2563eb;border-radius:4px;font-size:14px;line-height:1.6;padding:16px}.right-item strong{color:#1a1a1a;display:inline-block;margin-right:4px}.right-item a{color:#2563eb;text-decoration:none}.right-item a:hover{text-decoration:underline}@media (max-width:768px){.account-settings-container{padding:80px 16px 24px}.account-settings-card{padding:24px 20px}.account-settings-title{font-size:24px}.title-icon{height:28px;width:28px}.info-grid{gap:16px;grid-template-columns:1fr}.action-header{flex-direction:column;gap:12px}.action-icon{height:28px;width:28px}.action-details{margin-left:0}.confirm-actions{flex-direction:column}.action-button{text-align:center;width:100%}.warning-box{flex-direction:column}}@media (max-width:480px){.account-settings-title{font-size:20px}.gdpr-action-card{padding:16px}.action-header h3{font-size:16px}}.account-container{margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:2rem}.account-header{margin-bottom:3rem;text-align:center}.account-welcome h1{color:#2c3e35;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.account-email{color:#666;font-size:1.1rem;margin:0}.verification-notice{background:linear-gradient(135deg,#fff3cd,#ffe69c);border:2px solid #ffc107;border-radius:12px;box-shadow:0 4px 12px #ffc10733;margin:2rem 0;padding:1.5rem}.verification-notice-content{align-items:flex-start;display:flex;gap:1.5rem}.verification-notice-icon{animation:pulse 2s ease-in-out infinite;flex-shrink:0;font-size:3rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.verification-notice-text{flex:1 1}.verification-notice-text h3{color:#856404;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.verification-notice-text p{color:#856404;line-height:1.5;margin:0}.verification-notice-action{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.5rem}.btn-verify{background:#ffc107;border:none;border-radius:8px;color:#856404;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.btn-verify:hover{background:#ffb300;box-shadow:0 4px 12px #ffc10766;transform:translateY(-2px)}.btn-verify:active{transform:translateY(0)}.btn-verify:disabled{cursor:not-allowed;opacity:.6;transform:none}.verification-success{align-items:center;background:#fff;border-radius:8px;color:#155724;display:flex;gap:.5rem;padding:.75rem 1rem}.verification-success .success-icon{font-size:1.5rem}.verification-success p{font-size:.9rem;font-weight:500;margin:0}.verification-error{color:#d32f2f;font-size:.875rem;margin:.5rem 0 0;text-align:right}.account-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:2rem}.account-card{align-items:center;background:#fff;border:2px solid #f0f0f0;border-radius:16px;cursor:pointer;display:flex;gap:1.5rem;overflow:hidden;padding:2rem;position:relative;text-align:left;transition:all .3s ease;width:100%}.account-card:before{background:#ccc;background:var(--card-color,#ccc);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.account-card:hover{border-color:#ccc;border-color:var(--card-color,#ccc);box-shadow:0 8px 24px #0000001a;transform:translateY(-4px)}.account-card:hover:before{transform:scaleY(1)}.account-card:active{transform:translateY(-2px)}.account-card-badge{background:#ff9800;background:var(--card-color,#ff9800);border-radius:12px;color:#fff;font-size:.875rem;font-weight:700;min-width:24px;padding:.25rem .75rem;position:absolute;right:1rem;text-align:center;top:1rem}.account-card-icon{align-items:center;background:#2c3e350d;border-radius:12px;display:flex;flex-shrink:0;height:64px;justify-content:center;transition:all .3s ease;width:64px}.account-card:hover .account-card-icon{background:#2c3e351a;transform:scale(1.1)}.account-card-content{flex:1 1;min-width:0}.account-card-title{color:#2c3e35;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.account-card-description{color:#666;font-size:.95rem;line-height:1.4;margin:0}.account-card-arrow{color:#ccc;flex-shrink:0;transition:all .3s ease}.account-card:hover .account-card-arrow{color:#666;color:var(--card-color,#666);transform:translateX(4px)}@media (max-width:768px){.account-container{padding:1.5rem}.account-welcome h1{font-size:2rem}.verification-notice-content{flex-direction:column;gap:1rem}.verification-notice-action{align-items:stretch;width:100%}.btn-verify{width:100%}.account-grid{gap:1rem;grid-template-columns:1fr}.account-card{padding:1.5rem}.account-card-icon{height:56px;width:56px}.account-card-icon svg{height:40px;width:40px}.account-card-title{font-size:1.1rem}.account-card-description{font-size:.875rem}}@media (max-width:480px){.account-container{padding:1rem}.account-welcome h1{font-size:1.75rem}.account-email{font-size:1rem}.account-card{gap:1rem;padding:1.25rem}.account-card-icon{height:48px;width:48px}.account-card-icon svg{height:32px;width:32px}}.address-management-container{margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:2rem}.address-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.address-header h1{align-items:center;color:#2c3e35;display:flex;font-size:2rem;font-weight:700;gap:.75rem;margin:0}.header-icon{color:#4caf50}.add-address-btn{align-items:center;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.add-address-btn:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.message-banner{align-items:center;animation:slideDown .3s ease;border-radius:8px;display:flex;gap:.75rem;margin-bottom:2rem;padding:1rem 1.5rem}.message-banner.success{background:#e8f5e9;border:1px solid #4caf50;color:#2e7d32}.message-banner.error{background:#ffebee;border:1px solid #f44336;color:#c62828}.message-icon{flex-shrink:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.address-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem}.spinner{animation:spin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#4caf50;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.address-empty{padding:4rem 2rem;text-align:center}.empty-icon{color:#ccc;margin-bottom:1rem}.address-empty h2{color:#2c3e35;font-size:1.5rem;margin:0 0 .5rem}.address-empty p{color:#666;margin:0 0 2rem}.add-first-btn{align-items:center;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;gap:.5rem;padding:.875rem 2rem;transition:all .3s ease}.add-first-btn:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.address-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.address-card{background:#fff;border:2px solid #f0f0f0;border-radius:12px;padding:1.5rem;position:relative;transition:all .3s ease}.address-card:hover{border-color:#4caf50;box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.address-card.default{background:linear-gradient(180deg,#4caf500d,#fff);border-color:#4caf50}.default-badge{align-items:center;background:#4caf50;border-radius:12px;color:#fff;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .75rem;position:absolute;right:1rem;top:1rem}.default-badge svg{fill:#fff}.address-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem;padding-right:8rem}.address-card-header h3{color:#2c3e35;font-size:1.25rem;font-weight:600;margin:0}.address-actions{display:flex;gap:.5rem;position:absolute;right:1rem;top:3.5rem}.action-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.action-btn:hover{transform:scale(1.1)}.action-btn.set-default{border-color:#ff9800;color:#ff9800}.action-btn.set-default:hover{background:#ff9800;color:#fff}.action-btn.set-default svg{fill:currentColor}.action-btn.edit{border-color:#2196f3;color:#2196f3}.action-btn.edit:hover{background:#2196f3;color:#fff}.action-btn.delete{border-color:#f44336;color:#f44336}.action-btn.delete:hover{background:#f44336;color:#fff}.address-card-content{display:flex;flex-direction:column;gap:.5rem}.address-name{color:#2c3e35;font-size:1rem;font-weight:600;margin:0}.address-details{color:#555;font-size:.95rem;line-height:1.4;margin:0}.address-contact{color:#666;font-size:.9rem;margin:0}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h2{color:#2c3e35;font-size:1.5rem;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;padding:.25rem;transition:all .2s ease}.close-btn:hover{background:#f0f0f0;color:#333}.address-form{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e35;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-group input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.checkbox-group{margin-top:1rem}.checkbox-label{align-items:center;color:#2c3e35;cursor:pointer;display:flex;font-weight:500;gap:.75rem}.checkbox-label input[type=checkbox]{accent-color:#4caf50;cursor:pointer;height:20px;width:20px}.modal-actions{border-top:1px solid #f0f0f0;display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-btn{background:#f0f0f0;color:#555}.cancel-btn:hover{background:#e0e0e0}.save-btn{background:#4caf50;color:#fff}.save-btn:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}@media (max-width:768px){.address-management-container{padding:1.5rem}.address-header{align-items:stretch;flex-direction:column;gap:1rem}.address-header h1{font-size:1.75rem}.add-address-btn{justify-content:center}.address-grid,.form-row{grid-template-columns:1fr}.modal-content{margin:1rem}.address-form{padding:1.5rem}}@media (max-width:480px){.address-management-container{padding:1rem}.address-header h1{font-size:1.5rem}.modal-header{padding:1rem 1.5rem}.address-form{padding:1rem}.address-card-header{padding-right:7rem}.address-actions{flex-direction:column}}.contact-page{background:#fff;min-height:100vh;padding:60px 20px}.contact-container{margin:0 auto;max-width:1200px}.contact-container h1{color:#1a1a1a;font-size:2.5rem;font-weight:600;letter-spacing:-.5px;margin-bottom:60px;text-align:left}.contact-content{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin-top:30px}.contact-info{background:#0000;border-left:2px solid #e5e5e5;height:100%;padding:0 0 0 40px}.hours-section,.info-section{margin-bottom:30px}.hours-section:last-child,.info-section:last-child{margin-bottom:0}.hours-section h2,.info-section h2,.map-section h2{color:#1a1a1a;font-size:1.25rem;font-weight:600;letter-spacing:-.3px;margin-bottom:24px}.info-item{align-items:flex-start;display:flex;flex-direction:column;gap:0;margin-bottom:32px}.info-item i{display:none}.info-item strong{color:#1a1a1a;display:block;font-size:.95rem;font-weight:500;margin-bottom:8px}.info-item p{color:#666;font-size:.95rem;line-height:1.7;margin:0}.info-item a{color:#1a1a1a;text-decoration:none;transition:opacity .2s ease}.info-item a:hover{opacity:.6}.hours-list{display:flex;flex-direction:column;gap:14px}.hours-item{background:#0000;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:0 0 14px;transition:opacity .2s ease}.hours-item:last-child{border-bottom:none;padding-bottom:0}.hours-item:hover{opacity:.7}.hours-item.closed{opacity:.5}.hours-item .day{color:#1a1a1a;font-size:.95rem;font-weight:500}.hours-item .time{color:#666;font-size:.95rem}.hours-item.closed .time{color:#999}.map-section{background:#0000;height:fit-content;padding:0}.map-container{border:1px solid #e5e5e5;overflow:hidden}.map-container iframe{display:block}.map-link{margin-top:16px;text-align:left}.map-link a{background:#0000;border-bottom:1px solid #1a1a1a;color:#1a1a1a;display:inline-block;font-size:.9rem;font-weight:500;padding:0;text-decoration:none;transition:opacity .2s ease}.map-link a:hover{opacity:.6}@media (max-width:968px){.contact-content{gap:60px;grid-template-columns:1fr}.contact-container h1{font-size:2rem}.contact-info{border-left:none;border-top:2px solid #e5e5e5;padding-left:0;padding-top:60px}}@media (max-width:640px){.contact-page{padding:40px 20px}.contact-container h1{font-size:1.75rem;margin-bottom:40px}.contact-content{gap:40px}.contact-info{padding-top:40px}.hours-section h2,.info-section h2,.map-section h2{font-size:1.1rem}.hours-item{align-items:flex-start;flex-direction:column;gap:4px}.map-container iframe{height:300px}}
/*# sourceMappingURL=main.d1ccbcf0.css.map*/