:root {
  --bg:#0c0c0f;
  --panel:rgba(18,18,24,.66);
  --panel-blur:12px;
  --text:#e9e9ee;
  --muted:#a6a8b5;
  --brand:#c4a86b;           /* gold accent */
  --border:rgba(255,255,255,.08);
  --header-h:72px;           /* header height */
}

* { box-sizing:border-box }
html,body { height:100% }
html { scroll-behavior:smooth }
body {
  margin:0;
  padding-top:var(--header-h); /* ensure content not hidden under header */
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}

/* Utility */
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.section{padding:64px 0}
.section.alt{background:#11131a}

/* ================= Header ================= */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(18,18,24,0.55);
  backdrop-filter:saturate(140%) blur(var(--panel-blur));
  -webkit-backdrop-filter:saturate(140%) blur(var(--panel-blur));
  border-bottom:1px solid var(--border);
  transition: background .3s ease, border-color .3s ease;
}
.site-header.scrolled{
  background:rgba(18,18,24,0.75);
  border-bottom-color:rgba(255,255,255,0.12);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  min-height:var(--header-h);
}
.brand{
  text-decoration:none;color:var(--text);font-weight:800;letter-spacing:.3px
}
.brand span{color:var(--brand)}

.nav{position:relative;z-index:1}
.menu{
  list-style:none;margin:0;padding:0;display:flex;gap:28px
}
.menu a{
  color:var(--text);text-decoration:none;font-weight:600;opacity:.9
}
.menu a:hover{opacity:1}

/* Hamburger toggle */
.nav-toggle{
  display:none;background:transparent;border:1px solid var(--border);
  border-radius:10px;padding:6px 10px;color:var(--text);cursor:pointer;
}

/* Mobile Nav */
@media (max-width:800px){
  .nav-toggle{display:inline-block}
  .menu{
    position:absolute;right:16px;top:calc(var(--header-h) - 8px);
    display:none;flex-direction:column;gap:0;min-width:220px;
    background:rgba(18,18,24,0.92);
    border:1px solid var(--border);border-radius:14px;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
    overflow:hidden;z-index:1001;
  }
  .menu li a{display:block;padding:14px 16px}
  .menu.is-open{display:flex}
}

/* Anchor offset */
:target{scroll-margin-top:calc(var(--header-h) + 12px)}


/* ---------------- Hero ---------------- */
.hero {
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 0;
  background: linear-gradient(135deg, #6a11cb 0%, #8e44ad 45%, #b983ff 100%);
}
.hero-inner{position:relative;text-align:center}
.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.hero h1, .hero-title{font-size:56px;line-height:1.05;margin:0 0 10px}
.lede{color:var(--muted);max-width:720px;margin:0 auto 24px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;border:1px solid var(--border);text-decoration:none;color:var(--text);font-weight:600}
.btn.primary{background:var(--brand);color:#111}
.btn.ghost{background:transparent}

/* ---------------- Accessible helper ---------------- */
.visually-hidden{
  position:absolute!important;height:1px;width:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap
}

/* ---------------- Fancy Dropdown (pill) ---------------- */
.city-select.pill{
  margin:28px auto 0;
  display:flex; align-items:center;
  max-width:640px; width:100%;
  border-radius:999px;
  padding:8px;
  gap:8px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(60% 140% at 10% 10%, rgba(255,255,255,.10), rgba(255,255,255,.03) 60%),
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
}

.input-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:999px;
  color:#fff; opacity:.75;
  background: rgba(255,255,255,.06);
}

.city-dropdown.fancy{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  flex:1; min-width:0;
  height:38px; line-height:38px;
  padding:0 44px 0 14px; /* space for arrow */
  font-size:16px; font-weight:600;
  border:none; outline:none;
  color:var(--text);
  background:
    /* custom arrow */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='white' opacity='0.85'><path d='M7 10l5 5 5-5z'/></svg>") no-repeat right 12px center,
    rgba(255,255,255,0.04);
  border-radius:12px;
}
.city-dropdown.fancy option{ background:#1a1a22; color:var(--text) }

.city-dropdown.fancy:focus{
  box-shadow: 0 0 0 2px rgba(196,168,107,.85), 0 0 0 6px rgba(196,168,107,.20);
  border-radius:12px;
}

.city-select .btn.go{
  height:38px; padding:0 20px;
  border:none; border-radius:10px;
  background: var(--brand); color:#111; font-weight:800;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease;
  box-shadow: 0 6px 16px rgba(196,168,107,.35);
}
.city-select .btn.go:hover{ transform: translateY(-1px) }
.city-select .btn.go:active{ transform: translateY(0) }

/* Responsive tweaks */
@media (max-width:600px){
  .hero h1, .hero-title{font-size:40px}
  .city-select.pill{ max-width:100%; padding:6px; gap:6px }
  .city-dropdown.fancy{ font-size:15px }
}

/* ---------------- Breadcrumb ---------------- */
.breadcrumb {
  background: rgba(255,255,255,0.04);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 12px 0;
  font-size: 16px;
}
.breadcrumb .container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.breadcrumb a {
  color: var(--brand);
  text-decoration: none;
  font-weight: 600;
}
.breadcrumb a:hover {
  text-decoration: underline;
}
.breadcrumb .sep {
  color: var(--muted);
}

/* ---------------- Content Card ---------------- */
.content-wrap { padding: 32px 0 60px; }

.content-card{
  border: 1px solid rgba(196,168,107,.35); /* gold-tinted border */
  border-radius: 20px;
  background:
    radial-gradient(120% 160% at 0% 0%, rgba(255,255,255,.05), rgba(255,255,255,.02) 60%),
    rgba(255,255,255,.04);
  backdrop-filter: blur(8px) saturate(130%);
  -webkit-backdrop-filter: blur(8px) saturate(130%);
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
  padding: 28px;
}

/* Prose typography inside the card */
.prose { line-height: 1.7; color: var(--text); }

.prose h2, .prose h3, .prose h4 {
  line-height: 1.2;
  margin: 0 0 12px;
  font-weight: 800;
}
.prose h2 { font-size: 28px; margin-top: 4px; }
.prose h3 { font-size: 22px; margin-top: 22px; }
.prose h4 { font-size: 18px; margin-top: 18px; }

.prose p { margin: 0 0 16px; color: var(--text); }
.prose strong { font-weight: 800; }

.prose a {
  color: var(--brand);
  text-decoration: none;
  font-weight: 700;
  border-bottom: 1px dashed rgba(196,168,107,.5);
}
.prose a:hover { text-decoration: underline; }

.prose mark {
  background: linear-gradient(90deg, rgba(185,131,255,.35), rgba(196,168,107,.35));
  color: var(--text);
  padding: 0 .25em;
  border-radius: 6px;
}

/* Lists */
.prose ul, .prose ol { margin: 0 0 16px 20px; }
.prose li { margin: 6px 0; }

/* Images & figures */
.prose img{
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
}
.prose figure { margin: 18px 0; }
.prose figcaption{
  color: var(--muted);
  font-size: 13px;
  text-align: center;
  margin-top: 8px;
}

/* Highlighted “important line” */
.prose .highlight-line{
  margin: 16px 0;
  padding: 12px 14px;
  border-left: 4px solid var(--brand);
  background: rgba(196,168,107,.10);
  border-radius: 10px;
  font-weight: 700;
}

/* HR and blockquote (if you add them later) */
.prose hr{
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.0), rgba(255,255,255,.15), rgba(255,255,255,.0));
  margin: 24px 0;
}
.prose blockquote{
  margin: 16px 0;
  padding: 10px 16px;
  border-left: 4px solid rgba(185,131,255,.6);
  background: rgba(185,131,255,.10);
  border-radius: 10px;
  color: var(--text);
  font-style: italic;
}

/* Responsive padding */
@media (max-width: 600px){
  .content-card{ padding: 20px; border-radius: 16px; }
  .prose h2{ font-size: 24px }
  .prose h3{ font-size: 20px }
  .prose h4{ font-size: 17px }
}

/* -------- Portfolio Grid -------- */
.portfolio-wrap{ padding: 40px 0 70px; }
.portfolio-title{ margin: 0 0 18px; font-size: 28px; font-weight: 800; text-align:center; }

.model-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

@media (max-width: 1000px){
  .model-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
  .model-grid{ grid-template-columns: 1fr; }
}

.model-card{
  border:1px solid rgba(196,168,107,.35);
  border-radius:16px;
  background:
    radial-gradient(120% 160% at 0% 0%, rgba(255,255,255,.05), rgba(255,255,255,.02) 60%),
    rgba(255,255,255,.04);
  backdrop-filter: blur(8px) saturate(130%);
  -webkit-backdrop-filter: blur(8px) saturate(130%);
  box-shadow:0 10px 28px rgba(0,0,0,.25);
  overflow:hidden;
  display:flex; flex-direction:column;
}

.model-img img{
  display:block; width:100%; height:600px; object-fit:cover;
}

.model-name{
  font-size:18px; margin:12px 14px 4px; line-height:1.3;
}
.model-name a{
  color:var(--text); text-decoration:none; font-weight:800;
}
.model-name a:hover{ text-decoration:underline; }

.model-meta{
  list-style:none; margin:0 14px 10px; padding:0; color:var(--muted);
  display:flex; gap:14px; flex-wrap:wrap; font-size:14px;
}
.model-meta a{ color:var(--brand); text-decoration:none; font-weight:700 }
.model-meta a:hover{ text-decoration:underline }

.model-cta{
  margin: 12px 14px 14px;
  display:flex; gap:10px; align-items:center;
}
.model-cta .btn{
  flex:1; text-align:center; padding:10px 12px;
  border-radius:10px; border:1px solid var(--border);
  text-decoration:none; font-weight:800;
}
.model-cta .btn.call{
  background:var(--brand); color:#111; box-shadow:0 6px 16px rgba(196,168,107,.35);
}
.model-cta .btn.whatsapp{
  background:#25D366; color:#111; border-color:#1da851; box-shadow:0 6px 16px rgba(37,211,102,.25);
}
.model-cta .btn:hover{ transform: translateY(-1px); transition: .12s ease }
.model-cta .btn:active{ transform: translateY(0) }

/* Description under each model */
.model-desc {
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 14px;
  line-height: 1.5;
}

/* Ensure description has the same left/right gutter as the buttons */
.model-desc{
  padding-left:16px;
  padding-right:16px;
  /* or modern shorthand: */
  padding-inline:16px;
  margin:0 0 14px;
  line-height:1.55;
  color:var(--muted);
}

@media (max-width: 600px){
  .model-desc{ padding-left:12px; padding-right:12px; }
}

/* badges */
.badge-wrap { position: relative; }
.badge {
  position: absolute; top: 10px; padding: 4px 10px;
  font-size: 13px; font-weight: 700; border-radius: 20px;
  color: #111; box-shadow: 0 3px 6px rgba(0,0,0,.3);
}
.badge.verified { left: 10px; background: #2B632E; color: #fff; }
.badge.featured { right: 10px; background: #FFD700; color: #111; }

/* Content image block */
.content-card .content-media{
  margin:20px 0 26px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.content-card .content-media img{
  display:block;
  width:100%;
  height:auto;        /* scales down on mobile */
}
.content-card .content-media figcaption{
  padding:10px 14px;
  font-size:13px;
  color:var(--muted);
  border-top:1px solid var(--border);
}

/* ===== Content Tables ===== */
.table-wrap{
  margin:18px 0 26px;
  border:1px solid var(--border);
  border-radius:16px;
  overflow:auto;                       /* horizontal scroll if ever needed */
  background:rgba(255,255,255,.03);    /* subtle glassy bg */
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}

/* Base table */
.content-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:420px;                     /* prevents squish on very narrow viewports */
  color:var(--text);
  font-size:15px;
}

/* Cells */
.content-table td,
.content-table th{
  padding:14px 16px;
  border-bottom:1px solid var(--border);
  vertical-align:middle;
}

/* Remove last row divider */
.content-table tr:last-child td{
  border-bottom:0;
}

/* Header row — you’re using <td>, so target first row */
.content-table tr:first-child td{
  background:rgba(196,168,107,.08);    /* gold-tinted strip */
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--text);
}

/* Underline polish for your <u> */
.content-table u{
  text-underline-offset:3px;
  text-decoration-color:var(--brand);
}

/* Zebra striping (skip header) */
.content-table tr:nth-child(odd):not(:first-child){
  background:rgba(255,255,255,.02);
}

/* Hover highlight */
.content-table tr:not(:first-child):hover td{
  background:rgba(255,255,255,.04);
}

/* Right-align the second column (rates) */
.content-table td:nth-child(2){
  text-align:right;
  white-space:nowrap;
  font-weight:700;
  color:var(--text);
}

/* Compact variant if needed: add class="content-table compact" */
.content-table.compact td{ padding:10px 12px; font-size:14px; }

/* Mobile tweaks */
@media (max-width: 600px){
  .table-wrap{ border-radius:12px; }
  .content-table{ min-width:0; }       /* allow full shrink; wrap will scroll if needed */
  .content-table td{ padding:12px 14px; font-size:14px; }
}

/* ===== Tags Section ===== */
.tags-section .section-title{
  margin:0 0 14px;
  font-size:28px;
  letter-spacing:.2px;
}

.tag-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(255,255,255,.03);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}

.tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.06);
  color:var(--text);
  text-decoration:none;
  font-weight:600;
  line-height:1;
  transition:box-shadow .2s ease, transform .08s ease, border-color .2s ease, background .2s ease;
  will-change:transform;
}
.tag:hover,
.tag:focus-visible{
  outline:none;
  border-color:rgba(196,168,107,.65);
  background:rgba(196,168,107,.08);
  box-shadow:0 0 0 3px rgba(196,168,107,.15), 0 6px 18px rgba(0,0,0,.25);
  transform:translateY(-1px);
}

/* Tag weights (1–5) for subtle size variance */
.tag[data-weight="1"]{ font-size:12px }
.tag[data-weight="2"]{ font-size:13px }
.tag[data-weight="3"]{ font-size:14px }
.tag[data-weight="4"]{ font-size:15px }
.tag[data-weight="5"]{ font-size:16px }

/* Actions */
.tag-actions{
  display:flex;
  justify-content:center;
  margin-top:14px;
}
.tag-actions .btn.ghost{
  border-color:var(--border);
  background:transparent;
}
.tag-actions .btn.ghost:hover{
  border-color:rgba(196,168,107,.65);
}

/* Collapsed state (handled by JS) */
.tag-cloud.is-collapsed .tag{
  /* nothing here; JS sets display to none for overflow tags */
}

@media (max-width:600px){
  .tags-section .section-title{ font-size:24px }
  .tag{ padding:8px 11px }
}

/* ===== FAQ Section ===== */
.faq-section .section-title{
  margin:0 0 14px;
  font-size:28px;
  letter-spacing:.2px;
}

.faq-actions{
  display:flex;
  justify-content:flex-end;
  margin-bottom:10px;
}

.faq-accordion{
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(255,255,255,.03);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  overflow:hidden;
}

.faq-item + .faq-item{
  border-top:1px solid var(--border);
}

.faq-heading{
  margin:0;
}

.faq-question{
  width:100%;
  text-align:left;
  padding:16px 54px 16px 18px;
  background:transparent;
  color:var(--text);
  font-weight:800;
  font-size:16px;
  border:0;
  cursor:pointer;
  position:relative;
}

.faq-question::after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:28px; height:28px; line-height:28px;
  text-align:center;
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--text);
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  font-weight:800;
}

.faq-question[aria-expanded="true"]::after{
  content:"–";
  background:rgba(196,168,107,.12);
  border-color:rgba(196,168,107,.6);
  color:var(--text);
}

.faq-question:hover,
.faq-question:focus-visible{
  outline:none;
  background:rgba(196,168,107,.06);
}

.faq-panel{
  padding:0 18px 16px 18px;
  color:var(--muted);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}

.faq-panel p{ margin:12px 0 0; line-height:1.6 }

@media (max-width:600px){
  .faq-section .section-title{ font-size:24px }
  .faq-question{ padding:14px 50px 14px 16px; font-size:15px }
  .faq-panel{ padding:0 16px 14px 16px }
}

/* ===== Testimonials ===== */
.testimonials .section-title{
  margin:0 0 10px;
  font-size:28px;
  letter-spacing:.2px;
}
.t-note{
  margin:0 0 18px;
  color:var(--muted);
  font-size:14px;
}

.t-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
}

.t-card{
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.t-head{
  display:flex;
  align-items:center;
  gap:12px;
}

.t-avatar{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  font-weight:800;color:#111;background:var(--brand);
}

.t-meta{ flex:1; min-width:0 }
.t-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.t-name{ font-size:16px }
.t-badge{
  font-size:12px; padding:2px 6px; border-radius:8px;
  border:1px solid var(--border); background:rgba(196,168,107,.12);
  color:var(--text); font-weight:700;
}
.t-city{
  display:block; font-size:12px; color:var(--muted);
}

.t-stars{
  font-size:14px; letter-spacing:2px; white-space:nowrap;
  color:var(--brand);
}

.t-text{ color:var(--text); line-height:1.6; margin:2px 0 0 }
.t-date{ color:var(--muted); font-size:12px }

@media (max-width:1000px){
  .t-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:600px){
  .testimonials .section-title{ font-size:24px }
  .t-grid{ grid-template-columns:1fr; }
  .t-card{ padding:14px }
}

/* ===== Locations ===== */
.locations .section-title{
  margin:0 0 12px;
  font-size:28px;
  letter-spacing:.2px;
}

.loc-search{
  margin:0 0 12px;
  display:flex;
  justify-content:flex-end;
}
.loc-input{
  width:100%;
  max-width:360px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);
  outline:none;
}
.loc-input::placeholder{ color:var(--muted); }

.loc-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(255,255,255,.03);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  padding:14px;
}

.loc{
  display:block;
  padding:12px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  color:var(--text);
  text-decoration:none;
  background:rgba(255,255,255,.04);
  font-weight:700;
  transition:transform .08s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.loc:hover,
.loc:focus-visible{
  outline:none;
  transform:translateY(-1px);
  box-shadow:0 0 0 3px rgba(196,168,107,.15), 0 6px 18px rgba(0,0,0,.25);
  border-color:rgba(196,168,107,.6);
  background:rgba(196,168,107,.08);
}

.loc-actions{
  display:flex;
  justify-content:center;
  margin-top:14px;
}
.loc-actions .btn.ghost{
  border-color:var(--border);
  background:transparent;
}

@media (max-width:1000px){
  .loc-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:700px){
  .loc-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:480px){
  .loc-grid{ grid-template-columns:1fr; }
}

/* ===== Footer ===== */
.site-footer{
  margin-top:40px;
  border-top:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.03));
  position:relative;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.3fr;
  gap:22px;
  padding:28px 0;
}
.f-col{ min-width:0 }

.f-logo-text{ font-size:22px; color:var(--text) }
.f-brand .f-about{ color:var(--muted); margin:10px 0 12px; line-height:1.6 }

.f-social{ display:flex; gap:10px; margin:10px 0 12px }
.f-ico{
  width:36px;height:36px;display:grid;place-items:center;
  border:1px solid var(--border); border-radius:10px;
  color:var(--text); background:rgba(255,255,255,.05);
  text-decoration:none; transition:background .2s ease, border-color .2s ease, transform .08s ease;
}
.f-ico:hover,.f-ico:focus-visible{
  outline:none; background:rgba(196,168,107,.12); border-color:rgba(196,168,107,.6); transform:translateY(-1px);
}

.f-cta{
  display:inline-block; margin-top:6px; background:var(--brand); color:#111;
  border:1px solid var(--border); border-radius:12px; padding:10px 14px; font-weight:800; text-decoration:none;
}
.f-cta:hover{ background:#e0c070 }

.f-title{ margin:0 0 10px; font-size:16px; letter-spacing:.3px }
.f-list{ list-style:none; margin:0; padding:0; display:grid; gap:8px }
.f-list a{
  color:var(--text); text-decoration:none; border-bottom:1px dashed transparent;
}
.f-list a:hover{ border-bottom-color:rgba(196,168,107,.6) }

.f-list.two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
}

.f-note{ color:var(--muted); line-height:1.6; margin:0 0 10px }
.f-note.small{ font-size:12px }

.footer-bar{
  border-top:1px solid var(--border);
  background:rgba(0,0,0,.15);
}
.footer-bar-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 0; color:var(--muted); font-size:14px;
}
.footer-bar .madeby{ opacity:.9 }

/* Back to Top */
.back-to-top{
  position:fixed; right:18px; bottom:18px; z-index:1000;
  width:42px;height:42px;border-radius:50%;
  display:grid; place-items:center; border:1px solid var(--border);
  background:rgba(196,168,107,.9); color:#111; font-weight:900;
  cursor:pointer; box-shadow:0 10px 20px rgba(0,0,0,.25);
  transition:transform .12s ease, box-shadow .2s ease; 
}
.back-to-top:hover{ transform:translateY(-2px); box-shadow:0 12px 22px rgba(0,0,0,.3) }

/* Responsive */
@media (max-width:1000px){
  .footer-grid{ grid-template-columns:1.6fr 1fr; }
}
@media (max-width:640px){
  .footer-grid{ grid-template-columns:1fr; }
  .footer-bar-inner{ flex-direction:column; gap:6px; text-align:center }
  .f-list.two-col{ grid-template-columns:1fr 1fr }
}

/* ===== Floating Call & WhatsApp Buttons ===== */
.float-btn{
  position:fixed; z-index:1100;
  width:54px; height:54px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--border);
  box-shadow:0 12px 24px rgba(0,0,0,.28);
  transition:transform .12s ease, box-shadow .2s ease, opacity .2s ease;
  cursor:pointer; text-decoration:none;
  /* Respect iOS safe area */
  --pad-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
}
.float-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 28px rgba(0,0,0,.32) }

/* Left: Call */
.float-call{
  left:18px;
  bottom:var(--pad-bottom);
  background:var(--brand);      /* your gold */
  color:#111;
}

/* Right: WhatsApp */
.float-wa{
  right:18px;
  bottom:var(--pad-bottom);     /* JS will bump this up when back-to-top shows */
  background:#25D366;           /* WhatsApp green */
  color:#fff;
}

/* Icon sizing inside */
.float-btn svg{ pointer-events:none }

/* Slightly smaller on narrow phones */
@media (max-width:420px){
  .float-btn{ width:50px; height:50px }
  .float-btn svg{ width:20px; height:20px }
}
