*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Noto Sans TC,sans-serif;line-height:1.6;color:#222;background:#f7f7f5;overflow-wrap:anywhere}img{max-width:100%;height:auto}a{color:#1f5f8b}h1,h2,p{margin:0 0 .5em}header{display:flex;align-items:center;flex-wrap:wrap;padding-left:16px;background:#fff;border-bottom:1px solid #ddd}.brand img{display:block;height:32px;width:auto}.hero{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:8px;margin-bottom:16px}.hero-section{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:24px;margin-bottom:32px}.hero-section .hero{margin-bottom:0;height:100%}.hero-content h1{font-size:clamp(1.75rem,4vw,2.75rem);margin-bottom:8px}.hero-subtitle{color:#555;margin-bottom:16px}.promos{margin-bottom:32px}.promo-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.promo{position:relative;display:block;overflow:hidden;border-radius:10px;background:#e6e6e2;color:#1a1a1a;text-decoration:none}.promo img{display:block;width:100%;height:auto}.promo-content{position:absolute;left:0;top:50%;width:45%;padding:clamp(8px,2.5vw,24px);border-radius:0 8px 8px 0;background:#ffffffd9;transform:translateY(-50%)}.promo-title{margin:0 0 .5em;font-size:clamp(.95rem,2.2vw,1.5rem);line-height:1.3}.promo-cta{display:inline-block;padding:.35em .8em;border-radius:6px;background:#1f5f8b;color:#fff;font-size:clamp(.75rem,1.6vw,1rem);font-weight:600;line-height:1.3}.featured-section h2{margin-bottom:16px}footer{padding:24px 16px;background:#fff;border-top:1px solid #ddd;color:#666;font-size:.9rem;text-align:center}header nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;max-width:1200px;margin:0 auto;padding:12px 16px}header nav a{text-decoration:none;color:#333;font-weight:600}header nav a:hover,header nav a:focus-visible{text-decoration:underline}#cart-count{display:inline-block;min-width:1.5em;padding:0 .4em;border-radius:999px;background:#1f5f8b;color:#fff;font-size:.8em;text-align:center}.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 16px}.site-header .brand{display:inline-flex;align-items:center;min-height:44px}.site-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;max-width:none;margin:0;padding:0}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;padding:4px 8px;text-decoration:none;color:#333;font-weight:600}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;padding:24px 16px}.site-footer p{margin:0}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;padding:4px 8px;text-decoration:none;color:#333;font-weight:600}.site-header nav a[aria-current=page],.site-footer nav a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}.container{width:100%;max-width:1200px;margin:0 auto;padding:16px}#category-filter{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 24px}#category-filter button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:8px 16px;border:1px solid #bbb;border-radius:999px;background:#fff;color:#222;font-size:15px;line-height:1.2}#category-filter button:hover{border-color:#1f5f8b;background:#eef4f8;color:#17496b}#category-filter button[aria-pressed=true]{border-color:#1f5f8b;background:#1f5f8b;color:#fff}#category-filter button[aria-pressed=true]:hover{border-color:#17496b;background:#17496b;color:#fff}#category-filter button:focus-visible{outline:3px solid #8ec5e8;outline-offset:2px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{min-width:0;padding:16px;background:#fff;border:1px solid #e2e2df;border-radius:10px;overflow:hidden}.card a{display:block;color:inherit;text-decoration:none}.card img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:6px;margin-bottom:12px}.card-name{font-size:1rem;line-height:1.4}.card-price{color:#a4541c;font-weight:700}.btn,button{display:inline-block;padding:8px 16px;border:1px solid #1f5f8b;border-radius:6px;background:#1f5f8b;color:#fff;font:inherit;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer}.btn{min-height:44px}.btn:hover,button:hover{background:#17496b}.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8ec5e8;outline-offset:2px}form{max-width:640px}label{display:block;margin-bottom:4px;font-weight:600}input,select,textarea{width:100%;max-width:100%;margin-bottom:16px;padding:8px 12px;border:1px solid #bbb;border-radius:6px;background:#fff;color:inherit;font:inherit}textarea{min-height:120px;resize:vertical}button{width:auto}#checkout-form>button,#lead-form>button{margin-top:8px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:8px 12px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}th{background:#efefeb;font-weight:700}.cart-table th,.cart-table td{padding:12px 8px}.cart-table input[type=number]{width:72px;margin-bottom:0;padding:8px}.cart-table td:last-child{padding-left:8px}fieldset{min-width:0;margin:0 0 24px;padding:16px;border:1px solid #ddd;border-radius:8px}legend{padding:0 4px;font-weight:700}fieldset>label{margin-bottom:8px}.settings-hint{margin:0 0 8px;color:#555;font-size:.9rem}.settings-hint:last-child{margin-bottom:0}.settings-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}.settings-actions button{margin:0}#event-map-section{margin-bottom:24px}#settings-app section{margin-bottom:32px}#settings-app h2{margin-bottom:16px}.settings-status{margin:0 0 24px}.settings-error{margin:8px 0 0;color:#a11}.tag-panel{position:fixed;z-index:9999}@media(min-width:720px){.hero-section{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px}.promo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}@media(min-width:960px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}}@media(max-width:480px){#category-filter{gap:8px}}
