/* ==========================================================================
   Main Site Navigation & Footer Styles (synced from TheTappingSolution.com)
   ========================================================================== */

/* Prevent horizontal overflow from carousels affecting viewport */
html {
    overflow-x: hidden;
}

/* Navigation Wrapper */
.nav-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100vw;
    max-width: 100vw;
    z-index: 1000;
    background: #fffcf5;
    transition: box-shadow 0.3s ease;
    box-sizing: border-box;
}

.nav-wrapper.scrolled {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Main Navigation */
.main-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1400px;
    margin: 0 auto;
    padding: 1rem 5%;
    height: auto;
}

.nav-logo img {
    height: 32px;
    width: auto;
    max-height: 32px;
}

.nav-logo a {
    display: flex;
    align-items: center;
}

/* Navigation Links */
.nav-links {
    display: flex;
    align-items: center;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-links > li {
    position: relative;
}

.nav-links > li > a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 0;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #3d3d3d;
    text-decoration: none;
    transition: color 0.2s ease;
}

.nav-links > li > a:hover {
    color: #75a293;
}

.nav-links > li > a .arrow {
    font-size: 0.65rem;
    transition: transform 0.3s ease;
    display: inline-block;
}

.nav-links > li:hover > a .arrow {
    transform: rotate(180deg);
}

/* Dropdown Base Styles */
.dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    min-width: 220px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(10px);
    transition: all 0.2s ease;
    padding: 12px 0;
    z-index: 100;
}

/* Triangle anchor pointing up from dropdown */
.dropdown::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid white;
}

.nav-links > li:hover > .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.dropdown a {
    display: block;
    padding: 10px 20px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #3d3d3d;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.dropdown a:hover {
    background: rgba(117, 162, 147, 0.1);
    color: #75a293;
}

/* Mega Dropdown */
.dropdown.mega {
    left: 0;
    transform: translateY(10px);
    min-width: 520px;
    padding: 1.25rem;
    display: flex;
    gap: 1.5rem;
}

.dropdown.mega::before {
    left: 60px;
    transform: none;
}

.nav-links > li:hover > .dropdown.mega {
    transform: translateY(0);
}

.mega-col {
    flex: 1;
}

.mega-col a {
    display: block;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    font-size: 0.9rem;
    color: #3d3d3d;
    text-decoration: none;
    transition: all 0.2s;
}

.mega-col a:hover {
    background: rgba(117, 162, 147, 0.1);
    color: #75a293;
}

.dropdown-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8d939b;
    padding: 0 0.75rem 0.5rem;
    font-weight: 600;
}

/* Navigation Right Section */
.nav-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Search Button */
.nav-search-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.2s ease;
}

.nav-search-btn:hover {
    background: rgba(0, 0, 0, 0.05);
}

.nav-search-btn svg {
    width: 20px;
    height: 20px;
    color: #1a1a1a;
}

/* CTA Button */
.nav-cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: #75a293;
    border-radius: 50px;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.nav-cta:hover {
    background: #5d8577;
    transform: translateY(-1px);
}

/* Mobile Menu Button */
.mobile-menu-btn {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}

.mobile-menu-btn span {
    display: block;
    width: 24px;
    height: 2px;
    background: #1a1a1a;
    margin: 3px 0;
    transition: all 0.3s ease;
}

.mobile-menu-btn.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.mobile-menu-btn.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-btn.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* Search Modal */
.search-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.search-modal.active {
    display: flex;
}

.search-modal-content {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    width: 100%;
    max-width: 600px;
    position: relative;
}

.search-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    background: #f5f5f5;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}

.search-modal-close:hover {
    background: #e5e5e5;
}

.search-modal h3 {
    font-family: 'Fraunces', serif;
    font-size: 28px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 24px;
    text-align: center;
}

.search-modal form {
    display: flex;
    gap: 12px;
}

.search-modal input[type="text"] {
    flex: 1;
    padding: 14px 20px;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    border: 2px solid #e5e5e5;
    border-radius: 50px;
    outline: none;
    transition: border-color 0.2s ease;
}

.search-modal input[type="text"]:focus {
    border-color: #75a293;
}

.search-modal button[type="submit"] {
    padding: 14px 28px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: #75a293;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.search-modal button[type="submit"]:hover {
    background: #5d8577;
}

/* Mobile Navigation */
.mobile-nav {
    display: none;
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    max-width: 100vw;
    background: #fffcf5;
    z-index: 999;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px;
    box-sizing: border-box;
}

.mobile-nav-links,
.mobile-nav-links > li,
.mobile-nav-links > li > a {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
}

.mobile-nav.active {
    display: block;
}

.mobile-nav-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav-links > li {
    border-bottom: 1px solid #e5e5e5;
}

.mobile-nav-links > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    font-family: 'DM Sans', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #1a1a1a;
    text-decoration: none;
}

.mobile-nav-links > li > a .arrow {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
    display: inline-block;
}

.mobile-nav-links > li.open > a .arrow {
    transform: rotate(180deg);
}


.mobile-dropdown {
    display: none;
    padding: 0 0 16px 16px;
}

.mobile-nav-links > li.open .mobile-dropdown {
    display: block;
}

.mobile-dropdown a {
    display: block;
    padding: 10px 0;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    color: #666;
    text-decoration: none;
}

.mobile-dropdown a:hover {
    color: #75a293;
}

.mobile-nav-cta {
    display: block;
    margin-top: 24px;
    padding: 16px;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: #75a293;
    border-radius: 50px;
    text-align: center;
    text-decoration: none;
}


/* ==========================================================================
   Site Footer Styles (synced from TheTappingSolution.com)
   ========================================================================== */

.site-footer {
    background: #2c3e50;
    color: white;
    padding: 48px 0 0;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
    gap: 48px;
}

.footer-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.footer-heading {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.4;
    color: #ffffff;
    margin: 0;
    white-space: nowrap;
}

.footer-heading--brand {
    font-size: 20px;
    line-height: 1.3;
    white-space: normal;
}

.footer-description {
    font-family: 'Open Sans', -apple-system, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    max-width: 280px;
}

.footer-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-nav li {
    margin: 0;
}

.footer-nav a {
    font-family: 'Open Sans', -apple-system, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.footer-nav a:hover {
    color: #fffcf5;
}

.footer-contact-intro {
    font-family: 'Open Sans', -apple-system, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

.footer-email {
    font-family: 'Open Sans', -apple-system, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-email:hover {
    color: #fffcf5;
}

.footer-address {
    font-family: 'Open Sans', -apple-system, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: rgba(255, 255, 255, 0.7);
    font-style: normal;
    margin: 0;
}

.footer-social {
    display: flex;
    gap: 16px;
    align-items: center;
}

.footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: color 0.2s ease;
}

.footer-social a:hover {
    color: #fffcf5;
}

.footer-social svg {
    width: 20px;
    height: 20px;
}

.footer-social a:hover svg path {
    fill: #fffcf5;
}

/* Footer Bottom */
.footer-bottom {
    border-top: 1px solid #364153;
    padding: 32px 0;
    text-align: center;
    margin-top: 48px;
}

.footer-bottom p {
    font-family: 'Lato', -apple-system, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
}

/* FDA Disclaimer Notice - Outside Footer */
.disclaimer-notice {
    background: #F8F6F3;
    border-top: 1px solid #E5E1DC;
    padding: 24px 0;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    overflow-x: hidden;
}

.disclaimer-notice .container {
    max-width: 1152px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.disclaimer-notice .disclaimer-content {
    max-width: 900px;
    margin: 0 auto;
}

.disclaimer-notice p {
    font-family: 'Open Sans', -apple-system, sans-serif;
    font-size: 0.875rem;
    line-height: 1.6;
    color: #6B6B6B;
    text-align: center;
    margin: 0;
}

.disclaimer-notice strong {
    color: #6B6B6B;
}

/* ==========================================================================
   Responsive Navigation & Footer
   ========================================================================== */

@media (max-width: 1100px) {
    .nav-links > li > a {
        padding: 10px 12px;
        font-size: 14px;
    }
}

@media (max-width: 900px) {
    .nav-links,
    .nav-cta {
        display: none;
    }

    .mobile-menu-btn {
        display: flex;
    }

    .main-nav {
        padding: 0 20px;
    }

    .nav-logo {
        flex: 1;
        min-width: 0;
    }

    .nav-logo img {
        max-width: 200px;
        height: auto;
    }

    .nav-right {
        flex-shrink: 0;
    }

    .footer-container {
        padding: 0 30px;
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 48px;
    }

    .footer-heading {
        white-space: normal;
    }

    .footer-nav a {
        white-space: normal;
    }
}

@media (max-width: 768px) {
    .main-nav {
        height: 70px;
    }

    .mobile-nav {
        top: 70px;
    }

    .nav-logo img {
        height: 40px;
    }

    .footer-container {
        padding: 0 20px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer-column {
        text-align: center;
    }

    .footer-heading {
        white-space: normal;
    }

    .footer-nav a {
        white-space: normal;
    }

    .footer-description {
        max-width: 100%;
    }

    .footer-social {
        justify-content: center;
    }

    .search-modal-content {
        padding: 30px 20px;
    }

    .search-modal form {
        flex-direction: column;
    }

    .search-modal button[type="submit"] {
        width: 100%;
    }

    .disclaimer-notice {
        padding: 24px 0;
    }

    .disclaimer-notice .container {
        padding: 0 20px;
    }

    .disclaimer-notice p {
        font-size: 0.875rem;
        text-align: center;
    }
}

/* Body state classes */
body.mobile-menu-open,
body.search-modal-open {
    overflow: hidden;
}

/* Hide old navigation styles - replaced by new nav-wrapper */
#custom-top {
    display: none !important;
}

/* Hide old footer styles - replaced by new .site-footer */
#footer,
#sub-footer,
#social-section {
    display: none !important;
}

/* ==========================================================================
   Base Typography & Colors (synced from TheTappingSolution.com)
   ========================================================================== */

:root {
    --color-cream: #fffcf5;
    --color-teal: #1AA6B7;
    --color-teal-dark: #158A98;
    --color-green: #75a293;
    --color-green-dark: #5d8a7a;
    --color-navy: #2C3E50;
    --color-charcoal: #333333;
    --color-gray-600: #666666;
    --color-gray-400: #999999;
    --font-display: 'Playfair Display', Georgia, serif;
    --font-body: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-nav: 'Lato', -apple-system, sans-serif;
}

body {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 1.8;
    color: var(--color-charcoal);
    background: #fff;
    margin: 0;
    padding-top: 70px; /* Space for fixed nav */
}

#post-left img {
    max-width: 100%;
}

a {
    color: var(--color-teal);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--color-teal-dark);
}

i, em {
    font-style: italic;
}

b, strong {
    font-weight: 700;
}

.black {
    color: black !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-navy);
    margin: 0 0 1rem;
}

h1, .h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
    text-align: left;
    margin-bottom: 1.25rem;
}

h3 {
    font-size: 1.5rem;
    text-align: left;
    margin-bottom: 1rem;
}

h4 {
    font-size: 1.25rem;
}

h5 {
    font-size: 1.125rem;
}

h6 {
    font-size: 1rem;
}

/* Blog content area */
#body-content {
    line-height: 1.8;
}

#body-content p {
    margin-bottom: 1.5rem;
}

/* Post content typography */
.entry-content,
.post-content,
#post-content {
    font-size: 1.0625rem;
    line-height: 1.8;
    color: var(--color-charcoal);
}

.entry-content h2,
.post-content h2,
#post-content h2 {
    font-size: 1.75rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.entry-content h3,
.post-content h3,
#post-content h3 {
    font-size: 1.375rem;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.entry-content p,
.post-content p,
#post-content p {
    margin-bottom: 1.5rem;
}

.entry-content a,
.post-content a,
#post-content a {
    color: var(--color-teal);
    text-decoration: underline;
    text-decoration-color: rgba(26, 166, 183, 0.3);
    text-underline-offset: 2px;
}

.entry-content a:hover,
.post-content a:hover,
#post-content a:hover {
    color: var(--color-teal-dark);
    text-decoration-color: var(--color-teal-dark);
}

/* Blockquotes */
blockquote {
    border-left: 4px solid var(--color-green);
    padding-left: 1.5rem;
    margin: 2rem 0;
    font-style: italic;
    color: var(--color-gray-600);
}

/* Lists in content */
.entry-content ul,
.entry-content ol,
.post-content ul,
.post-content ol,
#post-content ul,
#post-content ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

.entry-content li,
.post-content li,
#post-content li {
    margin-bottom: 0.5rem;
}

/* ==========================================================================
   Legacy Blog Styles (keeping for backward compatibility)
   ========================================================================== */

#body-content.default h1 {
	font-size:32px;
	font-weight:700;
	margin-bottom:20px;
	line-height:1.2;
	color:#000;
}
#body-content.default h2 {
	font-size:24px;
	margin-bottom:20px;
	font-weight:700;
}

#body-content.default p {
	margin-bottom:20px;
}
#body-content.default {
	color:#666;
}




.box-700 {
	width:700px;
	margin:0 auto;
	max-width:100%;
}
.box-900 {
	width:900px;
	margin:0 auto;
	max-width:100%;
	color:#7b7b7b;
}
.center {
	text-align:center !important
}


.container {
	width:990px;
	margin:0 auto;
	text-align:center;
}
#top .container-inner {
	padding:10px 0;
}
.container-inner {
	padding:40px 0;
	text-align:left;
}
.container-inner.top-40 {
	padding-top:40px;
}
.container-inner.bottom-40 {
	padding-bottom:40px;
}
.container-inner.top-0 {
	padding-top:0;
}
.container-inner.bottom-0 {
	padding-bottom:0;
}


.center {
	text-align:center !important;
}

.green-button, #commentform #submit {
	font-weight:700;
	background:#7cb600;
	color:white;
	display:inline-block;
	padding:10px 20px;
	border-radius:5px;
	text-decoration:none;
	border:0;
	font-size:16px;
	font-style:italic;
	box-sizing:border-box;
}
.green-button:hover {
	background:#679700
}
.pink-button {
	font-weight:700;
	background:#e31172;
	color:white;
	display:inline-block;
	padding:10px 20px;
	border-radius:5px;
	text-decoration:none;
	border:0;
	font-size:16px;
	font-style:italic;
	box-sizing:border-box;
}

/* Legacy #top-spacer removed - fixed nav no longer needs spacer element */

#top {
	background:white;
	padding:0px 10px;
	box-sizing:border-box;
	width:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:10;
	box-shadow: 0px 0px 5px #333;
}
#top.show-mobile {
	position:absolute;
}
#top-table {
	display:table;
	width:100%;
}
#top #logo {
	display:table-cell;
	width:270px;
	vertical-align:middle;
}
#top #logo img {
	width:100%;
}

#top-nav-search {
	display:table-cell;
	text-align:right;
	vertical-align:middle;
}
#top-nav-search ul, #top-nav-search form {
	display:inline-block;
}
#top-nav-search ul {
	list-style:none;
}
#top-nav-search li {
	display:inline-block;
	position:relative;
}
#top-nav-search li a {
	display:block;
	color:#404040;
	
	text-decoration:none;
	font-weight:700;
	padding:0 10px;
}
#top-nav-search li a span {
	display:inline-block;
	padding:5px 0px;
	border-bottom:3px solid transparent;
}

#top-nav-search li ul {
	display:none;
	position:absolute;
	top:30px;
	left:0;
	border:1px solid #ddd;
}
#top-nav-search li ul li {
	display:block;
}
#top-nav-search li ul li a {
	display:block;
	background:white;
	box-sizing:border-box;
	background:white;
	padding:15px 30px;
	text-align:left;
	font-weight:400;
	color:#222;
	width:200px;
	text-transform:uppercase;
}
#top-nav-search li ul li a:hover {
	background:#0189b9;
	color:white;
}

#top-nav-search li a:hover span {
	border-bottom:3px solid #7cb600;
}

.resp-menu-box {
	display:none;
}
.resp-menu-box.show-mobile {
	display:block;
}
.resp-menu-box.show-mobile ul {
	list-style:none	
}
.resp-menu-box.show-mobile li {
	display:block;
	padding:10px;
	border-top:1px solid #ddd;
}
.resp-menu-box.show-mobile li a {
	color:#333;
	font-weight:700;
	text-decoration:none;
	font-size:20px;
	display:block;
}
#top-resp-menu {
	display:table-cell;
	vertical-align:middle
}
#top-right {
	display:table-cell;
	vertical-align:middle
}
#top-right img {
	vertical-align:middle
}
#top-right .top-search {
	margin-right:20px;
}

#sub-nav {
	background:#0089b7;
	
}
#sub-nav ul {
	list-style:none;
	text-align:center;
}
#sub-nav li {
	display:inline-block;
	width:16.6%;
	box-sizing:border-box;
	text-align:center;
	vertical-align:middle;
}
#sub-nav li a {
	color:white;
	padding:15px 0;
	letter-spacing:1px;
	display:block;
	font-size:14px;
	text-transform:uppercase;
	text-decoration:none;
}
#sub-nav li a:hover {
	background:#007ba4
}

#optin-section {
	background:#e9f6fc;
	color:#999;
}
#optin-section .container-inner {
	padding-top:0;
	padding-bottom:0;
}

#optin-inner {
	padding:20px 10px;
	
}

#optin-inner img {
	float:left;
}
#optin-inner form {
	margin-top:10px;
}
#optin-inner-right {
	margin-left:110px;
	font-weight:400;
	font-size:12px;
}
#optin-inner-right span{
	font-weight:700;
	color:black;
	font-size:20px;
	display:block;
	line-height:1;
	font-style:italic;
	margin-bottom:10px;
}
#optin-inner form input {
	box-sizing:border-box;
	padding:10px;
	width:100%;
	border-radius:5px;
	display:block;
	margin-bottom:5px;
}
#optin-inner form input[type=text] {
	border:1px solid #ddd;
}

#optin-left {
	width:250px;
	display:table-cell;
	vertical-align:middle;
}
#optin-left img {
	position:relative;
	top:-15px;
}
#optin-main {
	display:table-cell;
	vertical-align:middle;
	line-height:1.2;
}
#optin-main h3 {
	color:black;
	font-size:24px;
	font-weight:700;
	margin-bottom:10px;
}
#optin-main input[type=text] {
	box-sizing:border-box;
	padding:12px 10px 9px;
	border:1px solid #eee;
	border-radius:5px;
	margin-right:5px;
	width:33%
	
}
#optin-main input {
	margin-top:10px;
}


.optin-hidden-book {
	display:none;
	margin-bottom:30px
}


.blog-optin {
	background:#e9f6fc;
	padding:30px;
	margin-bottom:10px;
}
.blog-optin #optin-left {
		display:none;
	}
	.blog-optin #optin-main {
		display:block;
	}
	.blog-optin .optin-hidden-book {
		float:left;
		display:inline;
		width:150px;
		margin-right:10px;
	}
	.container-inner .blog-optin #optin-main input {
		width:100%;
		margin:10px 0 0;
		padding:20px 10px;
	}
	.blog-optin #optin-main .green-button {
		
		text-transform:uppercase;
		letter-spacing:2px;
		font-style:normal;
	}
	.blog-optin #optin-section .container-inner {
		padding:20px 10px;
	}



#as-seen {
	width:100%;
	margin:40px 0;
}
#as-seen2 {
	display:none;
}
.box-33 {
	width:33.3%;
}
.box-50 {
	width:50%;
}
.box-33, .box-50 {
	display:inline-block;
	box-sizing:border-box;
	padding:10px;
	text-align:center;
	vertical-align:top;
}
.box-33 span, .box-50 span {
	color:black;
	font-size:24px;
	display:block;
	font-weight:700;
	margin:10px 0;
}
.box-33 img, .box-50 img {
	width:100%;
}
.cropped-bg {
	width:100%;
	height:300px;
}
.cropped-bg span {
	display:none;
}
#section-a .green-button {
	margin-top:20px;
}
#section-a span {
	margin:10px 0 20px;
}
#section-a span a {
	color:black;
	text-decoration:none
}
#section-a {
	color:#aaa;
	font-size:12px;
}
#section-a-table {
	display:table;
	width:100%;
	border-collapse:separate;
	border-spacing:10px;
}
#section-a-table .box-33 {
	display:table-cell;
	vertical-align:top;
	border:1px solid #ddd;
	box-shadow:1px 1px 1px #ddd;
	padding:0;
	font-size:14px;
}
#section-a-table .box-33 .box-33-text {
	padding:10px;
	line-height:1.3
}

#program-blocks a {
	display:inline-block;
	width:31%;
	margin:10px 1%;
	box-sizing:border-box;
}
#program-blocks a.hovered {
	background:black;
	position:relative;
}
#program-blocks a img {
	width:100%;
}
#program-blocks a.hovered img {
	opacity:.4;
}
.soon-text {
	position:absolute;
	color:white;
	font-weight:700;
	font-size:30px;
	width:100%;
	text-align:center;
	top:40%;
	text-shadow:1px 1px 1px #000;
}

#experts-main {
	background:#f1f1f1;
	color:#999;
}

#tap-in-action {
	color:#999;
}
#tap-in-action .box-50 {
	margin-top:20px;
}
#tap-in-action .box-50 a {
	text-decoration:none
}
#tap-med {
	background:#333;
	color:#999;
}
#tap-med h2 {
	color:white;
}
#tap-med .box-33 {
	margin:20px 0;
}

#library {
	background:#f1f1f1;
	color:#666;
}
#library a {
	text-decoration:none;
	color:#000;
}


#blog-section h3 {
	float:left;
}
#blog-section .box-33 span a, .blog-column-post-right .title a {
	color:black;
	text-decoration:none;
}
#blog-section .box-33 img {
	width:100%;
	height:300px;
	object-fit:cover;
}

@media only screen and (max-width:600px) {
	#blog-section .box-33 img {
		object-fit:fill;
		width:100%;
		height:auto;
	}
}

.line {
	height:1px;
	background:#ddd;
	content:'';
	margin:20px 0;
}
.line.v40 {
	margin:40px 0
}


.line-sides {
    padding:0;
    position:relative;
    overflow:hidden;
    text-align:center;
	text-transform:uppercase;
	font-size:14px;
	letter-spacing:2px;
	color:#000;
	margin-bottom:20px;
	font-weight:500;
}
.line-sides:before,.line-sides:after {
    content:" ";
    position:absolute;
    top:50%;
    margin-left:-999em;
    height:2px;
    width:998em;
    border-top:1px solid #ddd;
}
.line-sides:after {
    left:auto;
    width:999em;
    margin:0 0 0 1em;
}

#blog-section .green-button {
	margin-top:20px;
}
#blog-section .box-33 {
	color:#999;
	font-size:14px;
	text-align:left;
	line-height:1.5;
}
#blog-section .box-33 span  {
	margin:15px 0;
	line-height:1.2;
}



.blog-column-post {
	padding:20px 0;
	border-bottom:1px solid #ddd
}
.blog-column-post:nth-child(1), .blog-column-post:nth-child(1) .blog-column-post-left {
	padding-top:0;
}

.blog-column-post-right {
	color:#999;
	font-size:14px;
}
.blog-column-post-right span.title {
	color: black;
    font-size: 24px;
    display: block;
    font-weight: 700;
}
.blog-column-post-right h5 {
	text-transform:uppercase;
	font-weight:500;
    margin-bottom:3px;
}
.blog-column-post-right h6{
	font-style:italic;
	margin-bottom:20px;
}
.blog-column-post-right .green-button {
	margin-top:20px;
}



#blog-section h5 {
	text-transform:uppercase;
	font-size:14px;
	margin-top:20px;
	letter-spacing:1px;
	font-weight:500;
}
.blue {
	color:#0089b6 !important
}
.dblue {
	color:#2c5492 !important
}
.green {
	color:#7cb600  !important
}
.red {
	color:#b63c00 !important;
}
.orange {
	color:#f5b860 !important;
}
.pink {
	color:#e1036f !important;
}
.purple {
	color:#6b00b6 !important;
}
.post-quotation {
	margin:10px 20px 20px;
}
.post-quotation .quotes {
	margin:0 10px;
}
.post-quotation .quote-left, .post-quotation .quote-right, .post-quotation .middle {
	display:table-cell;
}
.post-quotation .quote-left {
	vertical-align:top;
	padding-right:10px;
}
.post-quotation .quote-right {
	vertical-align:bottom;
	padding-left:10px;
}
.post-quotation .middle  {
	font-size:20px;
	color:black;
	font-weight:700;
	font-style:italic;
}

#blog-column-left {
	width:66%;
	float:left;
	box-sizing:border-box;
	padding-right:10px;
}
#blog-column-right {
	float:right;
	width:33%;
}
.blog-column-post-left, .blog-column-post-right {	
	float:left;
	box-sizing:border-box;
	padding:10px;
}
.blog-column-post-left {
    width:25%;
}
.blog-column-post-right {
    width:75%;
}


/* Listing thumb square crop (2026-07-16): moved off aspect-ratio-on-<img> to a
   wrapper-anchor + object-fit:cover pattern (same technique as .keep-reading-thumb
   below) for reliable cross-browser square cropping regardless of the source
   image's native aspect ratio. Fixes the 26 batch-4/5 posts (2032x774 wide-hero
   source, no dedicated squareImage crop at the time) rendering as tall strips in
   the main listing column; see audit/hero-images-batch5.md for the root-cause note. */
.blog-column-post-left a {
	display:block;
	aspect-ratio:1/1;
	overflow:hidden;
}
.blog-column-post-left img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

#recent-posts {
	margin-top:40px;
}
.rec-post {
	margin-bottom:20px;
}
.rec-post.main img {
	border-radius:50%;
	margin-bottom:20px;
}
.rec-post img {
	width:100px;
	height:100px;
	object-fit:cover;
	float:left;	
}
.rec-post-text {
	margin-left:110px;
	font-style:italic;
	color:#999;
	font-size:14px;
}
.rec-post.main .rec-post-text a {
	margin-bottom:5px;
}
.rec-post-text a {
	display:block;
	margin-bottom:20px;
	font-style:normal;
	color:#333;
	text-decoration:none;
	font-weight:700;
	font-size:16px;
}


#cats-column {
	margin-top:40px;	
}
#cats-column a {
	display:block;
	padding:10px 0;
	border-bottom:1px solid #ddd;
	text-transform:uppercase;
	color:#000;
	text-decoration:none;
	letter-spacing:2px;
	font-weight:500;
}
.all-link {
	float:right;
	color:#3d99be;
	font-weight:700;
	font-style:italic;
}


.pagination {
	margin-top:40px;
}
.pagination a {
	float:left;
	border:1px solid #ddd;
	padding:10px 20px;
	border-radius:5px;
	text-decoration:none;
	color:#999;
	font-weight:400;
	margin-right:10px;
	
	
}
.pagination a.current {
	background:#0089b6;
	color:white;
}

#interviews {
	background:#f1f1f1;
}
#interviews .green-button {
	margin-top:20px;
}

#interviews .box-33 a {
	text-decoration:none;
}

#foundation-section {
	color:#666;
}
#foundation-section .green-button {
	margin-top:20px;
}

#social-section {
	background:#f1f1f1;
}

#social-section .box-33 img {
	width:150px;
	display:block;
	border-radius:50%;
	margin:0 auto 20px;
}

#social-section a {
	color:#3d99be;
	font-weight:700;
	font-style:italic;
}
#social-section h2 {
	margin-bottom:40px;
}
.quote-section {
	color:white;
}
.quote-section .container-inner {
	padding:100px 0;
	text-align:center;
}
.quote-mark {
	margin-bottom:50px;
}
.quote-text {
	font-size:44px;
	font-style:italic;
	margin-bottom:50px;
}
.q3 .quote-text {
	font-size:42px;
}
.quote-by {
	margin:20px 0 10px;
	text-transform:uppercase;
	letter-spacing:2px;
	font-size:24px;
}
.quote-by-extra {
	font-style:italic;
	font-size:24px;
}
.quote-section.q1 {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/quote-bg-1.jpg') no-repeat 50% 50%;
	background-size:cover;
}
.quote-section.q2 {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/quote-bg-2.jpg') no-repeat 50% 50%;
	background-size:cover;
}
.quote-section.q3 {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/quote-bg-3.jpg') no-repeat 50% 50%;
	background-size:cover;
}

#post-left {
	width:66%;
	float:left;
}
#post-right {
	width:33%;
	float:right;
}


.podcast {
	display:table;
	width:100%;
}
.debuted {
	float:right;
}
.podcast-section {
	display:table-cell;
	width:50%;
	box-sizing:border-box;
	padding:50px 50px 0px;
	vertical-align:top;
	
}
.podcast-section.bits {
	background:url('https://tappingsolution.s3.amazonaws.com/bits-podcast/new-bits-home-bg-alex.jpg') no-repeat 60% 50%;
	background-size:cover;
	text-align:center;	
}
.podcast-section.text1 {
	position:relative;
	z-index:1;
	background:white;
	transform: skew(-5deg,0deg);
	-ms-transform: skew(-5deg,0deg); /* IE 9 */
    -webkit-transform: skew(-5deg,0deg); /* Safari */
	left:5%;
}
.text1-inner {
	transform: skew(5deg,0deg);
	-ms-transform: skew(5deg,0deg); /* IE 9 */
    -webkit-transform: skew(5deg,0deg); /* Safari */
}
.podcast-section.text2 {
	position:relative;
	z-index:1;
	background:white;
	transform: skew(5deg,0deg);
	-ms-transform: skew(5deg,0deg); /* IE 9 */
    -webkit-transform: skew(5deg,0deg); /* Safari */
	right:5%;
}
.text2-inner {
	transform: skew(-5deg,0deg);
	-ms-transform: skew(-5deg,0deg); /* IE 9 */
    -webkit-transform: skew(-5deg,0deg); /* Safari */
}

.podcast-section.adv, .podcast-section.bits {
	width:55%;
}
.podcast-section.text1, .podcast-section.text2 {
	width:45%;
}
.podcast-section.adv {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/adv-bg.jpg') no-repeat 50% 50%;
	background-size:cover;
}
.podcast-section.adv img.full{
	width:330px
}
.podcast-section.adv .subscribe {
	position:relative;
}
.subscribe {
	color:white;
	margin-top:20px;
}
.text1-inner .subscribe {
		display:none;
}
.adv .subscribe {
	font-weight:700;
	color:#333;
}
.subscribe .green-button, .subscribe .pink-button {
	margin-left:10px;
	margin-bottom:10px;
}

.slant-left {
	position:absolute;
	bottom:0;
	right:0;
}
.podcast-section.bits img{
	width:100%;
}
#podcast-section .see-all {
	color:#3d99be;
	font-weight:700;
	text-decoration:none;
	font-style:italic;
}
.ep-list {
	display:table;
}
.ep {
	display:table-row;
	color:#999
}
.ep-img {
	width:80px;
	padding-right:10px;
}
.ep-img img {
	width:100%;
	border-radius:50%;
}
.ep-img, .ep-text {
	display:table-cell;
	vertical-align:middle;
	padding-bottom:20px;
}
.ep-text {
	line-height:1.4;
}
.ep img {
	margin-right:10px;
	
}
.ep span, .ep span a {
	font-weight:700;
	display:block;
	text-decoration:none;
	color:#333
}



.clear {
	clear:both;
	height:0;
	content:'';
}

img.mobile {
	display:none;
}

.lib-slider div {
	text-align:center;
}

.lib-slider a img {
	height:208px;
}

#black-cover {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/black-bg.png');
	content:'';
	width:0;
	position:fixed;
	z-index:99;
}
.lightbox-close {
	display:none;
	position:fixed;
	top:0px;
	right:10px;
	color:white;
	text-decoration:none;
	z-index:100;
}
.lightbox-close:hover {
	color:#ddd;
}
body.cover .lightbox-close {
	display:block;
}
body.cover #black-cover, #black-cover.cover {
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
}
body.cover {
	overflow:hidden;
}
#lightbox-container {
	position:absolute;
}

/* FOR RESPONSIVE YOUTUBE VIDEO */

.video-container {
	position:relative;
	padding-bottom:54%;
	padding-top:30px;
	height:0;
	overflow:hidden;
	margin-bottom:20px;
}

.video-container iframe {
	position:absolute;
	top:0%;
	left:0%;
	width:100%;
	height:100%;
}

#black-cover .video-container {
	position:relative;
	padding-bottom:54%;
	padding-top:30px;
	height:0;
	overflow:hidden;
}

#black-cover .video-container iframe, #black-cover .video-container object, #black-cover .video-container embed {
	position:absolute;
	top:0%;
	left:10%;
	width:80%;
	height:80%;
}



.video-holder-how {
	width:700px;
	margin:0 auto;
	max-width:100%;
}
.video-holder-how .video-container {
	padding-bottom:51%;
}

/* Responsive privacy-enhanced (youtube-nocookie) embed wrapper used in blog post bodies */
.video-embed {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	margin: 20px 0;
	overflow: hidden;
}
.video-embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}



/* main sidebar 'single.php' styling */

@media only screen and (max-width:750px) {
	#post-left, #post-right {
		width:100%;
		float:none;
	}
	
}

/* end single.php styling */


/* Blog styling */
.blog-focus-container {
	background: no-repeat 25% 50%;
	background-size:cover;
	padding:150px 50px;
	text-align:center;
	box-sizing:border-box;
	height:440px;
}
.blog-focus-outer {
	max-width:800px;
	display:inline-block;
	background:white;
	box-sizing:border-box;
	padding:10px;
	margin:0 auto;
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/trans-white-bg.png');
}
.blog-focus-inner {
	background:url(https://tappingsolution.s3.amazonaws.com/blog-images/white-opacity-75.png);
	padding:15px 20px;
	text-align:center;
}
.blog-focus-inner #blog-post-type {
	color:#7cb600;
	font-family:'Asap';
	font-weight:500;
	text-transform:uppercase;
	font-size:15px;
	line-height:1;
	letter-spacing:2px;
}
.blog-focus-inner h1, .blog-focus-inner h1 a, .blog-focus-inner h2, .blog-focus-inner h2 a {
	font-weight:bold;
	font-size:30px;
	margin:10px 0;
	text-decoration:none;
	color:#000;
}
.blog-focus-inner #blog-written-by {
	color:#000;
	font-style:italic;
	font-weight:400;
}

#blog-comments-heading {
	font-size: 32px;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 20px;
    font-weight: 700;
    color: black;

}

.breadcrumbs {
	margin-bottom:20px;
	font-weight:700;
	padding:20px 0;
	color:black;
}
.breadcrumbs a {
	margin:0 5px;
}
#post-content {
	color:#666;
	font-weight:400;
	margin-top:20px;
	line-height:1.5;
}

#post-content .page {
	background:#f7f7f7;
	padding:20px;
	border:1px solid #ccc;
	margin-bottom:10px;
	box-shadow:1px 1px 5px #bbb;
}


#post-content h2 {
	font-size:32px;
	line-height:1.2;
    text-align: center;
    margin-bottom: 20px;
    font-weight: 700;
	color:black;
}
#post-content h2.has-text-align-left {
	text-align:left
}

#post-content h3 {
    font-size: 28px;
    text-align: left;
    margin-bottom: 20px;
    font-weight: 700;
	color:black;
}

#post-content h4 {
    font-size: 24px;
    text-align: left;
    margin-bottom: 20px;
    font-weight: 700;
	color:black;
}

#post-content h5 {
    font-size: 20px;
    text-align: left;
    margin-bottom: 20px;
    font-weight: 700;
	color:black;
}

#post-content h6 {
    font-size: 16px;
    text-align: left;
    margin-bottom: 20px;
    font-weight: 700;
	color:black;
}
#post-content ul, #body-content ul {
	list-style:disc;
	margin-left:30px;
	margin-bottom:20px;
}
#post-content ol, #body-content ol {
	list-style:decimal;
	margin-left:30px;
	margin-bottom:20px;
}
#post-content ul li, #post-content ol li, #body-content ul li, #body-content ol li {
	margin-bottom:15px
}
#post-content blockquote {
font-family: Georgia, serif;
font-size: 18px;
font-style: italic;
width: 500px;
max-width:100%;
margin: 0.25em 0 20px;
padding: 0.25em 40px;
line-height: 1.45;
position: relative;
color: #383838;
}
#post-content blockquote:before {
display: block;
content: "\201C";
font-size: 80px;
position: absolute;
left: -20px;
top: -20px;
color: #7a7a7a;
}
#post-content blockquote cite {
color: #999999;
font-size: 14px;
display: block;
margin-top: 5px;
}

#post-content img {
    max-width:100%
}
/* Fix (2026-07-17): body images with WP-era width/height attributes wider
   than the content column were being squished vertically -- max-width:100%
   shrinks the rendered width but the HTML height attribute stayed pinned at
   its literal pixel value with nothing telling the browser to scale it too,
   so the photo got stretched to fill a box far taller than its own ratio.
   :where() keeps this at zero specificity so it only fills in a sane default
   for plain WP body images and never overrides the more specific object-fit
   crop rules used by nested widgets (.keep-reading-thumb img, .app-cta
   .app-cta-right img, .rec-post img, .hero-split-image img, etc.), which all
   set height themselves and must keep winning. */
:where(#post-content img) {
    height: auto
}

.alignright {
	float:right;
	margin:0 0 10px 10px
}
.alignleft {
	float:left;
	margin:0 10px 10px 0
}
@media only screen and (max-width:700px) {
	.image-half-500, .alignleft, .alignright {
		display:block !important;
		margin:0 auto 10px !important;
		float:none !important
	}
}
#post-content p {
	margin-bottom:20px;
}
.post-info img {
	float:left;
	width:100px;
	height:100px;
	border-radius:50%;
	object-fit:cover;
}
.post-info-text {
	margin-left:120px;
}
.post-info-text-line {
	margin-bottom:5px;
	color:#999;
	font-weight:500;
	display:block;
}
.post-info-text span {
	color:black;
	text-transform:uppercase;
	letter-spacing:2px;
	font-weight:500;
}

#top-left-menu, #top-resp-menu  {
	display:none;
}
#top-left-menu {
	padding-right:20px;
}

.search-box {
	border-top:1px solid #ddd;
	padding:20px 10px 0;
	text-align:center;
	display:none;
}
.search-box.shown {
	display:block;
}
.search-box .search-heading {
	text-align:center;
	margin-bottom:10px;
	font-size: 24px;
    color: #000;
    font-weight: 700;
}
.search-box input {
	width:400px;
	box-sizing:border-box;
	padding:10px;
	max-width:100%;
	height:40px;
	vertical-align:middle;
	display:inline-block;
	margin:10px auto;
	border:1px solid #ddd;
	border-radius:5px;
}
.search-box input[type=submit] {
	width:auto;
	margin-left:5px;
}
@media only screen and (max-width:600px) {
	.search-box input[type=text] {
		width:60%;
	}
	.search-box input[type=submit] {
		width:30%;
	}
}

.menu-X {
	display:none;
}







/* PODCAST STYLING */

#podcast-top-left {
	width:50%;
	float:left;
}
#podcast-top-left img {
	width:100%;
}
#podcast-top-right {
	margin-left:50%;
}
#podcast-top-right-text {
	margin-left:110px;
	font-weight:400;
	color:#7b7b7b;
	line-height:1.7;
}
#podcast-top-right-text h3 {
	margin-bottom:0;
	line-height:1;
}
#podcast-top-right-text h4 {
	margin-bottom:15px;
	color:#444;
	font-size:20px;
	font-style:italic;
	font-weight:500;
}
#podcast-top-right-text .subscribe {
	color:#7b7b7b;
	font-weight:600;
}
#podcast-top-right-text .subscribe .pink-button {
	margin-left:0;
	margin-right:10px;
}
.ribbon {
	float:left
}
#podcast-main-list h3 {
	border-bottom:1px solid #ddd;
	padding-bottom:10px;
}
.podcast-ep {
	clear:both;
	padding:40px 0;
	border-bottom:1px solid #ddd;
}
.podcast-ep-img {
	width:150px;
	float:left;
	padding-right:20px;
}
.podcast-ep-img img {
	border-radius:50%;
	width:100%;
}
.podcast-ep-text {
	font-weight:400;
	line-height:1.5;
	color:#7b7b7b;
	margin-left:160px;
}
.podcast-ep-text a {
	font-weight:700;
	font-style:italic;
	text-decoration:none;
	color:#0089b6;
}
.podcast-ep-text h6 {
	font-size:14px;
	text-transform:uppercase;
	letter-spacing:2px;
	margin-bottom:20px;
	color:#7b7b7b;
}
.podcast-ep-text h4, .podcast-ep-text h4 a {
	font-size:24px;
	font-weight:500;
	margin-bottom:20px;
	color:black;
	font-style:normal;
}

#podcast-post-left {
	width:65%;
	float:left;
	box-sizing:border-box;
	padding-right:20px;
}
#podcast-post-right {
	width:35%;
	float:right;
	text-align:left;
}
#podcast-post-content {
	font-weight:400;
	line-height:1.5;
}
.podcast-column img {
	border-radius:50%;
}


/* END PODCAST STYLING */


/* Experts page */
.experts .box-33 h4, .free-med .box-33 h4 {
	font-size:21px;
	font-weight:500;
	text-align:left;
	margin:15px 0 10px;
	color:#000;
	line-height:1.3;
}
.experts .box-33 a, .free-med .box-33 a {
	text-decoration:none
}
.experts .box-33, .free-med .box-33 {
	text-align:left;
	color:#7b7b7b;
	margin-bottom:20px;
}



/* end Experts page */


/* Thank you page styles */
.thank h3 {
	text-align:center;
}
.thank-you-bonus-table {
	display:table;
	border-collapse:separate;
	border-spacing:25px;
	width:850px;
	max-width:100%;
	margin:0 auto;
}
.thank-you-bonus {
	display:table-cell;
	margin:10px;
	border:1px solid #ddd;
	box-shadow:1px 1px 3px #999;
	padding:40px;
	text-align:center;
	vertical-align:bottom;
}
.thank-you-bonus span {
	display:block;
	margin:10px 0;
	font-size:20px;
	font-weight:700;
}
.thank-you-bonus .green-button {
	font-style:normal;
	display:block;
	width:100%;
	box-sizing:border-box;
}

@media only screen and (max-width:900px) {
	.thank-you-bonus {
		display:block;
		width:100%;
		box-sizing:border-box;
		margin:10px 0;
		padding:20px;
	}
	.thank-you-bonus-table {
		width:100%;
	}
}

/* end thank you styles */


/* Tapping 101 styles */
.expandable-box {
	margin-bottom:10px;
	border-bottom:1px solid #ddd;
	padding:10px 0;
}
.expandable-box.top {
	border-top:1px solid #ddd;
}
.expandable-box h4 {
	font-size:22px;
	font-weight:700;
	display:block;
}
.expandable-box a.hidden, .expandable-box a.shown{
	float:right;
	width:30px;
	height:30px;
}
.expandable-box a.hidden {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/green-plus.png') no-repeat;
}
.expandable-box a.shown {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/green-minus.png') no-repeat;
}

.expandable-answer {
	display:none;
	margin-top:20px;
	line-height:1.5;
	color:#7b7b7b;
}
.expandable-answer ul {
	list-style:disc;
	margin-left:30px;
}
.expandable-answer li {
	margin-bottom:20px
}
.expandable-answer .indent {
	margin-left:30px;
}
.expandable-answer b {
	font-weight:700;
	color:black;
}

/* end tapping 101 styles */


/* Team styles */
.team h3 {
	text-align:center;
	font-size:32px;
	color:#000;
}
.person {
	width:33%;
	text-align:center;
	display:inline-block;
	vertical-align:top;
	margin-bottom:50px;
}
.person img {
	width:130px;
	margin-bottom:20px;
}
.person h5 {
	font-size:20px;
	font-weight:700;
	display:block;
}
.person h6 {
	font-size:16px;
	color:#7b7b7b;
	font-style:italic;
	display:block;
}
.person a {
	display:block;
	color:#0188c0;
	font-weight:700;
	font-style:italic;
	
}

.bio {
	color:#7b7b7b
}
.bio-table {
	display:table;
	margin-bottom:40px;
}
.bio-cell {
	display:table-cell;
	font-size:24px;
	font-weight:700;
	vertical-align:middle;
	color:black;
	box-sizing:border-box;
}
.bio-cell:nth-child(1) {
	width:160px;
	padding-right:20px;
}
.bio-cell:nth-child(1) img {
	width:100%;
}
.bio-cell:nth-child(2) {
	/*background:url(https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/quote-start.jpg) no-repeat 0px 40px;*/
	padding:0px 0 0 36px;
}
.bio-cell:nth-child(2) img {
	margin-left:10px;
	vertical-align:middle
}

@media only screen and (max-width:600px) {
	.person {
		width:50%;
	}
	.bio .bio-table, .bio .bio-cell {
		display:block;
		width:100%;
		line-height:1.5;
	}
	.bio-cell:nth-child(2) {
		background-position:0px 10px;
	}
	.bio-cell:nth-child(1) img {
		width:auto;
		display:block;
		margin:0 auto 20px;
		
	}
	
}
@media only screen and (max-width:400px) {
	.person {
		width:100%;
	}
	
}

/* End team styles */


/* Science & research */
.science h3 {
	text-align:center;
	color:#000;
}

.science-quote {
	background:#e5f3f8;
	margin-top:50px;
}
.science-quote .quote-text {
	font-size:21px;
	margin-bottom:20px;
	color:black;
	font-style:normal;
	text-align:center;
	font-style:italic;
	font-weight:700;
}
.science-quote img {
	display:block;
	margin:-110px auto 20px;
}
.science-quote .quote-by {
	text-transform:uppercase;
	font-size:14px;
	text-align:center;
	font-weight:700;
}

.science-table {
	display:table;
	width:100%;
	color:#7b7b7b
}
.science-row {
	display:table-row;
}
.science-cell {
	display:table-cell;
	vertical-align:middle;
	padding-bottom:60px;
	line-height:1.5;
}
.science-cell:nth-child(1) {
	width:150px;
	padding-right:20px;
}
.science-cell:nth-child(1) img {
	width:100%;
}

.science-quote-col {
	display:inline-block;
	width:28%;
	margin:0 1%;
	vertical-align:top;
	margin-top: 60px;
}
.science-quote-col .inner-quote {
	border:1px solid #ddd;
	box-shadow:1px 1px 5px #999;
	padding:0 20px 20px;
	margin-bottom:100px;
}
.science-quote-col .inner-quote img {
	margin:-60px auto 20px;
	display:block;
	width:120px;
}
.science-quote-col .inner-quote .inner-quote-text {
	font-weight:700;
	font-style:italic;
	color:black;
	line-height:1.5;
	font-size:14px;
}
.science-quote-col .inner-quote .inner-quote-by {
	text-transform:uppercase;
	color:#7b7b7b;
	font-size:12px;
	margin-top:20px;
	letter-spacing:2px;
	font-weight:500;
}

@media only screen and (max-width:1010px) {
	.science-quote {
		margin-top:100px
	}
	.science-table, .science-row, .science-cell {
		display:block;
	}
	.science-cell:nth-child(1) {
		margin:0 auto 10px;
		padding-right:0;
	}
	.science-cell {
		padding-bottom:0px
	}
	.science-row {
		margin-bottom:40px;
	}
	.science-cell a {
		display:block;
		text-align:center
	}
	
}

@media only screen and (max-width:900px) {
	.science-quote-col .inner-quote {
		margin-bottom:80px;
	}
	.science-quote-col {
		width:98%;
		margin-top:0px;
	}
	.science-quote-col:nth-child(1) {
		margin-top:60px;
	}
	
}

@media only screen and (max-width:600px) {
	.science-quote {
		margin-top:100px
	}
	
}

/* end science & research */


/* Legacy Footer styles - DEPRECATED
 * Old footer is hidden via #footer, #sub-footer, #social-section { display: none !important; }
 * New footer uses .site-footer with CSS Grid (see top of file)
 */
#footer {
	background:#0089b7;
}
#footer .container-inner {
	text-align:center;
}
/* Old .footer-columns removed - conflicted with new .footer-column grid */
#footer ul {
	list-style:none;
}
#footer ul li {
	padding-left:20px;
	margin-bottom:20px;
}

/* End legacy footer */


/* Search results styles */
.results h2 {
	font-size:32px;
	font-weight:700;
}
.results h2 span {
	color:#0089b6;
}
.search-result {
	border-bottom:1px solid #ddd;
	padding:20px 0;
	color:#7b7b7b;
}
.search-result img {
	float:left;
	margin-right:20px;
	width:120px;
}
.result-content {
	margin-left:140px;
}
.result-content.no-img, .podcast-ep.no-img .podcast-ep-text {
	margin-left:0;
}
.podcast-ep.no-img .podcast-ep-img {
	display:none
}
.search-result span {
	display:block;
	color:#141414;
	font-size:24px;
	margin-bottom:20px;
	font-weight:700;
}


@media only screen and (max-width:600px) {
	.search-result img {
		float:none;
		margin:0 auto 10px;
		display:block;
	}
	.result-content {
		margin:0;
	}
	.search-result {
		text-align:center
	}
	
	
}

/* end search results styles */

/* Store styles */

.store-cat-heading {
	padding:100px 10px;
	text-align:center
}
.store-cat-heading.books {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/store-books-stack-bg.jpg') no-repeat 50% 50%;
	background-size:cover;	
}
.store-cat-heading.programs {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/progs-packs-bg.jpg') no-repeat 50% 50%;
	background-size:cover;	
}
.store-cat-heading.cds {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/cds-bg.jpg') no-repeat 50% 50%;
	background-size:cover;	
}
.store-cat-heading.sale {
	background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/sale-blackboard-bg.jpg') no-repeat 50% 50%;
	background-size:cover;	
}
.store-cat-heading.tapping-goodies {
	background:url('https://tappingsolution.s3.amazonaws.com/tapping-goodies-image.jpg') no-repeat 50% 58%;
	background-size:cover;	
}
.store-cat-heading.teleclass {
	background:url('https://tappingsolution.s3.amazonaws.com/teleclass-bg.jpg') no-repeat 50% 58%;
	background-size:cover;	
}
.store-cat-heading-outer {
	display:inline-block;
	background:url(https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/trans-white-bg.png);
	max-width:800px;
	padding:10px;
	box-sizing:border-box;
}
.store-cat-heading-inner {
	background:white;
	padding:15px 20px;
	text-align:center
}
.store-cat-heading-inner  h2 {
    font-weight: bold;
    font-size: 30px;
    margin: 10px 0;
    color: #000;
}
.store-cat-heading-inner  h4 {
    color: #000;
    font-style: italic;
    font-weight: 400;
}

.store-table {
	display:table;
	border-collapse:separate;
	border-spacing:20px;
}
.store-row {
	display:table-row;
}
.store-column {
	display:table-cell;
	border:1px solid #ddd;
	padding:40px 0px;
	box-shadow:1px 1px 3px #999;
	text-align:center;
	vertical-align:top;
	box-sizing:border-box;
	width:300px;
}
.store-prod-info {
	padding:0 20px;
}
.store-column .store-img {
	height:300px;
	display:block;
	margin:0 auto 20px;
}
.store-column.full .store-img {
	height:auto;
	width:100%;
}
.store-column.full {
	padding-top:0;
}
.store-column h4 {
	font-size:21px;
	font-weight:700;
	display:block;
	margin-bottom:10px;
	height:75px;

}
.store-column h5 {
	font-style:italic;
	color:#7b7b7b;
	display:block;
	margin-bottom:30px;
	font-size:16px;
}
.store-column .store-desc {
	color:#7b7b7b;
	font-size:16px;
	line-height:1.5;
	display:block;
	margin-bottom:30px;
	text-align:left;
	height:75px;
	overflow:hidden
}
.store-column .green-button {
	display:block;
	clear:both;
}
.store-column .green-button.blue {
	background:#0089b6;
	margin-bottom:10px;
	color:white !important;
}
.store-column .green-button img {
	vertical-align:middle;
	margin-left:15px;
}
.view-cart {
	float:right
}
.old-price, .new-price, .reg-price {
	font-size:22px;
	font-weight:700;
	float:left;
	margin-bottom:20px;
}
.old-price {
	text-decoration:line-through;
}
.old-price, .reg-price {
	color:black;
}
.new-price {
	color:#b81818;
	margin-left:10px;
}

@media only screen and (max-width:920px) {
	.store-table, .store-row, .store-column {
		display:block;
	}
	.store-column {
		width:100%;
		margin-bottom:20px;
	}
	.store-column .store-img {
		width:250px;
		height:auto;
	}
	.store-column.full {
		padding-top:20px
	}
	.store-column.full .store-img {
		width:250px;
		height:auto;
	}
	.store-column .store-desc, .store-column h4 {
		height:auto;
	}
	
}

/* End store styles */


/* Comment styles */
#commentform textarea {
	box-sizing:border-box;
	width:100%;
	height:200px;
}

.facebook-comments-wrap {
    width: 100%;
    background: #fff;
}
.leadstyle-facebook-comments, .leadstyle-facebook-comments div, .leadstyle-facebook-comments span, .leadstyle-facebook-comments iframe {
    max-width: 100% !important;
}

.leadstyle-facebook-comments {
    height: auto !important;
    overflow: auto !important;
}
.leadstyle-facebook-comments div, .leadstyle-facebook-comments span, .leadstyle-facebook-comments iframe {
    width: 100% !important;
}

.stButton {
	margin-top:10px
}

.socialsharing .commentc {
    color: #134450;
    font-size: 11px;
    background: url(https://www.thetappingsolution.com/blog/wp-content/themes/tapping_blog/images/commentbg.png) no-repeat 6px center #ecf4f8;
    -webkit-border-radius: 2px;
    border-radius: 2px;
	display:inline-block;
    padding: 4px 8px 4px 20px;
    border: solid 1px #294E63;
}
.socialsharing .commentc a {
    color: #134450;
    text-decoration: none;
}

/* end comments styles */


/* Blog popup styles */

#is-popup {
	border-radius:5px;
	padding:30px 30px 10px;
	font-family:'Open Sans';
	width:640px;
	box-sizing:border-box;
	position:fixed;
	top:30px;
	left:50%;
	margin-left:-320px;
	background:white;
	z-index:999;
	display:none;
}
#is-popup-top-text h5 {
	font-weight:700;
	font-size:24px;
	color:#333;
	text-align:center;
	margin-bottom:10px;
}
#is-popup-top {
	margin-bottom:20px;
	position:relative;
	
}
#is-popup-top img.align {
	float:left;
	width:150px;
}
#is-popup-top-text {
	margin-left:160px;
	color:#aaa;
	font-size:14px;
	line-height:1.3;
}
#is-popup-bottom input {
	box-sizing:border-box;
	width:100%;
	padding:10px;
	margin-bottom:10px;
	border-radius:5px;
}
#is-popup-bottom input[type=text] {
	border:1px solid #ccc;
}
#is-popup-bottom input[type=submit] {
	background:#7cb801;
	color:white;
	text-transform:uppercase;
	font-weight:700;
	font-size:16px;
	border:0;
}
#is-popup-footer {
	text-align:center;
	padding:20px 0;
	font-size:12px;
	color:#666;
}
#is-popup .close {
	color:#333;
	text-decoration:none;
	background:white;
	border-radius:50%;
	padding:10px;
	box-shadow:1px 1px 2px #ddd;
	position:absolute;
	top:-38px;
	right:-45px;
	font-weight:700;
	
	
}

@media only screen and (max-width:700px) {
	#is-popup {
		width:100%;
		left:0;
		margin-left:0;
		padding:10px;
	}
	#is-popup .close {
		top:-28px;
		right:-5px
	}
	
}
@media only screen and (max-width:400px) {
	#is-popup-top img.align {
		float:none;
		display:block;
		margin:0 auto;
	}
	#is-popup-top-text {
		margin-left:0;
		text-align:center;
	}
}

/* end optin styles */

@media only screen and (min-width:1011px) {
	.resp-menu-box.show-mobile {
		display:none
	}
}
@media only screen and (max-width:1010px) {
	.container {
		width:100%;
	}
	.container-inner {
		padding:20px 10px;
	}
	
	
	#top-nav-search {
		text-align:center;
	}
	#top-nav-search ul {
		display:none;
	}
	#top-nav-search .resp-icon {
		display:inline;
	}
	#top-nav-search .resp-icon img {
		width:50px;
	}
	#top-table {
		width:auto;
		margin:0 auto 10px;
	}
	#top .container-inner {
		padding-bottom:0;
	}
	#top-nav-search {
		padding:0 20px
	}
	#top-left-menu {
		display:table-cell;
		vertical-align:middle
	}
	#top-left-menu img {
		width:25px;
	}
	.resp-menu-box.show-mobile li {
		padding:7px;
	}
	.resp-menu-box.show-mobile li.dropdown-101 {
		display:none;
	}
	.resp-menu-box.show-mobile .first-a {
		padding-bottom:10px
	}
	.resp-menu-box.show-mobile .first-li {
		padding-bottom:0;
	}
	.resp-menu-box.show-mobile li ul li a {
		padding-left:20px;
		font-weight:300;
		color:#7b7b7b;
	}
	.resp-menu-box.show-mobile li ul li {
		border-top:0;
	}
	
}

/* Podcast break point */
@media only screen and (max-width:915px) {
	.podcast {
		display:block;
	}
	
	#podcast-section .podcast-section {
		width:100%;
		display:block;
	}
	#podcast-section  .podcast-section.bits {
		display:none;
	}
	.podcast-section.adv {
		background:none;
	}
	#podcast-section img.full {
		display:none;
	}
	#podcast-section img.mobile {
		display:block;
		margin:0 auto 20px;
		max-width:100%;
	}
	.subscribe {
		text-align:center;
		color:black;
		margin-bottom:20px;
	}
	
	.debuted {
		display:none;
	}
	.podcast h3 br {
		display:none;
	}
	.subscribe a.pink-button, .subscribe a.green-button {
		margin: 0 10px 10px;
	}
	.podcast-section.text1, .text1-inner, .podcast-section.text2, .text2-inner { 
		transform: skew(0deg,0deg);
		-ms-transform: skew(0deg,0deg); /* IE 9 */
		-webkit-transform: skew(0deg,0deg); /* Safari */
	}
	.podcast-section.text1 {
		left:0;
	}
	.podcast-section.text2 {
		right:0;
	}
	.podcast-section.adv {
		padding-bottom:0;
	}
	.podcast-section.text2 {
		padding-top:0;
	}
	.podcast-section {
		padding:20px;
	}
	.podcast-section h3 {
		text-align:center;
		font-size:36px;
	}
	.text1-inner .subscribe {
		display:block;
	}
	.ep-text {
		font-size:24px;
	}
	.ep-img {
		width:110px
	}
	.ep-img img {
		width:120px;
	}
	.ep {
		font-style:normal;
	}
	#podcast-section .see-all {
		font-size:24px;
		font-style:normal;
	}
	.ep-img, .ep-text {
		padding-bottom:40px;
	}
	.jess-head {
		display:none;
	}
	.blog-focus-container {
		padding:20px;
		height:auto;
	}
	
	
}

@media only screen and (max-width:850px) {
	#podcast-top-left {
		width:30%;
	}
	#podcast-top-right {
		margin-left:30%;
	}
}

@media only screen and (max-width:760px) {
	#optin-left {
		display:none;
	}
	#optin-main {
		display:block;
	}
	.optin-hidden-book {
		float:left;
		display:inline;
		width:150px;
		margin-right:10px;
		margin-bottom:30px
	}
	.container-inner #optin-main input {
		width:100%;
		margin:10px 0 0;
		padding:20px 10px;
	}
	#optin-main .green-button {
		
		text-transform:uppercase;
		letter-spacing:2px;
		font-style:normal;
	}
	#optin-section .container-inner {
		padding:20px 10px;
	}
	
	
	#blog-column-left, #blog-column-right, #podcast-post-left, #podcast-post-right {
		width:100%;
		float:none;
		margin-bottom:20px;
	}
	.post-quotation {
		margin:10px 0;
	}
	
}

@media only screen and (max-width:700px) {
	#sub-nav {
		display:none;
	}
	/* Legacy #top-spacer and #main-video margin-top removed */
	#podcast-top-left {
		width:100%;
	}
	#podcast-top-left img {
		width:300px;
		display:block;
		margin:0 auto 10px;
	}
	#podcast-top-right {
		margin:0;
	}
}

@media only screen and (max-width:610px) {
	#top-nav-search {
		display:none
	}
	.menu-icon {
		display:inline-block;
		padding:23px
	}
	.menu-X {
		padding:23px
	}
	#as-seen {
		display:none;
	}
	#as-seen2 {
		display:block;
		width:100%;
		margin:20px 0;
	}
	.box-33, .box-50, #section-a-table .box-33 {
		width:100%;
		display:block;
		margin-bottom:20px;
		/*
		padding:0 0 20px;
		border:1px solid #ddd;
		box-shadow:0px 4px 9px #ddd;
		*/
	}
	#tap-med .box-33, #blog-section .box-33, #interviews .box-33 {
		box-shadow:none;
		padding-bottom:0;
		border:0;
		width:95%;
		margin:0 auto 20px;
	}
	
	.cropped-bg {
		height:auto;
		width:100%;
		background:none !important
	}
	.cropped-bg span {
		display:block;
	}
	
	#blog-section .box-33 {
		margin-bottom:40px
	}
	#blog-section h3 {
		text-align:center;
		float:none;
		margin-bottom:0;
	}
	.all-link {
		float:none;
		margin:10px auto 20px;
		display:block;
		text-align:center;
		text-decoration:none;
		border:1px solid #3d99be;
		padding:10px;
		text-transform:uppercase;
		box-sizing:border-box;
		width:80%;
	}
	.box-33-text {
		padding:0 20px;
	}
	.quote-text {
		font-size:30px;
		font-style:normal;
	}
	.quote-by, .quote-by-extra {
		font-size:20px;
	}
	.quote-section .container-inner {
		padding-left:10px;
		padding-right:10px;
	}
	
	#program-blocks a {
		width:45%;
	}
	.soon-text {
		font-size:20px;
	}
	
	.quote-section .container-inner {
		padding:50px 10px;
	}
	.quote-text, .q3 .quote-text {
		font-size:30px;
	}
	
	.blog-column-post-left, .blog-column-post-right {
		width:100%;
		float:none;
	}
	
	#top-right .green-button, #top-nav-search .resp-icon {
		display:none;
	}
	#top-left-menu {
		display:table-cell;
		vertical-align:middle
	}
	#top-left-menu img {
		width:25px;
	}
	
	#top #logo img {
		display:none;
	}
	#top #logo {
		content:'';
		width:150px;
		height:89px;
		background:url('https://www.thetappingsolution.com/wp-content/themes/tappingsolution/new-images/big-tts-hi-res.png') no-repeat;
		background-size:contain;
	}
	/* Legacy #main-video margin-top removed */
	#top-table {
		width:100%;
	}
	#top-right {
		text-align:center;
	}
	
	
	.podcast-ep-img {
		width:100%;
		float:none;
		text-align:center;
		padding:0;
	}
	.podcast-ep-img img {
		width:200px;
		display:block;
		margin:0 auto 10px;
	}
	.podcast-ep-text {
		margin-left:0;
	}
	.podcast-ep-text h6, .podcast-ep-text h4 {
		text-align:center;
		margin-bottom:10px;
	}
	.podcast-ep-text h4 {
		line-height:1;
	}
}

@media only screen and (max-width:550px) {
	.blog-optin .optin-hidden-book {
		float: none;
		margin: 0 auto 20px;
		display: block;
		width: 80%;
	}
	
}

@media only screen and (max-width:500px) {
	#podcast-top-right-text {
		margin-left:0;
	}
	.ribbon {
		float:none;
		display:block;
		margin:0 auto 10px;
	}
	#podcast-top-right-text h3, #podcast-top-right-text h4 {
		text-align:center;
	}
}

@media only screen and (max-width:450px) {
	.ep-list, .ep, .ep-img, .ep-text {
		display:block;
		width:100%;
		text-align:center;
	}
	.ep img {
	margin-right:10px;
	}
	.ep-img {
		padding-bottom:0;
	}
	.ep-text {
		padding-bottom:20px;
	}
	
}



/* Kids Resources page styles */
.bonus-left, .bonus-right {
margin-bottom:20px;
}
.bonus-left {
float:left;
width:200px;
}
.bonus-left img {
width:100%;
border-radius:10px;
}
.bonus-right span {
color:#2864ac;
display:block;
font-weight:bold;
margin-bottom:10px;
}
.bonus-right {
margin-left:250px;
padding-top:10px;
padding-bottom:20px;
}
.bonus-right ul {
	list-style:disc;
	margin-bottom:20px;
}
.bonus-right li {
	margin-left:30px
}
.bonus-right p {
	margin-bottom:10px
}

@media only screen and (max-width:770px) {
	.bonus-left, .bonus-right {
    float:none;
    width:100%;
    margin:0;
    }
    .bonus-right {
    margin-bottom:20px;
    padding-top:5px;
    }
    .bonus-left img {
    width:auto;
    margin:0 auto;
    display:block;
    }
    .bonus-right span {
    text-align:center;
    display:block;
    margin:0;
    }
}

.yarpp-related-none { display:none}

.podcast-share-img {
	float:right;
	margin:0 0 10px 10px;
	width:150px;
}
@media only screen and (max-width:600px) {
	.podcast-share-img {
	float:none;
	margin:0 auto;
	display:block
	}
}

/*
@media (min-width: 1281px) {
    
	#blog-column-right {
		position: -webkit-sticky;
		position: sticky;
		top: -700px;
	}
  
}



@media (min-width: 1025px) and (max-width: 1280px) {
  
    #blog-column-right {
		position: -webkit-sticky;
		position: sticky;
		top: -700px;
	}
    
}
*/

.survey-33 {
width:33%;
float:left
}
.survey-form {
	text-align:center
}
.survey-form input, .survey-form textarea, .survey-form select {
	border-radius:5px;
	width:600px;
	max-width:100%;
	box-sizing:border-box;
	padding:10px;
	border:1px solid #aaa;
	font-size:18px;
	display:block;
	margin:0 auto 10px;
}
.survey-form select {
	width:auto
}
.survey-form input[type=submit] {
	background:#199ac1;
	border:0;
	color:white;
	display:inline-block;
	width:auto;
}

@media only screen and (max-width:700px) {
	.survey-33 {
	width:400px;
	max-width:100%;
	float:none;
	margin: 0 auto 20px;
	border-bottom: 1px solid #ddd
	}

}

/* ==========================================================================
   Shortcode Styles: [app-cta] - Dark/Teal App Download CTA (67 posts)
   ========================================================================== */

.app-cta {
	color: white;
	line-height: 1.2;
	background: linear-gradient(to right, #014157, #326c7b);
	margin-bottom: 20px;
}
.app-cta .badges {
	width: 100%;
}
.app-cta .parent {
	display: flex;
}
.app-cta .app-cta-left,
.app-cta .app-cta-right {
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}
.app-cta .app-cta-left {
	padding: 20px;
	width: 55%;
	flex: 1;
}
.app-cta .dl-buttons {
	margin-bottom: 20px;
}
.app-cta .dl-buttons a img {
	border-radius: 5px;
	margin: 1%;
}
.app-cta .app-cta-heading {
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 10px;
}
.app-cta .app-cta-subheading {
	font-size: 20px;
	margin-bottom: 10px;
}
.app-cta .app-cta-left ul {
	list-style: none !important;
	margin: 10px 0 20px 0 !important;
	text-align: left;
}
.app-cta .app-cta-left li {
	background: url('https://www.thetappingsolution.com/blog/wp-content/themes/tapping_blog/images/circle-green-check.png') no-repeat 0px 7px;
	padding: 6px 10px 10px 25px;
	font-size: 16px;
	margin: 0 !important;
}
.app-cta .app-cta-right {
	width: 45%;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.app-cta .app-cta-right img {
	height: 100%;
	width: auto;
}
.app-cta .mobile-cards {
	display: none;
}

@media (min-width: 760px) and (max-width: 1000px), (max-width: 649px) {
	.app-cta .app-cta-heading {
		font-size: 24px;
	}
	.app-cta .app-cta-subheading {
		font-size: 20px;
	}
	.app-cta .app-cta-left li {
		font-size: 16px;
	}
	.app-cta .app-cta-right,
	.app-cta .app-cta-left {
		width: 100%;
	}
	.app-cta .mobile-cards {
		display: block;
	}
	.app-cta .desktop-cards {
		display: none;
	}
	.app-cta .parent {
		display: block;
		text-align: center;
	}
	.app-cta li {
		text-align: left;
	}
	.app-cta .dl-buttons a img {
		height: 50px;
	}
	.app-cta .ul-parent {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.app-cta .ul-parent ul {
		width: fit-content;
	}
}

/* ==========================================================================
   Shortcode Styles: [app-cta2] - Light/Tan App Download CTA (1 post + A/B)
   ========================================================================== */

.app-cta2 {
	color: black;
	line-height: 1.2;
	background: #fffcf5 url('https://www.thetappingsolution.com/blog/wp-content/themes/tapping_blog/images/tan-bottom-bg.jpg') 0% 115% repeat-x;
	margin-bottom: 20px;
}
.app-cta2 .badges {
	width: 370px;
	max-width: none !important;
}
.app-cta2 .parent {
	display: flex;
}
.app-cta2 .app-cta-left,
.app-cta2 .app-cta-right {
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}
.app-cta2 .app-cta-left {
	padding: 20px;
	width: 55%;
	flex: 1;
}
.app-cta2 .dl-buttons {
	margin-bottom: 20px;
}
.app-cta2 .dl-buttons a img {
	border-radius: 5px;
	margin: 1%;
}
.app-cta2 .app-cta-heading {
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 10px;
}
.app-cta2 .app-cta-subheading {
	font-size: 20px;
	margin-bottom: 10px;
}
.app-cta2 .app-cta-left ul {
	list-style: none !important;
	margin: 10px 0 20px 0 !important;
	text-align: left;
}
.app-cta2 .app-cta-left li {
	background: url('https://www.thetappingsolution.com/blog/wp-content/themes/tapping_blog/images/circle-blue-check.png') no-repeat 0px 7px;
	padding: 6px 10px 10px 25px;
	font-size: 16px;
	margin: 0 !important;
}
.app-cta2 .app-cta-right {
	width: 45%;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.app-cta2 .app-cta-right img {
	height: 90%;
	width: auto;
}
.app-cta2 .mobile-cards {
	display: none;
}

@media (min-width: 760px) and (max-width: 1000px), (max-width: 649px) {
	.app-cta2 .app-cta-heading {
		font-size: 24px;
	}
	.app-cta2 .app-cta-subheading {
		font-size: 20px;
	}
	.app-cta2 .app-cta-left li {
		font-size: 16px;
	}
	.app-cta2 .app-cta-right,
	.app-cta2 .app-cta-left {
		width: 100%;
	}
	.app-cta2 .desktop-cards {
		display: none;
	}
	.app-cta2 .parent {
		display: block;
		text-align: center;
	}
	.app-cta2 li {
		text-align: left;
	}
	.app-cta2 .dl-buttons a img {
		height: 50px;
	}
	.app-cta2 .ul-parent {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.app-cta2 .ul-parent ul {
		width: fit-content;
	}
}
@media only screen and (max-width: 550px) {
	.app-cta2 .badges {
		max-width: 100% !important;
	}
}

/* ==========================================================================
   Shortcode Styles: [pull-quote-block] - Tan Quote Block (1 post)
   ========================================================================== */

.tan-quote {
	background: #fbf7e4;
	padding: 20px;
	color: darkblue;
	border-radius: 20px;
	margin-bottom: 20px;
}

/* ==========================================================================
   Shortcode Styles: [prws19-optin] - Pain Relief Summit Button (1 post)
   ========================================================================== */

input.prws19 {
	background: #712770;
}
input.prws19:hover {
	background: #342557;
}

/* ==========================================================================
   Post footer: "Connect With Us on Social Media" block
   The live site appends this after every post's content. The old theme's
   #social-section is a hidden footer band (display:none above), so this
   block gets its own class and otherwise inherits #post-content typography
   (centered serif h2, standard p margins, teal content links). Only a
   little breathing room above is added here.
   ========================================================================== */

#post-content .social-connect {
	margin-top: 40px;
}

/* Rebuild fix (2026-07-09): WordPress served pre-cropped square listing thumbnails via the
   featured_image_url_blog post meta, which is absent from the content export. Posts without a
   dedicated squareImage fall back to their wide heroImage banner, so the sidebar square slot
   still needs a center-crop to match the original look. (The main listing column moved to a
   more robust wrapper-anchor pattern on 2026-07-16, see .blog-column-post-left rules above.) */
#recent-posts .rec-post img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* ==========================================================================
   Receipts box (2026-07-10): real app data under how-to content.
   The blog's signature element: one per 2026-07-09 post, placed directly
   after the paragraph that introduces the session it cites. All numbers
   come from the verified BigQuery session table at
   CMO/SEO/aeo-drafts/2026-07-06-session-data-VERIFIED.md. Do not edit the
   numbers here or in posts without a fresh verified pull.
   ========================================================================== */

#post-content .receipts-box {
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-top: 4px solid var(--color-navy, #2C3E50);
	border-radius: 4px 4px 16px 16px;
	padding: 30px 32px 30px;
	margin: 44px auto;
	max-width: 560px;
	text-align: center;
	box-shadow: 0 4px 16px rgba(44, 62, 80, 0.07);
}
#post-content .receipts-box p {
	margin: 0;
}
#post-content .receipts-box .receipts-box-label {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-teal, #1AA6B7);
	margin-bottom: 18px;
}
#post-content .receipts-box .receipts-box-session {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 18px;
	line-height: 1.4;
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid #e7dfc9;
}
#post-content .receipts-box .receipts-box-session a {
	color: var(--color-navy, #2C3E50);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid var(--color-teal, #1AA6B7);
}
#post-content .receipts-box .receipts-box-session a:hover {
	color: var(--color-teal-dark, #158A98);
}
#post-content .receipts-box .receipts-box-stat {
	margin-bottom: 20px;
}
#post-content .receipts-box .receipts-box-number {
	display: block;
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 56px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--color-navy, #2C3E50);
}
#post-content .receipts-box .receipts-box-unit {
	display: block;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-gray-600, #666666);
	margin-top: 6px;
}
#post-content .receipts-box .receipts-box-intensity {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 16px;
	line-height: 1.6;
	color: var(--color-charcoal, #333333);
	margin-bottom: 12px;
}
#post-content .receipts-box .receipts-box-intensity strong {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	color: var(--color-navy, #2C3E50);
}
#post-content .receipts-box .receipts-box-honesty {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 13px;
	font-style: italic;
	color: var(--color-gray-600, #666666);
	margin-bottom: 24px;
}
#post-content .receipts-box .receipts-box-button {
	display: inline-block;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 16px;
	font-weight: 700;
	font-style: normal;
	color: var(--color-cream, #fffcf5);
	background: var(--color-navy, #2C3E50);
	padding: 13px 30px;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.2s ease;
}
#post-content .receipts-box .receipts-box-button:hover {
	background: var(--color-teal-dark, #158A98);
	color: var(--color-cream, #fffcf5);
}
@media only screen and (max-width: 600px) {
	#post-content .receipts-box {
		padding: 26px 20px 24px;
	}
	#post-content .receipts-box .receipts-box-number {
		font-size: 42px;
	}
}

/* Rebuild polish (2026-07-10): reusable content callout + spacing guardrails for legacy posts. */
#post-content .content-note {
	background: #f4f9f9;
	border-left: 4px solid #75a293;
	border-radius: 0 10px 10px 0;
	padding: 18px 24px;
	margin: 26px 0;
	font-size: 16px;
	color: #4a5258;
}
#post-content .content-note p { margin-bottom: 0; font-size: 16px; }
#post-content .content-note p + p { margin-top: 12px; }
#post-content h2 { margin-top: 44px; }
#post-content h3 { margin-top: 32px; }
#post-content ul li, #post-content ol li { margin-bottom: 10px; }
#post-content img { border-radius: 8px; }

/* Reading-experience upgrade (2026-07-10, Nick): body copy up from the WP-era 17px.
   Scoped to article content only; nav, sidebar, and footer keep their sizes. */
#post-content p,
#post-content li {
	font-size: 18px;
	line-height: 1.75;
	color: #4a4f55;
}
#post-content blockquote p {
	font-size: 18px;
}
@media (max-width: 700px) {
	#post-content p,
	#post-content li {
		font-size: 17px;
	}
}

/* Breadcrumbs: up from the WP-era small strip (Nick, 2026-07-10). */
.breadcrumbs {
	font-size: 15.5px;
	line-height: 1.6;
	padding: 18px 0 6px;
	color: #6a7076;
}
.breadcrumbs a { font-weight: 600; }

/* ==========================================================================
   "Grounded Calm" graft (2026-07-10)
   Elements adapted from tapping-solution-blog-concept.html onto the existing
   cream/teal/sage/navy theme (concept's near-black -> --color-navy). This is
   an evolution of the theme, not a replacement: header/nav/footer untouched,
   URLs/schema/canonicals untouched, all copy still server-rendered.
   ========================================================================== */

/* ---- 1. Split Hero v2 ---- */
.hero-split {
	display: grid;
	grid-template-columns: 45fr 55fr;
	min-height: 420px;
}
.hero-split.hero-split--full {
	grid-template-columns: 1fr;
}
.hero-split-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: 56px clamp(24px, 6vw, 68px);
	background: var(--color-navy, #2C3E50);
	color: var(--color-cream, #fffcf5);
	box-sizing: border-box;
}
.hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.hero-kicker::before {
	content: "";
	width: 30px;
	height: 1px;
	background: currentColor;
	opacity: 0.85;
}
/* Category accent colors, brightened from the sidebar/kicker palette so they
   hold contrast against the navy panel. */
.hero-kicker.blue { color: #6FD6E8 !important; }
.hero-kicker.dblue { color: #9CBEEF !important; }
.hero-kicker.green { color: #B4E24C !important; }
.hero-kicker.red { color: #FF9466 !important; }
.hero-kicker.orange { color: #FFCB7D !important; }
.hero-kicker.pink { color: #FF7FB8 !important; }
.hero-kicker.purple { color: #C79BEF !important; }
.hero-split-copy h1 {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: clamp(30px, 3.6vw, 46px);
	line-height: 1.14;
	font-weight: 700;
	margin: 0;
	color: var(--color-cream, #fffcf5);
}
.hero-dek {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 18px;
	line-height: 1.55;
	color: rgba(255, 252, 245, 0.86);
	margin: 0;
	max-width: 46ch;
}
.hero-byline {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	align-items: center;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 13.5px;
	color: rgba(255, 252, 245, 0.72);
	margin-top: 4px;
}
.hero-byline .dot {
	opacity: 0.55;
}
.hero-split-image {
	min-height: 420px;
	background: var(--color-navy, #2C3E50);
}
.hero-split-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
@media only screen and (max-width: 980px) {
	.hero-split-copy h1 {
		font-size: clamp(28px, 4vw, 38px);
	}
}
@media only screen and (max-width: 768px) {
	.hero-split {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.hero-split-image {
		order: -1;
		min-height: 240px;
	}
	.hero-split-copy {
		padding: 34px 22px;
	}
	.hero-split-copy h1 {
		font-size: 27px;
	}
	.hero-dek {
		font-size: 17px;
	}
}

/* ---- 2. Sticky "In this article" TOC (sidebar card, 4+ h2s only) ---- */
#post-toc {
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-radius: 14px;
	padding: 22px 22px 18px;
	margin-bottom: 20px;
}
#post-toc h6 {
	margin: 0 0 12px;
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 17px;
	font-weight: 700;
	color: var(--color-navy, #2C3E50);
	text-align: left;
	letter-spacing: normal;
	text-transform: none;
	border: none;
	padding: 0;
}
#post-toc ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
#post-toc li {
	margin: 0;
}
#post-toc a {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 8px;
	font-size: 14.5px;
	line-height: 1.4;
	color: #4a4f55;
	text-decoration: none;
}
#post-toc a .toc-num {
	color: var(--color-teal, #1AA6B7);
	font-weight: 700;
	font-family: var(--font-body, 'Open Sans', sans-serif);
}
#post-toc a:hover {
	color: var(--color-teal, #1AA6B7);
}
@media only screen and (min-width: 851px) {
	#post-toc {
		position: sticky;
		top: 18px;
	}
}

/* ---- 3. "Explore by Topic" sidebar card ---- */
#cats-column .topic-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
	margin-top: 8px;
}
#cats-column .topic-grid a {
	display: block;
	padding: 9px 0;
	border-bottom: 1px solid #e5ddc8;
	color: #333;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0.01em;
	font-weight: 500;
	font-size: 13.5px;
}
#cats-column .topic-grid a:hover {
	color: var(--color-teal, #1AA6B7);
}
#cats-column .topic-view-all {
	display: inline-block;
	margin-top: 14px;
	padding: 0;
	border-bottom: none;
	text-transform: none;
	letter-spacing: normal;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--color-teal, #1AA6B7);
	text-decoration: none;
}

/* ---- 5. Step cards (2026-07-10): numbered protocol/sequence lists in the
   2026 posts, converted 1:1 from <ol>/<li> without changing any wording. ---- */
.step-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 30px 0;
}
.step-card {
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-radius: 12px;
	padding: 20px 22px;
	text-align: left;
}
.step-card-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--color-navy, #2C3E50);
	color: var(--color-cream, #fffcf5);
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 12px;
}
.step-card-body {
	font-size: 16px;
	line-height: 1.65;
	color: #4a4f55;
}
.step-card-body strong {
	display: block;
	color: var(--color-navy, #2C3E50);
	margin-bottom: 6px;
	font-size: 16.5px;
}
@media only screen and (max-width: 600px) {
	.step-cards {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ---- 6. Typography polish, scoped to #post-content ---- */
#post-content h2 {
	text-align: left;
	font-size: 30px;
}
#post-content article > p:first-child {
	font-size: 19px;
	line-height: 1.75;
}
@media (max-width: 700px) {
	#post-content article > p:first-child {
		font-size: 18px;
	}
}

/* ==========================================================================
   Round 2 design fixes (2026-07-10b), per Nick's review.
   Appended only — the "Grounded Calm" graft rules above (Split Hero v2,
   #post-toc, "Explore by Topic") are left untouched; these rules override
   them by cascading later in the file at equal specificity. New sections
   (Keep Reading, Recommended Session) are net-new.
   ========================================================================== */

/* ---- Fix 1: cap the split hero's height on desktop; long titles use a
   tighter clamp() so they still fit. Mobile (<=768px) is untouched — the
   existing mobile block below this one in the cascade keeps governing it. ---- */
@media only screen and (min-width: 769px) {
	.hero-split {
		max-height: 560px;
		overflow: hidden;
	}
	.hero-split.hero-split--full {
		max-height: none;
		overflow: visible;
	}
	.hero-split-copy {
		padding: 40px clamp(24px, 5vw, 60px);
		gap: 12px;
	}
	.hero-split-copy h1 {
		font-size: clamp(30px, 3.2vw, 42px);
	}
	.hero-split-image {
		max-height: 560px;
	}
	.hero-split-image img {
		height: 100%;
	}
}

/* ---- Fix 3: "In this article" TOC card is no longer sticky (moved to the
   top of the sidebar in BlogSidebar.astro; sticky positioning is what
   caused the earlier overlap). Look is unchanged. ---- */
#post-toc {
	position: static;
	top: auto;
}

/* ---- Fix 4: "Keep reading" related-posts module, end of article. h2 uses
   #post-content's existing left-aligned content-heading style (no extra
   rule needed); this styles the card grid underneath it. ---- */
.keep-reading-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin: 8px 0 8px;
}
.keep-reading-card {
	display: flex;
	flex-direction: column;
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.keep-reading-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(44, 62, 80, 0.14);
}
.keep-reading-thumb {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #eee;
}
.keep-reading-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.keep-reading-body {
	padding: 14px 16px 18px;
}
.keep-reading-kicker {
	display: block;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.keep-reading-title {
	display: block;
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 19px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--color-navy, #2C3E50);
}
.keep-reading-card:hover .keep-reading-title {
	color: var(--color-teal, #1AA6B7);
}
@media only screen and (max-width: 700px) {
	.keep-reading-grid {
		grid-template-columns: 1fr;
	}
}

/* ---- Fix 5: "Recommended session" sidebar card (below the TOC, above the
   opt-in card). Navy card, cream text, sage pill button. ---- */
#session-card {
	background: var(--color-navy, #2C3E50);
	border-radius: 14px;
	padding: 22px 22px 20px;
	margin-bottom: 20px;
}
.session-kicker {
	display: block;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 252, 245, 0.65);
	margin-bottom: 10px;
}
#session-card .session-name {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 19px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--color-cream, #fffcf5);
	margin: 0 0 8px;
	text-align: left;
	letter-spacing: normal;
	text-transform: none;
	border: none;
	padding: 0;
}
.session-line {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255, 252, 245, 0.85);
	margin: 0 0 16px;
}
.session-btn {
	display: inline-block;
	background: var(--color-green, #75a293);
	color: var(--color-cream, #fffcf5) !important;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-weight: 700;
	font-size: 14px;
	padding: 11px 20px;
	border-radius: 999px;
	text-decoration: none;
	margin-bottom: 14px;
}
.session-btn:hover {
	background: var(--color-green-dark, #5d8a7a);
	color: var(--color-cream, #fffcf5) !important;
}
.session-fineprint {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 12px;
	line-height: 1.5;
	color: rgba(255, 252, 245, 0.6);
	margin: 0;
}

/* ==========================================================================
   Article body typography/component layer (2026-07-10), adopted from the
   design concept Nick loves (tapping-solution-blog-concept.html: its
   #tts-article-v3 .tts-cause-grid, .tts-quote, .tts-script, .tts-step-number
   and .tts-faq rules), ported onto our own tokens — Playfair Display /
   Open Sans, --color-navy #2C3E50, --color-cream #fffcf5 — instead of its
   Fraunces / DM Sans. Scoped to #post-content so nothing outside the
   article body is touched. Append-only: nothing above this block is edited.
   No text is ever hidden by any rule below — no display:none, no
   collapsed-by-default <details>; the FAQ marker is a decorative ::before
   only, answers stay visible at all times.
   ========================================================================== */

/* ---- 1. Term list: definition-style "reason/factor" lists. Markup:
   <div class="term-list"><div class="term-item"><h4>Term</h4><p>Description</p></div>...</div> ---- */
#post-content .term-list {
	margin: 32px 0;
}
#post-content .term-list .term-item {
	padding: 18px 0;
	border-top: 1px solid #e7e2d6;
}
#post-content .term-list .term-item:first-child {
	border-top: none;
	padding-top: 0;
}
#post-content .term-list .term-item h4 {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 17px;
	font-weight: 600;
	color: #22252a;
	margin: 0 0 5px;
}
#post-content .term-list .term-item p {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 16px;
	line-height: 1.65;
	color: #6a7076;
	margin: 0;
}

/* ---- 2. Pull quote: thick navy rule, Playfair, for a single standout line
   promoted from the body copy. Markup: <blockquote class="pullquote"><p>Sentence.</p></blockquote>
   Overrides the legacy #post-content blockquote rules (width cap, italic,
   giant decorative quote-mark) for this class specifically, by cascade
   specificity — the legacy rules and their markup are untouched. ---- */
#post-content blockquote.pullquote {
	width: auto;
	max-width: none;
	margin: 40px 0;
	padding: 4px 0 4px 28px;
	border-left: 4px solid var(--color-navy, #2C3E50);
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 21px;
	font-style: normal;
	line-height: 1.5;
	color: #22252a;
}
#post-content blockquote.pullquote::before {
	content: none;
}
#post-content .pullquote p {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	font-style: normal;
}

/* ---- 3. Tapping phrases: the spoken script, set apart on a soft cream
   card, each phrase its own line. Wraps existing groups of "Even though…"
   statements without changing their markup type (ul/li stays ul/li). ---- */
#post-content .tapping-phrases {
	background: var(--color-cream, #fffcf5);
	border-radius: 14px;
	padding: 32px 36px;
	margin: 34px 0;
}
#post-content .tapping-phrases ul {
	margin: 0;
	padding: 0;
}
#post-content .tapping-phrases p,
#post-content .tapping-phrases li {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 19px;
	line-height: 2;
	color: #2C3E50;
	margin: 0 0 14px;
	list-style: none;
}
#post-content .tapping-phrases p:last-child,
#post-content .tapping-phrases li:last-child {
	margin-bottom: 0;
}
#post-content .tapping-phrases blockquote {
	margin: 0;
	border: none;
	padding: 0;
	width: auto;
	max-width: none;
}
#post-content .tapping-phrases blockquote::before {
	content: none;
}

/* ---- 4. Step cards refinement, to match the concept's soft protocol grid.
   Overrides the step-cards rules appended earlier in this file ("5. Step
   cards", 2026-07-10) at higher specificity (#post-content prefix) —
   later-and-more-specific wins the cascade, so the earlier block and its
   markup convention stay exactly as they are. Adds a .step-cards--stack
   single-column variant per the new spec. ---- */
#post-content .step-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 32px 0;
}
#post-content .step-cards.step-cards--stack {
	grid-template-columns: 1fr;
}
#post-content .step-card {
	background: #f5f6f7;
	border: none;
	border-radius: 14px;
	padding: 24px 26px;
	text-align: left;
}
#post-content .step-card-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--color-navy, #2C3E50);
	color: #ffffff;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-weight: 700;
	font-size: 13px;
	margin-bottom: 14px;
}
#post-content .step-card-body strong {
	display: block;
	color: #22252a;
	font-weight: 600;
	margin-bottom: 6px;
	font-size: 16.5px;
}
#post-content .step-card-body {
	font-size: 15.5px;
	line-height: 1.6;
	color: #6a7076;
}
@media only screen and (max-width: 600px) {
	#post-content .step-cards {
		grid-template-columns: 1fr;
	}
}

/* ---- 5. FAQ styling: h2 "FAQ"/"Common questions" sections. The small navy
   marker is purely decorative (::before on the question) and never hides
   content — every answer renders normally, always visible, no <details>.
   Applies to h3s explicitly tagged .faq-q (added only on the h3s whose text
   matches that post's faqSchema questions — see
   audit/qa/text-formatting-applied.csv for which posts). ---- */
#post-content h3.faq-q {
	position: relative;
	padding-left: 24px;
	margin-top: 26px;
	margin-bottom: 8px;
	font-size: 19px;
}
#post-content h3.faq-q::before {
	content: "\25B8";
	position: absolute;
	left: 0;
	top: 1px;
	color: var(--color-navy, #2C3E50);
	font-size: 15px;
}
#post-content h3.faq-q + p {
	margin-top: 0;
}

/* ---- 6. Section rhythm: hairline rule + generous space above each h2,
   skipping the article's first h2. :not(:first-of-type) outweighs the
   plain "#post-content h2 { margin-top: 44px }" rule earlier in this file
   by specificity, so only that first h2 keeps the old spacing. ---- */
#post-content h2:not(:first-of-type) {
	margin-top: 60px;
	padding-top: 28px;
	border-top: 1px solid #e7e2d6;
}

@media (max-width: 700px) {
	#post-content .term-list .term-item h4 {
		font-size: 16px;
	}
	#post-content blockquote.pullquote {
		font-size: 19px;
		padding-left: 20px;
	}
	#post-content .tapping-phrases {
		padding: 24px 22px;
	}
	#post-content .tapping-phrases p,
	#post-content .tapping-phrases li {
		font-size: 18px;
	}
	#post-content h2:not(:first-of-type) {
		margin-top: 46px;
		padding-top: 22px;
	}
}

/* ==========================================================================
   Legacy image-promo replacement: .blog-promo-cta
   Renders in place of retired hardcoded WP promo images (tts-app-download-BLOG.png,
   App-Dowload-Blog-Image-1.png) found directly in post bodies. Deliberately named
   apart from the existing [app-cta] / .app-cta shortcode system (see "Shortcode
   Styles: [app-cta]" earlier in this file, ~line 3779) which already ships a
   different, larger CTA on 55+ posts via src/lib/theme.ts -- reusing the
   ".app-cta" class here would cascade into and visually break those live cards
   (max-width/padding/margin would collide). See audit/qa/image-fixes.csv and
   audit/qa/app-promo-replacements.csv for the rewrite log.
   ========================================================================== */
#post-content .blog-promo-cta {
	background: var(--color-navy, #2C3E50);
	color: var(--color-cream, #fffcf5);
	border-radius: 14px;
	text-align: center;
	max-width: 560px;
	margin: 40px auto;
	padding: 36px 32px;
}
#post-content .blog-promo-cta-kicker {
	font-family: var(--font-nav, 'Lato', sans-serif);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-green, #75a293);
	margin: 0 0 10px;
}
#post-content .blog-promo-cta-headline {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 24px;
	line-height: 1.3;
	color: var(--color-cream, #fffcf5);
	margin: 0 0 12px;
}
#post-content .blog-promo-cta-line {
	font-size: 16px;
	line-height: 1.5;
	color: var(--color-cream, #fffcf5);
	opacity: 0.9;
	margin: 0 0 24px;
}
#post-content .blog-promo-cta-btn {
	display: inline-block;
	background: var(--color-green, #75a293);
	color: var(--color-cream, #fffcf5);
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	padding: 14px 32px;
	border-radius: 999px;
}
#post-content .blog-promo-cta-btn:hover {
	background: var(--color-green-dark, #5d8a7a);
}
@media (max-width: 700px) {
	#post-content .blog-promo-cta {
		padding: 28px 22px;
		margin: 32px auto;
	}
	#post-content .blog-promo-cta-headline {
		font-size: 21px;
	}
}

/* ==========================================================================
   Search page (/blog/search/) -- self-hosted Pagefind search, added
   2026-07-13. Page layout below; Pagefind UI itself is themed entirely
   through its documented CSS custom properties, scoped to #search so
   nothing else on the site is affected.
   ========================================================================== */
.search-page {
	background: var(--color-cream, #fffcf5);
	padding: 70px 24px 120px;
}
.search-page-inner {
	max-width: 700px;
	margin: 0 auto;
}
.search-page-kicker {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 14px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--color-teal, #1AA6B7);
	font-weight: 700;
	margin: 0 0 14px;
}
.search-page-inner h1 {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 38px;
	color: var(--color-navy, #2C3E50);
	margin: 0 0 16px;
	line-height: 1.2;
}
.search-page-intro {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 18px;
	line-height: 1.6;
	color: var(--color-navy, #2C3E50);
	opacity: 0.85;
	margin: 0 0 36px;
}
.search-page-noscript {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 16px;
	color: var(--color-navy, #2C3E50);
	background: #fff;
	border: 1px solid #d8e6e2;
	border-radius: 10px;
	padding: 16px 20px;
	margin-top: 20px;
}
.search-page-noscript a {
	color: var(--color-teal, #1AA6B7);
}

/* Pagefind UI theming (documented custom properties -- see pagefind.app/docs/ui).
   Matches the brand tokens: teal accent, navy text, cream background, 18px body. */
#search {
	--pagefind-ui-primary: var(--color-teal, #1AA6B7);
	--pagefind-ui-text: var(--color-navy, #2C3E50);
	--pagefind-ui-background: var(--color-cream, #fffcf5);
	--pagefind-ui-border: #d8e6e2;
	--pagefind-ui-tag: var(--color-green, #75a293);
	--pagefind-ui-border-width: 1px;
	--pagefind-ui-border-radius: 10px;
	--pagefind-ui-image-border-radius: 8px;
	--pagefind-ui-image-box-ratio: 1 / 1;
	--pagefind-ui-font: var(--font-body, 'Open Sans', sans-serif);
	--pagefind-ui-font-size: 18px;
	--pagefind-ui-scale: 1;
}
#search .pagefind-ui__search-input {
	font-size: 18px;
}
#search .pagefind-ui__result-title {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
}
#search .pagefind-ui__result-link {
	color: var(--color-navy, #2C3E50);
}
#search .pagefind-ui__result-link:hover {
	color: var(--color-teal, #1AA6B7);
}
@media (max-width: 700px) {
	.search-page {
		padding: 50px 18px 90px;
	}
	.search-page-inner h1 {
		font-size: 30px;
	}

}

/* ==========================================================================
   Homepage redesign (2026-07-17): /blog/ page 1 only. Brings the index up to
   the editorial design language established on post pages (Split Hero v2,
   .hero-split / .hero-kicker / .hero-dek) and the "Keep reading" card grid
   (.keep-reading-*). Scoped to .home-featured / .home-topics / .post-card-*
   so category hubs, paginated pages 2+, and post pages are untouched.
   Append-only -- nothing above this block is edited.
   ========================================================================== */

/* ---- 1. Featured band: reuses .hero-split / .hero-split-copy / .hero-kicker
   / .hero-dek / .hero-split-image from the post-page split hero as-is; adds
   an h2 size rule (the index's own hidden h1 stays put) and a CTA button. ---- */
.home-featured {
	margin-bottom: 0;
}
.home-featured .hero-split-copy h2 {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: clamp(28px, 3.4vw, 42px);
	line-height: 1.16;
	font-weight: 700;
	margin: 0;
}
.home-featured .hero-split-copy h2 a {
	color: var(--color-cream, #fffcf5);
	text-decoration: none;
}
.home-featured .hero-split-copy h2 a:hover {
	text-decoration: underline;
}
.hero-split-cta {
	display: inline-block;
	width: fit-content;
	background: var(--color-teal, #1AA6B7);
	color: var(--color-cream, #fffcf5) !important;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-weight: 700;
	font-size: 14.5px;
	padding: 12px 24px;
	border-radius: 999px;
	text-decoration: none;
	margin-top: 6px;
}
.hero-split-cta:hover {
	background: var(--color-teal-dark, #158A98);
	color: var(--color-cream, #fffcf5) !important;
}
@media only screen and (max-width: 768px) {
	.home-featured .hero-split-copy h2 {
		font-size: 26px;
	}
}

/* ---- 2. "Explore by topic" strip: full-width band between the featured
   post and the two-column post/sidebar layout. Same 11 curated
   CATEGORY_META hubs as the sidebar's "Explore by Topic" card. ---- */
.home-topics {
	background: var(--color-cream, #fffcf5);
	border-bottom: 1px solid #e7dfc9;
	padding: 34px 20px;
}
.home-topics-inner {
	max-width: 990px;
	margin: 0 auto;
}
.home-topics-heading {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 24px;
	font-weight: 700;
	color: var(--color-navy, #2C3E50);
	margin: 0 0 18px;
	text-align: left;
}
.home-topics-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 10px 18px;
}
.home-topic-item {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 10px 4px;
	border-bottom: 1px solid #e5ddc8;
	color: #333;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
}
.home-topic-item:hover {
	color: var(--color-teal, #1AA6B7);
}
.home-topic-dot {
	display: inline-block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	flex-shrink: 0;
}
.home-topic-dot.blue { background: #0089b6; }
.home-topic-dot.dblue { background: #2c5492; }
.home-topic-dot.green { background: #7cb600; }
.home-topic-dot.red { background: #b63c00; }
.home-topic-dot.orange { background: #f5b860; }
.home-topic-dot.pink { background: #e1036f; }
.home-topic-dot.purple { background: #6b00b6; }

/* ---- 3. Recent posts, 3-column editorial card grid (page 1 only),
   replacing the flat .blog-column-post rows. Same visual language as
   .keep-reading-* (post-page related module): cream card, square thumb,
   kicker, serif title -- plus a 1-2 line preview and byline for the
   listing context. Lives inside #blog-column-left, sidebar unchanged. ---- */
.post-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}
.post-card {
	display: flex;
	flex-direction: column;
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-radius: 12px;
	overflow: hidden;
}
.post-card-thumb {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #eee;
}
.post-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.post-card-body {
	padding: 16px 18px 20px;
}
.post-card-kicker {
	display: block;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.post-card-title {
	margin: 0 0 8px;
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 19px;
	line-height: 1.32;
	font-weight: 700;
}
.post-card-title a {
	color: var(--color-navy, #2C3E50);
	text-decoration: none;
}
.post-card-title a:hover {
	color: var(--color-teal, #1AA6B7);
}
.post-card-preview {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 14.5px;
	line-height: 1.55;
	color: #5a5f65;
	margin-bottom: 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.post-card-byline {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 12.5px;
	color: #8a8f94;
	margin: 0;
}
@media only screen and (max-width: 900px) {
	.post-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media only screen and (max-width: 600px) {
	.post-card-grid {
		grid-template-columns: 1fr;
	}
	.home-topics-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ==========================================================================
   Sidebar app-download CTA (2026-07-17): replaces the legacy email
   opt-in box in BlogSidebar.astro #optin-section. Navy card matching the
   #session-card "Recommended session" treatment; two teal pill buttons to
   the real App Store / Google Play listings. Append-only.
   ========================================================================== */
#app-cta-card {
	background: var(--color-navy, #2C3E50);
	border-radius: 14px;
	padding: 24px 22px 22px;
}
#app-cta-card .app-cta-heading {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--color-cream, #fffcf5);
	margin: 0 0 10px;
	text-align: left;
	letter-spacing: normal;
	text-transform: none;
	border: none;
	padding: 0;
}
.app-cta-line {
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 252, 245, 0.85);
	margin: 0 0 18px;
}
.app-cta-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.app-cta-btn {
	display: block;
	text-align: center;
	background: var(--color-teal, #1AA6B7);
	color: var(--color-cream, #fffcf5) !important;
	font-family: var(--font-body, 'Open Sans', sans-serif);
	font-weight: 700;
	font-size: 13.5px;
	padding: 12px 16px;
	border-radius: 999px;
	text-decoration: none;
}
.app-cta-btn:hover {
	background: var(--color-teal-dark, #158A98);
	color: var(--color-cream, #fffcf5) !important;
}

/* ==========================================================================
   Reader-favorites band (2026-07-17 homepage mix pass): full-width band
   inserted after the first 3 cards of the /blog/ page-1 card grid
   (.post-card-grid), between two otherwise-identical .post-card-grid
   halves rendered by ListColumns.astro. Reuses .post-card / .post-card-*
   markup as-is; only the kicker gets its own sage treatment (in place of
   the per-category color) and the band gets a distinct cream-on-sage
   surface + heading so 3 legacy-art evergreen posts read as a deliberate
   break from the surrounding watercolor-hero run. Append-only.
   ========================================================================== */
.reader-favorites-band {
	background: rgba(117, 162, 147, 0.1);
	border-top: 1px solid rgba(117, 162, 147, 0.35);
	border-bottom: 1px solid rgba(117, 162, 147, 0.35);
	border-radius: 12px;
	padding: 24px 22px 28px;
	margin: 6px 0 26px;
}
.reader-favorites-heading {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 20px;
	font-weight: 700;
	color: var(--color-navy, #2C3E50);
	margin: 0 0 16px;
	text-align: left;
}
.reader-favorites-grid {
	margin: 0;
}
.reader-favorites-band .post-card {
	background: var(--color-cream, #fffcf5);
}
.post-card-kicker-favorite {
	color: var(--color-green, #75a293);
}
@media only screen and (max-width: 600px) {
	.reader-favorites-band {
		padding: 20px 16px 22px;
	}
}

/* 2026-07-18: app-cta checklist items inherited #post-content's dark gray, unreadable on the teal gradient (Nick-flagged on tapping-for-forgiveness). Force white at higher specificity. */
#post-content .app-cta li, #post-content .app-cta2 li, .app-cta li, .app-cta2 li { color: #fff; }

/* ==========================================================================
   Category hubs join the editorial design (2026-07-20): the 11 hub pages'
   page 1 (/blog/category/<slug>/) now reuse FeaturedPost.astro (.hero-split
   navy band) for their featured post, same as the /blog/ homepage. When the
   featured post is the hub's pillar, FeaturedPost's kicker is overridden to
   "Start Here" -- this is its brightened-for-navy color, added alongside
   the existing .hero-kicker.blue/.dblue/etc category colors. Append-only.
   ========================================================================== */
.hero-kicker.starthere { color: #8FE3C0 !important; }


/* ==========================================================================
   Tapping World Summit CTA (2026-09-04): src/components/SummitCta.astro.
   Three placements share the kicker / line / button; the wrapper differs.
   Cream card with a navy button so it reads as an invitation, not an ad,
   and stays visually distinct from the navy .blog-promo-cta app box.
   ========================================================================== */
.summit-kicker {
	font-family: var(--font-nav, 'Lato', sans-serif);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-teal-dark, #158A98);
	font-weight: 700;
	margin: 0 0 8px;
}
.summit-line {
	font-size: 17px;
	line-height: 1.55;
	color: var(--color-charcoal, #333);
	margin: 0 0 20px;
}
.summit-btn {
	display: inline-block;
	background: var(--color-navy, #2C3E50);
	color: var(--color-cream, #fffcf5) !important;
	font-family: var(--font-nav, 'Lato', sans-serif);
	font-weight: 600;
	font-size: 16px;
	text-decoration: none !important;
	padding: 14px 30px;
	border-radius: 999px;
}
.summit-btn:hover {
	background: var(--color-teal-dark, #158A98);
}

/* inline (post body) */
#post-content .summit-inline {
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-left: 5px solid var(--color-teal, #1AA6B7);
	border-radius: 14px;
	padding: 30px 32px;
	margin: 44px 0;
}
#post-content .summit-inline-headline {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 24px;
	line-height: 1.3;
	color: var(--color-navy, #2C3E50);
	margin: 0 0 12px;
}

/* sidebar card */
.summit-card {
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-top: 4px solid var(--color-teal, #1AA6B7);
	border-radius: 12px;
	padding: 24px 22px;
	margin: 0 0 28px;
}
.summit-card-heading {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 21px;
	line-height: 1.3;
	color: var(--color-navy, #2C3E50);
	margin: 0 0 10px;
	text-transform: none;
	letter-spacing: 0;
}
.summit-card-line {
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-charcoal, #333);
	margin: 0 0 18px;
}
.summit-card .summit-btn {
	font-size: 15px;
	padding: 12px 24px;
}

/* homepage band */
.summit-band {
	background: var(--color-navy, #2C3E50);
	padding: 44px 20px;
}
.summit-band-inner {
	max-width: 990px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}
.summit-band .summit-kicker {
	color: var(--color-green, #75a293);
}
.summit-headline {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 28px;
	line-height: 1.25;
	color: var(--color-cream, #fffcf5);
	margin: 0 0 12px;
}
.summit-band .summit-line {
	color: var(--color-cream, #fffcf5);
	opacity: 0.9;
	margin: 0;
	max-width: 640px;
}
.summit-band .summit-btn {
	background: var(--color-green, #75a293);
	white-space: nowrap;
	flex-shrink: 0;
}
.summit-band .summit-btn:hover {
	background: var(--color-green-dark, #5d8a7a);
}
@media (max-width: 760px) {
	.summit-band-inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.summit-headline {
		font-size: 23px;
	}
	#post-content .summit-inline {
		padding: 24px 20px;
		margin: 34px 0;
	}
	#post-content .summit-inline-headline {
		font-size: 21px;
	}
}

/* ==========================================================================
   NeuroTap Health CTA (2026-09-07): src/components/NeuroTapCta.astro.
   Sidebar card (navy, so it reads as "news" next to the cream summit card)
   and a quiet one-line footer note under every post body.
   ========================================================================== */
.neurotap-card {
	background: var(--color-navy, #2C3E50);
	border-radius: 12px;
	padding: 24px 22px;
	margin: 0 0 28px;
}
.neurotap-kicker {
	font-family: var(--font-nav, 'Lato', sans-serif);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-green, #75a293);
	font-weight: 700;
	margin: 0 0 8px;
}
.neurotap-card-heading {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 21px;
	line-height: 1.3;
	color: var(--color-cream, #fffcf5);
	margin: 0 0 10px;
	text-transform: none;
	letter-spacing: 0;
}
.neurotap-card-line {
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-cream, #fffcf5);
	opacity: 0.9;
	margin: 0 0 18px;
}
.neurotap-btn {
	display: inline-block;
	background: var(--color-green, #75a293);
	color: var(--color-cream, #fffcf5) !important;
	font-family: var(--font-nav, 'Lato', sans-serif);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none !important;
	padding: 12px 24px;
	border-radius: 999px;
}
.neurotap-btn:hover {
	background: var(--color-green-dark, #5d8a7a);
}
.neurotap-more {
	display: block;
	margin-top: 14px;
	font-family: var(--font-nav, 'Lato', sans-serif);
	font-size: 14px;
	color: var(--color-cream, #fffcf5) !important;
	opacity: 0.85;
	text-decoration: underline;
}
#post-content .neurotap-footer {
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-charcoal, #333);
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-radius: 10px;
	padding: 14px 18px;
	margin: 36px 0 0;
}
#post-content .neurotap-footer a {
	color: var(--color-teal-dark, #158A98);
}
/* inline NeuroTap note inside hand-picked pain/anxiety/depression posts (2026-09-07) */
#post-content .neurotap-inline {
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-left: 5px solid var(--color-green, #75a293);
	border-radius: 14px;
	padding: 22px 26px;
	margin: 40px 0;
}
#post-content .neurotap-inline-kicker {
	font-family: var(--font-nav, 'Lato', sans-serif);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-teal-dark, #158A98);
	font-weight: 700;
	margin: 0 0 8px;
}
#post-content .neurotap-inline p:last-child { margin-bottom: 0; }

/* ==========================================================================
   tts-* component classes (2026-09-08). The 2026 WordPress posts and the
   poll / pop-quiz email landing pages use the tts-blog-style component
   markup (.tts-key-insight, .tts-testimonial, .tts-cta-box, .tts-button,
   .tts-signoff ...) whose CSS lived in per-post <style> blocks on WP. This
   is the one shared, house-token version. Scoped to #post-content.
   ========================================================================== */
#post-content .tts-blog-post { max-width: none; padding: 0; margin: 0; }
#post-content .tts-quiz-question {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 26px; line-height: 1.3; font-weight: 700;
	color: var(--color-navy, #2C3E50); text-align: center; margin: 0 0 24px;
}
#post-content .tts-answer-reveal,
#post-content .tts-correct-answer,
#post-content .tts-key-insight {
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9;
	border-left: 5px solid var(--color-teal, #1AA6B7);
	border-radius: 12px; padding: 22px 26px; margin: 32px 0; text-align: center;
}
#post-content .tts-key-insight p,
#post-content .tts-correct-answer p {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 22px; line-height: 1.35; color: var(--color-navy, #2C3E50); margin: 0;
}
#post-content .tts-answer-reveal .label {
	font-family: var(--font-nav, 'Lato', sans-serif); font-size: 13px; letter-spacing: 0.08em;
	text-transform: uppercase; color: var(--color-teal-dark, #158A98); font-weight: 700; margin: 0 0 6px;
}
#post-content .tts-answer-reveal .answer {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 30px; line-height: 1.2; color: var(--color-navy, #2C3E50); margin: 0;
}
#post-content .tts-testimonial,
#post-content .tts-expert-quote,
#post-content .tts-opening-quote {
	border-left: 4px solid var(--color-green, #75a293);
	padding: 6px 0 6px 24px; margin: 32px 0;
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 21px; line-height: 1.5; color: var(--color-navy, #2C3E50); font-style: italic;
}
#post-content .tts-testimonial p:last-child,
#post-content .tts-expert-quote p:last-child,
#post-content .tts-opening-quote p:last-child { margin-bottom: 0; }
#post-content .tts-statement {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 24px; line-height: 1.35; color: var(--color-navy, #2C3E50); text-align: center; margin: 36px 0;
}
#post-content .tts-cta-box,
#post-content .tts-stat-box,
#post-content .tts-story-box {
	background: var(--color-cream, #fffcf5);
	border: 1px solid #e7dfc9; border-radius: 14px; padding: 28px 30px; margin: 36px 0; text-align: center;
}
#post-content .tts-cta-box h3 {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: 24px; color: var(--color-navy, #2C3E50); margin: 0 0 12px;
}
#post-content .tts-cta-box ul { text-align: left; }
#post-content .tts-cta-box img { max-width: 100%; height: auto; border-radius: 10px; margin: 0 auto 18px; display: block; }
#post-content .tts-button-wrap { text-align: center; margin: 32px 0; }
#post-content .tts-button {
	display: inline-block; background: var(--color-navy, #2C3E50);
	color: var(--color-cream, #fffcf5) !important;
	font-family: var(--font-nav, 'Lato', sans-serif); font-weight: 600; font-size: 17px;
	text-decoration: none !important; padding: 15px 32px; border-radius: 999px;
}
#post-content .tts-button:hover { background: var(--color-teal-dark, #158A98); }
#post-content .tts-quiz-embed { display: block; width: 100%; }
#post-content .tts-signoff { margin-top: 40px; padding-top: 22px; border-top: 1px solid #e7dfc9; }
#post-content .tts-footnote,
#post-content .tts-bio { font-size: 14px; line-height: 1.6; color: #666; font-style: italic; }
#post-content .tts-gesture-image { max-width: 100%; height: auto; display: block; margin: 24px auto; border-radius: 10px; }
@media (max-width: 760px) {
	#post-content .tts-quiz-question { font-size: 22px; }
	#post-content .tts-answer-reveal .answer { font-size: 26px; }
	#post-content .tts-key-insight p, #post-content .tts-correct-answer p { font-size: 19px; }
	#post-content .tts-cta-box, #post-content .tts-stat-box, #post-content .tts-story-box { padding: 22px 20px; }
}

/* Category hub hero (2026-09-08): topic title + intro inside the navy panel,
   pillar post as a "Start here" block beneath a hairline. */
.hub-hero .hero-split-copy { gap: 12px; }
.hub-hero .hub-hero-title {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: clamp(38px, 4.4vw, 56px);
	line-height: 1.08;
	font-weight: 700;
	margin: 0;
	color: var(--color-cream, #fffcf5);
}
.hub-hero .hub-hero-intro { margin-bottom: 8px; }
.hub-hero .hub-hero-start {
	margin-top: 18px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 252, 245, 0.22);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.hub-hero .hub-hero-start h2 {
	font-family: var(--font-display, 'Playfair Display', Georgia, serif);
	font-size: clamp(21px, 2.1vw, 27px);
	line-height: 1.25;
	font-weight: 700;
	margin: 0;
	color: var(--color-cream, #fffcf5);
}
.hub-hero .hub-hero-start h2 a { color: inherit; text-decoration: none; }
.hub-hero .hub-hero-start h2 a:hover { text-decoration: underline; }
@media (max-width: 760px) {
	.hub-hero .hub-hero-title { font-size: 34px; }
	.hub-hero .hub-hero-start { margin-top: 12px; padding-top: 16px; }
}

/* In-post data table + numbered steps (2026-09-08, first used on the 9 tapping
   points chart post). Scrolls sideways on phones instead of overflowing. */
#post-content .table-scroll { overflow-x: auto; margin: 28px 0 10px; -webkit-overflow-scrolling: touch; }
#post-content .tts-table {
	width: 100%; border-collapse: collapse; min-width: 640px;
	font-family: var(--font-body, 'Open Sans', sans-serif); font-size: 15px; line-height: 1.45;
}
#post-content .tts-table th {
	text-align: left; background: var(--color-navy, #2C3E50); color: var(--color-cream, #fffcf5);
	font-family: var(--font-nav, 'Lato', sans-serif); font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase;
	padding: 12px 14px;
}
#post-content .tts-table td { padding: 11px 14px; border-bottom: 1px solid #e7dfc9; vertical-align: top; color: var(--color-charcoal, #333); }
#post-content .tts-table tbody tr:nth-child(odd) td { background: var(--color-cream, #fffcf5); }
#post-content .tts-table td:first-child { font-family: var(--font-display, 'Playfair Display', Georgia, serif); font-size: 18px; color: var(--color-teal-dark, #158A98); font-weight: 700; }
#post-content .tts-table td:nth-child(2) { font-weight: 600; color: var(--color-navy, #2C3E50); }
#post-content ol.tts-steps { counter-reset: step; list-style: none; padding: 0; margin: 24px 0; }
#post-content ol.tts-steps li { position: relative; padding: 0 0 18px 56px; counter-increment: step; }
#post-content ol.tts-steps li::before {
	content: counter(step); position: absolute; left: 0; top: -2px;
	width: 38px; height: 38px; border-radius: 50%; background: var(--color-teal, #1AA6B7); color: #fff;
	font-family: var(--font-display, 'Playfair Display', Georgia, serif); font-size: 19px; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}
/* pop-quiz option list (email quiz answer pages, 2026-09-08) */
#post-content .tts-quiz-options { display: grid; gap: 10px; max-width: 520px; margin: 0 auto 24px; }
#post-content .tts-quiz-option { padding: 12px 18px; border: 1px solid #e7dfc9; border-radius: 10px; background: #fff; font-family: var(--font-nav, 'Lato', sans-serif); font-size: 16px; color: var(--color-charcoal, #333); }
#post-content .tts-quiz-option.tts-correct { background: var(--color-cream, #fffcf5); border-color: var(--color-teal, #1AA6B7); color: var(--color-teal-dark, #158A98); font-weight: 700; }
#post-content .tts-story-heading { font-family: var(--font-display, 'Playfair Display', Georgia, serif); font-size: 22px; color: var(--color-navy, #2C3E50); margin: 0 0 10px; }
