/* ==========================================================================
   Param Dham Vasad — Modern User Theme (pd-modern)
   Shared design system for all User pages. Mirrors the Gallery page look.
   Linked from Views/Shared/_LayoutCalender.cshtml. User pages only.
   ========================================================================== */

:root {
  --pd-primary: #f79128;
  --pd-primary-dark: #d97206;
  --pd-primary-soft: #fff3e2;
  --pd-secondary: #6b2318;
  --pd-accent: #0b7a55;
  --pd-accent-dark: #085c41;
  --pd-ink: #23201b;
  --pd-muted: #8a857c;
  --pd-bg: #faf7f1;
  --pd-card: #ffffff;
  --pd-surface: #ffffff;
  --pd-line: #f0e7d8;
  --pd-border: #f0e7d8;
  --pd-radius: 18px;
  --pd-radius-sm: 12px;
  --pd-shadow: 0 10px 30px rgba(35, 32, 27, .10);
  --pd-shadow-hover: 0 18px 45px rgba(217, 114, 6, .22);
  --pd-font-display: "Fraunces", "Rasa", "Georgia", serif;
  --pd-font-body: "Inter", "Mukta Vaani", "Segoe UI", sans-serif;
}

/* ---------- base ---------- */
body { font-family: var(--pd-font-body); }
h1, h2, h3, h4, h5, h6 { font-family: var(--pd-font-display); }
.page-content {
  background: var(--pd-bg);
  color: var(--pd-ink);
  -webkit-font-smoothing: antialiased;
}
.page-content img { max-width: 100%; }
.content-area { padding-bottom: 10px; }

/* Unify every User page canvas to the Gallery cream background.
   Covers the page wrapper (old cool-grey), all legacy full-width
   sections, and the body overscroll — cards, widgets and tables
   keep their own white surfaces for contrast. */
body,
.page-wraper,
.page-content,
.page-content .content-area {
  background-color: var(--pd-bg) !important;
}
.page-content .section-full {
  background-color: var(--pd-bg) !important;
  background-image: none !important;
}
.page-content .section-full.bg-white {
  background-color: var(--pd-bg) !important;
  background-image: none !important;
}

/* ---------- pd-* component library (flagship pages) ---------- */
.pd-gallery-page, .pd-page {
  --pd-primary: #f79128;
  --pd-primary-dark: #d97206;
  --pd-secondary: #6b2318;
  --pd-accent: #0b7a55;
  --pd-accent-dark: #085c41;
  --pd-ink: #23201b;
  --pd-muted: #8a857c;
  --pd-bg: #faf7f1;
  --pd-card: #ffffff;
  --pd-surface: #ffffff;
  --pd-line: #f0e7d8;
  --pd-border: #f0e7d8;
  --pd-radius: 18px;
  --pd-shadow: 0 10px 30px rgba(35, 32, 27, .10);
  --pd-shadow-hover: 0 18px 45px rgba(217, 114, 6, .22);
  background: var(--pd-bg);
}
.pd-hero {
  position: relative; overflow: hidden; color: #fff;
  background: #1c130a url(../Files/Gallery/SliderImage/v5.jpg) center/cover no-repeat;
}
.pd-hero::before {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(20,12,4,.55) 0%, rgba(20,12,4,.74) 100%),
    radial-gradient(800px 300px at 15% 20%, rgba(247,145,40,.45), transparent 60%);
}
.pd-hero-inner { position: relative; max-width: 1140px; margin: 0 auto; padding: 60px 20px 50px; }
.pd-crumb { display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(255,255,255,.82); margin-bottom: 14px; }
.pd-crumb a { color: #ffd9a8; text-decoration: none; }
.pd-crumb a:hover { text-decoration: underline; }
.pd-hero h1 { margin: 0 0 8px; font-size: clamp(28px, 4vw, 44px); line-height: 1.1; font-weight: 800; letter-spacing: -.02em; color: #fff !important; }
.pd-hero p { margin: 0; max-width: 660px; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.88); }
.pd-hero-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.pd-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(6px); padding: 8px 14px; border-radius: 999px;
  font-size: 13px; font-weight: 600;
}
.pd-pill .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pd-primary); box-shadow: 0 0 0 4px rgba(247,145,40,.3); }
.pd-wrap { max-width: 1140px; margin: 0 auto; padding: 30px 20px 50px; }
.pd-toolbar {
  background: var(--pd-card); border: 1px solid var(--pd-line); border-radius: var(--pd-radius);
  box-shadow: var(--pd-shadow); padding: 16px;
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
  margin-top: -34px; position: relative; z-index: 2;
}
.pd-search {
  flex: 1 1 260px; display: flex; align-items: center; gap: 10px;
  background: #fff7ec; border: 1px solid var(--pd-line); border-radius: 12px; padding: 10px 14px;
}
.pd-search i { color: var(--pd-primary-dark); }
.pd-search input { border: 0; outline: 0; background: transparent; width: 100%; font-size: 14px; color: var(--pd-ink); }
.pd-count { font-size: 13px; color: var(--pd-muted); font-weight: 600; margin-left: auto; white-space: nowrap; }
.pd-count strong { color: var(--pd-ink); }
.pd-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--pd-primary); color: #fff !important; text-decoration: none;
  font-weight: 800; font-size: 13.5px; padding: 11px 20px; border-radius: 999px; border: 0; cursor: pointer;
  box-shadow: 0 8px 20px rgba(217,114,6,.35); transition: transform .2s ease, background .2s ease;
  white-space: nowrap;
}
.pd-btn:hover { background: var(--pd-primary-dark); color: #fff !important; transform: translateY(-1px); text-decoration: none; }
.pd-btn-ghost { background: #fff; color: var(--pd-ink) !important; border: 1px solid var(--pd-line); box-shadow: none; }
.pd-btn-ghost:hover { background: #fff7ec; color: var(--pd-primary-dark) !important; }
.pd-btn-accent {
  background: var(--pd-accent) !important;
  box-shadow: 0 8px 20px rgba(11, 122, 85, .35) !important;
}
.pd-btn-accent:hover { background: var(--pd-accent-dark) !important; color: #fff !important; }
.pd-bank-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 18px; }
.pd-bank-actions .pd-btn, .pd-bank-actions .pd-btn-accent { border: 0; cursor: pointer; font-family: inherit; }
.pd-copy-msg { font-size: 13px; font-weight: 700; color: var(--pd-accent); min-height: 20px; }

/* Track tables (Aarti1, RingTone1, Bhajan1): responsive audio + download */
.pd-track-meta { display: flex; justify-content: flex-end; margin: 14px 2px 0; }
.pd-track-table audio { width: 100%; max-width: 250px; height: 38px; display: block; }
.pd-track-table tbody td:last-child a {
  display: inline-block; background: var(--pd-primary); color: #fff !important;
  font-size: 12.5px; font-weight: 700; text-decoration: none !important;
  padding: 8px 16px; border-radius: 999px; white-space: nowrap;
  box-shadow: 0 4px 12px rgba(217, 114, 6, .3);
  transition: background .2s ease, transform .2s ease;
}
.pd-track-table tbody td:last-child a:hover { background: var(--pd-primary-dark); transform: translateY(-1px); }
.pd-track-table tbody td:first-child {
  text-align: center; font-weight: 800; color: var(--pd-primary-dark);
  white-space: nowrap; font-size: 14px;
}
.pd-track-table tbody tr:hover td:first-child { color: var(--pd-secondary); }
/* Title row lives in <thead> with its own orange background:
   keep it orange + white on hover instead of inheriting the body wash. */
.pd-track-table thead tr:hover td { background-color: transparent !important; color: #fff !important; }
.pd-track-table thead td { color: #fff !important; font-weight: 800; }
@media (max-width: 767px) {
  .pd-track-table audio { max-width: 170px; }
}
.pd-title-row { text-align: center; margin: 34px 0 22px; }
.pd-title-row h2 { margin: 0; font-size: clamp(20px, 2.6vw, 28px); font-weight: 800; color: var(--pd-ink); letter-spacing: -.01em; }
.pd-title-row .pd-sub { color: var(--pd-muted); font-size: 14px; margin-top: 6px; }
.pd-divider { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; }
.pd-divider::before, .pd-divider::after {
  content: ""; height: 2px; width: 90px; border-radius: 2px;
  background: linear-gradient(90deg, transparent, var(--pd-primary));
}
.pd-divider::after { background: linear-gradient(90deg, var(--pd-primary), transparent); }
.pd-divider img { width: 56px; height: 26px; object-fit: contain; opacity: .9; }
.pd-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); margin-top: 8px; }
@media (max-width: 992px) { .pd-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) {
  .pd-grid { grid-template-columns: 1fr; }
  .pd-hero-inner { padding: 44px 16px 40px; }
  .pd-wrap { padding: 20px 14px 36px; }
  .pd-count { margin-left: 0; }
}
.pd-card {
  background: var(--pd-card); border: 1px solid var(--pd-line); border-radius: var(--pd-radius);
  overflow: hidden; box-shadow: var(--pd-shadow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  display: flex; flex-direction: column;
}
.pd-card:hover { transform: translateY(-6px); box-shadow: var(--pd-shadow-hover); border-color: #ffd9a8; }
.pd-media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #eee4d3; display: block; }
.pd-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.pd-card:hover .pd-media img { transform: scale(1.07); }
.pd-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(20,12,4,.55) 100%); pointer-events: none; }
.pd-badge {
  position: absolute; left: 12px; top: 12px; z-index: 2;
  background: rgba(20,12,4,.72); color: #ffd9a8; border: 1px solid rgba(255,255,255,.2);
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 6px 10px; border-radius: 999px; backdrop-filter: blur(6px);
}
.pd-view {
  position: absolute; right: 12px; bottom: 12px; z-index: 2;
  width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
  background: var(--pd-primary); color: #fff; box-shadow: 0 8px 20px rgba(217,114,6,.45);
  opacity: 0; transform: translateY(8px) scale(.9); transition: opacity .25s ease, transform .25s ease;
}
.pd-card:hover .pd-view, .pd-card:focus-within .pd-view { opacity: 1; transform: none; }
.pd-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pd-name {
  margin: 0; font-size: 15px; line-height: 1.45; font-weight: 700; color: var(--pd-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 43px;
}
.pd-cta { display: inline-flex; align-items: center; gap: 8px; color: var(--pd-primary-dark); font-weight: 800; font-size: 13.5px; text-decoration: none; margin-top: auto; padding-top: 4px; }
.pd-card:hover .pd-cta .arr { transform: translateX(4px); }
.pd-cta .arr { transition: transform .2s ease; }
.pd-card-link { text-decoration: none; color: inherit; display: flex; flex-direction: column; flex: 1; }
.pd-card-link:focus { outline: 3px solid rgba(247,145,40,.5); outline-offset: 2px; border-radius: var(--pd-radius); }
.pd-card.pd-reveal { opacity: 0; transform: translateY(14px); }
.pd-card.pd-reveal.pd-in { opacity: 1; transform: none; }
.pd-empty { text-align: center; padding: 40px 20px; background: #fff; border: 1px dashed var(--pd-line); border-radius: var(--pd-radius); color: var(--pd-muted); }
.pd-pager-wrap { display: flex; justify-content: center; margin: 30px 0 6px; }
ul.pd-pager {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  list-style: none; margin: 0; padding: 12px;
  background: #fff; border: 1px solid var(--pd-line); border-radius: 999px;
  box-shadow: var(--pd-shadow); max-width: 100%;
}
ul.pd-pager a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 12px;
  border-radius: 999px; text-decoration: none;
  font-size: 13px; font-weight: 700; color: var(--pd-ink);
  background: #fff7ec; border: 1px solid transparent;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
ul.pd-pager a:hover { background: #ffe9c9; border-color: #ffd9a8; }
ul.pd-pager a.pd-active { background: var(--pd-primary); color: #fff; box-shadow: 0 6px 16px rgba(217,114,6,.35); pointer-events: none; }
ul.pd-pager a.pd-disabled { opacity: .45; pointer-events: none; }
ul.pd-pager a.pd-nav { background: #fff; border-color: var(--pd-line); }
.pd-prose {
  background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius);
  box-shadow: var(--pd-shadow); padding: clamp(20px, 4vw, 40px);
  line-height: 1.75; font-size: 15px;
}
.pd-prose h2, .pd-prose h3 { color: var(--pd-ink); font-weight: 800; }
.pd-info-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
@media (max-width: 992px) { .pd-info-grid { grid-template-columns: 1fr; } }
.pd-info-card { background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); box-shadow: var(--pd-shadow); padding: 24px; }
.pd-info-card h2 { font-size: 17px; font-weight: 800; margin: 0 0 6px; text-transform: uppercase; letter-spacing: .04em; }
.pd-info-card .pd-accent { width: 44px; height: 3px; border-radius: 3px; background: var(--pd-primary); margin: 8px 0 14px; }

/* ==========================================================================
   Legacy markup upgrades — these selectors match the existing User views,
   so every page gets the modern look even before its markup is migrated.
   ========================================================================== */

/* --- inner banner --- */
.rdx-bnr-inr {
  position: relative; overflow: hidden;
  background-color: #1c130a !important;
  background-size: cover !important; background-position: center !important;
  padding: 58px 0 46px !important;
}
.rdx-bnr-inr::before {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(20,12,4,.55) 0%, rgba(20,12,4,.74) 100%),
    radial-gradient(800px 300px at 15% 20%, rgba(247,145,40,.45), transparent 60%);
}
.rdx-bnr-inr .container { position: relative; }
.rdx-bnr-inr-entry h1, .rdx-bnr-inr h1 {
  font-size: clamp(26px, 3.6vw, 38px) !important;
  font-weight: 800 !important; letter-spacing: -.02em !important;
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.4);
}

/* --- breadcrumb --- */
.breadcrumb-row {
  background: transparent !important; border: 0 !important;
  margin-top: -22px; position: relative; z-index: 2;
}
.breadcrumb-row .container { max-width: 1140px; }
.breadcrumb-row .list-inline {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; border: 1px solid var(--pd-line); border-radius: 999px;
  box-shadow: var(--pd-shadow); padding: 9px 18px; margin: 0;
  font-size: 13px; font-weight: 600;
}
.breadcrumb-row .list-inline li { display: inline-flex; align-items: center; gap: 8px; color: var(--pd-muted); }
.breadcrumb-row .list-inline li + li::before { content: "/"; color: #c9bfae; }
.breadcrumb-row a { color: var(--pd-primary-dark); text-decoration: none; }
.breadcrumb-row a:hover { text-decoration: underline; }

/* --- content containers --- */
.content-area .container { max-width: 1140px; }
.site-filters h1, .content-area h1 {
  font-weight: 800; letter-spacing: -.01em; color: var(--pd-ink);
  font-size: clamp(20px, 2.6vw, 28px);
}
.widget-title, h4.widget-title {
  font-weight: 800 !important; font-size: 15px !important;
  text-transform: uppercase; letter-spacing: .05em;
  padding-bottom: 10px; border-bottom: 2px solid var(--pd-line) !important;
  position: relative;
}
.widget-title::after {
  content: ""; position: absolute; left: 0; bottom: -2px;
  width: 44px; height: 2px; background: var(--pd-primary); border-radius: 2px;
}

/* --- cards: blog, gallery boxes, widgets --- */
.blog-post.blog-grid,
.rdx-box,
.widget,
.search-bx,
.contact-area,
.p-a30.bg-gray {
  background: #fff !important;
  border: 1px solid var(--pd-line) !important;
  border-radius: var(--pd-radius) !important;
  box-shadow: var(--pd-shadow) !important;
  overflow: hidden;
}
.blog-post.blog-grid { transition: transform .25s ease, box-shadow .25s ease; margin-bottom: 24px; }
.blog-post.blog-grid:hover { transform: translateY(-4px); box-shadow: var(--pd-shadow-hover) !important; }
.rdx-post-media { overflow: hidden; }
.rdx-post-media img { width: 100%; height: auto; display: block; transition: transform .5s ease; }
.blog-post:hover .rdx-post-media img { transform: scale(1.04); }
.rdx-post-media iframe { width: 100%; border: 0; border-radius: var(--pd-radius-sm); }
.rdx-post-info { padding: 20px 22px 22px !important; }
.post-title, h3.post-title { font-weight: 800 !important; line-height: 1.4 !important; }
.post-title a { color: var(--pd-ink) !important; text-decoration: none; }
.post-title a:hover { color: var(--pd-primary-dark) !important; }
.rdx-post-meta ul { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 0; list-style: none; color: var(--pd-muted); font-size: 13px; }
.rdx-post-text { color: #4a4438; line-height: 1.7; }

/* --- gallery grids (DailyDarshan, Media, wallpapers, Gallery1 legacy) --- */
.rdx-gallery-listing { padding: 0; }
.rdx-gallery-listing li { margin-bottom: 20px; }
.rdx-gallery-box, .rdx-box .rdx-media, .rdx-thum {
  border-radius: var(--pd-radius-sm) !important; overflow: hidden;
}
.rdx-gallery-box img, .rdx-box img, .rdx-thum img {
  border-radius: var(--pd-radius-sm); width: 100%; height: auto; display: block;
}
.rdx-img-effect.zoom-slow img { transition: transform .5s ease; }
.rdx-img-effect.zoom-slow:hover img { transform: scale(1.06); }
.overlay-bx .overlay-icon a {
  background: var(--pd-primary) !important; border-radius: 50% !important;
  box-shadow: 0 8px 20px rgba(217,114,6,.45);
}
/* Book / album card titles (OtherBooks, SampradayikBooks, ...).
   Theme CSS leaves bare h4 titles flush against the clipped card edge;
   give them breathing room and wrap long titles instead of cutting them. */
.rdx-box h4, .rdx-gallery-box h4 {
  margin: 0 !important; padding: 14px 16px 10px !important;
  font-size: 15px !important; font-weight: 800 !important;
  line-height: 1.5 !important; color: var(--pd-ink) !important;
  overflow-wrap: break-word; word-break: break-word;
}
.desc { padding: 14px 12px !important; text-align: center; }
.desc a { color: var(--pd-primary-dark); font-weight: 700; text-decoration: none; }
.desc a:hover { text-decoration: underline; }

/* --- buttons --- */
.site-button, .site-button-secondry {
  display: inline-flex !important; align-items: center; gap: 8px;
  background: var(--pd-primary) !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important;
  padding: 11px 24px !important; font-weight: 800 !important; font-size: 13.5px !important;
  box-shadow: 0 8px 20px rgba(217,114,6,.35) !important;
  transition: transform .2s ease, background .2s ease !important;
  text-decoration: none !important;
}
.site-button:hover, .site-button-secondry:hover { background: var(--pd-primary-dark) !important; transform: translateY(-1px); }
.site-button-link {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--pd-primary-dark) !important; font-weight: 800 !important;
  font-size: 13.5px; text-decoration: none !important; letter-spacing: .04em;
}
.site-button-link:hover { text-decoration: underline !important; }

/* --- pagination (legacy multi-ul + modern single-ul) --- */
ul.pagination { display: inline-flex; margin: 4px; padding: 0; border: 0; }
ul.pagination > li { display: inline; }
ul.pagination a, ul.pagination span {
  display: inline-flex !important; align-items: center; justify-content: center;
  min-width: 40px !important; height: 40px; padding: 0 12px !important;
  margin: 0 3px 8px 0 !important; border-radius: 999px !important;
  background: #fff !important; border: 1px solid var(--pd-line) !important;
  color: var(--pd-ink) !important; font-size: 13px !important; font-weight: 700 !important;
  text-decoration: none !important; float: none !important;
}
ul.pagination a:hover { background: #ffe9c9 !important; border-color: #ffd9a8 !important; }
ul.pagination a.not-active, ul.pagination .not-active {
  background: var(--pd-primary) !important; color: #fff !important;
  border-color: var(--pd-primary) !important; pointer-events: none;
  box-shadow: 0 6px 16px rgba(217,114,6,.35);
}

/* --- sidebar / search --- */
.side-bar .widget { padding: 20px; margin-bottom: 20px; }
.search-bx { padding: 14px !important; }
.search-bx .form-control { border-radius: 999px 0 0 999px !important; }
.search-bx .site-button { border-radius: 0 999px 999px 0 !important; padding: 10px 18px !important; }
.widget-post-bx { border-bottom: 1px solid var(--pd-line); padding: 12px 0; }
.widget-post-bx:last-child { border-bottom: 0; }
.widget-post img { border-radius: 10px; }

/* --- forms --- */
.form-control {
  border: 1px solid var(--pd-line) !important; border-radius: var(--pd-radius-sm) !important;
  padding: 11px 14px !important; font-size: 14px !important;
  box-shadow: none !important; height: auto !important;
}
.form-control:focus { border-color: var(--pd-primary) !important; box-shadow: 0 0 0 3px rgba(247,145,40,.18) !important; }
textarea.form-control { line-height: 1.6; }
label { font-weight: 700; font-size: 13px; color: var(--pd-ink); }

/* --- tables (BankDetails, lists) --- */
.content-area table, .pd-table {
  width: 100%; background: #fff; border: 1px solid var(--pd-line);
  border-radius: var(--pd-radius); overflow: hidden;
  box-shadow: var(--pd-shadow); border-collapse: separate; border-spacing: 0;
}
.content-area table th, .pd-table th {
  background: var(--pd-secondary); color: #fbeed9; text-align: left;
  padding: 13px 16px; font-size: 13px; text-transform: uppercase; letter-spacing: .05em;
}
.content-area table td, .pd-table td { padding: 13px 16px; border-top: 1px solid var(--pd-line); font-size: 14px; }
.content-area table tr:nth-child(even) td { background: #fffdf7; }
.content-area table tr:hover td { background: #fff3e2; }

/* Readable prose on all legacy text sections (Articles, AboutUs,
   SwaminarayanSect, AacharyaTradition, Terms, Privacy, ...).
   Theme CSS washes body copy to near-white; force ink color,
   comfortable line-height and clear headings instead. */
.page-content .section-full p,
.page-content .section-full li,
.page-content .area p {
  color: var(--pd-ink);
  line-height: 1.8;
}
.page-content .section-full p { margin-bottom: 14px; }
.page-content .section-full p span,
.page-content .section-full li span {
  color: var(--pd-ink);
}
.page-content .section-full b,
.page-content .section-full strong {
  color: var(--pd-ink);
}
.page-content .section-full h1,
.page-content .section-full h2,
.page-content .section-full h3,
.page-content .section-full h4 {
  color: var(--pd-ink);
  font-weight: 800;
  line-height: 1.4;
}

/* --- contact --- */
.contact-area h2 { font-size: 17px !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .04em; }
.icon-bx-wraper { border-bottom: 1px solid var(--pd-line); padding-bottom: 16px; }
.icon-bx-wraper:last-child { border-bottom: 0; }
.icon-bx-xs {
  background: var(--pd-primary-soft) !important; border: 1px solid var(--pd-line) !important;
  border-radius: 12px !important;
}
.icon-bx-xs .icon-cell, .icon-bx-xs i { color: var(--pd-primary-dark) !important; }
.rdx-social-icon a {
  border-radius: 10px !important; transition: transform .2s ease;
}
.rdx-social-icon a:hover { transform: translateY(-2px); }
.contact-style-1 iframe { border-radius: var(--pd-radius); }

/* --- audio/video embeds --- */
audio { width: 100%; border-radius: 999px; }
.rdx-gallery-listing audio, .blog-post audio { margin-top: 10px; }

/* --- reveal on scroll for legacy cards --- */
.blog-post.blog-grid, .rdx-gallery-box, .widget {
  animation: pd-fade-up .5s ease both;
}
@keyframes pd-fade-up {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 767px) {
  .rdx-bnr-inr { padding: 40px 0 34px !important; }
  .rdx-post-info { padding: 16px !important; }
  .content-area table th, .content-area table td { padding: 10px 12px; font-size: 13px; }
}

/* ==========================================================================
   Footer — modern, high-contrast, user friendly (pd-footer)
   Markup lives in Views/Shared/_LayoutCalender.cshtml.
   ========================================================================== */
.pd-footer { background: var(--pd-bg); color: var(--pd-ink); border-top: 3px solid var(--pd-primary); }
.pd-footer .container { max-width: 1140px; }

/* --- visitor stats band --- */
.pd-stats {
  background: linear-gradient(120deg, #e07f16 0%, #f79128 45%, #d97206 100%);
  position: relative; overflow: hidden;
}
.pd-stats::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(700px 220px at 85% 10%, rgba(255,255,255,.25), transparent 60%);
  pointer-events: none;
}
.pd-stats-grid {
  position: relative;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
  padding: 26px 0;
}
.pd-stat {
  display: flex; align-items: center; gap: 14px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.28);
  backdrop-filter: blur(6px);
  border-radius: 16px; padding: 14px 18px; color: #fff;
}
.pd-stat-icon {
  flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px;
  display: grid; place-items: center;
  background: rgba(22,16,10,.35); border: 1px solid rgba(255,255,255,.25);
  font-size: 19px;
}
.pd-stat-text { display: flex; flex-direction: column; line-height: 1.25; }
.pd-stat-text strong { font-size: 22px; font-weight: 800; letter-spacing: -.01em; }
.pd-stat-text small { font-size: 12px; opacity: .92; font-weight: 600; }

/* --- main footer --- */
.pd-footer-main {
  position: relative;
  background:
    radial-gradient(900px 320px at 12% 0%, rgba(247,145,40,.12), transparent 60%),
    var(--pd-bg);
  padding: 52px 0 40px;
}
.pd-footer-grid {
  display: grid; gap: 36px;
  grid-template-columns: 1.25fr 1fr 1.15fr 1.15fr;
}
.pd-fcol h4 {
  margin: 0 0 4px; color: var(--pd-secondary); font-size: 14px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .1em;
}
.pd-fcol h4::after {
  content: ""; display: block; width: 42px; height: 3px; border-radius: 3px;
  background: var(--pd-primary); margin-top: 10px;
}
.pd-brand-row { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-bottom: 14px; }
.pd-brand-row img { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; border: 2px solid var(--pd-primary); }
.pd-brand-row span { color: var(--pd-ink); font-weight: 800; font-size: 16px; line-height: 1.35; }
.pd-brand-row:hover span { color: var(--pd-primary-dark); }
.pd-about { font-size: 13.5px; line-height: 1.7; color: var(--pd-muted); margin: 0 0 14px; }
.pd-audio { width: 100%; height: 38px; margin: 0 0 16px; border-radius: 999px; outline: none; }
.pd-social { display: flex; gap: 10px; margin-top: 14px; }
.pd-social a {
  width: 38px; height: 38px; border-radius: 12px;
  display: inline-grid; place-items: center;
  background: var(--pd-primary); color: #fff !important;
  font-size: 15px; text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(217,114,6,.35);
  transition: transform .2s ease, background .2s ease;
}
.pd-social a:hover { background: #ff9f3d; transform: translateY(-3px); }
.pd-links { list-style: none; margin: 14px 0 0; padding: 0; }
.pd-links li { border-bottom: 1px solid var(--pd-line); }
.pd-links li:last-child { border-bottom: 0; }
.pd-links a {
  display: flex; align-items: center; gap: 8px;
  color: #4a4438 !important; text-decoration: none;
  font-size: 13.5px; font-weight: 600; padding: 9px 2px;
  transition: color .2s ease, padding-left .2s ease;
}
.pd-links a::before { content: "›"; color: var(--pd-primary); font-size: 16px; font-weight: 800; }
.pd-links a:hover { color: var(--pd-secondary) !important; padding-left: 8px; }
.pd-contact { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.pd-contact li { display: flex; gap: 12px; font-size: 13.5px; line-height: 1.65; color: #4a4438; }
.pd-contact strong { color: var(--pd-ink); }
.pd-contact small { color: var(--pd-muted); }
.pd-contact a { color: var(--pd-primary-dark) !important; text-decoration: none; word-break: break-all; }
.pd-contact a:hover { color: var(--pd-secondary) !important; text-decoration: underline; }
.pd-ico {
  flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px;
  display: inline-grid; place-items: center;
  background: rgba(247,145,40,.16); border: 1px solid rgba(247,145,40,.4);
  color: var(--pd-primary) !important; font-size: 14px;
}

/* --- bottom bar --- */
.pd-footer-bottom { background: var(--pd-secondary); border-top: 1px solid rgba(255,255,255,.25); padding: 16px 0; }
.pd-footer-bottom .container {
  display: flex; flex-wrap: wrap; gap: 8px 20px;
  align-items: center; justify-content: space-between;
  font-size: 12.5px; color: #f3e2cf;
}
.pd-bottom-links { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pd-bottom-links i { font-style: normal; opacity: .4; }
.pd-bottom-links a { color: #ffd9a8 !important; text-decoration: none; }
.pd-bottom-links a:hover { color: #fff !important; text-decoration: underline; }

/* --- back to top --- */
button.scroltop {
  width: 44px !important; height: 44px !important;
  border-radius: 14px !important; border: 0 !important;
  background: var(--pd-primary) !important; color: #fff !important;
  font-size: 16px !important;
  box-shadow: 0 10px 26px rgba(217,114,6,.45) !important;
  transition: transform .2s ease, background .2s ease !important;
}
button.scroltop:hover { background: var(--pd-primary-dark) !important; transform: translateY(-3px); }

/* --- footer responsive --- */
@media (max-width: 992px) {
  .pd-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .pd-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .pd-footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .pd-footer-main { padding: 40px 0 30px; }
  .pd-footer-bottom .container { flex-direction: column; text-align: center; justify-content: center; }
}

/* ==========================================================================
   Blog sidebar — clean search + recent posts (pd-side)
   Used by Blog.cshtml. Fallback grid also repairs legacy .widget-post
   markup wherever it still exists (e.g. BlogDetail).
   ========================================================================== */
.pd-side .pd-side-widget { padding: 22px; margin-bottom: 22px; }
.pd-side-search { display: flex; gap: 0; margin-top: 14px; }
.pd-side-search input {
  flex: 1 1 auto; min-width: 0;
  border: 1px solid var(--pd-line); border-right: 0;
  border-radius: 999px 0 0 999px;
  background: #fff7ec; padding: 11px 16px;
  font-size: 13.5px; color: var(--pd-ink); outline: none;
}
.pd-side-search input:focus { border-color: var(--pd-primary); background: #fff; }
.pd-side-search button {
  flex: 0 0 auto; border: 0; cursor: pointer;
  background: var(--pd-primary); color: #fff;
  border-radius: 0 999px 999px 0; padding: 0 20px; font-size: 15px;
  transition: background .2s ease;
}
.pd-side-search button:hover { background: var(--pd-primary-dark); }
.pd-recent-list { display: flex; flex-direction: column; margin-top: 6px; }
.pd-recent {
  display: grid; grid-template-columns: 112px 1fr; gap: 15px; align-items: center;
  padding: 14px 0; text-decoration: none !important;
  border-bottom: 1px solid var(--pd-line);
  transition: background .2s ease;
}
.pd-recent:first-child { padding-top: 10px; }
.pd-recent:last-child { border-bottom: 0; padding-bottom: 2px; }
.pd-recent-thumb {
  width: 112px; height: 112px; border-radius: 16px; overflow: hidden;
  background: #eee4d3; display: block; position: relative; flex-shrink: 0;
}
.pd-recent-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.pd-recent:hover .pd-recent-thumb img { transform: scale(1.08); }
.pd-recent-video { display: grid; place-items: center; background: var(--pd-secondary); color: #ffd9a8; font-size: 18px; }
.pd-recent-video::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(247,145,40,.35), transparent 70%);
}
.pd-recent-text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pd-recent-title {
  font-size: 14px; font-weight: 700; line-height: 1.5; color: var(--pd-ink);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.pd-recent:hover .pd-recent-title { color: var(--pd-primary-dark); }
.pd-recent-meta { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--pd-muted); white-space: nowrap; }
.pd-recent-meta i { color: var(--pd-primary); }

/* fallback: repair legacy floated widget-post layout in any sidebar */
.side-bar .widget-post {
  display: grid !important; grid-template-columns: 112px 1fr !important;
  gap: 14px !important; align-items: start !important;
  padding: 13px 0 !important; border-bottom: 1px solid var(--pd-line);
}
.side-bar .widget-post-bx:last-child .widget-post { border-bottom: 0; }
.side-bar .widget-post .rdx-post-media { margin: 0 !important; min-width: 0; }
.side-bar .widget-post .rdx-post-media img { border-radius: 12px; }
.side-bar .widget-post iframe { width: 112px !important; height: 112px !important; border-radius: 12px; }
.side-bar .widget-post .rdx-post-info { padding: 0 !important; min-width: 0; }
.side-bar .widget-post .post-title {
  font-size: 14px !important; line-height: 1.5 !important; margin: 0 0 4px !important;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.side-bar .widget-post .rdx-post-meta ul { margin: 0; padding: 0; }
.side-bar .widget-post .post-author { font-size: 11.5px !important; white-space: normal !important; }

/* Dark theme is strictly opt-in via <html data-theme="dark">.
   Automatic OS-driven dark mode is intentionally disabled so the
   site always renders the light cream theme visitors asked for. */
[data-theme="dark"] {
  --pd-primary: #ff9f3d;
  --pd-primary-dark: #d97206;
  --pd-primary-soft: #2c2113;
  --pd-secondary: #e8b4a0;
  --pd-accent: #2fbf8f;
  --pd-accent-dark: #0b7a55;
  --pd-ink: #f5ebdd;
  --pd-muted: #b3a48c;
  --pd-bg: #14100b;
  --pd-card: #1e1710;
  --pd-surface: #1e1710;
  --pd-line: #3a2e20;
  --pd-border: #3a2e20;
  --pd-shadow: 0 10px 30px rgba(0, 0, 0, .45);
  --pd-shadow-hover: 0 18px 45px rgba(0, 0, 0, .6);
}
/* hardcoded light surfaces remapped for manual dark mode */
[data-theme="dark"] .pd-search,
[data-theme="dark"] .pd-side-search input,
[data-theme="dark"] .pd-recent-thumb,
[data-theme="dark"] ul.pd-pager a:not(.pd-active),
[data-theme="dark"] .icon-bx-xs {
  background: #2a2114;
}
[data-theme="dark"] ul.pd-pager,
[data-theme="dark"] ul.pd-pager a.pd-nav,
[data-theme="dark"] .pd-empty,
[data-theme="dark"] .pd-prose,
[data-theme="dark"] .pd-info-card,
[data-theme="dark"] .pd-btn-ghost,
[data-theme="dark"] .breadcrumb-row .list-inline,
[data-theme="dark"] .blog-post.blog-grid,
[data-theme="dark"] .rdx-box,
[data-theme="dark"] .widget,
[data-theme="dark"] .search-bx,
[data-theme="dark"] .contact-area,
[data-theme="dark"] .p-a30.bg-gray,
[data-theme="dark"] ul.pagination a,
[data-theme="dark"] ul.pagination span,
[data-theme="dark"] .content-area table,
[data-theme="dark"] .pd-table {
  background: var(--pd-card) !important;
}
[data-theme="dark"] .rdx-post-text { color: #cfc2ab; }
[data-theme="dark"] .content-area table tr:nth-child(even) td { background: rgba(255,255,255,.03); }
[data-theme="dark"] .content-area table tr:hover td { background: rgba(247,145,40,.12); }
[data-theme="dark"] .form-control { background: #241b10 !important; color: var(--pd-ink) !important; }
[data-theme="dark"] ul.pd-pager a:hover { background: rgba(247,145,40,.18) !important; }
[data-theme="dark"] .pd-btn-ghost { color: var(--pd-ink) !important; }
