/* Cruise Connect - Legal Pages Styling
   Selectors use .page-id-9 / .page-id-10 body classes + .entry-content
   Note: .elementor-page main .has-global-padding zeroes padding — we override with !important */

/* ── Show the page title ── */
.page-id-9 .wp-block-post-title,
.page-id-10 .wp-block-post-title {
    display: block !important;
    border-top: 4px solid #2c3e50;
    padding-top: 40px !important;
    margin-top: 40px !important;
}

/* ── Entry content area: restore padding Elementor strips out ── */
.page-id-9 .entry-content,
.page-id-10 .entry-content {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box;
    overflow-x: hidden;
}

/* ── H2 headings ── */
.page-id-9 .entry-content h2,
.page-id-10 .entry-content h2 {
    color: #2c3e50 !important;
    border-bottom: 2px solid #2c3e50 !important;
    padding-bottom: 8px !important;
    padding-top: 28px !important;
    margin-bottom: 12px !important;
    font-size: 1.4em !important;
}

/* H2 spans (terms page has inline-styled spans inside h2) */
.page-id-9 .entry-content h2 span,
.page-id-10 .entry-content h2 span {
    color: #2c3e50 !important;
    font-size: inherit !important;
    font-family: inherit !important;
}

/* ── H3 headings ── */
.page-id-9 .entry-content h3,
.page-id-10 .entry-content h3 {
    color: #2c3e50 !important;
    padding-top: 18px !important;
    margin-bottom: 10px !important;
    font-size: 1.2em !important;
}

/* ── Bold/strong text ── */
.page-id-9 .entry-content strong,
.page-id-10 .entry-content strong {
    color: #2c3e50;
}

/* ── Tables ── */
.page-id-9 .entry-content table,
.page-id-10 .entry-content table {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
    margin: 24px 0;
    font-size: 0.95em;
    box-sizing: border-box;
}

.page-id-9 .entry-content table th,
.page-id-10 .entry-content table th {
    background-color: #2c3e50;
    color: #ffffff;
    padding: 12px 16px;
    text-align: left;
    border: 1px solid #2c3e50;
}

.page-id-9 .entry-content table td,
.page-id-10 .entry-content table td {
    padding: 10px 16px;
    border: 1px solid #dde1e7;
}

.page-id-9 .entry-content table tr:nth-child(odd) td,
.page-id-10 .entry-content table tr:nth-child(odd) td {
    background-color: #f9f9f9;
}

/* ── Ordered list spacing ── */
.page-id-9 .entry-content ol li,
.page-id-10 .entry-content ol li {
    margin-bottom: 10px;
    line-height: 1.7;
}

/* ── Prevent full page horizontal scroll ── */
body.page-id-9,
body.page-id-10 {
    overflow-x: hidden;
}

/* ── Mobile adjustments ── */
@media (max-width: 768px) {
    .page-id-9 .wp-block-post-title,
    .page-id-10 .wp-block-post-title {
        padding-top: 30px !important;
        margin-top: 30px !important;
        font-size: 1.6em !important;
    }

    .page-id-9 .entry-content,
    .page-id-10 .entry-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .page-id-9 .entry-content h2,
    .page-id-10 .entry-content h2 {
        font-size: 1.2em !important;
    }
}

/* ════════════════════════════════════════════════════
   Cruise Fare Monitor page (ID 181) — horizontal scroll fix
   Elementor containers on this page can overflow on mobile
   ════════════════════════════════════════════════════ */

/* Prevent full-page horizontal scroll */
body.page-id-181 {
    overflow-x: hidden;
}

/* Constrain all Elementor containers to viewport width */
body.page-id-181 .e-con,
body.page-id-181 .e-con-boxed,
body.page-id-181 .elementor-section,
body.page-id-181 .elementor-container {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
}

/* Make the options table scrollable horizontally on mobile
   rather than pushing the page wider */
body.page-id-181 .elementor-widget-text-editor table {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
    box-sizing: border-box;
}

/* Mobile: tighten table cell padding so content fits */
@media (max-width: 768px) {
    body.page-id-181 .elementor-widget-text-editor table th,
    body.page-id-181 .elementor-widget-text-editor table td {
        padding: 8px 10px;
        font-size: 0.88em;
    }
}

/* ════════════════════════════════════════════════════
   Cruise Fare Monitor (ID 181) — H2 section headings
   Adds bottom border consistent with other styled pages.
   Navy border is invisible on navy-bg sections (hero/why),
   visible on white and grey sections.
   ════════════════════════════════════════════════════ */
body.page-id-181 .elementor-widget-heading h2 {
    border-bottom: 2px solid #2c3e50;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
}
