/* V46 · Readable table of contents, compact top spacing, one floating WhatsApp */

/* The original theme adds 80px margin above #page_content on top of the fixed
   header reservation. Reclaim that empty band, without changing the nav. */
body:is(.single-post,.archive,.category,.search) #page_content {
  margin-block-start:10px!important;
}
body.single-post #page_content {
  padding-block-start:5px!important;
}
body.single-post #page_content > .tyz-v45-article-ribbon {
  margin-block-end:clamp(10px,1.15vw,15px)!important;
}
/* Suppress only the duplicate JoinChat component, not the corporate WhatsApp
   or any contact/WhatsApp links inside the article or footer. */
body .joinchat,
body .joinchat__button {
  display:none!important;
}

/* Elementor per-article CSS defines --box-background-color:#DFE4F0 and
   --toc-body-max-height:176px; both cause unreadable, cramped contents.
   Apply the shared reading palette to every Elementor TOC instance. */
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents {
  --box-background-color:#102d43!important;
  --header-background-color:#193a50!important;
  --header-color:#f7d8a1!important;
  --item-text-color:#edf4fa!important;
  --item-text-hover-color:#ffe4b5!important;
  --item-text-active-color:#ffe1a6!important;
  --marker-color:#f0ca83!important;
  --separator-color:rgba(236,194,121,.24)!important;
  --toc-body-max-height:min(460px,65vh)!important;
  --box-padding:clamp(14px,1.7vw,21px)!important;
  width:100%!important;
  max-width:100%!important;
  margin:clamp(21px,2.5vw,32px) auto!important;
  padding:0!important;
  border:1px solid rgba(235,192,117,.37)!important;
  border-radius:15px!important;
  background:#102d43!important;
  box-shadow:0 10px 26px rgba(3,13,28,.16)!important;
  color:#edf4fa!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents > .elementor-widget-container {
  display:block;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#102d43!important;
  color:#edf4fa!important;
  box-sizing:border-box!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__header {
  display:flex;
  align-items:center;
  min-height:48px!important;
  padding:12px clamp(15px,2vw,22px)!important;
  border:0!important;
  border-block-end:1px solid rgba(235,192,117,.28)!important;
  background:#193a50!important;
  color:#f7d8a1!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__header-title {
  color:#f9dca6!important;
  font:800 clamp(17px,1.45vw,20px)/1.65 Almarai,system-ui,sans-serif!important;
  letter-spacing:0!important;
  margin:0!important;
  text-align:start!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__toggle-button {
  color:#f9dca6!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__body {
  max-height:min(460px,65vh)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain;
  scrollbar-width:thin;
  scrollbar-color:#b88f55 #102d43;
  padding:clamp(14px,1.7vw,21px)!important;
  background:#102d43!important;
  color:#edf4fa!important;
  border:0!important;
  box-sizing:border-box!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__body::-webkit-scrollbar { width:7px; }
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__body::-webkit-scrollbar-thumb {
  background:#b88f55!important;
  border-radius:8px!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents :is(.elementor-toc__list-wrapper,.elementor-toc__list-item,.elementor-toc__list-item-text-wrapper) {
  max-width:100%!important;
  background:transparent!important;
  color:#edf4fa!important;
  box-sizing:border-box!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-wrapper {
  padding-block:0!important;
  padding-inline-start:clamp(7px,1vw,15px)!important;
  padding-inline-end:0!important;
  margin:0!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item {
  margin:0!important;
  padding:0!important;
  border-block-end:1px solid rgba(230,193,127,.095)!important;
  font:600 clamp(15px,1.12vw,17px)/2 Almarai,system-ui,sans-serif!important;
  overflow-wrap:break-word;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item a,
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item-text {
  display:inline-block;
  width:auto;
  max-width:100%;
  padding:7px 0!important;
  margin:0!important;
  color:#edf4fa!important;
  background:transparent!important;
  font:650 clamp(15px,1.12vw,17px)/1.95 Almarai,system-ui,sans-serif!important;
  text-decoration:none!important;
  text-align:start!important;
  overflow-wrap:break-word!important;
  transition:color .18s ease!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item :is(span,strong,em){
  color:inherit!important;
  font-size:inherit!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item-text-wrapper::before,
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item-text-wrapper > i,
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item::marker {
  color:#edc889!important;
  font-weight:800!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item a:is(:hover,:focus-visible,.elementor-item-active),
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item-text:is(:hover,.elementor-item-active) {
  color:#ffdf9f!important;
}
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents a:focus-visible,
body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__toggle-button:focus-visible {
  outline:2px solid #f2d294!important;
  outline-offset:3px!important;
}
@media(max-width:930px){
  body:is(.single-post,.archive,.category,.search) #page_content {
    margin-block-start:8px!important;
  }
}
@media(max-width:650px){
  body.single-post #page_content {padding-block-start:4px!important;}
  body.single-post #page_content > .tyz-v45-article-ribbon {margin-block-end:9px!important;}
  body.single-post #page_content .content.single_con .elementor-widget-table-of-contents {
    margin:17px auto!important;
    border-radius:12px!important;
  }
  body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__header {
    min-height:43px!important;
    padding:10px 13px!important;
  }
  body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__header-title {
    font-size:17px!important;
  }
  body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__body {
    max-height:min(380px,53vh)!important;
    padding:12px!important;
  }
  body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item a,
  body.single-post #page_content .content.single_con .elementor-widget-table-of-contents .elementor-toc__list-item-text {
    font-size:15.5px!important;
    line-height:1.85!important;
    padding:7px 0!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.single-post #page_content .content.single_con .elementor-widget-table-of-contents a {
    transition:none!important;
  }
}
