.contact{padding:4rem 0;background:var(--primary-1)}.contact .section-title{text-align:center;margin-bottom:3rem;color:var(--primary-2)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;max-width:1200px;margin:0 auto}.map-container{border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.1);border:2px solid var(--primary-3)}.map-container iframe{width:100%;height:400px;border:none}.contact-info{display:flex;flex-direction:column;justify-content:center}.info-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);border:2px solid var(--primary-3);height:100%}.info-card h3{color:var(--primary-2);margin-bottom:1.5rem;text-align:center;font-size:1.5rem}.contact-details{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.contact-item{display:flex;align-items:flex-start;gap:1rem}.contact-icon{font-size:1.5rem;min-width:2rem;text-align:center}.contact-text{flex:1}.contact-text strong{color:var(--primary-2);display:block;margin-bottom:.25rem;font-weight:600}.contact-text p{color:var(--primary-4);margin:0;line-height:1.5}.cta-section{text-align:center;padding-top:1.5rem;border-top:1px solid var(--primary-3)}.directions-btn{display:inline-block;background:var(--primary-2);color:#fff;padding:.75rem 1.5rem;text-decoration:none;border-radius:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease}.directions-btn:hover{background:var(--primary-3);color:var(--primary-4);transform:translateY(-2px)}@media(max-width:768px){.contact{padding:3rem 0}.contact .section-title{margin-bottom:2rem}.contact-content{grid-template-columns:1fr;gap:1.5rem}.map-container iframe{height:280px}.info-card{padding:1.5rem}.contact-info{order:1}.map-container{order:2}}.contact-content{align-items:stretch}@media(min-width:769px){.map-container{height:100%}.map-container iframe{height:100%;min-height:420px;display:block}}.map-container iframe{border:0}.contact-email{color:var(--primary-2);text-decoration:none}.contact-email:hover{text-decoration:underline}.cta-text{margin-bottom:1rem}.hero,.hero-carousel{background:var(--primary-4)}.hero-carousel{position:relative;width:100%;height:460px;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease-in-out;pointer-events:none}.hero-slide.active{opacity:1;pointer-events:auto}.hero-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;opacity:.5}.hero-caption{position:absolute;left:1.5rem;bottom:1.25rem;background:rgba(38,51,47,.75);color:var(--primary-1);padding:.45rem 1rem;border-radius:8px;border:1px solid var(--primary-3);font-size:1rem;letter-spacing:.5px}.hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem;pointer-events:none;background:linear-gradient(180deg,rgba(38,51,47,.35),rgba(38,51,47,.1) 40%,rgba(38,51,47,.45))}.hero-title{color:var(--primary-1);font-size:3rem;margin:0 0 .5rem;text-shadow:0 2px 12px rgba(0,0,0,.5)}.hero-subtitle{color:var(--primary-1);font-size:1.25rem;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.5)}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(38,51,47,.55);color:var(--primary-1);border:1px solid var(--primary-3);border-radius:50%;cursor:pointer;transition:background .2s,color .2s;z-index:3}.hero-arrow:hover{background:var(--primary-3);color:var(--primary-4)}.hero-arrow--left{left:1rem}.hero-arrow--right{right:1rem}.hero-dots{position:absolute;bottom:1.1rem;left:50%;transform:translateX(-50%);display:flex;gap:.6rem;z-index:3}.hero-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--primary-1);background:rgba(0,0,0,0);cursor:pointer;padding:0;transition:background .2s,transform .2s}.hero-dot.active{background:var(--primary-3);border-color:var(--primary-3);transform:scale(1.2)}@media(max-width:768px){.hero-carousel{height:300px}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-arrow{width:38px;height:38px}.hero-caption{font-size:.85rem;left:1rem;bottom:2.5rem}}.news{padding:4rem 0;background:var(--primary-3)}.news .section-title{color:var(--primary-2);text-align:center;margin-bottom:3rem}.news-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto}@media(max-width:1024px){.news-layout{grid-template-columns:1fr}.events-list-section{scroll-margin-top:6rem}}.calendar-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 6px 25px rgba(0,0,0,.1);border:3px solid var(--primary-2)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.calendar-nav-btn{background:var(--primary-2);color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2rem;font-weight:700;transition:all .3s ease}.calendar-nav-btn:hover{background:var(--primary-1);transform:scale(1.1)}.calendar-title{color:var(--primary-2);font-size:1.5rem;margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--primary-1);border-radius:8px;overflow:hidden}.calendar-day-header{background:var(--primary-2);color:#fff;padding:.75rem;text-align:center;font-weight:600;font-size:.9rem}.calendar-day{background:#fff;min-height:60px;padding:.5rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;cursor:pointer;transition:background-color .2s ease}.calendar-day:hover{background:var(--primary-3)}.calendar-day.today{background:#eff6ff;border:2px solid #3b82f6}.calendar-day.selected{background:#dbeafe;border:2px solid #2563eb}.calendar-day.has-events{background:#f0f9ff}.calendar-day.has-events:hover{background:#e0f2fe}.day-number{font-weight:600;color:var(--primary-4);font-size:.9rem}.event-indicators{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-top:4px}.event-dot{width:10px;height:10px;background:var(--primary-2);border-radius:50%;flex-shrink:0}.event-count{font-size:.75rem;line-height:1;color:#6b7280;font-weight:500}.events-list-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 6px 25px rgba(0,0,0,.1);border:3px solid var(--primary-2);overflow:hidden;min-width:0}.events-title{display:flex;align-items:center;gap:.5rem;min-height:40px;color:var(--primary-2);font-size:1.5rem;margin:0 0 2rem}.events-list{display:flex;flex-direction:column;gap:1rem}@media(min-width:1025px){.events-list-section{contain:size;display:flex;flex-direction:column}.events-list{flex:1;min-height:0;overflow-y:auto;padding-right:.5rem}}.events-list::-webkit-scrollbar{width:6px}.events-list::-webkit-scrollbar-track{background:var(--primary-1);border-radius:3px}.events-list::-webkit-scrollbar-thumb{background:var(--primary-2);border-radius:3px}.events-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:2px solid var(--primary-1)}.events-page-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.45rem .9rem;border:2px solid var(--primary-2);border-radius:999px;background:#fff;color:var(--primary-2);font-family:var(--font-tcg-body);font-weight:700;cursor:pointer;transition:background-color .2s ease,color .2s ease}.events-page-btn:hover:not(:disabled){background:var(--primary-2);color:#fff}.events-page-btn:disabled{opacity:.4;cursor:default}.events-page-info{color:var(--primary-4);font-size:.9rem;font-weight:600;white-space:nowrap}.event-card{--accent:var(--primary-2);position:relative;display:flex;align-items:stretch;gap:.9rem;width:100%;text-align:left;border:1px solid var(--primary-1);border-radius:14px;padding:.9rem 1rem .9rem 1.15rem;cursor:pointer;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;overflow:hidden;min-width:0;max-width:100%;flex-shrink:0}.event-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}.event-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.event-card.is-past{--accent:#9ca3af;background:#ebecee;border-color:#d1d5db}.event-card.is-past .event-name{color:#6b7280}.event-card.is-past .event-datebadge{background:#d1d5db;border-color:#c2c6cc;color:#4b5563}.event-card.is-past .event-tag--type{background:#dde0e3;color:#6b7280}.event-accent{position:absolute;top:0;left:0;bottom:0;width:5px;background:var(--accent)}.event-datebadge{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,#fff);border:1px solid color-mix(in srgb,var(--accent) 35%,#fff);color:var(--primary-2);padding:.35rem 0}.event-datebadge-day{font-size:1.45rem;font-weight:800;line-height:1}.event-datebadge-month{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.event-body{display:flex;flex-direction:column;gap:.4rem;min-width:0;flex:1}.event-tags{display:flex;flex-wrap:wrap;gap:.35rem}.event-tag{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.16rem .5rem;border-radius:999px;line-height:1.4}.event-tag--type{background:color-mix(in srgb,var(--accent) 16%,#fff);color:color-mix(in srgb,var(--accent) 75%,#000)}.event-tag--status{background:var(--primary-1);color:var(--primary-2)}.event-tag--status.status-ongoing{background:#dcfce7;color:#15803d}.event-tag--status.status-finished{background:#e5e7eb;color:#6b7280}.event-tag--status.status-cancelled{background:#fee2e2;color:#b91c1c}.event-name{font-size:1.1rem;font-weight:700;color:var(--primary-2);line-height:1.25;font-family:var(--font-tcg-body);overflow-wrap:anywhere}.event-sub{display:flex;flex-wrap:wrap;gap:.25rem 1rem;color:var(--primary-4);font-size:.82rem}.event-sub-item{display:inline-flex;align-items:center;gap:.3rem;min-width:0}.event-sub-item svg{color:var(--accent);flex-shrink:0}.no-events{text-align:center;padding:3rem 2rem;color:var(--primary-4)}.no-events svg{color:var(--primary-2);margin-bottom:1rem}.no-events h4{color:var(--primary-2);font-size:1.2rem;margin-bottom:.5rem}.no-events p{color:var(--primary-4)}.coming-soon{text-align:center;padding:3rem 2rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);border:2px solid var(--primary-2)}.coming-soon svg{color:var(--primary-3);margin-bottom:1rem}.coming-soon h4{color:var(--primary-2);font-size:1.3rem;margin-bottom:.5rem}.coming-soon p{color:var(--primary-4);font-size:1rem}.events-list-section::-webkit-scrollbar{width:6px}.events-list-section::-webkit-scrollbar-track{background:var(--primary-3);border-radius:3px}.events-list-section::-webkit-scrollbar-thumb{background:var(--primary-2);border-radius:3px}.events-list-section::-webkit-scrollbar-thumb:hover{background:var(--primary-2)}@media(max-width:768px){.news{padding:2rem 0}.news .section-title{font-size:2rem;margin-bottom:2rem}.news-layout{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem}.calendar-section,.events-list-section{padding:1.5rem}.calendar-day{min-height:60px;padding:.25rem}.events-list-section{padding:1.25rem}.event-card{gap:.7rem;padding:.8rem .85rem}.event-datebadge{width:46px}.event-datebadge-day{font-size:1.25rem}}@media(max-width:480px){.calendar-day{min-height:50px;font-size:.875rem}.calendar-day-header{padding:.5rem .25rem;font-size:.75rem}.event-indicators{gap:2px}.event-dot{width:8px;height:8px}.event-name{font-size:1rem}.events-pagination{flex-wrap:wrap}.events-page-info{order:-1;width:100%;text-align:center}}.event-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.event-modal{background:#fff;border-radius:16px;border:3px solid var(--primary-2);max-width:600px;width:100%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 20px 40px rgba(0,0,0,.3)}.event-modal-header{padding:2rem 2rem 1rem;border-bottom:2px solid var(--primary-1);position:relative}.event-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--primary-4);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.event-modal-close:hover{background:var(--primary-1);color:var(--primary-2)}.event-modal-title{font-size:1.8rem;font-weight:700;color:var(--primary-2);margin:0 0 1rem;line-height:1.3;padding-right:3rem}.event-modal-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.event-modal-type{background:var(--primary-2);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.event-modal-date{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--primary-2)}.event-modal-content{padding:1.5rem 2rem 2rem}.event-modal-description{color:var(--primary-4);font-size:1.1rem;line-height:1.6;margin-bottom:2rem;white-space:pre-line;overflow-wrap:anywhere}.event-modal-details{display:grid;gap:1rem}.event-modal-detail{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--primary-1);border-radius:12px;border:1px solid var(--primary-1)}.event-modal-detail svg{color:var(--primary-2);flex-shrink:0;margin-top:.1rem}.event-modal-detail-content{display:flex;flex-direction:column;gap:.25rem}.event-modal-detail-label{font-size:.875rem;font-weight:600;color:var(--primary-2);text-transform:uppercase;letter-spacing:.05em}.event-modal-detail-value{font-size:1rem;color:var(--primary-4);font-weight:500}@media(max-width:768px){.event-modal-overlay{padding:.5rem}.event-modal{max-height:90vh}.event-modal-header{padding:1.5rem}.event-modal-title{font-size:1.5rem;padding-right:2.5rem}.event-modal-content{padding:1rem 1.5rem 1.5rem}.event-modal-meta{flex-direction:column;gap:.75rem}}.day-picker{max-width:480px}.day-picker-list{display:flex;flex-direction:column;gap:.75rem}.day-picker-item{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:1rem;background:var(--primary-1);border:1px solid var(--primary-1);border-radius:12px;cursor:pointer;transition:all .2s ease}.day-picker-item:hover{border-color:var(--accent,var(--primary-2));background:#fff;transform:translateY(-1px)}.day-picker-item>svg{color:var(--primary-2);flex-shrink:0}.day-picker-accent{width:4px;align-self:stretch;border-radius:4px;background:var(--accent,var(--primary-2));flex-shrink:0}.day-picker-body{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0}.day-picker-name{font-weight:700;color:var(--primary-2);font-size:1.05rem;line-height:1.3}.event-modal-cta{display:flex;flex-direction:column;gap:.75rem;margin-top:1.75rem;padding-top:1.5rem;border-top:2px solid var(--primary-1)}.event-modal-capacity{display:inline-flex;align-items:center;gap:.5rem;font-weight:600}.event-modal-capacity,.event-modal-capacity svg{color:var(--primary-2)}.event-modal-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.85rem 1.25rem;border:none;border-radius:12px;background:var(--primary-2);color:#fff;font-size:1rem;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;transition:all .2s ease}.event-modal-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.event-modal-btn:disabled{opacity:.55;cursor:default}.event-modal-btn.is-cancel{background:none;border:2px solid #fca5a5;color:#b91c1c}.event-modal-btn.is-cancel:hover:not(:disabled){background:#fee2e2;transform:none;filter:none}.event-modal-regnote{margin:0;font-weight:600;color:var(--primary-4)}.event-modal-regnote.is-ok{color:#15803d}.event-modal-regerror{margin:0;font-weight:600;color:#b91c1c}.news-state{text-align:center;padding:2rem}.news-error{color:var(--error-color)}.products-section{padding:4rem 0}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#333}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.5rem;margin-bottom:3rem}.product-card{position:relative;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;height:100%}.product-badge-soldout{position:absolute;top:.6rem;left:.6rem;z-index:1;background:#b91c1c;color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .55rem;border-radius:999px}.product-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.15)}.product-image{width:100%;height:100%;object-fit:cover}.product-info{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1;justify-content:space-between}.product-content{flex-grow:1}.product-title{font-size:1.3rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary)}.product-description{color:var(--text-primary);margin-bottom:1rem;line-height:1.5;flex-grow:1}.product-footer{margin-top:auto;display:flex;flex-direction:column;gap:1rem}.product-price{font-size:1.5rem;font-weight:700;color:var(--primary-4);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.add-to-cart{background:var(--primary-2);color:var(--primary-1);border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;font-family:var(--font-tcg-body);text-transform:uppercase;letter-spacing:.5px}.add-to-cart:hover:not(:disabled){background:var(--primary-3);color:var(--primary-4);transform:translateY(-2px)}.add-to-cart:disabled{background:#d1d5db;color:#6b7280;cursor:not-allowed;transform:none}.empty-category-message{display:flex;justify-content:center;align-items:center;min-height:300px;padding:2rem;text-align:center}.empty-content{max-width:500px;padding:2rem;background:var(--bg-card);border:2px solid var(--primary-2);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1)}.empty-content h3{font-size:1.5rem;margin-bottom:1rem}.empty-content p{font-size:1rem;line-height:1.6}.empty-content strong{color:var(--text-accent);font-weight:600}@media(max-width:768px){.section-title{font-size:1.8rem;margin-bottom:2rem}.products-section{padding:3rem 5px}.product-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.product-info{padding:1rem}.product-title{font-size:1.1rem}.product-price{font-size:1.2rem}}@media(max-width:480px){.products-section{padding:2rem 0}.product-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.product-info{padding:.8rem}.product-title{font-size:1rem}.product-price{font-size:1.1rem}}@media(max-width:360px){.products-section{padding:1.5rem 0}.product-info{padding:.6rem}.product-title{font-size:.9rem}.product-price{font-size:1rem}}.category-filter{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.category-btn{padding:.75rem 1.5rem;border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);border-radius:8px;cursor:pointer;font-weight:500;letter-spacing:.5px;transition:all .3s ease}.category-btn.active,.category-btn:hover{border-color:var(--primary-3)}.category-btn.active{background:var(--primary-2);color:var(--primary-3)}.product-search{display:flex;justify-content:center;margin-bottom:1rem}.product-search-inner{display:flex;gap:.5rem;align-items:center;max-width:100%}.search-input{min-width:300px;max-width:100%}.search-clear,.search-input{padding:.75rem 1rem;border-radius:8px;border:2px solid var(--border-color);font-size:1rem}.search-clear{background:var(--bg-card);cursor:pointer}.product-contact-note{text-align:center;margin-top:2.5rem;color:var(--text-secondary)}.product-contact-note a{color:var(--primary-2)}.products-state{text-align:center;padding:2rem}.empty-title{color:var(--text-secondary);margin-bottom:1rem}.empty-text{color:var(--text-primary);margin-bottom:1.5rem}.empty-reset-btn{padding:.75rem 1.5rem;background:var(--primary-3);color:var(--text-light);border:none;border-radius:8px;cursor:pointer;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:background .3s ease}.empty-reset-btn:hover{background:var(--primary-2)}.product-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.pagination-btn{padding:.75rem 1.5rem;border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);border-radius:8px;cursor:pointer;font-weight:500;letter-spacing:.5px;transition:all .3s ease}.pagination-btn:hover:not(:disabled){border-color:var(--primary-3)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--text-primary);font-weight:500}@media(max-width:480px){.search-input{min-width:0;flex:1}}