:root {
  --td-bg: #f5f7fb;
  --td-surface: #ffffff;
  --td-text: #111827;
  --td-muted: #64748b;
  --td-border: #e2e8f0;
  --td-primary: #0ea5e9;
  --td-primary-dark: #0284c7;
  --td-radius: 16px;
  --td-shadow: 0 8px 28px rgba(15, 23, 42, .07);
  --td-container: min(1200px, calc(100% - 32px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background: var(--td-bg);
  color: var(--td-text);
  line-height: 1.5;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
p { margin: 0 0 1rem; }
h1,h2,h3,h4 { margin: 0 0 .6rem; line-height: 1.15; }

.td-container { width: var(--td-container); margin-inline: auto; }
.td-site-main { min-height: 60vh; }
.td-section { padding: 28px 0; }
.td-section-alt { background: #edf3fa; border-block: 1px solid #e3ebf3; }
.td-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom: 16px; }
.td-section-head a { color: var(--td-primary-dark); font-weight: 700; text-decoration: none; }
.td-kicker { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--td-primary-dark); margin-bottom: 8px; }
.td-muted, .td-meta { color: var(--td-muted); }
.small { font-size: .9rem; color: var(--td-muted); }

.td-btn {
  appearance: none; border:1px solid transparent; border-radius: 12px;
  padding: 10px 14px; text-decoration:none; font-weight:700; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
}
.td-btn-primary { background: var(--td-primary); color: #fff; }
.td-btn-primary:hover { background: var(--td-primary-dark); }
.td-btn-secondary { background: #fff; color: var(--td-text); border-color: var(--td-border); }
.td-btn-sm { padding: 8px 12px; border-radius: 10px; font-size: .92rem; }
.td-btn-lg { padding: 12px 16px; font-size: 1rem; }

.td-site-header { position: sticky; top: 0; z-index: 20; background: rgba(245,247,251,.95); backdrop-filter: blur(8px); border-bottom: 1px solid var(--td-border); }
.td-header-inner { display:flex; align-items:center; gap: 16px; padding: 10px 0; }
.td-brand { text-decoration:none; display:flex; align-items:center; font-weight:800; color: var(--td-text); min-width: 0; }
.td-brand-text { font-size: 1.1rem; }
.custom-logo { max-height: 38px; width: auto; }
.td-menu-toggle { display:none; border:1px solid var(--td-border); background:#fff; border-radius:10px; padding:8px 10px; }
.td-primary-nav { margin-left: auto; }
.td-menu { list-style:none; display:flex; gap: 6px; margin:0; padding:0; }
.td-menu a { text-decoration:none; color: var(--td-text); padding: 10px 12px; border-radius: 10px; display:block; }
.td-menu a:hover, .td-menu .current-menu-item > a { background: #eef4fb; }
.td-header-cta { margin-left: 4px; white-space: nowrap; }
.td-header-ad { padding-bottom: 10px; }
.td-header-ad .td-ad-card { margin-top: 2px; }

.td-hero { padding: 28px 0 16px; }
.td-hero-grid { display:grid; grid-template-columns: 1fr; gap: 18px; align-items: start; }
.td-hero-copy {
  background: radial-gradient(circle at 10% 20%, #e0f2fe 0, transparent 46%), #ffffff;
  border:1px solid var(--td-border); border-radius: 20px; box-shadow: var(--td-shadow); padding: 18px;
}
.td-hero-copy h1 { font-size: clamp(1.7rem, 3vw, 2.5rem); margin-bottom: 10px; }
.td-hero-copy p:not(.td-kicker) { color: #334155; }
.td-hero-actions { display:flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.td-hero-panel > .td-search-app { margin: 0; }

.td-page-header { padding: 18px 0 8px; }
.td-page-header h1 { font-size: clamp(1.4rem, 2.6vw, 2rem); }
.td-page-header p { color: var(--td-muted); margin-bottom: 0; }

.td-content-with-sidebar { display:grid; grid-template-columns: minmax(0,1fr) 320px; gap: 18px; align-items:start; }
.td-main-column { min-width:0; }
.td-sidebar { display:grid; gap: 16px; position: sticky; top: 110px; }
.td-widget { background:#fff; border:1px solid var(--td-border); border-radius: 14px; padding: 14px; box-shadow: var(--td-shadow); }
.td-widget .widget-title { margin-bottom: 8px; font-size: 1rem; }

.td-card {
  background: var(--td-surface); border:1px solid var(--td-border); border-radius: 16px; box-shadow: var(--td-shadow);
  overflow: hidden; display:flex; flex-direction:column; min-width:0;
}
.td-card.is-featured { border-color: #bae6fd; }
.td-card-image { position:relative; display:block; background: #eaf2fb; }
.td-card-image img { width:100%; aspect-ratio: 16/10; object-fit: cover; }
.td-card-image-placeholder {
  aspect-ratio: 16/10; display:grid; place-items:center; font-weight:800; color:#64748b; background: linear-gradient(135deg,#e0f2fe,#eef2ff);
}
.td-card-body { padding: 12px; display:flex; flex-direction:column; gap: 8px; }
.td-card-tags { display:flex; flex-wrap: wrap; gap: 6px; min-height: 20px; }
.td-chip { background:#eef2f7; color:#334155; border-radius:999px; font-size: 11px; padding: 4px 8px; font-weight:700; }
.td-chip-featured { position:absolute; top:8px; left:8px; background:#111827; color:#fff; }
.td-card-title { font-size: 1rem; margin:0; }
.td-card-title a { text-decoration:none; }
.td-card-title a:hover { color: var(--td-primary-dark); }
.td-card-route { margin:0; color: var(--td-muted); font-size: .93rem; }
.td-card-price { margin:0; font-size: 1.3rem; font-weight:800; color: var(--td-text); }
.td-card-desc { margin:0; color:#334155; font-size: .92rem; }
.td-card-footer { margin-top: auto; display:flex; align-items:end; justify-content:space-between; gap:8px; }
.td-card-expiry { font-size: .82rem; color: var(--td-muted); display:flex; flex-direction:column; gap:4px; }
.td-card-expiry .is-expiring { color:#b45309; font-weight:700; }
.td-card-expiry .is-expired { color:#b91c1c; font-weight:700; }

.td-featured-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.td-testimonials { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.td-testimonial { background:#fff; border:1px solid var(--td-border); border-radius: 14px; padding: 14px; box-shadow: var(--td-shadow); }
.td-testimonial-avatar img { width: 56px; height:56px; border-radius: 999px; object-fit: cover; margin-bottom: 8px; }
.td-stars { color:#f59e0b; font-size: 1rem; margin-bottom: 8px; }
.td-source { color: var(--td-muted); }

.td-two-col { display:grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 18px; align-items: center; }
.td-list-check { margin: 0; padding-left: 18px; }
.td-list-check li { margin-bottom: 6px; }
.td-app-mockup { display:grid; place-items:center; }
.td-phone-mock { width: min(320px, 100%); border-radius: 28px; padding: 10px; background: linear-gradient(180deg,#111827,#334155); box-shadow: var(--td-shadow); }
.td-phone-screen { border-radius: 20px; background:#fff; min-height: 360px; padding: 16px; border:1px solid rgba(255,255,255,.15); }

.td-post-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.td-post-grid-list { grid-template-columns: 1fr; }
.td-post-card { background:#fff; border:1px solid var(--td-border); border-radius: 16px; overflow:hidden; box-shadow: var(--td-shadow); display:flex; flex-direction:column; }
.td-post-grid-list .td-post-card { display:grid; grid-template-columns: 320px 1fr; }
.td-post-thumb { background:#e5edf7; display:block; }
.td-post-thumb img { width:100%; height:100%; object-fit: cover; aspect-ratio: 16 / 10; }
.td-post-body { padding: 14px; }
.td-post-body h2, .td-post-body h3 { font-size: 1.08rem; }
.td-post-body a { text-decoration:none; }
.td-link { color: var(--td-primary-dark); font-weight:700; }

.td-entry, .td-page-content > .td-entry {
  background:#fff; border:1px solid var(--td-border); border-radius: 16px; padding: 18px; box-shadow: var(--td-shadow);
}
.td-entry-content > * + * { margin-top: 1em; }
.td-entry-content h2, .td-entry-content h3 { margin-top: 1.2rem; }
.td-entry-content ul, .td-entry-content ol { padding-left: 20px; }

.td-offer-header { padding-bottom: 4px; }
.td-breadcrumbs { color: var(--td-muted); font-size: .85rem; margin-bottom: 8px; }
.td-offer-subtitle { font-size: 1rem; color: #334155; margin-bottom: 10px; }
.td-offer-badges { display:flex; gap:8px; flex-wrap: wrap; }
.td-badge { background:#eef2f7; border-radius:999px; padding: 6px 10px; font-size: 12px; font-weight:700; color:#334155; }
.td-badge-status.is-expired { background:#fee2e2; color:#991b1b; }
.td-badge-status.is-active { background:#dcfce7; color:#166534; }
.td-single-offer { display:grid; gap: 16px; }
.td-single-hero img { width:100%; border-radius: 16px; border:1px solid var(--td-border); }
.td-offer-summary-card { display:grid; grid-template-columns: 1fr auto; gap: 16px; background:#fff; border:1px solid var(--td-border); border-radius: 16px; padding: 16px; }
.td-big-price { font-size: clamp(1.7rem, 2vw, 2.2rem); font-weight:800; margin: 2px 0; }
.td-cta-stack { display:flex; flex-direction:column; gap: 8px; justify-content: center; min-width: 240px; }
.td-highlight-box { background:#eff6ff; border:1px solid #bfdbfe; color:#1e3a8a; padding: 12px; border-radius: 12px; }
.td-offer-conditions, .td-related-offers, .td-inline-offers { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--td-border); }

.td-site-footer { background:#0f172a; color:#e2e8f0; margin-top: 28px; padding-top: 22px; }
.td-footer-grid { display:grid; grid-template-columns: 1fr .7fr 1.2fr; gap: 18px; align-items:start; }
.td-footer-menu { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.td-footer-menu a { text-decoration:none; color:#cbd5e1; }
.td-footer-menu a:hover { color:#fff; }
.td-socials { display:flex; gap:10px; flex-wrap: wrap; }
.td-socials a { color:#bae6fd; text-decoration:none; }
.td-footer-bottom { margin-top: 14px; padding: 14px 0 18px; border-top: 1px solid rgba(226,232,240,.15); display:grid; gap: 12px; }
.td-footer-bottom p { margin:0; color:#cbd5e1; font-size: .9rem; }

/* Ensure footer form looks compact */
.td-site-footer .td-alerts-box { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.1); color:#e2e8f0; box-shadow:none; }
.td-site-footer .td-alerts-copy p { color:#cbd5e1; }
.td-site-footer .td-alerts-form input, .td-site-footer .td-alerts-form select { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.15); color:#fff; }

.td-ad-zone-sidebar { position: sticky; top: 110px; }

/* WordPress default alignments */
.aligncenter { margin-inline:auto; display:block; }
.wp-caption { max-width: 100%; }
.screen-reader-text { position:absolute; left:-9999px; }

/* Pagination */
.navigation.pagination { margin-top: 16px; }
.nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.page-numbers {
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 38px; height: 38px; border-radius: 10px; border:1px solid var(--td-border); background:#fff; text-decoration:none;
}
.page-numbers.current { background:#111827; color:#fff; border-color:#111827; }

@media (max-width: 1100px) {
  .td-content-with-sidebar { grid-template-columns: 1fr; }
  .td-sidebar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .td-footer-grid { grid-template-columns: 1fr 1fr; }
  .td-footer-grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .td-header-cta { display:none; }
  .td-menu-toggle { display:inline-flex; margin-left:auto; }
  .td-primary-nav {
    display:none; position:absolute; top: 64px; left: 16px; right: 16px;
    background:#fff; border:1px solid var(--td-border); border-radius: 14px; box-shadow: var(--td-shadow);
    padding: 8px;
  }
  .td-primary-nav.is-open { display:block; }
  .td-menu { flex-direction:column; }
  .td-hero-grid, .td-two-col { grid-template-columns: 1fr; }
  .td-featured-grid, .td-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .td-post-grid-list .td-post-card { grid-template-columns: 1fr; }
  .td-testimonials { grid-template-columns: 1fr; }
  .td-offer-summary-card { grid-template-columns: 1fr; }
  .td-cta-stack { min-width: 0; }
}

@media (max-width: 640px) {
  .td-section { padding: 20px 0; }
  .td-featured-grid, .td-post-grid { grid-template-columns: 1fr; }
  .td-sidebar { grid-template-columns: 1fr; }
  .td-footer-grid { grid-template-columns: 1fr; }
}

/* v1.1.1 hotfix */
.td-brand-logo{max-height:42px;width:auto;display:block}
.td-note-muted{color:#64748b;font-size:.9rem;margin-top:.5rem}
