:root{--primary: #7c1d2e;--primary-dark: #641725;--primary-light: #fff1f2;--text: #1e293b;--text-muted: #64748b;--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--radius: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 24px rgba(0, 0, 0, .1)}[data-theme=dark]{color-scheme:dark;--primary: #f4a5b0;--primary-dark: #e87a8a;--primary-light: #4a0e1c;--text: #f1f5f9;--text-muted: #94a3b8;--bg: #0f172a;--surface: #1e293b;--border: #334155;--shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 4px 24px rgba(0, 0, 0, .45)}[data-theme=dark] .alert-error{background:#450a0a;border-color:#7f1d1d}[data-theme=dark] .alert-success{background:#052e16;border-color:#166534}[data-theme=dark] .alert-warning,[data-theme=dark] .support-notice,[data-theme=dark] .policy-notice{background:#422006;color:#fcd34d;border-color:#854d0e}[data-theme=dark] .support-icon-whatsapp{background:#14532d}[data-theme=dark] .festival-card-image,[data-theme=dark] .product-card-image{background:#334155}[data-theme=dark] .footer-social-link{background:var(--surface)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0f172a;color:var(--text)}[data-theme=dark] .btn-outline{background:transparent}[data-theme=dark] .btn-whatsapp:hover{color:#fff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;min-height:100dvh;overflow-x:clip}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 max(1rem,env(safe-area-inset-left,0));padding-right:max(1rem,env(safe-area-inset-right,0))}@media (min-width: 768px){.container{padding-left:max(1.5rem,env(safe-area-inset-left,0));padding-right:max(1.5rem,env(safe-area-inset-right,0))}}@media (min-width: 1024px){.container{padding-left:max(2rem,env(safe-area-inset-left,0));padding-right:max(2rem,env(safe-area-inset-right,0))}}.app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;padding:1rem 0 2.5rem;padding-bottom:max(2.5rem,env(safe-area-inset-bottom,0))}.main:has(.home-page){padding:0}@media (min-width: 768px){.main{padding:1.5rem 0 3rem}.main:has(.home-page){padding:0}}.header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;padding-top:env(safe-area-inset-top,0)}.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem 1rem;padding:.75rem 0}@media (min-width: 640px){.header-inner{grid-template-columns:minmax(0,1fr) auto;padding-top:.75rem;padding-bottom:.75rem}.header .brand-logo-img{height:56px;max-width:min(280px,40vw)}}.logo{font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700;color:var(--primary);text-decoration:none;justify-self:start}.brand-logo{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;line-height:1.1;flex-shrink:1;min-width:0;justify-self:start}.brand-logo-suffix{font-size:.75rem;font-weight:700;color:var(--primary);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;line-height:1}.brand-logo-img{display:block;height:auto;width:auto;object-fit:contain;border:none;border-radius:0;background:transparent;box-shadow:none}.header .brand-logo-img{height:54px;max-width:min(300px,76vw)}@media (min-width: 1024px){.header .brand-logo-img{height:64px;max-width:360px}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;min-width:2.5rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;transition:background .2s,border-color .2s,color .2s}.theme-toggle:hover{border-color:var(--primary);color:var(--primary)}.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f140}.nav{display:flex;gap:.5rem;justify-content:center;grid-column:1 / -1;order:3}.nav:empty{display:none}@media (min-width: 640px){.nav{grid-column:auto;order:0;justify-self:center}}.nav-link{padding:.5rem 1rem;min-height:44px;display:inline-flex;align-items:center;border-radius:8px;color:var(--text-muted);text-decoration:none;font-weight:500;transition:all .2s}.nav-link:hover,.nav-link.active{color:var(--primary);background:var(--primary-light);text-decoration:none}.badge{background:var(--primary);color:#fff;font-size:.7rem;padding:.1rem .45rem;border-radius:999px;margin-left:.25rem}.header-actions{display:flex;align-items:center;gap:.375rem;flex-wrap:nowrap;justify-self:end;flex-shrink:0}@media (min-width: 480px){.header-actions{gap:.5rem}}.header-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;min-width:2.5rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);text-decoration:none;transition:background .2s,border-color .2s,color .2s}.header-cart:hover,.header-cart.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light);text-decoration:none}.header-cart:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f140}.cart-badge{position:absolute;top:-.35rem;right:-.35rem;min-width:1.125rem;height:1.125rem;padding:0 .25rem;border-radius:999px;background:var(--primary);color:#fff;font-size:.625rem;font-weight:700;line-height:1.125rem;text-align:center}.user-greeting{display:none;font-size:.875rem;color:var(--text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.user-greeting{max-width:none}}@media (min-width: 640px){.user-greeting{display:inline}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;min-height:44px;border-radius:8px;font-size:.9375rem;font-weight:600;border:2px solid transparent;cursor:pointer;transition:all .2s;text-decoration:none;font-family:inherit;touch-action:manipulation}.btn:hover{text-decoration:none}.btn-primary{background:#7c1d2e;color:#fff;border-color:#7c1d2e}.btn-primary:hover{background:#641725;border-color:#641725}[data-theme=dark] .btn-primary{background:#a83347;border-color:#a83347;color:#fff}[data-theme=dark] .btn-primary:hover{background:#8f2a3c;border-color:#8f2a3c}.btn-outline{background:transparent;border-color:var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-sm{padding:.4rem .875rem;font-size:.875rem}.btn-block{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;min-height:44px;border:1px solid var(--border);border-radius:8px;font-size:16px;font-family:inherit;background:var(--surface);color:var(--text);transition:border-color .2s}.form-group select:disabled{opacity:.6;cursor:not-allowed}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.phone-input{display:flex;gap:.5rem}.phone-input input{flex:1;min-width:0;min-height:44px;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:16px;font-family:inherit}.phone-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.country-select{position:relative;flex:0 0 auto}.country-select-trigger{display:flex;align-items:center;gap:.375rem;height:100%;min-height:2.875rem;padding:.5rem .625rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;font-family:inherit;font-size:.875rem;white-space:nowrap}.country-select-trigger:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.country-flag{width:1.5rem;height:1rem;object-fit:cover;border-radius:2px;flex-shrink:0}.country-code{font-weight:600}.country-chevron{color:var(--text-muted);font-size:.75rem}.country-select-menu{position:absolute;top:calc(100% + .25rem);left:0;z-index:200;min-width:16rem;max-height:14rem;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);list-style:none;padding:.25rem;margin:0}.country-select-option{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .625rem;border:none;border-radius:6px;background:transparent;cursor:pointer;font-family:inherit;font-size:.875rem;text-align:left}.country-select-option:hover,.country-select-option.selected{background:var(--primary-light)}.country-option-text{color:var(--text)}@media (max-width: 479px){.phone-input{flex-direction:column}.country-select-menu{min-width:100%}}.checkbox-group{margin-bottom:1rem;display:flex;flex-direction:column;gap:.625rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9375rem;font-weight:400;line-height:1.2}.checkbox-label input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;padding:0;margin:0;flex:0 0 auto;-moz-appearance:auto;appearance:auto;-webkit-appearance:checkbox;vertical-align:middle;accent-color:var(--primary);cursor:pointer}.checkbox-label span{display:inline-block;line-height:1.2}.form-row{display:grid;grid-template-columns:1fr;gap:0}@media (min-width: 480px){.form-row{grid-template-columns:1fr 1fr;gap:1rem}}.auth-page{display:flex;justify-content:center;align-items:flex-start;padding:1rem 0 2rem}.auth-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1.5rem;width:100%;max-width:440px}@media (min-width: 480px){.auth-page{padding-top:2rem}.auth-card{padding:2rem}}.auth-card h1{font-size:clamp(1.5rem,4vw,1.75rem);margin-bottom:.25rem}.auth-subtitle{color:var(--text-muted);margin-bottom:1.5rem}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--text-muted)}.auth-legal{text-align:center;margin-top:1rem;font-size:.8125rem;color:var(--text-muted);line-height:1.5}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--text-muted);font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.google-btn-container{display:flex;justify-content:center;min-height:44px}.google-btn-container iframe,.google-btn-container>div{width:100%!important}.google-btn-loading{opacity:.6;pointer-events:none}.btn-google{background:var(--surface);color:var(--text);border:1px solid var(--border)}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.alert-error{background:#fef2f2;color:var(--error);border:1px solid #fecaca}.alert-success{background:#ecfdf5;color:var(--success);border:1px solid #a7f3d0}.alert-warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.hero{text-align:center;padding:2rem 0 1rem}.festival-section{margin-bottom:2.5rem}.festival-section-header{text-align:center;margin-bottom:1.5rem}.festival-section-header h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.375rem}.festival-section-header p{color:var(--text-muted)}.festival-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 540px){.festival-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (min-width: 900px){.festival-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 540px) and (max-width: 899px){.festival-grid{grid-template-columns:repeat(2,1fr)}}.festival-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;line-height:0}.festival-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);text-decoration:none}.festival-card img{width:100%;height:auto;display:block;transition:transform .35s}.festival-card:hover img{transform:scale(1.02)}.festival-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(15,23,42,.88) 0%,rgba(15,23,42,.35) 35%,transparent 60%);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.25rem;padding:1rem 1.125rem;color:#fff;text-align:left;pointer-events:none}.festival-card-overlay h3{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;line-height:1.3}.festival-card-cta{font-size:clamp(.75rem,2vw,.875rem);font-weight:500;opacity:.95}.festival-page{margin:-1.5rem 0 0}.festival-hero{position:relative;display:flex;align-items:center;justify-content:center;background:#eef2f6;overflow:hidden}.festival-hero-image{width:100%;height:auto;max-height:420px;object-fit:contain;object-position:center;display:block}@media (min-width: 768px){.festival-hero-image{max-height:480px}}@media (min-width: 1024px){.festival-hero-image{max-height:540px}}.festival-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.1) 45%,transparent 65%);pointer-events:none}.festival-hero-content{position:absolute;inset:auto 0 0 0;z-index:1;padding:1.5rem 0;padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0));color:#fff}@media (min-width: 768px){.festival-hero-content{padding-top:2.5rem}}.festival-back-link{display:inline-block;color:#ffffffd9;font-size:.875rem;margin-bottom:.75rem;text-decoration:none}.festival-back-link:hover{color:#fff;text-decoration:none}.festival-hero-content h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.375rem}.festival-tagline{font-size:clamp(.9375rem,2.5vw,1.125rem);opacity:.9}.festival-body{padding:1.5rem 0 2.5rem}@media (min-width: 768px){.festival-body{padding:2rem 0 3rem}}.festival-description{font-size:clamp(.9375rem,2vw,1.0625rem);color:var(--text-muted);line-height:1.7;max-width:720px;margin-bottom:2rem}.festival-products-title{font-size:1.375rem;margin-bottom:1.25rem}.hero h1{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:.5rem}.hero p{color:var(--text-muted);font-size:clamp(1rem,2vw,1.125rem)}.category-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem}.category-filter::-webkit-scrollbar{display:none}@media (min-width: 768px){.category-filter{justify-content:center;overflow-x:visible;margin-bottom:2rem}}.category-chip{padding:.5rem 1rem;min-height:44px;flex-shrink:0;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;font-family:inherit}.category-chip:hover{border-color:var(--primary);color:var(--primary)}.category-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.shop-search{margin-bottom:1rem}.shop-search input{width:100%;max-width:520px;display:block;margin:0 auto;padding:.75rem 1rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:16px}.shop-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.subcategory-filter{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.5rem;overflow-x:visible}.shop-page .subcategory-filter{justify-content:center}.filter-label{font-size:.875rem;font-weight:600;color:var(--text-muted);flex-shrink:0}.subcategory-chip{padding:.4rem .875rem;min-height:36px;border-radius:999px;border:1px dashed var(--border);background:var(--surface);cursor:pointer;font-size:.8125rem;font-weight:500;font-family:inherit;color:var(--text-muted)}.subcategory-chip:hover,.subcategory-chip.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.subcategory-chip.active{border-style:solid}.product-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 400px){.product-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (min-width: 768px){.product-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width: 1100px){.product-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1400px){.product-grid{gap:1.75rem}}.product-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.product-image{position:relative;aspect-ratio:1;overflow:hidden;background:#f1f5f9}.product-image img{width:100%;height:100%;object-fit:cover}.product-img-grey{filter:grayscale(100%);opacity:.55}.product-card-unavailable .product-image{background:var(--bg)}.product-category{position:absolute;top:.75rem;left:.75rem;background:#ffffffe6;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600}[data-theme=dark] .product-category{background:#1e293beb;color:var(--text)}.product-body{padding:1rem;flex:1;display:flex;flex-direction:column}.product-body h3{font-size:1rem;margin-bottom:.375rem}.product-desc{font-size:.8125rem;color:var(--text-muted);margin-bottom:1rem;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-stock-notice{font-size:.8125rem;font-weight:600;margin:-.5rem 0 .75rem}.product-stock-notice.low-stock{color:var(--warning)}.product-stock-notice.out-of-stock{color:var(--error)}.cart-item-stock{font-size:.8125rem;font-weight:600;margin:.25rem 0 0}.cart-item-stock.low-stock{color:var(--warning)}.cart-item-stock.out-of-stock{color:var(--error)}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.product-cart-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.cart-added-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;font-weight:600;letter-spacing:.01em;color:#2e7d32;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:999px;padding:.15rem .45rem;line-height:1.2;white-space:nowrap;animation:cart-badge-in .2s ease-out}.cart-added-badge svg{flex-shrink:0}.cart-added-error{color:#c62828;background:#ffebee;border-color:#ffcdd2}@keyframes cart-badge-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 399px){.product-footer{flex-direction:column;align-items:stretch}.product-cart-actions{justify-content:space-between}.product-footer .btn{flex:1}}.product-price{font-size:clamp(1rem,2.5vw,1.125rem);font-weight:700;color:var(--primary)}.cart-page h1{margin-bottom:1.5rem}.cart-layout{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.cart-layout{grid-template-columns:1fr 320px}}@media (min-width: 1024px){.cart-layout{grid-template-columns:1fr 360px}}.cart-item{display:grid;grid-template-columns:72px 1fr auto;grid-template-rows:auto auto;gap:.75rem 1rem;background:var(--surface);padding:1rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;align-items:center}@media (min-width: 640px){.cart-item{grid-template-columns:80px 1fr auto auto auto;grid-template-rows:auto}}.cart-item img{width:72px;height:72px;object-fit:cover;border-radius:8px;grid-row:span 2}@media (min-width: 640px){.cart-item img{grid-row:auto;width:80px;height:80px}}.cart-item-info h3{font-size:.9375rem}.cart-item-price{font-size:.8125rem;color:var(--text-muted)}.cart-item-qty{display:flex;align-items:center;gap:.5rem}.cart-item-qty button{width:44px;height:44px;border:1px solid var(--border);background:var(--surface);border-radius:6px;cursor:pointer;font-size:1rem;touch-action:manipulation}.cart-item-qty span{min-width:1.5rem;text-align:center;font-weight:600}.cart-item-subtotal{font-weight:700;font-size:1rem}.cart-remove{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;touch-action:manipulation}.cart-remove:hover{color:var(--error)}.cart-summary{background:var(--surface);padding:1.25rem;border-radius:var(--radius);box-shadow:var(--shadow);height:fit-content}@media (min-width: 768px){.cart-summary{padding:1.5rem;position:sticky;top:5rem}}.cart-summary h2{font-size:1.125rem;margin-bottom:1rem}.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9375rem}.summary-row.total{border-top:1px solid var(--border);margin-top:.5rem;padding-top:1rem;font-size:1.125rem;font-weight:700}.summary-row.discount-row{color:var(--success);font-weight:600}.order-confirmation-totals .order-confirmation-total.discount-row{color:var(--success)}.continue-link{display:block;text-align:center;margin-top:1rem;font-size:.875rem}.loading,.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-state .btn{margin-top:1rem}.footer{background:var(--surface);border-top:1px solid var(--border);padding:1.25rem 0;padding-bottom:max(1.25rem,env(safe-area-inset-bottom,0));color:var(--text-muted);font-size:.875rem}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}@media (min-width: 640px){.footer-inner{flex-direction:row;justify-content:space-between;text-align:left}}.footer-nav{display:flex;gap:1.25rem}.footer-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem}@media (min-width: 640px){.footer-actions{flex-direction:row;align-items:center;gap:1.25rem}}.footer-social{display:flex;align-items:center;gap:.75rem}.footer-social-link{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);transition:color .2s,background .2s,border-color .2s}.footer-social-link:hover{color:var(--primary);border-color:var(--primary);text-decoration:none}.footer-nav a{color:var(--text-muted);text-decoration:none;font-weight:500}.footer-nav a:hover{color:var(--primary);text-decoration:none}.support-page{max-width:960px;padding-bottom:2rem}.support-header{text-align:center;margin-bottom:2rem}.support-header h1{font-size:clamp(1.75rem,4vw,2.25rem);margin-bottom:.5rem}.support-header p{color:var(--text-muted);max-width:560px;margin:0 auto;line-height:1.6}.support-notice{margin-top:1rem;padding:.75rem 1rem;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:8px;font-size:.875rem;font-weight:500}.support-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem}@media (min-width: 768px){.support-grid{grid-template-columns:1fr 1fr}}.support-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;display:flex;flex-direction:column}@media (min-width: 480px){.support-card{padding:2rem}}.support-card h2{font-size:1.25rem;margin-bottom:.5rem}.support-card>p{color:var(--text-muted);font-size:.9375rem;margin-bottom:1.25rem;flex:1}.support-card-icon{width:3.5rem;height:3.5rem;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.support-icon-whatsapp{background:#dcfce7;color:#25d366}.support-icon-email{background:var(--primary-light);color:var(--primary)}.btn-whatsapp{background:#25d366;color:#fff;gap:.5rem}.btn-whatsapp:hover{background:#1da851;color:#fff}.support-email-form textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:16px;font-family:inherit;resize:vertical;min-height:100px}.support-email-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.support-faq{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}@media (min-width: 480px){.support-faq{padding:2rem}}.support-faq h2{font-size:1.125rem;margin-bottom:1rem}.support-faq ul{list-style:none;display:grid;gap:.625rem}.support-faq li{padding-left:1.25rem;position:relative;color:var(--text-muted);font-size:.9375rem}.support-faq li:before{content:"•";position:absolute;left:0;color:var(--primary);font-weight:700}.policy-page{max-width:720px;padding-bottom:2rem}.policy-header{text-align:center;margin-bottom:2rem}.policy-header h1{font-size:clamp(1.75rem,4vw,2.25rem);margin-bottom:.5rem}.policy-header p{color:var(--text-muted);line-height:1.6}.policy-notice{margin-bottom:2rem;padding:1rem 1.25rem;background:#fffbeb;color:#92400e;border:1px solid #fde68a;border-radius:var(--radius);font-size:.9375rem;font-weight:500;line-height:1.6}.policy-content{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.25rem}@media (min-width: 480px){.policy-content{padding:2rem}}.policy-content h2{font-size:1.125rem;margin-bottom:.75rem}.policy-content p{color:var(--text-muted);font-size:.9375rem;line-height:1.7;margin-bottom:.75rem}.policy-content p:last-child{margin-bottom:0}.policy-content ul{list-style:none;display:grid;gap:.5rem;margin:.75rem 0 1rem}.policy-content li{padding-left:1.25rem;position:relative;color:var(--text-muted);font-size:.9375rem;line-height:1.6}.policy-content li:before{content:"•";position:absolute;left:0;color:var(--primary);font-weight:700}.policy-content a{color:var(--primary);font-weight:500}.profile-menu{position:relative;display:inline-flex}.avatar{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:var(--primary);color:#fff;font-weight:700;font-size:.9rem;letter-spacing:.02em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease,box-shadow .15s ease}.avatar:hover{transform:translateY(-1px);box-shadow:0 0 0 3px var(--primary-light)}.avatar-lg{width:3rem;height:3rem;font-size:1.05rem;cursor:default}.profile-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50;overflow:hidden}.profile-dropdown-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border)}.profile-dropdown-info{display:flex;flex-direction:column;min-width:0}.profile-dropdown-info strong{font-size:.95rem}.profile-dropdown-info .muted{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.profile-dropdown-links{display:flex;flex-direction:column;padding:.375rem}.profile-dropdown-links a,.profile-dropdown-links button{display:block;width:100%;text-align:left;padding:.625rem .75rem;border:none;background:none;color:var(--text);font-size:.9rem;border-radius:8px;cursor:pointer;text-decoration:none}.profile-dropdown-links a:hover,.profile-dropdown-links button:hover{background:var(--primary-light);color:var(--primary)}.profile-logout{border-top:1px solid var(--border)!important;border-radius:0!important;margin-top:.25rem;color:var(--error)!important}.profile-logout:hover{background:#ef444414!important;color:var(--error)!important}.account-page{display:flex;justify-content:center;padding-top:2rem;padding-bottom:3rem}.account-card{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem}.orders-page{padding-top:1.5rem;padding-bottom:3rem}.orders-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border);margin:1.25rem 0 1.5rem}.orders-tab{padding:.625rem 1rem;border:none;background:none;color:var(--text-muted);font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.orders-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.orders-list{display:grid;gap:1rem}.order-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.order-card-head{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border)}.order-id{font-weight:700;margin-right:.75rem}.order-date{color:var(--text-muted);font-size:.85rem}.order-status{font-size:.78rem;font-weight:600;padding:.25rem .625rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;background:var(--primary-light);color:var(--primary)}.order-status.status-delivered{background:#10b9811f;color:var(--success)}.order-status.status-cancelled{background:#ef44441f;color:var(--error)}.order-items{display:grid;gap:.75rem;padding:1rem}.order-item{display:flex;align-items:center;gap:.875rem}.order-item img,.order-item-noimg{width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--primary-light);flex:0 0 auto}.order-item-info{display:flex;flex-direction:column;flex:1;min-width:0}.order-item-name{font-weight:500}.order-item-subtotal{font-weight:600;white-space:nowrap}.order-card-foot{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-top:1px solid var(--border);background:var(--bg)}.order-total{font-weight:700}.checkout-page{padding-top:1.5rem;padding-bottom:3rem}.checkout-steps{display:flex;align-items:center;gap:1rem;list-style:none;padding:0;margin:1.25rem 0 0;flex-wrap:wrap}.checkout-step{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-weight:500;font-size:.95rem}.checkout-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid var(--border);font-size:.85rem;font-weight:700}.checkout-step.active{color:var(--primary)}.checkout-step.active .checkout-step-num{border-color:var(--primary);background:var(--primary);color:#fff}.checkout-step.done{color:var(--success)}.checkout-step.done .checkout-step-num{border-color:var(--success);background:var(--success);color:#fff}.payment-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.checkout-address-recap{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;font-size:.875rem;margin:.75rem 0 1rem;line-height:1.5}.checkout-address-recap p{margin:.375rem 0 0}.recap-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.recap-edit{border:none;background:none;color:var(--primary);font-weight:600;font-size:.85rem;cursor:pointer;padding:0;text-decoration:underline}.order-address{padding:0 1rem .875rem}.order-address p{margin:.125rem 0 0;font-size:.875rem;line-height:1.5}.checkout-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1.25rem}@media (min-width: 880px){.checkout-layout{grid-template-columns:1.4fr 1fr;align-items:start}}.payment-panel,.checkout-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.payment-method-tabs{display:flex;gap:.5rem;margin:1rem 0}.payment-tab{flex:1;padding:.625rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-weight:500;cursor:pointer}.payment-tab.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.payment-upi,.payment-qr{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.payment-qr{align-items:center;text-align:center}.upi-id-box{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border:1px dashed var(--border);border-radius:8px;background:var(--bg)}.upi-id{font-family:monospace;font-size:1rem;font-weight:600}.qr-wrap{display:inline-flex;padding:.75rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.checkout-items{display:grid;gap:.5rem;margin:1rem 0}.checkout-item{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}@media (min-width: 1440px){.container{max-width:1360px}}@media (max-height: 500px) and (orientation: landscape){.hero{padding:1rem 0 .5rem}.auth-page{padding-top:.75rem}.festival-hero-image{max-height:280px}}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#c62828}.field-error{display:block;margin-top:.35rem;font-size:.85rem;color:#c62828}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.festival-card:hover img,.product-card:hover,.festival-card:hover{transform:none}}.announcement-bar{background:var(--surface);color:var(--text-muted);font-size:.78rem;font-weight:500;letter-spacing:.01em;padding:.45rem 1rem;text-align:center}.announcement-inner{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.announcement-inner span{display:inline-flex;align-items:center;gap:.3rem}.announcement-divider{opacity:.3}.header-nav-strip{border-top:1px solid var(--border);background:var(--surface);overflow-x:auto;scrollbar-width:none}.header-nav-strip::-webkit-scrollbar{display:none}.header-nav-inner{display:flex;align-items:center;gap:0;padding:0;white-space:nowrap}.header-nav-link{display:inline-block;padding:.6rem 1rem;font-size:.825rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;flex-shrink:0}.header-nav-link:hover,.header-nav-link.active{color:var(--primary);border-bottom-color:var(--primary)}.home-page{--festive-gold: #c9921a;--festive-cream: #fdf6ee}.home-hero{background:linear-gradient(135deg,#fdf6ee,#fff8f0 60%,#fef3e8);padding:3rem 0 0;overflow:hidden}[data-theme=dark] .home-hero{background:linear-gradient(135deg,#1a0f07,#1e1208 60%,#231409)}.home-hero-inner{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}@media (min-width: 768px){.home-hero-inner{grid-template-columns:1fr 1fr;gap:3rem;min-height:480px}}.home-hero-content{padding:1rem 0 2rem}.home-hero-title{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.15;color:var(--text);margin-bottom:.5rem}.home-hero-brand{color:var(--primary);display:block}.home-hero-sub{font-size:1rem;font-weight:600;color:var(--text-muted);margin-bottom:.75rem}.home-hero-desc{font-size:.9rem;color:var(--text-muted);line-height:1.7;max-width:480px;margin-bottom:1.5rem}.home-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.btn.home-hero-cta{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:8px}.home-trust-badges{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.home-trust-badge{font-size:.8rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.35rem}.home-trust-check{color:#10b981;font-weight:700}.home-hero-image-wrap{display:flex;align-items:center;justify-content:center;height:100%;padding:1.5rem 0}.home-hero-img{max-height:420px;width:100%;object-fit:contain;object-position:center;border-radius:16px;display:block;margin:0 auto}@media (max-width: 767px){.home-hero-image-wrap{padding:.5rem 0}.home-hero-img{max-height:240px;border-radius:12px}}.home-section{padding:3.5rem 0}.home-section-header{text-align:center;margin-bottom:2.25rem}.home-section-header h2{font-size:clamp(1.5rem,3.5vw,2rem);font-weight:700;color:var(--text);margin:.5rem 0}.home-section-header p{color:var(--text-muted);font-size:.9rem}.home-section-ornament{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}.ornament-line{flex:1;max-width:80px;height:1px;background:linear-gradient(to right,transparent,#c9921a)}.ornament-line:last-child{background:linear-gradient(to left,transparent,#c9921a)}.ornament-icon{color:#c9921a;font-size:1rem}.home-section-cta{text-align:center;margin-top:2rem}.home-festival-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width: 640px){.home-festival-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (min-width: 900px){.home-festival-grid{grid-template-columns:repeat(4,1fr)}}.home-festival-card{border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;background:var(--surface);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;display:block}.home-festival-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.home-festival-img-wrap{aspect-ratio:4/3;overflow:hidden;background:#f0e8d8}.home-festival-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.home-festival-card:hover .home-festival-img-wrap img{transform:scale(1.06)}.home-festival-info{padding:.875rem 1rem}.home-festival-info h3{font-size:.95rem;font-weight:700;color:var(--text);margin:0 0 .2rem}.home-festival-info p{font-size:.78rem;color:var(--text-muted);margin:0 0 .5rem}.home-festival-link{font-size:.85rem;color:var(--primary);font-weight:600}[data-theme=dark] .home-festival-link{color:#f4a5b0}.home-features-strip{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2rem 0}.home-features-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 3rem}.home-feature-item{display:flex;align-items:center;gap:.875rem;flex-direction:column;text-align:center;min-width:130px;max-width:160px}@media (min-width: 540px){.home-feature-item{flex-direction:row;text-align:left;max-width:none}}.home-feature-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fdf6ee;border-radius:50%;color:#c9921a}[data-theme=dark] .home-feature-icon{background:#c9921a1f}.home-feature-icon svg{width:20px;height:20px}.home-feature-item strong{display:block;font-size:.875rem;font-weight:700;color:var(--text);margin-bottom:.15rem}.home-feature-item p{font-size:.78rem;color:var(--text-muted);margin:0}.home-pillars-strip{background:var(--bg);padding:2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.home-pillars-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (min-width: 768px){.home-pillars-grid{grid-template-columns:repeat(4,1fr)}}.home-pillar-item{display:flex;align-items:flex-start;gap:.75rem;text-align:left}.home-pillar-icon{font-size:1.75rem;flex-shrink:0;line-height:1;display:flex;align-items:center}.home-pillar-item strong{display:block;font-size:.875rem;font-weight:700;color:var(--text);margin-bottom:.2rem}.home-pillar-item p{font-size:.78rem;color:var(--text-muted);margin:0}.home-newsletter{background:var(--surface);padding:3rem 0;border-top:1px solid var(--border)}.home-newsletter-centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;max-width:560px;margin:0 auto}.home-newsletter-ornament{display:flex;align-items:center;gap:.75rem;width:100%;justify-content:center}.home-newsletter-title{font-size:clamp(1.25rem,3vw,1.6rem);font-weight:700;color:var(--text);margin:0}.home-newsletter-subtitle{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.6}.home-newsletter-form{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;width:100%;margin-top:.25rem}.home-newsletter-form input{flex:1;min-width:200px;padding:.7rem 1.1rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.875rem;outline:none;transition:border-color .15s,box-shadow .15s}.home-newsletter-form input::placeholder{color:var(--text-muted)}.home-newsletter-form input:focus{border-color:#c9921a;box-shadow:0 0 0 3px #c9921a1f}.home-newsletter-success{color:var(--success);font-size:.9rem;font-weight:500;margin:0}.footer-rich{background:var(--surface);border-top:1px solid var(--border);padding-top:0}.footer-rich-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding:2.5rem 0}@media (min-width: 640px){.footer-rich-grid,.footer-rich-grid--3col{grid-template-columns:repeat(2,1fr)}.footer-rich-grid--3col .footer-brand-col{grid-column:1 / -1}}@media (min-width: 1024px){.footer-rich-grid{grid-template-columns:2fr 1fr 1fr 1fr}.footer-rich-grid--3col{grid-template-columns:2fr 1fr 1fr}}.footer-brand-col{display:flex;flex-direction:column;gap:1rem;align-self:start}.footer .brand-logo{flex-shrink:0;align-self:flex-start;max-width:100%}.footer .brand-logo-img{height:44px;width:auto;max-width:min(200px,100%);min-height:44px;object-fit:contain;flex-shrink:0}.footer-links-col{align-self:start;min-width:0}.footer-brand-desc{font-size:.82rem;color:var(--text-muted);line-height:1.65;margin:0;max-width:280px}.footer-links-col h4{font-size:.875rem;font-weight:700;color:var(--text);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.footer-links-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.footer-links-col ul li a{font-size:.82rem;color:var(--text-muted);text-decoration:none;transition:color .15s}.footer-links-col ul li a:hover{color:var(--primary)}[data-theme=dark] .footer-links-col ul li a:hover{color:#f4a5b0}.footer-payments{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.footer-payment-badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border:1px solid var(--border);border-radius:4px;font-size:.7rem;font-weight:700;color:var(--text-muted);background:var(--bg);letter-spacing:.02em}.footer-secure-note{font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;gap:.35rem;margin:0}.footer-bottom{border-top:1px solid var(--border);padding:.875rem 0;padding-bottom:max(.875rem,env(safe-area-inset-bottom,0))}.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.footer-bottom p{font-size:.8rem;color:var(--text-muted);margin:0}.footer-bottom-nav{display:flex;gap:1rem}.footer-bottom-nav a{font-size:.78rem;color:var(--text-muted);text-decoration:none;transition:color .15s}.footer-bottom-nav a:hover{color:var(--text)}.home-filter-row{display:flex;flex-direction:column;align-items:center}.home-page~* .main,.main:has(.home-page){padding-top:0}.order-confirmation-page{padding-top:2rem;padding-bottom:3rem;max-width:900px}.order-confirmation-hero{text-align:center;margin-bottom:2.5rem}.order-confirmation-icon{margin-bottom:1rem}.order-confirmation-hero h1{margin-bottom:.5rem}.order-confirmation-subtitle{color:var(--text-muted);margin-bottom:1rem}.order-confirmation-id{font-size:1.125rem;font-weight:600;color:var(--primary)}.order-confirmation-layout{display:grid;gap:1.5rem;margin-bottom:2rem}@media (min-width: 768px){.order-confirmation-layout{grid-template-columns:1.5fr 1fr}}.order-confirmation-details,.order-confirmation-address{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.order-confirmation-details h2,.order-confirmation-address h2{font-size:1rem;margin-bottom:1rem}.order-confirmation-total{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border);font-size:1.125rem}.order-confirmation-payment{margin-top:.75rem}.order-confirmation-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}html,body{overflow-x:hidden}@media (max-width: 639px){.header-inner{gap:.5rem;padding:.625rem 0}.header .brand-logo{flex-wrap:wrap;row-gap:.125rem}.header .brand-logo-img{height:42px;max-width:min(160px,48vw)}.brand-logo-suffix{font-size:.625rem}.header-actions{gap:.25rem}.header-auth-btn{padding:.35rem .5rem;font-size:.75rem;min-height:36px;white-space:nowrap}.theme-toggle,.header-cart{width:2.25rem;height:2.25rem;min-width:2.25rem}.footer-rich-grid{gap:1.75rem;padding:2rem 0}.footer-rich-grid--3col{grid-template-columns:1fr 1fr;gap:1.5rem 1.25rem}.footer-brand-col,.footer-links-col{align-items:flex-start;text-align:left}.footer-brand-col{grid-column:1 / -1;display:flex;flex-direction:column;gap:.875rem;align-items:center;text-align:center}.footer-brand-col .brand-logo{justify-content:center;align-self:center}.footer .brand-logo-img{height:40px;min-height:40px;max-width:min(180px,56vw)}.footer-brand-desc{max-width:100%;text-align:center}.footer-links-col h4{text-align:left}.footer-links-col ul{align-items:flex-start}.footer-social{justify-content:center}.footer-bottom-inner{flex-direction:column;align-items:center;text-align:center;gap:.625rem}.footer-bottom-nav{justify-content:center;flex-wrap:wrap;gap:.75rem 1rem}.festival-page{margin-top:0}.festival-body{padding-top:1.25rem;padding-bottom:2rem}.subcategory-filter{flex-wrap:wrap;overflow-x:visible;gap:.5rem;margin-left:0;margin-right:0;padding-left:0;padding-right:0;padding-bottom:0}.filter-label{flex:0 0 100%;width:100%;margin-bottom:.125rem}.subcategory-chip{flex-shrink:1;max-width:100%}}@media (max-width: 380px){.header .brand-logo-img{height:36px;max-width:min(130px,42vw)}.header-auth-btn{padding:.3rem .4rem;font-size:.7rem}}@media (min-width: 640px) and (max-width: 1023px){.header-inner{gap:.75rem 1.25rem;padding:.75rem 0}.header .brand-logo{flex-wrap:nowrap;align-items:center}.header .brand-logo-img{height:50px;max-width:min(240px,38vw)}.brand-logo-suffix{font-size:.7rem}.header-actions{gap:.5rem}.footer-rich-grid--3col{gap:2rem 3rem;align-items:start}.footer-rich-grid--3col .footer-brand-col{align-items:flex-start;text-align:left}.footer-brand-desc{max-width:100%}.footer-links-col{text-align:left}.footer .brand-logo-img{height:46px;min-height:46px;max-width:min(220px,42vw)}.footer-bottom-inner{flex-direction:row;align-items:center;justify-content:space-between;text-align:left}.footer-bottom-nav{justify-content:flex-end}.festival-hero-content.container h1,.festival-hero-content.container .festival-tagline{max-width:90%}.subcategory-filter{flex-wrap:wrap;overflow-x:visible;justify-content:flex-start;gap:.5rem .625rem}.filter-label{flex:0 0 100%;margin-bottom:.25rem}}
