/*
Theme Name: Scalabrinians Theme
Theme URI: https://scalabrini.net/
Author: SFCP Media Office
Author URI: https://sthsmanila.asia/
Description: A premium custom WordPress theme replicating the layout, styling, and features of scalabrini.net, featuring custom sticky header, mega-menus, grid-based card components, and a floating podcast audio player.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: scalabrini-theme
Tags: news, portfolio, two-columns, custom-menu, featured-images, sticky-post, translation-ready
*/

/* ==========================================================================
   GLOBAL RESET & VARIABLES
   ========================================================================== */
:root {
  --main-color: #900d14;
  --main-color-rgb: 144, 13, 20;
  --main-color-hover: #ae1017;
  --text-color: #0a0a0a;
  --text-muted: #555555;
  --body-bg: #ffffff;
  --white: #ffffff;
  --light-gray: #ededed;
  --border-color: #dee2e6;
  --font-family: 'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --transition-speed: 0.25s;
}

* {
  box-sizing: border-box;
}

body {
  background-color: var(--body-bg) !important;
  color: var(--text-color);
  font-family: var(--font-family);
  font-size: 13.5px;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  height: 100%;
}

a {
  color: var(--text-color);
  text-decoration: none;
  transition: color var(--transition-speed) ease;
}

a:hover {
  color: var(--main-color);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: var(--text-color);
  margin-top: 0;
}

/* Base list styling resets */
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ==========================================================================
   BLOCK EDITOR PATTERNS CUSTOM CLASSES
   ========================================================================== */
.scalabrini-pattern-card {
    border: 1px solid #eeeeee !important;
    background-color: #ffffff !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03) !important;
    transition: all 0.3s ease !important;
}
.scalabrini-pattern-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.07) !important;
    border-color: var(--main-color-light) !important;
}
.scalabrini-pattern-badge {
    background-color: var(--main-color-light) !important;
    color: var(--main-color) !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    display: inline-block !important;
    font-size: 13px !important;
    margin-bottom: 12px !important;
}
.scalabrini-pattern-border-card {
    border-top: 4px solid var(--main-color) !important;
    background-color: #ffffff !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03) !important;
    border-left: 1px solid #f2f2f2 !important;
    border-right: 1px solid #f2f2f2 !important;
    border-bottom: 1px solid #f2f2f2 !important;
}
.scalabrini-pattern-dashed-card {
    border: 1px dashed var(--main-color) !important;
    background-color: #fdfdfd !important;
    border-radius: 16px !important;
    padding: 30px !important;
}
.scalabrini-pattern-alert-box {
    background-color: var(--main-color-light) !important;
    border-left: 4px solid var(--main-color) !important;
    border-radius: 8px !important;
    padding: 20px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
}
.scalabrini-pattern-hero-banner {
    background: var(--hero-bg-color) !important;
    color: #ffffff !important;
    border-radius: 16px !important;
    padding: 48px !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

/* Header Banner Text Colors Override */
.entry-header.text-white .entry-title {
  color: #ffffff !important;
}

.entry-header.text-white .lead {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* Hide floating sharing bars/widgets specifically on single post pages */
.single .a2a_floating_style,
.single .a2a_kit_size_32,
.single .et_social_sidebar,
.single .nc_socialPanel,
.single .swp_social_panelSide,
.single .essb_displayed_sidebar,
.single .social-share-bar,
.single .floating-share-bar {
    display: none !important;
}

/* Header Banner Category Links */
.entry-header.text-white .lead a {
    color: #ffd60a !important; /* Premium gold color for visibility */
    text-decoration: none !important;
    font-weight: 700 !important;
}
.entry-header.text-white .lead a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* Multi-Level Submenu Dropdowns */
@media (min-width: 992px) {
    .dropdown-menu .dropdown-submenu {
        position: relative;
    }
    .dropdown-menu .dropdown-submenu .dropdown-menu-sub {
        position: absolute;
        top: 0;
        left: 100%;
        margin-top: -6px;
        margin-left: 0px;
        border-radius: 8px;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        display: none;
        min-width: 190px;
        background-color: #ffffff;
        border: 1px solid rgba(0,0,0,0.15);
        padding: 5px 0;
    }
    .dropdown-menu .dropdown-submenu:hover > .dropdown-menu-sub {
        display: block !important;
    }
}

/* Mobile Styling for Submenus */
@media (max-width: 991.98px) {
    .dropdown-menu-sub {
        position: static;
        display: none;
        border: none;
        box-shadow: none;
        background-color: rgba(0, 0, 0, 0.03);
        padding-left: 1.2rem;
        margin-left: 0.5rem;
        border-left: 2px solid rgba(0, 0, 0, 0.1);
    }
}

.dropdown-item-sub {
    display: block;
    width: 100%;
    padding: 0.35rem 1.5rem;
    clear: both;
    font-weight: 500;
    color: #333333;
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    font-size: 13.5px;
    transition: all 0.15s ease;
}

.dropdown-item-sub:hover {
    color: var(--main-color, #900d14) !important;
    background-color: #f8f9fa;
    padding-left: 1.7rem;
}


