/**
 * Tutorial Studio — Public CSS (Clean)
 * Prefix: tt-st-
 */

/* --------------------------------------------------------------------------
   Safety: prevent horizontal overflow on Tutorial Studio views
   -------------------------------------------------------------------------- */
   body:has(.tt-st-subject-view),
   body:has(.tt-st-unit-view),
   body:has(.tt-st-topic-view) {
	 overflow-x: hidden;
   }
   
   /* --------------------------------------------------------------------------
	  Design tokens
	  -------------------------------------------------------------------------- */
   :root {
	 --tt-st-primary: #0073aa;
	 --tt-st-primary-dark: #005a87;
	 --tt-st-text: #333;
	 --tt-st-muted: #666;
	 --tt-st-border: #e0e0e0;
	 --tt-st-border-soft: #f0f0f0;
	 --tt-st-bg: #fff;
   
	 --tt-st-header-bg: #2c3e50;
	 --tt-st-header-border: #34495e;
   
	 --tt-st-radius: 4px;
	 --tt-st-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
   }
   
   /* --------------------------------------------------------------------------
	  Full-width breakout (override theme containers)
	  NOTE: You are intentionally breaking out of theme max-width.
	  -------------------------------------------------------------------------- */
   .tt-st-subject-view,
   .tt-st-unit-view,
   .tt-st-topic-view {
	 position: relative;
	 left: 50%;
	 margin-left: -50vw;
	 width: 100vw;
	 max-width: 100vw;
	 box-sizing: border-box;
   }
   
   /* Reduce theme constraints on common wrappers (keep minimal, not 30 selectors) */
   .site-content:has(.tt-st-subject-view),
   .site-content:has(.tt-st-unit-view),
   .site-content:has(.tt-st-topic-view),
   #content:has(.tt-st-subject-view),
   #content:has(.tt-st-unit-view),
   #content:has(.tt-st-topic-view),
   #page:has(.tt-st-subject-view),
   #page:has(.tt-st-unit-view),
   #page:has(.tt-st-topic-view) {
	 max-width: 100% !important;
	 width: 100% !important;
	 padding-left: 0 !important;
	 padding-right: 0 !important;
   }
   
   /* Breadcrumb (centered) */
   .tt-st-breadcrumb {
	 margin: 10px auto;
	 padding: 0 10px;
	 max-width: 1200px;
	 font-size: 14px;
	 text-align: center;
   }
   .tt-st-breadcrumb a { color: var(--tt-st-primary); text-decoration: none; }
   .tt-st-breadcrumb a:hover { text-decoration: underline; }
   .tt-st-breadcrumb .separator { margin: 0 8px; color: #999; }
   .tt-st-breadcrumb .current { color: var(--tt-st-text); font-weight: 500; }
   
   /* --------------------------------------------------------------------------
	  Layout (Desktop base)
	  -------------------------------------------------------------------------- */
   .tt-st-layout,
   .tt-st-unit-layout {
	 display: flex;
	 width: 100%;
	 max-width: 100%;
	 box-sizing: border-box;
	 margin-bottom: 20px;
   }
   
   /* Sidebar widths: responsive clamp (better than 20% hard split) */
   .tt-st-sidebar-area,
   .tt-st-sidebar-wrapper {
	 flex: 0 0 clamp(260px, 20vw, 340px);
	 width: clamp(260px, 20vw, 340px);
	 padding: 0px 5px 5px 0px;
	 box-sizing: border-box;
   
	 position: sticky;
	 top: 20px;
	 align-self: flex-start;
   
	 max-height: 100vh;
	 display: flex;
	 flex-direction: column;
   }
   
   /* Main content */
   .tt-st-content-area,
   .tt-st-main-content,
   .tt-st-unit-layout .tt-st-main-content {
	 flex: 1 1 auto;
	 min-width: 0;
	 padding: 0px 10px 5px 0px;
	 box-sizing: border-box;
   }
   
   /* Right sidebar wrapper */
   .tt-st-right-sidebar-wrapper {
	 flex: 0 0 clamp(260px, 20vw, 340px);
	 width: clamp(260px, 20vw, 340px);
	 padding: 20px 20px 20px 10px;
	 box-sizing: border-box;
   
	 position: sticky;
	 top: 20px;
	 align-self: flex-start;
   
	 max-height: calc(100vh - 40px);
	 display: flex;
	 flex-direction: column;
   }
   
   /* --------------------------------------------------------------------------
	  Sidebar UI (Left)
	  -------------------------------------------------------------------------- */
   .tt-st-sidebar {
	 background: var(--tt-st-bg);
	 border: 1px solid var(--tt-st-border);
	 border-radius: var(--tt-st-radius);
	 box-shadow: var(--tt-st-shadow);
	 overflow: hidden;
   
	 display: flex;
	 flex-direction: column;
	 height: 100%;
	 min-height: 0;
   }

   /* Header (dark bar) */
   .tt-st-sidebar-header {
	 background: var(--tt-st-header-bg);
	 color: #fff;
	 padding: 12px 16px;
	 font-weight: 600;
	 font-size: 14px;
	 text-transform: uppercase;
	 letter-spacing: 0.5px;
	 border-bottom: 2px solid var(--tt-st-header-border);
   }

  .tt-st-accordion-toggle {
	padding: 8px 16px;
	border-bottom: 2px solid var(--tt-st-border);
	background: var(--tt-st-bg);
	font-size: 13px;
	color: var(--tt-st-text);
	text-align: center;
  }
  .tt-st-accordion-toggle label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
	width: 100%;
  }
   
   /* Search */
   .tt-st-sidebar-search {
	 padding: 5px 5px 5px 10px;
	 border-bottom: 1px solid var(--tt-st-border);
	 background: var(--tt-st-bg);
   }
   .tt-st-search-input {
	 width: 100%;
	 padding: 8px 12px;
	 border: 1px solid #ddd;
	 border-radius: var(--tt-st-radius);
	 font-size: 14px;
	 line-height: 1.5;
	 color: var(--tt-st-text);
	 background: var(--tt-st-bg);
	 box-sizing: border-box;
	 transition: border-color 0.2s ease, box-shadow 0.2s ease;
   }
   .tt-st-search-input:focus {
	 outline: none;
	 border-color: var(--tt-st-primary);
	 box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);
   }
   .tt-st-search-input::placeholder { color: #999; }
   
   /* Subject label (shows which subject the units belong to) */
   .tt-st-subject-label {
	 padding: 10px 16px;
	 border-bottom: 1px solid var(--tt-st-border);
	 background: linear-gradient(135deg, #e8f4f8 0%, #d1e7f0 100%);
	 border-left: 3px solid var(--tt-st-primary);
	 text-align: center;
   }
   
   /* Lists */
   .tt-st-units-list,
   .tt-st-topics-list,
   .tt-st-subtopics-list {
	 list-style: none;
	 margin: 0;
	 padding: 0;
   }
  
  .tt-st-sidebar-links {
	 padding-bottom: 12px;
  }
   
   /* Items */
   .tt-st-unit-item,
   .tt-st-topic-item {
	 margin: 0;
	 padding: 0;
	 border-bottom: 1px solid var(--tt-st-border-soft);
	 display: flex;
	 align-items: center;
	 position: relative;
   }
   .tt-st-unit-item:last-child,
   .tt-st-topic-item:last-child { border-bottom: none; }
   
   /* Links */
   .tt-st-unit-link,
   .tt-st-topic-link {
	 display: flex;
	 align-items: center;
	 padding: 12px 16px;
	 color: var(--tt-st-text);
	 text-decoration: none;
	 transition: all 0.2s ease;
	 font-size: 14px;
	 line-height: 1.5;
	 flex: 1;
	 min-width: 0;
   }
   .tt-st-topic-item.tt-st-has-subtopics .tt-st-topic-link { font-weight: 600; }
   
   .tt-st-topic-number {
	 font-weight: 600;
	 margin-right: 6px;
	 color: inherit;
   }
   
   .tt-st-unit-link:hover,
   .tt-st-topic-link:hover {
	 background: #f8f9fa;
	 color: var(--tt-st-primary);
	 padding-left: 20px;
   }
   
   /* Subject link (shows which subject each unit belongs to) */
   .tt-st-subject-link {
	 font-style: italic;
	 font-size: 15px;
	 color: var(--tt-st-primary-dark);
	 text-decoration: none;
	 transition: color 0.2s ease;
	 font-weight: 500;
   }
   .tt-st-subject-link:hover {
	 color: var(--tt-st-primary);
	 text-decoration: underline;
   }
   
   /* Active */
   .tt-st-topic-item.tt-st-topic-active .tt-st-topic-link,
   .tt-st-topic-link.tt-st-topic-link-active {
	 background: var(--tt-st-primary);
	 color: #fff;
	 font-weight: 500;
	 border-left: 3px solid var(--tt-st-primary-dark);
   }
   .tt-st-topic-item.tt-st-topic-active .tt-st-topic-link:hover,
   .tt-st-topic-link.tt-st-topic-link-active:hover {
	 background: var(--tt-st-primary-dark);
	 padding-left: 16px;
   }
   
   /* Subtopics */
   .tt-st-topic-item.tt-st-subtopic { background: #f9f9f9; }
   .tt-st-topic-item.tt-st-subtopic .tt-st-topic-link { font-size: 13px; color: var(--tt-st-muted); }
   .tt-st-topic-item.tt-st-subtopic .tt-st-topic-link:hover { background: var(--tt-st-primary); color: #fff; }
   .tt-st-topic-item.tt-st-subtopic.tt-st-topic-active .tt-st-topic-link,
   .tt-st-topic-item.tt-st-subtopic .tt-st-topic-link.tt-st-topic-link-active { color: #fff !important; }

  /* Header items */
  .tt-st-topic-item.tt-st-topic-header {
	background: #f4f6f8;
	border-left: 3px solid var(--tt-st-primary);
  }
  .tt-st-header-link {
	font-weight: 600;
  }
  .tt-st-topic-item.tt-st-topic-header .tt-st-topic-link:hover {
	background: #eef2f5;
	color: var(--tt-st-primary);
	padding-left: 16px;
  }
  .tt-st-header-topics .tt-st-topic-link {
	padding-left: 24px;
  }
   
   .tt-st-subtopic-indicator {
	 color: var(--tt-st-primary);
	 margin-right: 5px;
	 font-size: 12px;
	 opacity: 0.7;
   }
   
   /* Parent indicator (accordion arrow button) */
   .tt-st-parent-indicator {
	 background: #fff;
	 border: 1px solid #ddd;
	 border-radius: 3px;
	 color: var(--tt-st-text);
	 cursor: pointer;
	 font-size: 12px;
	 line-height: 1;
	 margin: 0 4px;
	 padding: 0;
	 min-width: 28px;
	 min-height: 28px;
	 opacity: 0.85;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 flex-shrink: 0;
	 transition: all 0.2s ease;
   }
   .tt-st-parent-indicator:hover {
	 background: #f5f5f5;
	 border-color: var(--tt-st-primary);
	 color: var(--tt-st-primary);
	 opacity: 1;
   }
   .tt-st-parent-indicator.expanded { transform: rotate(180deg); }
   
   /* Accordion container */
   .tt-st-sidebar-accordion {
	 display: flex;
	 flex-direction: column;
	 height: 100%;
	 min-height: 0;
   }
  .tt-st-sidebar-menu {
	 flex: 1;
	 min-height: 0;
  }
   .tt-st-sidebar-accordion .tt-st-units-list,
   .tt-st-sidebar-accordion .tt-st-topics-list {
	 flex: 1;
	 overflow-y: auto;
	 min-height: 0;
   }
   
   /* Scrollbar styling (optional but kept) */
   .tt-st-sidebar-accordion .tt-st-units-list::-webkit-scrollbar,
   .tt-st-sidebar-accordion .tt-st-topics-list::-webkit-scrollbar { width: 12px; }
   .tt-st-sidebar-accordion .tt-st-units-list::-webkit-scrollbar-track,
   .tt-st-sidebar-accordion .tt-st-topics-list::-webkit-scrollbar-track {
	 background: #e5e5e5;
	 border-left: 1px solid #d0d0d0;
   }
   .tt-st-sidebar-accordion .tt-st-units-list::-webkit-scrollbar-thumb,
   .tt-st-sidebar-accordion .tt-st-topics-list::-webkit-scrollbar-thumb {
	 background: #666;
	 border-radius: 6px;
	 border: 1px solid #555;
	 min-height: 40px;
   }
   .tt-st-sidebar-accordion .tt-st-units-list::-webkit-scrollbar-thumb:hover,
   .tt-st-sidebar-accordion .tt-st-topics-list::-webkit-scrollbar-thumb:hover {
	 background: #555;
	 border-color: #444;
   }
   .tt-st-sidebar-accordion .tt-st-units-list,
   .tt-st-sidebar-accordion .tt-st-topics-list {
	 scrollbar-width: auto;
	 scrollbar-color: #666 #e5e5e5;
   }

  /* Desktop: single scrollbar for menu (topics + links) */
  @media (min-width: 950px) {
	.tt-st-sidebar-accordion .tt-st-sidebar-menu {
	  overflow-y: auto;
	}
	.tt-st-sidebar-accordion .tt-st-units-list,
	.tt-st-sidebar-accordion .tt-st-topics-list {
	  overflow: visible;
	}
  }
   
   /* --------------------------------------------------------------------------
	  Right Sidebar UI
	  -------------------------------------------------------------------------- */
   .tt-st-right-sidebar {
	 background: var(--tt-st-bg);
	 border: 1px solid var(--tt-st-border);
	 border-radius: var(--tt-st-radius);
	 box-shadow: var(--tt-st-shadow);
	 overflow: hidden;
   
	 display: flex;
	 flex-direction: column;
	 height: 100%;
	 min-height: 0;
   }
   .tt-st-right-sidebar .tt-st-sidebar-content {
	 padding: 16px;
	 flex: 1;
	 overflow-y: auto;
	 min-height: 0;
   }
   
   /* Right sidebar mobile container (below content) */
   .tt-st-right-sidebar-mobile { display: none; }
   
   /* --------------------------------------------------------------------------
	  Topic Navigation
	  -------------------------------------------------------------------------- */
   .tt-st-topic-navigation {
	 display: flex;
	 justify-content: space-between;
	 gap: 20px;
	 margin-top: 40px;
	 padding-top: 30px;
	 border-top: 1px solid var(--tt-st-border);
   }
   .tt-st-nav-button {
	 display: flex;
	 align-items: center;
	 gap: 12px;
	 padding: 16px 20px;
	 background: #fff;
	 border: 1px solid var(--tt-st-border);
	 border-radius: var(--tt-st-radius);
	 text-decoration: none;
	 color: var(--tt-st-text);
	 transition: all 0.2s ease;
	 flex: 1;
	 max-width: 48%;
   }
   .tt-st-nav-button:hover {
	 background: #f8f9fa;
	 border-color: var(--tt-st-primary);
	 color: var(--tt-st-primary);
	 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	 text-decoration: none;
   }
   .tt-st-nav-button.tt-st-nav-disabled {
	 opacity: 0.5;
	 cursor: not-allowed;
	 pointer-events: none;
   }
   .tt-st-nav-next { text-align: right; flex-direction: row-reverse; }
   .tt-st-nav-arrow {
	 font-size: 20px;
	 font-weight: bold;
	 color: var(--tt-st-primary);
	 flex-shrink: 0;
	 transition: transform 0.2s ease;
   }
   .tt-st-nav-prev:hover .tt-st-nav-arrow { transform: translateX(-3px); }
   .tt-st-nav-next:hover .tt-st-nav-arrow { transform: translateX(3px); }
   .tt-st-nav-label { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
   .tt-st-nav-label-text {
	 font-size: 12px;
	 text-transform: uppercase;
	 letter-spacing: 0.5px;
	 color: var(--tt-st-muted);
	 font-weight: 600;
   }
   .tt-st-nav-title {
	 font-size: 16px;
	 font-weight: 500;
	 color: var(--tt-st-text);
	 line-height: 1.4;
	 overflow: hidden;
	 text-overflow: ellipsis;
	 display: -webkit-box;
	 -webkit-line-clamp: 2;
	 -webkit-box-orient: vertical;
   }
   .tt-st-nav-button:hover .tt-st-nav-title { color: var(--tt-st-primary); }
   
   /* --------------------------------------------------------------------------
	  Responsive: Right sidebar moves below content under 1150px (non-hamburger range)
	  -------------------------------------------------------------------------- */
   @media (max-width: 1149px) and (min-width: 950px) {
	 /* Enable wrapping so right sidebar can drop below */
	 /* BUT keep left sidebar and main content in one row */
	 .tt-st-layout,
	 .tt-st-unit-layout {
	   flex-direction: row !important;
	   flex-wrap: wrap !important;
	   align-items: flex-start !important;
	   width: 100% !important;
	   max-width: 100% !important;
	   box-sizing: border-box !important;
	 }
	 
	 /* Ensure left sidebar and main content stay in row */
	 /* Prevent them from wrapping by ensuring they fit together */
	 .tt-st-sidebar-area,
	 .tt-st-sidebar-wrapper {
	   order: 1 !important;
	   flex: 0 0 320px !important;
	   width: 320px !important;
	   max-width: 320px !important;
	   min-width: 320px !important;
	   flex-shrink: 0 !important;
	   flex-grow: 0 !important;
	   box-sizing: border-box !important;
	 }
	 
	 .tt-st-content-area,
	 .tt-st-main-content,
	 .tt-st-unit-layout .tt-st-main-content {
	   order: 2 !important;
	   flex: 1 1 calc(100% - 320px) !important; /* Explicit calculation: total width minus sidebar */
	   min-width: 0 !important;
	   width: auto !important;
	   max-width: none !important;
	   flex-shrink: 1 !important;
	   flex-grow: 0 !important; /* Don't grow beyond calculated width */
	   box-sizing: border-box !important;
	 }
	 
	 /* Hide desktop right sidebar column */
	 .tt-st-right-sidebar-desktop { 
	   display: none !important; 
	 }
	 
	 /* Right sidebar wrapper: take full width and wrap to next line */
	 .tt-st-right-sidebar-wrapper {
	   flex: 0 0 100% !important;
	   width: 100% !important;
	   max-width: 100% !important;
	   order: 3 !important; /* After main content */
	   position: relative !important;
	   top: auto !important;
	   padding: 0 15px 15px 15px !important;
	   margin-top: 20px !important;
	 }
	 
	 /* Show below-content right sidebar */
	 .tt-st-right-sidebar-mobile {
	   display: block !important;
	   width: 100%;
	   max-width: 100%;
	   padding: 0 15px;
	   box-sizing: border-box;
	 }
   }
   
   /* --------------------------------------------------------------------------
	  Responsive: Hamburger mode from 949px and below
	  -------------------------------------------------------------------------- */
   @media (max-width: 949px) {
   
	 /* Disable 100vw breakout on small screens (prevents weird gaps) */
	 .tt-st-subject-view,
	 .tt-st-unit-view,
	 .tt-st-topic-view {
	   left: 0;
	   margin-left: 0;
	   width: 100%;
	   max-width: 100%;
	 }
   
	 .tt-st-layout,
	 .tt-st-unit-layout {
	   flex-direction: column;
	 }
   
	 /* Mobile header bar (search + hamburger) */
	 .tt-st-mobile-header {
	   display: flex !important;
	   align-items: center;
	   gap: 10px;
	   padding: 5px;
	   background: #fff;
	   margin: 0;
	   width: 100%;
	   box-sizing: border-box;
	 }
	 .tt-st-mobile-search { flex: 1; }
	 .tt-st-sidebar-toggle {
	   width: 44px;
	   height: 44px;
	   padding: 0;
	   background: var(--tt-st-primary);
	   border: none;
	   border-radius: var(--tt-st-radius);
	   cursor: pointer;
	   display: inline-flex;
	   align-items: center;
	   justify-content: center;
	   transition: background-color 0.2s ease;
	 }
	 .tt-st-sidebar-toggle:hover { background: var(--tt-st-primary-dark); }
	 .tt-st-hamburger-icon { font-size: 24px; line-height: 1; color: #fff; }
   
	 /* Hide sidebar-search inside panel on mobile (header has search) */
	 .tt-st-sidebar-search { display: none; }
   
	 /* Sidebar wrappers become normal (no sticky) */
	 .tt-st-sidebar-area,
	 .tt-st-sidebar-wrapper,
	 .tt-st-right-sidebar-wrapper {
	   position: relative;
	   top: auto;
	   align-self: stretch;
	   width: 100%;
	   flex: 0 0 auto;
	   padding: 0 15px 15px;
	   max-height: none;
	   box-sizing: border-box;
	 }
   
	 /* Collapsible behavior (JS toggles .tt-st-sidebar-collapsed) */
	 .tt-st-sidebar-area .tt-st-sidebar,
	 .tt-st-sidebar-wrapper .tt-st-sidebar {
	   display: none;
	 }
	 .tt-st-sidebar-area:not(.tt-st-sidebar-collapsed) .tt-st-sidebar,
	 .tt-st-sidebar-wrapper:not(.tt-st-sidebar-collapsed) .tt-st-sidebar {
	  display: flex;
	  flex-direction: column;
	  max-height: 60vh;
	  overflow-y: auto;
	  overflow-x: hidden;
	 }
   
	 /* When open, limit height + allow list scrolling */
	 .tt-st-sidebar-area:not(.tt-st-sidebar-collapsed),
	 .tt-st-sidebar-wrapper:not(.tt-st-sidebar-collapsed) {
	   max-height: 60vh;
	   overflow: hidden;
	 }
	 .tt-st-sidebar-area:not(.tt-st-sidebar-collapsed) .tt-st-units-list,
	 .tt-st-sidebar-area:not(.tt-st-sidebar-collapsed) .tt-st-topics-list,
	 .tt-st-sidebar-wrapper:not(.tt-st-sidebar-collapsed) .tt-st-units-list,
	 .tt-st-sidebar-wrapper:not(.tt-st-sidebar-collapsed) .tt-st-topics-list {
	  flex: 0 0 auto;
	  min-height: auto;
	  max-height: none;
	  overflow: visible;
	 }

	.tt-st-sidebar-area:not(.tt-st-sidebar-collapsed) .tt-st-sidebar-accordion .tt-st-units-list,
	.tt-st-sidebar-area:not(.tt-st-sidebar-collapsed) .tt-st-sidebar-accordion .tt-st-topics-list,
	.tt-st-sidebar-wrapper:not(.tt-st-sidebar-collapsed) .tt-st-sidebar-accordion .tt-st-units-list,
	.tt-st-sidebar-wrapper:not(.tt-st-sidebar-collapsed) .tt-st-sidebar-accordion .tt-st-topics-list {
	  overflow: visible;
	}
   
	 /* Main content full width */
	 .tt-st-content-area,
	 .tt-st-main-content,
	 .tt-st-unit-layout .tt-st-main-content {
	   width: 100%;
	   max-width: 100%;
	   padding: 0px 0px 5px 0px;
	   box-sizing: border-box;
	 }
   }
   
   /* Desktop-only: hide mobile header/toggle */
   @media (min-width: 950px) {
	 .tt-st-mobile-header,
	 .tt-st-sidebar-toggle {
	   display: none !important;
	 }
	 .tt-st-sidebar-search { display: block; }
   }
   
   /* Topic nav responsive */
   @media (max-width: 949px) {
	 .tt-st-topic-navigation {
	   flex-direction: column;
	   gap: 10px;
	   margin-top: 30px;
	   padding-top: 20px;
	 }
	 .tt-st-nav-button {
	   max-width: 100%;
	   padding: 12px 14px;
	   gap: 10px;
	 }
	 .tt-st-nav-arrow { font-size: 16px; }
	 .tt-st-nav-label-text { font-size: 10px; letter-spacing: 0.3px; }
	 .tt-st-nav-title { font-size: 14px; -webkit-line-clamp: 1; }
   }
   @media (max-width: 480px) {
	 .tt-st-nav-button { padding: 10px 12px; gap: 8px; }
	 .tt-st-nav-arrow { font-size: 14px; }
	 .tt-st-nav-label-text { font-size: 9px; }
	 .tt-st-nav-title { font-size: 13px; }
   }

   /* Contact Us Message */
   .tt-st-contact-message {
	 margin-top: 30px;
	 padding: 15px 20px;
	 background-color: #f5f5f5;
	 border-radius: 4px;
	 text-align: center;
   }
   .tt-st-contact-message p {
	 margin: 0;
	 color: #333;
	 font-size: 14px;
	 line-height: 1.6;
   }
   .tt-st-contact-message a {
	 color: #0073aa;
	 text-decoration: underline;
   }
   .tt-st-contact-message a:hover {
	 color: #005177;
   }

  /* Related tags (Topic page) */
  .tt-st-related-tags {
	margin-top: 20px;
  }
   
   /* --------------------------------------------------------------------------
	  Share Buttons
	  -------------------------------------------------------------------------- */
   .tt-st-share-buttons {
	 display: flex;
	 flex-wrap: wrap;
	 gap: 10px;
	 margin-top: 15px;
	 padding-top: 15px;
	 border-top: 1px solid var(--tt-st-border-soft);
	 justify-content: center;
   }
   
   .tt-st-share-btn {
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 40px;
	 height: 40px;
	 padding: 0;
	 background: #fff;
	 border: 1px solid var(--tt-st-border);
	 border-radius: 50%;
	 color: var(--tt-st-text);
	 text-decoration: none;
	 cursor: pointer;
	 transition: all 0.2s ease;
	 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
   }
   
   .tt-st-share-btn:hover,
   .tt-st-share-btn:focus {
	 text-decoration: none;
	 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	 transform: translateY(-1px);
   }
   
   .tt-st-share-btn i.bi {
	 font-size: 18px;
	 line-height: 1;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
   }
   
   .tt-st-share-label {
	 display: none;
   }
   
   /* Specific button colors */
   .tt-st-share-whatsapp {
	 border-color: #25d366;
	 color: #25d366;
   }
   .tt-st-share-whatsapp:hover {
	 background: #25d366;
	 color: #fff;
	 border-color: #25d366;
   }
   
   .tt-st-share-facebook {
	 border-color: #1877f2;
	 color: #1877f2;
   }
   .tt-st-share-facebook:hover {
	 background: #1877f2;
	 color: #fff;
	 border-color: #1877f2;
   }
   
   .tt-st-share-telegram {
	 border-color: #0088cc;
	 color: #0088cc;
   }
   .tt-st-share-telegram:hover {
	 background: #0088cc;
	 color: #fff;
	 border-color: #0088cc;
   }
   
   .tt-st-share-reddit {
	 border-color: #ff4500;
	 color: #ff4500;
   }
   .tt-st-share-reddit:hover {
	 background: #ff4500;
	 color: #fff;
	 border-color: #ff4500;
   }
   
   .tt-st-share-twitter {
	 border-color: #000;
	 color: #000;
   }
   .tt-st-share-twitter:hover {
	 background: #000;
	 color: #fff;
	 border-color: #000;
   }
   
   .tt-st-share-copy {
	 border-color: var(--tt-st-muted);
	 color: var(--tt-st-muted);
   }
   .tt-st-share-copy:hover {
	 background: var(--tt-st-muted);
	 color: #fff;
	 border-color: var(--tt-st-muted);
   }
   .tt-st-share-copy.copied {
	 background: #28a745;
	 color: #fff;
	 border-color: #28a745;
   }
   
   /* Responsive share buttons */
   @media (max-width: 600px) {
	 .tt-st-share-buttons {
	   gap: 8px;
	 }
	 .tt-st-share-btn {
	   width: 36px;
	   height: 36px;
	 }
	 .tt-st-share-btn i.bi {
	   font-size: 16px;
	 }
   }
   
   .tt-st-contact-message a:hover {
	color: #005177;
  }
  
  /* --------------------------------------------------------------------------
	 Tutorial Topic Content - Override theme article padding
	 -------------------------------------------------------------------------- */
  .tt-st-topic-view article.tt-st-topic,
  .tt-st-unit-view article.tt-st-topic,
  .tt-st-main-content article.tt-st-topic {
	padding: 0 !important;
	margin: 0 !important;
  }

  .tt-st-topic-view article.tt-st-topic,
  .tt-st-unit-view article.tt-st-topic,
  .tt-st-main-content article.tt-st-topic {
	padding: 15px 0 !important;
	margin: 0 !important;
  }

  .tt-st-contact-message a:hover {
	color: #005177;
  }
  
  /* --------------------------------------------------------------------------
	 Tutorial Topic Content - Override theme article padding
	 Must be very specific to override theme defaults
	 -------------------------------------------------------------------------- */
  .tt-st-topic-view article.tt-st-topic,
  .tt-st-unit-view article.tt-st-topic,
  .tt-st-main-content article.tt-st-topic,
  .tt-st-content-area article.tt-st-topic,
  article.tt-st-topic,
  article.tt-st-topic.hentry,
  article.tt-st-topic.type-tutorial,
  article.tt-st-topic.post,
  article[id^="post-"].tt-st-topic {
	padding: 10px !important;	
  }

  .ast-container, .ast-container-fluid{
	padding-left:0px !important;
	padding-right:0px !important;
  }