/* ABHYAS — booking widget, experiences grid, soul ledger */

/* ---- Booking widget ---- */
.abhyas-booking{
  max-width:360px;border:1px solid #e5e0d8;border-radius:16px;
  padding:24px;background:#fdfcfa;font-family:inherit;
  box-shadow:0 8px 30px rgba(0,0,0,.06);
}
.abhyas-booking .ab-price{font-size:28px;font-weight:600;color:#2e3d2f;margin-bottom:4px}
.abhyas-booking .ab-price span{font-size:14px;font-weight:400;color:#8a8478}
.abhyas-booking .ab-meta{font-size:13px;color:#6b6459;margin:2px 0}
.abhyas-booking .ab-label{display:block;font-size:13px;font-weight:600;color:#4a4438;margin:16px 0 6px}
.abhyas-booking .ab-date,
.abhyas-booking .ab-contribution{
  width:100%;padding:11px 14px;border:1px solid #ddd6ca;border-radius:10px;
  font-size:15px;box-sizing:border-box;background:#fff;
}
.abhyas-booking .ab-counter{display:flex;align-items:center;gap:16px}
.abhyas-booking .ab-counter button{
  width:38px;height:38px;border:1px solid #ddd6ca;background:#fff;border-radius:10px;
  font-size:20px;cursor:pointer;color:#2e3d2f;line-height:1;
}
.abhyas-booking .ab-counter button:hover{background:#f2efe9}
.abhyas-booking .ab-count{font-size:18px;font-weight:600;min-width:24px;text-align:center}
.abhyas-booking .ab-total{margin:20px 0;font-size:16px;color:#4a4438}
.abhyas-booking .ab-total strong{color:#2e3d2f}
.abhyas-booking .ab-submit{
  width:100%;padding:14px;border:none;border-radius:12px;cursor:pointer;
  background:#2e3d2f;color:#fff;font-size:16px;font-weight:600;transition:background .2s;
}
.abhyas-booking .ab-submit:hover{background:#3d5140}
.abhyas-booking .ab-submit:disabled{opacity:.6;cursor:not-allowed}
.abhyas-booking .ab-message{margin-top:14px;padding:10px 14px;border-radius:10px;font-size:14px}
.abhyas-booking .ab-message.ab-error{background:#fbe9e7;color:#b3261e}
.abhyas-booking .ab-message.ab-success{background:#e7f4ea;color:#1e6b34}

/* ---- Experiences grid ---- */
.abhyas-experiences .ab-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.abhyas-experiences .ab-filter{
  padding:8px 18px;border:1px solid #ddd6ca;background:#fff;border-radius:999px;
  cursor:pointer;font-size:14px;color:#4a4438;transition:all .2s;
}
.abhyas-experiences .ab-filter:hover{background:#f2efe9}
.abhyas-experiences .ab-filter.active{background:#2e3d2f;color:#fff;border-color:#2e3d2f}
.abhyas-experiences .ab-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;
}
.abhyas-experiences .ab-card{
  display:block;text-decoration:none;color:inherit;border:1px solid #eee7dd;
  border-radius:16px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;
}
.abhyas-experiences .ab-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.abhyas-experiences .ab-card-img img{width:100%;height:200px;object-fit:cover;display:block}
.abhyas-experiences .ab-card-body{padding:18px}
.abhyas-experiences .ab-card-body h3{margin:0 0 6px;font-size:18px;color:#2e3d2f}
.abhyas-experiences .ab-card-tagline{margin:0 0 12px;font-size:14px;color:#8a8478}
.abhyas-experiences .ab-card-meta{display:flex;gap:14px;font-size:13px;color:#6b6459}
.abhyas-experiences .ab-card-meta span:first-child{font-weight:700;color:#2e3d2f}

/* ---- Soul Ledger ---- */
.abhyas-ledger{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;
  text-align:center;padding:20px 0;
}
.abhyas-ledger .ab-stat .ab-num{display:block;font-size:40px;font-weight:700;color:#2e3d2f}
.abhyas-ledger .ab-stat label{font-size:14px;color:#8a8478}

/* ---- Journey ---- */
.abhyas-journey{list-style:none;counter-reset:step;padding:0;margin:0}
.abhyas-journey li{position:relative;padding:0 0 24px 52px;counter-increment:step}
.abhyas-journey li::before{
  content:counter(step);position:absolute;left:0;top:0;width:36px;height:36px;
  background:#2e3d2f;color:#fff;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-weight:600;
}
.abhyas-journey li h4{margin:4px 0 4px;color:#2e3d2f}
.abhyas-journey li p{margin:0;color:#6b6459;font-size:14px}

@media(max-width:480px){
  .abhyas-booking{max-width:100%}
}

/* ============ RECEIPT ============ */
.receipt-section{padding-top:60px}
.abhyas-receipt{
  max-width:820px;margin:0 auto;background:#fff;
  border:1px solid var(--line,#e2ddd2);padding:44px 46px;
}
.rcpt-head{
  display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;
  border-bottom:2px solid var(--line,#e2ddd2);padding-bottom:26px;margin-bottom:26px;
}
.rcpt-brand h2{font-size:24px;margin:0 0 10px}
.rcpt-brand p{margin:2px 0;font-size:13px;color:var(--muted,#8a857a);line-height:1.6}
.rcpt-meta{text-align:right;min-width:200px}
.rcpt-meta p{margin:3px 0;font-size:13px;color:var(--muted,#8a857a)}
.rcpt-label{
  font-size:10px;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--muted,#8a857a);margin:0 0 6px!important;font-weight:600;
}
.rcpt-number{
  font-size:20px;font-weight:600;color:var(--ink,#2b2a26)!important;
  margin:0 0 10px!important;letter-spacing:.5px;
}
.rcpt-status{
  display:inline-block;margin-top:8px!important;font-size:10px;letter-spacing:1.2px;
  text-transform:uppercase;padding:4px 12px;border-radius:999px;font-weight:600;
}
.rcpt-status.status-confirmed{background:#e7f4ea;color:#1e6b34}
.rcpt-status.status-pending{background:#fdf1e3;color:#9a6a1e}
.rcpt-status.status-cancelled{background:#fbe9e7;color:#b3261e}

.rcpt-parties{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:8px}
.rcpt-parties p{margin:2px 0;font-size:14px;line-height:1.6}

.rcpt-table{width:100%;border-collapse:collapse;margin:28px 0 22px}
.rcpt-table th{
  text-align:left;padding:10px 8px;border-bottom:2px solid var(--line,#e2ddd2);
  font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted,#8a857a);
}
.rcpt-table td{padding:14px 8px;border-bottom:1px solid var(--line,#e2ddd2);vertical-align:top;font-size:14.5px}
.rcpt-table .num{text-align:right;white-space:nowrap}
.rcpt-sub{color:var(--muted,#8a857a);font-size:13px}
.rcpt-table .rcpt-total td{
  border-bottom:none;padding-top:18px;font-size:19px;font-weight:600;color:var(--ink,#2b2a26);
}

.rcpt-payment{background:var(--paper,#f7f6f1);padding:20px 24px;margin-top:8px}
.rcpt-payment p{margin:3px 0;font-size:13.5px}
.rcpt-payment code{font-size:12.5px;color:var(--sage,#667e66);word-break:break-all}
.rcpt-note{margin-top:24px;font-style:italic;color:var(--muted,#8a857a);font-size:14px;text-align:center}
.rcpt-actions{margin-top:32px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Soul Ledger receipt link */
.slb-receipt{
  display:inline-block;margin-top:10px;margin-right:14px;color:var(--sage,#667e66);
  font-size:13px;font-weight:600;
}
.slb-receipt:hover{text-decoration:underline}

@media(max-width:700px){
  .abhyas-receipt{padding:26px 20px}
  .rcpt-head,.rcpt-parties{grid-template-columns:1fr;flex-direction:column}
  .rcpt-meta{text-align:left}
  .rcpt-table th:nth-child(2),.rcpt-table td:nth-child(2),
  .rcpt-table th:nth-child(3),.rcpt-table td:nth-child(3){display:none}
}

/* Print / Save as PDF */
@media print{
  .site-header,.site-footer,.no-print,.mobile-panel,#wpadminbar{display:none!important}
  body{background:#fff!important}
  .site-main,.section,.receipt-section{padding:0!important;margin:0!important}
  .abhyas-receipt{border:none;max-width:100%;padding:0}
  .rcpt-payment{background:#f7f6f1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rcpt-status{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a[href]:after{content:""}
}
