/*
Theme Name: Miki Travels Child
Theme URI: https://mikitravels.com/
Description: Child theme for Miki Travels with SEO, accessibility, readability and performance refinements.
Author: Miki Travels
Author URI: https://mikitravels.com/
Template: mikitravels
Version: 1.3.0
Text Domain: miki-travels-child
*/

/* --------------------------------------------------------------
   Miki Travels: accessibility & content readability
   -------------------------------------------------------------- */

/* Keyboard accessibility */
:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

/* Long-form editorial content */
.single-post .entry-content {
    font-size: 1.0625rem;
    line-height: 1.8;
}

.single-post .entry-content p,
.single-post .entry-content li {
    max-width: 80ch;
}

.single-post .entry-content h2,
.single-post .entry-content h3 {
    scroll-margin-top: 110px;
}

.single-post .entry-content h2 {
    margin-top: 2.25em;
    margin-bottom: .75em;
}

.single-post .entry-content h3 {
    margin-top: 1.75em;
    margin-bottom: .65em;
}

.single-post .entry-content img {
    max-width: 100%;
    height: auto;
}

/* Clickable table of contents used in Miki Travels guides */
.miki-toc,
.entry-content .table-of-contents,
.entry-content nav[aria-label="Table of contents"] {
    margin: 1.75rem 0 2.25rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 12px;
    background: rgba(0, 0, 0, .025);
}

.miki-toc ul,
.entry-content .table-of-contents ul,
.entry-content nav[aria-label="Table of contents"] ul {
    margin-bottom: 0;
}

.miki-toc a,
.entry-content .table-of-contents a,
.entry-content nav[aria-label="Table of contents"] a {
    text-decoration: none;
}

.miki-toc a:hover,
.miki-toc a:focus-visible,
.entry-content .table-of-contents a:hover,
.entry-content .table-of-contents a:focus-visible,
.entry-content nav[aria-label="Table of contents"] a:hover,
.entry-content nav[aria-label="Table of contents"] a:focus-visible {
    text-decoration: underline;
}

/* Tables in destination guides should remain usable on mobile. */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
}

.single-post .entry-content .wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Avoid layout overflow from media and embeds. */
img,
video,
iframe,
embed,
object {
    max-width: 100%;
}

@media (max-width: 767px) {
    .single-post .entry-content {
        font-size: 1rem;
        line-height: 1.75;
    }

    .miki-toc,
    .entry-content .table-of-contents,
    .entry-content nav[aria-label="Table of contents"] {
        padding: 1rem 1.125rem;
    }
}


/* --------------------------------------------------------------
   Destination and Nile Cruise landing pages (v1.3.0)
   -------------------------------------------------------------- */
.miki-destination-hero,
.miki-nile-hero {
    padding: clamp(2rem, 5vw, 4.5rem);
    margin: 0 0 2.5rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(0,0,0,.04), rgba(0,0,0,.015));
}

.miki-eyebrow {
    margin: 0 0 .65rem;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.miki-destination-hero h2,
.miki-nile-hero h2 {
    margin-top: 0;
    font-size: clamp(2rem, 5vw, 3.6rem);
    line-height: 1.05;
}

.miki-content-section {
    margin: 2.5rem 0;
}

.miki-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.miki-info-card {
    display: block;
    padding: 1.25rem;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.04);
}

.miki-linked-card {
    color: inherit;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.miki-linked-card:hover,
.miki-linked-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.miki-primary-button {
    display: inline-block;
    padding: .85rem 1.15rem;
    border-radius: 999px;
    background: currentColor;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

@media (max-width: 767px) {
    .miki-card-grid {
        grid-template-columns: 1fr;
    }
}


/* --------------------------------------------------------------
   Main navigation hierarchy polish (v1.3.0)
   Home | Destinations | Nile Cruises | Info
   -------------------------------------------------------------- */
.gva-navigation-menu .gva-nav-menu > li > a,
.main-menu .menu > li > a {
    white-space: nowrap;
}

@media (min-width: 1025px) {
    .gva-navigation-menu .gva-nav-menu > li,
    .main-menu .menu > li {
        margin-inline: .12rem;
    }
}

@media (max-width: 1024px) {
    .gva-navigation-menu .gva-nav-menu .sub-menu a,
    .main-menu .menu .sub-menu a {
        white-space: normal;
    }
}
