:root{--primary: #4040d4;--primary-hover: #3333b8;--header-bg: #1b1d52;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--border: #e5e7eb;--bg-body: #f0f1f8;--bg-card: #ffffff;--tag-bg: #eaebf9;--tag-text: #3535b8;--shadow-card: 0 1px 4px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .05);--radius-chip: 9999px;--radius-card: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;background-color:var(--bg-body);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;border:none;background:none;font-family:inherit}.app{display:flex;flex-direction:column;min-height:100dvh;max-width:520px;margin:0 auto;background:var(--bg-body)}@media(min-width:640px){.app{max-width:900px}}@media(min-width:1024px){.app{max-width:1360px}.store-list{grid-template-columns:repeat(3,1fr)}}.main-content{flex:1;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0px)}.footer{padding:16px;text-align:center;border-top:1px solid var(--border)}.footer-company{font-size:12px;color:var(--text-secondary);margin:0}.footer-link{color:var(--text-secondary);text-decoration:none}.footer-link:hover{color:var(--text-primary);text-decoration:underline}.header{background-color:var(--header-bg);padding:14px 16px;position:sticky;top:0;z-index:10;transition:padding .25s ease}.header--compact{padding:8px 16px}.header--compact .header-logo{height:28px}.header--compact .header-title{font-size:17px}.header--compact .header-tagline{display:none}.header-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.header-text{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}.header-text-content{display:flex;flex-direction:column;min-width:0}.header-logo{height:40px;width:auto;flex-shrink:0;transition:height .25s ease}.header-title{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.3px;line-height:1.2;transition:font-size .25s ease}.header-tagline{font-size:11px;color:#ffffffa6;margin-top:2px;line-height:1.4}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-saved-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#ffffffb3;fill:none;transition:color .15s,background-color .15s}.header-saved-btn svg{fill:none}.header-saved-btn:hover{color:#fff;background-color:#ffffff1f}.header-saved-btn--active{color:#ff6b8a}.header-saved-btn--active svg{fill:currentColor}.header-lang-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border:1.5px solid rgba(255,255,255,.6);border-radius:var(--radius-chip);color:#fff;font-size:12px;font-weight:500;white-space:nowrap;transition:background-color .15s}.header-lang-btn:hover,.header-lang-btn--open{background-color:#ffffff1f}.header-lang-wrapper{position:relative}.header-lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:120px;background:#fff;border-radius:var(--radius-card);box-shadow:0 4px 16px #00000026;padding:4px 0;list-style:none;z-index:100}.header-lang-option{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;font-size:13px;color:var(--text-primary);cursor:pointer;gap:8px}.header-lang-option:hover{background-color:var(--bg-page)}.header-lang-option--active{font-weight:600;color:var(--color-primary)}.search-filter-area{background:var(--bg-card);padding:14px 16px 0;border-bottom:1px solid var(--border)}.search-section{margin-bottom:14px}.search-bar{display:flex;align-items:center;gap:10px;background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius-chip);padding:10px 14px}.search-bar--location{padding-right:6px}.search-bar-icon{color:var(--text-muted);flex-shrink:0}.search-bar-input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary);outline:none;min-width:0}.search-bar-input::placeholder{color:var(--text-muted)}.search-clear-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--text-muted);flex-shrink:0;transition:background-color .15s,color .15s}.search-clear-btn:hover{background:var(--bg-chip);color:var(--text-primary)}.search-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary);border-radius:var(--radius-chip);color:#fff;flex-shrink:0;transition:background-color .15s}.search-btn:hover{background:var(--primary-hover)}.filter-section{display:flex;flex-direction:column;gap:0}.filter-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border);overflow:hidden}.filter-label{font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0;min-width:44px}.filter-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{padding:5px 14px;border:1px solid var(--border);border-radius:var(--radius-chip);font-size:13px;color:var(--text-primary);background:var(--bg-card);white-space:nowrap;flex-shrink:0;transition:all .15s}.filter-chip:not(.filter-chip--active):hover{border-color:var(--primary);color:var(--primary)}.filter-chip--active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-clear-btn{padding:5px 12px;border-radius:var(--radius-chip);font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0;transition:color .15s}.filter-clear-btn:hover{color:var(--text-primary)}.store-list-section{padding:16px 16px 32px}.store-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.store-list-title{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--text-primary)}.back-btn{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .15s}.back-btn:hover{color:var(--text-primary)}.store-list-info-icon{color:var(--text-muted)}.store-list-count{font-size:13px;font-weight:600;color:var(--primary)}.store-list-sort{display:flex;gap:8px;margin-bottom:12px}.store-list-sort-btn{padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer}.store-list-sort-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.store-list{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:480px){.store-list{grid-template-columns:repeat(2,1fr)}}.store-list-empty,.loading{text-align:center;color:var(--text-muted);font-size:14px;padding:32px 0}.pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:24px 0 8px;list-style:none}.pagination-item{display:flex}.pagination-link{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 6px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,color .15s;border:1px solid transparent;text-decoration:none}.pagination-link:hover{background-color:var(--tag-bg);color:var(--text-primary)}.pagination-item--active .pagination-link{background-color:var(--primary);color:#fff}.pagination-item--disabled .pagination-link{opacity:.35;cursor:not-allowed}.pagination-item--disabled .pagination-link:hover{background-color:transparent;color:var(--text-secondary)}.pagination-break{cursor:default}.pagination-break:hover{background-color:transparent;color:var(--text-secondary)}.store-card{display:flex;align-items:flex-start;gap:12px;background:var(--bg-card);border-radius:var(--radius-card);padding:14px;box-shadow:var(--shadow-card);min-width:0}.store-card-avatar{width:64px;height:64px;border-radius:10px;background:#dde1f0;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.store-card-avatar-img{width:100%;height:100%;object-fit:cover}.store-card-avatar-initials{font-size:16px;font-weight:700;color:#8892c8;letter-spacing:-.5px}.store-card-body{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:4px}.store-card-name-row{display:flex;align-items:center;gap:6px;min-width:0}.store-card-name{font-size:15px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.halal-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;letter-spacing:.05em;color:#fff;background:#16a34a;border-radius:var(--radius-chip)}.store-card-name-ja{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-card-rating{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--text-muted);margin-bottom:2px}.store-card-rating-icon{color:#f59e0b}.store-card-rating-score{font-weight:600;color:var(--text-main)}.store-card-rating-count{color:var(--text-muted)}.store-card-google-rating{margin-top:1px}.store-card-google-label{font-size:10px;color:var(--text-muted);margin-left:1px}.store-card-location-ja{font-size:11px;color:var(--text-muted);margin-left:20px}.store-card-info{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary)}.store-card-info-icon{width:12px;color:var(--text-muted);flex-shrink:0}.store-card-flags{display:flex;align-items:center;gap:4px;line-height:1}.store-detail-badges{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.store-card-flag{font-size:16px}.store-card-flag--region{font-size:10px;font-weight:600;color:var(--tag-text);background:var(--tag-bg);border-radius:var(--radius-chip);padding:2px 6px;line-height:1.4}.store-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.store-card-tag{display:inline-block;padding:2px 8px;background:var(--tag-bg);color:var(--tag-text);font-size:11px;font-weight:500;border-radius:var(--radius-chip);border:none;font-family:inherit;cursor:pointer}.store-card-tag:hover{opacity:.75}.store-card-btns{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:2px}@media(min-width:640px){.store-card-btns{flex-direction:row}}.store-card-fav-btn,.store-card-share-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;color:var(--border);transition:color .15s}.store-card-fav-btn:hover,.store-card-share-btn:hover,.store-card-fav-btn--active{color:var(--primary)}@media(min-width:480px){.store-card-avatar{width:120px;height:120px}.store-card-avatar-initials{font-size:14px}}.store-detail{padding-bottom:0}.store-detail-header{display:flex;align-items:center;gap:10px;padding-bottom:12px}.store-detail-header-name{flex:1;min-width:0}.store-detail-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.store-detail-back-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-body);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.store-detail-fav-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-body);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.store-detail-fav-btn--active{color:var(--primary)}.store-detail-share-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-body);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.store-detail-body{background:var(--bg-card);padding:16px 16px 0}.store-detail-breadcrumb{font-size:11px;font-weight:600;color:var(--primary);letter-spacing:.3px;margin-bottom:8px;text-transform:uppercase}.store-detail-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.store-detail-name{font-size:26px;font-weight:700;color:var(--text-primary);line-height:1.2;margin-bottom:4px}.store-detail-name-ja{font-size:14px;color:var(--text-muted);margin-bottom:12px}.store-detail-content-row{display:flex;flex-direction:column}.store-detail-img-slider{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;margin-bottom:20px;flex-shrink:0;background:var(--bg-muted, #e8eaf2)}.store-detail-img-slider__img{width:100%;height:100%;object-fit:cover;display:block}.store-detail-img-slider__img--fallback{display:flex;align-items:center;justify-content:center;background-color:var(--surface);font-size:48px;font-weight:700;color:#8892c8;letter-spacing:-1px}.store-detail-img-slider__btn{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:#00000073;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1}.store-detail-img-slider__btn svg{display:block}.store-detail-img-slider__btn--prev{left:8px}.store-detail-img-slider__btn--next{right:8px}.store-detail-img-slider__dots{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:6px}.store-detail-img-slider__dot{width:7px;height:7px;border-radius:50%;background:#ffffff80;border:none;padding:0;cursor:pointer;transition:background .2s}.store-detail-img-slider__dot--active{background:#fff}@media(min-width:640px){.store-detail-content-row{flex-direction:row;align-items:flex-start;gap:20px}.store-detail-content-row .store-detail-img-slider{width:40%;aspect-ratio:4 / 3;margin-bottom:0}.store-detail-content-row .store-detail-section{flex:1;min-width:0;margin-bottom:0}}.store-detail-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.store-detail-tag{font-size:12px;font-weight:600;color:var(--text-secondary);background:none;border:none;padding:0;font-family:inherit;cursor:pointer}.store-detail-tag:hover{color:var(--primary)}.store-detail-tag-ja{font-size:11px;font-weight:400;color:var(--text-muted)}.store-detail-section{padding:20px 16px;background:var(--bg-card)}.store-detail-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.store-detail-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.store-detail-item-cell{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-body)}.store-detail-item-img{width:72px;height:72px;border-radius:8px;background:#e8eaf2;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#a0a8cc}.store-detail-item-img img{width:100%;height:100%;object-fit:cover}.store-detail-item-name{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.3}.store-detail-item-name-ja{font-size:12px;color:var(--text-muted);text-align:center;line-height:1.3}.product-report-section{padding:20px 16px 24px;margin-top:16px;background:linear-gradient(135deg,#f0f1fb,#ecedf9)}.product-report-title{font-size:16px;font-weight:800;color:var(--primary);letter-spacing:.01em;margin-bottom:10px}.product-report-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.product-report-tag{display:inline-flex;align-items:baseline;gap:5px;padding:6px 14px;background:var(--primary);color:#fff;border-radius:20px;font-size:15px;font-weight:700;box-shadow:0 2px 6px #4040d440;cursor:pointer;border:none;transition:background .15s}.product-report-tag:hover{background:var(--primary-hover)}.product-report-count{font-size:11px;font-weight:400;opacity:.75}.product-report-time{font-size:10px;opacity:.6}.product-report-empty{font-size:13px;color:var(--text-muted);margin-bottom:14px}.product-report-add-btn{font-size:14px;font-weight:700;color:#fff;background:var(--primary);border:none;border-radius:24px;padding:10px 22px;cursor:pointer;box-shadow:0 3px 10px #4040d459;transition:background .15s,box-shadow .15s;margin-bottom:16px}.product-report-add-btn:hover{background:var(--primary-hover);box-shadow:0 4px 14px #4040d473}.product-report-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center}@media(min-width:600px){.product-report-overlay{align-items:center}}.product-report-modal{position:relative;background:var(--bg-card);border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:80vh;overflow-y:auto;padding:24px 16px 32px}@media(min-width:600px){.product-report-modal{border-radius:16px;max-height:70vh}}.product-report-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;line-height:1}.product-report-modal-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:0}.product-report-tab{flex:1;background:none;border:none;padding:10px 4px;font-size:13px;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.product-report-tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.product-report-modal-body{padding:4px 0}.product-report-modal-desc{font-size:13px;color:var(--text-muted);margin-bottom:14px}.product-report-store-items{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border-color, #e5e7eb)}.product-report-store-item-chip{display:inline-flex;align-items:center;padding:6px 12px;background:var(--tag-bg);color:var(--tag-text);border-radius:20px;font-size:13px;opacity:.6}.product-report-product-list{display:flex;flex-wrap:wrap;gap:8px}.product-report-product-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:var(--bg-body);font-size:13px;color:var(--text-primary);cursor:pointer}.product-report-product-btn--voted{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent);color:var(--accent)}.product-report-product-btn:disabled{cursor:default;opacity:.8}.product-report-voted-mark{font-size:11px;font-weight:700}.product-report-request-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg-body);color:var(--text-primary);margin-bottom:12px;box-sizing:border-box}.product-report-request-submit{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.product-report-request-submit:disabled{opacity:.5;cursor:default}.product-report-request-sent{font-size:14px;color:#16a34a;text-align:center;padding:20px 0}.review-section{padding:20px 16px 24px;margin-top:4px;border-top:1px solid var(--border)}.review-section-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.review-section-title{font-size:16px;font-weight:800;margin:0}.review-average{display:flex;align-items:center;gap:4px}.review-average-score{font-size:18px;font-weight:700;color:var(--primary)}.review-count{font-size:12px;color:var(--text-muted)}.review-stars{display:inline-flex;gap:2px;color:#f59e0b}.review-star--filled{color:#f59e0b}.review-star--empty{color:var(--border)}.review-add-btn{font-size:14px;font-weight:700;color:#fff;background:var(--primary);border:none;border-radius:20px;padding:8px 18px;cursor:pointer;margin-bottom:14px;box-shadow:0 2px 8px #4040d44d;transition:background .15s,box-shadow .15s}.review-add-btn:hover{background:var(--primary-hover);box-shadow:0 4px 14px #4040d473}.review-list{display:flex;flex-direction:column;gap:12px}.review-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;width:100%;text-align:left}.review-item--mine{display:flex;align-items:flex-start;gap:4px}.review-item-clickable{flex:1;min-width:0;background:none;border:none;padding:0;text-align:left;cursor:pointer;transition:color .15s}.review-item--mine:hover{border-color:var(--primary);box-shadow:0 0 0 2px #4040d41f}.review-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.review-item-time{font-size:11px;color:var(--text-muted);margin-left:auto}.review-delete-btn{flex-shrink:0;background:none;border:none;padding:2px 4px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;border-radius:4px;transition:color .15s,background .15s}.review-delete-btn:hover{color:#ef4444;background:#ef444414}.review-delete-btn:disabled{cursor:default;opacity:.5}.review-item-body{font-size:14px;line-height:1.6;margin:0 0 6px;white-space:pre-wrap;word-break:break-word}.review-mine-badge{font-size:11px;color:var(--primary);font-weight:600}.review-empty{font-size:13px;color:var(--text-muted);margin:4px 0 0}.review-error{font-size:13px;color:#ef4444;margin:8px 0 0}.review-overlay{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:flex-end;justify-content:center}@media(min-width:600px){.review-overlay{align-items:center}}.review-modal{position:relative;background:var(--bg-card);width:100%;max-width:540px;border-radius:20px 20px 0 0;padding:24px 20px 32px;max-height:90vh;overflow-y:auto}@media(min-width:600px){.review-modal{border-radius:16px;max-height:70vh}}.review-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-muted);padding:4px 8px;border-radius:6px}.review-modal-close:hover{background:var(--border)}.review-modal-body{padding:4px 0}.review-modal-desc{font-size:13px;color:var(--text-muted);margin-bottom:12px}.review-star-selector{display:flex;gap:4px;margin-bottom:14px}.review-star-btn{background:none;border:none;padding:2px;cursor:pointer;color:#f59e0b;display:flex;align-items:center;transition:transform .1s}.review-star-btn:hover{transform:scale(1.15)}.review-textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);resize:vertical;box-sizing:border-box;font-family:inherit;line-height:1.5}.review-textarea:focus{outline:none;border-color:var(--primary)}.review-char-count{text-align:right;font-size:11px;color:var(--text-muted);margin:4px 0 12px}.review-submit-btn{width:100%;padding:12px;font-size:15px;font-weight:700;color:#fff;background:var(--primary);border:none;border-radius:12px;cursor:pointer;transition:background .15s}.review-submit-btn:hover:not(:disabled){background:var(--primary-hover)}.review-submit-btn:disabled{opacity:.5;cursor:default}.store-detail-item-category{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.3px;text-align:center}.store-detail-info-list{display:flex;flex-direction:column;gap:16px}.store-detail-info-row{display:flex;gap:12px;align-items:flex-start}.store-detail-info-icon{color:var(--primary);flex-shrink:0;margin-top:2px}.store-detail-info-row--center{align-items:center}.store-detail-info-row--center .store-detail-info-icon{margin-top:0}.store-detail-info-content{display:flex;flex-direction:column;gap:4px}.store-detail-address{font-size:13px;color:var(--text-primary);line-height:1.5}.store-detail-address-ja{font-size:12px;color:var(--text-muted);line-height:1.5}.store-detail-distance{font-size:12px;color:var(--text-secondary);margin-top:2px}.store-detail-google-rating{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-muted);margin-bottom:8px}.store-detail-google-rating-icon{color:#f59e0b}.store-detail-google-rating-score{font-weight:600;color:var(--text-main)}.store-detail-google-rating-count{color:var(--text-muted)}.store-detail-google-label{font-size:11px;color:var(--text-muted)}.store-detail-maps-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--primary);text-decoration:none;letter-spacing:.3px}.store-detail-maps-link:hover{text-decoration:underline}.store-detail-info-label{font-size:11px;color:var(--text-muted);font-weight:500}.store-detail-hours{font-size:14px;font-weight:600;color:var(--text-primary)}.store-detail-phone{font-size:14px;font-weight:600;color:var(--text-primary);text-decoration:none}.store-card-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.store-card-website-url{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--primary);text-decoration:none;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-card-website-url:hover{text-decoration:underline}.store-card-maps-link{color:var(--primary);text-decoration:none;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-card-maps-link:hover{text-decoration:underline}.store-card-distance{font-size:11px;color:var(--text-muted)}.store-card-link-btn{align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;color:var(--text-muted);text-decoration:none;transition:color .15s}.store-card-link-btn:hover{color:var(--primary)}.store-detail-website-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--primary);text-decoration:none;word-break:break-all}.store-detail-website-link:hover{text-decoration:underline}.store-detail-social-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.store-detail-social-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--bg-body);color:var(--text-secondary);text-decoration:none;transition:background-color .15s,color .15s}.store-detail-social-btn:hover{background:var(--primary);color:#fff}.store-detail-social-btn svg,.store-detail-share-btn svg{display:block}.store-detail-google-reviews{padding:24px 16px;border-top:1px solid var(--border)}.store-detail-google-reviews-list{display:flex;flex-direction:column;gap:16px}.store-detail-google-review-item{padding:12px;background:var(--bg-secondary);border-radius:8px}.store-detail-google-review-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.store-detail-google-review-author{font-size:13px;font-weight:600;color:var(--text-main)}.store-detail-google-review-rating{display:flex;gap:2px}.store-detail-google-review-star{color:#f59e0b}.store-detail-google-review-date{font-size:11px;color:var(--text-muted);margin-left:auto}.store-detail-google-review-body{font-size:13px;color:var(--text-main);line-height:1.6;white-space:pre-wrap}.store-detail-google-reviews-note{font-size:12px;color:var(--text-muted);margin-bottom:16px}.store-detail-google-reviews-note-link{color:var(--primary);text-decoration:underline}.feature-cards-section{padding:12px 16px 4px}.feature-cards-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.feature-cards-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;list-style:none;padding-left:0;margin:0;scrollbar-width:none}.feature-cards-list::-webkit-scrollbar{display:none}.feature-card{display:flex;flex-direction:column;gap:4px;min-width:160px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);text-decoration:none;color:var(--text-primary);box-shadow:var(--shadow-card);transition:border-color .15s;position:relative}.feature-card:hover{border-color:var(--primary)}.feature-card-city{font-size:11px;color:var(--primary);font-weight:600}.feature-card-title{font-size:13px;font-weight:500;line-height:1.4;padding-right:16px}.feature-card-arrow{position:absolute;bottom:10px;right:10px;color:var(--text-muted)}.area-feature-page{max-width:860px;margin:0 auto}.area-feature-hero{padding:32px 16px 24px;text-align:center}.area-feature-title{font-size:26px;font-weight:700;color:var(--text-primary);line-height:1.45;margin-bottom:16px}.area-feature-desc{font-size:14px;color:var(--text-secondary);line-height:1.75;margin-bottom:16px;max-width:560px;margin-left:auto;margin-right:auto}.area-feature-quality-banner{display:flex;align-items:center;justify-content:center;gap:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,white),color-mix(in srgb,var(--color-primary) 4%,white));border:1.5px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-radius:12px;padding:14px 20px;margin-bottom:16px}.area-feature-quality-banner-label{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--color-primary);text-transform:uppercase;white-space:nowrap;border-right:1.5px solid color-mix(in srgb,var(--color-primary) 25%,transparent);padding-right:16px}.area-feature-quality-banner-items{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0;margin:0}.area-feature-quality-banner-items li{display:flex;align-items:center;gap:6px}.area-feature-quality-icon{font-size:16px;line-height:1}.area-feature-quality-text{font-size:14px;color:var(--text-primary)}.area-feature-quality-text strong{font-size:18px;font-weight:700;color:var(--color-primary)}.area-feature-categories{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;list-style:none;padding:0;margin:0}.area-feature-category-badge{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--tag-text);background:var(--tag-bg);padding:5px 12px;border-radius:var(--radius-chip);border:none;cursor:pointer;transition:background .15s,color .15s}.area-feature-category-badge:hover{background:#d8d9f5}.area-feature-category-badge--active{background:var(--primary);color:#fff}.area-feature-category-badge--active:hover{background:var(--primary-hover)}.area-feature-criteria{font-size:13px;color:var(--text-muted)}.area-feature-ingredients{padding:28px 16px;border-top:1px solid var(--border);background:var(--surface)}.area-feature-ingredients-title{font-size:17px;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:16px}.area-feature-ingredients-body{position:relative;max-height:160px;overflow:hidden}.area-feature-ingredients-body--expanded{max-height:none}.area-feature-ingredients-fade{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to bottom,transparent 0%,var(--surface) 75%);pointer-events:none}.area-feature-ingredients-toggle{display:block;margin:10px auto 0;padding:6px 20px;font-size:13px;font-weight:600;color:var(--color-primary);background:none;border:1.5px solid var(--color-primary);border-radius:20px;cursor:pointer}.area-feature-ingredients-grid{display:grid;grid-template-columns:1fr;gap:20px;max-width:720px;margin:0 auto}@media(min-width:480px){.area-feature-ingredients-grid{grid-template-columns:repeat(2,1fr)}}.area-feature-ingredient-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.area-feature-ingredient-heading{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.area-feature-ingredient-items{font-size:13px;color:var(--text-secondary);line-height:1.8;margin:0;padding:0}.area-feature-geo-warning{font-size:12px;color:#b45309;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:8px 12px;margin-top:8px}.area-feature-about{padding:24px 16px 40px;border-top:1px solid var(--border)}.area-feature-about-title{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.area-feature-about-body{font-size:14px;color:var(--text-secondary);line-height:1.8}
