@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Khmer:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

/* 전체 리셋 및 기본 설정 */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; width: 100%; background-color: #0b0908; color: #ffffff; font-family: "Noto Sans", "Noto Sans Khmer", sans-serif; overflow-x: hidden; }

/* 메인 히어로 섹션 배경 */
.hero-section { position: relative; width: 100%; min-height: 100vh; min-height: 100dvh; background: linear-gradient(rgba(0,0,0,0.55), rgba(11,9,8,0.95)), url('/img/main/hero-bg-2.jpg') center/cover no-repeat; display: flex; flex-direction: column; justify-content: space-between; overflow-x: hidden; }

/* 서브 페이지 상단 헤더 배경 */
.sub-header-bg { background: rgba(18, 15, 13, 0.95); border-bottom: 1px solid rgba(212, 175, 55, 0.2); }
.sub-page-hero { padding: 60px 0 40px 0; background: linear-gradient(rgba(0,0,0,0.7), rgba(11,9,8,0.9)), url('img/hero-bg-2.jpg') center/cover no-repeat; text-align: center; border-bottom: 1px solid rgba(212, 175, 55, 0.2); }
.sub-page-title { font-size: 2.2rem; font-weight: 700; color: #d4af37; letter-spacing: 2px; }

/* 네비게이션 및 헤더 정렬 수정을 위한 추가/보완 스타일 */
.navbar { width: 100%; padding: 15px 0; display: flex; align-items: center; justify-content: space-between; }
.navbar-brand-logo { text-decoration: none; display: flex; align-items: center; }
.navbar-brand-logo img { max-width: 130px; width: 100%; height: auto; }
.desktop-nav { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; gap: 10px; }
.desktop-nav .nav-item { list-style: none; display: inline-block; }
.desktop-nav .nav-link { color: #d1cfcd !important; font-size: 1rem; font-weight:700;letter-spacing: 2px; text-transform: uppercase; transition: color 0.3s; padding: 0.5rem 1rem !important; white-space: nowrap; text-decoration: none; }
.desktop-nav .nav-link:hover { color: #d4af37 !important; }

/* 토글 버튼 스타일 */
.btn-offcanvas-toggle { background: transparent; border: none; color: #ffffff; font-size: 2rem; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.btn-offcanvas-toggle:hover { color: #d4af37; }

/* 다국어 언어 스위처 */
.lang-switch { font-size: 0.8rem; color: #a09d9a; letter-spacing: 1px; display: flex; gap: 8px; align-items: center; }
.lang-switch a { color: #a09d9a; text-decoration: none; transition: color 0.2s; }
.lang-switch a:hover, .lang-switch a.active { color: #d4af37; font-weight: bold; }

/* 메인 중앙 타이틀 영역 스타일 */
.main-title-container { width: 100%; text-align: center; margin: auto 0; padding: 20px 15px; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; }
.hero-logo-img { max-width: 420px; width: 100%; height: auto; display: block; object-fit: contain; filter: drop-shadow(0 4px 15px rgba(0,0,0,0.8)); margin-bottom: 15px; }
.main-title-kr { font-size: 3.5rem; font-weight: 700; color: #f3ece0; letter-spacing: 6px; text-shadow: 0 4px 15px rgba(0,0,0,0.8); line-height: 1.1; }
.stamp-badge { background-color: #b81c1c; color: #fff; font-size: 0.8rem; padding: 2px 5px; border-radius: 2px; vertical-align: super; font-weight: normal; }
.main-title-en { font-family: 'Cinzel', serif; font-size: 1.4rem; letter-spacing: 6px; color: #d4af37; margin-top: 8px; }
.since-tag { font-size: 0.6em; letter-spacing: 2px; color: #a09d9a; }
.main-title-sub { font-size: 0.85rem; color: #d4af37; letter-spacing: 3px; margin-top: 4px; font-weight: 600; }
.sub-title { font-size: 0.9rem; letter-spacing: 3px; color: #c5b8a5; margin-top: 12px; text-transform: uppercase; line-height: 1.4; }
.btn-menu { background: transparent; color: #d4af37; border: 1px solid #d4af37; padding: 10px 28px; font-size: 0.8rem; letter-spacing: 3px; transition: all 0.3s ease; text-decoration: none; display: inline-block; margin-top: 25px; }
.btn-menu:hover { background-color: #d4af37; color: #000; }

/* 하단 피처 바 영역 (가로 4열 배치 정돈) */
.bottom-section { width: 100%; overflow: hidden; }
.scroll-indicator { text-align: center; color: #8c857b; font-size: 0.7rem; letter-spacing: 2px; margin-bottom: 15px; cursor: pointer; }
.feature-bar { width: 100%; background: rgba(18, 15, 13, 0.85); backdrop-filter: blur(8px); border-top: 1px solid rgba(212, 175, 55, 0.2); padding: 20px 0; }
.feature-bar .row { display: flex; flex-wrap: wrap; --bs-gutter-x: 0; margin-left: 0; margin-right: 0; width: 100%; }
.feature-item { text-align: center; padding: 10px 5px; border-right: 1px solid rgba(255,255,255,0.08); flex: 1 0 25%; max-width: 25%; }
.feature-item:last-child { border-right: none; }
.feature-icon { font-size: 1.8rem; color: #d4af37; margin-bottom: 6px; display: inline-block; }
.feature-title { font-size: 0.75rem; letter-spacing: 1px; color: #e5e2dd; font-weight: 700; text-transform: uppercase; }
.feature-desc { font-size: 0.68rem; color: #8c857b; margin-top: 2px; }
.location-tag { font-size: 0.7rem; color: #706b63; text-align: right; padding-right: 15px; padding-bottom: 10px; margin-top: 8px; }

/* 대표 메뉴 카드 스타일 */
.menu-card { background: #14110e; border: 1px solid rgba(212, 175, 55, 0.2); border-radius: 8px; overflow: hidden; text-decoration: none; color: inherit; display: block; transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; height: 100%; }
.menu-card:hover { transform: translateY(-6px); border-color: #d4af37; box-shadow: 0 10px 20px rgba(0,0,0,0.6); color: inherit; }
.menu-card-img-wrap { width: 100%; height: 220px; overflow: hidden; position: relative; }
.menu-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.menu-card:hover .menu-card-img { transform: scale(1.08); }
.menu-card-body { padding: 20px 15px; text-align: center; }
.menu-card-title { font-size: 1.15rem; font-weight: 700; color: #f3ece0; margin-bottom: 8px; letter-spacing: 1px; }
.menu-card-desc { font-size: 0.82rem; color: #a09d9a; line-height: 1.5; margin-bottom: 15px; height: 2.6em; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.menu-card-link { font-size: 0.8rem; color: #d4af37; font-weight: 600; letter-spacing: 1px; }

/* 오프캔버스 메뉴 CSS */
.offcanvas { background-color: #120f0d; color: #ffffff; border-left: 1px solid rgba(212, 175, 55, 0.3); }
.offcanvas-header { border-bottom: 1px solid rgba(255,255,255,0.08); padding: 20px; }
.offcanvas-title { color: #d4af37; font-family: 'Cinzel', serif; letter-spacing: 2px; }
.btn-close-white { filter: invert(1) grayscale(100%) brightness(200%); }
.offcanvas-body .nav-item { margin-bottom: 15px; list-style: none; }
.offcanvas-body .nav-link { color: #d1cfcd !important; font-size: 1.1rem; letter-spacing: 2px; text-transform: uppercase; transition: color 0.3s; padding: 8px 0 !important; text-decoration: none; }
.offcanvas-body .nav-link:hover { color: #d4af37 !important; padding-left: 8px !important; }

/* 주요 섹션 공통 스타일 */
.content-section { padding: 80px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.section-title { color: #d4af37; font-size: 2rem; font-weight: 700; margin-bottom: 15px; text-align: center; letter-spacing: 2px; }
.section-desc { color: #a09d9a; text-align: center; max-width: 650px; margin: 0 auto 40px auto; font-size: 0.95rem; line-height: 1.6; }
.btn-more { display: inline-block; border: 1px solid #d4af37; color: #d4af37; padding: 12px 32px; text-decoration: none; font-size: 0.85rem; letter-spacing: 2px; transition: all 0.3s; font-weight: 600; }
.btn-more:hover { background: #d4af37; color: #000; }

/* container-fluid 전체 폭 배경 및 상단 테두리 라인 전용 스타일 */
.res-fluid-bg { background: linear-gradient(180deg, rgba(20, 18, 17, 0.98), rgba(10, 9, 8, 1)), url('/img/main/hero-bg-3.jpg') center/cover no-repeat; border-top: 1px solid rgba(197, 160, 89, 0.4); padding: 70px 0 50px; position: relative; }
.res-fluid-bg::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 200px; height: 2px; background: #c5a059; box-shadow: 0 0 12px rgba(197, 160, 89, 0.8); }
.res-banner-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.res-badge { display: inline-flex; align-items: center; background: rgba(197, 160, 89, 0.12); border: 1px solid #c5a059; color: #c5a059; font-family: 'Cinzel', serif; font-size: 0.75rem; letter-spacing: 2.5px; padding: 6px 18px; border-radius: 30px; margin-bottom: 20px; }
.res-main-heading { font-family: "Noto Serif KR", serif; font-size: 1.85rem; font-weight: 700; color: #ffffff; letter-spacing: -0.5px; margin-bottom: 15px; line-height: 1.4; }
.res-sub-heading { color: #b0ab9e; font-size: 0.92rem; font-weight: 300; margin-bottom: 30px; line-height: 1.6; }
.res-feature-box { background: rgba(10, 9, 8, 0.7); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 6px; padding: 22px 15px; transition: all 0.3s ease; }
.res-feature-box:hover { border-color: #c5a059; background: rgba(197, 160, 89, 0.08); transform: translateY(-3px); }
.res-feat-icon { font-size: 2.2rem; color: #c5a059; margin-bottom: 8px; }
.res-feat-title { font-family: 'Cinzel', serif; font-size: 0.85rem; font-weight: 700; color: #ffffff; letter-spacing: 1px; margin-bottom: 4px; }
.res-feat-desc { font-size: 0.78rem; color: #8e8a85; font-weight: 300; }
.res-action-group { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 35px; }
.btn-res-primary { background: #c5a059; color: #0a0908; font-weight: 700; padding: 14px 32px; border-radius: 2px; font-size: 0.92rem; letter-spacing: 1px; text-decoration: none; transition: all 0.3s ease; display: inline-flex; align-items: center; box-shadow: 0 4px 20px rgba(197, 160, 89, 0.3); }
.btn-res-primary:hover { background: #e2c991; color: #000000; box-shadow: 0 6px 25px rgba(197, 160, 89, 0.5); transform: translateY(-2px); }
.btn-res-chat { padding: 14px 22px; border-radius: 2px; font-size: 0.88rem; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: all 0.3s ease; }
.btn-chat-telegram { background: #229ED9; color: #ffffff; border: 1px solid #229ED9; }
.btn-chat-telegram:hover { background: #1c88bc; color: #ffffff; transform: translateY(-2px); }
.btn-chat-kakao { background: #FEE500; color: #3c1e1e; border: 1px solid #FEE500; }
.btn-chat-kakao:hover { background: #f0d800; transform: translateY(-2px); }

/* 갤러리 무한 슬라이드 전용 스타일 */
.marquee-wrapper { width: 100%; overflow: hidden; position: relative; margin: 40px 0; cursor: pointer; padding: 10px 0; }
.marquee-track { display: flex; gap: 20px; width: max-content; animation: marqueeScroll 30s linear infinite; }
.marquee-wrapper:hover .marquee-track { animation-play-state: paused; }
.marquee-item { position: relative; width: 320px; height: 220px; flex-shrink: 0; border-radius: 4px; overflow: hidden; background: #1a1816; border: 1px solid rgba(255, 255, 255, 0.08); transition: border-color 0.3s ease, transform 0.3s ease; }
.marquee-item:hover { border-color: #c5a059; transform: translateY(-4px); }
.marquee-item img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9); transition: transform 0.5s ease; }
.marquee-item:hover img { transform: scale(1.05); filter: brightness(1); }
.marquee-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 15px; background: linear-gradient(to top, rgba(10,9,8,0.9), transparent); display: flex; align-items: flex-end; }
.marquee-title { font-size: 0.9rem; font-weight: 600; color: #ffffff; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@keyframes marqueeScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* 반응형 디스플레이 분기 */
@media (max-width: 991px) { .desktop-nav { display: none !important; } .btn-offcanvas-toggle { display: inline-flex !important; } }
@media (min-width: 992px) { .btn-offcanvas-toggle { display: none !important; } }
@media (max-width: 768px) { .hero-logo-img { max-width: 280px !important; } .main-title-kr { font-size: 2.6rem; } .main-title-en { font-size: 1.1rem; } .sub-title { font-size: 0.75rem; } .navbar-brand-logo img { max-width: 100px; } .menu-card-img-wrap { height: 180px; } .feature-item { flex: 1 0 50%; max-width: 50%; border-bottom: 1px solid rgba(255,255,255,0.08); } .feature-item:nth-child(2n) { border-right: none; } .res-fluid-bg { padding: 50px 15px 40px; } .res-main-heading { font-size: 1.35rem; } .res-action-group { flex-direction: column; width: 100%; } .btn-res-primary, .btn-res-chat { width: 100%; justify-content: center; } .marquee-item { width: 240px; height: 160px; } }
@media (max-width: 440px) { .hero-logo-img { max-width: 220px !important; } .main-title-kr { font-size: 2.1rem; } .section-title { font-size: 1.5rem; } }
:root {
--bg-dark: #0a0908;
--card-bg: #141211;
--gold-primary: #c5a059;
--text-main: #f0f0f0;
--text-muted: #8e8a85;
--border-color: rgba(197, 160, 89, 0.18);
}

body {
background-color: var(--bg-dark);
color: var(--text-main);
font-family: "Noto Serif KR", serif, sans-serif;
margin: 0;
padding: 0;
-webkit-font-smoothing: antialiased;
}

.container {
width: 100%;
max-width: 1320px;
margin: 0 auto;
padding-left: 20px;
padding-right: 20px;
}

/* 히어로 섹션 */
.gallery-hero-section {
background: linear-gradient(rgba(10, 9, 8, 0.75), rgba(10, 9, 8, 0.98)), url('/img/main/hero-bg-3.jpg') center/cover no-repeat;
padding: 110px 0 55px;
text-align: center;
border-bottom: 1px solid rgba(197, 160, 89, 0.2);
}
.hero-subtitle {
color: var(--gold-primary);
font-family: 'Cinzel', serif;
font-size: 0.85rem;
letter-spacing: 5px;
text-transform: uppercase;
margin-bottom: 12px;
font-weight: 500;
}
.hero-title {
font-family: 'Cinzel', serif;
font-size: 2.6rem;
font-weight: 700;
color: #ffffff;
letter-spacing: 2px;
margin: 0;
}

/* 매거진 스타일 메이슨리 그리드 레이아웃 */
.gallery-masonry-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-auto-rows: 200px;
gap: 20px;
margin: 60px auto 80px;
}

.gallery-item {
position: relative;
overflow: hidden;
border-radius: 4px;
background: #1a1816;
border: 1px solid rgba(255, 255, 255, 0.05);
cursor: pointer;
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.gallery-item:hover {
border-color: var(--gold-primary);
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.7);
transform: translateY(-4px);
}

.gallery-item img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
filter: brightness(0.9);
}

.gallery-item:hover img {
transform: scale(1.06);
filter: brightness(1);
}

/* 이미지 비율 및 높이 변형 클래스 (매거진 느낌 연출) */
.gallery-item.tall {
grid-row-end: span 2; /* 세로로 긴 이미지 */
}
.gallery-item.wide {
grid-column-end: span 2; /* 가로로 넓은 이미지 */
}

/* 호버 시 나타나는 타이틀 오버레이 */
.gallery-overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 25px 20px;
background: linear-gradient(to top, rgba(10,9,8,0.9), transparent);
opacity: 0;
transition: opacity 0.3s ease;
display: flex;
flex-direction: column;
justify-content: flex-end;
}
.gallery-item:hover .gallery-overlay {
opacity: 1;
}
.gallery-title-text {
font-size: 1rem;
font-weight: 600;
color: #ffffff;
letter-spacing: 0.5px;
margin: 0;
}

/* 반응형 모바일 대응 */
@media (max-width: 992px) {
.gallery-masonry-grid {
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: 220px;
}
.gallery-item.wide {
grid-column-end: span 2;
}
}

@media (max-width: 576px) {
.gallery-masonry-grid {
display: flex;
flex-direction: column;
gap: 16px;
}
.gallery-item {
height: 260px !important;
}
.hero-title {
font-size: 2rem;
}
}



/* 다크 럭셔리 예약 페이지 가독성 강화 CSS (한 셀렉터당 한 줄 규칙 준수) */
.res-page-wrap { padding: 50px 0 90px; background: #0b0908; min-height: 85vh; }
.res-card-container { background: #141211; border: 1px solid rgba(197, 160, 89, 0.3); border-radius: 8px; padding: 45px 35px; box-shadow: 0 20px 50px rgba(0,0,0,0.8); max-width: 960px; margin: 0 auto; }
.res-page-title { font-family: 'Cinzel', serif; color: #d4af37; font-size: 2.2rem; letter-spacing: 2px; text-align: center; margin-bottom: 8px; font-weight: 700; }
.res-page-subtitle { color: #a09d9a; font-size: 0.92rem; text-align: center; margin-bottom: 35px; font-weight: 300; }

.form-label-gold { display: block; font-family: 'Cinzel', serif; font-size: 0.85rem; color: #d4af37; letter-spacing: 1.5px; margin-bottom: 10px; font-weight: 700; text-transform: uppercase; }
.form-input-dark { background: #1a1715; border: 1px solid rgba(197, 160, 89, 0.3); color: #ffffff; padding: 14px 16px; border-radius: 4px; width: 100%; font-size: 0.95rem; transition: all 0.3s ease; }
.form-input-dark:focus { outline: none; border-color: #d4af37; background: #221e1b; box-shadow: 0 0 12px rgba(212, 175, 55, 0.3); }

/* 시간/인원/좌석 버튼 그리드 가독성 강화 */
.time-group-label { font-size: 0.78rem; color: #8e8a85; letter-spacing: 1px; margin-bottom: 8px; text-transform: uppercase; font-weight: 600; border-left: 2px solid #c5a059; padding-left: 8px; }
.btn-grid-container { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-bottom: 15px; }
.btn-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.btn-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }

.btn-option-item input[type="radio"] { display: none; }
.btn-option-label { display: flex; align-items: center; justify-content: center; height: 48px; background: #1c1815; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 4px; color: #d1cfcd; font-size: 0.9rem; cursor: pointer; transition: all 0.25s ease; user-select: none; font-weight: 500; }
.btn-option-label:hover { border-color: #c5a059; color: #ffffff; background: #25201c; }
.btn-option-item input[type="radio"]:checked + .btn-option-label { background: linear-gradient(135deg, #c5a059, #9e7d3b); border-color: #e2c991; color: #000000; font-weight: 700; box-shadow: 0 4px 15px rgba(197, 160, 89, 0.4); transform: translateY(-1px); }

/* Flatpickr 커스텀 선명한 다크 스타일ing */
.flatpickr-calendar { background: #141211 !important; border: 1px solid #c5a059 !important; box-shadow: 0 10px 30px rgba(0,0,0,0.9) !important; }
.flatpickr-day.selected { background: #c5a059 !important; border-color: #c5a059 !important; color: #000 !important; font-weight: bold; }
.flatpickr-day:hover { background: rgba(197, 160, 89, 0.3) !important; }

.btn-submit-res { display: block; width: 100%; background: #c5a059; color: #0a0908; font-weight: 700; border: none; padding: 16px 20px; font-size: 1.05rem; letter-spacing: 2px; text-transform: uppercase; border-radius: 4px; transition: all 0.3s ease; cursor: pointer; margin-top: 35px; box-shadow: 0 4px 20px rgba(197, 160, 89, 0.3); }
.btn-submit-res:hover { background: #e2c991; color: #000000; box-shadow: 0 6px 25px rgba(197, 160, 89, 0.5); }

@media (max-width: 992px) { .btn-grid-container { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 576px) { .btn-grid-container { grid-template-columns: repeat(3, 1fr); } .btn-grid-4 { grid-template-columns: repeat(2, 1fr); } .btn-grid-2 { grid-template-columns: 1fr; } .res-card-container { padding: 25px 15px; } }

.reservation-modal-backdrop { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.7); backdrop-filter: blur(4px); z-index: 1040; opacity: 0; visibility: hidden; transition: all 0.4s ease; }
.reservation-modal-backdrop.show { opacity: 1; visibility: visible; }
.reservation-layer { position: fixed; bottom: -100%; left: 0; width: 100%; background: #171412; border-top: 2px solid #d4af37; border-radius: 20px 20px 0 0; z-index: 1050; transition: bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1); padding: 25px 15px; max-height: 85vh; overflow-y: auto; }
.reservation-layer.show { bottom: 0; }
.layer-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(212,175,55,0.2); padding-bottom: 12px; margin-bottom: 15px; }
.layer-title { font-size: 1.2rem; color: #d4af37; margin: 0; font-family: 'Cinzel', serif; letter-spacing: 1px; }
.btn-close-layer { background: none; border: none; color: #fff; font-size: 1.4rem; cursor: pointer; }
.form-control, .form-select { background-color: #0b0908; border: 1px solid #332d28; color: #fff; border-radius: 4px; padding: 10px; font-size: 0.85rem; }
.form-control:focus, .form-select:focus { background-color: #0b0908; border-color: #d4af37; color: #fff; box-shadow: none; }
.form-label { font-size: 0.78rem; color: #c5b8a5; letter-spacing: 1px; }
.btn-submit-res { background: #d4af37; color: #000; font-weight: bold; border: none; width: 100%; padding: 12px; font-size: 0.85rem; letter-spacing: 2px; transition: background 0.3s; margin-top: 10px; }
.btn-submit-res:hover { background: #b8952b; color: #000; }

.site-footer { background: #080605; border-top: 1px solid rgba(197, 160, 89, 0.25); color: #8e8a85; padding: 60px 0 30px; font-size: 0.9rem; }
.footer-logo-text { font-family: 'Cinzel', serif; color: #d4af37; font-size: 1.6rem; letter-spacing: 2px; font-weight: 700; margin-bottom: 15px; }
.footer-tagline { color: #b5b0a9; font-size: 0.88rem; margin-bottom: 20px; font-weight: 300; }
.footer-heading { font-family: 'Cinzel', serif; color: #d4af37; font-size: 1rem; letter-spacing: 1.5px; margin-bottom: 20px; font-weight: 600; text-transform: uppercase; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { color: #a09d9a; text-decoration: none; transition: color 0.3s ease; font-size: 0.9rem; }
.footer-links a:hover { color: #d4af37; }
.footer-contact-info { list-style: none; padding: 0; margin: 0; }
.footer-contact-info li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; color: #a09d9a; font-size: 0.88rem; line-height: 1.5; }
.footer-contact-info li i { color: #d4af37; font-size: 1.1rem; margin-top: 3px; flex-shrink: 0; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.06); margin-top: 45px; padding-top: 25px; text-align: center; color: #6e6a65; font-size: 0.8rem; letter-spacing: 1px; }
