/*
Theme Name: Theme 2 - Beige Modern (Simplified)
Theme URI: https://multidots.com
Author: Multidots
Author URI: https://multidots.com
Description: Multidots theme - Simplified version without build process
Tags: blog, theme
Version: 1.0
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tripeak-main-two
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* ==========================================================================
   Reset & Base Styles
   ========================================================================== */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline;
}

html {
    -webkit-font-smoothing: none;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    overflow-x: hidden;
    font-family: "lucida grande", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 18px;
    line-height: 170%;
    font-weight: 500;
    background-color: var(--body-bg-color);
    color: var(--text-color);
}

/* ==========================================================================
   Typography
   ========================================================================== */

h1 {
    font-family: "georgiaregular";
    font-weight: 400;
    font-size: 56px;
    line-height: 120%;
    letter-spacing: 1%;
    margin-bottom: 16px;
    color: var(--heading-color);
}

h2 {
    font-family: "georgiabold";
    font-weight: 700;
    font-size: 32px;
    line-height: 120%;
    margin-bottom: 24px;
    color: var(--heading-color);
}

h3 {
    margin-bottom: 30px;
    color: var(--heading-color);
}

h4, h5, h6 {
    color: var(--heading-color);
}

p {
    line-height: 1.7;
}

/* Page-specific paragraph spacing */
body.page .entry-content p,
body.page .entry-content p:not(:last-child) {
    margin-bottom: 24px;
}

a {
    color: var(--text-link-color);
    text-underline-offset: 1.5px;
    text-decoration-thickness: 1px;
    text-decoration: underline;
}

a:hover {
    color: var(--text-hover-link-color);
}

/* ==========================================================================
   Layout
   ========================================================================== */

.container {
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 16px;
    padding-right: 16px;
}

.container-fluid {
    padding-left: 16px;
    padding-right: 16px;
    margin: 0 auto;
}

img {
    border-style: none;
    max-width: 100%;
    height: auto;
}

/* ==========================================================================
   Forms
   ========================================================================== */

input[type="search"], input[type="text"], input[type="password"] {
    padding: 8px;
    flex-grow: 1;
    min-width: 3em;
    border: 1px solid #949494;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
}

input[type="submit"], button[type="submit"] {
    background: #f7f7f7;
    border: 1px solid #ccc;
    padding: 8px .625em;
    color: #32373c;
    margin-left: .625em;
    word-break: normal;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    cursor: pointer;
}

/* ==========================================================================
   Header
   ========================================================================== */

.tripeak-theme-version-two-header {
    padding: 24px 0;
    border-bottom: 1px solid rgba(17, 6, 6, 0.1);
    background-color: var(--header-bg-color);
}

.tripeak-theme-version-two-header-wrap {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    width: 100%;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.tripeak-theme-version-two-header .site-branding {
    display: inline-flex;
    align-items: center;
    text-align: left;
    flex-shrink: 0;
    gap: 8px;
}

.tripeak-theme-version-two-header .site-branding a {
    line-height: normal;
    flex-shrink: 0;
    text-decoration: underline;
}

.tripeak-theme-version-two-header .site-branding a img {
    height: 64px;
    width: 64px;
    border-radius: 50%;
}

.tripeak-theme-version-two-header .site-branding .site-title {
    font-size: 32px;
    line-height: 100%;
    word-wrap: break-word;
    font-weight: 500;
    text-transform: capitalize;
    color: var(--site-title-color);
}

.tripeak-theme-version-two-header .site-branding .site-title a,
.tripeak-theme-version-two-header .site-branding .site-title h1 {
    font-size: inherit;
    line-height: inherit;
    color: var(--site-title-color);
    text-decoration: none;
    margin-bottom: 0;
}

.tripeak-theme-version-two-header .site-branding .site-description {
    margin-top: 8px;
    font-weight: 500;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;
    color: var(--site-tagline-color);
}

/* Navigation */
.tripeak-theme-version-two-menu ul {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

.tripeak-theme-version-two-menu ul li {
    position: relative;
    display: inline-block;
    margin-right: 16px;
    list-style: none;
}

.tripeak-theme-version-two-menu ul li::before,
.tripeak-theme-version-two-menu ul li::after {
    content: none;
}

.tripeak-theme-version-two-menu ul li a {
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
    text-transform: capitalize;
    text-underline-offset: 2px;
    color: var(--header-text-color);
    position: relative;
    z-index: 999;
    text-decoration: underline 1px;
    text-decoration-color: var(--header-text-color);
    display: block;
}

.tripeak-theme-version-two-menu ul li.current-menu-item a {
    color: var(--text-link-color);
    text-decoration-color: currentColor;
}

.tripeak-theme-version-two-menu ul li:last-child {
    margin-right: 0;
    padding-right: 0;
}

/* Dropdown/Submenu Styles - Desktop */
.tripeak-theme-version-two-menu ul ul {
    display: flex;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 99999;
    min-width: 220px;
    background-color: #FFFFFF;
    border: 1px solid #E5E5E5;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 0.5rem 0;
    margin: 0;
    flex-direction: column;
    gap: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    transition-delay: 0s, 0.15s, 0s;
}

.tripeak-theme-version-two-menu ul ul li {
    display: block;
    width: 100%;
    margin: 0;
}

.tripeak-theme-version-two-menu ul ul a {
    padding: 0.75rem 1rem;
    font-size: 14px;
    text-transform: none;
    text-decoration: none;
    color: #333333;
    font-weight: 500;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.tripeak-theme-version-two-menu ul ul a:hover {
    background-color: #F8F9FA;
    color: var(--text-link-color);
}

/* Show dropdown on hover - Desktop */
.tripeak-theme-version-two-menu li:hover > ul,
.tripeak-theme-version-two-menu li:focus-within > ul {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
}

/* Dropdown arrow indicator */
.tripeak-theme-version-two-menu .menu-item-has-children > a::after {
    content: " ▼";
    font-size: 0.6rem;
    margin-left: 0.25rem;
    opacity: 0.6;
}

/* Third level submenus (if needed) */
.tripeak-theme-version-two-menu ul ul ul {
    top: 0;
    left: 100%;
    margin: 0;
}

.header-nav-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Search */
.tripeak-theme-header__search-container {
    position: relative;
    display: inline-block;
}

.tripeak-theme-header__search-container:focus-within .tripeak-theme-header__search-overlay {
    width: 100%;
    opacity: 1;
    left: 0;
}

.tripeak-theme-header__search-container button {
    background-color: transparent;
    border: 0;
    color: currentColor;
    cursor: pointer;
}

.tripeak-theme-header__search-container button svg {
    position: relative;
    top: 4px;
}

.tripeak-theme-header__search-container .search-form {
    display: flex;
}

.tripeak-theme-header__search-container .search-form label {
    width: 310px;
}

.tripeak-theme-header__search-container .search-submit {
    margin: 0;
    color: #fff;
    border: none;
    background-color: #333;
    border-radius: 0 6px 6px 0;
    font-size: 16px;
    padding: 8px 20px;
}

.tripeak-theme-header__search-overlay {
    width: 0;
    position: fixed;
    top: 0;
    left: -100%;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    backdrop-filter: blur(3px);
    transition: width 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    opacity: 0;
}

.tripeak-theme-header__search-overlay input[type="search"] {
    width: 100%;
    height: 60px;
    padding: 15px;
    background-color: transparent;
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: currentColor;
    outline: none;
    border-radius: 6px 0 0 6px;
}

.tripeak-theme-header__inner-search-overlay {
    display: flex;
    max-width: 100%;
    background-color: #fff;
    border-radius: 6px;
}

/* ==========================================================================
   Footer
   ========================================================================== */

footer {
    background-color: var(--footer-bg-color);
}

footer .site-info {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 64px 0 32px 0;
    flex-wrap: wrap;
    gap: 10px;
    flex-direction: column;
}

footer .site-info ul li {
    display: inline-block;
    margin-right: 10px;
}

footer .site-info ul li:last-child {
    margin-right: 0;
}

footer .site-info ul li a {
    color: var(--footer-text-color);
    font-size: 16px;
    text-decoration: 1.5px underline;
    text-decoration-color: var(--footer-text-color);
}

footer .site-info .site-social-icon {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

footer .site-info .site-social-icon li {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Social Links Wrapper */
.social-links-wrapper {
    margin-top: 16px;
    margin-bottom: 8px;
}

footer .site-info .site-social-icon {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

footer .site-info .site-social-icon li {
    display: inline-flex;
    margin: 0;
}

footer .site-info .site-social-icon .social-link {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--footer-text-color);
    font-size: 16px;
    font-weight: 400;
    transition: opacity 0.2s ease;
}

footer .site-info .site-social-icon .social-link:hover {
    opacity: 0.8;
}

footer .site-info .site-social-icon .social-link svg {
    width: 20px;
    height: 20px;
    fill: var(--footer-text-color);
    flex-shrink: 0;
}

footer .site-info .site-social-icon .social-link img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

footer .site-info .site-social-icon .social-link-label {
    font-size: 16px;
    font-weight: 400;
    color: var(--footer-text-color);
    text-decoration: underline;
}

footer .site-info .site-branding .custom-logo-link img {
    border: 4px solid var(--footer-text-color);
    width: 64px;
    height: 64px;
    border-radius: 50%;
}


footer .site-info .site-branding {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

footer .site-info p.site-title a {
    color: var(--footer-text-color);
    text-decoration: none;
    font-weight: 500;
    font-size: 32px;
    line-height: 100%;
    letter-spacing: 0%;
}

footer .site-info p.site-description {
    color: rgba(249, 245, 237, 0.6);
    font-weight: 500;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;
    margin-top: 4px;
}

footer .site-info .site-footer-description {
    font-weight: 500;
    font-size: 18px;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--footer-text-color);
    margin: 16px 0;
}

/* Footer Navigation */
.footer-navigation {
    margin-top: 32px;
    padding-top: 24px;
    padding-bottom: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-nav .footer-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-nav .footer-menu li {
    margin: 0;
    padding: 0;
    position: relative;
    list-style: none;
}

.footer-nav .footer-menu li::before,
.footer-nav .footer-menu li::after {
    content: none;
}

.footer-nav .footer-menu li a {
    color: var(--footer-text-color);
    font-size: 16px;
    text-decoration: underline;
    transition: opacity 0.2s ease;
    display: block;
}

.footer-nav .footer-menu li a:hover {
    opacity: 0.8;
}

/* Footer Dropdown/Submenu Styles - Desktop */
.footer-nav .footer-menu .sub-menu {
    display: flex;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    bottom: 100%;
    left: 0;
    z-index: 99999;
    min-width: 220px;
    background-color: var(--footer-bg-color);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    padding: 0.5rem 0;
    margin: 0;
    flex-direction: column;
    gap: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    transition-delay: 0s, 0.15s, 0s;
    list-style: none;
}

.footer-nav .footer-menu .sub-menu li {
    width: 100%;
    margin: 0;
}

.footer-nav .footer-menu .sub-menu a {
    padding: 0.75rem 1rem;
    font-size: 14px;
    text-decoration: none;
    color: var(--footer-text-color);
    font-weight: 500;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

.footer-nav .footer-menu .sub-menu a:hover {
    background-color: rgba(255, 255, 255, 0.1);
    opacity: 1;
}

/* Show footer dropdown on hover - Desktop */
.footer-nav .footer-menu li:hover > .sub-menu,
.footer-nav .footer-menu li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
}

/* Footer Dropdown arrow indicator */
.footer-nav .footer-menu .menu-item-has-children > a::after {
    content: " ▲";
    font-size: 0.6rem;
    margin-left: 0.25rem;
    opacity: 0.6;
}

/* Third level submenus in footer (if needed) */
.footer-nav .footer-menu .sub-menu .sub-menu {
    bottom: 0;
    left: 100%;
    margin: 0;
    transform: translateX(-10px);
}

.footer-nav .footer-menu li:hover > .sub-menu .sub-menu,
.footer-nav .footer-menu li:focus-within > .sub-menu .sub-menu {
    transform: translateX(0);
}

/* ==========================================================================
   Main Content
   ========================================================================== */

main.tripeak-theme-version-two {
    padding: 20px 0 40px 0;
}

/* Table of Contents */
body.blog div#ez-toc-container {
    display: none;
}

#ez-toc-container {
    background-color: #F7F7F7;
}

#ez-toc-container .ez-toc-title {
    color: #333;
}

#ez-toc-container a {
    color: #000;
}

main.tripeak-theme-version-two #ez-toc-container {
    border-radius: 16px;
    box-shadow: none;
    margin-top: 48px;
    margin-bottom: 48px;
    padding: 24px;
    position: relative;
    border: none;
    width: 100%;
}

main.tripeak-theme-version-two #ez-toc-container .ez-toc-cssicon {
    border: none;
    width: 10px;
    left: 0;
    font-size: 0;
}

main.tripeak-theme-version-two #ez-toc-container .ez-toc-icon-toggle-span {
    border: none;
    position: relative;
    width: auto;
}

main.tripeak-theme-version-two #ez-toc-container .ez-toc-icon-toggle-span svg {
    display: none;
}

main.tripeak-theme-version-two #ez-toc-container .ez-toc-icon-toggle-span::before {
    content: '';
    display: inline-block;
    position: absolute;
    right: 0;
    width: 22px;
    height: 12px;
    background-image: url("data:image/svg+xml;utf8,%3Csvg width='22' height='12' viewBox='0 0 22 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.7076 11.7076C21.6147 11.8005 21.5044 11.8743 21.383 11.9246C21.2616 11.9749 21.1315 12.0008 21.0001 12.0008C20.8687 12.0008 20.7385 11.9749 20.6171 11.9246C20.4957 11.8743 20.3854 11.8005 20.2926 11.7076L11.0001 2.4138L1.70757 11.7076C1.51993 11.8952 1.26543 12.0006 1.00007 12.0006C0.734704 12.0006 0.480208 11.8952 0.292568 11.7076C0.104927 11.5199 -0.000488276 11.2654 -0.000488281 11.0001C-0.000488286 10.7347 0.104927 10.4802 0.292568 10.2926L10.2926 0.292554C10.3854 0.199577 10.4957 0.125819 10.6171 0.0754948C10.7385 0.0251705 10.8687 -0.000732422 11.0001 -0.000732422C11.1315 -0.000732422 11.2616 0.0251705 11.383 0.0754948C11.5044 0.125819 11.6147 0.199577 11.7076 0.292554L21.7076 10.2926C21.8005 10.3854 21.8743 10.4957 21.9246 10.6171C21.975 10.7385 22.0009 10.8686 22.0009 11.0001C22.0009 11.1315 21.975 11.2616 21.9246 11.383C21.8743 11.5044 21.8005 11.6147 21.7076 11.7076Z' fill='black'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

main.tripeak-theme-version-two #ez-toc-container .ez-toc-title {
    font-family: "georgiabold";
    font-weight: 700;
    font-size: 22px;
    line-height: 32px;
    display: inline-block;
}

main.tripeak-theme-version-two #ez-toc-container nav > ul {
    margin-top: 10px;
    padding-top: 10px;
}

main.tripeak-theme-version-two #ez-toc-container ul li {
    line-height: normal;
    margin-bottom: 5px;
    list-style: none;
}

main.tripeak-theme-version-two #ez-toc-container ul li a {
    font-size: 18px;
    line-height: 200%;
    padding-left: 5px;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

main.tripeak-theme-version-two #ez-toc-container ul li:last-child {
    margin-bottom: 0;
}

main.tripeak-theme-version-two #ez-toc-container ul ul {
    margin-top: 6px;
}

/* Blocks */
main.tripeak-theme-version-two .wp-block-buttons {
    margin-bottom: 25px;
}

main.tripeak-theme-version-two .wp-block-buttons > .wp-block-button {
    width: auto;
}

main.tripeak-theme-version-two .wp-block-list {
    margin-left: 25px;
}

main.tripeak-theme-version-two .wp-block-list li {
    margin-bottom: 16px;
}

main.tripeak-theme-version-two .wp-block-list li:last-child {
    margin-bottom: 0;
}

main.tripeak-theme-version-two .wp-block-list.has-white-background-color.has-background {
    padding: 24px;
    border-radius: 16px;
    list-style: none;
    margin-left: 0;
}

main.tripeak-theme-version-two pre.wp-block-code {
    margin-bottom: 20px;
}

/* Remove margin from images that have captions */
main.tripeak-theme-version-two .wp-block-image:has(figcaption) img,
main.tripeak-theme-version-two .wp-block-post-featured-image:has(figcaption) img,
main.tripeak-theme-version-two figure:has(figcaption) img {
    margin-bottom: 0 !important;
}

/* Add margin to captions instead of images when caption exists */
main.tripeak-theme-version-two .wp-block-image:has(figcaption),
main.tripeak-theme-version-two .wp-block-post-featured-image:has(figcaption),
main.tripeak-theme-version-two figure:has(figcaption) {
    margin-bottom: 32px;
}

main.tripeak-theme-version-two .wp-block-image,
main.tripeak-theme-version-two .wp-block-post-featured-image {
    margin-bottom: 32px;
}

main.tripeak-theme-version-two .wp-block-image img,
main.tripeak-theme-version-two .wp-block-post-featured-image img {
    border-radius: 16px;
}

main.tripeak-theme-version-two .wp-block-cover {
    border-radius: 8px;
    margin-bottom: 20px;
}

main.tripeak-theme-version-two .wp-block-gallery {
    margin-bottom: 20px;
    gap: 1rem; /* Only horizontal gap between columns */
}

main.tripeak-theme-version-two .wp-block-gallery .wp-block-image {
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 0 !important; /* Remove bottom margin from gallery images */
    padding-bottom: 0 !important;
}

main.tripeak-theme-version-two .wp-block-gallery .wp-block-image img {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Gallery captions - minimal top spacing (redundant with main caption rule above) */
main.tripeak-theme-version-two .wp-block-gallery figcaption {
    margin-top: 2px !important; /* Very tight spacing above caption */
    margin-bottom: 0;
    text-align: left !important;
    font-style: italic;
    color: #666;
    line-height: 1.6;
    font-size: 0.9rem;
}

main.tripeak-theme-version-two .wp-block-video video {
    border-radius: 8px;
}

/* Featured Image on Single Posts */
main.tripeak-theme-version-two .featured-image {
    margin-bottom: 2rem;
    text-align: center;
}

main.tripeak-theme-version-two .featured-image img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease;
}

main.tripeak-theme-version-two .featured-image img:hover {
    transform: scale(1.02);
}

main.tripeak-theme-version-two .wp-block-media-text {
    margin-bottom: 20px;
}

main.tripeak-theme-version-two .wp-block-media-text .wp-block-media-text__media img {
    border-radius: 16px;
}

main.tripeak-theme-version-two .entry-content p:last-child {
    margin-bottom: 0;
}

main.tripeak-theme-version-two .entry-content .wp-block-group__inner-container > *:last-child {
    margin-bottom: 0;
}

/* Media Captions - All captions left-aligned and italicized */
main.tripeak-theme-version-two figcaption,
main.tripeak-theme-version-two .wp-block-image figcaption,
main.tripeak-theme-version-two .wp-block-embed figcaption,
main.tripeak-theme-version-two .wp-block-video figcaption,
main.tripeak-theme-version-two .wp-block-audio figcaption,
main.tripeak-theme-version-two .wp-block-gallery figcaption,
main.tripeak-theme-version-two .wp-block-post-featured-image figcaption,
main.tripeak-theme-version-two .wp-element-caption,
main.tripeak-theme-version-two .entry-content figcaption,
main.tripeak-theme-version-two .entry-summary figcaption {
    text-align: left !important;
    font-style: italic;
    color: #666;
    margin-top: 2px !important; /* Very tight spacing above caption */
    margin-bottom: 0;
    line-height: 1.6;
    font-size: 0.9rem;
}

/* Captions that are the last child get the bottom margin instead of the image */
main.tripeak-theme-version-two .wp-block-image:has(figcaption) figcaption:last-child,
main.tripeak-theme-version-two .wp-block-post-featured-image:has(figcaption) figcaption:last-child,
main.tripeak-theme-version-two figure:has(figcaption) figcaption:last-child {
    margin-bottom: 32px;
}

/* Ensure captions don't have text-align center from WordPress */
main.tripeak-theme-version-two .wp-block-image :where(figcaption),
main.tripeak-theme-version-two .wp-block-embed :where(figcaption),
main.tripeak-theme-version-two .wp-block-video :where(figcaption),
main.tripeak-theme-version-two .wp-block-audio :where(figcaption),
main.tripeak-theme-version-two .wp-block-gallery.has-nested-images figcaption {
    text-align: left !important;
    font-style: italic;
}

/* Homepage Styles */
body.home h1 {
    max-width: 100%;
    margin-bottom: 24px;
}

body.home .wp-block-button__link {
    font-family: "lucida grande";
    text-transform: uppercase;
    font-weight: 600;
    background-color: #a7362d;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

body.home .wp-block-button__link:hover {
    background-color: #922c24;
}

body.home .wp-block-button {
    background: none;
    padding: 0;
}

body.home .wp-block-group {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 40px 0;
    margin-top: 40px;
    border-bottom: 1px solid rgba(17, 6, 6, 0.1);
    background-color: #F0EADF;
    padding-top: 50px;
}

body.home .wp-block-group__inner-container {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 16px;
}

body.home main.tripeak-theme-version-two {
    padding-bottom: 0;
}

/* Latest Posts Grid */
body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 16px;
    margin-bottom: 0;
    padding-left: 0;
    padding-bottom: 0;
}

body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list li {
    margin: 0;
    background-color: var(--post-card-bg-color);
    border-radius: 16px;
    width: 100%;
    display: block;
}

body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list li .wp-block-latest-posts__featured-image {
    position: relative;
    width: 100%;
    padding-top: 76%;
    overflow: hidden;
    display: block;
}

body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list li .wp-block-latest-posts__featured-image img {
    border-radius: 16px 16px 0 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list li .wp-block-latest-posts__featured-image a {
    display: block;
}

body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list li a.wp-block-latest-posts__post-title {
    font-size: 22px;
    line-height: 120%;
    font-weight: 700;
    word-break: break-word;
    padding: 8px 24px 0;
    display: block;
    font-family: "georgiabold";
    text-decoration: none;
    color: var(--heading-color);
}

body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list li time.wp-block-latest-posts__post-date {
    padding: 0 24px;
    display: block;
    font-size: 12px;
    line-height: 100%;
    margin-bottom: 0;
    margin-top: 24px;
    font-weight: 400;
    text-transform: uppercase;
    color: rgba(17, 6, 6, 0.5);
    font-family: Courier;
}

body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list li .wp-block-latest-posts__post-excerpt {
    padding: 0 24px;
    font-size: 16px;
    line-height: 160%;
    margin-bottom: 24px;
}

body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list li a.wp-block-latest-posts__read-more {
    display: block;
    margin-top: 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 120%;
}

/* Post Wrapper */
.tripeak-theme-version-two-post-wrapper {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 16px;
}

.tripeak-theme-version-two-post-wrapper nav.posts-navigation {
    display: inline-block;
    width: 100%;
    grid-column: 1 / 3;
}

.tripeak-theme-version-two-post-wrapper nav.posts-navigation .nav-links {
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.tripeak-theme-version-two-post-wrapper article {
    background-color: var(--post-card-bg-color);
    border-radius: 16px;
}

.tripeak-theme-version-two-post-wrapper article .tripeak-theme-version-two-post-content {
    padding: 24px;
}

.tripeak-theme-version-two-post-wrapper article .tripeak-theme-version-two-post-content h3 {
    margin-bottom: 8px;
}

.tripeak-theme-version-two-post-wrapper article .tripeak-theme-version-two-post-content h3 a {
    font-size: 22px;
    line-height: 120%;
    font-weight: 700;
    word-break: break-word;
    display: block;
    font-family: "georgiabold";
    text-decoration: none;
    color: var(--heading-color);
}

.tripeak-theme-version-two-post-wrapper article .post-thumbnail {
    position: relative;
    width: 100%;
    padding-top: 76%;
    overflow: hidden;
    display: block;
}

.tripeak-theme-version-two-post-wrapper article .post-thumbnail img {
    border-radius: 16px 16px 0 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 16px;
}

.tripeak-theme-version-two-post-wrapper article .wp-block-latest-posts__read-more {
    margin-top: 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 120%;
    display: block;
}

.tripeak-theme-version-two-post-wrapper article span.date {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 7.5px;
    margin-top: 0;
    text-transform: uppercase;
}

.tripeak-theme-version-two-post-wrapper .wp-block-latest-posts__post-excerpt {
    font-size: 16px;
    line-height: 160%;
    margin-bottom: 0;
    display: inline-block;
}

/* Single Post */
.tripeak-theme-version-two-post-article span.date {
    display: block;
    font-size: 12px;
    line-height: 100%;
    font-weight: 400;
    text-transform: uppercase;
    color: rgba(17, 6, 6, 0.5);
    font-family: Courier;
}

.tripeak-theme-version-two-post-article .post-thumbnail img {
    max-width: 100%;
    width: auto;
}

.tripeak-theme-version-two-post-article span.posted-on time.updated {
    margin-left: 10px;
    border-left: 2px solid #000;
    padding-left: 10px;
}

.tripeak-theme-version-two-post-article .entry-content p,
.tripeak-theme-version-two-post-article .entry-summary p {
    margin-bottom: 32px;
}

.tripeak-theme-version-two-post-article .entry-content ul,
.tripeak-theme-version-two-post-article .entry-content ol,
.tripeak-theme-version-two-post-article .entry-summary ul,
.tripeak-theme-version-two-post-article .entry-summary ol {
    padding-left: 15px;
    padding-bottom: 16px;
}

.tripeak-theme-version-two-post-article .entry-content ul > li ul,
.tripeak-theme-version-two-post-article .entry-content ol > li ul,
.tripeak-theme-version-two-post-article .entry-summary ul > li ul,
.tripeak-theme-version-two-post-article .entry-summary ol > li ul {
    padding-bottom: 0;
}

.tripeak-theme-version-two-post-article .entry-content img,
.tripeak-theme-version-two-post-article .entry-summary img {
    max-width: 100%;
    width: auto;
}

.tripeak-theme-version-two-post-article .entry-content pre,
.tripeak-theme-version-two-post-article .entry-summary pre {
    white-space: pre-wrap;
}

.single-post-section .tripeak-theme-version-two-post-article h1 {
    margin-top: 0;
    margin-bottom: 8px;
}

.single-post-section figure.wp-block-post-featured-image,
.single-post-section .wp-block-image {
    aspect-ratio: auto;
}

.single-post-section figure.wp-block-post-featured-image img,
.single-post-section .wp-block-image img {
    border-radius: 16px;
    width: 100%;
    margin-bottom: 10px;
}

.single-post-section figure.wp-block-post-featured-image figcaption,
.single-post-section .wp-block-image figcaption {
    text-align: left !important;
    font-style: italic;
    color: #666;
    margin-top: 2px !important; /* Very tight spacing above caption */
    margin-bottom: 0;
    line-height: 1.6;
    font-size: 0.9rem;
}

.single-post-section .wp-block-list li {
    margin-bottom: 8px;
}

.single-post-section .wp-block-list li:last-child {
    margin-bottom: 0;
}

.single-post-section .wp-block-separator.is-style-dots {
    text-align: center;
    border: none;
}

.single-post-section .tripeak-featured-image {
    margin-top: 24px;
}

.single-post-section p + .wp-block-separator.is-style-dots {
    margin-top: -32px;
}

.single-post-section p strong {
    font-weight: 600;
}

/* 404 Page */
.error-404 {
    text-align: center;
    padding: 100px 10px;
}

.error-404 p {
    font-size: 16px;
    margin-bottom: 32px;
}

.error-404 input[type="search"] {
    border-radius: 4px;
    width: 340px;
}

.error-404 input[type="submit"] {
    border-radius: 4px;
    font-size: 16px;
}

/* Navigation */
.nav-links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 60px 0;
    position: relative;
    width: 100%;
}

.nav-previous,
.nav-next {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.nav-previous {
    justify-content: flex-start;
}

.nav-next {
    justify-content: flex-end;
}

.nav-previous a,
.nav-next a {
    background-color: #FCFBF7;
    padding: 0 20px;
    color: #000;
    font-weight: 500;
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.nav-previous a::before {
    content: "\2190";
    margin-right: 8px;
}

.nav-next a::after {
    content: "\2192";
    margin-left: 8px;
}

/* Blockquote */
blockquote {
    background-color: #F0EADF;
    padding: 24px 32px;
    border-radius: 12px;
    font-style: italic;
    margin: 40px 0;
}

/* Separators */
.wp-block-separator.is-style-dots {
    margin: 0 0;
    padding: 12px 0;
    color: #b8afaf;
}

:root :where(.wp-block-separator.is-style-dots):before {
    content: "···";
    font-family: sans-serif;
    font-size: 48px;
    letter-spacing: 14px;
    padding-left: 0;
    font-weight: 700;
}

/* Quotes */
.wp-block-pullquote,
.wp-block-quote {
    padding: 32px;
    border-radius: 16px;
    border: none;
    text-align: left;
}

.wp-block-pullquote p,
.wp-block-quote p {
    font-weight: 400;
    font-style: italic;
    font-size: 22px;
    line-height: 150%;
    letter-spacing: 0px;
    font-family: georgiaregular;
}

.wp-block-quote,
.wp-block-pullquote {
    border-color: var(--text-link-color);
}

.wp-block-quote p,
.wp-block-pullquote p {
    font-size: 27px;
    line-height: 1.5;
}

/* Pagination */
.tripeak-theme-version-two-pagination {
    margin: 40px 0;
    text-align: center;
    clear: both;
}

.tripeak-theme-version-two-pagination .pagination-links {
    display: inline-block;
}

.tripeak-theme-version-two-pagination .page-numbers {
    display: inline-block;
    padding: 12px 16px;
    margin: 0 4px;
    text-decoration: none;
    background: #f8f9fa;
    color: #333;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-weight: 500;
    font-family: inherit;
}

.tripeak-theme-version-two-pagination .page-numbers:hover {
    background: #e9ecef;
    color: #000;
    transform: translateY(-1px);
}

.tripeak-theme-version-two-pagination .page-numbers.current {
    background: #333;
    color: #fff;
    border-color: #333;
    cursor: default;
}

.tripeak-theme-version-two-pagination .page-numbers.prev,
.tripeak-theme-version-two-pagination .page-numbers.next {
    font-weight: 600;
    padding: 12px 20px;
    background: #000;
    color: #fff;
    border-color: #000;
}

.tripeak-theme-version-two-pagination .page-numbers.prev:hover,
.tripeak-theme-version-two-pagination .page-numbers.next:hover {
    background: #333;
    border-color: #333;
}

/* ==========================================================================
   Fonts
   ========================================================================== */

@font-face {
    font-family: "georgiabold";
    src: url('fonts/georgiab-webfont.woff2') format('woff2'),
         url('fonts/georgiab-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "georgiaregular";
    src: url('fonts/georgia-webfont.woff2') format('woff2'),
         url('fonts/georgia-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "lucida grande";
    src: url('fonts/lucidagrande-webfont.woff2') format('woff2'),
         url('fonts/lucidagrande-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "lucida grande";
    src: url('fonts/lucidagrande-webfont.woff2') format('woff2'),
         url('fonts/lucidagrande-webfont.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "lucida grande";
    src: url('fonts/lucidagrande-webfont.woff2') format('woff2'),
         url('fonts/lucidagrande-webfont.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "lucida grande";
    src: url('fonts/lucidagrande-webfont.woff2') format('woff2'),
         url('fonts/lucidagrande-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
    .tripeak-theme-version-two-pagination .page-numbers {
        padding: 10px 12px;
        margin: 0 2px;
        font-size: 14px;
    }
    
    .tripeak-theme-version-two-pagination .page-numbers.prev,
    .tripeak-theme-version-two-pagination .page-numbers.next {
        padding: 10px 16px;
    }
}

@media (max-width: 767px) {
    h1 {
        font-size: 40px;
        line-height: 120%;
    }
    
    h2 {
        font-size: 22px;
        line-height: 24px;
        margin-bottom: 15px;
    }
    
    h3 {
        margin-bottom: 15px;
    }
    
    .tripeak-theme-version-two-header {
        padding: 16px 0;
    }
    
    .tripeak-theme-version-two-header-wrap {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .header-nav-wrap {
        width: 100%;
    }
    
    .tripeak-theme-version-two-header .site-branding {
        gap: 8px;
    }
    
    .tripeak-theme-version-two-header .site-branding a img {
        width: 43.7px;
        height: 45px;
    }
    
    .tripeak-theme-version-two-header .site-branding .site-description {
        margin-top: 2px;
    }
    
    /* Mobile: Header navigation adjustments */
    .tripeak-theme-version-two-menu ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 12px;
        width: 100%;
    }
    
    .tripeak-theme-version-two-menu ul li {
        width: auto;
        display: inline-block;
        margin: 0;
        border-bottom: none;
    }
    
    .tripeak-theme-version-two-menu ul li:last-child {
        border-bottom: none;
    }
    
    .tripeak-theme-version-two-menu ul li a {
        padding: 0;
        font-size: 14px;
    }
    
    /* Mobile: Make parent menu items with children tappable */
    .tripeak-theme-version-two-menu .menu-item-has-children > a {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    /* Mobile: Larger, more visible dropdown indicator */
    .tripeak-theme-version-two-menu .menu-item-has-children > a::after {
        content: "▼";
        font-size: 0.7rem;
        margin-left: 0.5rem;
        opacity: 0.7;
        transition: transform 0.3s ease;
    }
    
    /* Mobile dropdown styles */
    .tripeak-theme-version-two-menu ul ul {
        position: static;
        display: flex;
        flex-direction: column;
        box-shadow: none;
        border: none;
        border-radius: 0;
        background-color: rgba(17, 6, 6, 0.05);
        margin: 0;
        padding: 0;
        min-width: 100%;
        max-height: 0;
        overflow: hidden;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
    }
    
    .tripeak-theme-version-two-menu ul ul li {
        border-bottom: 1px solid rgba(17, 6, 6, 0.1);
    }
    
    .tripeak-theme-version-two-menu ul ul li:last-child {
        border-bottom: none;
    }
    
    .tripeak-theme-version-two-menu ul ul a {
        padding: 0.75rem 0 0.75rem 1.5rem;
        font-size: 13px;
    }
    
    /* Show submenu on mobile when toggled with JavaScript */
    .tripeak-theme-version-two-menu li.submenu-open > ul {
        max-height: 1000px;
        padding: 0.5rem 0;
    }
    
    /* Rotate arrow when submenu is open */
    .tripeak-theme-version-two-menu li.submenu-open > a::after {
        transform: rotate(180deg);
    }
    
    /* Visual feedback when submenu is open */
    .tripeak-theme-version-two-menu li.submenu-open > a {
        color: var(--text-link-color);
    }
    
    /* Also support focus-within as fallback */
    .tripeak-theme-version-two-menu li:focus-within > ul {
        max-height: 1000px;
        padding: 0.5rem 0;
    }
    
    .tripeak-theme-version-two-menu li:focus-within > a::after {
        transform: rotate(180deg);
    }
    
    /* Third level submenus on mobile */
    .tripeak-theme-version-two-menu ul ul ul {
        left: 0;
        margin-left: 0;
    }
    
    .tripeak-theme-version-two-menu ul ul ul a {
        padding-left: 3rem;
    }
    
    footer .site-info {
        padding: 40px 0;
        gap: 44px;
        flex-direction: column;
        align-items: flex-start;
    }
    
    footer .site-info .site-branding {
        flex-direction: column;
    }
    
    footer .site-info .site-social-icon {
        gap: 12px;
    }
    
    .footer-nav .footer-menu {
        gap: 16px;
        flex-direction: row;
    }
    
    .footer-nav .footer-menu li {
        width: auto;
        border-bottom: none;
        position: relative;
    }
    
    .footer-nav .footer-menu li:last-child {
        border-bottom: none;
    }
    
    .footer-nav .footer-menu li a {
        padding: 0;
        font-size: 14px;
    }
    
    /* Mobile: Make footer parent menu items with children tappable */
    .footer-nav .footer-menu .menu-item-has-children > a {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    /* Mobile: Footer dropdown indicator points down */
    .footer-nav .footer-menu .menu-item-has-children > a::after {
        content: "▼";
        font-size: 0.7rem;
        margin-left: 0.5rem;
        opacity: 0.7;
        transition: transform 0.3s ease;
    }
    
    /* Mobile: Footer dropdown styles */
    .footer-nav .footer-menu .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        display: flex;
        flex-direction: column;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 4px;
        background-color: var(--footer-bg-color);
        margin: 0;
        margin-top: 8px;
        padding: 0;
        min-width: 220px;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(10px);
        transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out, opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
        z-index: 9999;
    }
    
    .footer-nav .footer-menu .sub-menu li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .footer-nav .footer-menu .sub-menu li:last-child {
        border-bottom: none;
    }
    
    .footer-nav .footer-menu .sub-menu a {
        padding: 0.75rem 0 0.75rem 1.5rem;
        font-size: 13px;
    }
    
    /* Show footer submenu on mobile when toggled with JavaScript */
    .footer-nav .footer-menu li.submenu-open > .sub-menu {
        max-height: 1000px;
        padding: 0.5rem 0;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
    
    /* Rotate footer arrow when submenu is open */
    .footer-nav .footer-menu li.submenu-open > a::after {
        transform: rotate(180deg);
    }
    
    /* Visual feedback when footer submenu is open */
    .footer-nav .footer-menu li.submenu-open > a {
        opacity: 1;
    }
    
    /* Also support focus-within as fallback */
    .footer-nav .footer-menu li:focus-within > .sub-menu {
        max-height: 1000px;
        padding: 0.5rem 0;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
    
    .footer-nav .footer-menu li:focus-within > a::after {
        transform: rotate(180deg);
    }
    
    /* Third level submenus in footer on mobile */
    .footer-nav .footer-menu .sub-menu .sub-menu {
        left: 0;
        margin: 0;
    }
    
    .footer-nav .footer-menu .sub-menu .sub-menu a {
        padding-left: 3rem;
    }
    
    main.tripeak-theme-version-two #ez-toc-container {
        max-width: 280px;
    }
    
    main.tripeak-theme-version-two .wp-block-buttons > .wp-block-button {
        width: 100%;
    }
    
    main.tripeak-theme-version-two .wp-block-buttons {
        margin-bottom: 15px;
    }
    
    main.tripeak-theme-version-two .wp-block-list {
        margin-left: 20px;
    }
    
    body.home h1 {
        max-width: none;
    }
    
    body .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list {
        grid-template-columns: auto;
    }
    
    .tripeak-theme-version-two-post-wrapper {
        grid-template-columns: auto;
    }
    
    .tripeak-theme-version-two-post-wrapper nav.posts-navigation {
        grid-column: auto;
    }
    
    .tripeak-theme-version-two-post-wrapper article .tripeak-theme-version-two-post-content h3 a {
        font-size: 20px;
    }
    
    .error-404 {
        padding: 30px 0;
    }
    
    .error-404 input[type="search"] {
        width: auto;
    }
}

@media (max-width: 480px) {
    .tripeak-theme-header__search-container .search-form label {
        width: 205px;
    }
    
    .tripeak-theme-header__search-overlay input[type="search"] {
        height: 50px;
    }
}

@media screen and (min-width: 400px) {
    .tripeak-footer-menu-right .site-info {
        flex-direction: row-reverse;
    }
}

/* ==========================================================================
   Dark Mode Support
   ========================================================================== */

.tripeak-dark-version .tripeak-theme-version-two-post-wrapper article,
.tripeak-dark-version .tripeak-theme-version-two-post-article .wp-block-latest-posts.wp-block-latest-posts__list li {
    border: 1px solid #343436;
}

.tripeak-dark-version .tripeak-theme-header__search-container button svg path {
    stroke: #fff;
}

.tripeak-dark-version .wp-element-caption {
    color: #cacaca;
}

.tripeak-dark-version .tripeak-theme-header__search-container .search-submit {
    color: #fff;
    background-color: #8c8c8c;
}

.tripeak-dark-version .site-footer {
    border-top: 1px solid #343436;
}

