:root{color-scheme:light;--card: #ffffff;--ring: #6c5ce7;--input: #d4d4d4;--muted: #c9c4b5;--accent-token: #8b9467;--border: #d4d4d4;--radius: .5rem;--chart-1: #6c5ce7;--chart-2: #8e44ad;--chart-3: #4b0082;--chart-4: #6495ed;--chart-5: #4682b4;--popover: #ffffff;--primary: #6c5ce7;--sidebar: #f9f9f9;--font-mono: "Source Code Pro", ui-monospace, monospace;--font-sans: Montserrat, ui-sans-serif, system-ui, sans-serif;--secondary: #a1c9f2;--background: #f9f9f9;--font-serif: "Playfair Display", ui-serif, Georgia, serif;--foreground: #333333;--destructive: #ef4444;--shadow-blur: 10px;--shadow-color: hsl(0 0% 0%);--sidebar-ring: #6c5ce7;--shadow-spread: -2px;--shadow-opacity: .1;--sidebar-accent: #8b9467;--sidebar-border: #d4d4d4;--card-foreground: #333333;--shadow-offset-x: 0px;--shadow-offset-y: 5px;--sidebar-primary: #6c5ce7;--muted-foreground: #6e6e6e;--accent-foreground: #ffffff;--popover-foreground: #333333;--primary-foreground: #ffffff;--sidebar-foreground: #333333;--secondary-foreground: #333333;--destructive-foreground: #ffffff;--sidebar-accent-foreground: #ffffff;--sidebar-primary-foreground: #ffffff}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--card: #2f3436;--ring: #6c5ce7;--input: #444444;--muted: #444444;--accent-token: #6495ed;--border: #444444;--radius: .5rem;--chart-1: #6c5ce7;--chart-2: #8e44ad;--chart-3: #4b0082;--chart-4: #6495ed;--chart-5: #4682b4;--popover: #2f3436;--primary: #6c5ce7;--sidebar: #1a1d23;--secondary: #4b0082;--background: #1a1d23;--foreground: #e5e5e5;--destructive: #ef4444;--sidebar-ring: #6c5ce7;--sidebar-accent: #6495ed;--sidebar-border: #444444;--card-foreground: #e5e5e5;--sidebar-primary: #6c5ce7;--muted-foreground: #a3a3a3;--accent-foreground: #e5e5e5;--popover-foreground: #e5e5e5;--primary-foreground: #ffffff;--sidebar-foreground: #e5e5e5;--secondary-foreground: #e5e5e5;--destructive-foreground: #ffffff;--sidebar-accent-foreground: #e5e5e5;--sidebar-primary-foreground: #ffffff}}:root{--bg-page: var(--background);--bg-elevated: var(--card);--bg-muted: color-mix(in srgb, var(--foreground) 12%, var(--background));--bg-control: var(--muted);--border-subtle: var(--border);--text-primary: var(--foreground);--text-secondary: var(--muted-foreground);--text-body: var(--foreground);--text-muted: var(--muted-foreground);--accent: var(--primary);--accent-hover: color-mix(in srgb, var(--primary) 82%, black);--text-on-accent: var(--primary-foreground);--surface-glass: color-mix(in srgb, var(--foreground) 7%, var(--card));--surface-input: var(--card);--border-input: var(--input);--placeholder: var(--muted-foreground);--divider: color-mix(in srgb, var(--foreground) 12%, transparent);--shadow-image: var(--shadow-offset-x) var(--shadow-offset-y) var(--shadow-blur) hsl(0 0% 0% / var(--shadow-opacity));--shadow-drawer: -2px 0 var(--shadow-blur) hsl(0 0% 0% / calc(var(--shadow-opacity) + .06))}*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;width:100%}:root{font-family:var(--font-sans);line-height:1.5;font-weight:400;color:var(--text-body);background-color:var(--bg-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;outline:2px solid transparent;outline-offset:2px;transition:color .2s,outline .2s}a:hover{color:var(--accent-hover);text-decoration-thickness:3px}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body{margin:0;padding:0;min-width:0;width:100%;overflow-x:hidden;position:relative;background-color:var(--bg-page)}h1{font-family:var(--font-serif);font-size:3.2em;line-height:1.1}@media(max-width:768px){h1{font-size:2rem}}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-control);color:var(--text-body);cursor:pointer;transition:border-color .25s,color .25s}button:hover{border-color:var(--accent);color:var(--text-body)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}#root{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;position:relative;background-color:var(--bg-page)}.app-container{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background-color:var(--bg-page)}.app-header{background-color:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);padding:1rem 2rem;position:sticky;top:0;z-index:100}.main-nav{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.brand-link{display:inline-flex;align-items:center;text-decoration:none;outline:2px solid transparent;outline-offset:2px;transition:opacity .2s,outline .2s;overflow:visible}.brand-link:hover{opacity:.9}.brand-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.brand-logo{display:block;height:2.2rem;width:auto;transform:scale(2);transform-origin:left center;will-change:transform}.nav-links{display:flex;gap:2rem}.hamburger-menu{display:none}.nav-link{color:var(--text-primary);text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s,outline .2s;outline:2px solid transparent;outline-offset:2px}.nav-link:hover{background-color:var(--bg-muted)}.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background-color:var(--bg-muted)}.nav-link.active{background-color:var(--accent);color:var(--text-on-accent)}.nav-link.active:focus-visible{outline:2px solid var(--text-on-accent);outline-offset:2px}.home-header-content{text-align:center;padding:2rem 0;max-width:1200px;margin:0 auto}.tagline{color:var(--text-secondary);margin:1rem 0 2rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-button{background-color:var(--accent);color:var(--text-on-accent);padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;transition:background-color .2s,outline .2s,color .2s;outline:2px solid transparent;outline-offset:2px;display:inline-block}.cta-button:hover{background-color:var(--accent-hover);color:var(--text-on-accent)}.cta-button:focus-visible{outline:2px solid var(--text-on-accent);outline-offset:2px}.page-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:var(--text-muted)}.contact-page,.about-page,.custom-orders-page{max-width:800px;margin:0 auto}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{margin-bottom:.5rem}.subtitle{color:var(--text-secondary);font-size:1.2rem}.about-content{text-align:left}.about-image-container{margin:2rem 0 3rem;text-align:center}.about-image{max-width:100%;width:auto;height:auto;max-height:80vh;border-radius:12px;box-shadow:var(--shadow-image);display:block;margin:0 auto}.about-section{margin-bottom:3rem}.about-section h2{color:var(--accent);margin-bottom:1rem;font-size:1.8rem}.about-section p{line-height:1.8;margin-bottom:1rem;color:var(--text-primary)}.about-section a{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;outline:2px solid transparent;outline-offset:2px;transition:color .2s,outline .2s}.about-section a:hover{color:var(--accent-hover);text-decoration-thickness:3px}.about-section a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.values-list{list-style:none;padding:0;margin:1rem 0}.values-list li{padding:1rem;margin-bottom:.75rem;background-color:var(--surface-glass);border-radius:8px;border-left:3px solid var(--accent);line-height:1.6}.values-list li strong{color:var(--accent);display:block;margin-bottom:.25rem}.custom-orders-content{text-align:left}.custom-orders-section{margin-bottom:3rem}.custom-orders-section h2{color:var(--accent);margin-bottom:1rem;font-size:1.8rem}.custom-orders-section p{line-height:1.8;margin-bottom:1rem;color:var(--text-primary)}.process-list{list-style:none;padding:0;margin:1.5rem 0;counter-reset:step-counter}.process-list li{counter-increment:step-counter;margin-bottom:1rem;background-color:var(--surface-glass);border-radius:8px;border-left:3px solid var(--accent);line-height:1.6;position:relative;padding:1.25rem 1.25rem 1.25rem 3.5rem}.process-list li:before{content:counter(step-counter);position:absolute;left:1rem;top:50%;transform:translateY(-50%);background-color:var(--accent);color:var(--text-on-accent);width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.process-list li strong{color:var(--accent);display:block;margin-bottom:.5rem}.cta-section{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--divider)}.home-page{width:100%}.home-banner-container{width:100%;max-width:1200px;margin:0 auto;padding:0;overflow:hidden;max-height:30vh;display:flex;justify-content:center;align-items:center}.home-banner-image{width:100%;height:auto;max-height:30vh;display:block;object-fit:cover;object-position:center center}.facebook-feed-container{display:flex;justify-content:center;margin:2rem 0;width:100%;max-width:100%;overflow-x:hidden}.facebook-feed-container .fb-page{max-width:100%!important;margin:0 auto;display:block}.facebook-feed-container iframe{max-width:100%!important;min-width:0!important;margin:0 auto;display:block}form{max-width:600px;margin:0 auto;padding:2rem;text-align:left;background-color:var(--surface-glass);border-radius:8px}form div{margin-bottom:1rem}label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-primary)}input,textarea{width:100%;padding:.75rem;border:2px solid var(--border-input);border-radius:4px;font-family:inherit;box-sizing:border-box;background-color:var(--surface-input);color:var(--text-primary);transition:border-color .2s,outline .2s;outline:2px solid transparent;outline-offset:2px}input:focus,textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--placeholder)}textarea{resize:vertical}button[type=submit]{background-color:var(--primary);color:var(--text-on-accent);padding:.75rem 2rem;border:2px solid transparent;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem;font-weight:500;transition:background-color .2s,outline .2s,color .2s;outline:2px solid transparent;outline-offset:2px}button[type=submit]:hover:not(:disabled){background-color:color-mix(in srgb,var(--primary) 82%,black);color:var(--text-on-accent)}button[type=submit]:focus-visible{outline:2px solid var(--text-on-accent);outline-offset:2px}button[type=submit]:disabled{opacity:.5;cursor:not-allowed;background-color:var(--muted)}.success{color:#155724;margin:1rem 0;padding:.75rem;background-color:#d4edda;border:2px solid #28a745;border-radius:4px;display:flex;align-items:center;gap:.5rem}.success:before{content:"✓";font-weight:700;font-size:1.2rem;color:#28a745}.error{color:#721c24;margin:1rem 0;padding:.75rem;background-color:#f8d7da;border:2px solid #dc3545;border-radius:4px;display:flex;align-items:center;gap:.5rem}.error:before{content:"✗";font-weight:700;font-size:1.2rem;color:#dc3545}@media(max-width:768px){body{min-width:0}.app-header{padding:1rem}.brand-link{max-width:min(72vw,340px)}.brand-logo{height:2rem;transform:scale(1.65);transform-origin:left center;max-width:100%}.hamburger-menu{display:flex;flex-direction:column;justify-content:space-around;width:2rem;height:2rem;background:transparent;border:none;cursor:pointer;padding:0;z-index:100;position:relative}.hamburger-menu span{width:2rem;height:.25rem;background:var(--text-primary);border-radius:10px;transition:all .3s linear;position:relative;transform-origin:1px}.hamburger-menu[aria-expanded=true] span:first-child{transform:rotate(45deg)}.hamburger-menu[aria-expanded=true] span:nth-child(2){opacity:0;transform:translate(20px)}.hamburger-menu[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}.hamburger-menu:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.nav-links{position:fixed;top:0;right:0;height:100vh;width:300px;max-width:80%;background-color:var(--bg-elevated);flex-direction:column;padding:5rem 2rem 2rem;transform:translate(100%);transition:transform .3s ease-in-out;box-shadow:var(--shadow-drawer);z-index:99;gap:0}.nav-links-open{transform:translate(0)}.nav-link{width:100%;padding:1rem;margin-bottom:.5rem;text-align:left;min-height:44px;display:flex;align-items:center}.page-content{padding:1rem;min-width:0}.home-header-content{padding:1.5rem 0}.home-banner-container{width:100%;max-height:20vh}.home-banner-image{max-height:20vh}.facebook-feed-container{margin:1rem 0;padding:0;width:100%;max-width:100%}.facebook-feed-container .fb-page{max-width:100%!important;width:100%!important;margin:0!important}.facebook-feed-container iframe{max-width:100%!important;width:100%!important;min-width:0!important;transform:scale(1)!important}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem}.subtitle{font-size:1rem}.about-section h2,.custom-orders-section h2{font-size:1.5rem}form{padding:1rem}input,textarea{min-height:44px;font-size:16px}button[type=submit]{width:100%;min-height:44px}.process-list li{padding-left:3rem}.process-list li:before{width:1.5rem;height:1.5rem;font-size:.875rem}.cta-buttons{flex-direction:column;gap:.75rem}.cta-button{width:100%;min-height:44px;text-align:center}.cta-section .cta-button{width:100%;min-height:44px}.about-image{max-height:60vh}}@media(max-width:480px){.page-content{padding:.75rem}.home-header-content{padding:1rem 0}.page-header{margin-bottom:1.5rem}.about-section,.custom-orders-section{margin-bottom:2rem}.app-header,form{padding:.75rem}}.cup-holders-page{--cup-accent-soft: color-mix(in srgb, var(--accent) 14%, var(--card));width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);box-sizing:border-box;font-family:var(--font-sans);color:var(--text-primary);background:color-mix(in srgb,var(--accent) 6%,var(--bg-page));min-height:calc(100vh - 4rem);position:relative;padding:1.5rem .75rem}.cup-holders-page form{max-width:none;margin:0;padding:0;background-color:transparent;text-align:left}.cup-bg-pattern{position:fixed;inset:0;background-color:transparent;background-image:linear-gradient(45deg,transparent 48%,color-mix(in srgb,var(--accent) 5%,transparent) 49%,color-mix(in srgb,var(--accent) 5%,transparent) 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,color-mix(in srgb,var(--accent) 5%,transparent) 49%,color-mix(in srgb,var(--accent) 5%,transparent) 51%,transparent 52%),linear-gradient(90deg,transparent 48%,color-mix(in srgb,var(--accent) 3%,transparent) 49%,color-mix(in srgb,var(--accent) 3%,transparent) 51%,transparent 52%);background-size:80px 80px,80px 80px,80px 80px;z-index:0;pointer-events:none}.cup-container{position:relative;z-index:1;max-width:900px;margin:0 auto;background:var(--card);border-radius:var(--radius);padding:3rem 2.5rem;box-shadow:var(--shadow-image);color:var(--card-foreground)}.cup-header{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.cup-logo{display:flex;align-items:center;gap:.375rem;font-weight:700;color:var(--accent);font-size:1.375rem;letter-spacing:.5px}.cup-logo-3d{display:inline-block;border:2px solid var(--accent);padding:.25rem .5rem;border-radius:4px}.cup-tagline{font-weight:700;color:var(--accent);letter-spacing:1.5px;font-size:.8125rem;margin:0}.cup-hero{background:var(--accent);color:var(--text-on-accent);border-radius:calc(var(--radius) * 2);padding:2.5rem 2rem;text-align:center;margin-bottom:1.5rem}.cup-hero h1{margin:0;font-size:clamp(1.75rem,5vw,2.625rem);letter-spacing:2px;font-weight:700;line-height:1.1}.cup-subtitle{margin:1rem 0 0;letter-spacing:2px;font-size:.875rem;font-weight:500}.cup-intro{font-size:1rem;line-height:1.6;color:var(--text-primary);text-align:justify;margin-bottom:2.5rem}.cup-section-title{color:var(--accent);font-weight:700;font-size:1.25rem;letter-spacing:1.5px;margin:2.5rem 0 1.25rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}.cup-gallery-grid{display:grid;grid-template-columns:1fr;gap:1rem}.cup-gallery-main{aspect-ratio:16 / 10;background:var(--cup-accent-soft);border-radius:calc(var(--radius) * 1.5);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle)}.cup-gallery-main img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.cup-image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-weight:500;letter-spacing:1px;z-index:0}.cup-image-fallback .cup-image-placeholder{z-index:2}.cup-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.cup-thumb{aspect-ratio:1;background:var(--cup-accent-soft);border:2px solid var(--border-subtle);border-radius:calc(var(--radius) * 1.25);overflow:hidden;cursor:pointer;padding:0;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.cup-thumb:hover{transform:translateY(-2px)}.cup-thumb.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.cup-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cup-thumb img{width:100%;height:100%;object-fit:cover}.cup-gallery-note{font-size:.8125rem;color:var(--text-muted);font-style:italic;margin-top:.75rem;text-align:center}.cup-instructions{background:var(--cup-accent-soft);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1rem 1.25rem;margin:0 0 1.5rem;font-size:.875rem;line-height:1.6;color:var(--text-primary)}.cup-instructions strong{color:var(--accent)}.cup-line-items{display:flex;flex-direction:column;gap:1.5rem}.cup-line-item{border:2px solid var(--border-subtle);border-radius:calc(var(--radius) * 2);padding:1.5rem;background:#fff;color:#111827;border-color:#d1d5db;color-scheme:light;transition:border-color .2s ease}.cup-line-item,.cup-line-item *{color-scheme:light}.cup-line-item:focus-within{border-color:var(--accent)}.cup-line-item input[type=text],.cup-line-item input[type=number],.cup-line-item textarea,.cup-line-item .cup-custom-input{background:#fff!important;color:#111827;border-color:#cbd5e1!important}.cup-line-item input::placeholder,.cup-line-item textarea::placeholder,.cup-line-item .cup-custom-input::placeholder{color:#6b7280}.cup-line-item .cup-size-option,.cup-line-item .cup-style-option,.cup-line-item .cup-finish-option,.cup-line-item .cup-upgrade-toggle{background:#fff}.cup-line-item .cup-upgrades,.cup-line-item .cup-preview{background:#f8fafc;border-color:#d1d5db}.cup-line-item .cup-line-header h3,.cup-line-item .cup-field-label,.cup-line-item .cup-field legend,.cup-line-item .cup-size-label,.cup-line-item .cup-upgrade-legend,.cup-line-item .cup-finish-name,.cup-line-item .cup-preview-label,.cup-line-item .cup-preview-plus{color:#312e81}.cup-line-item .cup-field-hint,.cup-line-item .cup-size-desc,.cup-line-item .cup-finish-desc,.cup-line-item .cup-upgrades-subtitle,.cup-line-item .cup-upgrade-toggle-desc,.cup-line-item .cup-swatch-name,.cup-line-item .cup-logo-disclaimer{color:#475569}.cup-line-item .cup-size-price{color:#4338ca}.cup-line-item .cup-style-option{color:#334155}.cup-line-item .cup-style-option.selected{background:#4338ca;border-color:#4338ca;color:#fff}.cup-line-item .cup-size-option.selected,.cup-line-item .cup-finish-option.selected,.cup-line-item .cup-upgrade-toggle.selected,.cup-line-item .cup-color-swatch.selected{background:#eef2ff;border-color:#6366f1;box-shadow:0 0 0 1px #6366f1}.cup-line-item .cup-color-swatch:hover{background:#eef2ff}.cup-line-item .cup-swatch-dot.has-border,.cup-line-item .cup-preview-dot.has-border{box-shadow:inset 0 0 0 1px #cbd5e1}.cup-line-item .cup-swatch-custom{background:#fff!important;border-color:#6366f1;color:#4338ca}.cup-line-item .cup-upgrade-tag-paid,.cup-line-item .cup-preview-tag{background:#4338ca;color:#fff}.cup-line-item .cup-upgrade-toggle-name{color:#1f2937}.cup-line-item .cup-required{color:#dc2626}.cup-line-item .cup-logo-disclaimer{background:#fef2f2!important;border-left:3px solid #dc2626!important;color:#7f1d1d!important}.cup-line-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px dashed var(--border-subtle)}.cup-line-header h3{margin:0;color:var(--accent);font-size:1rem;letter-spacing:1px}.cup-remove-btn{background:transparent;border:1px solid var(--destructive);color:var(--destructive);padding:.375rem .75rem;border-radius:var(--radius);font-size:.6875rem;letter-spacing:1px;cursor:pointer;font-weight:600;transition:background-color .15s ease,color .15s ease}.cup-remove-btn:hover{background:var(--destructive);color:var(--destructive-foreground)}.cup-remove-btn:focus-visible{outline:2px solid var(--destructive);outline-offset:2px}.cup-field{margin-bottom:1.25rem;border:none;padding:0}.cup-field-label,.cup-field legend{display:block;font-weight:700;color:var(--accent);font-size:.75rem;letter-spacing:1.5px;margin-bottom:.625rem}.cup-field-hint{display:block;font-weight:400;color:var(--text-muted);font-size:.75rem;letter-spacing:0;margin-top:.125rem;text-transform:none}.cup-required{color:var(--destructive)}.cup-field input[type=text],.cup-field input[type=number],.cup-field textarea,.cup-custom-input{width:100%;padding:.75rem .875rem;border:2px solid var(--border-input);border-radius:var(--radius);font-size:.9375rem;font-family:inherit;background:var(--surface-input);color:var(--text-primary);transition:border-color .15s ease,outline .15s ease;box-sizing:border-box;outline:2px solid transparent;outline-offset:2px}.cup-field input:focus,.cup-field textarea:focus,.cup-custom-input:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.cup-field input::placeholder,.cup-field textarea::placeholder,.cup-custom-input::placeholder{color:var(--placeholder)}.cup-custom-input{margin-top:.75rem}.cup-row{display:grid;grid-template-columns:100px 1fr;gap:1.25rem;align-items:start}.cup-field-qty input{width:100%;text-align:center;font-weight:600;font-size:1.125rem;background-color:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827;color-scheme:light;appearance:textfield;-webkit-appearance:textfield}.cup-size-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.cup-size-option{border:2px solid var(--border-subtle);border-radius:var(--radius);padding:.625rem .75rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;display:block;background:var(--surface-input)}.cup-size-option:hover{border-color:var(--ring)}.cup-size-option.selected{border-color:var(--accent);background:var(--cup-accent-soft);box-shadow:0 0 0 1px var(--accent)}.cup-size-option input{position:absolute;opacity:0;pointer-events:none}.cup-size-label{display:block;font-weight:700;color:var(--accent);font-size:.8125rem;letter-spacing:.5px;margin-bottom:.125rem}.cup-size-desc{display:block;font-size:.6875rem;color:var(--text-muted);line-height:1.3}.cup-size-price{display:block;font-size:.6875rem;color:var(--accent);font-weight:600;margin-top:.25rem}.cup-style-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.cup-style-option{border:2px solid var(--border-subtle);border-radius:var(--radius);padding:.75rem;cursor:pointer;text-align:center;font-size:.8125rem;font-weight:600;color:var(--text-muted);letter-spacing:.5px;background:var(--surface-input);transition:border-color .15s ease,background-color .15s ease,color .15s ease}.cup-style-option:hover{border-color:var(--ring)}.cup-style-option.selected{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.cup-style-option input{position:absolute;opacity:0;pointer-events:none}.cup-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.625rem}.cup-color-swatch{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:.375rem .25rem;border-radius:var(--radius);transition:background-color .15s ease,box-shadow .15s ease}.cup-color-swatch:hover{background:var(--cup-accent-soft)}.cup-color-swatch.selected{background:var(--cup-accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.cup-color-swatch input{position:absolute;opacity:0;pointer-events:none}.cup-swatch-dot{width:44px;height:44px;border-radius:50%;margin-bottom:.375rem;transition:transform .15s ease;background-size:cover;background-position:center;background-repeat:no-repeat}.cup-color-swatch:hover .cup-swatch-dot{transform:scale(1.05)}.cup-swatch-dot.has-border{box-shadow:inset 0 0 0 1px var(--border-subtle)}.cup-swatch-custom{background:var(--surface-input)!important;border:2px dashed var(--accent);color:var(--accent);font-weight:700;font-size:1.125rem;display:flex;align-items:center;justify-content:center}.cup-swatch-name{font-size:.6875rem;text-align:center;line-height:1.2;color:var(--text-primary);font-weight:500}.cup-upgrades{margin-top:.5rem;padding:1.25rem;background:linear-gradient(135deg,var(--cup-accent-soft) 0%,color-mix(in srgb,var(--accent) 8%,var(--card)) 100%);border-radius:calc(var(--radius) * 1.5);border:1px solid var(--border-subtle)}.cup-upgrades-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px dashed var(--border-subtle)}.cup-upgrades-subtitle{font-size:.6875rem;color:var(--text-muted);font-style:italic;letter-spacing:.5px}.cup-upgrade-block{margin-bottom:1rem}.cup-upgrade-legend{display:flex;align-items:center;gap:.625rem;font-weight:700;color:var(--accent);font-size:.75rem;letter-spacing:1.5px;margin-bottom:.625rem}.cup-upgrade-tag{font-size:.625rem;padding:2px .5rem;border-radius:10px;letter-spacing:.5px;font-weight:700}.cup-upgrade-tag-free{background-color:#c8e6c9;color:#1b5e20}.cup-upgrade-tag-paid{background:var(--accent);color:var(--text-on-accent)}.cup-finish-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.cup-finish-option{background:var(--surface-input);border:2px solid var(--border-subtle);border-radius:var(--radius);padding:.625rem .75rem;cursor:pointer;text-align:center;transition:border-color .15s ease,box-shadow .15s ease}.cup-finish-option:hover{border-color:var(--ring)}.cup-finish-option.selected{border-color:var(--accent);background:var(--surface-input);box-shadow:0 0 0 1px var(--accent)}.cup-finish-option input{position:absolute;opacity:0;pointer-events:none}.cup-finish-name{display:block;font-weight:700;color:var(--accent);font-size:.8125rem;margin-bottom:.125rem}.cup-finish-desc{display:block;font-size:.6875rem;color:var(--text-muted);line-height:1.3}.cup-upgrade-toggle{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem;background:var(--surface-input);border:2px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;margin-bottom:.5rem;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.cup-upgrade-toggle:hover{border-color:var(--ring)}.cup-upgrade-toggle.selected{border-color:var(--accent);background:var(--cup-accent-soft);box-shadow:0 0 0 1px var(--accent)}.cup-upgrade-toggle input{margin-top:2px;width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.cup-upgrade-toggle-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.cup-upgrade-toggle-name{display:flex;align-items:center;gap:.625rem;font-weight:600;color:var(--text-primary);font-size:.875rem;flex-wrap:wrap}.cup-upgrade-toggle-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.cup-logo-input{margin-top:.25rem;resize:vertical}.cup-logo-disclaimer{margin:.5rem 0 0;font-size:.6875rem;color:var(--text-muted);line-height:1.4;font-style:italic;padding:.5rem .625rem;background:color-mix(in srgb,var(--destructive) 8%,var(--surface-input));border-left:3px solid var(--destructive);border-radius:4px}.cup-preview-upgrades{display:flex;flex-wrap:wrap;gap:.375rem;margin-left:0;align-items:center}.cup-preview-tag{background:var(--accent);color:var(--text-on-accent);font-size:.625rem;padding:.25rem .625rem;border-radius:12px;letter-spacing:.5px;text-transform:uppercase;font-weight:600}.cup-preview{margin-top:1rem;padding:.75rem 1rem;background:var(--cup-accent-soft);border-radius:var(--radius);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.cup-preview-label{font-weight:700;color:var(--accent);font-size:.6875rem;letter-spacing:1px}.cup-preview-swatches{display:flex;align-items:center;gap:.625rem}.cup-preview-dot{width:32px;height:32px;border-radius:50%;background-size:cover;background-position:center;background-repeat:no-repeat}.cup-preview-dot.has-border{box-shadow:inset 0 0 0 1px var(--border-subtle)}.cup-preview-custom{background:var(--surface-input);border:2px dashed var(--accent);display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:700}.cup-preview-plus{color:var(--accent);font-weight:700;font-size:1.125rem}.cup-add-line-btn{width:100%;margin-top:1rem;padding:1rem;background:var(--surface-input);border:2px dashed var(--accent);color:var(--accent);font-weight:700;letter-spacing:1.5px;font-size:.8125rem;border-radius:calc(var(--radius) * 1.75);cursor:pointer;transition:background-color .15s ease,outline .15s ease;font-family:inherit;outline:2px solid transparent;outline-offset:2px}.cup-add-line-btn:hover{background:var(--cup-accent-soft)}.cup-add-line-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cup-add-line-btn span{font-size:1.125rem;margin-right:.375rem}.cup-summary{margin:2rem 0;padding:1.25rem 1.5rem;background:var(--accent);color:var(--text-on-accent);border-radius:calc(var(--radius) * 1.75)}.cup-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;font-size:1rem}.cup-summary-row strong{font-size:1.125rem}.cup-summary-note{margin:.75rem 0 0;font-size:.75rem;opacity:.9;line-height:1.4}.cup-customer-info{margin-bottom:1.5rem}.cup-customer-info h3{color:var(--accent);font-weight:700;font-size:1rem;letter-spacing:1.5px;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}.cup-customer-info textarea{resize:vertical}.cup-submit-btn{width:100%;padding:1.125rem;background:var(--primary);color:var(--text-on-accent);border:2px solid transparent;border-radius:calc(var(--radius) * 1.75);font-weight:700;letter-spacing:2px;font-size:.9375rem;cursor:pointer;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease,outline .2s ease;font-family:inherit;outline:2px solid transparent;outline-offset:2px}.cup-submit-btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 82%,black);transform:translateY(-1px);box-shadow:var(--shadow-image)}.cup-submit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cup-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;background:var(--muted)}.cup-status{margin-top:1rem;padding:1rem 1.25rem;border-radius:var(--radius);font-weight:500}.cup-status-success{color:#155724;background-color:#d4edda;border:2px solid #28a745}.cup-status-error{color:#721c24;background-color:#f8d7da;border:2px solid #dc3545}.cup-footer{margin-top:3rem;padding-top:1.5rem;text-align:center;color:var(--accent);font-size:.8125rem;letter-spacing:1px;border-top:1px solid var(--border-subtle)}@media(max-width:768px){.cup-holders-page{padding:1rem .5rem;min-height:calc(100vh - 3rem)}.cup-container{padding:1.5rem 1.25rem}.cup-row,.cup-size-grid,.cup-style-toggle,.cup-finish-options{grid-template-columns:1fr}.cup-color-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.cup-swatch-dot{width:36px;height:36px}.cup-line-item{padding:1rem}.cup-hero{padding:1.75rem 1.25rem}.cup-upgrades{padding:1rem}}
