/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://balitouristic.com
 Description:  Child theme for Hello Elementor — adds breadcrumbs, post meta, author box
 Author:       Bali Touristic
 Template:     hello-elementor
 Version:      1.0.7
 Text Domain:  hello-elementor-child
*/

/* =============================================
   Migrated Customizer CSS (from parent theme)
   ============================================= */

/* Force show post title */
.single-post h1.entry-title,
.single-post .page-header h1.entry-title {
    display: block !important;
}
.single-post .page-header {
    display: block !important;
}

.single-post .entry-title {
    display: block;
}
.page-header, .entry-header {
    display: none;
}

.e-con-inner {
    max-width: 1800px !important;
    margin: 0 auto;
}

/* Desktop */
@media (min-width: 1025px) {
    body.single-post.elementor-page.elementor-page-layout-full-width
    .elementor-section-wrap {
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 80px;
        padding-right: 80px;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    body.single-post.elementor-page.elementor-page-layout-full-width
    .elementor-section-wrap {
        padding: 20px 32px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    body.single-post.elementor-page.elementor-page-layout-full-width
    .elementor-section-wrap {
        padding: 20px 16px;
    }
}

/* Import Font Inter */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

.single-post *,
article * {
    font-family: 'Inter', sans-serif !important;
}

/* Hide default post title */
.single-post h1.entry-title,
.single-post .entry-title {
    display: block !important;
}

/* Hide tags */
.single-post .tags-links,
.single-post .tagcloud,
.single-post .post-tags,
.single-post .entry-footer {
    display: none !important;
}

/* Hide comments section */
.single-post .comments-area,
.single-post #comments,
.single-post .comment-respond,
.single-post .comment-form {
    display: none !important;
}

tr.wptb-row:first-child td {
    background: #139AF8;
    color: #fff !important;
}

a:not(.elementor-button):not(.badge):not([class*="btn"]) {
    color: #149AF8;
}

.entry-content img,
article img,
.post-content img,
.page-content img,
.elementor-widget-theme-post-content img {
    border-radius: 16px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
    height: auto;
}

/* wp-caption figures — override inline width to go full-width */
.page-content .wp-caption,
.entry-content .wp-caption,
.post-content .wp-caption {
    width: 100% !important;
    max-width: 100% !important;
}

.page-content .wp-caption img,
.entry-content .wp-caption img,
.post-content .wp-caption img {
    width: 100% !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 16px;
}

/* Post content headings */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
article h1,
article h2,
article h3,
article h4,
article h5,
article h6,
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6,
.elementor-widget-theme-post-content h1,
.elementor-widget-theme-post-content h2,
.elementor-widget-theme-post-content h3,
.elementor-widget-theme-post-content h4,
.elementor-widget-theme-post-content h5,
.elementor-widget-theme-post-content h6 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.entry-content > h1:first-child,
.entry-content > h2:first-child,
.entry-content > h3:first-child,
article > h1:first-child,
article > h2:first-child,
article > h3:first-child {
    padding-top: 0 !important;
}

.entry-content img,
article img,
.post-content img,
.elementor-widget-theme-post-content img,
.single-post img,
.wp-post-image {
    border-radius: 16px !important;
    margin-bottom: 20px !important;
}

body.blog .elementor-section-wrap,
body.archive .elementor-section-wrap,
body.category .elementor-section-wrap,
body.tag .elementor-section-wrap {
    padding-top: 40px !important;
    padding-bottom: 20px !important;
}

/* Single Post Padding */
body.single-post .elementor-section-wrap,
body.single-post main,
body.single-post article {
    padding-top: 40px !important;
    padding-bottom: 20px !important;
}

body.single-post .entry-content img {
    border-radius: 16px !important;
    margin-bottom: 20px !important;
}

body.single-post .entry-content h1,
body.single-post .entry-content h2,
body.single-post .entry-content h3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

/* Exclude header */
body.single-post header,
body.single-post .site-header {
    padding: 0 !important;
}

/* Fix Icons on Post Pages */
.single-post .elementor-icon,
.single-post .elementor-icon i,
.single-post i[class*="fa-"],
.single-post .fa,
.single-post .fab,
.single-post .fas,
.single-post .far {
    font-family: 'Font Awesome 6 Free', 'Font Awesome 6 Brands', 'FontAwesome' !important;
    font-style: normal !important;
    font-weight: 900 !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Logo header fix */
body.single-post .elementor-element-fe949a0,
body.single-post [data-id="fe949a0"],
body.single-post .elementor-widget-image[data-id="fe949a0"] {
    padding: 0 !important;
    margin: 0 !important;
}

body.single-post .elementor-element-fe949a0 img,
body.single-post [data-id="fe949a0"] img {
    padding: 0 !important;
    margin: 0 !important;
    vertical-align: middle !important;
    position: relative !important;
    top: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
}

body.single-post .elementor-widget-image img {
    padding: 0 !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

body.single-post .elementor-element-2e2db801,
body.single-post .elementor-element-9bbf19b,
body.single-post [data-id="2e2db801"],
body.single-post [data-id="9bbf19b"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-items: center !important;
}

/* Single Post Content Width */
body.single-post main#content,
body.single main#content {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 40px !important;
}

body.single-post main > * {
    padding-top: 40px !important;
}

body.single-post article {
    padding-top: 40px !important;
    margin-top: 0 !important;
}

/* Pagination */
.jon-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 48px 0 0;
}

.jon-pagination .page-number {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid #000;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #000;
    font-size: 14px;
    transition: all 0.2s ease;
}

.jon-pagination .page-number:hover {
    background: #000;
    color: #fff;
}

.jon-pagination .page-number.active {
    background: #000;
    color: #fff;
    pointer-events: none;
}

/* =============================================
   New: Breadcrumbs
   ============================================= */

/* Breadcrumb Nav */
.post-breadcrumbs {
    margin-bottom: 16px;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.4;
}

.post-breadcrumbs a {
    color: #6b7280 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.post-breadcrumbs a:hover {
    color: #149AF8 !important;
}

/* AIOSEO breadcrumb separator override */
.post-breadcrumbs .aioseo-breadcrumb-separator {
    margin: 0 6px;
    color: #9ca3af;
}

/* Fallback breadcrumb separator */
.post-breadcrumbs .breadcrumb-separator {
    margin: 0 6px;
    color: #9ca3af;
}

/* Current breadcrumb item */
.post-breadcrumbs .aioseo-breadcrumb-current,
.post-breadcrumbs .breadcrumb-current {
    color: #374151;
}

/* =============================================
   New: Post Meta (date + author)
   ============================================= */

/* Post Meta Line */
.post-meta-line {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    margin-bottom: 32px;
    font-size: 14px;
    color: #6b7280;
    font-family: 'Inter', sans-serif !important;
}

.post-meta-line .meta-separator {
    color: #d1d5db;
}

.post-meta-line a {
    color: #6b7280 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.post-meta-line a:hover {
    color: #149AF8 !important;
}

/* =============================================
   New: Author Box
   ============================================= */

/* Author Box */
.post-author-box {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-top: 48px;
    padding: 24px;
    background: #f9fafb;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
}

.post-author-box .author-avatar img,
.post-author-box .author-avatar svg {
    width: 80px;
    height: 80px;
    border-radius: 50% !important;
    margin-bottom: 0 !important;
    object-fit: cover;
    aspect-ratio: auto !important;
}

.post-author-box .author-info {
    flex: 1;
    min-width: 0;
}

.post-author-box .author-name {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 4px;
    font-family: 'Inter', sans-serif !important;
}

.post-author-box .author-name a {
    color: #111827 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.post-author-box .author-name a:hover {
    color: #149AF8 !important;
}

.post-author-box .author-bio {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
    font-family: 'Inter', sans-serif !important;
}

/* =============================================
   New: Featured Image
   ============================================= */

/* Featured Image */
.post-featured-image {
    margin-bottom: 32px;
}

.post-featured-image img {
    width: 100%;
    height: auto;
    border-radius: 16px !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    margin-bottom: 0 !important;
}

/* =============================================
   New: Article Summary Box
   ============================================= */

/* Summary Card */
.bt-post-summary {
    display: block !important;
    background: #f0f7ff;
    border: 1px solid #bfdbfe;
    border-radius: 16px;
    padding: 24px 28px;
    margin-bottom: 32px;
}

/* Summary Heading */
.bt-post-summary__heading {
    font-size: 18px;
    font-weight: 700;
    color: #149AF8;
    margin: 0 0 14px;
    padding: 0 !important;
    font-family: 'Inter', sans-serif !important;
}

/* Summary Bullet List */
.bt-post-summary__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bt-post-summary__list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.6;
    color: #1e3a5f;
    font-family: 'Inter', sans-serif !important;
}

.bt-post-summary__list li:last-child {
    margin-bottom: 0;
}

/* Custom blue dot bullet */
.bt-post-summary__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #149AF8;
}

/* Summary Box — Mobile */
@media (max-width: 600px) {
    .bt-post-summary {
        padding: 18px 20px;
    }

    .bt-post-summary__heading {
        font-size: 16px;
    }

    .bt-post-summary__list li {
        font-size: 14px;
    }
}

/* Author Box — Mobile */
@media (max-width: 600px) {
    .post-author-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
        padding: 20px 16px;
    }

    .post-author-box .author-avatar img {
        width: 64px;
        height: 64px;
    }
}

/* =============================================
   Archive Page — Header & Description
   ============================================= */

/* Archive Header */
.archive-page-header {
    margin: 0 auto 32px;
    padding: 0 16px;
}

.archive-page-header .entry-title {
    font-size: 32px;
    font-weight: 800;
    color: #111827;
    margin: 0 0 12px;
    font-family: 'Inter', sans-serif !important;
}

.archive-page-header .archive-description {
    font-size: 15px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
    font-family: 'Inter', sans-serif !important;
}

/* =============================================
   Archive Page — Card Grid
   ============================================= */

/* Card Grid Container */
.archive-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Single Card */
.archive-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.archive-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

/* Card Image */
.card-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

.card-image-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #f3f4f6;
}

/* Card Body */
.card-body {
    padding: 16px 20px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Card Title */
.card-title {
    font-size: 17px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px;
    line-height: 1.4;
    font-family: 'Inter', sans-serif !important;
}

/* Card Excerpt */
.card-excerpt {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
    font-family: 'Inter', sans-serif !important;
}

/* Tablet: 2 columns */
@media (max-width: 1024px) {
    .archive-card-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* Mobile: 1 column */
@media (max-width: 600px) {
    .archive-card-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .archive-page-header .entry-title {
        font-size: 24px;
    }

    .card-body {
        padding: 12px 16px 16px;
    }

    .card-title {
        font-size: 16px;
    }
}

/* Override page-header hidden rule for archive pages */
body.archive .archive-page-header,
body.category .archive-page-header,
body.tag .archive-page-header,
body.author .archive-page-header {
    margin: 0 auto 32px;
    display: block !important;
}
}
}


.archive-card-grid {
    padding-bottom: 40px !important;
}

.jon-pagination {
    margin-bottom: 40px !important;
}



/* Ez-TOC layout and toggle icon fix */
#ez-toc-container .ez-toc-title-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#ez-toc-container .ez-toc-title-container > p {
    margin: 0;
}
#ez-toc-container .ez-toc-js-icon-con {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}
#ez-toc-container .ez-toc-js-icon-con > span:not(.ez-toc-icon-toggle-span) {
    display: inline-flex;
    align-items: center;
    width: 35px;
    height: 30px;
    justify-content: center;
    border: 1px solid #999191;
    border-radius: 5px;
}
#ez-toc-container .ez-toc-js-icon-con > span:not(.ez-toc-icon-toggle-span)::before {
    content: "\2630";
    font-size: 16px;
    color: #999;
}
#ez-toc-container .ez-toc-js-icon-con > span > .eztoc-hide {
    display: none !important;
}

/* Blog page — ElementsKit card spacing adjustments */
#blog-paginated-grid .elementskit-blog-block-post {
	padding: 30px;
}
#blog-paginated-grid .col-md-12 {
	margin-bottom: 24px;
}

/* =============================================
   Page: Bali Airport Transfer (ID 2923)
   ============================================= */

/* #1 — Hide duplicate H1 from WP page title */
body.page-id-2923 h1.entry-title,
body.page-id-2923 .entry-title,
body.page-id-2923 .page-header {
    display: none !important;
}

/* #2 — Center price tables, not full-width */
body.page-id-2923 .wptb-preview-table {
    min-width: auto !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* #3 — Alternating row colors for readability */
body.page-id-2923 .wptb-preview-table .wptb-row:nth-child(even) td {
    background-color: #f8f9fa !important;
}
body.page-id-2923 .wptb-preview-table .wptb-row:nth-child(odd):not(:first-child) td {
    background-color: #ffffff !important;
}

/* #4 — Table font size: 10-12px → 14px */
body.page-id-2923 .wptb-text-container,
body.page-id-2923 .wptb-text-container p,
body.page-id-2923 .wptb-text-container strong {
    font-size: 14px !important;
}

/* #5 — Paragraph font size: 14px → 16px (main content only) */
body.page-id-2923 main .elementor-widget-text-editor p,
body.page-id-2923 main .elementor-widget-text-editor span,
body.page-id-2923 main .elementor-widget-text-editor li {
    font-size: 16px !important;
}

/* #6 — Uniform line-height (main content only) */
body.page-id-2923 main .elementor-widget-text-editor p,
body.page-id-2923 main .elementor-widget-text-editor span,
body.page-id-2923 main .elementor-widget-text-editor li,
body.page-id-2923 main .elementor-widget-icon-list .elementor-icon-list-text {
    line-height: 1.7 !important;
}

/* #7 — Section spacing: more breathing room */
body.page-id-2923 .elementor-element > .e-con {
    margin-bottom: 1.5em !important;
}

/* #8 — Consistent heading sizes for same-level headings (exclude H1) */
body.page-id-2923 .elementor-widget-heading h3.elementor-heading-title,
body.page-id-2923 .elementor-widget-heading h4.elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
}

/* #25 — Capacity / Best For consistent gap */
body.page-id-2923 .elementor-widget-text-editor p {
    margin-bottom: 0.5em !important;
}

/* #27 — All icon-list checkmarks: vertical-align top */
body.page-id-2923 .elementor-icon-list-item {
    align-items: flex-start !important;
}
body.page-id-2923 .elementor-icon-list-icon {
    align-self: flex-start !important;
    margin-top: 4px !important;
}

/* Bullet lists align left in MPV/Minibus sections */
body.page-id-2923 .elementor-widget-text-editor ul {
    padding-left: 1.2em !important;
    margin-left: 0 !important;
}


/* Indent MPV/Minibus charge items (whole row: icon + text) */
body.page-id-2923 .elementor-icon-list-item:has(.e-fas-money-bill-wave) {
    padding-left: 2em !important;
}

/* Fix 4: Force checkmark top-align on all icon-list items (stronger specificity) */
body.page-id-2923 .elementor-widget-icon-list .elementor-icon-list-items .elementor-icon-list-item {
    align-items: flex-start !important;
}
body.page-id-2923 .elementor-widget-icon-list .elementor-icon-list-icon {
    padding-top: 4px !important;
}
