/*
Theme Name:  Leslie Pobee Ministries
Description: Child theme for LesliePobeeMinistries.com, based on SiteOrigin Corp
Template:    siteorigin-corp
Version:     1.0
*/

/* ── Logo ─────────────────────────────────────────────────────────────────── */
.site-branding .custom-logo,
.site-branding img.custom-logo {
    max-height: 120px;
    max-width:  120px;
    width:  auto;
    height: auto;
}

/* ── Header: full-width black bar ─────────────────────────────────────────── */
#masthead.site-header,
.masthead-sentinel,
.site-header {
    background-color: #000000;
    border-bottom: none;
    margin-bottom: 0 !important;
}

/* ── Navigation: white text, red hover underline bar ─────────────────────── */
.main-navigation ul li a,
.main-navigation a {
    color: #ffffff !important;
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a {
    color: #ffffff !important;
}

/* ── Remove white strip between header and hero ───────────────────────────── */
/* The strip is the entry-header (page title) above the Page Builder content  */
.page .entry-header,
.page-template-default .entry-header {
    display: none !important;
}

/* Also remove any top margin/padding that creates the gap */
.page-layout-full-width-no-sidebar #primary.content-area {
    padding-top: 0;
    margin-top: 0;
}

.page-layout-full-width-no-sidebar .entry-content {
    margin-top: 0;
    padding-top: 0;
}

/* ── Sidebar: always hidden ───────────────────────────────────────────────── */
#secondary.widget-area {
    display: none !important;
}

/* ── Page Builder row margins (non-hero rows get 40px H padding) ──────────── */
/* Target non-stretched rows so they don't touch the edges */
.panel-grid:not(.panel-grid-cell-mobile-last) .panel-row-style {
    padding-left:  40px;
    padding-right: 40px;
}

/* First row (index 0) on every page gets zero horizontal padding */
.panel-grid[id$="-0"] .panel-row-style {
    padding-left:  0;
    padding-right: 0;
}

/* Align widget titles with the 30px H padding used inside textwidget divs */
.so-panel .widget-title {
    padding-left:  30px;
    padding-right: 30px;
}

/* ── Footer widget layout ─────────────────────────────────────────────────── */
/* Description row: full width; then 3 equal columns below it */
.site-footer .widgets.widgets-4 {
    display:   flex;
    flex-wrap: wrap;
    gap:       30px;
}

.site-footer .widgets.widgets-4 > .widget:first-child {
    flex:           0 0 100%;
    max-width:      100%;
    border-bottom:  1px solid rgba(255,255,255,0.15);
    padding-bottom: 24px;
    margin-bottom:  8px;
    text-align:     center;
}

.site-footer .widgets.widgets-4 > .widget:not(:first-child) {
    flex: 1 1 0;
    min-width: 0;
}

/* ── Footer: white text and links on dark background ─────────────────────── */
.site-footer,
.site-footer .widget-title,
.site-footer p,
.site-footer li,
.site-footer address {
    color: #e0e0e0;
}

.site-footer a,
.site-footer .footer-menu a,
.site-footer .widget a {
    color: #ffffff !important;
    text-decoration: none;
}

.site-footer a:hover,
.site-footer .footer-menu a:hover,
.site-footer .widget a:hover {
    color: #cc0000 !important;
    text-decoration: underline;
}

/* Social media icons: inject SVG via background-image (icon_name not set in widget,
   so siteorigin_widget_get_icon() returns nothing and spans are empty) */
.site-footer .sow-social-media-button {
    width:               36px;
    height:              36px;
    padding:             0;
    background-repeat:   no-repeat;
    background-position: center;
    background-size:     65%;
    vertical-align:      middle;
}
.site-footer .sow-social-media-button span {
    display: none;
}
/* Facebook */
.site-footer .sow-social-media-button--0 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z'/%3E%3C/svg%3E");
}
/* Instagram */
.site-footer .sow-social-media-button--1 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ffffff' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E");
}
/* YouTube */
.site-footer .sow-social-media-button--2 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23ffffff' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E");
}
/* X / Twitter */
.site-footer .sow-social-media-button--3 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E");
}

.site-footer .widget-title {
    color: #ffffff;
    font-size: 1em;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

/* Footer nav menu list: vertical stack */
.site-footer .widget_nav_menu ul {
    list-style: none;
    margin:  0;
    padding: 0;
}

.site-footer .widget_nav_menu ul li {
    padding: 3px 0;
}

/* Bottom bar */
.bottom-bar {
    border-top: 1px solid rgba(255,255,255,0.1);
}

.bottom-bar .site-info,
.bottom-bar .site-info a {
    color: #aaaaaa;
}

/* ── Contact Form 7: uniform field widths ─────────────────────────────────── */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    box-sizing: border-box;
    display: block;
    padding: 10px 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
    font-family: inherit;
    background: #fff;
    color: #111;
    margin-bottom: 12px;
}

.wpcf7 textarea {
    min-height: 140px;
    resize: vertical;
}

.wpcf7 .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}
