/* Travel & Scandals — Custom Styles */

/* Typography */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Source+Sans+3:wght@300;400;600&display=swap');

body {
    font-family: 'Source Sans 3', -apple-system, sans-serif;
    color: #2c3e50;
    line-height: 1.8;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.entry-title {
    font-family: 'Playfair Display', Georgia, serif;
    color: #1a3a4a;
}

/* Color Palette — Ocean/Teal inspired */
:root {
    --ts-ocean: #0e6e7e;
    --ts-deep: #1a3a4a;
    --ts-sand: #f5f0e8;
    --ts-coral: #e07c5a;
    --ts-light: #f9f7f3;
}

/* Header */
.ast-primary-header,
.site-header {
    background: var(--ts-deep) !important;
    border-bottom: 3px solid var(--ts-coral);
}

.site-title a,
.ast-site-identity .site-title a {
    color: #fff !important;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 28px !important;
    font-weight: 700;
    letter-spacing: 1px;
}

.site-description {
    color: rgba(255,255,255,0.7) !important;
    font-family: 'Source Sans 3', sans-serif;
    font-style: italic;
}

/* Nav */
.main-header-menu a,
.ast-header-break-point .ast-button-wrap .menu-toggle,
.main-navigation a {
    color: #fff !important;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1.5px;
}

.main-header-menu a:hover,
.main-navigation a:hover {
    color: var(--ts-coral) !important;
}

.main-header-menu .current-menu-item > a {
    color: var(--ts-coral) !important;
}

/* Sub-menus */
.main-header-menu .sub-menu {
    background: var(--ts-deep) !important;
    border-top: 2px solid var(--ts-coral);
}

.main-header-menu .sub-menu a {
    color: rgba(255,255,255,0.85) !important;
    font-size: 12px !important;
}

.main-header-menu .sub-menu a:hover {
    color: var(--ts-coral) !important;
    background: rgba(255,255,255,0.05) !important;
}

/* Body background */
body, .ast-separate-container {
    background: var(--ts-light);
}

/* Content area */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    overflow: hidden;
}

/* Post cards on blog index */
.ast-separate-container .ast-article-post {
    margin-bottom: 2em;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ast-separate-container .ast-article-post:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* Entry titles */
.entry-title a {
    color: var(--ts-deep);
    text-decoration: none;
    transition: color 0.2s;
}

.entry-title a:hover {
    color: var(--ts-ocean);
}

/* Featured images */
.post-thumb-img-content img,
.ast-article-post .post-thumb img {
    border-radius: 8px 8px 0 0;
}

/* Read more link */
.ast-read-more-container a,
a.read-more {
    background: var(--ts-ocean);
    color: #fff !important;
    padding: 8px 20px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.2s;
    display: inline-block;
}

.ast-read-more-container a:hover,
a.read-more:hover {
    background: var(--ts-coral);
}

/* Category/tag badges */
.cat-links a,
.tag-links a {
    background: var(--ts-sand);
    color: var(--ts-ocean);
    padding: 3px 10px;
    border-radius: 3px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Blockquotes */
blockquote {
    border-left: 4px solid var(--ts-coral);
    background: var(--ts-sand);
    padding: 1.2em 1.5em;
    margin: 1.5em 0;
    font-style: italic;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.1em;
    color: var(--ts-deep);
}

/* Cover block (hero) */
.wp-block-cover {
    margin-bottom: 0 !important;
}

.wp-block-cover h1 {
    font-family: 'Playfair Display', Georgia, serif !important;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.4);
    letter-spacing: 2px;
}

/* Latest posts block */
.wp-block-latest-posts {
    padding: 0 1em;
}

.wp-block-latest-posts li {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: transform 0.2s ease;
}

.wp-block-latest-posts li:hover {
    transform: translateY(-3px);
}

.wp-block-latest-posts__post-title {
    font-family: 'Playfair Display', Georgia, serif;
    color: var(--ts-deep);
    font-size: 16px;
    padding: 0.8em 1em 0;
    display: block;
}

.wp-block-latest-posts__post-date {
    color: var(--ts-ocean);
    font-size: 12px;
    padding: 0 1em 1em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Image captions */
.wp-element-caption,
figcaption {
    font-style: italic;
    color: #888;
    font-size: 13px;
    text-align: center;
}

/* Footer */
.ast-footer-overlay,
.site-footer,
.ast-small-footer {
    background: var(--ts-deep) !important;
    color: rgba(255,255,255,0.7) !important;
    border-top: 3px solid var(--ts-coral);
}

.site-footer a,
.ast-small-footer a {
    color: var(--ts-coral) !important;
}

/* Page titles */
.ast-archive-description .ast-archive-title,
.page .entry-title {
    font-size: 36px;
    color: var(--ts-deep);
    text-align: center;
    margin-bottom: 0.5em;
}

/* About page author images */
.about-the-author .wp-image-334 img,
.about-the-author img {
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

/* Full width homepage */
.page-id-87 .site-content > .ast-container {
    max-width: 100%;
    padding: 0;
}

.page-id-87 .entry-content {
    padding: 0;
}

.page-id-87 .entry-content > *:not(.alignfull):not(.alignwide) {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1em;
    padding-right: 1em;
}

.page-id-87 .entry-content > .alignwide {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/* Hide page title on homepage */
.page-id-87 .entry-title {
    display: none;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .wp-block-cover h1 {
        font-size: 32px !important;
    }
    
    .wp-block-cover p {
        font-size: 16px !important;
    }
    
    .wp-block-columns {
        gap: 1em;
    }
    
    .site-title a {
        font-size: 22px !important;
    }
}

/* Scrollbar accent */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-thumb {
    background: var(--ts-ocean);
    border-radius: 4px;
}

/* Hide Astra powered-by */
.ast-footer-copyright .ast-footer-html-inner a[href*="developer.wordpress.org"],
.ast-footer-copyright .ast-footer-html-inner a[href*="developer.wordpress.org"] ~ span,
.ast-footer-copyright a[href*="developer.wordpress.org"],
.site-footer a[href*="developer.wordpress.org"],
.ast-small-footer-section a[href*="developer.wordpress.org"] {
    display: none !important;
}

/* ===== MOBILE MENU FIXES ===== */

/* Mobile menu popup/drawer background */
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-header-wrap .ast-mobile-header-content,
.ast-header-break-point .ast-mobile-header-content,
.ast-header-break-point .main-header-bar-navigation,
.ast-header-break-point .main-header-bar-navigation .main-header-menu,
.ast-header-break-point .main-header-bar-navigation .sub-menu {
    background: var(--ts-deep) !important;
}

/* Mobile menu links */
.ast-header-break-point .main-header-menu .menu-item > .menu-link,
.ast-header-break-point .main-header-bar-navigation .menu-link,
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link {
    color: #fff !important;
}

.ast-header-break-point .main-header-menu .menu-item:hover > .menu-link,
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover > .menu-link {
    color: var(--ts-coral) !important;
    background: rgba(255,255,255,0.05) !important;
}

/* Mobile menu toggle (hamburger) */
.ast-header-break-point .ast-button-wrap .ast-mobile-menu-trigger-minimal,
.ast-header-break-point .ast-mobile-menu-trigger-minimal,
.ast-header-break-point .ast-button-wrap .menu-toggle {
    color: #fff !important;
}

.ast-header-break-point .mobile-menu-toggle-icon .ast-mobile-svg {
    fill: #fff !important;
}

/* Mobile close button */
.ast-mobile-popup-drawer .menu-toggle-close {
    color: #fff !important;
}

/* Mobile submenu toggle arrow */
.ast-header-break-point .ast-menu-toggle {
    color: #fff !important;
}

/* Mobile header bar */
.ast-header-break-point .ast-primary-header-bar {
    background: var(--ts-deep) !important;
}

/* Hide site title on mobile — logo only */
.ast-header-break-point .site-title {
    display: none !important;
}

/* Constrain logo size on mobile */
.ast-header-break-point .custom-logo {
    max-height: 60px !important;
    width: auto !important;
}
