/* ============================================================
   WabiSabi — shared page design (everything except the course page)
   Same system as هشیاری مالی: white rounded cards, teal accent,
   Far-Rooznameh type, one column.
   ============================================================ */
:root {
  --wb-accent: #a9cdc8;
  --wb-accent-d: #6fa39c;
  --wb-on-accent: #1f3b38;
  --wb-indigo: #5a5a8c;
  --wb-muted: #777;
  --wb-line: #eee;
  --wb-radius: 16px;
  --wb-field-radius: 12px;
}

/* ---------- Cards & page shell ---------- */
.feed-container > .card,
.feed-container > article.card,
.feed-card { border: 0; border-radius: var(--wb-radius); overflow: hidden; }
.wb-page .card { margin-bottom: 20px; }
.wb-page .card-body { padding: 22px 18px; }
.wb-page-title { font-size: 1.9rem; line-height: 1.6; margin: 0 0 14px; }
.feed-user-welcome { padding-top: 80px; padding-bottom: 0; }
.feed-user-welcome + .feed-container { padding-top: 14px; }
.feed-user-welcome .card { border: 0; border-radius: 99px; }
.user-welcome { padding: 10px; font-size: .95rem; text-align: center; }

/* ---------- Content typography ---------- */
.wb-content { line-height: 2; }
.wb-content > * + * { margin-top: 12px; }
.wb-content h2 { font-size: 1.55rem; margin-top: 22px; }
.wb-content h3 { font-size: 1.3rem; margin-top: 18px; }
.wb-content img, .wb-content video, .wb-content iframe { max-width: 100%; height: auto; border-radius: 14px; display: block; margin-inline: auto; }
.wb-content svg { width: 1.2em; height: 1.2em; vertical-align: -0.2em; fill: currentColor; }
.wb-content a { color: var(--wb-accent-d); text-decoration: underline; text-underline-offset: 3px; }
.wb-content ul, .wb-content ol { padding-right: 20px; }
.wb-content table { width: 100%; border-collapse: collapse; }
.wb-content blockquote { border-right: 3px solid var(--wb-accent); padding: 4px 14px 4px 0; color: var(--wb-indigo); }
/* stand-alone links (old Elementor buttons) become tidy pill buttons */
.wb-content > a, .wb-content > p > a:only-child {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  border: 1.5px solid var(--wb-accent); border-radius: 12px; padding: 12px 14px;
  color: var(--wb-on-accent); text-decoration: none; text-align: center;
}
.wb-content > a:hover, .wb-content > p > a:only-child:hover { background: var(--wb-accent); }

/* ---------- Buttons (site-wide + WooCommerce) ---------- */
.wb-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce-button, .wc-block-components-button, .primary-btn {
  background: var(--wb-accent) !important; color: var(--wb-on-accent) !important;
  border: 0; border-radius: 12px !important; padding: 12px 18px; font-family: var(--font-body);
  font-weight: 400; font-size: 1rem; line-height: 1.6; cursor: pointer; text-decoration: none !important;
  transition: background .2s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .primary-btn:hover { background: var(--wb-accent-d) !important; }
.btn-outline-rose { border: 1.5px solid var(--wb-accent-d); color: var(--wb-on-accent); border-radius: 12px; }
.btn-outline-rose:hover { background: var(--wb-accent); color: var(--wb-on-accent); }
.btn-outline-indigo { border-radius: 12px; }
.feed-card .card-body { padding: 18px; }
.read-more { color: var(--wb-accent-d); }

/* ---------- Form fields ---------- */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .woocommerce-page form .form-row input.input-text,
.field input, .wb-content input[type=text], .wb-content input[type=email], .wb-content input[type=tel],
.wb-content input[type=password], .wb-content input[type=number], .wb-content textarea, .wb-content select,
.select2-container .select2-selection--single {
  width: 100%; border: 1px solid #ddd; border-radius: var(--wb-field-radius); padding: 12px;
  font-family: var(--font-body); font-size: 1rem; background: #fff; color: #333; height: auto; line-height: 1.6;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus,
.field input:focus, .wb-content input:focus, .wb-content textarea:focus, .wb-content select:focus {
  outline: none; border-color: var(--wb-accent-d); box-shadow: 0 0 0 .2rem rgba(169,205,200,.35);
}
.woocommerce form .form-row { padding: 0; margin: 0 0 14px; width: 100% !important; float: none !important; }
.woocommerce form .form-row label { display: block; font-size: .92rem; color: #555; margin-bottom: 4px; line-height: 1.8; }
.woocommerce form .form-row .required { color: #c0605a; text-decoration: none; }
.woocommerce form .form-row em, .woocommerce form .form-row span.description { font-size: .82rem; color: var(--wb-muted); font-style: normal; }
.woocommerce fieldset { border: 1px solid var(--wb-line); border-radius: 14px; padding: 14px; margin: 18px 0; }
.woocommerce fieldset legend { float: none; width: auto; padding: 0 8px; font-size: 1.05rem; font-family: var(--font-title); }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon,
.woocommerce form.lost_reset_password { border: 0; padding: 0; margin: 0; }
.woocommerce .password-input { display: block; position: relative; }
.woocommerce .show-password-input { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); border: 0; background: none; }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice,
.woocommerce-notices-wrapper > *, .wc-block-components-notice-banner {
  list-style: none; margin: 0 0 14px !important; padding: 12px 14px !important; border: 0 !important;
  border-radius: 12px; background: rgba(169,205,200,.25); color: var(--wb-on-accent); line-height: 1.9; font-size: .95rem;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-error { background: #fbeaea; color: #8a2f2f; }
.woocommerce-error li { list-style: none; }
.woocommerce-message .button, .woocommerce-info .button { float: none; display: inline-block; margin: 0 0 0 10px; padding: 6px 12px; }

/* ---------- Login / register (form-login.php) ---------- */
.auth-mobile-wrapper { max-width: none; margin: 0; padding: 0; font-family: var(--font-body); }
.auth-header { margin-bottom: 18px; text-align: center; }
.auth-title { font-family: var(--font-title); font-weight: 400; font-size: 1.9rem; line-height: 1.6; margin: 0; }
.field input { margin-bottom: 12px; text-align: right; }
.field input[type=email], .field input[name=username] { direction: ltr; text-align: right; }
.primary-btn { width: 100%; padding: 14px; font-size: 1.1rem; }
.auth-footer.stacked { gap: 12px; margin-top: 18px; }
.cta-register {
  border: 1.5px solid var(--wb-accent); border-radius: 12px; font-weight: 400; color: var(--wb-on-accent);
  padding: 12px 14px; line-height: 1.8;
}
.cta-register:hover { background: var(--wb-accent); color: var(--wb-on-accent); }
.lost-password, .auth-footer.centered a { color: var(--wb-muted); font-size: .9rem; }

/* ---------- My account ---------- */
.woocommerce-account .woocommerce::after { content: ""; display: block; clear: both; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: 100% !important; }
.woocommerce-MyAccount-navigation ul {
  list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px;
}
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.woocommerce-MyAccount-navigation li { flex: none; margin: 0; }
.woocommerce-MyAccount-navigation li a {
  display: block; padding: 8px 14px; border-radius: 99px; border: 1.5px solid var(--wb-line);
  color: #444; text-decoration: none; white-space: nowrap; font-size: .95rem; line-height: 1.6;
}
.woocommerce-MyAccount-navigation li.is-active a { background: var(--wb-accent); border-color: var(--wb-accent); color: var(--wb-on-accent); }
.woocommerce-MyAccount-navigation li a:hover { border-color: var(--wb-accent-d); }
.woocommerce-MyAccount-navigation-link--customer-logout a { color: #a85f5f; }
.woocommerce-MyAccount-content { line-height: 2; }
.woocommerce-MyAccount-content > p { text-align: justify; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-size: 1.35rem; margin: 16px 0 10px; }
.woocommerce-MyAccount-content a { color: var(--wb-accent-d); }

.wb-hello { font-size: 1.15rem; margin-bottom: 14px; }
.wb-hello strong { font-weight: 400; font-family: var(--font-title); font-size: 1.35rem; color: var(--wb-on-accent); }
.wb-dash { display: grid; gap: 10px; }
.wb-dash-item {
  display: flex; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--wb-line);
  border-radius: 14px; color: inherit !important; text-decoration: none !important; transition: border-color .2s, background .2s;
}
.wb-dash-item:hover { border-color: var(--wb-accent-d); background: rgba(169,205,200,.12); }
.wb-dash-item i { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(169,205,200,.35); color: var(--wb-on-accent); font-style: normal; }
.wb-dash-item i .wb-icon { width: var(--wb-icon-sm, 20px); height: var(--wb-icon-sm, 20px); }
.wb-dash-item b { display: block; font-weight: 400; font-family: var(--font-title); font-size: 1.15rem; line-height: 1.6; }
.wb-dash-item small { display: block; color: var(--wb-muted); font-size: .85rem; line-height: 1.6; }
.wb-logout { margin-top: 16px; text-align: center; font-size: .92rem; }
.wb-logout a { color: #a85f5f !important; }

/* addresses */
.woocommerce-Addresses, .woocommerce .col2-set { display: grid; gap: 12px; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2,
.woocommerce-Addresses .woocommerce-Address { float: none; width: 100%; max-width: none; border: 1px solid var(--wb-line); border-radius: 14px; padding: 14px; }
.woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3 { margin: 0; }
.woocommerce address { font-style: normal; color: #555; line-height: 2; }

/* downloads (downloads.php) */
.account-downloads-grid { gap: 1.5rem !important; }
.download-product-title { font-family: var(--font-title); font-weight: 400 !important; font-size: 1.25rem !important; }
.download-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
.download-card { background: rgba(90,90,140,.06) !important; border-radius: 14px !important; }

/* ---------- Tables (orders, cart, order details) → stacked rows ---------- */
.woocommerce table.shop_table { border: 0; border-radius: 0; border-collapse: collapse; margin: 0 0 16px; font-size: .95rem; width: 100%; }
.woocommerce table.shop_table th { font-weight: 400; color: var(--wb-muted); font-size: .85rem; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border: 0; border-bottom: 1px solid var(--wb-line); padding: 10px 6px; text-align: right; vertical-align: middle; }
.woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td { border-top: 0; }
.woocommerce table.shop_table_responsive thead, .woocommerce-page table.shop_table_responsive thead { display: none; }
.woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr {
  display: block; border: 1px solid var(--wb-line); border-radius: 14px; padding: 6px 12px; margin-bottom: 10px;
}
.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td {
  display: flex !important; justify-content: space-between; align-items: center; gap: 12px; text-align: left !important;
  border-bottom: 1px solid var(--wb-line); padding: 8px 0; background: none !important;
}
.woocommerce table.shop_table_responsive tr td:last-child, .woocommerce-page table.shop_table_responsive tr td:last-child { border-bottom: 0; }
.woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
  content: attr(data-title); float: none; font-weight: 400; color: var(--wb-muted); font-size: .85rem; white-space: nowrap;
}
.woocommerce table.shop_table_responsive tr td.product-remove::before, .woocommerce table.shop_table_responsive tr td.actions::before { display: none; }
.woocommerce table.shop_table .button { padding: 6px 12px; font-size: .9rem; margin: 2px 0 2px 4px; }
.woocommerce-orders-table__cell-order-number a { color: var(--wb-on-accent); }
.woocommerce mark, .woocommerce-order-details mark { background: none; color: var(--wb-on-accent); }
.woocommerce ul.order_details { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 6px; }
.woocommerce ul.order_details li { float: none; border: 0; margin: 0; padding: 8px 12px; background: rgba(90,90,140,.06); border-radius: 10px; font-size: .85rem; text-transform: none; }
.woocommerce ul.order_details li strong { font-weight: 400; font-size: 1rem; }
.woocommerce-customer-details, .woocommerce-order-details { margin-top: 16px; }

/* ---------- Cart & checkout ---------- */
.woocommerce-cart table.cart img { width: 64px; border-radius: 10px; }
.woocommerce-cart table.cart td.actions { display: block !important; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; float: none; margin-bottom: 10px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; width: auto !important; border: 1px solid #ddd; border-radius: 12px; padding: 10px 12px; }
.woocommerce-cart table.cart td.actions > .button { width: 100%; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { float: none; width: 100%; }
.cart_totals h2, #order_review_heading, .woocommerce-billing-fields h3, .woocommerce-additional-fields h3 { font-size: 1.35rem; margin: 16px 0 10px; }
.woocommerce .wc-proceed-to-checkout a.checkout-button, .woocommerce #payment #place_order { display: block; width: 100%; float: none; text-align: center; padding: 14px; font-size: 1.1rem; margin: 0; }
.woocommerce-checkout #payment { background: rgba(90,90,140,.06); border-radius: 14px; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 14px; list-style: none; margin: 0; }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: 10px; color: #555; font-size: .9rem; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.form-row { padding: 14px; margin: 0; }
.woocommerce form .form-row.place-order { padding: 14px; }
.woocommerce-privacy-policy-text { font-size: .85rem; color: var(--wb-muted); }
.woocommerce .cart-empty, .woocommerce .return-to-shop { text-align: center; }

/* ---------- Shop / product basics ---------- */
.wb-shop .woocommerce-products-header__title, .wb-shop h1.product_title { font-size: 1.9rem; line-height: 1.6; }
.woocommerce ul.products { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  float: none; width: auto !important; margin: 0; padding: 10px; border: 1px solid var(--wb-line); border-radius: 14px;
}
.woocommerce ul.products li.product img, .woocommerce div.product div.images img { border-radius: 10px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--wb-on-accent) !important; font-weight: 400; }
.woocommerce div.product form.cart .button { width: 100%; float: none; padding: 14px; font-size: 1.1rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce span.onsale { background: var(--wb-accent); color: var(--wb-on-accent); }

/* ---------- Sidebar account entries ---------- */
.sidebar ul li.wb-menu-account a { color: var(--wb-on-accent); }
.sidebar ul li.wb-menu-logout a { color: #a85f5f; }
.sidebar ul li a:hover, .sidebar-bottom a:hover, .navbar-left a:hover { color: var(--wb-accent-d); }

/* ---------- Dark mode ---------- */
body.dark-mode .wb-page-title, body.dark-mode .wb-content { color: #eee; }
body.dark-mode .wb-dash-item, body.dark-mode .woocommerce table.shop_table_responsive tr,
body.dark-mode .woocommerce-Addresses .woocommerce-Address, body.dark-mode .woocommerce fieldset,
body.dark-mode .woocommerce-MyAccount-navigation li a { border-color: #333; color: #ddd; }
body.dark-mode .woocommerce form .form-row input.input-text, body.dark-mode .field input,
body.dark-mode .wb-content input, body.dark-mode .wb-content textarea, body.dark-mode .wb-content select {
  background: #262626; color: #eee; border-color: #444;
}
body.dark-mode .woocommerce form .form-row label, body.dark-mode .woocommerce address { color: #bbb; }
body.dark-mode .wb-hello strong, body.dark-mode .wb-dash-item i { color: #d9efec; }
body.dark-mode .woocommerce table.shop_table th, body.dark-mode .woocommerce table.shop_table td { border-color: #333; color: #ddd; }


/* ---------- Fixes after review ---------- */
.auth-mobile-wrapper a, .wb-dash-item, .woocommerce-MyAccount-navigation a { text-decoration: none !important; }
.wb-content a br { display: none; }
/* external link rows (contact page etc.) → full-width pill buttons with the icon inline */
.page .wb-content a[target="_blank"]:not(:has(img)) {
  display: flex; align-items: center; justify-content: center; gap: 10px; margin: 10px 0;
  border: 1.5px solid var(--wb-accent); border-radius: 12px; padding: 12px 14px;
  color: var(--wb-on-accent); text-decoration: none; text-align: center; line-height: 1.8;
}
.page .wb-content a[target="_blank"]:not(:has(img)):hover { background: var(--wb-accent); }
.page .wb-content a[target="_blank"] svg { flex: none; width: 1.3em; height: 1.3em; }
.wb-content a:has(img) { display: block; text-align: center; border: 0; }
.wb-content p:empty { display: none; }
.woocommerce-MyAccount-content .wb-hello { text-align: right; }

/* old indigo buttons → same teal system */
.btn-outline-indigo { border: 1.5px solid var(--wb-accent-d); color: var(--wb-on-accent); background: transparent; }
.btn-outline-indigo:hover { background: var(--wb-accent); color: var(--wb-on-accent); }

/* v2.6 — account created at checkout */
.wb-checkout-account-note { font-size: .92rem; line-height: 1.9; background: rgba(169,205,200,.18); border-radius: 10px; padding: 10px 12px; margin: 0 0 12px; }

/* ============================================================
   v2.7 — account: «هشیاری مالی» + «پیام‌ها»
   ============================================================ */
.wb-msg-notice { display: flex; align-items: center; gap: 10px; padding: 12px 14px; margin: 0 0 14px; border-radius: 14px; background: rgba(169,205,200,.3); color: var(--wb-on-accent) !important; text-decoration: none !important; }
.wb-msg-notice .wb-icon { width: var(--wb-icon-sm, 20px); height: var(--wb-icon-sm, 20px); }
.wb-dash-item.has-unread i { position: relative; }
.wb-dash-item.has-unread i::after { content: ""; position: absolute; top: 6px; left: 6px; width: 9px; height: 9px; border-radius: 50%; background: #c97c7c; box-shadow: 0 0 0 2px #fff; }

.wb-msg-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.wb-msg-list a { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid var(--wb-line, #eee); border-radius: 14px; color: inherit !important; text-decoration: none !important; }
.wb-msg-list a:hover { border-color: var(--wb-accent-d); background: rgba(169,205,200,.12); }
.wb-msg-list b { display: block; font-weight: 400; font-family: var(--font-title); font-size: 1.08rem; line-height: 1.7; }
.wb-msg-list small { display: block; color: var(--wb-muted); font-size: .85rem; }
.wb-msg-dot { flex: none; width: 9px; height: 9px; margin-top: .75em; border-radius: 50%; background: transparent; }
.wb-msg-list .unread .wb-msg-dot { background: #c97c7c; }
.wb-msg-list .unread b { color: var(--wb-on-accent); }
.wb-msg-view h2 { font-size: 1.4rem; margin: 6px 0 2px; }
.wb-msg-date { color: var(--wb-muted); font-size: .85rem; }
.wb-msg-body { line-height: 2; }
.wb-msg-empty { color: var(--wb-muted); }

.wb-course { border: 1px solid var(--wb-line, #eee); border-radius: 16px; padding: 16px; margin-bottom: 16px; }
.wb-course-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.wb-course-head h2 { font-size: 1.35rem; margin: 0; }
.wb-course-meta { color: var(--wb-muted); font-size: .88rem; margin: 6px 0 12px; }
.wb-course h3 { font-size: 1.12rem; margin: 18px 0 8px; }
.wb-course h3 small { font-size: .82rem; color: var(--wb-muted); font-family: var(--font-body); }
.wb-course-member { background: rgba(169,205,200,.2); border-radius: 12px; padding: 10px 14px; line-height: 1.9; }
.wb-course-member p:last-child { margin-bottom: 0; }
.wb-course-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--wb-line, #eee); }
.wb-course-row:first-child { border-top: 0; }
.wb-course-row b { display: block; font-weight: 400; }
.wb-course-row small { display: block; color: var(--wb-muted); font-size: .82rem; }
.wb-course-amt { text-align: left; white-space: nowrap; }
.wb-pay { display: inline-block; margin-right: 6px; padding: 2px 12px; border-radius: 99px; background: var(--wb-accent); color: var(--wb-on-accent) !important; text-decoration: none !important; font-size: .85rem; }
.wb-course-sessions { list-style: none; margin: 0; padding: 0; }
.wb-course-sessions li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px dashed var(--wb-line, #eee); font-size: .95rem; }
.wb-course-sessions li:first-child { border-top: 0; }
.wb-course-sessions li.done { color: var(--wb-muted); text-decoration: line-through; text-decoration-color: rgba(0,0,0,.2); }
.wb-course-sessions li.next { color: var(--wb-on-accent); }
.wb-course-links { margin: 14px 0 0; font-size: .9rem; }
.status-badge { display: inline-block; border-radius: 99px; padding: 1px 10px; font-size: .78rem; background: #eee; }
.status-badge.status-paid { background: rgba(169,205,200,.45); color: #1f3b38; }
.status-badge.status-partial, .status-badge.status-pending { background: #f6ecd9; color: #7a5a1c; }
.status-badge.status-failed { background: #fbeaea; color: #8a2f2f; }
body.dark-mode .wb-course, body.dark-mode .wb-msg-list a { border-color: #333; }
body.dark-mode .wb-msg-notice, body.dark-mode .wb-course-member { color: #d9efec !important; background: rgba(169,205,200,.15); }
.coupon-code, .wb-msg-body [dir="ltr"] { font-family: "Rubik", Tahoma, Arial, sans-serif; }
.wb-msg-preview { background: #f6ecd9; color: #7a5a1c; border-radius: 10px; padding: 8px 12px; font-size: .9rem; }
.wb-msg-sent-title { font-size: 1.1rem; margin: 22px 0 10px; }
.wb-msg-sent-title small { font-size: .8rem; color: var(--wb-muted); font-family: var(--font-body); }
.wb-course-catchup { margin-top: 12px; padding: 10px 14px; border: 1px dashed var(--wb-accent-d); border-radius: 12px; }
.wb-course-catchup h3 { margin-top: 0 !important; font-size: 1.02rem !important; }
.wb-course-catchup p:last-child { margin-bottom: 0; }
