@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&display=swap');

:root {
  --ink: #f4ede3;
  --plum: #251019;
  --rasp: #6d1c36;
  --pink: #8c2946;
  --gold: #dcb978;
  --turq: #50b9b6;
  --paper: #160e13;
  --muted: #c8b8ae;
  --line: rgba(220, 185, 120, .27);
  --display-font: 'Cinzel', 'Georgia', serif;
}
html { color-scheme: dark; }
body { background: radial-gradient(ellipse at 50% 0%, #26131b 0%, #160e13 44%, #120c10 100%); color: var(--ink); }
h1, h2, h3, nav, .eyebrow, .btn, .catalog-filters button, .cart-trigger, .add-cart, .footer-with-legal > a { font-family: var(--display-font); }
h1, h2, h3 { color: var(--gold); letter-spacing: .015em; }
nav { gap: 1.3rem; font-size: .81rem; letter-spacing: .045em; }
nav a:hover, nav a:focus-visible { color: var(--gold); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.eyebrow, .raspberry { color: var(--gold); }
.topbar { background: rgba(16, 10, 14, .97); border-bottom: 1px solid var(--line); }
.topbar .brand-logo { background: #050505; }
.lang select { background: #20141a; color: var(--ink); border-color: var(--line); }
.hero-shade { background: linear-gradient(90deg, rgba(20, 8, 13, .68) 0%, rgba(29, 11, 17, .32) 42%, transparent 78%); }
.hero-copy h1 { color: #f0d39c; text-shadow: 0 3px 24px rgba(0, 0, 0, .35); }
.hero-copy > p:not(.eyebrow) { color: #fff4e8; text-shadow: 0 2px 12px rgba(0, 0, 0, .55); }
.btn, .cart-trigger, .add-cart { background: #59172e; color: #f9eee4; border: 1px solid var(--gold); box-shadow: none; transition: background .2s, border-color .2s, color .2s; }
.btn:hover, .cart-trigger:hover, .add-cart:hover, .add-cart.added { background: #74223d; border-color: #f2d69e; color: #fff; }
.btn-ghost { background: rgba(37, 16, 25, .72); border-color: var(--gold); color: #fff4df; }
.btn-gold { background: #59172e; color: #fff4df; }
.quick-strip { background: #211017; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.quick-strip a { border-color: var(--line); }
.quick-strip a:hover { background: #3b1726; }
.section { background: transparent; }
.section-heading > p, .catalog-source { color: var(--muted); }
.catalog-source strong { color: var(--ink); }
.catalog-filters button { background: #23161c; color: var(--ink); border-color: var(--line); font-size: .77rem; letter-spacing: .02em; }
.catalog-filters button.active, .catalog-filters button:hover { background: #64213a; border-color: var(--gold); color: #fff4df; }
.catalog-count { color: var(--gold); }
.catalog-card { background: #241920; border-color: var(--line); box-shadow: 0 16px 40px rgba(0, 0, 0, .18); }
.catalog-photo { color: #fff; }
.catalog-photo h3 { color: #fff4e8; text-shadow: 0 2px 10px rgba(0, 0, 0, .7); }
.catalog-photo span { color: #f4dba7; text-shadow: 0 2px 8px rgba(0, 0, 0, .7); }
.catalog-body { color: var(--ink); }
.catalog-prices small, .note { color: var(--muted); }
.catalog-prices b { color: #ebc985; font-size: 1.02rem; }
.frequency { border-color: var(--line); color: #f3e6d9; }
.program { background: #1b1218; border-color: var(--line); }
.program summary, .program .program-transfer strong { color: var(--gold); }
.program p, .program .program-transfer { color: var(--ink); }
.program small { color: var(--muted); }
.program .program-transfer { background: #34202a; }
.transfer-section { background: #20141a; color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.transfer-section p:last-child { color: var(--muted); }
.contact { background: linear-gradient(115deg, #381522, #541b33 65%, #321720); border: 1px solid var(--line); }
.contact p:last-child { color: #f3e6dc; }
.contact-option + .contact-option { border-color: var(--line); }
.contact-option span { color: #ebddd3; }
.contact-option .contact-whatsapp { background: #146d3d; border: 1px solid rgba(255, 255, 255, .25); }
.contact-option .contact-whatsapp:hover { background: #1a8650; }
.footer-with-legal { background: #100b0f; border-top: 1px solid var(--line); color: var(--muted); }
.footer-with-legal > a, .footer-with-legal .footer-contact .footer-number { color: var(--gold); }
.footer-with-legal .footer-logo img { width: auto; object-fit: contain; }
.ankh-divider { display: flex; align-items: center; justify-content: center; gap: 1.25rem; padding: 1.1rem 6vw .8rem; color: var(--gold); background: #100b0f; }
.ankh-divider::before, .ankh-divider::after { content: ''; width: min(15vw, 120px); height: 1px; background: linear-gradient(90deg, transparent, rgba(220, 185, 120, .55)); }
.ankh-divider::after { transform: rotate(180deg); }
.ankh-divider span { font-family: Georgia, serif; font-size: 1.45rem; line-height: 1; }
/* Reservation and transfer dialogs retain their fields and behavior. */
.cart-dialog, .transfer-dialog { background: #21161d; color: var(--ink); border: 1px solid var(--line); }
.cart-dialog::backdrop, .transfer-dialog::backdrop { background: rgba(6, 3, 5, .78); }
.cart-head, .request-form { border-color: var(--line); }
.cart-close { background: #3a2730; color: var(--gold); }
.cart-item { background: #291c23; border-color: var(--line); }
.cart-item h3, .request-form > h3 { color: var(--gold); }
.cart-item p, .form-note { color: var(--muted); }
.remove-cart, .transfer-edit { color: var(--gold); }
.form-grid input, .cart-date input, #transfer-form input { background: #382831; border: 1px solid rgba(220, 185, 120, .42); color: var(--ink); }
.form-grid input:focus, .cart-date input:focus, #transfer-form input:focus { border-color: var(--turq); outline: 2px solid rgba(80, 185, 182, .55); }
.cart-trigger span { background: var(--gold); color: #20121a; }
.cart-toast { background: #3f1c2c; color: #fff4e8; border: 1px solid var(--line); }
.cart-success .whatsapp-continue, .transfer-whatsapp { background: #146d3d; color: #fff; border: 1px solid rgba(255,255,255,.25); }
/* The story and commitments share the new dark palette. */
.about-story { background: transparent; }
.about-story-heading h1 { color: var(--gold); }
.about-story-text { font-family: Arial, Helvetica, sans-serif; }
.about-story-text, .about-story-text .story-opening { color: var(--ink); }
.about-story-text strong, .about-story-text .story-pause { color: #f0c989; }
.about-story-text .story-ending { border-color: var(--line); }
.about-story-image { box-shadow: 0 25px 55px rgba(0, 0, 0, .35); border: 1px solid var(--line); }
.about-values { background: #1c1218; border-top: 1px solid var(--line); }
.about-values article { background: #291b23; border-color: var(--line); }
.about-values article h3 { color: var(--gold); }
.about-values article p { color: var(--ink); }
.about-values-intro { color: var(--muted); }
/* Legal content keeps the same words with calmer, readable surfaces. */
.legal-hero { background: linear-gradient(135deg, #3a1828, #22121a); border: 1px solid var(--line); }
.legal-hero h1 { color: var(--gold); }
.legal-hero p { color: #f0e2d5; }
.legal-date { border-color: var(--line); }
.legal-notice { background: #2a1b24; color: var(--ink); }
.legal-sections article { background: #241920; border-color: var(--line); box-shadow: 0 10px 30px rgba(0,0,0,.15); }
.legal-sections h2 { color: var(--gold); }
.legal-sections p, .legal-sections li { color: var(--ink); }
.legal-contact { background: #291a23; border: 1px solid var(--line); }
.legal-contact a { color: var(--gold); }
.legal-contact .contact-option a:not(.contact-whatsapp) { color: var(--gold); }
.legal-contact .contact-option .contact-whatsapp { color: #fff; }
@media (max-width: 620px) {
  h1 { letter-spacing: 0; }
  .catalog-filters button { font-size: .76rem; }
  .catalog-card { border-radius: 18px; }
  .contact { box-shadow: none; }
  .footer-with-legal { border-top: 0; }
}
