/*
 Theme Name:   Neve Child
 Theme URI:    https://shipsteward.com
 Description:  Ship Steward custom styles for Neve theme
 Author:       Ship Steward
 Author URI:   https://shipsteward.com
 Template:     neve
 Version:      1.0.1
 Text Domain:  neve-child
*/

/* ============================================
   Split-Modern Homepage — Steward Blue Palette
   ============================================ */

/* --- Neve / WP Core Overrides --- */
/* Prevent horizontal scroll from 100vw elements on Windows (scrollbar width) */
body {
    overflow-x: hidden;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    --bodyfontsize: 16px;
    --bodylineheight: 1.6;
    --bodyfontfamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --nv-fallback-ff: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --h1fontweight: 800;
    --h2fontweight: 700;
    --h3fontweight: 700;
    --h2lineheight: 1.6;
    --h3lineheight: 1.6;
    --btnfs: 15px;
    --primarybtnpadding: 14px 32px;
    --secondarybtnpadding: 12px 30px;
}
/* Remove Neve's 7.5px side padding on full-width sections */
.nv-content-wrap > .alignfull {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* Remove page-level content padding */
.page .nv-single-page-wrap {
    padding: 0 !important;
    margin: 0 !important;
}
.page .nv-content-wrap {
    padding: 0 !important;
}
/* Remove Neve's default heading sizes and line-heights on homepage sections */
.ss-hero h1,
.ss-pillars h2, .ss-pillars h3,
.ss-detail h2,
.ss-cta h2 {
    font-size: inherit;
    line-height: 1.6 !important;
}

/* --- Hero Section --- */
/* Force hero to break out of Neve's 1140px container to full viewport */
.ss-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: hidden;
}
.ss-hero > .wp-block-group__inner-container {
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Grid layout for hero columns */
.ss-hero .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    min-height: 520px;
}
/* Text column — constrained width, right-aligned within grid cell */
/* 609px = mockup 585px content + 24px left padding (container padding equivalent) */
.ss-hero .wp-block-columns > .wp-block-column:first-child {
    max-width: 609px;
    margin-left: auto !important;
    padding: 60px 48px 60px 24px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/* Override WP is-layout-flow centering on hero text children */
.ss-hero .wp-block-columns > .wp-block-column:first-child > * {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Hero Heading */
.ss-hero .wp-block-heading {
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    color: #1e3a5f !important;
    letter-spacing: -0.5px;
    line-height: 1.15 !important;
    margin-bottom: 20px !important;
}
.ss-hero .wp-block-heading mark,
.ss-hero .wp-block-heading span {
    color: #d17a3a !important;
    background: none !important;
}
/* Hero Paragraph */
.ss-hero p:not(.ss-hero-tag) {
    font-size: 1.1rem !important;
    color: #4a5568 !important;
    line-height: 1.8 !important;
    margin-bottom: 32px !important;
}
.ss-hero p strong {
    color: #d17a3a !important;
}
/* Hero Buttons */
.ss-hero .wp-block-buttons {
    gap: 12px;
}
.ss-hero .wp-block-button__link {
    border-radius: 8px;
    font-size: 15px !important;
    font-weight: 600;
    padding: 14px 32px !important;
}

/* Hero Tag */
.ss-hero-tag {
    display: inline-block !important;
    background: #f0f3f7 !important;
    color: #1e3a5f !important;
    padding: 4px 12px !important;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    font-size: 0.8rem !important;
    font-weight: 600;
    margin-bottom: 20px !important;
    width: fit-content;
}

/* Hero Image — edge-to-edge right with gradient fade */
.ss-hero-image-col {
    padding: 0 !important;
    position: relative;
    overflow: hidden;
    min-height: 520px;
}
.ss-hero-image-col .ss-hero-image {
    margin: 0 !important;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
}
.ss-hero-image-col .ss-hero-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: 0;
    max-width: none !important;
}
/* White gradient fade on left edge of image */
.ss-hero-image-col::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 15%);
    z-index: 1;
    pointer-events: none;
}

/* --- Pillar Cards Section --- */
.ss-pillars > .wp-block-group__inner-container {
    max-width: 1170px !important;
    margin: 0 auto;
    padding: 0 24px;
}
/* Section header — "What We Do" */
.ss-pillars > .wp-block-group__inner-container > .wp-block-heading {
    font-size: 2rem !important;
    font-weight: 700;
    color: #1e3a5f !important;
    margin-bottom: 8px !important;
}
.ss-pillars > .wp-block-group__inner-container > p {
    color: #4a5568 !important;
    font-size: 1rem !important;
}
.ss-pillar-cards {
    gap: 24px !important;
    margin-bottom: 0;
    align-items: stretch !important;
}
.ss-pillar-card {
    background: #ffffff !important;
    border: 1px solid #e8f0f8;
    border-radius: 16px;
    padding: 48px 32px 40px !important;
    text-align: center;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: all 0.3s;
}
.ss-pillar-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}
/* Kill WP is-layout-flow gap between card children */
.ss-pillar-card > * + * {
    margin-top: 0 !important;
}

/* Icon box — emoji in a light blue rounded square */
.ss-pillar-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: #e8eff8;
    border-radius: 14px;
    font-size: 26px !important;
    margin-bottom: 26px !important;
}

/* Category label — uppercase medium blue text */
.ss-pillar-label {
    color: #5088c0 !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    margin-bottom: 10px !important;
}

/* Pillar card heading */
.ss-pillar-card .wp-block-heading {
    color: #1e3a5f !important;
    font-size: 1.25rem !important;
    font-weight: 700;
    line-height: 1.3 !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

/* Pillar card description */
.ss-pillar-card > p:not(.ss-pillar-icon):not(.ss-pillar-label) {
    color: #4a5568 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 0 !important;
}

/* --- Detail Sections --- */
.ss-detail > .wp-block-group__inner-container {
    max-width: 1170px !important;
    margin: 0 auto;
    padding: 0 24px;
}
.ss-detail .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center !important;
    margin-bottom: 0;
}
/* Detail headings */
.ss-detail .wp-block-heading {
    color: #1e3a5f !important;
    font-size: 1.8rem !important;
    font-weight: 700;
    line-height: 1.6 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}

/* Detail images — rounded with shadow */
.ss-detail-img {
    margin: 0 !important;
    max-width: none !important;
}
.ss-detail-img img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.08);
}

/* Check-style List */
.ss-check-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}
.ss-check-list li {
    position: relative;
    padding-left: 28px !important;
    margin-top: 0 !important;
    margin-bottom: 14px;
    color: #4a5568;
    font-size: 14px;
    line-height: 1.7;
}
.ss-check-list li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: #d17a3a;
    font-weight: 700;
}
.ss-check-list li strong {
    color: #1a202c;
}

/* --- CTA Section --- */
.ss-cta > .wp-block-group__inner-container {
    max-width: 1170px !important;
    margin: 0 auto;
    padding: 0 24px;
}
.ss-cta .wp-block-heading {
    font-size: 2rem !important;
    margin-bottom: 12px !important;
}
.ss-cta p {
    font-size: 1.05rem !important;
    margin-bottom: 32px !important;
}
.ss-cta .wp-block-button__link {
    font-size: 15px !important;
    padding: 14px 40px !important;
    font-weight: 700;
}
.ss-cta .ss-btn-white .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    background-color: #ffffff !important;
    color: #d17a3a !important;
}

/* --- Button Overrides --- */

/* Primary buttons — rounded with hover lift */
.wp-block-button .wp-block-button__link {
    border-radius: 8px;
    transition: all 0.3s ease;
}
.wp-block-button .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(209,122,58,0.3);
}
/* Primary button hover — override Neve's blue (#1e3a5f) to mockup's darker orange */
.wp-block-button.is-style-primary .wp-block-button__link:hover {
    background: #b8682e !important;
}

/* Secondary/Outline button */
.ss-btn-outline .wp-block-button__link {
    border: 2px solid #1e3a5f !important;
    color: #1e3a5f !important;
    background: transparent !important;
    border-radius: 8px;
    font-size: 15px !important;
    font-weight: 600;
    padding: 14px 32px !important;
}
.ss-btn-outline .wp-block-button__link:hover {
    background: #1e3a5f !important;
    color: #ffffff !important;
}

/* --- Header cleanup — single row, thin border, sticky --- */
.header-top[data-show-on="desktop"] {
    display: none !important;
}
.header-main[data-show-on="desktop"] {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
}
.header-main .header--row-inner {
    border-bottom: 1px solid #d1d5db;
    padding: 16px 0;
}
/* Nav link styling — override Neve's uppercase/bold defaults */
.builder-item--primary-menu {
    --spacing: 28px;
    --fontsize: 14px;
    --fontweight: 500;
    --texttransform: none;
    --color: #4a5568;
    --hovercolor: #1e3a5f;
    --activecolor: #4a5568;
}
.header-main .nav-ul > li > .wrap > a {
    color: #4a5568 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    text-decoration: none;
    transition: color 0.3s;
}
.header-main .nav-ul > li > .wrap > a:hover {
    color: #1e3a5f !important;
    border-bottom: none !important;
}
/* Remove Neve's style-border-bottom hover decoration */
.header-main .nav-ul > li > .wrap::after,
.header-main .nav-ul > li > .wrap::before {
    display: none !important;
}
/* Remove active item indicator — match color to other nav links */
.header-main .nav-ul > li.nv-active > .wrap > a {
    color: #4a5568 !important;
    border-bottom: none !important;
}
/* Nav CTA — Contact link styled as orange button (by href) */
.header-main .nav-ul a[href*="contactus"],
.header-main .nav-ul a[href*="contact"] {
    background: #d17a3a !important;
    color: #ffffff !important;
    padding: 8px 20px !important;
    border-radius: 8px;
    font-weight: 600 !important;
    transition: all 0.3s !important;
}
.header-main .nav-ul a[href*="contactus"]:hover,
.header-main .nav-ul a[href*="contact"]:hover {
    background: #b8682e !important;
    color: #ffffff !important;
}

/* --- Footer --- */
.site-footer .footer--row[data-show-on="desktop"] .footer--row-inner {
    background-color: #1e3a5f;
    padding: 28px 0;
    text-align: center;
}
.site-footer .footer--row[data-show-on="desktop"] .footer--row-inner,
.site-footer .footer--row[data-show-on="desktop"] .footer--row-inner a,
.site-footer .footer--row[data-show-on="desktop"] .footer--row-inner p {
    color: rgba(255,255,255,0.3);
    font-size: 13px;
}
/* Hide Neve credit, show copyright only */
.footer-bottom .hfg-slot.left .component-wrap > div > p a {
    display: none;
}
.footer-bottom .hfg-slot.left .component-wrap > div > p {
    visibility: hidden;
    font-size: 0;
}
.footer-bottom .hfg-slot.left .component-wrap > div > p::after {
    content: '\00A9  2026 Ship Steward. All rights reserved.';
    visibility: visible;
    font-size: 13px;
    color: rgba(255,255,255,0.3);
}
/* Hide footer menu — mockup only has copyright */
.footer-bottom .hfg-slot.c-left {
    display: none;
}
/* Override Neve's 2-column footer grid to single column (copyright centered full-width) */
.footer-bottom-inner .row {
    grid-template-columns: 1fr !important;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
    .ss-hero .wp-block-columns {
        display: block !important;
        min-height: auto;
    }
    .ss-hero .wp-block-columns > .wp-block-column:first-child {
        max-width: 100%;
        margin-left: 0 !important;
        padding: 60px 24px !important;
    }
    .ss-hero-image-col {
        display: none !important;
    }
    .ss-pillar-cards {
        flex-direction: column;
        max-width: 500px;
        margin: 0 auto !important;
    }
    .ss-detail .wp-block-columns {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}
@media (max-width: 768px) {
    .ss-hero .wp-block-columns > .wp-block-column:first-child {
        padding: 40px 24px !important;
    }
    .ss-hero .wp-block-buttons {
        flex-direction: column;
    }
}
