/* ================================================================
   Sri Divya Mandir – Puja Booking System v2  |  main.css
================================================================ */

/* ── Variables ───────────────────────────────────────────────── */
:root {
  --dm-orange:    #c47f17;
  --dm-orange-lt: #fdf3e3;
  --dm-green:     #1a6b45;
  --dm-green-btn: #0f6e56;
  --dm-green-lt:  #e8f5f0;
  --dm-purple:    #534ab7;
  --dm-red:       #d63638;
  --dm-text:      #1a1a1a;
  --dm-text-2:    #3c3c3c;
  --dm-text-3:    #646970;
  --dm-border:    #d3cfc5;
  --dm-bg:        #faf9f7;
  --dm-bg-2:      #f4f2ed;
  --dm-white:     #ffffff;
  --dm-radius:    12px;
  --dm-radius-sm: 8px;
  --dm-shadow:    0 2px 16px rgba(0,0,0,.08);
  --dm-shadow-lg: 0 8px 32px rgba(0,0,0,.12);
  --dm-font:      -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}

/* ── Reset base ──────────────────────────────────────────────── */
.dm-puja-page *,
.dm-pkg-page *,
.dm-cards-grid * {
  box-sizing: border-box;
  font-family: var(--dm-font);
}

/* ── Utility ─────────────────────────────────────────────────── */
.dm-hidden  { display: none !important; }
.dm-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.dm-section { padding: 56px 0; }
.dm-section-alt { background: var(--dm-bg-2); }
.dm-section-title {
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 700;
  color: var(--dm-text);
  text-align: center;
  margin: 0 0 36px;
}

/* ================================================================
   PUJA CARDS (shortcode output)
================================================================ */
.dm-cards-grid {
  display: grid;
  gap: 24px;
  padding: 8px 0;
}
.dm-cols-1 { grid-template-columns: 1fr; }
.dm-cols-2 { grid-template-columns: repeat(2,1fr); }
.dm-cols-3 { grid-template-columns: repeat(3,1fr); }
.dm-cols-4 { grid-template-columns: repeat(4,1fr); }

.dm-puja-card {
  background: var(--dm-white);
  border: 0.5px solid var(--dm-border);
  border-radius: var(--dm-radius);
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
  animation: dmCardIn .45s ease both;
}
.dm-puja-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--dm-shadow-lg);
}
@keyframes dmCardIn {
  from { opacity:0; transform: translateY(16px); }
  to   { opacity:1; transform: translateY(0); }
}

.dm-card-img-wrap { position: relative; overflow: hidden; aspect-ratio: 16/9; }
.dm-card-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition: transform .3s; }
.dm-puja-card:hover .dm-card-img-wrap img { transform: scale(1.04); }

.dm-card-img-label {
  position: absolute; top: 12px; left: 12px;
  background: rgba(0,0,0,.72); color: #fff;
  font-size: 10px; font-weight: 600; letter-spacing:.05em;
  padding: 3px 10px; border-radius: 20px; text-transform: uppercase;
}
.dm-book-overlay-btn {
  position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%);
  background: var(--dm-green-btn); color: #fff;
  font-size: 12px; font-weight: 600; letter-spacing: .06em;
  padding: 6px 18px; border-radius: 20px; text-decoration: none;
  opacity: 0; transition: opacity .2s;
  white-space: nowrap;
}
.dm-puja-card:hover .dm-book-overlay-btn { opacity: 1; }

.dm-card-body { padding: 16px 18px 18px; }
.dm-card-cat {
  font-size: 10px; font-weight: 600; letter-spacing: .07em;
  color: var(--dm-orange); text-transform: uppercase; margin: 0 0 6px;
}
.dm-card-title {
  font-size: 16px; font-weight: 700; margin: 0 0 6px; line-height: 1.35;
}
.dm-card-title a { color: var(--dm-text); text-decoration: none; }
.dm-card-title a:hover { color: var(--dm-green); }
.dm-card-excerpt {
  font-size: 13px; color: var(--dm-text-3); margin: 0 0 10px; line-height: 1.55;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.dm-card-meta { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.dm-meta-item { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--dm-text-3); }
.dm-meta-item svg { flex-shrink:0; color: var(--dm-orange); }

/* Timer on cards */
.dm-card-timer { margin-bottom: 12px; }
.dm-timer-label { font-size: 11px; color: var(--dm-text-3); display: block; margin-bottom: 5px; }
.dm-timer-blocks { display: flex; gap: 6px; }
.dm-tb {
  background: var(--dm-orange-lt);
  border: 0.5px solid #e8c77a;
  border-radius: 6px;
  padding: 4px 8px;
  text-align: center; min-width: 40px;
}
.dm-tv { display: block; font-size: 15px; font-weight: 700; color: var(--dm-orange); line-height:1; }
.dm-tl { display: block; font-size: 9px; color: var(--dm-text-3); margin-top: 2px; text-transform: uppercase; }

/* Bigger timer for hero */
.dm-timer-hero .dm-tb { min-width: 60px; padding: 8px 12px; }
.dm-timer-hero .dm-tv { font-size: 24px; }
.dm-timer-hero .dm-tl { font-size: 11px; }

.dm-card-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.dm-card-price { font-size: 13px; color: var(--dm-text-3); }
.dm-card-price strong { color: var(--dm-text); }
.dm-btn-participate {
  background: var(--dm-green-btn); color: #fff;
  font-size: 12px; font-weight: 600; letter-spacing: .05em;
  padding: 8px 16px; border-radius: 6px; text-decoration: none;
  transition: background .15s;
}
.dm-btn-participate:hover { background: #085041; color: #fff; }

/* ================================================================
   HERO SECTION
================================================================ */
.dm-hero {
  background: var(--dm-bg-2);
  border-bottom: 1px solid var(--dm-border);
}
.dm-hero-inner {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 36px; padding: 36px 20px 0;
  align-items: start;
}

/* Slider */
.dm-slider { position: relative; border-radius: var(--dm-radius); overflow: hidden; background: #111; }
.dm-slides { display: flex; transition: transform .45s cubic-bezier(.4,0,.2,1); }
.dm-slide { min-width: 100%; position: relative; aspect-ratio: 4/3; flex-shrink: 0; }
.dm-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.dm-slide-badge {
  position:absolute; bottom:16px; left:16px;
  background:rgba(0,0,0,.7); color:#fff;
  font-size:11px; font-weight:600; padding:4px 12px; border-radius:20px;
}
.dm-sl-btn {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.92); border:none; border-radius:50%;
  width:36px; height:36px; font-size:22px; cursor:pointer; z-index:2;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.18); transition:background .15s;
}
.dm-sl-btn:hover { background:#fff; }
.dm-sl-prev { left:10px; }
.dm-sl-next { right:10px; }
.dm-sl-dots { position:absolute; bottom:10px; left:50%; transform:translateX(-50%); display:flex; gap:6px; }
.dm-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; transition:.2s; }
.dm-dot-active { background:#fff; transform:scale(1.3); }

/* Hero right */
.dm-hero-right { padding: 8px 0 36px; }
.dm-hero-cat {
  font-size: 11px; font-weight: 700; letter-spacing: .08em;
  color: var(--dm-orange); text-transform: uppercase; margin: 0 0 10px;
}
.dm-hero-title { font-size: clamp(20px,3vw,30px); font-weight: 800; margin: 0 0 10px; line-height:1.25; }
.dm-hero-subtitle { font-size: 16px; color: var(--dm-text-2); margin: 0 0 18px; line-height: 1.6; }
.dm-hero-meta { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.dm-hero-meta-row { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--dm-text-2); }
.dm-hero-meta-row svg { flex-shrink:0; }
.dm-hero-timer-wrap { margin-bottom: 16px; }
.dm-hero-timer-label { font-size: 13px; font-weight: 600; color: var(--dm-text-2); margin-bottom: 8px; }

.dm-hero-social { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.dm-hero-avatars { display:flex; }
.dm-avatar-dot {
  width:28px; height:28px; border-radius:50%; border:2px solid #fff;
  margin-left:-8px; display:block;
}
.dm-avatar-dot:first-child { margin-left:0; }
.dm-hero-rating { font-size:13px; font-weight:600; color:var(--dm-orange); }
.dm-hero-devs { font-size:13px; color:var(--dm-text-3); margin:0 0 20px; }
.dm-hero-devs strong { color:var(--dm-green); }

.dm-btn-hero {
  display:inline-block;
  background: var(--dm-green-btn); color:#fff;
  font-size:16px; font-weight:600; padding:14px 28px;
  border-radius:var(--dm-radius-sm); text-decoration:none;
  transition:background .15s; letter-spacing:.02em;
}
.dm-btn-hero:hover { background:#085041; color:#fff; }

/* Trust ticker */
.dm-trust-ticker {
  background:#1a1a1a; overflow:hidden; padding:10px 0;
  margin-top: 0;
}
.dm-trust-track {
  display:flex; gap:0;
  animation: dmTicker 28s linear infinite;
  white-space:nowrap;
}
.dm-trust-item {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; color:#ccc; padding:0 28px;
  border-right:1px solid #333;
}
.dm-trust-item svg { color:#e8c77a; flex-shrink:0; }
@keyframes dmTicker { from{transform:translateX(0)} to{transform:translateX(-33.33%)} }

/* ================================================================
   PACKAGE SELECTION (on puja detail page)
================================================================ */
.dm-pkgs-row {
  display:flex; gap:16px; overflow-x:auto;
  padding:20px 0 8px; scrollbar-width:thin;
}
.dm-pkg-card {
  flex:0 0 200px; min-width:170px;
  border:1.5px solid var(--dm-border);
  border-radius:var(--dm-radius); padding:16px;
  cursor:pointer; position:relative;
  transition:border-color .2s, box-shadow .2s;
  background:#fff;
}
.dm-pkg-card:hover { border-color:var(--dm-green); }
.dm-pkg-card.dm-pkg-selected {
  border-color: var(--dm-green); border-width:2px;
  box-shadow:0 0 0 3px rgba(15,110,86,.12);
}
.dm-pkg-rec {
  border-color: var(--dm-green); border-width:2px;
}
.dm-pkg-rec-badge {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--dm-green); color:#fff;
  font-size:11px; font-weight:600; padding:3px 14px;
  border-radius:20px; white-space:nowrap;
}
.dm-pkg-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.dm-pkg-persons-badge {
  display:inline-flex; align-items:center; gap:4px;
  background:var(--dm-orange-lt); color:var(--dm-orange);
  font-size:11px; font-weight:500; padding:3px 8px; border-radius:20px;
}
.dm-pkg-radio {
  width:18px; height:18px; border:1.5px solid var(--dm-border);
  border-radius:50%; display:block; flex-shrink:0; position:relative;
  transition:.15s;
}
.dm-pkg-radio-checked, .dm-pkg-card.dm-pkg-selected .dm-pkg-radio {
  background:var(--dm-green); border-color:var(--dm-green);
}
.dm-pkg-radio-checked::after, .dm-pkg-card.dm-pkg-selected .dm-pkg-radio::after {
  content:'✓'; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%); color:#fff; font-size:11px;
}
.dm-pkg-name { font-size:14px; font-weight:600; margin-bottom:8px; }
.dm-pkg-img-placeholder {
  display:flex; align-items:center; justify-content:center;
  height:70px; margin-bottom:8px;
}
.dm-pkg-price { font-size:20px; font-weight:700; color:var(--dm-orange); }

.dm-pkg-detail-panel {
  background:var(--dm-green-lt);
  border:1px solid #9fcdb9;
  border-radius:var(--dm-radius-sm);
  padding:16px 20px; margin-top:16px;
}
.dm-pkg-detail-panel h4 { color:var(--dm-green); font-size:15px; margin:0 0 10px; }
.dm-pkg-detail-points ul { margin:0; padding-left:20px; }
.dm-pkg-detail-points li { font-size:13px; color:var(--dm-text-2); margin-bottom:6px; }

/* ================================================================
   ABOUT / BENEFITS / PROCESS / REVIEWS
================================================================ */
.dm-about-text { font-size:15px; line-height:1.8; color:var(--dm-text-2); max-width:780px; margin:0 auto; }
.dm-temple-name { font-size:15px; font-weight:600; color:var(--dm-green); margin:0 0 12px; }

.dm-benefits-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px; max-width:900px; margin:0 auto;
}
.dm-benefit-item {
  display:flex; align-items:flex-start; gap:14px;
  background:#fff; border:0.5px solid var(--dm-border);
  border-radius:var(--dm-radius-sm); padding:14px 16px;
}
.dm-benefit-num {
  font-size:11px; font-weight:700; color:#fff;
  background:var(--dm-green); border-radius:4px;
  padding:2px 6px; flex-shrink:0; margin-top:2px;
}
.dm-benefit-text { font-size:14px; color:var(--dm-text-2); line-height:1.5; }

.dm-process-steps {
  display:flex; flex-wrap:wrap; gap:0;
  justify-content:center; max-width:900px; margin:0 auto;
}
.dm-process-step {
  display:flex; align-items:center; gap:10px;
}
.dm-process-num {
  width:36px; height:36px; border-radius:50%;
  background:var(--dm-green); color:#fff;
  font-size:15px; font-weight:700; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.dm-process-text { font-size:13px; color:var(--dm-text-2); max-width:160px; line-height:1.5; }
.dm-process-arrow { font-size:20px; color:var(--dm-border); margin:0 4px; }

.dm-reviews-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.dm-review-card {
  background:#fff; border:0.5px solid var(--dm-border);
  border-radius:var(--dm-radius); padding:18px 20px;
}
.dm-review-stars { color:var(--dm-orange); font-size:16px; margin-bottom:8px; }
.dm-review-text { font-size:14px; color:var(--dm-text-2); line-height:1.6; margin:0 0 14px; font-style:italic; }
.dm-review-author { display:flex; align-items:center; gap:10px; }
.dm-review-avatar {
  width:36px; height:36px; border-radius:50%;
  background:var(--dm-green-lt); color:var(--dm-green);
  font-size:16px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.dm-review-author strong { display:block; font-size:14px; }
.dm-review-author small { color:var(--dm-text-3); font-size:12px; }

/* ================================================================
   PACKAGE PAGE (single-package.php)
================================================================ */
.dm-pkg-page { max-width:780px; margin:0 auto; padding:0 16px 130px; }

.dm-breadcrumb {
  font-size:13px; color:var(--dm-text-3);
  padding:16px 0; margin-bottom:4px;
}
.dm-breadcrumb a { color:var(--dm-text-3); text-decoration:none; }
.dm-breadcrumb a:hover { color:var(--dm-green); }

.dm-pkg-header {
  background:var(--dm-bg-2);
  border:0.5px solid var(--dm-border);
  border-radius:var(--dm-radius);
  padding:20px 22px; margin-bottom:16px;
  display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
}
.dm-pkg-title { font-size:clamp(16px,2.5vw,22px); font-weight:700; margin:0 0 10px; line-height:1.3; }
.dm-pkg-header-meta { display:flex; flex-wrap:wrap; gap:10px; font-size:13px; color:var(--dm-text-3); margin-bottom:8px; }
.dm-pkg-header-meta span { display:inline-flex; align-items:center; gap:4px; }
.dm-pkg-base-price { font-size:14px; font-weight:600; color:var(--dm-text); }
.dm-pkg-base-price strong { color:var(--dm-green); }
.dm-btn-back-puja {
  white-space:nowrap; font-size:12px; color:var(--dm-green);
  text-decoration:none; border:1px solid var(--dm-green);
  padding:6px 12px; border-radius:6px; flex-shrink:0;
  transition:background .15s;
}
.dm-btn-back-puja:hover { background:var(--dm-green-lt); }

/* Booking sections */
.dm-booking-section {
  background:#fff; border:0.5px solid var(--dm-border);
  border-radius:var(--dm-radius); padding:20px 22px;
  margin-bottom:14px;
}
.dm-bs-header { display:flex; gap:14px; align-items:flex-start; margin-bottom:18px; }
.dm-bs-icon { font-size:24px; flex-shrink:0; margin-top:2px; }
.dm-bs-title { font-size:16px; font-weight:700; margin:0 0 3px; }
.dm-bs-sub { font-size:13px; color:var(--dm-text-3); margin:0; }

.dm-badge-virtual  { background:#e1f5ee; color:#0f6e56; font-size:11px; padding:2px 8px; border-radius:20px; font-weight:400; }
.dm-badge-delivery { background:#e6f1fb; color:#185fa5; font-size:11px; padding:2px 8px; border-radius:20px; font-weight:400; }

/* Dan grid */
.dm-dan-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:8px; }
.dm-dan-card {
  border:1.5px solid var(--dm-border); border-radius:var(--dm-radius-sm);
  padding:12px 14px; cursor:pointer; transition:.15s;
}
.dm-dan-card input { display:none; }
.dm-dan-card:hover { border-color:var(--dm-green); }
.dm-dan-selected { border-color:var(--dm-green); background:var(--dm-green-lt); }
.dm-dan-inner { display:flex; align-items:center; justify-content:space-between; }
.dm-dan-lbl { font-size:14px; font-weight:500; }
.dm-dan-chk { color:var(--dm-green); font-size:16px; font-weight:700; opacity:0; transition:.15s; }
.dm-dan-selected .dm-dan-chk { opacity:1; }

/* Items list (chadhava + delivery) */
.dm-items-list { display:flex; flex-direction:column; gap:0; }
.dm-item-row {
  display:flex; align-items:center; gap:14px;
  padding:12px 0; border-bottom:0.5px solid #ebebeb;
}
.dm-item-row:last-child { border-bottom:none; padding-bottom:0; }
.dm-item-img-wrap { width:50px; height:50px; flex-shrink:0; }
.dm-item-img-wrap img { width:100%; height:100%; object-fit:cover; border-radius:8px; }
.dm-item-img-placeholder {
  width:50px; height:50px; border-radius:8px;
  background:var(--dm-bg-2); display:flex;
  align-items:center; justify-content:center; font-size:22px;
}
.dm-item-info { flex:1; min-width:0; }
.dm-item-name { font-size:14px; font-weight:500; }
.dm-item-price { font-size:12px; color:var(--dm-text-3); margin-top:2px; }

.dm-empty-note { font-size:13px; color:var(--dm-text-3); padding:8px 0; }

/* Qty control */
.dm-qty-wrap {
  display:flex; align-items:center; flex-shrink:0;
  border:1px solid var(--dm-border); border-radius:var(--dm-radius-sm);
  overflow:hidden;
}
.dm-qty-btn {
  width:34px; height:34px; background:var(--dm-bg-2);
  border:none; cursor:pointer; font-size:18px;
  color:var(--dm-text); display:flex; align-items:center; justify-content:center;
  transition:background .15s; user-select:none;
}
.dm-qty-btn:hover { background:var(--dm-border); }
.dm-qty-val {
  width:34px; text-align:center; font-size:14px;
  font-weight:600; color:var(--dm-text);
}

/* Devotee form */
.dm-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; }
.dm-field { display:flex; flex-direction:column; gap:5px; }
.dm-field-full { grid-column:1/-1; }
.dm-label { font-size:13px; font-weight:500; color:var(--dm-text-2); }
.dm-req  { color:var(--dm-red); }
.dm-opt  { color:var(--dm-text-3); font-weight:400; }
.dm-input {
  padding:10px 12px; border:1px solid var(--dm-border);
  border-radius:var(--dm-radius-sm); font-size:14px;
  color:var(--dm-text); transition:border-color .15s;
  font-family:var(--dm-font); width:100%;
}
.dm-input:focus { outline:none; border-color:var(--dm-green); box-shadow:0 0 0 2px rgba(15,110,86,.12); }
textarea.dm-input { resize:vertical; min-height:64px; }

.dm-devotees-wrap { border-top:0.5px solid var(--dm-border); padding-top:16px; }
.dm-devotees-title { font-size:14px; font-weight:600; margin:0 0 12px; }
.dm-devotees-hint { font-weight:400; color:var(--dm-text-3); font-size:12px; }
.dm-devotees-fields { display:flex; flex-direction:column; gap:10px; }
.dm-btn-add-devotee {
  background:none; border:none; color:var(--dm-green);
  font-size:13px; cursor:pointer; padding:6px 0 0;
  text-decoration:underline; text-underline-offset:2px;
}

.dm-address-wrap { border-top:0.5px solid var(--dm-border); padding-top:16px; margin-top:16px; }

.dm-form-error {
  background:#fcebeb; border:0.5px solid #e24b4a;
  border-radius:var(--dm-radius-sm); padding:10px 14px;
  font-size:13px; color:#a32d2d; margin-top:12px;
}

.dm-proceed-wrap { margin:20px 0; }
.dm-btn-proceed-main {
  width:100%; padding:14px; background:var(--dm-green-btn);
  color:#fff; border:none; border-radius:var(--dm-radius-sm);
  font-size:16px; font-weight:600; cursor:pointer;
  font-family:var(--dm-font); transition:background .15s;
}
.dm-btn-proceed-main:hover { background:#085041; }
.dm-btn-proceed-main:disabled { background:#9cb; cursor:not-allowed; }

/* ================================================================
   STICKY BAR
================================================================ */
.dm-sticky-bar {
  position:fixed; bottom:0; left:0; right:0;
  background:#1a1a1a; color:#fff;
  padding:12px 20px;
  display:flex; align-items:center; justify-content:space-between;
  z-index:9999;
  box-shadow:0 -4px 24px rgba(0,0,0,.25);
}
.dm-sticky-left { display:flex; flex-direction:column; gap:1px; }
.dm-sticky-label { font-size:11px; color:#888; }
.dm-sticky-amount { font-size:22px; font-weight:700; line-height:1; }
.dm-sticky-right { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.dm-sticky-pkg-name { font-size:11px; color:#888; }
.dm-sticky-btn {
  background:var(--dm-green-btn); color:#fff;
  border:none; border-radius:var(--dm-radius-sm);
  padding:10px 24px; font-size:15px; font-weight:600;
  cursor:pointer; font-family:var(--dm-font); transition:background .15s;
}
.dm-sticky-btn:hover { background:#085041; }
.dm-sticky-btn:disabled { background:#555; cursor:not-allowed; }

/* Puja detail page sticky bar */
#dm-sticky-bar .dm-sticky-btn[disabled] { background:#555; }

/* ================================================================
   THANK YOU
================================================================ */
.dm-thankyou-wa {
  background:#e8f5f0; border:1px solid #9fcdb9;
  border-radius:var(--dm-radius); padding:24px;
  text-align:center; margin:20px 0;
}
.dm-thankyou-icon { font-size:40px; margin-bottom:8px; }
.dm-thankyou-wa h3 { font-size:20px; font-weight:700; margin:0 0 8px; color:var(--dm-green); }
.dm-thankyou-wa p { font-size:14px; color:var(--dm-text-2); margin:0 0 16px; }
.dm-wa-confirm-btn {
  display:inline-block; background:#25D366; color:#fff;
  padding:12px 24px; border-radius:var(--dm-radius-sm);
  font-size:15px; font-weight:600; text-decoration:none;
  transition:background .15s;
}
.dm-wa-confirm-btn:hover { background:#1da851; color:#fff; }

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width: 900px) {
  .dm-hero-inner { grid-template-columns:1fr; padding-bottom:0; }
  .dm-hero-right { padding-bottom:20px; }
  .dm-cols-3 { grid-template-columns:repeat(2,1fr); }
  .dm-cols-4 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 600px) {
  .dm-cols-2, .dm-cols-3, .dm-cols-4 { grid-template-columns:1fr; }
  .dm-pkgs-row { gap:12px; }
  .dm-pkg-card { flex:0 0 155px; min-width:148px; }
  .dm-form-grid { grid-template-columns:1fr; }
  .dm-pkg-header { flex-direction:column; }
  .dm-dan-grid { grid-template-columns:1fr 1fr; }
  .dm-timer-hero .dm-tb { min-width:48px; padding:6px 8px; }
  .dm-timer-hero .dm-tv { font-size:18px; }
  .dm-section-title { margin-bottom:24px; }
}
@media (max-width: 400px) {
  .dm-dan-grid { grid-template-columns:1fr; }
}
