/* ==========================================================================
   Wills Wing Site Styles
   Consolidated from inline styles, responsive-tabs, and theme customizations.
   Loaded after ww-brand.css, before per-page CSS.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. WordPress Block Library (trimmed to used classes only)
   -------------------------------------------------------------------------- */
:root {
  --wp--preset--font-size--normal: 16px;
  --wp--preset--font-size--huge: 42px;
  --wp--preset--font-size--small: 13px;
  --wp--preset--font-size--medium: 20px;
  --wp--preset--font-size--large: 36px;
  --wp--preset--font-size--x-large: 42px;
}

.has-text-align-center { text-align: center; }
.has-text-align-left { text-align: left; }
.has-text-align-right { text-align: right; }
.has-medium-font-size { font-size: var(--wp--preset--font-size--medium) !important; }

.wp-element-button { cursor: pointer; }
.aligncenter { clear: both; }

.screen-reader-text {
  border: 0; clip-path: inset(50%); height: 1px; margin: -1px;
  overflow: hidden; padding: 0; position: absolute; width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #ddd; clip-path: none; color: #444; display: block;
  font-size: 1em; height: auto; left: 5px; line-height: normal;
  padding: 15px 23px 14px; text-decoration: none; top: 5px;
  width: auto; z-index: 100000;
}

html :where(img[class*=wp-image-]) { height: auto; max-width: 100%; }
:where(figure) { margin: 0 0 1em; }

/* Flex / Grid layout utilities */
:where(.is-layout-flex) { gap: 0.5em; }
:where(.is-layout-grid) { gap: 0.5em; }
body .is-layout-flex { display: flex; }
.is-layout-flex { flex-wrap: wrap; align-items: center; }
.is-layout-flex > :is(*, div) { margin: 0; }
body .is-layout-grid { display: grid; }
.is-layout-grid > :is(*, div) { margin: 0; }
:where(.wp-block-columns.is-layout-flex) { gap: 2em; }
:where(.wp-block-columns.is-layout-grid) { gap: 2em; }

/* --------------------------------------------------------------------------
   2. Classic Theme Block Styles
   -------------------------------------------------------------------------- */
.wp-block-button__link {
  color: #fff; background-color: #32373c; border-radius: 9999px;
  box-shadow: none; text-decoration: none;
  padding: calc(.667em + 2px) calc(1.333em + 2px); font-size: 1.125em;
}
.wp-block-file__button { background: #32373c; color: #fff; text-decoration: none; }

/* --------------------------------------------------------------------------
   3. WordPress Global Color & Gradient Variables
   -------------------------------------------------------------------------- */
:root {
  --wp--preset--color--black: #000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #fff;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--color--virtue-primary: #C9442D;
  --wp--preset--color--virtue-primary-light: #D4604C;
  --wp--preset--color--very-light-gray: #eee;
  --wp--preset--color--very-dark-gray: #444;
  --wp--preset--aspect-ratio--square: 1;
  --wp--preset--aspect-ratio--4-3: 4/3;
  --wp--preset--aspect-ratio--3-2: 3/2;
  --wp--preset--aspect-ratio--16-9: 16/9;
  --wp--preset--spacing--20: 0.44rem;
  --wp--preset--spacing--30: 0.67rem;
  --wp--preset--spacing--40: 1rem;
  --wp--preset--spacing--50: 1.5rem;
  --wp--preset--spacing--60: 2.25rem;
  --wp--preset--spacing--70: 3.38rem;
  --wp--preset--spacing--80: 5.06rem;
}

/* --------------------------------------------------------------------------
   4. Theme Customizations (from inline styles)
   -------------------------------------------------------------------------- */

/* Logo and nav spacing */
#logo { padding-top: 10px; padding-bottom: 5px; margin-left: 0; margin-right: 0; }
#nav-main { margin-top: 10px; margin-bottom: 5px; }

/* Header font families */
.headerfont, .tp-caption { font-family: Roboto Condensed; }
.topbarmenu ul li { font-family: Roboto Condensed; }

/* Hide number input spinners */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button { display: none; }

/* Hide post author display */
.kad-hidepostauthortop, .postauthortop { display: none; }

/* Product item heading tweaks */
.product_item .product_details h5 { text-transform: none; min-height: 40px; }

/* Remove box-shadow from WordPress images */
[class*="wp-image"] { box-shadow: none; border: none; }
[class*="wp-image"]:hover { box-shadow: none; border: none; }
.light-dropshaddow { box-shadow: none; }

/* Paragraph spacing */
.entry-content p { margin-bottom: 16px; }

/* Active dropdown menu item */
#nav-main ul li ul li.current-menu-item > a { color: var(--ww-red); }

/* Blockquote normalization */
blockquote p { font-size: inherit !important; line-height: inherit !important; }

/* Homepage slider tweaks */
.sliderclass { padding-bottom: 0; }
section.pagefeat.container { margin-bottom: 0; }

/* FAQ accordion toggle icon spacing */
.icon-plus:before, .icon-minus:before { margin-left: 30px; }

/* FAQ sub-nav: black links with red hover, highlight current page */
.entry-content > a.supportfaq,
.entry-content > a.hgfaq,
.entry-content > a.pgfaq,
.entry-content > a.hgharnessfaq,
.entry-content > a.hgpgadvancedfaq,
.entry-content > a.instrumentfaq {
  color: var(--ww-charcoal);
}

.entry-content > a.supportfaq:hover,
.entry-content > a.hgfaq:hover,
.entry-content > a.pgfaq:hover,
.entry-content > a.hgharnessfaq:hover,
.entry-content > a.hgpgadvancedfaq:hover,
.entry-content > a.instrumentfaq:hover {
  color: var(--ww-red);
}

body.hgpg-advanced-faq a.hgpgadvancedfaq,
body.faq a.supportfaq,
body.hg-faq a.hgfaq,
body.pg-faq a.pgfaq,
body.hg-harness-faq a.hgharnessfaq,
body.instrument-faq a.instrumentfaq { text-decoration: underline; }

/* Hide uncategorized in sidebar */
.sidebar .cat-item.cat-item-1 { display: none; }

/* SVG logo rendering fix */
img.kad-standard-logo { width: 100%; }

/* Content links — scoped to body text, tabs, and accordion panels */
.entry-content p a, .entry-content li a,
.responsive-tabs__panel a, .kt-tab-inner-content a {
  color: var(--ww-link);
}

/* Hide search/length on specific DataTables page */
.page-id-5686 div.dataTables_filter { display: none !important; }
.page-id-5686 div.dataTables_length { display: none !important; }

/* --------------------------------------------------------------------------
   5. Responsive Tabs (merged from inline + ww-custom.css section 4)
   Single authoritative version. Desktop tabs + mobile accordion.
   -------------------------------------------------------------------------- */

/* Base behavior */
.responsive-tabs .responsive-tabs__heading { display: none; }
.responsive-tabs .responsive-tabs__list__item { display: inline; cursor: pointer; }
.responsive-tabs-wrapper { clear: both; margin-bottom: 20px; zoom: 1; }
.responsive-tabs-wrapper:before,
.responsive-tabs-wrapper:after { content: ""; display: table; }
.responsive-tabs-wrapper:after { clear: both; }
.responsive-tabs .responsive-tabs__heading:focus,
.responsive-tabs .responsive-tabs__list__item:focus { outline: 1px solid transparent; }
.responsive-tabs .responsive-tabs__heading--active:focus,
.responsive-tabs .responsive-tabs__list__item--active:focus { outline: none; }

/* Tab list */
.responsive-tabs ul.responsive-tabs__list {
  font-size: 14px; line-height: 14px;
  margin: 0 0 -1px 0; padding: 0;
  position: relative; z-index: 2;
}

/* Inactive tab */
.responsive-tabs .responsive-tabs__list__item {
  background: var(--ww-charcoal);
  border: 1px solid var(--ww-charcoal);
  border-bottom: 1px solid var(--ww-border-light);
  border-radius: 4px 4px 0 0;
  color: #fff;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 13px; line-height: 15px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  margin: 0 2px 0 0; padding: 10px 16px;
  white-space: nowrap; float: left;
  user-select: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.responsive-tabs .responsive-tabs__list__item .fa { margin-right: 9px; line-height: 0.8; }
.responsive-tabs__list .fa { display: none; }

/* Inactive tab hover */
.responsive-tabs .responsive-tabs__list__item:hover {
  background: #555;
  border-color: #555;
  border-bottom-color: var(--ww-border-light);
  color: #fff;
}

/* Active tab */
.responsive-tabs .responsive-tabs__list__item--active,
.responsive-tabs .responsive-tabs__list__item--active:hover {
  background: #fff;
  border: 1px solid var(--ww-border-light);
  border-bottom: 1px solid #fff;
  color: var(--ww-charcoal);
  font-weight: 700;
  border-radius: 4px 4px 0 0;
  padding-bottom: 12px; margin-top: 0; margin-bottom: -1px;
  position: relative; top: 0; z-index: 3;
}

/* Content panel */
.responsive-tabs .responsive-tabs__panel {
  background: #fff;
  border: 1px solid var(--ww-border-light);
  border-radius: 0 0 4px 4px;
  clear: left; margin-bottom: 0;
  padding: 20px 20px 0;
  word-wrap: break-word;
  position: relative; z-index: 1;
}
.responsive-tabs .responsive-tabs__panel:after {
  content: ""; display: block; height: 0; clear: both;
}

@media (min-width: 768px) {
  .responsive-tabs .responsive-tabs__panel--closed-accordion-only { display: block; }
}

/* Mobile accordion */
@media (max-width: 767px) {
  .responsive-tabs .responsive-tabs__list { display: none; }
  .responsive-tabs .responsive-tabs__heading {
    display: block; cursor: pointer;
    background: #fff;
    border: 1px solid #ccc; border-top: none;
    color: #777;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 14px; font-weight: normal;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    margin: 0; padding: 10px 0 10px 10px;
    position: relative;
    transition: background-color 0.15s ease;
  }
  .responsive-tabs .responsive-tabs__heading .fa { margin-right: 9px; display: none; }
  .responsive-tabs .responsive-tabs__heading:after {
    border-left: 6px solid transparent; border-right: 6px solid transparent;
    border-top: 6px solid #777;
    content: ""; display: block; position: absolute;
    right: 20px; top: 20px; height: 0; width: 0;
  }
  .responsive-tabs .responsive-tabs__heading:hover {
    background: #eee; color: #777;
  }
  .responsive-tabs .responsive-tabs__heading:hover:after {
    border-top: 6px solid #777;
  }
  .responsive-tabs .responsive-tabs__heading--active,
  .responsive-tabs .responsive-tabs__heading--active:hover {
    background: var(--ww-red); color: #fff;
  }
  .responsive-tabs .responsive-tabs__heading--active:after,
  .responsive-tabs .responsive-tabs__heading--active:hover:after {
    border-bottom: 6px solid #fff; border-top: 0; top: 18px;
  }
  .responsive-tabs-wrapper { border-top: 1px solid #ccc; }
  .responsive-tabs .responsive-tabs__panel {
    background: #fff; border: 1px solid #ccc;
    border-radius: 0; border-top: none;
    margin: 0; padding: 0 10px; padding-top: 10px;
  }
}

/* --------------------------------------------------------------------------
   6. Pagefind Theme Overrides
   -------------------------------------------------------------------------- */
:root {
  --pagefind-ui-scale: 0.85;
  --pagefind-ui-primary: #C9442D;
  --pagefind-ui-text: #333;
  --pagefind-ui-font: "Open Sans", sans-serif;
  --pagefind-ui-border-width: 1px;
  --pagefind-ui-border-radius: 3px;
}
.pagefind-ui .pagefind-ui__search-input {
  font-size: 14px; padding: 6px 10px; height: auto;
}
.pagefind-ui .pagefind-ui__result-link {
  color: var(--ww-link);
}
.pagefind-ui .pagefind-ui__result-excerpt {
  font-size: 13px; line-height: 1.5;
}
.pagefind-ui .pagefind-ui__search-clear {
  top: 50%; transform: translateY(-50%);
}
.sidebar .pagefind-ui .pagefind-ui__results-area {
  max-height: 60vh; overflow-y: auto;
}

/* --------------------------------------------------------------------------
   7. Testimonial / Comments Cards
   -------------------------------------------------------------------------- */
.blockquote,
.blockquote-full,
.testimonial,
blockquote.testimonial {
  background: var(--ww-table-alt-row);
  border-left: 4px solid var(--ww-red);
  border-radius: 0 4px 4px 0;
  padding: 20px 24px;
  margin: 20px 0;
  font-style: normal;
  color: var(--ww-charcoal);
}

.blockquote strong:first-child,
.blockquote-full strong:first-child,
.testimonial strong:first-child {
  display: block;
  font-size: 15px;
  color: var(--ww-red);
  margin-bottom: 10px;
}

.blockquote p:last-child,
.blockquote-full p:last-child,
.testimonial p:last-child {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   8. Typography Improvements (tabs & panels)
   -------------------------------------------------------------------------- */
.responsive-tabs__panel h5,
.tabcontent h5,
.kt-tab-inner-content h5 {
  margin-top: 24px;
  margin-bottom: 10px;
}

.responsive-tabs__panel h5:first-child,
.tabcontent h5:first-child,
.kt-tab-inner-content h5:first-child {
  margin-top: 0;
}

.responsive-tabs__panel ul,
.tabcontent ul,
.kt-tab-inner-content ul {
  padding-left: 20px;
}

.responsive-tabs__panel li,
.tabcontent li,
.kt-tab-inner-content li {
  margin-bottom: 6px;
  line-height: 1.6;
}

.responsive-tabs__panel p,
.tabcontent p,
.kt-tab-inner-content p {
  margin-bottom: 14px;
  line-height: 1.65;
}

/* --------------------------------------------------------------------------
   9. Accordion Improvements
   -------------------------------------------------------------------------- */
.kt-accordion .panel-heading {
  transition: background-color 0.15s ease;
}

.kt-accordion .panel-heading:hover {
  background-color: #f8fafc;
}

.kt-accordion .accordion-toggle h5 {
  margin: 0;
  display: inline;
}

.kt-accordion .panel-heading a.accordion-toggle {
  color: var(--ww-charcoal);
}

.kt-accordion .panel {
  border-color: var(--ww-border-mid);
  border-radius: 2px;
  margin-bottom: 4px;
}

/* --------------------------------------------------------------------------
   10. CTA, Video, Image, Link Polish
   -------------------------------------------------------------------------- */
.tabcontent > p:last-child a[href*="dealer"],
.responsive-tabs__panel > p:last-child a[href*="dealer"],
.kt-tab-inner-content > p:last-child a[href*="dealer"] {
  font-weight: 700;
}

.videofit { margin: 20px 0; }
.videofit iframe { border-radius: 4px; }

.tabcontent img,
.responsive-tabs__panel img,
.kt-tab-inner-content img {
  border-radius: 2px;
}

.tabcontent a:hover,
.responsive-tabs__panel a:hover,
.kt-tab-inner-content a:hover {
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   11. Navigation Menu Polish
   -------------------------------------------------------------------------- */
#nav-main ul.sf-menu > li > a {
  font-size: 20px;
  font-weight: 500;
}

#nav-main ul.sf-menu > li:hover > a,
#nav-main ul.sf-menu > li.sfHover > a {
  background-color: var(--ww-bg-hover);
  color: var(--ww-red);
  border-radius: 4px;
}

#nav-main .sf-menu ul {
  width: 220px;
  border-radius: 0 0 6px 6px;
  border-color: var(--ww-border-mid);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  overflow: hidden;
}

#nav-main ul.sf-menu ul li a,
#nav-second ul.sf-menu ul li a {
  font-size: 14px;
  padding: 10px 16px;
  color: var(--ww-dark-gray);
  transition: background-color 0.15s ease, color 0.15s ease;
}

#nav-main ul.sf-menu ul li a:hover,
#nav-main ul.sf-menu ul li.sfHover > a {
  background-color: var(--ww-bg-hover);
  color: var(--ww-red);
}

#nav-main ul.sf-menu ul li.current-menu-item > a {
  color: var(--ww-red);
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   12. Team Blog Page Layout
   -------------------------------------------------------------------------- */
.entry-content > .row {
  margin-bottom: 30px;
  overflow: hidden;
}

.entry-content > .row > .col-md-4 > p:first-child,
.entry-content > .row > .col-md-4 > figure:first-child {
  margin-top: 0;
}

.entry-content > .row > .col-md-8 > h5:first-child {
  margin-top: 0;
}

.entry-content > .row > .col-md-8 > h5 a {
  color: inherit;
}

.entry-content > .row > .col-md-8 > h5 a:hover {
  color: var(--ww-red);
}

/* --------------------------------------------------------------------------
   13. Recent Posts Sidebar Widget
   -------------------------------------------------------------------------- */
.widget_recent_entries .widget-inner li a::before {
  display: none;
}

.widget_recent_entries .widget-inner li {
  padding-left: 0;
}

.widget_recent_entries h3 a {
  color: inherit;
  text-decoration: none;
}

.widget_recent_entries h3 a:hover {
  color: var(--ww-red);
}

.widget_recent_entries .widget-inner li a {
  display: block;
  padding: 6px 10px 6px 0;
  border-radius: 3px;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.widget_recent_entries .widget-inner li a:hover {
  background-color: var(--ww-bg-hover);
  color: var(--ww-red);
  text-decoration: none;
}

.widget_recent_entries .widget-inner ul {
  padding-left: 0 !important;
  margin-left: 0;
  list-style: none;
}

/* --------------------------------------------------------------------------
   14. Homepage Dissolution Notice
   -------------------------------------------------------------------------- */
.ww-dissolution-notice {
  background: var(--ww-table-alt-row);
  border-left: 4px solid var(--ww-red);
  border-radius: 0 4px 4px 0;
  padding: 20px 24px;
  margin: 0 0 20px 0;
  color: var(--ww-charcoal);
}

.ww-dissolution-notice p:last-child {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   15. Header Links — Black with Red Hover
   Override the global `a { color: var(--ww-red) }` for all header links
   in content areas so headers appear in their natural color.
   -------------------------------------------------------------------------- */
.entry-content h1 a, .entry-content h2 a, .entry-content h3 a,
.entry-content h4 a, .entry-content h5 a, .entry-content h6 a,
.homecontent h1 a, .homecontent h2 a, .homecontent h3 a,
.homecontent h4 a, .homecontent h5 a, .homecontent h6 a,
.page-parent .entry-content h5 a {
  color: inherit;
}

.entry-content h1 a:hover, .entry-content h2 a:hover, .entry-content h3 a:hover,
.entry-content h4 a:hover, .entry-content h5 a:hover, .entry-content h6 a:hover,
.homecontent h1 a:hover, .homecontent h2 a:hover, .homecontent h3 a:hover,
.homecontent h4 a:hover, .homecontent h5 a:hover, .homecontent h6 a:hover,
.page-parent .entry-content h5 a:hover {
  color: var(--ww-red);
}

/* --------------------------------------------------------------------------
   16. Footer
   -------------------------------------------------------------------------- */
.ww-footer { text-align: center; padding: 20px 0; }
.ww-footer-links { margin-bottom: 6px; }
.ww-footer-links a { margin: 0 2px; }
.ww-footer-sep { color: var(--ww-footer-muted); margin: 0 4px; }
.ww-footer-copy { color: var(--ww-footer-muted); font-size: 13px; margin: 0; }
