:root { --primary-dark: #2B1E16; --primary-light: #F9F6F0; --accent-gold: #C5A059; --text-dark: #3A322D; --text-light: #EFEBE4; --font-serif: 'Playfair Display', Georgia, serif; --font-serif-sc: 'Playfair Display SC', Georgia, serif; --font-sans: 'Poppins', sans-serif; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: var(--font-sans); background-color: var(--primary-light); color: var(--text-dark); line-height: 1.6; overflow-x: hidden; } h1, h2, h3, h4 { font-family: var(--font-serif); font-weight: 700; } .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } .btn { display: inline-block; padding: 12px 30px; font-family: var(--font-serif-sc); font-weight: 700; text-transform: uppercase; text-decoration: none; letter-spacing: 1px; transition: all 0.3s ease; cursor: pointer; border: 1px solid transparent; } .btn-gold { background-color: var(--accent-gold); color: var(--primary-dark); } .btn-gold:hover { background-color: transparent; color: var(--accent-gold); border-color: var(--accent-gold); } .btn-outline { border: 1px solid var(--accent-gold); color: var(--accent-gold); background: transparent; } .btn-outline:hover { background-color: var(--accent-gold); color: var(--primary-dark); } header { background-color: var(--primary-dark); border-bottom: 2px solid var(--accent-gold); position: sticky; top: 0; z-index: 1000; } .navbar { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; } .logo { color: var(--accent-gold); font-family: var(--font-serif-sc); font-size: 1.5rem; text-decoration: none; font-weight: 700; } .logo span { display: block; font-size: 0.75rem; font-family: var(--font-sans); letter-spacing: 3px; color: var(--text-light); text-align: center; } .nav-links { display: flex; list-style: none; gap: 30px; } .nav-links a { color: var(--text-light); text-decoration: none; font-family: var(--font-serif-sc); font-size: 0.9rem; letter-spacing: 1px; transition: color 0.3s ease; } .nav-links a:hover { color: var(--accent-gold); } .hero { background: linear-gradient(rgba(43, 30, 22, 0.85), rgba(43, 30, 22, 0.85)), url('../../../_shared/images/card/photo-1554118811-1e0d58224f24.webp') no-repeat center center/cover; color: var(--text-light); text-align: center; padding: 160px 0; border-bottom: 4px double var(--accent-gold); } .hero h1 { font-size: 4rem; margin-bottom: 10px; letter-spacing: 2px; color: var(--accent-gold); } .hero p.subtitle { font-family: var(--font-serif); font-style: italic; font-size: 1.5rem; margin-bottom: 30px; opacity: 0.9; } .hero p.description { max-width: 600px; margin: 0 auto 40px auto; font-weight: 300; font-size: 1.1rem; } .heritage { padding: 100px 0; background-color: var(--primary-light); } .section-title { text-align: center; font-size: 2.5rem; color: var(--primary-dark); margin-bottom: 15px; font-family: var(--font-serif-sc); } .section-divider { width: 80px; height: 2px; background-color: var(--accent-gold); margin: 0 auto 50px auto; position: relative; } .section-divider::after { content: "♦"; color: var(--accent-gold); position: absolute; top: -9px; left: 50%; transform: translateX(-50%); background: var(--primary-light); padding: 0 5px; } .heritage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; } .heritage-text p { margin-bottom: 20px; font-size: 1.05rem; text-align: justify; } .heritage-img-frame { border: 15px solid #fff; box-shadow: 0 15px 35px rgba(0,0,0,0.15); outline: 1px solid #ddd; overflow: hidden; } .heritage-img-frame img { width: 100%; height: auto; display: block; filter: sepia(0.3) contrast(1.1); transition: transform 0.5s ease; } .heritage-img-frame:hover img { transform: scale(1.05); } .menu-section { background-color: #F0EAE1; padding: 100px 0; border-top: 1px solid #E4DCCE; border-bottom: 1px solid #E4DCCE; } .menu-tabs { display: flex; justify-content: center; gap: 20px; margin-bottom: 40px; } .tab-btn { background: transparent; border: none; font-family: var(--font-serif-sc); font-size: 1.1rem; color: var(--text-dark); padding: 5px 15px; cursor: pointer; border-bottom: 2px solid transparent; transition: all 0.3s; } .tab-btn.active, .tab-btn:hover { color: var(--accent-gold); border-bottom-color: var(--accent-gold); } .menu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 60px; } .menu-grid-wrapper { display: none; } .menu-grid-wrapper.active { display: grid; } .menu-item { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px dotted #B8AF9E; padding-bottom: 15px; } .menu-item-info h3 { font-size: 1.3rem; color: var(--primary-dark); margin-bottom: 5px; } .menu-item-info p { font-size: 0.9rem; font-style: italic; opacity: 0.8; } .menu-item-price { font-family: var(--font-serif); font-weight: 700; color: var(--accent-gold); font-size: 1.2rem; padding-left: 20px; } .reservation { padding: 100px 0; background: linear-gradient(rgba(43, 30, 22, 0.92), rgba(43, 30, 22, 0.92)), url('../../../_shared/images/card/photo-1445116572660-236099ec97a0.webp') no-repeat center center/cover; color: var(--text-light); } .reservation .section-title { color: var(--accent-gold); } .reservation .section-divider::after { background: #2B1E16; } .res-box { max-width: 700px; margin: 0 auto; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(197, 160, 89, 0.2); padding: 40px; backdrop-filter: blur(5px); } .res-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } .full-width { grid-column: span 2; } .form-group label { display: block; font-family: var(--font-serif-sc); font-size: 0.85rem; letter-spacing: 1px; margin-bottom: 8px; color: var(--accent-gold); } .form-group input, .form-group select { width: 100%; padding: 12px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; font-family: var(--font-sans); outline: none; transition: all 0.3s; } .form-group input:focus, .form-group select:focus { border-color: var(--accent-gold); background: rgba(255, 255, 255, 0.15); } .form-group select option { background-color: var(--primary-dark); color: #fff; } #confirmationMessage { display: none; grid-column: span 2; background: rgba(197, 160, 89, 0.2); border: 1px solid var(--accent-gold); padding: 15px; text-align: center; font-family: var(--font-serif); font-style: italic; } footer { background-color: #1A120D; color: #A3968E; padding: 60px 0 20px 0; font-size: 0.9rem; border-top: 2px solid var(--accent-gold); } .footer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; } .footer-col h4 { color: var(--text-light); font-family: var(--font-serif-sc); margin-bottom: 20px; letter-spacing: 1px; } .footer-col p { margin-bottom: 10px; } .footer-bottom { text-align: center; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.05); font-size: 0.8rem; } @media (max-width: 768px) { .navbar { flex-direction: column; gap: 20px; } .hero h1 { font-size: 2.8rem; } .heritage-grid, .menu-grid, .footer-grid, .res-form { grid-template-columns: 1fr; } .full-width, .res-form .form-group { grid-column: span 1; } .menu-tabs { flex-wrap: wrap; } } 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 */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;margin-left:auto}
.nav-toggle span{display:block;width:22px;height:2px;background:currentColor}
@media(max-width:768px){
  .nav-toggle{display:flex}
  .nav-container,.nav-container header nav,.nav-container>nav,nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;position:relative}
  .nav-links:not(.is-open){display:none!important}
  .nav-links.is-open,.nav-links.active{display:flex!important;flex-direction:column;width:100%;gap:.75rem;padding:1rem 0;border-top:1px solid rgba(0,0,0,.08)}
  .nav-links.is-open a,.nav-links.active a{margin-left:0!important;min-height:44px;display:inline-flex;align-items:center}
  ul.nav-links.is-open,ul.nav-links.active{list-style:none;padding:1rem 0;margin:0}
  ul.nav-links.is-open li,ul.nav-links.active li{width:100%}
  .hero{min-height:50vh!important;height:auto!important;padding:3rem 1.25rem!important}
  .hero-content h1,.hero h1{font-size:clamp(1.75rem,7vw,2.5rem)!important}
  .info-side,.order-side,.brand-side,.customizer-side{width:100%!important;max-width:100%!important;min-height:auto!important}
  body:has(.info-side){display:flex;flex-direction:column}
  .info-side{order:1;padding:2rem 1.25rem!important}
  .order-side,.customizer-side{order:2;padding:1.25rem!important}
  .brand-side{order:1;padding:2.5rem 1.25rem!important}
  .menu-grid,.info-grid{grid-template-columns:1fr!important}
  .section{padding:3rem 1.25rem!important}
}
