/*!
 * TeaLamp mobile CSS (tealamp-child) - Round 1: endless-scroll feed, mobile home (chip grid), compact header.
 * EVERY rule that changes rendering lives inside a max-width media query (<=767px phones, <=980px for the tap fix),
 * so desktop (>= 981px) is unaffected. Loaded with media="(max-width: 980px)". Prefix: tlm-.
 * Brand: charcoal #2d2d2d, amber #b36b00 / #e0a040, paper #f7f7f7. Link text uses #9a5b00 (AA on paper; #b36b00 is 3.9:1).
 */

/* ---------- 0. inert defaults (nothing visible unless a phone media query below matches) ---------- */
.tlm-feed, .tlm-chips { display: none; }

/* ---------- 1. tap fix (<=980): the Divi menu search overlay (opacity 0, z-index 999) must not swallow taps ---------- */
@media (max-width: 980px) {
  .et_pb_menu .et_pb_menu__search-container:not(.et_pb_menu__search-container--visible) { pointer-events: none !important; }
}

/* ---------- 2. phones (<=767px) ---------- */
@media (max-width: 767px) {

  /* feedback tab (right edge) is hidden on phones */
  #nedwp-fm-toggle, #nedwp-fm-modal, #nedwp-fm-shadow { display: none !important; }

  /* ===== 2a. mobile home: no About / Latest / category sections; chips + feed replace them ===== */
  body.home .et-l--post .et_pb_section { display: none !important; }

  /* ===== 2b. endless-scroll feed ===== */
  .tlm-orig-hidden { display: none !important; }

  .tlm-feed { display: block; direction: ltr; text-align: left; box-sizing: border-box; width: 100%; max-width: 640px; margin: 0 auto; padding: 20px 14px 36px; background: transparent; font-family: inherit; color: #2d2d2d; }
  .tlm-feed *, .tlm-feed *::before, .tlm-feed *::after { box-sizing: border-box; }
  .tlm-feed.is-active { padding-top: 6px; }
  .tlm-feed--home { padding-top: 12px; }
  .tlm-feed__heading { margin: 8px 0 18px; padding: 0; font-size: 22px; line-height: 1.4; font-weight: 700; color: #2d2d2d; text-align: center; }

  .tlm-card { background: #f7f7f7; border: 1px solid #ececec; border-radius: 14px; box-shadow: 0 2px 14px rgba(45, 45, 45, .09); margin: 0 0 22px; overflow: hidden; }
  .tlm-card__media { display: block; background: #e8e8e8; line-height: 0; }
  .tlm-card__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin: 0; border-radius: 0; }
  .tlm-card__body { padding: 14px 16px 8px; }
  .tlm-card__title { margin: 0 0 6px; padding: 0; font-size: 19px; line-height: 1.35; font-weight: 700; color: #2d2d2d; overflow-wrap: anywhere; }
  .tlm-card__title a { color: inherit; text-decoration: none; }
  .tlm-card__date { display: block; margin: 0 0 8px; font-size: 13px; line-height: 1.6; color: #6b6b6b; }
  .tlm-card__excerpt { margin: 0 0 10px; padding: 0; font-size: 15px; line-height: 1.65; color: #4a4a4a; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; overflow-wrap: anywhere; }
  .tlm-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 16px 14px; }
  .tlm-card__more { display: inline-block; padding: 10px 0; min-height: 40px; font-size: 14px; font-weight: 700; color: #9a5b00; text-decoration: none; }
  .tlm-card__more::after { content: " \2192"; }
  .tlm-card__source { display: flex; align-items: center; flex: 0 1 auto; min-width: 0; line-height: 0; text-decoration: none; }
  .tlm-card__source img { display: block; width: auto; height: auto; max-height: 28px; max-width: 120px; margin: 0; }
  .tlm-card__source-name { font-size: 12px; line-height: 1.6; color: #6b6b6b; }

  .tlm-feed__status { min-height: 28px; padding: 6px 0; text-align: center; font-size: 14px; color: #6b6b6b; }
  .tlm-feed__status:empty { min-height: 0; padding: 0; }
  .tlm-feed__status.is-error { color: #b32d2e; }
  .tlm-feed__btn { display: block; margin: 4px auto 0; padding: 10px 22px; min-height: 44px; font-family: inherit; font-size: 15px; font-weight: 600; color: #fff; background: #2d2d2d; border: 0; border-radius: 24px; cursor: pointer; }
  .tlm-feed__btn:focus-visible, .tlm-chip:focus-visible, .tlm-card a:focus-visible { outline: 2px solid #b36b00; outline-offset: 2px; }
  .tlm-feed__sentinel { height: 1px; }

  /* ===== 2c. category chips (wrapped grid: 2 per row at 320, 3 per row from 360) ===== */
  .tlm-chips { display: block; margin: 0 0 14px; padding: 0; direction: ltr; }
  .tlm-chips__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; width: 100%; padding: 4px 2px 8px; }
  .tlm-chip { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 42px; min-width: 0; padding: 6px 8px; border-radius: 22px; background: #f7f7f7; border: 1px solid #e3e3e3; color: #2d2d2d !important; font-size: 14px; line-height: 1.35; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
  .tlm-chip:active { background: #f3e6cf; border-color: #e0a040; }

  /* ===== 2d. compact header (~63px) =====
     Theme Builder header (home / categories / about ...): one 63px bar = centred logo + the existing Divi menu controls at the left.
     (search icon + hamburger stay in this round; Round 2 replaces them with the drawer) */
  .et-l--header .et_pb_section_0_tb_header { height: 63px !important; min-height: 0 !important; margin: 0 0 0 !important; padding: 0 !important; position: relative !important; background: #fff; border-bottom: 1px solid #ececec; overflow: visible; }
  .et-l--header .et_pb_section_0_tb_header .et_pb_top_inside_divider,
  .et-l--header .et_pb_section_0_tb_header .et_pb_bottom_inside_divider { display: none !important; }
  .et-l--header .et_pb_section .et_pb_row.et_pb_row_0_tb_header { width: 100% !important; max-width: 100% !important; height: 63px !important; margin: 0 !important; padding: 0 !important; }
  .et-l--header .et_pb_row_0_tb_header .et_pb_column { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .et-l--header .et_pb_row_0_tb_header .et_pb_column_0_tb_header { display: none !important; }
  .et-l--header .et_pb_column_1_tb_header, .et-l--header .et_pb_code_1_tb_header, .et-l--header .et_pb_code_1_tb_header .et_pb_code_inner { height: 63px; margin: 0 !important; padding: 0 !important; }
  .et-l--header .tealamp-logo-wrap { display: flex; align-items: center; justify-content: center; height: 63px; margin: 0; padding: 0; }
  .et-l--header .tealamp-logo-wrap a { display: flex; align-items: center; justify-content: center; height: 63px; }
  .et-l--header .tealamp-logo-wrap picture { display: block; height: 47px; }
  .et-l--header .tealamp-logo-wrap img { display: block; height: 47px !important; width: auto !important; max-width: 60vw; margin: 0 auto; }

  /* menu row: sits over the bar, left aligned; the row itself ignores taps so the logo link stays tappable (no sticky on phones) */
  .et-l--header .et_pb_section .et_pb_row.et_pb_row_1_tb_header, .et-l--header .et_pb_section .et_pb_row.et_pb_row_1_tb_header.et_pb_sticky { position: absolute !important; top: 0 !important; left: 0 !important; right: auto !important; bottom: auto !important; width: 100% !important; max-width: 100% !important; height: 63px !important; margin: 0 !important; padding: 0 !important; transform: none !important; z-index: 600 !important; pointer-events: none; background: transparent !important; }
  .et-l--header .et_pb_row_1_tb_header .et_pb_column { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .et-l--header .et_pb_row_1_tb_header .et_pb_divider { display: none !important; }
  .et-l--header .et_pb_menu_0_tb_header { display: block; position: static; width: auto; max-width: none; margin: 0 !important; padding: 0 !important; background: transparent !important; pointer-events: none; }
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu_inner_container { position: static; display: block; padding: 0; }
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__wrap { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; width: auto; height: 63px; padding: 0 0 0 6px; pointer-events: none; }
  .et-l--header .et_pb_menu_0_tb_header .et_mobile_nav_menu { order: 1; float: none; margin: 0; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; pointer-events: auto; }
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__search-button { order: 2; margin: 0 !important; width: 44px; height: 44px; min-width: 44px; justify-content: center; pointer-events: auto; }
  .et-l--header .et_pb_menu_0_tb_header .mobile_menu_bar { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 40px; min-height: 40px; padding: 0; }
  .et-l--header .et_pb_menu_0_tb_header .mobile_menu_bar::before { font-size: 32px; top: 0; }
  .et-l--header .et_pb_menu_0_tb_header .mobile_menu_bar.mobile_menu_bar_toggle::before { font-size: 32px; }
  /* Divi's dropdown hangs under the bar, full width (row is its containing block) */
  .et-l--header .et_pb_menu_0_tb_header .et_mobile_menu { top: 63px; left: 0; right: 0; width: 100%; pointer-events: auto; z-index: 30; box-sizing: border-box; max-height: calc(100vh - 80px); overflow-y: auto; }
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__search-container { pointer-events: none; }
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__search-container--visible { pointer-events: auto; }

  /* Native Divi header (articles, contact ...): .logo_container was display:none / opacity 0 (et_hide_mobile_logo) */
  #main-header { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; height: 63px !important; min-height: 0 !important; background: #fff !important; box-shadow: none !important; border-bottom: 1px solid #ececec; }
  #main-header .container { width: 100% !important; max-width: 100% !important; padding: 0 !important; }
  #main-header .logo_container { display: block !important; position: static !important; float: none !important; width: 100% !important; height: 63px !important; padding: 8px 0 !important; text-align: center; opacity: 1 !important; visibility: visible !important; animation: none !important; }
  #main-header .logo_helper { display: none !important; }
  #main-header #logo { display: inline-block !important; float: none !important; height: 47px !important; max-height: 47px !important; width: auto !important; margin: 0 !important; vertical-align: top; }
  #main-header #et-top-navigation { position: absolute !important; top: 0 !important; left: 6px !important; right: auto !important; float: none !important; width: 44px !important; height: 63px !important; padding: 0 !important; margin: 0 !important; display: flex !important; align-items: center; justify-content: center; z-index: 5; }
  #main-header #et-top-navigation .mobile_menu_bar { display: flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 40px; min-height: 40px; padding: 0; margin: 0; }
}

.tlm-related, .tlm-lottie, .tlm-about { display: none; }
/* ---------- v1.5 (phones <= 767px only): About block + Lottie dividers + Related articles (parity with shomineh.com) ---------- */
@media (max-width: 767px) {
  /* Round 3: About card + full-bleed Lottie dividers (replaces the v1.5 parity rules) */
  /* divider: full-bleed (the feed has 14px side padding), art cropped to its bounding box by JS (viewBox) */
  .tlm-lottie { display: block; position: relative; width: calc(100% + 28px); max-width: none; height: 320px; margin: 6px -14px 28px; padding: 0; overflow: hidden; opacity: 0; transition: opacity .4s ease; contain: layout paint; pointer-events: none; }
  .tlm-lottie.is-ready { opacity: 1; }
  .tlm-lottie svg { display: block !important; margin: 0 auto; width: 100% !important; height: 100% !important; max-width: 100%; }
  /* reduced motion / no IntersectionObserver / load failure: a thin amber hairline instead of an animation */
  .tlm-lottie.is-static { width: 52%; height: 2px; margin: 4px auto 26px; opacity: 1; background: linear-gradient(90deg, transparent, #b36b00, transparent); }

  /* About card (top of the phone home, above the category chips) */
  .tlm-about { display: block; box-sizing: border-box; background: #f7f7f7; border: 1px solid #ececec; border-radius: 14px; box-shadow: 0 2px 14px rgba(45, 45, 45, .09); margin: 0 0 14px; padding: 8px 18px 10px; text-align: center; overflow: hidden; color: #2d2d2d; }
  .tlm-about .tlm-lottie--about { width: 100%; height: 200px; margin: 0 0 4px; }
  .tlm-about .tlm-lottie--about.is-static { width: 52%; height: 2px; margin: 10px auto 14px; }
  .tlm-about__title { margin: 0 0 2px; padding: 0; font-size: 21px; line-height: 1.3; font-weight: 700; color: #2d2d2d; }
  .tlm-about__tagline { margin: 0 0 8px; padding: 0; font-size: 15px; line-height: 1.5; font-weight: 600; color: #9a5b00; }
  .tlm-about__body { margin: 0 0 4px; padding: 0; font-size: 15px; line-height: 1.65; color: #4a4a4a; text-align: left; }
  .tlm-about__more { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; font-size: 15px; font-weight: 700; color: #9a5b00; text-decoration: none; }
  .tlm-about__more::after { content: " \2192"; white-space: pre; }
  .tlm-about__more:focus-visible { outline: 2px solid #b36b00; outline-offset: 2px; }

  /* related articles (article pages): dark full-width band, horizontal scroll-snap row; replaces the newest-10 slider on phones */
  .tlm-related { display: block; direction: ltr; text-align: left; box-sizing: border-box; width: 100%; max-width: 100vw; margin: 28px 0 0; padding: 28px 0 22px; background: #2d2d2d; color: #fff; font-family: inherit; overflow: hidden; }
  body.single .et_pb_section.tlm-slider-sec { display: none !important; }
  body.single .et_pb_section:has(.et_pb_fullwidth_post_slider) { display: none !important; }
  .tlm-related[hidden] { display: none !important; }
  .tlm-related *, .tlm-related *::before, .tlm-related *::after { box-sizing: border-box; }
  .tlm-related__title { margin: 0 0 18px; padding: 0 16px; font-size: 22px; line-height: 1.4; font-weight: 700; color: #fff; text-align: center; }
  .tlm-related__list { display: flex; flex-wrap: nowrap; gap: 12px; direction: ltr; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding: 0 16px; padding: 4px 16px 14px; margin: 0; scrollbar-width: none; touch-action: pan-x pan-y; }
  .tlm-related__list::-webkit-scrollbar { display: none; }
  .tlm-related .tlm-card { flex: 0 0 82%; width: 82%; max-width: 340px; margin: 0; display: flex; flex-direction: column; scroll-snap-align: start; background: #3b3b3b; border-color: #4a4a4a; box-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
  .tlm-related .tlm-card__media { background: #222; }
  .tlm-related .tlm-card__body { flex: 1 1 auto; }
  .tlm-related .tlm-card__title, .tlm-related .tlm-card__title a { color: #fff; font-size: 17px; }
  .tlm-related .tlm-card__date { color: #bdbdbd; }
  .tlm-related .tlm-card__excerpt { color: #dcdcdc; font-size: 14px; -webkit-line-clamp: 3; }
  .tlm-related .tlm-card__more { color: #e0a040; }
  .tlm-related .tlm-card__foot { margin-top: auto; }
  .tlm-related .tlm-card__source { background: #fff; border-radius: 8px; padding: 4px 8px; }
  .tlm-related .tlm-card__source-name { color: #2d2d2d; }
}
@media (max-width: 400px) { .tlm-lottie { height: 280px; } .tlm-about .tlm-lottie--about { height: 200px; } }
@media (max-width: 767px) and (prefers-reduced-motion: reduce) { .tlm-lottie { transition: none; } }

/* ---------- 4. Round 4 (2026-10-04): article pages on phones (captions <= 980px, rest <= 767px) ---------- */
/* Round 4a (<= 980px: phones AND tablets; desktop > 980px keeps the overlay design) */
@media (max-width: 980px) {
  /* Image captions sit BELOW the image, never over it. The child theme's style.css turns .wp-caption-text into an absolutely positioned
     translucent overlay (bottom of the image); on phones the caption becomes a normal block under the picture. */
  .wp-caption, .wp-block-image, figure.wp-caption, .gallery-item { position: relative !important; }
  .wp-caption { width: 100% !important; max-width: 100% !important; height: auto !important; padding: 0 !important; margin: 0 0 22px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; float: none !important; display: block !important; }
  .wp-caption img { display: block !important; width: auto !important; max-width: 100% !important; height: auto !important; margin: 0 auto !important; }
  .wp-caption .wp-caption-text, .wp-caption p.wp-caption-text, .wp-caption-dd, figure figcaption, figure.wp-block-image figcaption,
  .wp-element-caption, .gallery-caption, .wp-block-gallery figcaption, .blocks-gallery-caption {
    position: static !important; inset: auto !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
    transform: none !important; z-index: auto !important; display: block !important; width: auto !important; max-width: 100% !important; height: auto !important; min-height: 0 !important;
    margin: 0 !important; padding: 8px 4px 0 !important; background: none !important; background-image: none !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important;
    color: #595959 !important; font-size: 13.5px !important; line-height: 1.55 !important; font-weight: 400 !important; font-style: normal; text-align: center !important; text-shadow: none !important;
    opacity: 1 !important; overflow: visible !important; clip: auto !important; clip-path: none !important; pointer-events: auto;
  }
  .mistape_caption { position: static !important; transform: none !important; background: none !important; }
  /* a caption/title that Divi lays over an image in a (non-hidden) gallery/image module also goes below it */
  .et_pb_gallery_item .et_pb_gallery_title, .et_pb_gallery_item .et_pb_gallery_caption { position: static !important; transform: none !important; background: none !important; color: #595959 !important; }
}
@media (max-width: 767px) {
  /* teaser text in Divi blog/post lists: 14px */
  .et_pb_posts .post-content, .et_pb_posts .post-content p, .et_pb_blog_grid .post-content, .et_pb_blog_grid .post-content p,
  .et_pb_post .post-content-inner, .et_pb_post .post-content-inner p { font-size: 14px !important; line-height: 1.6 !important; }

  /* Related-articles band (dark charcoal, 4 horizontally scrolling cards): keyboard focus must stay visible on charcoal */
  .tlm-related a:focus-visible, .tlm-related__list:focus-visible { outline: 2px solid #e0a040; outline-offset: 2px; }
  .tlm-related .tlm-card__more { min-height: 40px; }
}

/* ---------- 5. Round 4b (2026-10-04): no justified text in cards on phones (<= 767px only) ---------- */
/* style.css justifies .et_pb_blog_grid .post-content / .et_pb_post .post-content-inner (hyphens:auto) - on a phone that makes huge word gaps.
   Card titles, teasers/excerpts and meta in the feed cards, related-articles cards and Divi post lists are left-aligned. */
@media (max-width: 767px) {
  .tlm-card, .tlm-card *:not(.tlm-card__img):not(img),
  .tlm-related, .tlm-related *:not(img):not(.tlm-related__title),
  .et_pb_blog_grid article, .et_pb_blog_grid article *,
  .et_pb_posts article, .et_pb_posts article *,
  .et_pb_post .post-content, .et_pb_post .post-content *, .et_pb_post .post-content-inner, .et_pb_post .post-content-inner *,
  .et_pb_blog_grid .post-content, .et_pb_blog_grid .post-content * {
    text-align: left !important; text-align-last: auto !important; text-justify: auto !important; word-spacing: normal !important; hyphens: manual !important; -webkit-hyphens: manual !important;
  }
}

/* ===== 6. Round 6 (2026-10-25): phone home top block (Listen strip, Books + Articles swipe rows, separators, feed title) ===== */
@media (max-width: 767px) {
  .tlm-htop-on .tlm-feed--home .tlm-about, .tlm-htop-on .tlm-feed--home .tlm-chips, .tlm-htop-on .tlm-feed--home .tlm-chips-slot { display: none !important; }
  .tlm-htop { display: block; margin: 0 0 4px; }
  .tlm-htop ul { list-style: none; margin: 0; padding: 0; }
  .tlm-htop a { text-decoration: none; }
  .tlm-htop ul::-webkit-scrollbar { display: none; }
  /* Listen strip (Gozideh .gz-lstrip, #1f1b16 -> TeaLamp charcoal) */
  .tlm-lstrip { background: #2d2d2d; border-radius: 14px; height: 220px; padding: 12px 0; box-sizing: border-box; margin: 4px 0 0; overflow: hidden; }
  .tlm-lstrip__head { display: flex; align-items: center; justify-content: space-between; height: 44px; padding: 0 14px; box-sizing: border-box; }
  .tlm-lstrip__title { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; font-size: 18px; line-height: 1.2; font-weight: 700; color: #fff; }
  .tlm-lstrip__title .tlm-play { width: 28px; height: 28px; }
  .tlm-lstrip__all { color: #e0a040 !important; font-size: 14px; font-weight: 600; }
  .tlm-lstrip__row { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 14px; padding: 0 14px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .tlm-lstrip__item { flex: 0 0 78%; max-width: 320px; scroll-snap-align: start; }
  .tlm-lstrip__tile { display: flex; gap: 12px; align-items: center; height: 132px; box-sizing: border-box; padding: 18px 14px 18px 18px; background: #383838; border: 1px solid #474747; border-radius: 12px; color: #fff; }
  .tlm-lstrip__thumb { position: relative; flex: 0 0 96px; height: 96px; border-radius: 10px; overflow: hidden; background: #444; }
  .tlm-lstrip__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .tlm-lstrip__thumb .tlm-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; }
  .tlm-play { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #e0a040; color: #2d2d2d; flex: none; }
  .tlm-play svg { margin-left: 2px; }
  .tlm-lstrip__title .tlm-play svg { width: 14px; height: 14px; }
  .tlm-lstrip__txt { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
  .tlm-lstrip__t { font-size: 14.5px; line-height: 1.35; font-weight: 700; color: #fff; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .tlm-lstrip__m { font-size: 12.5px; color: #cfc8bd; }
  /* separators: subtle amber hairline with a centre dot */
  .tlm-sep { position: relative; border: 0 !important; height: 1px; margin: 22px 18% !important; background: linear-gradient(90deg, rgba(224,160,64,0), rgba(224,160,64,.75), rgba(224,160,64,0)); overflow: visible; }
  .tlm-sep::after { content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; transform: translate(-50%, -50%) rotate(45deg); background: #e0a040; }
  /* swipe rows */
  .tlm-hrow__title { margin: 0 0 10px; padding: 0; font-size: 20px; line-height: 1.25; font-weight: 700; color: #2d2d2d; }
  .tlm-hrow__row { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 4px !important; }
  .tlm-hrow__item { scroll-snap-align: start; min-width: 0; }
  .tlm-hrow__card { display: flex; flex-direction: column; gap: 6px; color: #2d2d2d; height: 100%; }
  .tlm-hrow__img { display: block; overflow: hidden; background: #eee; }
  .tlm-hrow__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .tlm-hrow__t { font-size: 14.5px; line-height: 1.35; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-align: left; }
  .tlm-hrow--books .tlm-hrow__item { flex: 0 0 40%; }
  .tlm-hrow--books .tlm-hrow__img { aspect-ratio: 2 / 3; border-radius: 4px 10px 10px 4px; box-shadow: 0 4px 12px rgba(0,0,0,.18); }
  .tlm-hrow__a { font-size: 12.5px; color: #6b6b6b; }
  .tlm-hrow__chip { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; font-size: 12px; font-weight: 600; color: #8a5a12; background: #fbf1df; border-radius: 999px; padding: 2px 8px; }
  .tlm-hrow--arts .tlm-hrow__item { flex: 0 0 78%; }
  .tlm-hrow--arts .tlm-hrow__card { background: #faf8f4; border: 1px solid #ece6dc; border-radius: 12px; overflow: hidden; gap: 0; }
  .tlm-hrow--arts .tlm-hrow__img { aspect-ratio: 16 / 9; }
  .tlm-hrow--arts .tlm-hrow__t { padding: 10px 12px 12px; }
  .tlm-htop__more { margin-top: 0 !important; }
}
@media (min-width: 600px) and (max-width: 767px) {
  .tlm-lstrip__item { flex-basis: 44%; }
  .tlm-hrow--books .tlm-hrow__item { flex-basis: 22%; }
  .tlm-hrow--arts .tlm-hrow__item { flex-basis: 44%; }
}
@media (max-width: 767px) {
  /* R6: the Round-6 block replaces the earlier phone home sections (split top row, Listen rows, Books rows) so Listen is first */
  html.tlm-htop-on body.home .et-l--post .et_pb_section.tl-split-sec,
  html.tlm-htop-on body.home .et-l--post .et_pb_section.tl-listen-sec,
  html.tlm-htop-on body.home .et-l--post .et_pb_section.tl-books-sec { display: none !important; }
}

/* ===== TEALAMP MOBILE R7 (2026-10-25): tea-leaf separators + Editor's picks row ===== */
@media (max-width: 767px) {
  .tlm-sep { display: block; border: 0 !important; height: 22px !important; margin: 34px 10% !important; padding: 0 !important; overflow: visible;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.5C6.2 17.6 5 11.6 12 2.5c7 9.1 5.8 15.1 0 19z' fill='%23e0a040'/%3E%3Cpath d='M12 21.5V6.5M12 15l-3-2.6M12 11.5l2.8-2.4' fill='none' stroke='%23fff6e3' stroke-width='1.1' stroke-linecap='round' opacity='.85'/%3E%3C/svg%3E") center / 20px 20px no-repeat,
      linear-gradient(90deg, rgba(224,160,64,0), rgba(224,160,64,.7)) left center / calc(50% - 22px) 1px no-repeat,
      linear-gradient(90deg, rgba(224,160,64,.7), rgba(224,160,64,0)) right center / calc(50% - 22px) 1px no-repeat !important; }
  .tlm-sep::after { content: none !important; display: none !important; }
  .tlm-hrow--picks .tlm-hrow__item { flex: 0 0 64%; }
  .tlm-hrow--picks .tlm-hrow__card { background: #fffaf0; border: 1px solid #f0e2c6; border-top: 3px solid #e0a040; border-radius: 12px; overflow: hidden; gap: 0; }
  .tlm-hrow--picks .tlm-hrow__img { aspect-ratio: 4 / 3; }
  .tlm-hrow--picks .tlm-hrow__t { padding: 10px 12px 12px; }
  html[data-theme=dark] .tlm-hrow--picks .tlm-hrow__card { background: #2f2f2f !important; border-color: #444 !important; border-top-color: #e0a040 !important; }
}
@media (min-width: 600px) and (max-width: 767px) { .tlm-hrow--picks .tlm-hrow__item { flex-basis: 36%; } }
/* ===== <<< R7 ===== */

/* ===== TEALAMP MOBILE R9 (2026-10-25): plain separators, feed-card arrow button + whole-card link, iOS header clip fix ===== */
@media (max-width: 767px) {
  .tlm-sep { background: linear-gradient(90deg, rgba(224,160,64,0), rgba(224,160,64,.75) 50%, rgba(224,160,64,0)) center / 100% 1px no-repeat !important; }
  html[data-theme=dark] .tlm-sep { background: linear-gradient(90deg, rgba(224,160,64,0), rgba(224,160,64,.6) 50%, rgba(224,160,64,0)) center / 100% 1px no-repeat !important; }
  .tlm-feed .tlm-card { position: relative; }
  .tlm-feed .tlm-card a { position: relative; z-index: 2; }
  .tlm-feed .tlm-card .tlm-card__title a { position: static; }
  .tlm-feed .tlm-card .tlm-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
  .tlm-feed .tlm-card__more { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-height: 0; padding: 0; border-radius: 50%; background: #e0a040; color: #1d1d1d !important; font-size: 0 !important; line-height: 0; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
  .tlm-feed .tlm-card__more::after { content: "\2192"; font-size: 20px; font-weight: 700; line-height: 1; }
  .tlm-feed .tlm-card__more:focus-visible { outline: 2px solid #b36b00; outline-offset: 2px; }
  html[data-theme=dark] .tlm-feed .tlm-card__more { background: #e0a040 !important; color: #1d1d1d !important; }
}
/* iOS (Safari + Chrome/CriOS): Divi animation JS puts inline overflow-y:hidden on #page-container, making it a clipping
   scroll box that can keep a vertical offset after the toolbar collapses/elastic scroll -> top of header/logo cut. */
@media (max-width: 980px) {
  #page-container { overflow: visible !important; }
  body { overflow-x: hidden; }
  @supports (overflow: clip) { body { overflow-x: clip !important; } }
}
/* ===== <<< R9 ===== */
