@layer base,template,storefront;@layer base{:root{--color-primary: #3B82F6;--color-secondary: #1E40AF;--color-accent: #F59E0B;--font-heading: system-ui, sans-serif;--font-body: system-ui, sans-serif;--color-success: #10b981;--color-success-dark: #065f46;--color-success-bg: #d1fae5;--color-error: #dc2626;--color-error-dark: #991b1b;--color-error-bg: #fee2e2;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15)}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;max-width:100%}body{font-family:var(--font-body);line-height:1.6;color:var(--color-gray-700);background:var(--color-gray-50)}main{max-width:100%;overflow-x:hidden}body.ecommerce-layout,body.saas-layout{display:flex;flex-direction:column;min-height:100vh}body.ecommerce-layout>main,body.saas-layout>main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:var(--color-gray-900);line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2.2rem,4.5vw,3.75rem);font-weight:800;margin-bottom:1rem;line-height:1.1}h2{font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:.75rem;line-height:1.15}h3{font-size:clamp(1.2rem,2vw,1.5rem);margin-bottom:.625rem;line-height:1.25}h4{font-size:1.125rem;font-weight:600;color:var(--color-gray-800);margin-bottom:.5rem}h5{font-size:1rem;font-weight:600;color:var(--color-gray-700);margin-bottom:.5rem;letter-spacing:0}h6{font-size:.8125rem;font-weight:600;color:var(--color-gray-500);margin-bottom:.5rem;letter-spacing:.06em;text-transform:uppercase}p{margin-bottom:1rem;line-height:1.75}p:last-child{margin-bottom:0}ul,ol{margin-bottom:1rem;padding-left:1.5rem;line-height:1.7}ul{list-style:disc}ol{list-style:decimal}li{margin-bottom:.35rem}li:last-child{margin-bottom:0}strong,b{font-weight:700}em,i{font-style:italic}blockquote{border-left:3px solid var(--color-gray-300);margin:1.5rem 0;padding:.75rem 1.25rem;color:var(--color-gray-600);font-style:italic}hr{border:none;border-top:1px solid var(--color-gray-200);margin:2rem 0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:inherit;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;font-size:1rem;text-align:center;cursor:pointer;transition:all .2s;border:2px solid transparent}.btn:hover{text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-gray-900);color:#fff;border:2px solid var(--color-gray-900)}.btn-primary:hover{background:var(--color-gray-700);border-color:var(--color-gray-700)}.btn-secondary{background:var(--color-primary);color:#fff;border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-secondary);border-color:var(--color-secondary)}.btn-outline{background:transparent;color:var(--color-gray-900);border:2px solid var(--color-gray-900)}.btn-outline:hover{background:var(--color-gray-900);color:#fff}.btn-full{width:100%}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--color-gray-700)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-gray-400)}.field-hint{display:block;margin-top:.25rem;font-size:.8rem;color:var(--color-gray-500, #6b7280)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-gray-200)}.form-section:last-of-type{border-bottom:none}.form-checkbox{margin-top:var(--spacing-sm)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;font-weight:400;font-size:.875rem;color:var(--color-gray-600)}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:var(--color-primary)}.form-status{margin-top:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);display:none}.form-status.success{display:block;background:var(--color-success-bg);color:var(--color-success-dark)}.form-status.error{display:block;background:var(--color-error-bg);color:var(--color-error-dark)}.form-unavailable{color:#888;font-style:italic;margin-top:1rem}.form-error{color:var(--color-error);font-size:.875rem;margin-top:var(--spacing-sm)}.form-success{color:var(--color-success);font-size:.875rem;margin-top:var(--spacing-sm)}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-gray{background:var(--color-gray-50);padding:var(--spacing-lg);border-radius:var(--radius-lg)}.loading{text-align:center;color:var(--color-gray-500);padding:var(--spacing-xl)}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner-lg{width:48px;height:48px;border-width:3px}.empty-state{text-align:center;padding:4rem var(--spacing-xl)}.empty-state p{color:var(--color-gray-500);margin-bottom:var(--spacing-lg)}.badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.badge-primary{background:var(--color-primary);color:#fff}.badge-success{background:var(--color-success-bg);color:var(--color-success-dark)}.badge-error{background:var(--color-error-bg);color:var(--color-error-dark)}.badge-gray{background:var(--color-gray-100);color:var(--color-gray-500)}.tag{font-size:.75rem;color:var(--color-gray-500);background:var(--color-gray-100);padding:.125rem .5rem;border-radius:var(--radius-full)}.price{display:flex;align-items:center;gap:var(--spacing-sm)}.price-current{font-size:1.125rem;font-weight:700;color:var(--color-primary)}.price-original{font-size:.875rem;color:var(--color-gray-400);text-decoration:line-through}.divider{display:flex;align-items:center;margin:var(--spacing-lg) 0;color:var(--color-gray-400);font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--color-gray-200)}.divider span{padding:0 var(--spacing-md)}.cookie-banner{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--color-gray-800);color:var(--color-gray-100);z-index:1000;box-shadow:0 -4px 20px #00000026}.cookie-banner-content{max-width:1200px;margin:0 auto;padding:1.25rem var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.cookie-banner-text{flex:1}.cookie-banner-text h3{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-xs);color:#fff}.cookie-banner-text p{font-size:.875rem;color:var(--color-gray-300);line-height:1.5;margin:0}.cookie-banner-actions{display:flex;gap:.75rem;flex-shrink:0}.cookie-banner-actions .btn{padding:.625rem 1.25rem;font-size:.875rem;white-space:nowrap}.rich-text{color:var(--color-gray-700);line-height:1.8;font-size:1rem}.rich-text .accent{color:#0891b2}.rich-text h1{margin-top:2rem;margin-bottom:.75rem}.rich-text h2{margin-top:1.75rem;margin-bottom:.75rem}.rich-text h3{margin-top:1.5rem;margin-bottom:.625rem}.rich-text h4{margin-top:1.25rem;margin-bottom:.5rem}.rich-text h5,.rich-text h6{margin-top:1rem;margin-bottom:.5rem}.rich-text :first-child{margin-top:0}.rich-text :last-child{margin-bottom:0}.rich-text p{margin-bottom:1rem}.rich-text ul,.rich-text ol{margin:.75rem 0 1rem;padding-left:1.6rem}.rich-text ul{list-style:disc}.rich-text ol{list-style:decimal}.rich-text li{margin-bottom:.4rem}.rich-text a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.rich-text a:hover{color:var(--color-secondary)}.rich-text blockquote{border-left:3px solid var(--color-gray-300);margin:1.5rem 0;padding:.75rem 1.25rem;color:var(--color-gray-600);font-style:italic}.rich-text code{font-family:Fira Code,Cascadia Code,monospace;font-size:.875em;background:var(--color-gray-100);color:var(--color-gray-800);padding:.15em .4em;border-radius:4px}.rich-text pre{background:var(--color-gray-900);color:var(--color-gray-100);padding:1.25rem 1.5rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0;font-size:.875rem;line-height:1.7}.rich-text pre code{background:transparent;padding:0;font-size:inherit;color:inherit}.rich-text hr{border:none;border-top:1px solid var(--color-gray-200);margin:2rem 0}.rich-text img{max-width:100%;border-radius:8px;margin:1rem 0}.rich-text table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9375rem}.rich-text th,.rich-text td{padding:.625rem .875rem;border:1px solid var(--color-gray-200);text-align:left}.rich-text th{background:var(--color-gray-50);font-weight:600;color:var(--color-gray-800)}.static-page{padding:var(--spacing-xl) var(--spacing-md);max-width:800px}.static-page h1{margin-bottom:var(--spacing-xl);font-size:2.5rem}.page-content{color:var(--color-gray-700);line-height:1.8}.page-content h2{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);font-size:1.5rem}.page-content h3{margin-top:var(--spacing-lg);margin-bottom:.75rem;font-size:1.25rem}.page-content p{margin-bottom:var(--spacing-md)}.page-content ul,.page-content ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}.page-content li{margin-bottom:var(--spacing-sm)}.page-content a{color:var(--color-primary)}.contact-page{padding:var(--spacing-xl) var(--spacing-md);max-width:600px}.contact-page h1{margin-bottom:var(--spacing-sm)}.contact-form{background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;max-width:500px;margin:0 auto;text-align:center}.contact-form h1{margin:0 0 .5rem;font-size:1.5rem}.contact-form .subtitle{color:var(--color-gray-500);margin-bottom:var(--spacing-xl)}.contact-form .form-group{margin-bottom:var(--spacing-lg);text-align:left}.contact-form button{width:100%}.success-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--color-gray-50);padding:var(--spacing-xl);border-radius:var(--radius-lg);min-height:320px}.success-state .success-icon{width:64px;height:64px;background:var(--color-success, #22c55e);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:var(--spacing-lg)}.success-state h2{margin-bottom:var(--spacing-sm);color:var(--color-gray-900)}.success-state p{color:var(--color-gray-500);margin-bottom:var(--spacing-xl)}.success-state .btn-secondary{min-width:200px}.cooldown-indicator{margin-top:var(--spacing-sm);font-size:.875rem;color:var(--color-gray-400);transition:opacity .3s ease}.toast-container{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);z-index:1001;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-md);background:var(--color-gray-800);color:#fff;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-slide-in .3s ease-out;max-width:360px}.toast.toast-exit{animation:toast-slide-out .2s ease-in forwards}.toast.toast-clickable{cursor:pointer}.toast.toast-clickable:hover{background:var(--color-gray-700)}.toast-image{width:48px;height:48px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:var(--color-gray-700)}.toast-image img{width:100%;height:100%;object-fit:cover}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:.875rem;margin-bottom:.125rem}.toast-message{font-size:.8125rem;color:var(--color-gray-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-action{color:var(--color-accent);font-weight:500;font-size:.8125rem;text-decoration:none;white-space:nowrap;flex-shrink:0}.toast-action:hover{text-decoration:underline;color:var(--color-accent)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:var(--radius-lg);max-width:440px;width:100%;box-shadow:0 4px 20px #00000026;animation:modalIn .2s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-gray-200)}.modal-header h3{margin:0;font-size:1.125rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-gray-500);padding:0;line-height:1}.modal-close:hover{color:var(--color-gray-700)}.modal-body{padding:1.25rem}.modal-body p{margin:0 0 1rem;line-height:1.5;color:var(--color-gray-600)}.modal-body p:last-child{margin-bottom:0}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--color-gray-200)}.btn-danger{background:var(--color-error);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{background:var(--color-gray-400);cursor:not-allowed}.faq-section{margin:2rem 0}.faq-title{font-size:1.5rem;margin-bottom:1.5rem}.faq-accordion{display:flex;flex-direction:column;gap:.5rem}.faq-accordion .faq-item{border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden}.faq-accordion .faq-question{padding:1rem 1.25rem;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-accordion .faq-question:after{content:"+";font-size:1.25rem;font-weight:300;transition:transform .2s ease}.faq-accordion details[open] .faq-question:after{transform:rotate(45deg)}.faq-accordion .faq-answer{padding:0 1.25rem 1rem;color:var(--color-gray-500);line-height:1.6}.faq-list{display:flex;flex-direction:column;gap:2rem}.faq-list .faq-question{font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.faq-list .faq-answer{color:var(--color-gray-500);line-height:1.6}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media(min-width:768px){.cookie-banner-content{flex-direction:row;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}}@media(max-width:768px){.form-row{grid-template-columns:1fr}.container{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}@media(max-width:480px){.cookie-banner-actions{flex-direction:column;width:100%}.cookie-banner-actions .btn{width:100%}.toast-container{left:var(--spacing-md);right:var(--spacing-md)}.toast{max-width:100%}}.btn-social{width:100%;background:#fff;color:var(--color-gray-700);border:1px solid var(--color-gray-300);margin-bottom:.75rem}.btn-social:hover{background:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-social:last-child{margin-bottom:0}.btn-social-apple{background:#000;color:#fff;border-color:#000}.btn-social-apple:hover{background:var(--color-gray-800);border-color:var(--color-gray-800)}.auth-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md)}.auth-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:2.5rem;width:100%;max-width:400px}.auth-step{text-align:center}.auth-logo{margin-bottom:var(--spacing-sm)}.auth-logo img{max-height:120px;width:auto}.auth-logo .logo-text{font-size:1.75rem;font-weight:700;color:var(--color-primary)}.auth-step h1{font-size:1.25rem;font-weight:600;color:var(--color-gray-900);margin-bottom:var(--spacing-lg)}.auth-form{margin-bottom:var(--spacing-md)}.auth-link{color:var(--color-gray-500);font-size:.875rem;margin:var(--spacing-md) 0}.auth-link a{color:var(--color-primary);font-weight:500}.auth-divider{display:flex;align-items:center;margin:var(--spacing-lg) 0;color:var(--color-gray-400);font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-gray-200)}.auth-divider span{padding:0 var(--spacing-md)}.auth-terms{color:var(--color-gray-400);font-size:.75rem;line-height:1.5}.auth-terms a{color:var(--color-gray-500)}.auth-message{color:var(--color-gray-500);font-size:.9375rem;line-height:1.6;margin-bottom:var(--spacing-xl)}.auth-message strong{color:var(--color-gray-700)}.auth-error{background:var(--color-error-bg);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-lg);font-size:.875rem;margin-top:var(--spacing-md)}.email-icon,.success-icon{color:var(--color-primary);margin:var(--spacing-xl) 0}.success-icon{color:var(--color-success)}.social-buttons{margin-bottom:var(--spacing-lg)}@media(max-width:768px){.auth-card{padding:var(--spacing-lg)}}@media(max-width:480px){.auth-card{padding:var(--spacing-lg)}}.auth-mode-signup,[data-auth-mode=signup] .auth-mode-signin{display:none}[data-auth-mode=signup] .auth-step h1>.auth-mode-signup,[data-auth-mode=signup] .btn .auth-mode-signup{display:inline}[data-auth-mode=signup] .form-group.auth-mode-signup{display:block}.auth-submit-busy,.btn.is-busy .auth-submit-label{display:none}.btn.is-busy .auth-submit-busy{display:inline}}
