@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Manrope:wght@300;400;500;600;700;800&display=swap");:root{--bg-primary:#f8f5f0;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f2efe9;--bg-accent:#8a3a3a;--bg-accent-light:#f4e8e8;--bg-accent-dark:#632828;--bg-danger:#d32f2f;--bg-success:#2e7d32;--bg-overlay:rgba(10,10,11,.4);--text-primary:#1a1a1a;--text-secondary:#5c5c5c;--text-muted:#8f8f8f;--text-accent:#8a3a3a;--text-on-accent:#fff;--text-danger:#d32f2f;--border-color:#e2ddce;--border-accent:#8a3a3a;--shadow-sm:0 2px 8px rgba(0,0,0,.04);--shadow-md:0 8px 24px rgba(0,0,0,.06);--shadow-lg:0 16px 40px rgba(0,0,0,.08);--shadow-xl:0 24px 60px rgba(0,0,0,.12);--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--font-body:"Manrope",-apple-system,sans-serif;--font-display:"Cormorant Garamond",serif;--transition:0.5s cubic-bezier(0.16,1,0.3,1)}[data-theme=dark]{--bg-primary:#0a0a0b;--bg-secondary:#121214;--bg-card:#121214;--bg-card-hover:#1a1a1e;--bg-accent:#d4af37;--bg-accent-light:rgba(212,175,55,.1);--bg-accent-dark:#aa8a29;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-muted:#666;--text-accent:#d4af37;--text-on-accent:#000;--border-color:hsla(0,0%,100%,.08);--border-accent:#d4af37;--shadow-sm:0 4px 12px rgba(0,0,0,.4);--shadow-md:0 12px 32px rgba(0,0,0,.6);--shadow-lg:0 20px 48px rgba(0,0,0,.8);--shadow-xl:0 28px 64px rgba(0,0,0,.9)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;position:relative}body:after{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none}button,input,select,textarea{outline:none;font-family:inherit}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-full);font-weight:600;font-size:.95rem;transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--bg-accent);color:var(--text-on-accent)}.btn-primary:hover{background:var(--bg-accent-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-accent-light);color:var(--text-accent)}.btn-secondary:hover{background:var(--bg-accent);color:var(--text-on-accent)}.btn-outline{background:transparent;border:2px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{border-color:var(--border-accent);color:var(--text-accent)}.btn-danger{background:var(--bg-danger);color:#fff}.btn-danger:hover{opacity:.9;transform:translateY(-1px)}.btn-sm{padding:8px 16px;font-size:.85rem}.btn-lg{padding:16px 32px;font-size:1.1rem}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.navbar-inner{justify-content:space-between;height:70px}.navbar-inner,.navbar-logo{display:flex;align-items:center}.navbar-logo{gap:10px;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-accent)}.navbar-logo svg{width:28px;height:28px}.navbar-links{display:flex;align-items:center;gap:32px;list-style:none}.navbar-links a{font-weight:500;font-size:.95rem;color:var(--text-secondary);transition:color var(--transition);position:relative}.navbar-links a.active,.navbar-links a:hover{color:var(--text-accent)}.navbar-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--bg-accent);transition:width var(--transition);border-radius:1px}.navbar-links a:hover:after{width:100%}.navbar-actions{gap:12px}.navbar-actions,.navbar-user{display:flex;align-items:center}.navbar-user{gap:10px}.navbar-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--border-accent)}.navbar-user-name{font-weight:500;font-size:.9rem}.theme-toggle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-size:1.1rem;transition:all var(--transition)}.theme-toggle:hover{color:var(--text-accent);border-color:var(--border-accent)}.hamburger{display:none;flex-direction:column;gap:5px;background:none;padding:8px}.hamburger span{display:block;width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition)}.mobile-menu{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;background:var(--bg-secondary);z-index:99;padding:24px;flex-direction:column;gap:16px;animation:slideDown .3s ease}.mobile-menu.open{display:flex}.mobile-menu a{padding:14px 20px;font-size:1.1rem;font-weight:500;border-radius:var(--radius-md);color:var(--text-primary);transition:background var(--transition)}.mobile-menu a:hover{background:var(--bg-accent-light);color:var(--text-accent)}.cart-badge{position:relative}.cart-badge-count{position:absolute;top:-6px;right:-6px;background:var(--bg-danger);color:#fff;font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.navbar-links{display:none}.hamburger{display:flex}.navbar-user-name{display:none}}.hero{padding:80px 0 60px;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(108,71,255,.08) 0,transparent 70%);pointer-events:none}.hero-title{font-family:var(--font-display);font-size:3.5rem;font-weight:700;line-height:1.15;margin-bottom:16px;background:linear-gradient(135deg,var(--text-primary) 0,var(--text-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.15rem;color:var(--text-secondary);max-width:520px;margin:0 auto 32px;line-height:1.7}@media (max-width:768px){.hero{padding:50px 0 40px}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1rem}}.categories{display:flex;align-items:center;gap:12px;padding:0 0 40px;flex-wrap:wrap}.categories-left{display:flex;gap:10px;flex-wrap:wrap;flex:1 1}.category-pill{padding:10px 22px;border-radius:var(--radius-full);font-size:.9rem;font-weight:500;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--transition);white-space:nowrap}.category-pill:hover{border-color:var(--border-accent);color:var(--text-accent)}.category-pill.active{background:var(--bg-accent);color:var(--text-on-accent);border-color:var(--bg-accent)}.search-box{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-card);transition:border-color var(--transition)}.search-box:focus-within{border-color:var(--border-accent)}.search-box input{border:none;background:transparent;font-size:.9rem;color:var(--text-primary);width:150px}.search-box input::placeholder{color:var(--text-muted)}@media (max-width:768px){.categories{gap:8px}.category-pill{padding:8px 16px;font-size:.8rem}.search-box{display:none}}.frame-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px;padding-bottom:80px}@media (max-width:1024px){.frame-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.frame-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media (max-width:480px){.frame-grid{grid-template-columns:1fr}}.frame-card{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition);cursor:pointer;position:relative}.frame-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-accent)}.frame-card-image{width:100%;aspect-ratio:1;object-fit:cover;background:var(--bg-card-hover);display:block}.frame-card-body{padding:16px}.frame-card-name{font-weight:600;font-size:1rem;margin-bottom:6px}.frame-card-category{font-size:.8rem;color:var(--text-muted);margin-bottom:8px}.frame-card-price{display:flex;align-items:center;gap:8px}.frame-card-price-current{font-weight:700;font-size:1.1rem;color:var(--text-accent)}.frame-card-price-original{font-size:.85rem;color:var(--text-muted);text-decoration:line-through}.frame-card-discount{font-size:.75rem;font-weight:600;color:var(--bg-success)}.trending-badge{position:absolute;top:12px;left:12px;background:var(--bg-accent);color:var(--text-on-accent);font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.customizer-page{padding:40px 0 80px}.customizer-layout{display:grid;grid-template-columns:1fr 420px;grid-gap:40px;gap:40px;align-items:flex-start}@media (max-width:900px){.customizer-layout{grid-template-columns:1fr}}.preview-panel{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:32px;text-align:center;position:-webkit-sticky;position:sticky;top:90px}.preview-label{font-size:.8rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.preview-sublabel{font-size:.85rem;color:var(--text-muted);margin-bottom:24px}.preview-frame{width:100%;max-width:400px;margin:0 auto;aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;position:relative;border:12px solid #1a1a2e;background:var(--bg-card-hover)}[data-theme=dark] .preview-frame{border-color:#d4af37}.preview-frame-inner{width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:12px}.preview-frame img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.preview-message-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));padding:24px 16px 16px;color:#fff}.preview-heading{font-family:var(--font-display);font-size:1.3rem;font-weight:600;font-style:italic}.preview-subtext{font-size:.8rem;opacity:.85;margin-top:4px}.preview-empty-icon{font-size:3rem;color:var(--text-muted);margin-bottom:8px}.preview-empty-text{font-size:.9rem;color:var(--text-muted)}.customizer-sidebar{display:flex;flex-direction:column;gap:28px}.sidebar-tabs{display:flex;background:var(--bg-card);border-radius:var(--radius-full);padding:4px;border:1px solid var(--border-color)}.sidebar-tab{flex:1 1;padding:12px 16px;border-radius:var(--radius-full);font-weight:600;font-size:.9rem;text-align:center;background:transparent;color:var(--text-secondary);transition:all var(--transition)}.sidebar-tab.active{background:var(--bg-accent);color:var(--text-on-accent)}.sidebar-section h3{font-size:1rem;font-weight:700;margin-bottom:12px}.layout-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.layout-option{aspect-ratio:1;border-radius:var(--radius-sm);border:2px solid var(--border-color);background:var(--bg-card-hover);cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center;overflow:hidden}.layout-option:hover{border-color:var(--text-accent)}.layout-option.selected{border-color:var(--bg-accent);box-shadow:0 0 0 3px var(--bg-accent-light)}.layout-option img{width:100%;height:100%;object-fit:cover}.input-group{margin-bottom:16px}.input-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:8px}.input-field{width:100%;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.95rem;transition:border-color var(--transition)}.input-field:focus{border-color:var(--border-accent)}textarea.input-field{resize:vertical;min-height:80px}.material-options{display:flex;gap:12px}.material-swatch{width:44px;height:44px;border-radius:50%;border:3px solid var(--border-color);cursor:pointer;transition:all var(--transition)}.material-swatch.selected{border-color:var(--bg-accent);box-shadow:0 0 0 3px var(--bg-accent-light);transform:scale(1.1)}.price-section{display:flex;align-items:center;gap:12px;margin-top:8px}.price-main{font-size:2rem;font-weight:700}.price-discount-tag{background:rgba(46,213,115,.15);color:var(--bg-success);padding:4px 10px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700}.add-to-cart-btn{width:100%;padding:16px;border-radius:var(--radius-md);background:var(--bg-danger);color:#fff;font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;transition:all var(--transition);border:none}.add-to-cart-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:var(--shadow-md)}.cart-page{padding:40px 0 80px}.cart-page h1{font-family:var(--font-display);font-size:2.2rem;margin-bottom:32px}.cart-empty{text-align:center;padding:80px 20px}.cart-empty-icon{font-size:4rem;margin-bottom:16px}.cart-empty p{color:var(--text-secondary);margin-bottom:24px}.cart-items{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.cart-item{display:flex;gap:20px;padding:20px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center}.cart-item-image{width:80px;height:80px;border-radius:var(--radius-sm);object-fit:cover;background:var(--bg-card-hover)}.cart-item-info{flex:1 1}.cart-item-info h3{font-weight:600;margin-bottom:4px}.cart-item-info p{font-size:.85rem;color:var(--text-secondary)}.cart-item-price{font-weight:700;font-size:1.2rem;color:var(--text-accent)}.cart-item-remove{background:none;color:var(--text-muted);font-size:1.2rem;padding:8px;transition:color var(--transition)}.cart-item-remove:hover{color:var(--bg-danger)}.cart-summary{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:24px}.cart-summary-row{margin-bottom:12px;color:var(--text-secondary)}.cart-summary-row,.cart-summary-total{display:flex;justify-content:space-between}.cart-summary-total{padding-top:16px;border-top:2px solid var(--border-color);font-size:1.3rem;font-weight:700}@media (max-width:768px){.cart-item{flex-direction:column;text-align:center}.cart-item-image{margin:0 auto}}.admin-page{padding:40px 0 80px}.admin-page h1{font-family:var(--font-display);font-size:2.2rem;margin-bottom:8px}.admin-subtitle{color:var(--text-secondary);margin-bottom:32px}.admin-tabs{display:flex;gap:8px;margin-bottom:32px}.admin-tab{padding:10px 24px;border-radius:var(--radius-full);font-weight:600;font-size:.9rem;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--transition)}.admin-tab.active{background:var(--bg-accent);color:var(--text-on-accent);border-color:var(--bg-accent)}.admin-form{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:32px;margin-bottom:32px}.admin-form h2{font-size:1.2rem;margin-bottom:24px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:768px){.admin-form-grid{grid-template-columns:1fr}}.admin-form-full{grid-column:1/-1}.admin-form-actions{grid-column:1/-1;display:flex;gap:12px;margin-top:8px}.admin-table{width:100%;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.admin-table table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);background:var(--bg-card-hover)}.admin-table td,.admin-table th{padding:14px 16px;border-bottom:1px solid var(--border-color)}.admin-table td{font-size:.9rem}.admin-table tr:last-child td{border-bottom:none}.admin-table-actions{display:flex;gap:8px}.admin-no-data{text-align:center;padding:40px;color:var(--text-muted)}.status-badge{padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase}.status-pending{background:rgba(255,165,0,.15);color:orange}.status-completed{background:rgba(46,213,115,.15);color:var(--bg-success)}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:40px;gap:40px;margin-bottom:40px}@media (max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:24px}}@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}.footer-brand h3{font-family:var(--font-display);font-size:1.4rem;color:var(--text-accent);margin-bottom:12px}.footer-brand p{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.footer-col h4{font-size:.9rem;font-weight:700;margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}.footer-col a{display:block;padding:4px 0;font-size:.9rem;color:var(--text-secondary);transition:color var(--transition)}.footer-col a:hover{color:var(--text-accent)}.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid var(--border-color);font-size:.85rem;color:var(--text-muted)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:60vh}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--bg-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.order-success{text-align:center;padding:80px 20px}.order-success-icon{font-size:4rem;margin-bottom:16px;color:var(--bg-success)}.order-success h2{font-family:var(--font-display);font-size:2rem;margin-bottom:8px}.order-success p{color:var(--text-secondary);margin-bottom:24px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--bg-accent);color:var(--text-on-accent);padding:14px 28px;border-radius:var(--radius-full);font-weight:600;font-size:.9rem;z-index:200;box-shadow:var(--shadow-lg);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media (max-width:768px){.admin-table{overflow-x:auto}.admin-table table{min-width:600px}}.auth-gate{text-align:center;padding:100px 20px}.auth-gate h2{font-family:var(--font-display);font-size:2rem;margin-bottom:12px}.auth-gate p{color:var(--text-secondary);margin-bottom:24px}.order-detail-overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:150;display:flex;align-items:center;justify-content:center;padding:24px}.order-detail-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:32px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto}.order-detail-modal h3{font-size:1.2rem;margin-bottom:16px}.order-detail-item{padding:12px 0;border-bottom:1px solid var(--border-color)}.order-detail-item:last-child{border-bottom:none}.checkout-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:32px;margin-top:24px}.checkout-form h2{font-size:1.3rem;margin-bottom:20px}.calendar-layout-preview{width:100%;height:100%;display:flex;flex-direction:column;background:#fff;padding:15px;gap:15px;color:#1a1a2e}.photo-grid-container{display:flex;gap:8px;height:60%;min-height:250px}.photo-slot{background:#f0f0f5;border-radius:4px;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid #eee;flex:1 1}.photo-slot:hover{opacity:.9;border-color:var(--bg-accent)}.photo-slot img{width:100%;height:100%;object-fit:cover}.placeholder{font-size:1.5rem;font-weight:700;color:#ccc}.main-slot{flex:1.5 1}.side-slots{flex:1 1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;grid-gap:6px;gap:6px}.v-triple{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.v-stacked{display:flex;flex-direction:column;gap:8px}.v-stacked .top-slot{height:60%}.v-stacked .bottom-slots{height:40%;grid-gap:8px}.split-grid,.v-stacked .bottom-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.split-grid{grid-template-rows:1fr 1fr;grid-gap:8px}.hero-focus{display:flex;flex-direction:column;gap:8px}.hero-focus .top-slot{height:65%}.hero-focus .bottom-slots{height:35%;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.asymmetric{display:grid;grid-template-columns:2fr 1fr;grid-gap:8px;gap:8px}.asymmetric .left-slot{height:100%}.asymmetric .right-slots{display:flex;flex-direction:column;gap:8px}.bg-hero{position:relative;display:block;padding:0;overflow:hidden;height:100%}.bg-hero .bg-hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.bg-hero .bg-hero-bg img{width:100%;height:100%;object-fit:cover}.bg-hero .bg-hero-overlays{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;width:25%;height:100%;padding:10px}.bg-hero .bg-hero-overlay-slot{flex:1 1;border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.3);border-radius:4px}.bg-hero .bg-hero-message{position:absolute;bottom:0;left:0;width:100%;z-index:3;padding:40px 20px 20px;background:linear-gradient(transparent,rgba(0,0,0,.8));text-align:right}.bg-hero .bg-hero-message span{color:#fff;font-family:var(--font-great-vibes),"Great Vibes",cursive,"Brush Script MT",system-ui;font-size:2.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.6);line-height:1.2}.calendar-footer-section{flex:1 1;display:flex;gap:20px;align-items:center;border-top:1px solid #efeff5;padding-top:15px}.calendar-info{flex:1 1;background:#fcfcfd;padding:10px;border-radius:8px}.calendar-header{font-family:var(--font-display);font-weight:700;font-size:1.1rem;margin-bottom:8px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;text-align:center;font-size:.65rem}.day-name{font-weight:700;color:#999}.calendar-day{height:16px;display:flex;align-items:center;justify-content:center;position:relative}.calendar-day.highlight{color:var(--bg-danger);font-weight:700}.heart-icon{font-size:.75rem}.text-info{flex:1.2 1;text-align:left}.calendar-heading{font-family:var(--font-display);font-size:1.4rem;font-weight:700;line-height:1.2;margin-bottom:6px;background:linear-gradient(135deg,var(--text-primary) 0,var(--bg-accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.calendar-subtext{font-size:.75rem;font-style:italic;color:var(--text-secondary);line-height:1.4}[data-theme=dark] .calendar-layout-preview{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .photo-slot{background:var(--bg-card-hover);border-color:var(--border-color)}[data-theme=dark] .calendar-info{background:var(--bg-card)}.theme-dark{background:#111!important;color:#fff!important}.theme-dark .photo-slot{background:#222!important;border-color:#333!important}.theme-dark .calendar-info{background:#1a1a1a!important}.theme-dark .calendar-heading,.theme-dark .calendar-subtext{background:none!important;-webkit-text-fill-color:#fff!important;color:#fff!important}.theme-dark .calendar-footer-section{border-top-color:#333!important}.theme-dark .day-name{color:#888!important}@media print{@page{size:A4;margin:10mm}.add-to-cart-btn,.admin-page>.container,.btn,.customizer-page h1,.customizer-page>.container>div:first-child,.customizer-sidebar,.footer,.order-detail-overlay,.preview-actions,.preview-label,.preview-sublabel,.sidebar-section,.sidebar-tabs,nav{display:none!important}.admin-print-zone{display:block!important;position:fixed!important;top:0!important;left:0!important;width:100vw!important;z-index:99999!important}.admin-print-zone,.admin-print-zone .preview-frame{height:100vh!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;overflow:hidden!important}.admin-print-zone .preview-frame{width:100%!important;max-height:100vh!important;box-sizing:border-box!important}.admin-print-zone .calendar-layout-preview{height:100%!important;max-height:calc(100vh - 24px)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;overflow:hidden!important}.admin-print-zone .photo-grid-container{height:65%!important;max-height:65%!important;overflow:hidden!important}.admin-print-zone .photo-slot img{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.admin-print-zone .calendar-footer-section{height:35%!important;max-height:35%!important;overflow:hidden!important}body,html{background:#fff!important;width:100%!important;height:auto!important}.container,.customizer-page,body,html{padding:0!important;margin:0!important}.container{max-width:100%!important}.customizer-layout{display:block!important;padding:0!important;margin:0!important}.preview-panel{display:block!important;border:none!important}.preview-frame,.preview-panel{padding:0!important;margin:0 auto!important;background:#fff!important;box-shadow:none!important;width:100%!important;max-width:190mm!important;position:relative!important}.preview-frame{aspect-ratio:auto!important;border:3px solid #1a1a2e!important;border-radius:8px!important;transform:none!important;overflow:visible!important;page-break-inside:avoid!important}.calendar-layout-preview,.preview-frame{height:auto!important;min-height:250mm!important}.calendar-layout-preview{width:100%!important;padding:12mm!important;display:flex!important;flex-direction:column!important;gap:10mm!important;background:#fff!important}.photo-grid-container{min-height:150mm!important;height:auto!important;flex-shrink:0!important}.photo-slot{background:#fdfdfd!important;border-color:#eee!important}.photo-slot,.photo-slot img{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.photo-slot img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.calendar-footer-section{flex-shrink:0!important;display:flex!important;gap:10mm!important;border-top:1px solid #ddd!important;padding-top:8mm!important;min-height:60mm!important}.calendar-info{background:#f9f9f9!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.calendar-header{font-size:1.4rem!important}.calendar-grid{font-size:.85rem!important;gap:5px!important}.calendar-day{height:22px!important}.calendar-heading{font-size:1.8rem!important;color:#1a1a2e!important}.calendar-heading,.calendar-subtext{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:none!important;-webkit-text-fill-color:initial!important}.calendar-subtext{font-size:1rem!important;color:#555!important}.calendar-day.highlight{color:#ff4757!important}.heart-icon{font-size:1rem!important}.day-name{font-size:.8rem!important}.placeholder{display:none!important}.theme-dark .calendar-footer-section,.theme-dark .calendar-heading,.theme-dark .calendar-info,.theme-dark .calendar-subtext,.theme-dark .photo-slot,.theme-dark.calendar-layout-preview{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.theme-dark.calendar-layout-preview{background:#111!important;color:#fff!important}.theme-dark .calendar-info{background:#1a1a1a!important}.theme-dark .photo-slot{background:#222!important;border-color:#333!important}.theme-dark .calendar-heading,.theme-dark .calendar-subtext{color:#fff!important;-webkit-text-fill-color:#fff!important}.theme-dark .calendar-footer-section{border-top-color:#333!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.ai-generate-page{min-height:100vh;padding:100px 0 60px;background:var(--bg-primary)}.ai-generate-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;margin-top:24px}.ai-controls-panel{display:flex;flex-direction:column;gap:20px}.ai-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.ai-section h3{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.ai-badge{background:var(--bg-accent);color:#fff;font-weight:700}.ai-badge,.ai-badge-optional{font-size:.7rem;padding:2px 8px;border-radius:var(--radius-full)}.ai-badge-optional{background:var(--bg-accent-light);color:var(--text-accent);font-weight:600}.ai-hint{font-size:.8rem;color:var(--text-muted);margin:-4px 0 12px}.ai-photo-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px}.ai-photo-thumb{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:2px solid var(--border-color)}.ai-photo-thumb img{width:100%;height:100%;object-fit:cover}.ai-remove-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:rgba(255,71,87,.9);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:transform .2s}.ai-remove-btn:hover{transform:scale(1.2)}.ai-upload-slot{aspect-ratio:1;border:2px dashed var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--text-muted);font-size:.7rem;transition:var(--transition)}.ai-upload-slot:hover{border-color:var(--bg-accent);color:var(--bg-accent);background:var(--bg-accent-light)}.ai-reference-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px;border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);font-size:.85rem;transition:var(--transition)}.ai-reference-upload:hover{border-color:var(--bg-accent);color:var(--bg-accent);background:var(--bg-accent-light)}.ai-reference-preview{position:relative;border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--border-color);max-height:160px}.ai-reference-preview img{width:100%;max-height:160px;object-fit:cover}.ai-prompt-input{width:100%;padding:14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;resize:vertical;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s;box-sizing:border-box}.ai-prompt-input:focus{outline:none;border-color:var(--bg-accent);box-shadow:0 0 0 3px var(--bg-accent-light)}.ai-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ai-preset-chip{padding:6px 14px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-primary);cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:var(--transition);font-family:var(--font-body)}.ai-preset-chip.active,.ai-preset-chip:hover{background:var(--bg-accent);color:#fff;border-color:var(--bg-accent)}.ai-generate-btn{width:100%;padding:16px 24px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--bg-accent),#ff6b6b);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-body);transition:var(--transition);box-shadow:0 4px 20px rgba(108,71,255,.3)}.ai-generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 30px rgba(108,71,255,.45)}.ai-generate-btn:disabled{opacity:.5;cursor:not-allowed}.ai-error{padding:12px 16px;background:rgba(255,71,87,.1);border:1px solid rgba(255,71,87,.3);border-radius:var(--radius-md);color:var(--text-danger);font-size:.85rem}.ai-preview-panel{position:-webkit-sticky;position:sticky;top:100px;height:-moz-fit-content;height:fit-content}.ai-empty-state,.ai-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 40px;background:var(--bg-card);border:2px dashed var(--border-color);border-radius:var(--radius-lg);min-height:500px}.ai-empty-icon{font-size:4rem;margin-bottom:16px}.ai-empty-state h3,.ai-loading-state h3{font-size:1.3rem;margin:0 0 8px;color:var(--text-primary)}.ai-empty-state p,.ai-loading-state p{color:var(--text-muted);font-size:.9rem;max-width:280px}.ai-loading-animation{position:relative;display:flex;align-items:center;justify-content:center;width:100px;height:100px;margin-bottom:24px;color:var(--bg-accent)}.ai-pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid var(--bg-accent);animation:aiPulse 1.5s ease-in-out infinite}@keyframes aiPulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.6);opacity:0}}.ai-result{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.ai-result-frame{padding:16px;background:var(--bg-secondary)}.ai-result-frame img{width:100%;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.ai-result-actions{display:flex;gap:12px;padding:16px}.ai-result-actions .btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:8px}.ai-regenerate-btn{width:100%;padding:12px;border:none;border-top:1px solid var(--border-color);background:transparent;cursor:pointer;font-family:var(--font-body);font-size:.9rem;color:var(--text-secondary);transition:var(--transition)}.ai-regenerate-btn:hover{background:var(--bg-accent-light);color:var(--text-accent)}@media (max-width:768px){.ai-generate-layout{grid-template-columns:1fr}.ai-preview-panel{position:static}.ai-photo-grid{grid-template-columns:repeat(4,1fr)}.ai-empty-state,.ai-loading-state{min-height:300px;padding:60px 20px}}.gsap-reveal{opacity:0;visibility:hidden}.features-section,.how-it-works{padding:100px 0;background:var(--bg-primary);position:relative;overflow:hidden}.section-title{text-align:center;font-family:var(--font-display);font-size:2.5rem;font-weight:700;margin-bottom:20px;color:var(--text-primary)}.section-subtitle{text-align:center;color:var(--text-secondary);max-width:600px;margin:0 auto 60px;font-size:1.1rem}.steps-container{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px;text-align:center}.step-card{background:var(--bg-card);padding:40px 30px;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:transform var(--transition),box-shadow var(--transition)}.step-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.step-number{width:60px;height:60px;background:var(--bg-accent-light);color:var(--text-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 20px}.step-title{font-size:1.2rem;font-weight:600;margin-bottom:12px}.step-desc{color:var(--text-secondary);font-size:.95rem}@media (max-width:900px){.steps-container{grid-template-columns:1fr}}.features-section{background:var(--bg-secondary);border-top:1px solid var(--border-color)}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:30px;gap:30px}.feature-box{display:flex;align-items:flex-start;gap:20px;padding:30px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-color);transition:all var(--transition)}.feature-box:hover{border-color:var(--bg-accent);background:var(--bg-accent-light)}.feature-icon{font-size:2rem;color:var(--text-accent);background:var(--bg-primary);width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.feature-content h4{font-size:1.1rem;font-weight:600;margin-bottom:8px}.feature-content p{color:var(--text-secondary);font-size:.9rem;margin:0}@media (max-width:768px){.features-grid{grid-template-columns:1fr}}@font-face{font-family:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Outfit_Fallback_ed3508;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_ed3508{font-family:__Outfit_ed3508,__Outfit_Fallback_ed3508;font-style:normal}.__variable_ed3508{--font-outfit:"__Outfit_ed3508","__Outfit_Fallback_ed3508"}@font-face{font-family:__Great_Vibes_a10525;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/dad5af6a451969b9-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Great_Vibes_a10525;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f751862dd005bbab-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Great_Vibes_a10525;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/162bae04ee86dd69-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Great_Vibes_a10525;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/67d172d8d0152ee1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Great_Vibes_a10525;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/536d9d896eaf4f3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Great_Vibes_a10525;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/87069f06a4f1ee13-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Great_Vibes_Fallback_a10525;src:local("Arial");ascent-override:119.68%;descent-override:56.39%;line-gap-override:0.00%;size-adjust:71.11%}.__className_a10525{font-family:__Great_Vibes_a10525,__Great_Vibes_Fallback_a10525;font-weight:400;font-style:normal}.__variable_a10525{--font-great-vibes:"__Great_Vibes_a10525","__Great_Vibes_Fallback_a10525"}