/* ============================================
   SGFS — Navy Blue Theme + Global Styles
   Brand color: #0a2655 (from logo)
   ============================================ */

/* === NAVIGATION / HEADER === */
.site-header .site-navigation {
    background: linear-gradient(135deg, #0a2655 0%, #071b3d 100%) !important;
}
.site-header .site-navigation a {
    color: #ffffff !important;
}
.site-header .site-navigation a:hover {
    color: #c0d0e8 !important;
}
.site-header .site-navigation .current_page_item > a,
.site-header .site-navigation .current-menu-item > a {
    color: #ffffff !important;
    font-weight: 600;
}
.site-header {
    background: #0a2655 !important;
    border-bottom: none !important;
}
.masthead-logo-in-menu .site-navigation .full-container {
    background: transparent !important;
}
.site-navigation.sticky.floating {
    background: #0a2655 !important;
    box-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

/* === FOOTER === */
.site-footer,
#footer-widgets,
#colophon {
    background: #0a2655 !important;
    color: #c0d0e8 !important;
}
.site-footer .widget-title {
    color: #ffffff !important;
    font-size: 16px;
    letter-spacing: 1px;
    border-bottom: 2px solid rgba(255,255,255,0.15);
    padding-bottom: 10px;
}
.site-footer a {
    color: #c0d0e8 !important;
    text-decoration: none;
}
.site-footer a:hover {
    color: #ffffff !important;
}
.site-footer p,
.site-footer .textwidget {
    color: #8fa4c4 !important;
}
.footer-cta-btn {
    display: inline-block !important;
    background: #ffffff !important;
    color: #0a2655 !important;
    padding: 12px 30px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-top: 15px !important;
    transition: all 0.3s !important;
}
.footer-cta-btn:hover {
    background: #e0e8f5 !important;
    color: #0a2655 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* === MOBILE MENU === */
.mobmenu-panel,
.mobmenu-left-alignment.mobmenu-panel,
.mobmenu-right-alignment.mobmenu-panel {
    background: #0a2655 !important;
}
.mobmenu-panel a {
    color: #ffffff !important;
}
#mobmenuleft, #mobmenuright,
.mob-menu-header-holder {
    background: #0a2655 !important;
}

/* === HOMEPAGE === */
#pg-32-5, #pg-32-6 { display: none !important; }
#pg-32-0, #pg-32-1, #pg-32-2, #pg-32-3, #pg-32-4 { margin-bottom: 0 !important; }
.page-slider { margin-bottom: 0 !important; }
.page-id-32 #main.site-main { padding-left: 0; padding-right: 0; }
.page-id-32 .full-container { max-width: 100%; }

/* Edge-to-edge for banner/image grids */
.page-id-32 #pg-32-0 .panel-grid-cell,
.page-id-32 #pg-32-1 .panel-grid-cell,
.page-id-32 #pg-32-2 .panel-grid-cell,
.page-id-32 #pg-32-4 .panel-grid-cell { padding: 0; }

/* Homepage slider: navy bg */
.page-id-32 .n2-ss-slide-background { background-color: #0a2655 !important; }
.page-id-32 .n2-section-smartslider { background-color: #0a2655; }

/* Grid 0: Kostnadsfri Offert heading — white on dark bg */
.page-id-32 #pg-32-0 .sow-headline-container *,
.page-id-32 #pg-32-0 h1,
.page-id-32 #pg-32-0 h2 {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.page-id-32 #pg-32-0 {
    position: relative;
}
.page-id-32 #pg-32-0::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background: rgba(10, 38, 85, 0.35);
    pointer-events: none;
    z-index: 1;
}

/* Stretched link: entire Kostnadsfri Offert banner is clickable */
.page-id-32 #pg-32-0 .panel-grid-cell,
.page-id-32 #pg-32-0 .so-panel,
.page-id-32 #pg-32-0 .panel-widget-style,
.page-id-32 #pg-32-0 .so-widget-sow-headline,
.page-id-32 #pg-32-0 .sow-headline-container,
.page-id-32 #pg-32-0 h1.sow-headline {
    position: relative !important;
    z-index: 4;
}
.page-id-32 #pg-32-0 .sow-headline a {
    text-decoration: none !important;
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.page-id-32 #pg-32-0 .sow-headline a::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 3;
    cursor: pointer;
}
.page-id-32 #pg-32-0 .panel-row-style {
    cursor: pointer;
    overflow: hidden;
}

/* Hero section (Grid 2): dark overlay for text readability */
.page-id-32 .sow-hero .sow-slider-images .sow-slider-image {
    position: relative;
}
.page-id-32 
.page-id-32 .sow-hero .sow-slider-image-wrapper::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(10, 38, 85, 0.4);
    pointer-events: none;
}
.page-id-32 .sow-hero p {
    text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}

/* Trygghet/Kvalitet/Enkelt section — navy background */
.page-id-32 #pg-32-3 {
    background: #0a2655 !important;
}
.page-id-32 #pg-32-3 .panel-grid-cell {
    padding: 20px !important;
    overflow: visible !important;
}
.page-id-32 #pg-32-3 .so-panel { padding: 0 15px !important; }
.page-id-32 #pg-32-3 .textwidget { padding: 0 10px; color: #c0d0e8; }
.page-id-32 #pg-32-3 h2,
.page-id-32 #pg-32-3 h3,
.page-id-32 #pg-32-3 .sow-headline-container *,
.page-id-32 #pg-32-3 .sow-icon-fontawesome,
.page-id-32 #pg-32-3 .sow-features-feature .sow-icon-container .sow-icon-image,
.page-id-32 #pg-32-3 .textwidget h2,
.page-id-32 #pg-32-3 .textwidget h3 {
    color: #ffffff !important;
}
.page-id-32 #pg-32-3 .sow-features-feature .sow-features-feature-title {
    color: #ffffff !important;
    font-weight: 600;
}
.page-id-32 #pg-32-3 p,
.page-id-32 #pg-32-3 .textwidget p {
    color: #c0d0e8 !important;
}

/* Homepage bottom gap removal */
.page-id-32 .panel-layout > .panel-grid:last-of-type {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.page-id-32 #main.site-main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* === VÅRA TJÄNSTER === */
#pg-48-7, #pg-48-8 { display: none !important; }
.page-id-48 #pg-48-1 { padding-top: 40px !important; }
.page-id-48 .panel-grid + .panel-grid { margin-top: 0; }
.page-id-48 .panel-grid-cell .so-panel { margin-bottom: 20px; }
.page-id-48 .panel-grid .panel-row-style { margin-bottom: 0; }

/* === OM OSS === */
.page-id-40 .panel-grid + .panel-grid { margin-top: 0; }
.page-id-40 .so-panel h1,
.page-id-40 .so-panel h2,
.page-id-40 .so-panel h3 { margin-top: 10px !important; }
.page-id-40 .panel-row-style { margin-bottom: 0; }

/* === KONTAKT === */
.page-id-43 .sow-headline-container h1 {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

/* === CTA SECTIONS (navy blocks on pages) === */
.panel-row-style[style*="background: #1a2744"],
.panel-row-style[style*="background:#1a2744"] {
    background: #0a2655 !important;
}

/* CTA button hover effects */
.textwidget a[style*="display:inline-block"][style*="background:#ffffff"],
.textwidget a[style*="display: inline-block"][style*="background: #ffffff"] {
    transition: all 0.3s ease !important;
}
.textwidget a[style*="display:inline-block"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.3) !important;
}

/* === GLOBAL BUTTONS === */
.sow-more-link a,
a.sow-button {
    background: #0a2655 !important;
    color: #ffffff !important;
    border-color: #0a2655 !important;
    border-radius: 4px;
    transition: all 0.3s;
}
.sow-more-link a:hover,
a.sow-button:hover {
    background: #0d3270 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(10,38,85,0.3);
}

/* Vantage/CF7 buttons */
.vantage-button,
input[type="submit"],
button[type="submit"],
.wpcf7-submit {
    background: #0a2655 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px;
    padding: 12px 30px;
    font-weight: 600;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s;
}
.vantage-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.wpcf7-submit:hover {
    background: #0d3270 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(10,38,85,0.3);
}

/* CF7 form field styling */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
    border: 1px solid #d0d5dd !important;
    border-radius: 4px;
    padding: 10px 14px;
    font-size: 15px;
    transition: border-color 0.3s;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
    border-color: #0a2655 !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(10,38,85,0.1);
}

/* === HEADINGS === */
h1, h2, h3, h4 { color: #1a1a2e; }

/* === HIDE MAILCHIMP ERROR === */
p[style*="indianred"] { display: none !important; }

/* === FULL-WIDTH ALL PAGES (remove bottom gap) === */
.page-id-48 #main.site-main,
.page-id-40 #main.site-main,
.page-id-43 #main.site-main,
.page-id-336 #main.site-main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* === MOBILE RESPONSIVE === */
@media (max-width: 780px) {
    .site-header .site-navigation { background: #0a2655 !important; }
    
    .page-id-32 #pg-32-3 .panel-grid-cell { padding: 15px !important; }
    .page-id-32 #pg-32-3 .so-panel { padding: 0 10px !important; }
    .page-id-32 #pg-32-3 .textwidget { font-size: 14px; }

    .sow-headline-container h1 {
        font-size: 1.8rem !important;
        word-break: keep-all !important;
        hyphens: none !important;
        line-height: 1.2 !important;
    }
    
    .page-id-43 .sow-headline-container h1 { font-size: 1.6rem !important; }
    .page-id-48 .sow-headline-container h1 { font-size: 1.6rem !important; }
    .page-id-336 h2 { font-size: 1.5rem !important; }
    
    .page-id-48 .panel-grid-cell,
    .page-id-40 .panel-grid-cell { 
        padding-left: 15px !important; 
        padding-right: 15px !important; 
    }
    
    .sow-hero,
    .page-id-32 #pg-32-0 .panel-grid-cell,
    .page-id-32 #pg-32-1 .panel-grid-cell,
    .page-id-32 #pg-32-2 .panel-grid-cell,
    .page-id-32 #pg-32-4 .panel-grid-cell {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    #footer-widgets .widget { padding: 10px 15px !important; }
    
    .textwidget a[style*="padding:15px 40px"] {
        padding: 12px 25px !important;
        font-size: 14px !important;
    }
}

/* === Image: no stretch, crop to fit, prioritize faces === */
.panel-grid-cell .so-widget-sow-image img,
.panel-grid-cell .sow-image-container img {
    object-fit: cover !important;
    object-position: center top !important;
}
.page-id-32 #pg-32-0 {
    background-position: center top !important;
    background-size: cover !important;
}
.page-id-32 .sow-hero .sow-slider-image img {
    object-fit: cover !important;
    object-position: center 20% !important;
}
.so-widget-sow-image .sow-image-container {
    overflow: hidden;
}


/* === TILE IMAGE OVERLAYS WITH TEXT === */
/* Make tile cells position relative for overlay */
#pg-32-1 .panel-grid-cell {
    position: relative !important;
    overflow: hidden !important;
}

/* Image tiles: full height cover */
#pg-32-1 .so-widget-sow-image img {
    width: 100% !important;
    height: 400px !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
}

/* Gradient overlay on all tile cells */
#pg-32-1 .panel-grid-cell .so-widget-sow-image .sow-image-container {
    position: relative !important;
    display: block !important;
}

#pg-32-1 .panel-grid-cell .so-widget-sow-image .sow-image-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to top, rgba(10,38,85,0.85) 0%, rgba(10,38,85,0.4) 50%, transparent 100%);
    pointer-events: none;
    z-index: 1;
}

/* Text labels on each tile */
#pg-32-1 .panel-grid-cell .so-widget-sow-image .sow-image-container a::after {
    position: absolute;
    bottom: 25px;
    left: 0;
    right: 0;
    text-align: center;
    color: #ffffff;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
    z-index: 2;
}

/* Make the links position relative for text placement */
#pg-32-1 .panel-grid-cell .so-widget-sow-image .sow-image-container a {
    position: relative;
    display: block;
}

/* Grid 1 left = Våra Tjänster */
#pg-32-1 > .panel-row-style > .panel-grid-cell:first-child .sow-image-container a::after {
    content: 'Våra Tjänster';
}
/* Grid 1 right = Om SGFS */
#pg-32-1 > .panel-row-style > .panel-grid-cell:last-child .sow-image-container a::after {
    content: 'Om SGFS';
}
/* Grid 4 left = Om SGFS */
/* removed */
/* Grid 4 right = Kostnadsfri Offert */
/* removed */

/* Mobile: smaller text, shorter tiles */
@media (max-width: 780px) {
    #pg-32-1 .so-widget-sow-image img {
        height: 250px !important;
    }
    #pg-32-1 .panel-grid-cell .so-widget-sow-image .sow-image-container a::after {
        font-size: 20px;
        bottom: 18px;
    }
}

/* === FEATURES CARDS (Trygghet/Kvalitet/Enkelt) === */
/* Card container with rounded corners and shadow */
.page-id-32 .so-widget-sow-features .sow-features-feature {
    background: rgba(255,255,255,0.08) !important;
    border-radius: 16px !important;
    padding: 40px 30px 35px !important;
    margin: 0 12px !important;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,0.12) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.page-id-32 .so-widget-sow-features .sow-features-feature:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.3);
}
/* Icon circle */
.page-id-32 .so-widget-sow-features .sow-icon-container {
    background: rgba(255,255,255,0.15) !important;
    border-radius: 50% !important;
}
.page-id-32 .so-widget-sow-features .sow-icon-container .sow-icon-svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}
/* Title styling */
.page-id-32 .so-widget-sow-features .sow-features-feature h1,
.page-id-32 .so-widget-sow-features .sow-features-feature h2,
.page-id-32 .so-widget-sow-features .sow-features-feature h3 {
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    margin-top: 20px !important;
    margin-bottom: 12px !important;
    letter-spacing: 0.5px;
}
/* Body text */
.page-id-32 .so-widget-sow-features .sow-features-feature p {
    color: rgba(255,255,255,0.85) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}
/* Mobile */
@media (max-width: 780px) {
    .page-id-32 .so-widget-sow-features .sow-features-feature {
        margin: 0 0 20px 0 !important;
    }
}

/* === HIDE PORTFOLIO SECTION === */
.page-id-32 #pg-32-4 {
    display: none !important;
}
.page-id-32 #pg-32-5 {
    display: none !important;
}


/* === HOMEPAGE HERO TEXT (Grid 2 team photo) — BOTTOM CENTERED === */
.page-id-32 .so-widget-sow-hero .sow-slider-image-wrapper {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding-bottom: 80px !important;
}


/* === OFFERT HERO FULL-WIDTH === */
/* Show faces: shift image up from default center */
.page-id-336 .sow-slider-image-overlay {
    background-position: center 30% !important;
}
.page-id-336 #pg-336-0 > .panel-row-style {
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    overflow: hidden;
}

/* === OM OSS HERO — show heads === */
.page-id-40 .sow-slider-image-overlay {
    background-position: center 25% !important;
}

/* === OM OSS TEXT SPACING === */
.page-id-40 .so-widget-sow-editor h2,
.page-id-40 .so-widget-sow-editor h3 {
    margin-top: 40px !important;
    margin-bottom: 15px !important;
}
.page-id-40 .so-widget-sow-editor p {
    margin-bottom: 16px !important;
    line-height: 1.7 !important;
}
.page-id-40 .so-widget-sow-editor ul {
    margin-bottom: 20px !important;
}


/* === HERO OVERLAY (all subpages) — single widget overlay, full-width === */
/* Removed the extra CSS ::before overlay. The SiteOrigin Hero widget handles
   the overlay via background.color (#0a2655) + background.opacity (50).
   This ensures one uniform navy mask covering the entire image. */

/* Force hero widget to stretch full viewport width on all subpages */
.page-id-48 .so-widget-sow-hero,
.page-id-40 .so-widget-sow-hero,
.page-id-43 .so-widget-sow-hero,
.page-id-336 .so-widget-sow-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    overflow: hidden !important;
}

/* Ensure overlay covers full width */
.so-widget-sow-hero .sow-slider-image,
.so-widget-sow-hero .sow-slider-image-overlay,
.so-widget-sow-hero .sow-hero {
    width: 100% !important;
}

/* Text ABOVE the overlay with proper z-index */
.so-widget-sow-hero .sow-slider-image-wrapper {
    position: relative !important;
    z-index: 2 !important;
}
.so-widget-sow-hero .sow-slider-image-wrapper .sow-slider-image-padding {
    position: relative !important;
    z-index: 2 !important;
}

/* Text: crisp white with readable shadow */
.so-widget-sow-hero h1, .so-widget-sow-hero h2, .so-widget-sow-hero h3,
.so-widget-sow-hero p, .so-widget-sow-hero span {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.6), 0 0 20px rgba(0,0,0,0.3) !important;
    opacity: 1 !important;
}

/* === FEATURES SECTION (Trygghet/Kvalitet/Enkelt) — FULL WIDTH === */
.page-id-32 #pg-32-3 {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
}
.page-id-32 #pg-32-3 > .panel-row-style {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* === SGFS FEATURES — mobile responsive === */
@media (max-width: 780px) {
    .page-id-32 #pg-32-3 div[style*="display:flex"] {
        flex-direction: column !important;
        padding: 40px 20px 30px !important;
        gap: 20px !important;
    }
}