@import "https://fonts.googleapis.com/css2?family=Baskervville:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";:root{--color-espresso:#2c221e;--color-terracotta:#c86446;--color-terracotta-hover:#b05338;--color-sage:#4a6b53;--color-sage-light:#e8efe9;--color-kraft:#f7f4ee;--color-kraft-card:#efe7da;--color-ochre:#d49b4b;--color-text-muted:#6b5e57;--color-border:#d6cbbf;--font-serif:"Baskervville", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-warm:0 4px 16px #2c221e12;--shadow-hover:0 10px 28px #2c221e1f}.material-symbols-outlined{vertical-align:middle;-webkit-font-smoothing:antialiased;font-family:Material Symbols Outlined;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.icon-v-align{vertical-align:middle;margin-right:.25rem;font-size:1.15em}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-kraft);color:var(--color-espresso);flex-direction:column;min-height:100vh;font-size:15px;line-height:1.5;display:flex}#app{flex-direction:column;width:100%;min-height:100vh;display:flex}header.site-header{background-color:var(--color-kraft-card);border-bottom:2px solid var(--color-border);z-index:100;padding:.75rem 1rem;position:sticky;top:0;box-shadow:0 2px 10px #0000000a}.header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex;position:relative}.brand-logo{color:var(--color-espresso);align-items:center;gap:.5rem;text-decoration:none;display:flex}.brand-logo .logo-icon{color:var(--color-terracotta);font-size:1.6rem}.brand-logo h1{font-family:var(--font-serif);letter-spacing:-.02em;font-size:1.25rem;font-weight:400}.brand-logo span.badge-solidaire{font-family:var(--font-sans);background-color:var(--color-terracotta);color:#fff;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:20px;padding:.2rem .5rem;font-size:.65rem;font-weight:600}.mobile-menu-toggle{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;justify-content:space-around;width:44px;height:44px;padding:10px;transition:background-color .2s;display:flex}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus{background-color:#2c221e0f}.hamburger-bar{background-color:var(--color-espresso);transform-origin:50%;border-radius:2px;width:100%;height:2.5px;transition:all .3s}.mobile-menu-toggle.open .hamburger-bar:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-toggle.open .hamburger-bar:nth-child(2){opacity:0}.mobile-menu-toggle.open .hamburger-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}nav.main-nav{background-color:var(--color-kraft-card);border-bottom:2px solid var(--color-border);flex-direction:column;gap:.5rem;padding:.75rem 1rem 1.25rem;animation:.25s ease-out forwards slideDown;display:none;position:absolute;top:calc(100% + .75rem);left:-1rem;right:-1rem;box-shadow:0 12px 24px #2c221e26}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}nav.main-nav.open{display:flex}nav.main-nav a{color:var(--color-espresso);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:#fff;align-items:center;min-height:48px;padding:.75rem 1rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}nav.main-nav a:hover,nav.main-nav a.router-link-active{background-color:var(--color-sage-light);color:var(--color-sage);border-color:var(--color-sage)}nav.main-nav a.btn-admin{border-color:var(--color-terracotta);color:var(--color-terracotta)}nav.main-nav a.btn-admin:hover,nav.main-nav a.btn-admin.router-link-active{background-color:var(--color-terracotta);color:#fff}main.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.25rem 1rem}.hero-section{background-color:var(--color-kraft-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-warm);flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:1.5rem 1.25rem;display:flex}.hero-text h2{font-family:var(--font-serif);color:var(--color-espresso);margin-bottom:.75rem;font-size:1.75rem;line-height:1.2}.hero-text h2 span{color:var(--color-terracotta);font-style:italic}.hero-text p{color:var(--color-text-muted);margin-bottom:1.25rem;font-size:.95rem;line-height:1.55}.hero-actions{flex-direction:column;gap:.75rem;width:100%;display:flex}.btn-primary,.btn-secondary{text-align:center;cursor:pointer;border-radius:30px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.btn-primary{background-color:var(--color-terracotta);color:#fff;border:none}.btn-primary:hover,.btn-primary:active{background-color:var(--color-terracotta-hover);transform:translateY(-1px)}.btn-secondary{color:var(--color-sage);border:2px solid var(--color-sage);background-color:#0000}.btn-secondary:hover,.btn-secondary:active{background-color:var(--color-sage);color:#fff}.hero-image-gallery{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.hero-image-gallery img{object-fit:cover;border-radius:var(--radius-sm);border:2px solid #fff;width:100%;height:120px;box-shadow:0 3px 8px #00000014}.filter-bar{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-tab{scroll-snap-align:start;background-color:var(--color-kraft-card);border:1px solid var(--color-border);min-height:44px;color:var(--color-espresso);white-space:nowrap;cursor:pointer;border-radius:25px;flex:none;align-items:center;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.filter-tab:hover,.filter-tab.active{background-color:var(--color-terracotta);color:#fff;border-color:var(--color-terracotta)}.section-header{text-align:center;margin-bottom:1.5rem}.section-header h2{font-family:var(--font-serif);color:var(--color-espresso);font-size:1.6rem}.section-header p{color:var(--color-text-muted);margin-top:.4rem;font-size:.92rem}.products-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}.product-card{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-warm);background-color:#fff;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.product-card .card-img-container{background-color:var(--color-kraft-card);height:190px;position:relative}.product-card .card-img-container img{object-fit:cover;width:100%;height:100%}.tag-badge{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#2c221ed9;border-radius:10px;padding:.25rem .55rem;font-size:.72rem;font-weight:600;position:absolute;top:10px;left:10px}.price-tag{background-color:var(--color-terracotta);color:#fff;border-radius:20px;padding:.25rem .75rem;font-size:1.05rem;font-weight:700;position:absolute;bottom:10px;right:10px}.product-card .card-body{flex-direction:column;flex:1;padding:1.1rem;display:flex}.product-card .category-name{text-transform:uppercase;letter-spacing:.08em;color:var(--color-sage);margin-bottom:.35rem;font-size:.75rem;font-weight:700}.product-card h3{font-family:var(--font-serif);color:var(--color-espresso);margin-bottom:.4rem;font-size:1.25rem}.product-card p.desc{color:var(--color-text-muted);flex:1;margin-bottom:1rem;font-size:.9rem}.product-card .card-footer{border-top:1px solid var(--color-kraft-card);justify-content:space-between;align-items:center;padding-top:.75rem;display:flex}.btn-print{color:var(--color-sage);align-items:center;gap:.4rem;min-height:44px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-print:hover{text-decoration:underline}.poster-container{max-width:800px;margin:0 auto}.poster-card{border:6px solid var(--color-espresso);outline:2px dashed var(--color-ochre);outline-offset:-5px;text-align:center;box-shadow:var(--shadow-hover);background-color:#faf8f5;border-radius:4px;padding:1.5rem 1rem;position:relative}.poster-card .poster-header{margin-bottom:1.25rem}.poster-card .poster-header .cafe-title{font-family:var(--font-serif);color:var(--color-espresso);text-transform:uppercase;letter-spacing:.08em;font-size:1.6rem}.poster-card .poster-header .cafe-subtitle{color:var(--color-sage);margin-top:.25rem;font-size:.82rem;font-weight:700}.poster-card .poster-image{object-fit:cover;border-radius:var(--radius-sm);border:2px solid var(--color-kraft-card);width:100%;max-width:100%;height:220px;margin:1rem auto}.poster-card .poster-product-title{font-family:var(--font-serif);color:var(--color-terracotta);margin-bottom:.35rem;font-size:2rem}.poster-card .poster-subtitle-highlight{font-family:var(--font-serif);color:var(--color-sage);margin-bottom:1rem;font-size:1.1rem;font-style:italic}.poster-card .poster-price{color:var(--color-espresso);margin:.75rem 0;font-size:2.3rem;font-weight:800}.poster-card .poster-desc{color:var(--color-espresso);max-width:600px;margin:0 auto 1.5rem;font-size:.95rem}.poster-card .poster-footer{border-top:2px solid var(--color-border);flex-direction:column;align-items:center;gap:1.25rem;padding-top:1.25rem;display:flex}.admin-tabs{border-bottom:2px solid var(--color-border);gap:.5rem;margin-bottom:2rem;padding-bottom:0;display:flex;overflow-x:auto}.admin-tab-btn{font-family:var(--font-sans);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.admin-tab-btn:hover{color:var(--color-espresso)}.admin-tab-btn.active{color:var(--color-terracotta);border-bottom-color:var(--color-terracotta);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:#c864460d}.admin-tab-content{display:none}.admin-tab-content.active{display:block}.admin-card{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-warm);background-color:#fff;margin-bottom:1.5rem;padding:1.25rem 1rem}.admin-card h2{font-family:var(--font-serif);color:var(--color-espresso);margin-bottom:1rem;font-size:1.35rem}.cat-type-badge{border-radius:12px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.cat-type-badge.standard{background:var(--color-kraft-card);color:var(--color-espresso)}.cat-type-badge.syrups{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.cat-type-badge.customizable{color:#3730a3;background:#e0e7ff;border:1px solid #c7d2fe}.admin-image-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;display:grid}.admin-image-card{background:var(--color-kraft-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-warm);flex-direction:column;display:flex;overflow:hidden}.admin-image-preview{background-color:#2c221e;justify-content:center;align-items:center;height:140px;display:flex;overflow:hidden}.admin-image-preview img{object-fit:cover;width:100%;height:100%}.admin-image-info{flex-direction:column;flex:1;padding:.85rem;display:flex}.admin-image-filename{color:var(--color-espresso);margin-bottom:.25rem;font-size:.85rem;font-weight:600}.badge-used{color:#27ae60;background-color:#27ae601f;border-radius:12px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.table-responsive{-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);border:1px solid var(--color-border);width:100%;margin-top:1rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:580px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem .6rem;font-size:.88rem}.admin-table th{background-color:var(--color-kraft-card);font-weight:600}.form-group{margin-bottom:1rem}.form-group label{margin-bottom:.35rem;font-size:.9rem;font-weight:600;display:block}.form-control{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:46px;font-family:var(--font-sans);color:var(--color-espresso);background-color:#fff;padding:.7rem .85rem;font-size:16px}.form-row{flex-direction:column;gap:.5rem;display:flex}footer.site-footer{background-color:var(--color-espresso);color:var(--color-kraft);margin-top:3rem;padding:2rem 1rem}.footer-container{flex-direction:column;gap:1.75rem;max-width:1200px;margin:0 auto;display:flex}.footer-col h4{font-family:var(--font-serif);color:var(--color-ochre);margin-bottom:.6rem;font-size:1.2rem}.footer-col p{color:#d6cbbf;align-items:center;gap:.4rem;font-size:.9rem;display:flex}@media (width>=640px){header.site-header{padding:1rem 1.5rem}.brand-logo h1{font-size:1.45rem}main.main-content{padding:2rem 1.5rem}.hero-section{gap:2rem;padding:2rem}.hero-text h2{font-size:2.2rem}.hero-actions{flex-direction:row}.btn-primary,.btn-secondary{width:auto;padding:.85rem 1.6rem}.products-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.poster-card{border-width:10px;padding:2.5rem}.poster-card .poster-footer{flex-direction:row;justify-content:space-between}.footer-container{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}}@media (width>=900px){header.site-header{padding:1.25rem 2rem}.brand-logo h1{font-size:1.6rem}.mobile-menu-toggle{display:none}nav.main-nav{box-shadow:none;background:0 0;border:none;flex-direction:row;gap:1.25rem;padding:0;animation:none;position:static;display:flex!important}nav.main-nav a{background:0 0;border:none;min-height:auto;padding:.5rem .9rem;font-size:.95rem;font-weight:500}nav.main-nav a.btn-admin{border:1px solid var(--color-terracotta)}.hero-section{grid-template-columns:1fr 1fr;gap:3rem;padding:3rem;display:grid}.hero-text h2{font-size:2.8rem}.hero-image-gallery img{height:180px}.products-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.poster-card{border-width:12px;padding:3.5rem}.poster-card .poster-product-title{font-size:3rem}.poster-card .poster-price{font-size:3.2rem}.footer-container{grid-template-columns:repeat(3,1fr)}}@media print{header.site-header,footer.site-footer,.print-hide-btn,nav.main-nav,.mobile-menu-toggle{display:none!important}body{background-color:#fff!important}main.main-content{padding:0!important}.poster-card{box-shadow:none!important;border-width:6px!important}}
