* { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Helvetica Neue', Arial, sans-serif; } body { display: flex; height: 100vh; background-color: #fcfbf7; color: #2c2520; overflow: hidden; } .hero-side { flex: 1; padding: 60px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(to top, rgba(19, 15, 13, 0.85), rgba(19, 15, 13, 0.2)), url('../../../_shared/images/card/photo-1555396273-367ea4eb4db5.webp') no-repeat center center/cover; color: #ffffff; } .hero-side h1 { font-size: 3.5rem; margin-bottom: 15px; font-weight: 700; } .hero-side p { font-size: 1.2rem; max-width: 520px; line-height: 1.6; color: #f1eae4; } .menu-side { width: 480px; background-color: #ffffff; border-left: 1px solid #eaddd3; display: flex; flex-direction: column; height: 100%; } .menu-header { padding: 35px 25px 15px; border-bottom: 1px solid #f3ede8; } .menu-header h2 { font-size: 1.8rem; color: #1c1612; margin-bottom: 5px; } .menu-header p { color: #7c6e65; font-size: 0.95rem; } .items-container { flex: 1; overflow-y: auto; padding: 15px 25px; } .category-heading { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1.5px; color: #bd3a2e; font-weight: 700; margin: 25px 0 12px 0; padding-bottom: 5px; border-bottom: 2px solid #f7ece4; } .food-card { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid #f9f5f0; } .food-details h3 { font-size: 1.05rem; color: #2c2520; margin-bottom: 4px; } .food-details p { font-size: 0.85rem; color: #7c6e65; line-height: 1.4; padding-right: 15px; } .tag { display: inline-block; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px; font-weight: bold; margin-left: 6px; vertical-align: middle; } .tag-italian { background-color: #e1f2e5; color: #2e7d32; } .tag-cafe { background-color: #f7ece4; color: #8d6e63; } .action-block { text-align: right; min-width: 90px; } .price-text { display: block; font-weight: bold; color: #1c1612; margin-bottom: 8px; font-size: 1.05rem; } .add-btn { background-color: #2c2520; color: #ffffff; border: none; padding: 6px 14px; font-size: 0.85rem; font-weight: 600; border-radius: 4px; cursor: pointer; transition: background 0.15s ease; } .add-btn:hover { background-color: #bd3a2e; } .receipt-summary { background-color: #faf7f2; padding: 25px; border-top: 1px solid #eaddd3; } .receipt-line { display: flex; justify-content: space-between; font-size: 1.15rem; font-weight: 700; color: #2c2520; margin-bottom: 15px; } .checkout-btn { width: 100%; background-color: #bd3a2e; color: white; border: none; padding: 14px; font-size: 1rem; font-weight: bold; border-radius: 5px; cursor: pointer; transition: background 0.2s; } .checkout-btn:hover { background-color: #96281b; } @media (max-width: 880px) { body { flex-direction: column; overflow: auto; } .hero-side { height: 40vh; padding: 30px; } .menu-side { width: 100%; height: auto; } } html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; } body { overflow-x: hidden; } .container, .section, main { max-width: 100%; } @media (max-width: 768px) { .btn, .nav-links a, .nav-pills a { min-height: 44px; align-items: center; } .section { padding-block: 3rem; } .form-panel, .form-card, .form-elegant, .inquiry-float { padding: 1.25rem; } .inquiry-sidebar { padding: 2rem 1.25rem; } .form-area { padding: 2rem 1.25rem; } .hero-split { min-height: auto; } .hero-panel { padding: 2.5rem 0; } .hero-visual { min-height: 40vh; } .hero-center { min-height: auto; padding: 6rem 0 2.5rem; } .hero-portal { min-height: auto; padding-bottom: 2rem; } .hero-top { padding-top: 3rem; } .hero-img-wrap img { height: 40vh; min-height: 220px; } .product-row--reverse .product-row-img, .product-row--reverse .product-row-body { order: unset; } .product-num { font-size: 2.5rem; } .stat-pill { min-width: calc(50% - 0.5rem); flex: 1 1 calc(50% - 0.5rem); } .nav-float { top: 0.5rem; } .page-wrap { padding-top: 4.75rem; } .tab-label { flex: 1 1 auto; text-align: center; border-radius: 8px !important; margin-bottom: 0.25rem; } .tab-row { gap: 0.35rem; } } @media (min-width: 1200px) { .container { width: min(100% - 3rem, var(--max)); } } .inquiry-form input, .inquiry-form select, .inquiry-form textarea { max-width: 100%; }
/* QA: mobile navigation */
@media(max-width:768px){
  body{display:flex;flex-direction:column;min-height:100vh}
  .hero-side,.hero-panel,.cyber-hero{width:100%!important;min-height:auto!important;padding:2.5rem 1.25rem!important}
  .menu-side,.config-panel,.control-panel{width:100%!important;min-height:auto!important;padding:1.25rem!important}
  .hero-side h1,.hero-panel h1,.cyber-hero h1{font-size:clamp(1.75rem,7vw,2.5rem)!important}
  .food-card,.menu-item{flex-direction:column!important;gap:.75rem}
  .add-btn,.item-action button{min-height:44px;width:100%}
}
