/*
Theme Name: Catholic Gallery
Theme URI: 
Author: Pradeep K A
Author URI: 
Description: Custom Theme of Catholic Gallery
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: catholic-gallery
Tags: 
*/

/* Navigation Style Start */

/* Your existing CSS with improved nested submenu fixes */
*{
	box-sizing: border-box;
}
.cg_hdrmenu .wp-block-navigation__container,
.cg_hdrmenu .wp-block-navigation__container li {
    width: 100%;
}

.cg_hdrmenu .wp-block-navigation__container>li {
    border-bottom: 1px solid var(--wp--preset--color--primary-blue);
}

.wp-block-navigation ul li {
    padding-bottom: 10px
}

.wp-block-navigation ul li:hover {
    color: var(--wp--preset--color--primary-red);
}

.cg_ftrmenu .wp-block-navigation ul li:hover {
    color: unset;
}

.wp-block-navigation .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    align-items: flex-start;
}

.cgHdrNav {
    flex-direction: row-reverse;
}

body .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: block !important;
}

body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none !important;
}

@media(min-width: 782px) {
    /* Main submenu positioning */
    .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container,
    .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,
    .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
        min-width: 280px;
        width: 100%;
        z-index: 5;
        left: auto;
        right: 2px;
        position: absolute;
        top: 100%;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon {
        margin-right: .75em;
        transform: rotate(180deg);
    }
    /* Force nested submenus to position absolutely relative to their immediate parent */
    .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child {
        position: relative !important;
    }
    /* Nested submenu (sub-sub-menu) positioning - MORE SPECIFIC SELECTORS */
    .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container {
        position: absolute !important;
        top: 0 !important;
        left: 100% !important;
        z-index: 15 !important;
        min-width: 250px !important;
        width: auto !important;
        transform: none !important;
        margin: 0 !important;
        background: white !important;
        border: 1px solid #ddd !important;
        box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.15) !important;
    }
    /* For right-aligned parent menus, force nested submenus to the left */
    .wp-block-navigation__container li:nth-last-child(-n+4) .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container {
        left: auto !important;
        right: 100% !important;
        box-shadow: -2px 2px 10px rgba(0, 0, 0, 0.15) !important;
    }
    /* Override any inherited positioning */
    .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
        position: absolute !important;
        display: block !important;
        width: auto !important;
        min-width: 200px !important;
    }
    /* Ensure visibility on hover/focus */
    .wp-block-navigation__submenu-container .has-child:hover>.wp-block-navigation__submenu-container,
    .wp-block-navigation__submenu-container .has-child:focus-within>.wp-block-navigation__submenu-container,
    .wp-block-navigation__submenu-container .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container {
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
    .wp-block-navigation__container>ul {
        gap: 5px
    }
    .cg_hdrmenu .wp-block-navigation__container,
    .cg_hdrmenu .wp-block-navigation__container li {
        width: unset;
    }
    .wp-block-navigation ul li {
        padding-bottom: 0;
    }
    .cg_hdrmenu .wp-block-navigation__container>li {
        border-bottom: none;
    }
    .wp-block-navigation .wp-block-navigation__submenu-container {
        padding: 10px 0;
    }
    :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)) {
        padding: 0.2em 1em;
        /* border-bottom: 1px solid var(--wp--preset--color--medium-gray); */
    }
    .wp-block-navigation__container>ul {
        gap: 10px
    }
    :root :where(.wp-block-navigation) {
        font-size: var(--wp--preset--font-size--large);
    }
    body .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }
    body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
    }
    .cgHdrNav {
        flex-direction: row;
    }
    .cg_ftrmenu p {
        text-align: left;
    }
    .cg_ftrmenu ul {
        justify-content: flex-end;
    }
}

@media(min-width: 992px) {
    .wp-block-navigation__container>ul {
        gap: 20px
    }
}

header.wp-block-template-part {
    position: sticky;
    top: 0;
    z-index: 1000;
    /* keep above content */
    background: inherit;
    /* keeps background solid */
}

.yoast-breadcrumbs {
    font-size: var(--wp--preset--font-size--small);
}

/* Search Bar CSS Start*/

/* Scoped styles (safe to paste into WP HTML widget) */

.wp-custom-search-widget {
    font-family: inherit;
}

.wp-custom-search-widget .wp-custom-search {
    position: relative;
    display: inline-block;
}

.cg_search_wrap {
    max-width: 500px;
}

.wp-custom-search-widget .search-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    transition: background-color 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wp--preset--color--primary-red);
}

.wp-custom-search-widget .search-toggle:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.wp-custom-search-widget .search-icon {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

/* Fullscreen solid search area */

.wp-custom-search-widget .search-dropdown {
    position: fixed;
    inset: 0;
    background: var(--wp--preset--color--white);
    z-index: 999999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.wp-custom-search-widget .search-dropdown.active {
    opacity: 1;
    visibility: visible;
}

.wp-custom-search-widget .search-form {
    width: 100%;
    max-width: 600px;
}

.wp-custom-search-widget .search-input-wrapper {
    display: flex;
    gap: 10px;
    align-items: center;
}

.wp-custom-search-widget .search-input {
    flex: 1;
    padding: 14px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 28px;
    font-size: 16px;
    background: #f8f9fa;
    outline: none;
    transition: box-shadow .15s, border-color .15s;
}

.wp-custom-search-widget .search-input:focus {
    border-color: var(--wp--preset--color--primary-blue);
    box-shadow: 0 0 0 4px rgba(0, 115, 170, 0.08);
    background: var(--wp--preset--color--white);
}

.wp-custom-search-widget .search-submit {
    padding: 12px 20px;
    background: var(--wp--preset--color--primary-blue);
    color: var(--wp--preset--color--white);
    border: none;
    border-radius: 24px;
    font-weight: 600;
    cursor: pointer;
    font-size: 15px;
}

.wp-custom-search-widget .search-submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.wp-custom-search-widget .search-close {
    position: fixed;
    top: 18px;
    right: 18px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--wp--preset--color--primary-red);
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background .15s;
    z-index: 1000000;
}

.wp-custom-search-widget .search-close:hover {
    background: rgba(0, 0, 0, 0.04);
}

.wp-custom-search-widget .close-icon {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* keep widget styles scoped and safe for WP admin bar */

.admin-bar .wp-custom-search-widget .search-dropdown {
    z-index: 1000001;
}

/* Search Bar CSS End*/

/* Navigation Style End */

/* Footer Start */

.appWrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.appWrapper .badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

.appWrapper .badges img {
    height: 45px;
}

#cgappdl {
    display: none;
}

@media(min-width: 782px) {
    #cgappdl {
        display: flex;
    }
}

/* Footer End */

/* Social Start */

@media(min-width: 782px) {
    .wp-block-social-links.has-large-icon-size {
        font-size: 26px;
    }
}

@media(min-width: 992px) {
    .wp-block-social-links.has-large-icon-size {
        font-size: 36px;
    }
}

/* Social End */

/* Post Navigation Start */

.wp-block-post-navigation-link {
    display: flex;
}

.post-navigation-link-next {
    text-align: right;
}

/* Post Navigation End */

/* cg_share Start */

#cgSocialShare {
    gap: 20px;
}

#cgSocialShare .shrcol1 {
    flex-basis: 60px !important;
    flex-grow: 0;
    align-self: center;
}

#cgSocialShare .shrcol2 {
    flex-basis: auto !important;
    flex-grow: 0;
}

/* cg_share End */

/* cg Sidebar CSS Start*/

@media(min-width: 782px) {
    .cg_sb_hdg {
        text-align: left
    }
    .cg_social_block {
        align-items: flex-start;
    }
    #cgSocialShare .shrcol1 {
        flex-basis: clamp(60px, 10vw, 95px) !important;
        flex-grow: 0;
        align-self: center;
    }
}

/* cg Sidebar CSS End */

/* User Avatar Start */

.wp-block-avatar {
    text-align: center;
}

.wp-block-post-author-biography {
    line-height: 1.5;
}

.wp-block-social-links.user-link {
    font-size: 20px;
}

.user-link {
    margin-block-start: 7px;
    margin-block-end: 7px;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

/* User Avatar End */

.comment-reply-title {
    font-size: var(--wp--preset--font-size--xx-large);
}

.readings {
    margin-top: 25px;
}

.dayTitle {
    line-height: 1.2;
}

.cg_content {
    margin: 8px 0;
    padding: 2px;
    text-align: justify
}

.cg_hl_cont {
    margin: 15px 0;
    border: 1px dotted #2e2e2e;
    border-radius: 1px;
    box-shadow: 1px 1px 1px 1px #888;
    text-align: justify
}

.cg_hl {
    text-align: Justify;
    padding: 6px
}

.cg_button {
    padding: 10px 10px 7px;
    min-width: 120px;
    font-size: 14px;
    line-height: 1em;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    font-weight: 600;
    color: var(--wp--preset--color--white);
    font-family: var(--wp--preset--font-family--josefin-sans);
    background-color: var(--wp--preset--color--primary-blue);
    text-decoration: none;
}

.cg_button:active,
.cg_button:hover {
    text-decoration: none;
    background-color: var(--wp--preset--color--primary-red);
    color: var(--wp--preset--color--white);
}

.cg_button_full {
    max-width: 280px;
    width: 100%
}

.cg_button_big {
    min-width: 160px
}

.cg_bible_links a {
    margin: 3px 3px 5px;
    padding: 3px;
    font-size: 14px;
    min-width: 120px;
    font-family: var(--wp--preset--font-family--josefin-sans);
    font-weight: 600;
    display: inline-block;
    border: 1px solid var(--wp--preset--color--primary-red);
    text-align: center;
    cursor: pointer;
    color: var(--wp--preset--color--black);
    word-wrap: break-word
}

.cg_bible_links a:hover {
    background-color: var(--wp--preset--color--primary-red);
    color: var(--wp--preset--color--white);
    text-decoration: none;
    box-shadow: 0.5px 0.5px 1px 1px var(--wp--preset--color--primary-blue);
}

.cg_month_table {
    width: 100%;
    text-align: center;
    margin-top: 20px
}

.cg_month_table table {
    max-width: 280px;
    width: 100%;
    border-collapse: separate;
    margin: 0 auto;
    font-family: var(--wp--preset--font-family--josefin-sans);
    line-height: 1.5;
    border-spacing: 0;
    border: 1px solid var(--wp--preset--color--primary-red);
}

.cg_month_table tr td {
    min-width: 25px;
    padding: 0;
    border-spacing: 0;
    border: 1px solid var(--wp--preset--color--primary-red);
}

.cg_month_table tr:nth-child(n) td:nth-child(1) {
    font-weight: 700;
    color: var(--wp--preset--color--black);
}

.cg_month_table a,
.cg_month_table a:visited {
    display: block;
    cursor: pointer;
    font-weight: 700;
    text-decoration: underline;
    color: var(--wp--preset--color--primary-blue);
    line-height: 1.6;
    padding: 2px 3px
}

.cg_month_table a:active,
.cg_month_table a:focus,
.cg_month_table a:hover {
    color: var(--wp--preset--color--white);
    background-color: var(--wp--preset--color--primary-red);
    text-decoration: underline;
}

.cg_month_table a.cg_active,
.cg_month_table a.cg_active:visited {
    background-color: var(--wp--preset--color--primary-red);
    color: var(--wp--preset--color--white);
}

.cg_mr_daydesc {
    margin: 10px 0;
    padding: 5px;
    font-family: var(--wp--preset--font-family--josefin-sans);
    text-align: center;
    font-size: 24px;
    line-height: 1.3;
}

.cgRdgsCard {
    border: 1px solid var(--wp--preset--color--primary-blue);
    margin-bottom: 15px;
}

.cgRdgsCardHdg {
    background-color: var(--wp--preset--color--primary-blue);
}

.cgRdgsCard .cg_mr_daydesc {
    font-size: 18px;
    padding: 5px 10px;
    margin: 0;
    color: var(--wp--preset--color--white);
}

.cgRdgsCardCont {
    padding: 10px;
}

.cgRdgsCardCont strong {
    font-family: var(--wp--preset--font-family--josefin-sans);
    color: var(--wp--preset--color--primary-red);
    font-size: 1.1em;
    font-weight: 600;
}

.cg_links {
    margin: 0 0 15px
}

.cg_links a {
    margin: 5px 1px;
    padding: 10px 10px 7px;
    min-width: 30px;
    font-size: 14px;
    line-height: 100%;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    cursor: pointer;
    font-family: var(--wp--preset--font-family--josefin-sans);
    font-weight: 600;
    color: var(--wp--preset--color--white);
    background-color: var(--wp--preset--color--primary-red);
    text-decoration: none !important
}

.cg_links a:hover {
    text-decoration: none !important;
    color: var(--wp--preset--color--white);
    background-color: var(--wp--preset--color--primary-blue);
}

.cg_links_big {
    text-align: center;
    margin: 10px 0
}

.cg_links_blue a {
    background-color: var(--wp--preset--color--primary-blue);
    min-width: 35px
}

.cg_links_blue a:hover {
    background-color: var(--wp--preset--color--primary-red);
}

.cg_links_big a {
    min-width: 120px
}

.cg_active, .cg_links .cg_active {
    color: var(--wp--preset--color--white);
    background-color: var(--wp--preset--color--primary-blue);
    font-weight: 700;
    pointer-events: none
}

.bibvnum {
    color: var(--wp--preset--color--primary-red);
    position: relative;
    top: -.5em;
    font-size: 70%;
    font-style: italic;
    font-weight: 700
}

.biayfoots,
.biayfoots1,
.drbcstyle,
.massfootc {
    margin: 20px 0;
    padding: 10px 10px 5px;
    font-size: 12px;
    line-height: 16px;
    text-align: justify;
    border-top: 1px solid var(--wp--preset--color--primary-red);
}

.biaytops,
.drbhstyle,
.masstopc {
    margin: 20px 0;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 16px;
    text-align: justify;
}

.biblechapters {
    margin-bottom: 15px;
    border-bottom: 1px solid var(--wp--preset--color--primary-blue);
    padding: 10px 0
}

.bibleheader {
    font-weight: 600;
    color: var(--wp--preset--color--primary-red);
    margin-top: 10px;
    font-size: 1.2em;
    font-family: var(--wp--preset--font-family--josefin-sans);
}

.biay_pmonth {
    margin: 15px 0
}

.cg_half_text {
    width: 100%;
    display: flex;
    margin-bottom: 15px;
}

.cg_half_text_1 {
    flex: 1;
}

.dmrday,
.dmrds {
    font-weight: 700;
    font-family: var(--wp--preset--font-family--josefin-sans);
}

.dmrday {
    font-size: 20px;
    margin-bottom: 7px;
    color: var(--wp--preset--color--primary-red);
}

.dmrrs {
    padding-top: 10px
}

.dmrrs a {
    color: var(--wp--preset--color--primary-red);
    text-decoration: underline;
}

.dmrat {
    text-align: center;
    margin: auto;
    padding-bottom: 10px
}

.dmrnlpm {
    display: block;
    padding: 5px;
    margin: 10px auto 15px;
    border-bottom: 2px solid var(--wp--preset--color--primary-blue);
}

.dmrnbtmbdr {
    border-bottom: none
}

.cg_para {
    font-size: 14px;
    margin-bottom: 0;
    text-align: center
}

.cg_page_mass_top {
    font-size: .9em
}

.cgBlue {
    color: var(--wp--preset--color--primary-red);
    font-weight: 500;
    font-family: var(--wp--preset--font-family--josefin-sans);
}

.cgHide {
    display: none;
}

.npcstyle,
.npdaystyle {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.npcstyle.npcsingle {
    justify-content: flex-end;
}

.cgLect {
    margin: 15px 0;
    font-family: var(--wp--preset--font-family--josefin-sans);
    font-size: 120%;
    color: var(--wp--preset--color--primary-red);
}

.cgRsR {
    color: var(--wp--preset--color--primary-red);
}

.cgrpnsr {
    margin: -25px 0 0 !important;
}

.dayTitle {
    text-align: center
}

.daySubTitle {
    text-align: right
}

.notice {
    color: var(--wp--preset--color--primary-red);
    font-style: italic;
    margin: 10px;
    text-align: justify
}

.notice a {
    color: inherit;
    text-decoration: none;
    font-style: oblique;
    font-weight: 700
}

.notice a:hover {
    text-decoration: underline
}

p.sequenceTxt {
    text-align: justify;
    text-indent: -25px;
    margin-left: 25px
}

ol.sequenceTxt li {
    margin-bottom: 10px
}

.readingsTitle {
    font-weight: 700
}

.readingTxt {
    text-align: justify;
    text-indent: 25px;
    margin: 0 0 5px
}

.readingIntro {
    text-align: right;
    font-style: italic
}

.alleluiaTxt {
    margin-left: 25px;
    text-align: justify
}

.psalmTitle {
    text-align: left;
    margin-top: 20px
}

div.psalmText {
    width: 100%;
    overflow: hidden
}

div.psalmText .psmvnum {
    width: 40px;
    float: left
}

div.psalmText .psmvcont {
    overflow: hidden;
    text-align: justify
}

.commonsTitle {
    text-align: center;
    font-size: 20px;
    margin: 0
}

.commonsSubTitle {
    text-align: center;
    font-size: 15px;
    margin: 0
}

.italics {
    font-style: italic
}

.clrwhite {
    color: #b8860b
}

.clrred {
    color: #b22222
}

.clrrose {
    color: #da70d6
}

.clrpurple {
    color: #663399
}

.clrgreen {
    color: Green
}

.clrCrimson {
    color: #ff4500
}

#tmassrdgtop,
#tmassrdgfoot {
    display: none;
}

.trMonMass .dmrday {
    color: var(--wp--preset--color--black);
    ;
    margin-bottom: 0;
    width: 28px;
    flex-shrink: 0;
}

.trMonMass {
    display: flex;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--wp--preset--color--primary-blue);
    margin-bottom: 10px
}

.trMonMass .dmrrs {
    padding-top: 0;
    padding-left: 5px
}

.dmrrs a:nth-of-type(2n) {
    color: var(--wp--preset--color--primary-blue);
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
}

.wpcf7 input[type="submit"] {
  background: var(--wp--preset--color--primary-red);
  color: var(--wp--preset--color--white);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
}