:root { --ink:#0a0f1e; --gold:#c8a84b; --gold-light:#e8d49a; --cream:#faf8f3; --border:#e4e0d6; --muted:#4a5568; --white:#ffffff; }
[data-theme="dark"] { --ink:#ffffff; --cream:#050810; --white:#0a0f1e; --border:#2d3a55; --muted:#a0aec0; }
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--ink); line-height:1.6; transition:0.3s; }
h1,h2,h3,h4,h5,h6 { color:var(--ink); transition:0.3s; }
p { color:var(--muted); transition:0.3s; }

/* Utilities */
.section-label { font-size:0.85rem; font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:var(--gold); margin-bottom:12px; }
.section-title { font-family:'Playfair Display',serif; font-size:2.8rem; line-height:1.2; }
.gold-divider { width:60px; height:3px; background:var(--gold); margin:20px 0 40px; }
.btn, .btn-small { display:inline-block; background:var(--gold); color:#0a0f1e !important; text-transform:uppercase; font-weight:600; text-decoration:none; transition:0.3s; border:none; cursor:pointer; }
.btn { padding:14px 32px; letter-spacing:0.08em; } 
.btn-small { padding:8px 20px; font-size:0.8rem; border:1px solid var(--gold); }
.btn:hover, .btn-small:hover { background:var(--gold-light); transform:translateY(-2px); }

/* Ticker */
.news-ticker { background:var(--gold); color:#000; padding:8px 0; overflow:hidden; font-size:0.85rem; font-weight:600; white-space:nowrap; z-index:1001; }
.news-content { display:inline-block; padding-left:100%; animation:scroll-left 25s linear infinite; }
@keyframes scroll-left { 0% { transform:translateX(0); } 100% { transform:translateX(-100%); } }

/* Header & Nav */
.header { background:#0a0f1e; padding:0 40px; display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; z-index:1000; height:72px; border-bottom:1px solid rgba(200,168,75,0.25); }
.logo { font-family:'Playfair Display',serif; font-size:1.55rem; font-weight:700; color:#fff !important; text-decoration:none; }
.logo span { color:var(--gold); }
.nav-container { display:flex; align-items:center; gap:30px; }
.nav-links { display:flex; gap:30px; list-style:none; transition: 0.3s ease-in-out; }
.nav-links a { color:rgba(255,255,255,0.75); font-weight:500; font-size:0.9rem; text-transform:uppercase; text-decoration:none; transition:0.3s; }
.nav-links a:hover { color:var(--gold); }
.header-controls { display:flex; gap:15px; align-items:center; border-left:1px solid rgba(255,255,255,0.1); padding-left:15px; position:relative; }

/* Custom Language Dropdown */
.goog-te-banner-frame, #google_translate_element { display:none !important; } body { top:0px !important; }
.icon-btn { background:transparent; border:none; color:#fff; cursor:pointer; transition:0.3s; display:flex; }
.icon-btn:hover { color:var(--gold); }
.lang-menu { position:absolute; top:40px; right:0; background:#0a0f1e; border:1px solid var(--border); border-radius:4px; display:none; flex-direction:column; width:150px; }
.lang-menu.active { display:flex; }
.lang-menu button { background:transparent; border:none; color:#fff; padding:10px; text-align:left; cursor:pointer; border-bottom:1px solid rgba(255,255,255,0.05); }
.lang-menu button:hover { background:rgba(200,168,75,0.2); color:var(--gold); }
.mobile-toggle { display:none; background:transparent; border:none; color:var(--gold); font-size:1.8rem; cursor:pointer; }

/* Layouts & Grids */
.page-header { background:#0a0f1e; color:#fff; padding:80px 20px; text-align:center; }
.page-header h1 { font-family:'Playfair Display',serif; font-size:3.5rem; color:var(--gold); margin-bottom:10px; }
.page-header p { color:rgba(255,255,255,0.7); max-width:600px; margin:0 auto; font-size:1.1rem; }
.grid-2, .grid-3, .products-grid { display:grid; gap:40px; max-width:1200px; margin:60px auto; padding:0 20px; }
.grid-2 { grid-template-columns:1fr 1fr; align-items:center; }
.grid-3 { grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); margin-top:-50px; position:relative; z-index:10; }
.products-grid { grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); }

/* Reusable Cards */
.card { background:var(--white); border:1px solid var(--border); border-radius:4px; overflow:hidden; transition:0.3s; }
.card:hover { transform:translateY(-5px); border-color:var(--gold); box-shadow:0 10px 30px rgba(0,0,0,0.05); }
.card img { width:100%; height:240px; object-fit:cover; border-bottom:1px solid var(--border); }
.card-body { padding:24px; }
.card-body h3 { font-family:'Playfair Display',serif; font-size:1.4rem; margin-bottom:10px; }
.card-center { text-align:center; padding:40px; }
.card-center h3 { font-size:2.5rem; color:var(--gold); }

/* Misc */
.split-img { width:100%; height:400px; object-fit:cover; border-radius:4px; }
ul.value-list { list-style:none; margin-top:20px; }
ul.value-list li { display:flex; gap:15px; margin-bottom:20px; }

/* Footer */
.footer { background:#0a0f1e; color:#fff; padding:60px 20px 20px; border-top:4px solid var(--gold); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:40px; max-width:1200px; margin:0 auto 40px; border-bottom:1px solid rgba(255,255,255,0.1); padding-bottom:40px; }
.footer a { color:rgba(255,255,255,0.6); text-decoration:none; } .footer a:hover { color:var(--gold); }
.footer h4 { color:#fff; font-family:'Playfair Display',serif; margin-bottom:15px; }

/* =========================================================
   MOBILE RESPONSIVE RULES 
   ========================================================= */
@media (max-width: 900px) {
    .header { padding:0 20px; }
    .nav-links { display:none; position:absolute; top:72px; left:0; right:0; background:#0a0f1e; flex-direction:column; padding:20px; gap:15px; border-bottom:2px solid var(--gold); text-align:center; }
    .nav-links.active { display:flex; }
    .mobile-toggle { display:block; }
    .header-controls { border-left:none; padding-left:0; gap:10px; }
    .grid-2, .footer-grid { grid-template-columns:1fr; }
    .grid-3 { margin-top:20px; }
    .section-title { font-size:2.2rem; }
    .card-center { padding:20px; }
}