/* === GLOBAL STYLING === */

/* Global H1 Title */
h1 {
  color: #2b2b2b;
  font-weight: 600;
  display: inline-block;
  border-left: 4px solid #bfa76f;
  padding-left: 0.8rem;
}

/* Refined Typography for Headings */
h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
  color: #2b2b2b;
  transition: color 0.3s ease;
}

h2 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-top: 30px;
  margin-bottom: 15px;
  letter-spacing: 0.5px;
}

h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin-top: 20px;
  margin-bottom: 10px;
  letter-spacing: 0.4px;
}

/* Intro Paragraphs */
.intro-paragraph {
  font-size: 1.05rem;
  font-family: 'Playfair Display', serif;
  color: #333;
  max-width: 900px;
  margin: 0 auto 30px;
  line-height: 1.6;
  text-align: justify;
}

/* === MENU CLEANUP === */

/* Remove floating Voice Shop button */
.sticky-voice-shop-button,
.sticky-vocal-shop-button-v2,
#sticky-shop-button-wrapper {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Main Menu Titles */
#site-navigation a {
  color: #111111 !important;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s ease;
}

#site-navigation a:hover {
  color: #111111 !important;
}

/* Dropdown Menu Background */
#site-navigation ul.sub-menu {
  background: #ffffff !important;
  padding: 0.5rem 0;
  border-radius: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Dropdown Items */
#site-navigation ul.sub-menu li a {
  color: #111111 !important;
  text-decoration: none;
  padding: 0.6rem 1rem;
  display: block;
  transition: background 0.2s ease;
}

/* Dropdown Hover Effect */
#site-navigation ul.sub-menu li a:hover {
  background: #f5f5f5 !important;
  color: #111111 !important;
}

/* Mobile Dropdown Styling */
@media (max-width: 1024px) {
  #site-navigation ul.sub-menu {
    background: #ffffff !important;
  }
  #site-navigation ul.sub-menu li a {
    color: #111111 !important;
  }
  #site-navigation ul.sub-menu li a:hover {
    background: #f5f5f5 !important;
    color: #111111 !important;
  }
}

/* === VOICE SHOP & CATEGORY DIRECTORY === */
.shop-category-list ul {
  list-style: none;
  padding: 0;
  margin: 20px auto;
  max-width: 900px;
}

.shop-category-list a {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #2b2b2b;
  text-decoration: none;
  transition: color 0.2s ease;
}

.shop-category-list a:hover {
  color: #555;
}

/* === VOICE SHOP PRODUCT CARDS === */
.aawp-product {
  padding: 3rem;
  background: #ffffff;
  border: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  margin-bottom: 6rem;
  border-radius: 12px;
}

.aawp-product__title {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  color: #2b2b2b;
  font-weight: 500;
  margin-bottom: 1.5rem;
}

.aawp-product__description {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  color: #555;
  margin-bottom: 2rem;
}

/* AAWP Buttons */
.aawp-button {
  background: none;
  border: 1px solid #bfa76f;
  color: #bfa76f;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  padding: 12px 28px;
  border-radius: 30px;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.4s ease;
}

.aawp-button:hover {
  background: #bfa76f;
  color: #ffffff;
}

/* === FOOTER POLICY LINKS === */
.footer-policy a {
  color: #bfa76f;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-policy a:hover {
  color: #f1d27d;
}

/* === SITE TITLE & TAGLINE === */
.site-title a {
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #000000;
  text-transform: uppercase;
  text-align: center;
}

.site-description {
  font-family: Georgia, serif;
  font-size: 1.2rem;
  color: #333333;
  text-align: center;
  line-height: 1.6;
  white-space: pre-line;
}
.site-description::first-line {
  font-style: italic;
}

/* === SUBMENU ALIGNMENT & ANIMATION === */
.header-navigation .primary-menu-container ul ul.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  z-index: 9999;
  opacity: 0;
  transform: translateY(15px);
  pointer-events: none;
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.header-navigation .primary-menu-container ul li:hover > ul.sub-menu,
.header-navigation .primary-menu-container ul li:focus-within > ul.sub-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* === CLEANER DROPDOWN ARROWS === */
.header-navigation .primary-menu-container .menu-item-has-children > a .dropdown-toggle svg {
  stroke: #000 !important;
  stroke-width: 1.5;
  width: 10px;
  height: 10px;
  margin-left: 6px;
  transition: transform 0.3s ease;
}

.header-navigation .primary-menu-container .menu-item-has-children:hover > a .dropdown-toggle svg {
  transform: rotate(180deg);
}

/* === MENU ACTIVE UNDERLINE (CLEAN & CONTROLLED) === */

#site-navigation ul li a {
  position: relative;
}

/* Base underline (hidden by default) */
#site-navigation ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background-color: #111111;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

/* Show underline ONLY for the active (current) menu item */
#site-navigation ul li.current-menu-item > a::after {
  transform: scaleX(1);
}

/* Explicitly disable underline on hover to avoid visual overlap */
#site-navigation ul li a:hover::after {
  transform: scaleX(0);
}


/* === MOBILE MENU === */
@media (max-width: 1024px) {
  .mobile-menu-container ul li a {
    text-align: left;
    padding-left: 20px;
    padding-right: 40px;
  }

  .mobile-menu-container .dropdown-toggle {
    position: absolute;
    right: 15px;
  }
}

/* === FIX FOR LANDSCAPE IPHONES === */
@media screen and (orientation: landscape) and (max-device-height: 500px) {
  :root {
    --global-body-font-size: 14px !important;
    --global-content-font-size: 14px !important;
  }
  body, p, li, span {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
}
/* ===========================================================
   GLOBAL "READ MORE" — EDITORIAL, LIGHT, CONSISTENT (FINAL)
   =========================================================== */

.read-more-toggle {
  cursor: pointer;
  font-family: 'Merriweather Sans', sans-serif;
  font-weight: 600;
  font-size: inherit;          /* identical to paragraph */
  color: #555;                /* refined editorial grey */
  margin-left: 0.5rem;
  text-decoration: none;
  letter-spacing: 0.3px;
  transition: color 0.25s ease;

  /* CRITICAL ALIGNMENT FIX */
  display: inline;
  vertical-align: baseline;
  white-space: nowrap;
}

.read-more-toggle:hover {
  color: #333;                /* subtle darkening on hover */
}

.read-more-toggle:focus,
.read-more-toggle:active {
  color: #333;
  outline: none;
}

===========================================================
   EDITORIAL PRODUCT NOTICE — LIGHT, NEUTRAL
   =========================================================== */

.editorial-note {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}



/* ===========================================================
   GLOBAL TABLE STYLE — APPLE / HERMÈS ELEGANT PREMIUM TABLES
   Applied across entire Voice Shop (Lavalier, Condenser, etc.)
   =========================================================== */

.mic-table-title {
  font-family: "Playfair Display", serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: left;
  margin: 3rem 0 1.4rem;
  letter-spacing: 0.2px;
}

/* Base table styling */
.mic-compare {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-family: "Merriweather Sans", sans-serif;
  font-size: 0.96rem;
}

/* Table cells */
.mic-compare th,
.mic-compare td {
  border-bottom: 1px solid #e6e6e6;
  padding: 0.85rem 0.6rem;
  text-align: left;
  vertical-align: top;
}

/* Header styling */
.mic-compare th {
  font-weight: 700;
  font-size: 1.05rem;
  background-color: #ffffff; /* keeps header clean and premium */
}

/* Hover effect (laptop only) */
@media (min-width: 701px) {
  .mic-compare tr:hover td {
    background: #fafafa;
  }
}

/* Mobile optimization — readable smaller text */
@media (max-width: 700px) {
  .mic-compare td,
  .mic-compare th {
    font-size: 0.9rem;
  }
}

/* Horizontal scrolling container for all tables */
.table-scroll-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1rem 0;
  padding: 0.5rem 0;
  background: #ffffff;
}

.table-scroll-container::-webkit-scrollbar {
  height: 7px;
}

.table-scroll-container::-webkit-scrollbar-thumb {
  background: #cccccc;
  border-radius: 10px;
}

.table-scroll-container::-webkit-scrollbar-track {
  background: #f4f4f4;
}

/* === TABLE SCROLL FIX (ALIAS) === */
/* Ensures all .table-scroll wrappers actually scroll */

.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1rem 0;
  padding: 0.5rem 0;
  background: #ffffff;
}

.table-scroll table {
  min-width: 900px;
}


/* Force strong contrast inside content area */

.entry-content-bg p {
  color: #111111;
}

/* Improve footer text contrast */

#colophon,
#colophon a,
#colophon strong {
  color: #333;
}


/* === FIX YOUTUBE / VIDEO EMBEDS === */

.wp-block-embed iframe,
.wp-block-embed__wrapper iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.wp-block-embed,
.wp-block-embed__wrapper {
  max-width: 100%;
  overflow: visible;
}


/* ===========================================================
   EDITORIAL TABLE OF CONTENTS
   =========================================================== */

.editorial-toc {
  margin: 2.5rem 0 3.5rem 0;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #f0f0f0;
  font-family: "Merriweather Sans", sans-serif;
  font-size: 0.98rem;
}

.editorial-toc div {
  margin-bottom: 0.85rem;
}

.editorial-toc a {
  color: #111;
  text-decoration: none;
  font-weight: 500;
  position: relative;
  display: inline-block;
}

.editorial-toc a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background-color: #111;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.4,0,0.2,1);
}

.editorial-toc a:hover::after {
  transform: scaleX(1);
}

.editorial-toc .toc-sub {
  margin-left: 1.4rem;
  opacity: 0.9;
}