.menu-section{background-color:var(--color-background)}.menu-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:var(--spacing-md)}.menu-tab{background:var(--color-white);border:2px solid var(--color-border);color:var(--color-text-secondary);padding:.5rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;font-family:var(--font-secondary),var(--font-japanese);letter-spacing:.03em;transition:all .2s ease;white-space:nowrap;min-height:44px}.menu-tab:hover{border-color:var(--color-accent);color:var(--color-accent)}.menu-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-tab--active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-white);font-weight:600}.menu-category-desc{text-align:center;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);letter-spacing:.05em}.menu-item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);transition:opacity .2s ease}.menu-item-grid--fading{opacity:0}.menu-item-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-light);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-sm);position:relative;transition:transform .25s ease,box-shadow .25s ease}.menu-item-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.menu-item-card--recommended{border-color:var(--color-accent)}.menu-badge{display:inline-block;padding:.2rem .65rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;letter-spacing:.05em;font-family:var(--font-secondary),var(--font-japanese);align-self:flex-start}.menu-badge--new{background-color:#E63946;color:#ffffff}.menu-badge--popular{background-color:var(--color-accent);color:#ffffff}.menu-badge--premium{background-color:#8B7355;color:#ffffff}.menu-badge--option{background-color:#6C757D;color:#ffffff}.menu-badge--women{background:linear-gradient(135deg,#C97B84,#B5525A);color:#ffffff}.menu-item-name{font-family:var(--font-primary);font-size:1.2rem;font-weight:500;color:var(--color-text-primary);line-height:1.4;margin:0}.menu-item-price-row{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.menu-item-price{font-family:var(--font-primary);font-size:1.9rem;font-weight:700;color:var(--color-accent);letter-spacing:-.02em;line-height:1}.menu-item-original-price{font-size:.9rem;color:var(--color-text-light);text-decoration:line-through;font-family:var(--font-secondary)}.menu-item-time{display:flex;align-items:center;gap:.3rem;font-size:.875rem;color:var(--color-text-secondary);font-family:var(--font-secondary)}.menu-item-time-icon{font-size:.85rem}.menu-item-description{font-size:.9rem;color:var(--color-text-secondary);line-height:1.7;flex:1;margin:0}.menu-item-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:var(--spacing-sm)}.menu-item-btn{display:block;width:100%;min-height:44px;padding:.6rem 1rem;text-align:center;text-decoration:none;font-size:.85rem;font-weight:600;font-family:var(--font-secondary),var(--font-japanese);letter-spacing:.03em;border-radius:var(--radius-md);transition:all .2s ease;line-height:1.4;display:flex;align-items:center;justify-content:center}.menu-item-btn--primary{background-color:var(--color-accent);color:var(--color-white);border:2px solid var(--color-accent)}.menu-item-btn--primary:hover{background-color:#b8956a;border-color:#b8956a;color:var(--color-white);transform:translateY(-1px)}.menu-item-btn--secondary{background-color:transparent;color:var(--color-accent);border:2px solid var(--color-accent)}.menu-item-btn--secondary:hover{background-color:rgba(201,169,110,.1);transform:translateY(-1px)}@media (max-width:768px){.menu-item-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.menu-tabs{gap:.375rem}.menu-tab{font-size:.8rem;padding:.45rem .875rem}}@media (max-width:480px){.menu-item-card{padding:var(--spacing-md)}.menu-item-name{font-size:1.05rem}.menu-item-price{font-size:1.6rem}.menu-tab{font-size:.75rem;padding:.4rem .75rem;min-height:40px}}@media (max-width:320px){.menu-tabs{gap:.25rem}.menu-tab{font-size:.7rem;padding:.375rem .625rem}.menu-item-price{font-size:1.4rem}.menu-item-name{font-size:.95rem}.menu-item-description{font-size:.82rem}.menu-item-btn{font-size:.78rem;min-height:40px}}