/**
 * 
 * Navbar background/gradient/transparency
 * 
 **/
body.home #masthead {
    background: transparent !important;
    box-shadow: none;
}
body.home #masthead #nav-main {
    background: transparent;
}
/* Force the homepage content behind the navbar */
body.home .dpi-carousel {
    margin-top: -90px;
}
body.home .dpi-carousel .carousel-item {
    padding-top: 200px;
}
body.home #nav-main {
    --nav-main-mix: 0; /* 0 = full gradient, 1 = solid color */
    background:
        /* Layer 1 (solid): fades in */
        linear-gradient(
            to bottom,
            rgba(30, 30, 30, calc(var(--nav-main-mix) * 1)) 0%,
            rgba(30, 30, 30, calc(var(--nav-main-mix) * 1)) 100%
        ),
        /* Layer 2 (original gradient): fades out */
        linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.75) 0%,
            transparent 90%,
            transparent 100%
        ) !important;

    background-blend-mode: normal;
    transition: background 0.05s linear; /* tiny smoothing */
}
body.home #home-grid .dpi-feature-card h5.mb-3 {
	margin-bottom: 0 !important;
}

/**
 * 
 * Misc. Global Elements
 * 
 */
.header-actions {
    margin-left: 40px;
}
.woocommerce {
    margin-top: 0;
}
:root {
    --bs-dark-rgb: 20, 20, 18;
}
.header-actions .sign-in .btn:hover,
.header-actions .sign-in .btn:focus {
    color: #fff !important;
    opacity: .8;
}
.has-sidebar:not(.error404) #primary {
    width: 68%;
    float: left;
}
.has-sidebar #secondary {
    width: 28%;
    float: right;
    padding-top: 0;
}
#secondary {
    padding: 1em 0 2em;
}

.site-header #collapse-search {
	backdrop-filter: blur(5px);
    background: rgba(255, 255, 255, 0.5) !important;
}

body.home .site-header #collapse-search {
	background: transparent !important;
}

.site-header #collapse-search .wp-block-search__label {
    color: #000;
}

body.home .site-header #collapse-search .wp-block-search__label {
    color: #fff;
}

.site-header #collapse-search .form-control {
	background: white;
    color: black;
}

.site-header #collapse-search .wp-block-search__button,
.site-header #collapse-search .wp-block-search__button:focus  {
	background: linear-gradient(to right, var(--diocesan-highlight), var(--diocesan-primary)) !important;
	border: none;
	color: #fff;
}

.page-id-2025 .search-toggler,
.page-id-8020 .search-toggler {
	display: none; 
}

#footer .list-unstyled li {
	padding-bottom: 5px;
}

.social-icons a {
	width: 32px;
    height: 32px;
    background: white;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    color: white;
}

.pb-6 {
	padding-bottom: 4rem !important;
}

.pt-6 {
	padding-top: 4rem !important;
}

.mb-6 {
	margin-bottom: 4rem !important;
}

.mt-6 {
	margin-top: 4rem !important;
}

#video-tour h1 {
	color: var(--mass-intentions-primary);
}

.no-border {
	border: none !important;
}

#nodisplay {
	display: none
}

.accent-bg-line-dark {
    position: relative; /* Needed for absolute positioning of the line */
    display: inline-block;
	width: 100%;
  }

  /* The line behind the image */
  .accent-bg-line-dark::before {
    content: "";
    position: absolute;
    top: 50%; /* Center vertically */
    left: 0;
    width: 100%;
    height: 1px; /* Line thickness */
    background-color: var(--diocesan-primary); /* Line color */
    z-index: 0; /* Behind the image */
    transform: translateY(-50%);
  }

  /* The image itself */
  .accent-bg-line-dark img {
    position: relative;
    z-index: 1; /* Above the line */
    display: block;
	margin: 0 auto;
	background: rgba(var(--bs-dark-rgb));
	padding: 0 50px;
  }

#artist-hero #signature-artist {
   text-shadow: 0px 0px 20px rgba(256, 256, 256, 1) !important;
   color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
   font-style: italic;
}

#artist-hero .hero-content .container p {
   text-shadow: 0px 0px 20px rgba(256, 256, 256, 1), 0px 0px 20px rgba(256, 256, 256, 1), 0px 0px 20px rgba(256, 256, 256, 1) !important;
   color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}


#artist-hero .hero-content .container .w-75 {
	width: 50% !important;
}

/**
 * 
 * Gravity Forms
 * 
 */
.contact-hybrid_wrapper .gform_required_legend {
	display: none;
}

.contact-hybrid {
	max-width: 640px !important;
    text-align: left !important;
}

.contact-hybrid #gform_submit_button_1 {
	/*background: linear-gradient(to right, var(--diocesan-highlight), var(--diocesan-primary)) !important;*/
    border-radius: var(--bs-border-radius-pill) !important;
    font-weight: 700;
    border: none;
}

.contact-hybrid .gfield_required_asterisk {
	font-size: 20px;
    line-height: 10px;
    color: var(--diocesan-primary);
}

.gform-theme--framework .gform_validation_errors {
	text-align: left !important;
}

.gform_button {
	border-radius: 25px !important;
}

.select2-container--default #select2-input_1_16-results .select2-results__option[aria-selected="true"], .select2-container--default #select2-input_1_16-results .select2-results__option[data-selected="true"] {
    background-color: #dfdfdf !important;
}

.software-form_wrapper, .advertising-form_wrapper {
	max-width: 640px;
	margin: 0 auto;
}

.bg-dark .gform-theme--framework .gfield_list_group_item::before:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), 
.bg-dark .gform-theme--framework .gform-field-label:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
	color: #fff;
}

/**
 * 
 * Curved underline
 * 
 * <span class="curve-underline"><span class="curve-text">Hello</span></span>
 */
.curve-underline {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
}

.curve-text {
    position: relative;
    z-index: 1;
}

/* Underline attached to the TEXT span */
.curve-text::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px; /* adjust underline distance */
    width: 100%;
    height: 40px;

    pointer-events: none;

    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 100%;

    background-image: url("data:image/svg+xml,%3Csvg width='800' height='60' viewBox='0 0 800 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 40 C 250 10, 550 10, 770 40' stroke='%23e18572' stroke-width='24' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
}

#resourceSearchForm {
    min-width: 400px;
}
#resourceSearchForm .input-group > .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* Buletin notification settings */
.notif-item {
    border-bottom: 1px solid #eee;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
}

.notif-options {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.notif-option {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    cursor: pointer;
}

.notif-option input {
    margin-top: 0.2rem;
}

.notif-option strong {
    font-weight: 600;
    line-height: 1.1;
}

.notif-option .text-muted {
    font-size: 0.75rem;
    line-height: 1.2;
}

/**
 * Custom block level links/etc.
 */
.editable-text {
    display: block;
    padding: 12px 15px;
    border-radius: 6px;
    background-color: #f8f9fa;
    border: 2px solid #e1e1e1;
    color: #111;
    text-decoration: none;
    font-size: 1rem;
    transition: all 0.2s ease;
}
a.editable-text {
    cursor: pointer;
}
a.editable-text:hover,
a.editable-text:focus {
    background-color: #ffffff;
    border: 2px solid #e07756;
    color: #000;
    text-decoration: none;
    outline: none;
}
.editable-text .edit-icon {
    opacity: 0;
    transform: translateY(-4px);
    transition: all 0.25s ease;
    font-size: 1rem;
    color: #6c757d; /* Bootstrap text-secondary */
}
.editable-text:hover .edit-icon {
    opacity: 1;
    transform: translateY(0);
}

/**
 * Remove Default Icons
 */
 
#camino-pricing-grid .dpi-feature-card img, 
#camino-pricing-grid .dpi-feature-card svg {
	 display: none;
}

/* Reduce offcanvas title font size */
.offcanvas-title {
    font-size: 1em;
}

/* SVG icon for bulletins in the main nav */
.dpi-icon-bulletin {
    width: 1.25rem;
    height: 1.25rem;
    display: inline-block;
    vertical-align: middle;
    color: #000; /* light theme default */
    transition: all 150ms ease-in-out;
}

[data-bs-theme="dark"] .dpi-icon-bulletin {
    color: #fff; /* dark theme */
}

.bulletin-toggler:hover .dpi-icon-bulletin,
.bulletin-toggler:focus-visible .dpi-icon-bulletin {
    color: #f26c50; /* exact brand color */
}

/**
 * Product Catalog tweaks
 */
 
 .woocommerce .products .card .woocommerce-loop-product__title {
	font-size: 16px;
    text-align: left;
    font-weight: 600;
 }

.products .card .price {
	font-weight: normal !important;
    font-style: italic !important;
    font-size: 16px !important;
    text-align: left !important;
}

.product-details-link {
	text-decoration: none;
	text-align: left;
}

/* Keep header flush to top even when WP admin bar is present */
body.logged-in.admin-bar #masthead.sticky-top {
    top: 0 !important;
}

.header-menu {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
}

#wc_tracking_form .form-row {
    display: block;
    width: 100%;
    padding: 0;
}