/* Singureni Manor — Things To Do */
:root {
  --ttd-gold:   #c7a057;
  --ttd-white:  #ffffff;
  --ttd-muted:  rgba(255,255,255,0.65);
  --ttd-border: rgba(255,255,255,0.2);
  --ttd-dark:   #1a1a1a;
}

/* ─── FILTER PANELS ──────────── */
.ttd-filters {
  display:flex;
  gap:16px;
  margin-bottom:60px;
  justify-content:center;
}

.ttd-filter-panel {
  position:relative;
}

.ttd-archive .ttd-filter-panel__toggle,
.ttd-filters .ttd-filter-panel__toggle {
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:28px !important;
  padding:13px 20px !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  border:1px solid rgba(0,0,0,0.25) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--ttd-dark) !important;
  font-size:11px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  min-width:220px !important;
}
.ttd-filter-panel.open .ttd-filter-panel__toggle,
.ttd-filter-panel__toggle:hover {
  border-color:rgba(0,0,0,0.5) !important;
}

.ttd-filter-arrow { font-size:9px; transition:transform .25s; display:inline-block; }
.ttd-filter-panel.open .ttd-filter-arrow { transform:rotate(180deg); }

.ttd-filter-panel__body {
  position:absolute;
  top:calc(100% + 2px);
  left:0;
  min-width:100%;
  background:#fff;
  border:1px solid rgba(0,0,0,0.12);
  box-shadow:0 6px 20px rgba(0,0,0,0.14);
  z-index:200;
  padding:8px 0;
  display:flex;
  flex-direction:column;
  gap:0;
}
.ttd-filter-panel:not(.open) .ttd-filter-panel__body { display:none; }

.ttd-check {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  cursor:pointer;
  font-size:13px;
  letter-spacing:0;
  text-transform:none;
  color:#3a3a3a;
  transition:background .15s, color .15s;
  user-select:none;
  white-space:nowrap;
}
.ttd-check::before {
  content:'';
  width:15px;
  min-width:15px;
  height:15px;
  border:1.5px solid #bbb;
  display:block;
  transition:border-color .2s, background .2s;
}
.ttd-check:hover { background:rgba(199,160,87,0.06); }
.ttd-check:hover::before { border-color:var(--ttd-gold); }
.ttd-check.checked { color:var(--ttd-gold); }
.ttd-check.checked::before {
  border-color:var(--ttd-gold);
  background:var(--ttd-gold);
}
.ttd-check input[type="checkbox"] { display:none; }

/* ─── GRID ────────────────────────────────────── */
.ttd-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:52px 32px;
}
@media(max-width:900px){ .ttd-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .ttd-grid{ grid-template-columns:1fr; } }

/* ─── CARD ────────────────────────────────────── */
.ttd-card { display:flex; flex-direction:column; }

.ttd-card__thumb {
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  margin-bottom:22px;
}
.ttd-card__thumb img {
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .5s;
  display:block;
}
.ttd-card:hover .ttd-card__thumb img { transform:scale(1.05); }

.ttd-card__body { display:flex; flex-direction:column; flex:1; }

.ttd-card__label {
  display:block;
  font-size:10px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--ttd-gold);
  margin-bottom:10px;
}

.ttd-card__title {
  font-size:26px !important;
  font-weight:700 !important;
  font-style:normal !important;
  text-transform: none !important;
  letter-spacing:-.01em !important;
  line-height:1.05 !important;
  font-family: inherit !important;
  color:var(--ttd-white) !important;
  margin:0 0 16px !important;
}
.ttd-card__title a {
  color:var(--ttd-white) !important;
  text-decoration:none !important;
}
.ttd-card__title a:hover { color:var(--ttd-gold) !important; }

.ttd-card__excerpt {
  font-size:14px;
  line-height:1.75;
  color:var(--ttd-muted);
  margin-bottom:20px;
  flex-grow:1;
}

.ttd-card__cta {
  display:inline-block;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ttd-white);
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-color:rgba(255,255,255,0.6);
  transition:color .2s, text-decoration-color .2s;
  margin-top:auto;
}
.ttd-card__cta:hover {
  color:var(--ttd-gold);
  text-decoration-color:var(--ttd-gold);
}

/* ─── SINGLE ──────────────────────────────────── */
.ttd-single { max-width:1200px; margin:0 auto; padding:160px 0px; }

.ttd-single__hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:start;
  margin-bottom:60px;
}
@media(max-width:768px){ .ttd-single__hero{ grid-template-columns:1fr; } }

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

.ttd-single__title {
  font-size:40px;
  font-weight:700;
  font-style:normal;
  text-transform:none;
  font-family:inherit;
  color:var(--ttd-white);
  margin:0 0 24px;
  line-height:1.1;
}
.ttd-single__tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:24px; }
.ttd-single__text { font-size:16px; line-height:1.8; color:white; margin-bottom:32px; }
.ttd-single__btn {
  display:inline-block;
  background:var(--ttd-gold);
  color:#fff;
  padding:13px 30px;
  text-decoration:none;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background .2s;
}
.ttd-single__btn { font-weight:600; }
.ttd-single__btn:hover { background:var(--ttd-dark) !important; color:#fff !important; }
.ttd-back { margin-bottom:16px; text-align:left; }
.ttd-back a {
  color:#c7a057 !important;
  text-decoration:none;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:color .2s;
}
.ttd-back a:hover { color:var(--ttd-gold); }

.ttd-sep {
  color:#fff;
  font-size:11px;
  margin:0 4px;
}

a.ttd-tag {
  text-decoration:none;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ttd-muted);
  transition:opacity .2s;
}
a.ttd-tag:hover { opacity:.75; }