/* =========================================================================
   Safety Training Direct — course (topic) page styles
   -------------------------------------------------------------------------
   One stylesheet for every course page. Loaded only on course pages by
   std_enqueue_course_page_styles() in functions.php, and kept out of
   WP Rocket's combined CSS so edits show immediately.

   To restyle everything at once, change the design tokens below.

   Sections
     1. Design tokens
     2. Course content: description, preview card, learning outcomes,
        course outline button, "how it works" card
     3. Preview video popup
     4. Sidebar panel and header
     5. Sidebar delivery methods: featured card, rows, dropdowns, prices,
        buttons, links
     6. Sidebar tooltips
     7. Custom quote card
     8. Responsive
   ========================================================================= */


/* 1. Design tokens ------------------------------------------------------- */
body.single-topic {
  --std-primary: var(--global-palette1);
  --std-primary-hover: #0077b3;
  --std-primary-tint: #e8f4fb;
  --std-primary-tint-soft: #f4f9fd;
  --std-primary-tint-line: #d3e6f3;
  --std-primary-ring: rgba(0, 136, 204, .15);

  --std-heading: var(--global-palette3);
  --std-text: var(--global-palette4);
  --std-muted: var(--global-palette5);

  --std-surface: #fff;
  --std-surface-alt: #fafbfc;
  --std-border: #e3e7ec;
  --std-border-soft: #edf0f3;
  --std-border-input: #d5dbe1;
  --std-border-input-hover: #a9b4bf;

  --std-radius-lg: 12px;
  --std-radius-md: 10px;
  --std-radius-sm: 8px;

  --std-shadow-card: 0 1px 3px rgba(16, 24, 40, .04);
  --std-shadow-pop: 0 16px 40px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .05);

  --std-font-heading: Poppins, sans-serif;
  --std-font-body: 'Open Sans', sans-serif;

  --std-sidebar-thumb: 112px;
  --std-sidebar-thumb-h: 105px;

  /* Icons (SVG data URIs) */
  --std-icon-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E");
  --std-icon-play-badge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='30' fill='%23ffffff' fill-opacity='.95'/%3E%3Cpath d='M26 20v24l19-12z' fill='%230088cc'/%3E%3C/svg%3E");
  --std-icon-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m0 0l-4.5-4.5M12 15l4.5-4.5M5 19h14'/%3E%3C/svg%3E");
  --std-icon-route: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230088cc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='2.5'/%3E%3Ccircle cx='18' cy='18' r='2.5'/%3E%3Cpath d='M8.5 6H15a3 3 0 010 6H9a3 3 0 000 6h6.5'/%3E%3C/svg%3E");
  --std-icon-check-badge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%230088cc'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --std-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --std-icon-reset: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/svg%3E");
  --std-icon-headset: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230088cc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0116 0v2'/%3E%3Crect x='3' y='13' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='13' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19 19c0 1.7-1.8 2.5-4 2.5h-2'/%3E%3C/svg%3E");
}


/* 2. Course content ------------------------------------------------------ */

/* Description */
body.single-topic .entry-content > .wp-block-kadence-rowlayout:first-child p:not([class]) {
  color: var(--std-text);
  font-size: 16px;
  line-height: 1.75;
}

/* Preview card.
   The preview box is the Kadence column whose row holds the preview modals.
   functions.php (std-preview-card script) adds .std-preview-card and the
   clickable thumbnail; --std-preview-thumb is the course's Vimeo thumbnail. */
body.single-topic .entry-content .wp-block-kadence-column:has(> .kt-inside-inner-col > .kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-modal) > .kt-inside-inner-col {
  margin-top: 8px;
  padding: 20px !important;
  background: var(--std-surface) !important;
  border: 1px solid var(--std-border);
  border-radius: var(--std-radius-lg) !important;
  box-shadow: var(--std-shadow-card);
}
body.single-topic .entry-content .std-preview-card {
  display: grid !important;
  grid-template-columns: 236px minmax(0, 1fr);
  grid-template-areas: "thumb head" "thumb btns";
  grid-template-rows: auto auto;
  column-gap: 24px;
  align-content: center;
}
body.single-topic .entry-content .std-preview-card > .wp-block-kadence-column {
  grid-area: head;
  align-self: end;
}
body.single-topic .entry-content .std-preview-card > .kb-row-layout-wrap {
  grid-area: btns;
  align-self: start;
}
body.single-topic .entry-content .std-preview-card__thumb {
  grid-area: thumb;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  overflow: hidden;
  background: var(--std-icon-play-badge) center / 52px no-repeat, var(--std-preview-thumb, linear-gradient(135deg, #e8f4fb, #cfe6f5)) center / cover no-repeat;
  border: 0;
  border-radius: var(--std-radius-sm);
  box-shadow: inset 0 0 0 1px rgba(16, 24, 40, .08);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
body.single-topic .entry-content .std-preview-card__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(11, 30, 48, .18);
  transition: background-color .2s ease;
}
body.single-topic .entry-content .std-preview-card__thumb:hover,
body.single-topic .entry-content .std-preview-card__thumb:focus-visible {
  box-shadow: 0 6px 16px rgba(16, 24, 40, .14);
  transform: translateY(-1px);
}
body.single-topic .entry-content .std-preview-card__thumb:hover::after,
body.single-topic .entry-content .std-preview-card__thumb:focus-visible::after {
  background: rgba(11, 30, 48, .05);
}
body.single-topic .entry-content .wp-block-kadence-column:has(> .kt-inside-inner-col > .kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-modal) .wp-block-kadence-advancedheading {
  margin: 0 !important;
  color: var(--std-heading) !important;
  text-align: left !important;
  font-family: var(--std-font-heading);
  font-size: 19px !important;
  font-weight: 600;
  line-height: 1.35 !important;
}
body.single-topic .entry-content .wp-block-kadence-column:has(> .kt-inside-inner-col > .kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-modal) .wp-block-kadence-advancedheading::before {
  content: "Free preview";
  display: block;
  margin-bottom: 4px;
  color: var(--std-primary);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.single-topic .entry-content .wp-block-kadence-column:has(> .kt-inside-inner-col > .kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-modal) .wp-block-kadence-advancedheading::after {
  content: "See exactly what your employees will watch before you buy.";
  display: block;
  margin-top: 4px;
  color: var(--std-muted);
  font-family: var(--std-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

/* Preview buttons (Kadence modal links) */
body.single-topic .entry-content .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-modal) {
  padding: 0 !important;
}
body.single-topic .entry-content .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-modal) > .kt-row-column-wrap {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
  padding: 14px 0 0 !important;
}
body.single-topic .entry-content .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-modal) > .kt-row-column-wrap > .wp-block-kadence-column:not(:has(.wp-block-kadence-modal)) {
  display: none !important;
}
body.single-topic .entry-content .kb-row-layout-wrap:has(> .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-modal) > .kt-row-column-wrap > .wp-block-kadence-column {
  flex: 0 0 auto;
  width: auto !important;
}
body.single-topic .entry-content .wp-block-kadence-modal {
  text-align: left !important;
}
body.single-topic .entry-content .kt-blocks-modal-link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 9px 18px 9px 14px !important;
  background: var(--std-surface) !important;
  border: 1.5px solid var(--std-primary) !important;
  border-radius: var(--std-radius-sm) !important;
  box-shadow: none !important;
  color: var(--std-primary) !important;
  font-family: var(--std-font-heading) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
body.single-topic .entry-content .kt-blocks-modal-link::before {
  content: "";
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: var(--std-icon-play) center / contain no-repeat;
          mask: var(--std-icon-play) center / contain no-repeat;
}
body.single-topic .entry-content .kt-blocks-modal-link .kt-blocks-modal-link-inner {
  color: inherit !important;
}
body.single-topic .entry-content .kt-blocks-modal-link .kt-blocks-modal-link-inner::after {
  content: " preview";
}
body.single-topic .entry-content .kt-blocks-modal-link:hover,
body.single-topic .entry-content .kt-blocks-modal-link:focus-visible {
  background: var(--std-primary-tint) !important;
  color: var(--std-primary) !important;
  box-shadow: 0 4px 12px rgba(0, 136, 204, .15) !important;
}
/* First preview button (usually English) is the solid one */
body.single-topic .entry-content .kt-row-column-wrap > .wp-block-kadence-column:has(.wp-block-kadence-modal):nth-child(2) .kt-blocks-modal-link {
  background: var(--std-primary) !important;
  color: #fff !important;
}
body.single-topic .entry-content .kt-row-column-wrap > .wp-block-kadence-column:has(.wp-block-kadence-modal):nth-child(2) .kt-blocks-modal-link:hover,
body.single-topic .entry-content .kt-row-column-wrap > .wp-block-kadence-column:has(.wp-block-kadence-modal):nth-child(2) .kt-blocks-modal-link:focus-visible {
  background: var(--std-primary-hover) !important;
  border-color: var(--std-primary-hover) !important;
  color: #fff !important;
}

/* "What Your Employees Will Learn" */
body.single-topic .entry-content h4.wp-block-kadence-advancedheading {
  margin: 40px 0 14px !important;
  color: var(--std-heading);
  font-size: 22px !important;
  font-weight: 600;
  line-height: 1.35 !important;
}
body.single-topic .entry-content h4.wp-block-kadence-advancedheading + .wp-block-kadence-iconlist {
  margin-bottom: 24px !important;
  padding: 20px 24px;
  background: var(--std-surface);
  border: 1px solid var(--std-border);
  border-radius: var(--std-radius-lg);
}
body.single-topic .entry-content h4.wp-block-kadence-advancedheading + .wp-block-kadence-iconlist ul.kt-svg-icon-list {
  margin-bottom: 0 !important;
}
body.single-topic .entry-content h4.wp-block-kadence-advancedheading + .wp-block-kadence-iconlist .kt-svg-icon-list-item-wrap {
  margin-bottom: 10px !important;
  color: var(--std-text);
  font-size: 15.5px;
  line-height: 1.55;
}
body.single-topic .entry-content h4.wp-block-kadence-advancedheading + .wp-block-kadence-iconlist .kt-svg-icon-list-item-wrap:last-child {
  margin-bottom: 0 !important;
}
body.single-topic .entry-content h4.wp-block-kadence-advancedheading + .wp-block-kadence-iconlist .kb-svg-icon-wrap {
  color: var(--std-primary) !important;
}

/* Course outline download (any button linking to a PDF) */
body.single-topic .entry-content a.kb-button[href$=".pdf"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px;
  padding: 12px 22px !important;
  background: var(--std-surface) !important;
  border: 1.5px solid var(--std-primary) !important;
  border-radius: var(--std-radius-sm) !important;
  box-shadow: none !important;
  color: var(--std-primary) !important;
  font-family: var(--std-font-heading) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  text-transform: none !important;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
body.single-topic .entry-content a.kb-button[href$=".pdf"] .kt-btn-inner-text {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 !important;
  line-height: 20px;
}
body.single-topic .entry-content a.kb-button[href$=".pdf"] .kb-svg-icon-wrap {
  display: none !important;
}
body.single-topic .entry-content a.kb-button[href$=".pdf"] .kt-btn-inner-text::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--std-icon-download) center / contain no-repeat;
          mask: var(--std-icon-download) center / contain no-repeat;
}
body.single-topic .entry-content a.kb-button[href$=".pdf"]:hover,
body.single-topic .entry-content a.kb-button[href$=".pdf"]:focus-visible {
  background: var(--std-primary) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(0, 136, 204, .2) !important;
}

/* "How it works" note — Kadence Element #26224 ("Topics associations").
   Targets that block's Kadence ID; if the block is ever recreated, update the class here. */
body.single-topic .kt-adv-heading26224_71e42b-86 {
  position: relative;
  display: block;
  margin-top: 20px !important;
  padding: 18px 20px 18px 72px !important;
  background: var(--std-surface);
  border: 1px solid var(--std-border);
  border-radius: var(--std-radius-lg);
  color: var(--std-text) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
body.single-topic .kt-adv-heading26224_71e42b-86 > br:first-child {
  display: none;
}
body.single-topic .kt-adv-heading26224_71e42b-86::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 20px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--std-primary-tint) var(--std-icon-route) center / 18px no-repeat;
}
body.single-topic .kt-adv-heading26224_71e42b-86 a {
  color: var(--std-primary) !important;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
body.single-topic .kt-adv-heading26224_71e42b-86 a strong {
  font-weight: 600;
}
body.single-topic .kt-adv-heading26224_71e42b-86 a::after {
  content: "\2192";
  display: inline-block;
  margin-left: 6px;
  transition: transform .2s ease;
}
body.single-topic .kt-adv-heading26224_71e42b-86 a:hover {
  color: var(--std-heading) !important;
}
body.single-topic .kt-adv-heading26224_71e42b-86 a:hover::after {
  transform: translateX(3px);
}


/* 3. Preview video popup ------------------------------------------------- */
body.single-topic .kadence-block-pro-modal .kt-modal-overlay {
  background: rgba(8, 10, 14, .9) !important;
  padding: 16px !important;
}
body.single-topic .kadence-block-pro-modal .kt-modal-container {
  width: min(1020px, 80vw, calc((100vh - 96px) * 16 / 9 * .85)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden;
  background: #000 !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .55) !important;
}
body.single-topic .kadence-block-pro-modal .kt-modal-content,
body.single-topic .kadence-block-pro-modal .kt-modal-content .wp-block-embed {
  margin: 0 !important;
  padding: 0 !important;
}
body.single-topic .kadence-block-pro-modal .kt-modal-content iframe {
  display: block;
}
/* Close cue: clicking anywhere on the backdrop closes the popup */
body.single-topic .kadence-block-pro-modal .kt-modal-overlay::before {
  content: "\00d7";
  position: fixed;
  top: 14px;
  right: 22px;
  z-index: 2;
  color: #fff;
  font: 300 40px/1 Arial, sans-serif;
  opacity: .85;
  cursor: pointer;
}
body.single-topic .kadence-block-pro-modal .kt-modal-overlay:hover::before {
  opacity: 1;
}


/* 4. Sidebar panel and header -------------------------------------------- */
body.single-topic #secondary .sidebar-inner-wrap > .widget:first-child {
  margin-bottom: 20px;
  padding: 22px 20px;
  background: var(--std-surface);
  border: 1px solid var(--std-border);
  border-radius: var(--std-radius-lg);
  box-shadow: var(--std-shadow-card);
}
body.single-topic #secondary .sidebar-inner-wrap > .widget:first-child .kt-row-column-wrap {
  padding-bottom: 0 !important;
}
body.single-topic #secondary .sidebar-inner-wrap > .widget:first-child p:last-child,
body.single-topic #secondary .topic-sidebar-block:last-child,
body.single-topic #secondary .topic-sidebar-block:last-child ul.products {
  margin-bottom: 0 !important;
}
/* Header heading and intro live in the sidebar widget (Kadence IDs dc7e46-fa / a9d4d4-51) */
body.single-topic #secondary .kt-adv-headingdc7e46-fa {
  margin: 0 0 4px !important;
  color: var(--std-heading) !important;
  font-family: var(--std-font-heading) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}
body.single-topic #secondary .kt-adv-headinga9d4d4-51 {
  margin: 0 !important;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--std-border-soft);
  color: var(--std-muted) !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
}


/* 5. Sidebar delivery methods ------------------------------------------- */
body.single-topic #secondary .topic-sidebar-block__content li.product {
  position: relative;
}

/* Rows and dividers */
body.single-topic #secondary .topic-sidebar-block:not(.topic-sidebar-block--featured) {
  margin-bottom: 0;
  padding: 20px 0;
}
body.single-topic #secondary .topic-sidebar-block:not(.topic-sidebar-block--featured) + .topic-sidebar-block {
  border-top: 1px solid var(--std-border-soft);
}

/* Featured: Unlimited Online Training (markup from partials/misc.php) */
body.single-topic #secondary .topic-sidebar-block--featured {
  position: relative;
  margin-top: 28px;
  margin-bottom: 4px;
  padding: 22px 14px 14px;
  background: var(--std-primary-tint-soft);
  border: 2px solid var(--std-primary);
  border-radius: var(--std-radius-md);
}
body.single-topic #secondary .topic-sidebar-block--featured .topic-sidebar-block__content ul.products > li.product,
body.single-topic #secondary .topic-sidebar-block--featured .product-details.content-bg {
  background: transparent !important;
}
body.single-topic #secondary .topic-sidebar-block__badge {
  position: absolute;
  top: -12px;
  left: 16px;
  padding: 3px 12px;
  background: var(--std-primary);
  border-radius: 999px;
  color: #fff;
  font: 600 11px/18px var(--std-font-heading);
  letter-spacing: .06em;
  text-transform: uppercase;
}
body.single-topic #secondary .topic-sidebar-block__benefits {
  margin: 14px 0 0;
  padding: 14px 0 0 8px;
  list-style: none;
  border-top: 1px solid var(--std-primary-tint-line);
}
body.single-topic #secondary .topic-sidebar-block__benefits li {
  position: relative;
  margin: 0 0 6px;
  padding-left: 26px;
  color: var(--std-text);
  font-size: 14px;
  line-height: 1.8;
}
body.single-topic #secondary .topic-sidebar-block__benefits li:last-child {
  margin-bottom: 0;
}
body.single-topic #secondary .topic-sidebar-block__benefits li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 17px;
  height: 17px;
  background: var(--std-icon-check-badge) center / contain no-repeat;
}

/* Thumbnails and titles */
body.single-topic #secondary .topic-sidebar-block .sidebar-block__thumbnail {
  flex-shrink: 0;
  width: var(--std-sidebar-thumb);
  height: var(--std-sidebar-thumb-h);
}
body.single-topic #secondary .sidebar-block__text .product-details .woocommerce-loop-product__title small {
  font-size: 12px;
}

/* Price line (the selected option's price replaces it — std-sidebar-price script) */
body.single-topic #secondary .sidebar-block__text .price-wrapper,
body.single-topic #secondary .sidebar-block__text .price-wrapper strong {
  color: var(--std-text);
  font-size: 15px;
  font-weight: 400;
}
body.single-topic #secondary .sidebar-block__text .price-wrapper .price {
  margin-left: -4px !important;
  padding: 0 4px;
  border-radius: 4px;
  color: var(--std-heading);
  font-size: 15px;
}
body.single-topic #secondary .sidebar-block__text .price-wrapper .price .from {
  color: var(--std-text);
  font-weight: 400;
}
body.single-topic #secondary .sidebar-block__text .price-wrapper .amount,
body.single-topic #secondary .sidebar-block__text .price-wrapper .subscription-details {
  font-weight: 700;
}
body.single-topic #secondary .price-wrapper .price.std-price-selected .amount,
body.single-topic #secondary .price-wrapper .price.std-price-selected .subscription-details {
  color: var(--std-primary);
}
body.single-topic #secondary .price-wrapper .price.std-price-flash {
  animation: std-price-flash .6s ease;
}
@keyframes std-price-flash {
  0% { background: rgba(0, 136, 204, .16); }
  100% { background: transparent; }
}
body.single-topic #secondary .single_variation .woocommerce-variation-price,
body.single-topic #secondary .single_variation .woocommerce-variation-description:empty,
body.single-topic #secondary .woocommerce-subscriptions-product-details {
  display: none !important;
}

/* Option labels and dropdowns */
body.single-topic #secondary .sidebar-block__text .variations th.label,
body.single-topic #secondary .sidebar-block__text .variations td.label {
  padding-left: 0;
  font-weight: 400;
  text-align: left;
  vertical-align: middle;
}
body.single-topic #secondary .sidebar-block__text .variations .label label {
  color: var(--std-text);
  font-family: var(--std-font-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
}
body.single-topic #secondary .sidebar-block__text .variations td.value {
  padding-top: 3px;
  padding-bottom: 3px;
}
body.single-topic #secondary .sidebar-block__text .variations select {
  -webkit-appearance: none;
  appearance: none;
  min-width: 168px;
  height: 36px;
  margin: 0;
  padding: 0 34px 0 12px;
  background: var(--std-surface) var(--std-icon-chevron) right 10px center / 16px no-repeat !important;
  border: 1px solid var(--std-border-input) !important;
  border-radius: var(--std-radius-sm) !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  color: var(--std-heading);
  font-family: var(--std-font-body);
  font-size: 14px;
  line-height: 34px;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.single-topic #secondary .sidebar-block__text .variations select:hover {
  border-color: var(--std-border-input-hover) !important;
}
body.single-topic #secondary .sidebar-block__text .variations select:focus {
  border-color: var(--std-primary) !important;
  box-shadow: 0 0 0 3px var(--std-primary-ring);
  outline: none;
}
/* Nudge when Choose is clicked before an option is picked (std-sidebar-choose script) */
body.single-topic #secondary .variations select.std-needs-choice {
  border-color: var(--std-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 136, 204, .2);
  animation: std-nudge .35s ease;
}
@keyframes std-nudge {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

/* Choose button: full strength before an option is picked */
body.single-topic #secondary .single_add_to_cart_button.disabled {
  opacity: 1 !important;
  cursor: pointer !important;
}

/* Choose row: [Choose] [Clear] .......... [Learn more] */
body.single-topic #secondary .sidebar-block__text .variations tbody .reset_variations {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  right: auto;
  bottom: -29px;
  left: 90px;
  padding: 2px 0;
  color: var(--std-muted) !important;
  font-family: var(--std-font-body);
  font-size: 12.5px;
  line-height: 18px;
  text-decoration: none !important;
}
body.single-topic #secondary .sidebar-block__text .variations tbody .reset_variations::before {
  content: "";
  width: 12px;
  height: 12px;
  background: currentColor;
  -webkit-mask: var(--std-icon-reset) center / contain no-repeat;
          mask: var(--std-icon-reset) center / contain no-repeat;
}
body.single-topic #secondary .sidebar-block__text .variations tbody .reset_variations:hover {
  color: var(--std-primary) !important;
}
body.single-topic #secondary .product-short__description {
  position: absolute;
  right: 0;
  bottom: 3px;
  left: auto;
  margin: 0;
}
body.single-topic #secondary .product-short__description p {
  font-size: 13px;
  line-height: 22px;
  text-align: right;
}
body.single-topic #secondary .product-short__description a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--std-muted);
  text-decoration: none;
}
body.single-topic #secondary .product-short__description a::after {
  content: "\2192";
  transition: transform .2s ease;
}
body.single-topic #secondary .product-short__description a:hover {
  color: var(--std-primary);
}
body.single-topic #secondary .product-short__description a:hover::after {
  transform: translateX(3px);
}


/* 6. Sidebar tooltips ----------------------------------------------------- */
body.single-topic .delivery-method-tooltip {
  width: 418px;
  max-width: none;
  padding-right: 16px;
}
body.single-topic .topic-sidebar-block--featured .delivery-method-tooltip {
  padding-right: 34px;
}
body.single-topic .delivery-method-tooltip__inner {
  position: relative;
  padding: 20px 22px;
  background: var(--std-surface);
  border: 1px solid var(--std-border);
  border-radius: var(--std-radius-lg);
  box-shadow: var(--std-shadow-pop);
  color: var(--std-text);
  font-size: 14px;
  line-height: 1.65;
}
body.single-topic .delivery-method-tooltip__inner::after {
  content: "";
  position: absolute;
  top: 34px;
  right: -7px;
  width: 12px;
  height: 12px;
  background: var(--std-surface);
  border-top: 1px solid var(--std-border);
  border-right: 1px solid var(--std-border);
  transform: rotate(45deg);
}
body.single-topic .delivery-method-tooltip__inner > div:first-child {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--std-border-soft);
}
body.single-topic .delivery-method-tooltip__inner > div:first-child strong {
  color: var(--std-heading);
  font-family: var(--std-font-heading);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
body.single-topic .delivery-method-tooltip__inner p {
  margin: 0;
}
body.single-topic .delivery-method-tooltip__inner a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding: 0;
  color: var(--std-primary) !important;
  font-family: var(--std-font-heading);
  font-size: 14px;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.single-topic .delivery-method-tooltip__inner a::after {
  content: "\2192";
  transition: transform .2s ease;
}
body.single-topic .delivery-method-tooltip__inner a:hover {
  color: var(--std-heading) !important;
}
body.single-topic .delivery-method-tooltip__inner a:hover::after {
  transform: translateX(3px);
}


/* 7. Custom quote card (markup from partials/misc.php) ------------------ */
body.single-topic #secondary .topic-sidebar-quote {
  margin: 8px 0 0;
  padding: 0;
  overflow: hidden;
  background: var(--std-surface);
  border: 1px solid var(--std-border);
  border-radius: var(--std-radius-lg);
}
body.single-topic #secondary .topic-sidebar-quote p {
  margin: 0 !important;
}
body.single-topic #secondary .topic-sidebar-quote__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
}
body.single-topic #secondary .topic-sidebar-quote__icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--std-primary-tint) var(--std-icon-headset) center / 22px no-repeat;
}
body.single-topic #secondary .topic-sidebar-quote__title {
  color: var(--std-heading);
  font-family: var(--std-font-heading);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}
body.single-topic #secondary .topic-sidebar-quote__text {
  margin-top: 2px !important;
  color: var(--std-muted);
  font-size: 13.5px;
  line-height: 1.5;
}
body.single-topic #secondary .topic-sidebar-quote__contacts {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  background: var(--std-surface-alt);
  border-top: 1px solid var(--std-border-soft);
}
body.single-topic #secondary .topic-sidebar-quote__contact {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 12px 20px 14px;
  text-decoration: none !important;
  transition: background-color .2s ease;
}
body.single-topic #secondary .topic-sidebar-quote__contact + .topic-sidebar-quote__contact {
  border-left: 1px solid var(--std-border-soft);
}
body.single-topic #secondary .topic-sidebar-quote__label {
  color: var(--std-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 16px;
  text-transform: uppercase;
}
body.single-topic #secondary .topic-sidebar-quote__value {
  overflow: hidden;
  color: var(--std-heading);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.single-topic #secondary .topic-sidebar-quote__contact:hover {
  background: #f1f7fc;
}
body.single-topic #secondary .topic-sidebar-quote__contact:hover .topic-sidebar-quote__value {
  color: var(--std-primary);
}


/* 8. Responsive ------------------------------------------------------------ */
@media (min-width: 1320px) {
  body.single-topic #secondary .topic-sidebar-quote__text {
    white-space: nowrap;
  }
}
@media (min-width: 1200px) {
  body.single-topic #secondary .sidebar-block__text .product-details .woocommerce-loop-product__title {
    white-space: nowrap;
  }
}
@media (min-width: 1200px) and (max-width: 1319px) {
  body.single-topic #secondary .topic-sidebar-quote__text {
    font-size: 12.5px;
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
  body.single-topic .delivery-method-tooltip,
  body.single-topic .topic-sidebar-block--featured .delivery-method-tooltip {
    width: 90vw;
    max-width: 360px;
    padding-right: 0;
  }
  body.single-topic .delivery-method-tooltip__inner::after {
    display: none;
  }
}
@media (max-width: 767px) {
  body.single-topic {
    --std-sidebar-thumb: 76px;
    --std-sidebar-thumb-h: 72px;
  }
  body.single-topic .entry-content .wp-block-kadence-column:has(> .kt-inside-inner-col > .kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-modal) > .kt-inside-inner-col {
    padding: 20px 18px !important;
  }
  body.single-topic .entry-content .std-preview-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "thumb" "head" "btns";
    row-gap: 16px;
  }
  body.single-topic #secondary .sidebar-inner-wrap > .widget:first-child {
    padding: 18px 14px 22px;
  }
  body.single-topic #secondary .topic-sidebar-block--featured {
    padding: 22px 10px 12px;
  }
}
@media (max-width: 400px) {
  body.single-topic #secondary .topic-sidebar-quote__contacts {
    grid-template-columns: 1fr;
  }
  body.single-topic #secondary .topic-sidebar-quote__contact + .topic-sidebar-quote__contact {
    border-left: 0;
    border-top: 1px solid var(--std-border-soft);
  }
}
